Eu li um artigo e ele afirma que os diretórios "bin" "dev" "etc" "lib" "root" "sbin" devem estar no mesmo sistema de arquivos que o diretório raiz, ou seja, eles não devem ser montados como um sistema de arquivos separado .
Estou um pouco confuso, por exemplo, em muitas distribuições agora os diretórios "sbin" "bin" e "lib" são simbolicamente vinculados ao diretório "usr".
lrwxrwxrwx 1 root root 7 Apr 30 18:19 bin -> usr/bin
...
lrwxrwxrwx 1 root root 7 Apr 30 18:19 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Apr 30 18:19 lib32 -> usr/lib32
lrwxrwxrwx 1 root root 9 Apr 30 18:19 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 10 Apr 30 18:19 libx32 -> usr/libx32
...
lrwxrwxrwx 1 root root 8 Apr 30 18:19 sbin -> usr/sbin
No entanto, o artigo não especifica que o diretório "/" e o diretório usr devem estar no mesmo sistema de arquivos. Eu também olhei as perguntas anteriores, mas ainda estou confuso. Quais diretórios devem estar no mesmo sistema de arquivos e quais devemos manter em sistemas de arquivos separados?
A linha de pensamento atual é que
/usr
deve ser integrado a/
, e algumas distribuições simplesmente symlink/bin
,/sbin
,/lib
para os equivalentes em/usr
como você viu. Por exemplo , o Debian, que só suportará merge/usr
a partir do próximo lançamento ( bookworm ) , e o Fedora parece ter feito o merge no Fedora 17, já em 2012 .Basicamente, os argumentos para isso parecem se resumir a
initramfs
trazer o sistema para um estado utilizável de qualquer maneira, então não há necessidade de outro sistema "mínimo" para fazer isso/usr/bin
podem depender de bibliotecas em/lib
, então eles não são totalmente independentes de qualquer maneiraO
/
sistema de arquivos não é tão mínimo de qualquer maneira, por exemplo, em um sistema de pré-fusão datado, eu tenho um pouco menos de 600 MB de arquivos em/bin
,/sbin
e/lib
, e um pouco mais de 600 MB em/usr
. (No entanto, não há coisas de X ou GUI.) Em outro sistema,/usr
é um pouco maior, em torno de 2 GB, mas mesmo isso não é remotamente um problema com os tamanhos de armazenamento atuais. Ao mesmo tempo, os arquivos initramfs têm cerca de 15 MB, o que é menor o suficiente para que possa importar, e o initramfs não tem coisas/etc
que precisam ser modificáveis para que possam ser instaladas semi-estática.Olhando para o mesmo sistema, a divisão de utilitários entre
/bin
e/usr/bin
também parece um pouco arbitrária, por exemplo,sh
ebash
estão em/bin
(obviamente), e assim égrep
, mas por exemploawk
,head
,wc
ezsh
estão em/usr/bin
. Não que os sistemas modernos dependam tanto de scripts de shell para inicializar, e são apenas as coisas necessárias para montar o sistema de arquivos restante, que precisam usar o conjunto mais limitado de ferramentas, mas de qualquer maneira. E um administrador que gosta de zsh pode não ficar feliz se não conseguir fazer login quando houver um problema com o sistema de arquivos...A história sobre as origens da separação parece ser esta:
(De Rob Landley, nas listas de discussão Busybox, Understanding the bin, sbin, usr/bin , usr/sbin split , editado ligeiramente. A mesma mensagem discute o assunto com muito mais detalhes.)
O pessoal do systemd também escreveu alguns pensamentos sobre isso:
O problema /bin vs /usr/bin é um problema antigo. A idéia era ter realmente um subconjunto do sistema operacional capaz de montar uma partição /usr se você os separasse. Isso pode ajudar com BIOS de PC antigo com limitações de número de setor, o que faz com que você escolha uma partição / muito pequena.
Hoje em dia, a distinção não é mais pertinente. O Linux coloca todas as coisas necessárias para carregar o sistema operacional em um pequeno arquivo initramfs que pode ser carregado pelo Grub e muitos de seus módulos sofisticados, se necessário (você também pode ter uma partição /boot simples e simples).