Où dois-je stocker les téléchargements source pour l'installation?

10

J'avais l'habitude de tout télécharger dans / tmp, car après, make; sudo make installje n'ai généralement plus besoin de ces fichiers.

Mais maintenant, je me suis rendu compte que la seule façon de désinstaller les programmes installés à partir de la source est d'utiliser make uninstall(quand ils sont disponibles). Je devrais donc probablement garder mes téléchargements au cas où j'en aurais besoin plus tard.

Alors, où dois-je les stocker? Y a-t-il un endroit conçu pour cela sous Linux?

ChocoDeveloper
la source
Évitez le problème: installez à partir des packages si possible.
Michael Hampton
@MichaelHampton Parfois, ce n'est pas une option (je pense), par exemple: nginx nécessite d'être installé comme source de formulaire si vous souhaitez ajouter des modules tiers.
ChocoDeveloper

Réponses:

16

L'emplacement défini par la norme de hiérarchie du système de fichiers pour conserver le code source est /usr/src. Je suppose que vous pourriez également utiliser /usr/local/src, car c'est un peu plus descriptif de l'origine du logiciel (c'est-à-dire que vous l'avez construit; la distribution ne l'a pas fait).

Notez cependant que le FHS mentionne en fait que le code source ne doit pas être construit à partir de ce répertoire, probablement parce que vous n'êtes pas censé compiler les choses en tant que root, donc je suppose que vous y déplaceriez l'arborescence source après l'installation. En pratique, cependant, je ne me dérange pas; Je garde tout ce que je construis ~/Code, qui se trouve sur une partition plus spacieuse. Fondamentalement, il n'y a pas de convention largement acceptée; vous faites juste ce qui fonctionne pour vous.

Vous devriez également regarder checkinstall , un excellent petit logiciel qui crée un package rudimentaire à partir d'une commande. (Il sera probablement dans le référentiel de votre distribution.) Essentiellement, au lieu d'exécuter

sudo make install

vous exécuteriez quelque chose le long des lignes de

sudo checkinstall make install

qui vous interroge sur le package que vous créez, surveille make installtout installer, puis crée un package qui peut ensuite être correctement installé et désinstallé avec un gestionnaire de packages. Je crois que checkinstall peut créer des packages pour les systèmes basés sur dpkg (Ubuntu, Debian, etc.), les systèmes basés sur RPM (Fedora, RHEL, etc.) et les systèmes basés sur Slackware. Si vous exécutez Arch, ne vous embêtez pas avec checkinstall; envisagez plutôt d'utiliser un PKGBUILD.

J'espère que cela pourra aider!

trente-trois ans
la source
+1 pour mentionner les packages. Je pense que c'est la réponse qui était nécessaire (mais non demandée).
Hennes
Merci! J'utilise checkinstall maintenant, il a fière allure jusqu'à présent. Une dernière question: je n'ai pas besoin de garder le .deb, non? dpkg saura comment le désinstaller même s'il a disparu
ChocoDeveloper
C'est correct. Tous les gestionnaires de packages conservent une liste des fichiers installés par le package, vous pouvez donc supprimer le package intégré après l'avoir installé.
trente
5

Il n'y a pas de place désignée pour les fichiers source; chacun a ses propres habitudes.

Cependant, considérez ces trois options:

  1. Dans les racines homedir (fonctionne, mais il est sur / qui est généralement assez petit).
  2. / usr / local / src / (ou en fait quelque chose sous / usr / local /
  3. Installez via un package et utilisez le gestionnaire de packages pour désinstaller.

Pour une maintenance à long terme, je recommande vraiment l'option 3. Même si vous devez construire les packages vous-même (à partir de la source). Dans ce cas, vous arrivez à: décompresser / configurer / créer / créer le package via une syntaxe en fonction de votre choix de package / installer le package

Hennes
la source