O que é $ debian_chroot em .bashrc?

44

Qual é a debian_chrootvariável no meu arquivo bashrc? e o que está fazendo aqui?

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

Falmarri
fonte
Não muito sobre isso no caminho de google, mas você pode gostar de olhar para ubuntuforums.org/showthread.php?t=55243
Stefan
É um código feio e hostil que você raramente usará no prompt simples e elegante do PS1. Parece que haveria uma maneira melhor de fazer isso (talvez um if $debian_chroot; then ... elsebloco).
Stefan Lasiewski 16/10/10
O que PS1eu postei é o prompt do Ubuntu (K) padrão
Falmarri 16/10/10

Respostas:

35

Chroot é um recurso unix que permite restringir um processo a uma subárvore do sistema de arquivos. Um uso tradicional são os servidores FTP que fazem chroot para um subconjunto do sistema de arquivos que contém apenas alguns utilitários e arquivos de configuração, além dos arquivos a serem veiculados; dessa forma, mesmo que um invasor consiga explorar um bug no servidor, ele não poderá acessar arquivos fora do chroot. Outro uso comum é quando você está instalando ou reparando um sistema unix e inicializa a partir de um sistema diferente (como um CD ao vivo): quando um sistema básico estiver disponível, você poderá fazer o chroot nele e fazer mais trabalhos.

A configuração do prompt inclui o conteúdo do $debian_chrootprompt, entre parênteses, a menos que esteja vazio. Essa variável é inicializada no /etc/bash.bashrcconteúdo do arquivo /etc/debian_chroot. Portanto, se você seguir a convenção para incluir um nome para seus chroots no local /path/to/chroot/etc/debian_chroot, seu prompt conterá uma indicação de qual chroot você está. Um programa que segue essa convenção é schroot , uma ferramenta para criar e usar chroots convenientemente ( Eu acho que a intenção original era facilitar o Debian estável em um chroot dentro de um Debian instável ou em teste, mas o programa evoluiu um pouco além disso).

Gilles 'SO- parar de ser mau'
fonte