Un'altra opinione sulla differenza tra bin, sbin, usr/bin, usr/sbin

Recentemente ho scoperto questo articolo: Differenza tra bin, sbin, usr/bin, usr/sbinVorrei condividere il mio punto di vista sullo standard.

/bin

Contiene comandi che possono essere utilizzati sia dagli amministratori di sistema che dagli utenti, ma che sono necessari quando non sono montati altri file system (ad esempio, in modalità single-user). Può anche contenere comandi che vengono utilizzati indirettamente dagli script.

Ci si aspetta la presenza dei seguenti comandi:

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

È possibile creare symlink su /usr, anche se ai tempi di systemd /usr su un dispositivo separato non è comune, si può ancora trovare in un sistema embedded, in un semaforo, in un macinacaffè e in un PDP-11 che serve un importante strumento in uno dei laboratori dell'Accademia delle Scienze.

/sbin

Le utility utilizzate per l'amministrazione di sistema (e altri comandi solo per root), /sbin contiene file binari necessari per l'avvio, il recupero, la riparazione e/o il ripristino del sistema, oltre ai file binari in /bin. I programmi eseguiti dopo che /usr è montato (quando non ci sono problemi) sono generalmente collocati in /usr/sbin. I programmi di amministrazione di sistema installati localmente devono essere collocati in /usr/local/sbin.

Ci si aspetta:

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

Uno dei modi per proteggere il sistema da mani audaci è vietare l'esecuzione di queste utility a chiunque, impostando l'attributo x.
Inoltre, sostituire /bin e /sbin con copie da un archivio (identico per tutti i sistemi omogenei) è un modo rapido per riparare sistemi senza un gestore di pacchetti.

/usr/bin

Qui è tutto semplice. Comandi omogenei, uguali per tutti i server/macchine da caffè dell'azienda. E /usr può essere distribuito in modo identico per diversi OS (per /bin e /sbin questo di solito non funziona), essendo programmi architetturalmente indipendenti. Può contenere link a interpreti perl o python, che si trovano in /opt o da qualche altra parte in rete.

/usr/sbin

Stesso concetto di /usr/bin, ma riservato solo agli amministratori.

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

Una delle posizioni più importanti. A differenza di altri, /usr non può essere uguale per l'intera organizzazione. Qui si trovano programmi dipendenti dal sistema operativo, dipendenti dall'hardware e semplicemente programmi che non sono necessari su tutti i dispositivi. Durante la sincronizzazione di /usr sulle macchine, /usr/local deve essere escluso.

/home/$USER/bin

Qui si tratta di un caso simile a /usr/local, dove sono presenti programmi specifici per ciascun utente. È possibile trasferirli (o sincronizzarli) su un altro computer durante il trasferimento dell'utente. Ciò che non può essere trasferito viene riposto in /home/$USER/.local/bin. Si può usare local senza il punto. /home/$USER/sbin è assente per motivi comprensibili.

Sarei felice di ricevere correzioni e integrazioni.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster