om even ontopic een concreet antwoord te geven:
/bin
Hier worden alle essentiële user binaries geplaatst (bv
commando's als ls, cat, more, sed, touch, ps, pwd,...). Hier maak je geen submappen aan.
/sbin
Hier worden alle systeem binaries gezet die van vitaal belang zijn voor systeemadministratie (bv fdisk, ipconfig, mkfs, grub,...). Als een gewone user (niet-root) dit niet zou mogen doen, dan hoort het hier.
/usr/bin
Hierin leven de meeste user binaries (usr staat voor unix system resources). Dit zijn binaries die niet nodig zijn voor single user mode. Dit zijn dingen zoals bv
python, X11, xscreensaver, locate, symbolic links naar bins uit /bin (en ook omgekeerd, bv voor bash, tcl, perl etc),...
/usr/sbin
analoog
voorbeelden:
smbd, tcpdump, alsactl,...
/opt
Dit zijn de optionele pakketten. Dit zijn meestal pakketten die je zelf installeert, of third party binaries. Aangezien je daarvan de code niet hebt kun je hier wel best een mapstructuur hebben (komen meestal ook met static libs).
Ikzelf heb hiervoor oa
enkele java engines, Maple, Realplayer, Acrobat, skype, googleearth, ...
Overigens maakt het zelfs geen bal uit waar je een bin plaatst. Zolang de executable vlag is gezet kun je gewoon ./path/to/mybin gebruiken (bv voor even snel een scriptje uit te voeren).
Als je die ./ weg wil zet je je bin in een van de mappen hierboven gesproken, in dewelke je denkt het best te passen.
Probeer eens echo $PATH. Hier zie je welke mappen allemaal standaard doorzocht worden naar binaries. Je kan zelf een map toevoegen door bv export PATH=$PATH:/usr/bin/homecooked.
Meestal zet je package manager (distro specifiek) de binaries gewoon op de juiste logische plaats, dus hoef je hier zelf geen zorgen over te maken.
Ik hoop dat dit je wat meer inzicht geeft in hoe bestanden opgeslagen worden op een *nix-achtig systeem. Dit is ook volledig analoog voor alle /lib mappen (of: waar zet je je libs bij je programma).
[
Voor 6% gewijzigd door
Avalanchez op 20-09-2007 19:36
]
Computers are stupid, they can only give you answers. -Picasso