Mais uma opinião sobre a diferença entre bin, sbin, usr/bin, usr/sbin

Recentemente encontrei este artigo: A diferença entre bin, sbin, usr/bin, usr/sbin. Gostaria de compartilhar minha visão sobre o padrão.

/bin

Contém comandos que podem ser usados tanto pelo administrador do sistema quanto por usuários, mas que são necessários quando nenhum outro sistema de arquivos está montado (por exemplo, no modo de único usuário). Também pode conter comandos que são usados indiretamente por scripts.

Esperam-se comandos como:

cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, falso, hostname, kill, ln, login, ls, mkdir, mknod, more, mount, mv, ps, pwd, rm, rmdir, sed, sh, stty, su, sync, verdadeiro, umount, uname.

É possível criar links simbólicos para /usr, mas embora na época do systemd /usr em um dispositivo separado não seja comum, ainda pode ser encontrado em sistemas integrados, semáforos, moedores de café e PDP-11 servindo um equipamento importante em um dos laboratórios da Academia de Ciências.

/sbin

As utilidades usadas para administração do sistema (e outros comandos apenas para root), /sbin contém arquivos binários necessários para inicialização, recuperação e/ou manutenção do sistema além dos arquivos binários em /bin. Programas que são executados depois que /usr é montado (quando não há problemas) geralmente são colocados em /usr/sbin. Programas de administração do sistema instalados localmente devem ser colocados em /usr/local/sbin.

Esperam-se:

fastboot, fasthalt, fdisk, fsck, getty, halt, ifconfig, init, mkfs, mkswap, reboot, route, swapon, swapoff, update.

Uma das maneiras de proteger o sistema contra mãos curiosas é proibir a execução dessas utilitários por qualquer um, definindo o atributo x.
Além disso, substituir /bin e /sbin por cópias de um arquivo (idêntico para todos os sistemas similares) é uma maneira rápida de consertar sistemas sem gerenciador de pacotes.

/usr/bin

Aqui é simples. Comandos similares, iguais para todos os servidores/moedores de café da empresa. E o próprio /usr pode ser implantado de maneira idêntica para diferentes SOs (para /bin e /sbin isso geralmente não funciona), são programas independentes de arquitetura. Pode conter links para interpretadores perl ou python, que ficam em /opt ou em algum outro lugar da rede.

/usr/sbin

O mesmo que /usr/bin, mas para uso apenas por administradores.

/usr/local/bin и /usr/local/sbin

Uma das localizações mais importantes. Ao contrário do restante, /usr não pode ser o mesmo para toda a organização. Aqui estão armazenados os sistemas operacionais, os que dependem do hardware e simplesmente programas que não são necessários em todos os dispositivos. Ao sincronizar /usr nas máquinas, /usr/local deve ser excluído.

/home/$USER/bin

Aqui a situação é similar a /usr/local, apenas programas específicos para um usuário específico são armazenados. Podem ser transferidos (ou sincronizados) para outra máquina ao mudar de usuário. O que não pode ser transferido fica em /home/$USER/.local/bin. Pode-se usar local sem o ponto. /home/$USER/sbin, por motivos evidentes, está ausente.

Ficarei feliz com correções e adições.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster