Jeszcze jedna opinia na temat różnicy między bin, sbin, usr/bin, usr/sbin

Niedawno odkryłem taki artykuł: Różnica między bin, sbin, usr/bin, usr/sbinChciałbym podzielić się swoim zdaniem na temat standardu.

/bin

Zawiera polecenia, które mogą być używane zarówno przez administratorów systemu, jak i przez użytkowników, ale które są niezbędne, gdy żadne inne systemy plików nie są zamontowane (na przykład w trybie pojedynczego użytkownika). Może również zawierać polecenia, które są pośrednio używane przez skrypty.

Oczekuje się obecności takich poleceń:

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

Można utworzyć symlinki do /usr, ale chociaż w czasach systemd /usr na oddzielnym urządzeniu się nie spotyka, można go jeszcze znaleźć w systemach wbudowanych, sygnalizatorach świetlnych, młynkach do kawy i PDP-11 obsługującym ważne urządzenie w jednej z laboratoriów Akademii Nauk.

/sbin

Narzędzia używane do administracji systemem (i inne polecenia tylko dla roota), /sbin zawiera pliki binarne niezbędne do uruchamiania, przywracania i/lub naprawiania systemu, oprócz plików binarnych w /bin. Programy wykonywane po zamontowaniu /usr (gdy nie ma problemów) są zwykle umieszczane w /usr/sbin. Lokalne zainstalowane programy administracyjne powinny być umieszczane w /usr/local/sbin.

Oczekiwane:

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

Jednym ze sposobów ochrony systemu przed niepowołanym dostępem użytkowników jest zabronienie uruchamiania tych narzędzi przez przypadkowych użytkowników, ustawiając atrybut x.
Ponadto, zastąpienie /bin i /sbin kopiami z archiwum (takimi samymi dla wszystkich jednorodnych systemów) jest szybkim sposobem na naprawę systemów bez menedżera pakietów.

/usr/bin

Tutaj wszystko jest proste. Jednorodne polecenia, identyczne dla wszystkich serwerów/młynków do kawy firmy. A samo /usr może być rozwijane w identyczny sposób dla różnych systemów operacyjnych (dla /bin i /sbin zazwyczaj to nie działa), to architektonicznie niezależne programy. Może zawierać linki do interpreterów perl lub python, które znajdują się w /opt lub gdzie indziej w sieci.

/usr/sbin

To samo, co /usr/bin, ale do użycia tylko przez administratorów.

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

Jedna z najważniejszych lokalizacji. W przeciwieństwie do innych, /usr nie może być taki sam dla całej organizacji. Znajdują się tutaj zależne od systemu operacyjnego, zależne od sprzętu i po prostu programy, które nie są potrzebne na wszystkich urządzeniach. Podczas synchronizacji /usr na maszynach, /usr/local muszą być wykluczone.

/home/$USER/bin

Tutaj mamy podobny przypadek jak z /usr/local, tylko że znajdują się tam programy specyficzne dla konkretnego użytkownika. Można je przenieść (lub zsynchronizować) na inną maszyna w trakcie przeprowadzki użytkownika. To, czego nie można przenieść, znajduje się w /home/$USER/.local/bin. Można używać local bez kropki. /home/$USER/sbin z oczywistych powodów nie istnieje.

Będę wdzięczny za poprawki i uzupełnienia.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster