Нещодавно я виявив таку статтю:
/ bin
Містить команди, які можуть використовуватися як системним адміністратором, так і користувачами, але які необхідні, коли не змонтовано жодні інші файлові системи (наприклад, в режимі одного користувача). Він може містити команди, які побічно використовуються скриптами.
Там очікується присутність таких команд:
як, chgrp, CHMOD, Чаун, cp, дата, dd, df, dmesg, нудьгувати, false, ім'я хоста, вбивати, ln, Логін, ls, mkdir, mknod, більше, монтувати, mv, ps, pwd, rm, rmdir, sed, sh, stty, su, синхронізувати, правда, umount, Uname.
Можна зробити симлінки на /usr, але хоча в часи systemd /usr на окремому пристрої не зустрічається, його ще можна зустріти на системі, світлофорі, кавомолці і PDP-11, що обслуговує важливий прилад в одній з лабораторій Академії Наук.
/ sbin
Утиліти, які використовуються для системного адміністрування (та інші команди тільки для root), /sbin містить двійкові файли, необхідні для завантаження, відновлення, відновлення та/або відновлення системи на додаток до двійкових файлів /bin. Програми, що виконуються після того, як /usr монтується (коли проблем немає), зазвичай розміщуються в /usr/sbin. Локально встановлені програми системного адміністрування мають бути розміщені в /usr/local/sbin.
Очікуються:
fastboot, fasthalt, fdisk, fsck, getty, halt, ifconfig, init, mkfs, mkswap, reboot, route, swapon, swapoff, update.
Один із способів захисту системи від пустотливих рук користувачів - це заборона запуску цих утиліт будь-кому, встановленням атрибуту x.
До того ж, заміна /bin та /sbin на копії з архіву (однакового для всіх однотипних систем) є швидким способом ремонту систем без пакетного менеджера.
/ usr / bin
Тут все просто. Однотипні команди, однакові всім серверів/кавомолок компанії. І сам /usr може розгортатися однаковим для різних ОС (для /bin та /sbin таке зазвичай не працює), це архітектурно незалежні програми. Може містити лінки на інтерпретатори perl або python, які лежать в /opt або десь у мережі.
/ usr / sbin
Теж саме, що /usr/bin, але для використання лише адмінами.
/usr/local/bin та /usr/local/sbin
Одна з найважливіших локацій. На відміну від решти /usr не може бути однаковою для всієї організації. Тут знаходяться ОС-залежні, hardware-залежні та просто програми, які не на всіх пристроях потрібні. При синхронізації /usr на машинах /usr/local потрібно виключати.
/home/$USER/bin
Тут випадок подібний до /usr/local, тільки лежать програми специфічні для конкретного користувача. Можна переносити (або синхронізувати) на іншу машину під час переїзду користувача. Те, що не можна переносити, складається в /home/$USER/.local/bin. Можна використовувати локальні місця без точки. /home/$USER/sbin зі зрозумілих міркувань відсутня.
Буду радий виправленням та доповненням.
Джерело: habr.com