Pourquoi y a-t-il tant d'endroits où mettre un binaire sous Linux ? Il y en a au moins cinq :
/bin/
/sbin/
/usr/bin/
/usr/local/bin/
/usr/local/sbin/
Et sur ma boîte de bureau, je n'ai pas les autorisations d'écriture pour certains d'entre eux.
Quel type de binaire va dans lequel de ces bin
s ?
Réponse acceptée :
-
/bin
(et/sbin
) étaient destinés aux programmes qui devaient être sur un petit/
partition avant le plus grand/usr
, etc. des partitions ont été montées. De nos jours, il sert principalement d'emplacement standard pour des programmes clés tels que/bin/sh
, bien que l'intention d'origine puisse toujours être pertinente, par ex. installations sur de petits appareils embarqués. -
/sbin
, à la différence de/bin
, est destiné aux programmes de gestion du système (qui ne sont normalement pas utilisés par les utilisateurs ordinaires) nécessaires avant/usr
est monté. -
/usr/bin
est destiné aux programmes utilisateur normaux gérés par la distribution. -
Il y a un
/usr/sbin
avec la même relation avec/usr/bin
comme/sbin
doit/bin
. -
/usr/local/bin
est pour les programmes utilisateur normaux pas géré par le gestionnaire de paquets de distribution, par ex. packages compilés localement. Vous ne devez pas les installer dans/usr/bin
car les futures mises à jour de distribution peuvent les modifier ou les supprimer sans avertissement. -
/usr/local/sbin
, comme vous pouvez probablement le deviner à ce stade, est de/usr/local/bin
comme/usr/sbin
vers/usr/bin
.
De plus, il y a aussi /opt
qui est destiné aux packages monolithiques non distribués, bien qu'avant qu'ils ne soient correctement intégrés, diverses distributions y ont mis Gnome et KDE. En règle générale, vous devez le réserver aux packages tiers volumineux et mal comportés tels qu'Oracle.