Où et comment stocker des informations de programme sous Linux

Je suis nouveau sur Linux et je ne m’en suis jamais encore occupé, mais maintenant je veux permettre à mon programme Java de fonctionner sous Linux …

J’ai jeté un coup d’œil sur Internet et j’ai trouvé une liste de répertoires et leurs descriptions. /usr/lib semble être le meilleur endroit pour stocker les informations sur les programmes, mais je viens de regarder sur ma VM VirtualBox et il semble que je ne puisse pas y écrire, même avec les droits root. Donc, si quelqu’un peut me diriger dans la bonne direction, ce serait génial.

J’ai aussi remarqué que Linux a son propre “Software Center”, et j’ai peur que je ne sois pas au courant de tout cela, donc peut-être qu’une sorte d’introduction à la programmation sous Linux serait utile si quelqu’un voulait être assez gentil. en fournir un!

Merci d’avance

PS My Virtual Machine est une dissortingbution Ubuntu

La structure du système de fichiers non seulement de Linux, mais de tout système compatible avec POSIX (y compris BSD, Solaris et, dans une moindre mesure, Mac OS X), est normalisée dans le FHS . Spécifiquement pour Ubuntu, jetez un coup d’œil à la politique Debian pour Java et au guide de packaging de l’équipe ubuntu-java.

Si votre programme est exécuté de manière interactive, il doit stocker des informations (comme les bases de données et les parameters) dans $HOME/.your-program-name (ou $HOME/.config/your-program-name ). Si votre programme est un service système, il doit stocker ses informations dans /var/lib . Vous pouvez également installer une configuration par défaut dans /etc/your-program-name .

Les fichiers binarys sont totalement différents et un préfixe doit être configurable pour leur emplacement. Pour tirer pleinement parti du Software Center et de ses mécanismes de dépendance / mise à jour, emballez votre logiciel. Ces fichiers binarys (et les bibliothèques qui les accompagnent) seront stockés dans /usr/ tree s’ils sont empaquetés et /usr/local/ s’ils sont installés manuellement. Quel que soit le préfixe, les fichiers binarys vont dans bin (ie /usr/bin ), les bibliothèques dans lib32 / lib64 et les autres données dans le share .

Si vous ne voulez pas empaqueter votre programme et ne voulez pas suivre la structure imposée par FHS (mais vous devriez vraiment le faire), l’alternative consiste à placer du code et d’autres objects dans /opt/your-program-name . Notez que les données (modifiables) générées et utilisées par votre programme doivent toujours être dans $HOME/.your-program-name (interactif) ou /var/lib/your-program-name (service).

Stockez-le sous le répertoire personnel de l’utilisateur qui exécute le programme – dans un répertoire caché (précédé d’un point), par exemple: .program-data. Le chemin court pour y parvenir serait: ~ / .program-data et un chemin complet vers celui-ci dépend de la dissortingbution du système d’exploitation – généralement / home / [nom d’utilisateur] /.

L’emplacement le plus simple pour stocker une application se trouve dans un répertoire personnel. Vous souhaiterez peut-être créer un utilisateur et un répertoire de base distinct pour un service.

Cependant, il semble que vous écriviez une ligne de commande ou un outil graphique en Java. Un endroit commun pour stocker des applications se trouve sous un répertoire bin tel que /usr/local/bin ou /home/myuser/bin lib est généralement /home/myuser/bin pour les bibliothèques partagées chargées par les applications. (Java ne les utilise pas)

Vous devez toujours stocker / installer les applications et programmes dans le répertoire $ HOME.

Cela vous permettra de trouver facilement les applications et les programmes.

Créez des dossiers séparés pour les logiciels et programmes sous $ HOME pour une identification facile.

Ajoutez également la variable d’environnement JAVA_HOME dans le fichier .bashrc.