Onlangs kwam ik dit artikel tegen: . Ik zou graag mijn kijk op de standaard willen delen.
/bin
Het bevat opdrachten die zowel door systeembeheerders als gebruikers kunnen worden gebruikt, maar die nodig zijn wanneer er geen andere bestandssystemen zijn aangekoppeld (bijvoorbeeld in de enkelgebruikersmodus). Het kan ook opdrachten bevatten die indirect door scripts worden gebruikt.
Daar worden de volgende opdrachten verwacht:
cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, false, hostname, kill, ln, login, ls, mkdir, mknod, more, mount, mv, ps, pwd, rm, rmdir, sed, sh, stty, su, sync, true, umount, uname.
Het is mogelijk om symlinks naar /usr te maken, maar hoewel /usr in de tijd van systemd niet op een apart apparaat voorkomt, kun je het nog tegenkomen op een embedded systeem, een verkeerslicht, een koffiemolen of een PDP-11 die een belangrijk instrument in ƩƩn van de laboratoria van de Academie van Wetenschappen bedient.
/sbin
De hulpprogramma's die worden gebruikt voor systeembeheer (en andere opdrachten alleen voor root), /sbin bevat binaire bestanden die nodig zijn voor het opstarten, herstellen, herstellen en/of herstellen van het systeem, naast de binaire bestanden in /bin. Programma's die worden uitgevoerd nadat /usr is aangekoppeld (wanneer er geen problemen zijn), worden meestal in /usr/sbin geplaatst. Lokaal geĆÆnstalleerde systeembeheerprogramma's moeten in /usr/local/sbin worden geplaatst.
Verwacht worden:
fastboot, fasthalt, fdisk, fsck, getty, halt, ifconfig, init, mkfs, mkswap, reboot, route, swapon, swapoff, update.
Een van de manieren om het systeem te beschermen tegen ondeugende gebruikershanden is om het starten van deze hulpprogramma's voor iedereen te verbieden door de x-attribuut in te stellen.
Bovendien is het vervangen van /bin en /sbin door kopieƫn uit een archief (dezelfde voor alle vergelijkbare systemen) een snelle manier om systemen zonder pakketbeheerder te repareren.
/usr/bin
Hier is het simpel. Vergelijkbare opdrachten, dezelfde voor alle servers/koffiemolens van het bedrijf. En zelf /usr kan identiek worden uitgerold voor verschillende besturingssystemen (voor /bin en /sbin werkt dit meestal niet), dit zijn architectonisch onafhankelijke programma's. Het kan links bevatten naar interpreters zoals perl of python, die in /opt of ergens anders in het netwerk liggen.
/usr/sbin
Hetzelfde als /usr/bin, maar alleen voor gebruik door beheerders.
/usr/local/bin Šø /usr/local/sbin
Een van de belangrijkste locaties. In tegenstelling tot de rest, kan /usr niet identiek zijn voor de gehele organisatie. Hier bevinden zich besturingssysteem-afhankelijke, hardware-afhankelijke en gewoon programma's die niet op alle apparaten nodig zijn. Bij het synchroniseren van /usr op machines, moet /usr/local worden uitgesloten.
/home/$USER/bin
Hier is een vergelijkbare situatie met /usr/local, maar hier staan programma's die specifiek zijn voor een bepaalde gebruiker. Deze kunnen worden overgedragen (of gesynchroniseerd) naar een andere machine bij de verhuizing van de gebruiker. Wat niet kan worden overgedragen, wordt opgeslagen in /home/$USER/.local/bin. Je kunt local zonder punt gebruiken. /home/$USER/sbin ontbreekt om voor de hand liggende redenen.
Ik sta open voor correcties en aanvullingen.
Bron: habr.com
