Comment organiser / opter?
Je voudrais placer un script fait à la main dans sa structure conventionnelle de place et de dossier. Il est actuellement situé dans /opt/chkobm/chkobm, mais cela semble être une mauvaise pratique car il nécessite $PATHd'inclure des chemins génériques ( /opt/*/)
Depuis TLDP (section "Hiérarchie du système de fichiers Linux"):
Les programmes à appeler par les utilisateurs se trouvent dans le répertoire / opt / 'package' / bin.
Premièrement, existe-t-il une règle consensuelle sur l'emplacement de ces fichiers? ( /usr/binme semble être un endroit alternatif viable) Deuxièmement, dois-je placer des scripts faits à la main /opt/*/bin/et exporter ce chemin vers $PATH?
Réponses
/usr/local/bin est l'endroit idiomatique pour mettre cela.
Selon l' héritage du système de fichiers Linux :
L'idée originale derrière
/usr/localétait d'avoir un/usrrépertoire séparé ('local') sur chaque machine en plus/usr, qui pourrait être simplement monté en lecture seule depuis un autre endroit. Il copie la structure de/usr. Ces jours-ci,/usr/localest largement considéré comme un bon endroit pour conserver des programmes auto-compilés ou tiers. La hiérarchie / usr / local est destinée à être utilisée par l'administrateur système lors de l'installation du logiciel localement. Il doit être protégé contre l'écrasement lors de la mise à jour du logiciel système. Il peut être utilisé pour des programmes et des données qui peuvent être partagés entre un groupe d'hôtes, mais qui ne se trouvent pas dans / usr. Les logiciels installés localement doivent être placés dans / usr / local plutôt que / usr à moins qu'ils ne soient installés pour remplacer ou mettre à niveau des logiciels dans / usr.
J'ai tendance à me fier au FHS tel que défini par Debian. Debian est assez bonne pour appliquer les normes. Voici ce qu'ils ont à dire sur opt :
Les répertoires / opt / bin, / opt / doc, / opt / include, / opt / info, / opt / lib et / opt / man sont réservés à l'usage de l'administrateur système local. Les packages peuvent fournir des fichiers "frontaux" destinés à être placés (par liaison ou copie) dans ces répertoires réservés par l'administrateur système local, mais doivent fonctionner normalement en l'absence de ces répertoires réservés.
...
En général, toutes les données requises pour prendre en charge un package sur un système doivent être présentes dans / opt /, y compris les fichiers destinés à être copiés dans / etc / opt / et / var / opt / ainsi que les répertoires réservés dans / opt.
...
La structure des répertoires ci-dessous / opt / est laissée au packager du logiciel, bien qu'il soit recommandé que les packages soient installés dans / opt // et suivent une structure similaire aux instructions pour / opt /. Une raison valable pour s'écarter de cette structure est pour les packages de support qui peuvent avoir des fichiers installés dans / opt // lib ou / opt // bin.
La définition de Debian de /usr/localest identique à la définition précédente du lien TLDP.