11 votes

Comment dire à Ubuntu où installer un programme et comment savoir où un programme existant a été installé ?

Je suis totalement novice en matière d'Ubuntu/Linux, j'utilise Ubuntu Server pour le moment. J'essaie juste de comprendre quelque chose de basique.

Comment savoir où vous installez un programme. Par exemple, je viens d'installer le moteur de recherche Sphinx en plaçant l'archive que j'ai téléchargée sur leur site dans le dossier /home/sphinx . J'ai créé le répertoire sphinx dans lequel j'ai placé cette archive. J'ai ensuite exécuté les commandes suivantes :

tar xvzf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1/
./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql

et ensuite ceux-ci :

make
sudo make install

J'ai maintenant beaucoup de fichiers dans le répertoire où j'ai exécuté ces commandes. Est-ce que c'est mon installation de Sphinx ou est-ce qu'il s'est installé ailleurs ?

Sous Windows, si vous exécutez un programme d'installation (fichier .exe) n'importe où, le programme s'installera toujours dans votre ordinateur. C:\\Program Files directory . Une situation similaire s'applique-t-elle à Linux, où tous les programmes sont installés dans un endroit central, ou peut-on installer des programmes n'importe où sur le système ?

Je préférerais conserver tous mes programmes installés en un seul endroit. Quel est le bon endroit pour cela en termes de meilleures pratiques ? En d'autres termes, quel est l'équivalent Linux de C:\\Program Files ?

Et comment fait-on pour toujours installer à cet endroit, s'agit-il simplement de placer l'archive et d'exécuter les commandes d'installation à partir de cet endroit ?

Et si j'utilise sudo apt-get pour installer un paquet. Comment puis-je pointer vers cet emplacement pour indiquer à apt-get de toujours s'y installer ?

17voto

ish Points 134738

Est-ce que quelque chose de similaire s'applique à linux où tous les programmes sont installés dans un endroit central ?

Approximation équivalents des répertoires d'installation de Windows dans Linux

  • \Windows = /bin
  • \Windows\System32 = /lib y /sbin
  • \Program Files = /usr/bin y /usr/lib

Je préférerais conserver tous mes programmes installés en un seul endroit, alors quel est le bon endroit pour cela en termes de meilleures pratiques. En d'autres termes, quel est l'équivalent Linux de C:\Program Fichiers ?

Il s'agirait des répertoires situés sous /usr En particulier, il s'agit de /usr/bin y /usr/lib .

Et comment fait-on pour toujours installer à cet endroit, s'agit-il simplement de placer l'archive et d'exécuter les commandes d'installation à partir de cet endroit ?

  • Non. L'endroit où vous vous trouvez lorsque vous exécutez les commandes d'installation n'a pratiquement aucune importance.

  • Les programmes que vous installez via apt-get (ou aptitude ) finira presque toujours par se retrouver de manière appropriée dans /usr . MAIS les programmes que vous compilez à partir des sources et make install se retrouvera plus souvent en /usr/local/bin , /usr/local/lib etc, et vous pourriez avoir des problèmes avec cela puisque le chemin installé par l'utilisateur dans Debian/Ubuntu est /usr y no /usr/local .

  • Lors de la compilation à partir des sources, ajoutez ce commutateur à configure : ./configure --prefix=/usr . Ainsi, lorsque vous make install les fichiers se retrouveront dans le bon répertoire

  • Examinez également le checkinstall qui garde la trace des fichiers qu'un paquet compilé à partir des sources installe, crée un fichier deb et permet une désinstallation/réinstallation aisée.

Et si j'utilise sudo apt-get pour installer un paquet. Comment puis-je pointer vers cet emplacement pour dire à apt-get de toujours l'installer à cet endroit ?

apt-get / dpkg s'en charge automatiquement. Vous pouvez utiliser dpkg -L name-of-package pour voir tous les fichiers installés par un paquet et l'endroit où ils ont été installés.

4voto

0xC0000022L Points 770

En général, les programmes sont installés dans plusieurs répertoires sous un seul sommet répertoire, appelé préfixe . Le choix du répertoire principal à utiliser dépend de la personne qui procède à l'installation, de l'objectif poursuivi et de la personne qui gérera le logiciel.

Le préfixe /usr est un logiciel utilisé et emballé par votre distribution. Vous devez no installer d'autres logiciels, car il volonté confondre la distribution lors de l'installation et de la mise à jour des logiciels emballés par la distribution.

Pour les logiciels commerciaux, le préfixe /opt est utilisé. Il leur est réservé d'interférer le moins possible avec les distributions et l'administrateur du système local.

Pour les logiciels que l'administrateur système installe pour tous les utilisateurs, le préfixe /usr/local est utilisé.

Si vous êtes un utilisateur ordinaire qui installe un logiciel pour lui-même, vous pouvez utiliser votre répertoire personnel comme préfixe, en utilisant l'option --prefix à l'option configure avec comme préfixe le répertoire " ~/ " ou $HOME/ . Je l'ai beaucoup utilisé lorsque j'étais étudiant :-)

En général, les logiciels font ce qu'il faut lorsque vous exécutez une commande. configure avec l'option --prefix avec la bonne valeur et ensuite make; make install .

Sous l'un ou l'autre de ces préfixes, vous trouverez généralement ces répertoires dans une installation standard.

  • bin - les programmes exécutables, les binaires.
  • sbin - les binaires du système, qui ne doivent généralement pas être exécutés par des utilisateurs ordinaires.
  • man - des pages de manuel pour les programmes, les bibliothèques, les fichiers de configuration, etc.
  • etc - des fichiers de configuration avec des valeurs par défaut pour le logiciel.
  • lib - les bibliothèques de programmes et les fichiers de données qui dépendent de l'architecture (comme le CPU) de votre ordinateur.
  • share - des fichiers de données qui ne diffèrent pas d'une architecture à l'autre et qui peuvent être partagés entre différents ordinateurs.
  • var - les répertoires contenant des données qui changent au cours de l'exécution du programme, comme les fichiers journaux, etc.

La plupart de ces répertoires peuvent être utilisés avec des systèmes de fichiers protégés en écriture pour accroître la sécurité. Le seul répertoire sur lequel les utilisateurs doivent pouvoir écrire est le répertoire var/ répertoire.

Lorsque le logiciel est mis à jour, ces répertoires doivent avoir des privilèges d'écriture. En général, il n'est pas nécessaire de faire quoi que ce soit, mais si nécessaire, cela peut être fait avec un remontage avec des privilèges d'écriture pendant l'installation, puis un remontage avec des privilèges de lecture seulement après l'installation. Mais ceci est avancé, et je ne le donne qu'à titre d'exemple de gestion avancée des paquets.

Il existe également des répertoires situés directement sous / (le répertoire racine) qui n'existe sous aucun autre préfixe, comme /dev , /tmp , /proc y /srv (pour les répertoires de données du serveur, mais ils se trouvent généralement sous la rubrique /var/lib o /var/www et des répertoires de ce type, vous devez donc modifier la configuration pour utiliser ce répertoire. Je vous recommande de le faire lorsque vous faites tourner un serveur. N'utilisez que /var/ pour tester une installation standard).

Les méthodes d'installation varient d'un programme à l'autre. --prefix est utile pour les programmes utilisant configure . La meilleure façon de le savoir est probablement de lire le README.txt ou quelque chose comme ça, qui est probablement fourni avec l'archive tar.

L'archive tar peut être extraite à n'importe quel endroit, comme votre répertoire personnel. Une fois les étapes d'installation terminées, vous pouvez supprimer l'archive tar extraite si vous manquez d'espace de stockage. Mais il est préférable de conserver le répertoire car vous pourrez souvent l'utiliser pour la désinstallation.

Programmes installés avec apt-get o aptitude sont toujours installés à l'endroit approprié pour la distribution. Vous ne pouvez pas changer cet endroit.

2voto

RHaguiuda Points 757

Lorsque vous installez des programmes à partir d'un référentiel à l'aide de l'installation normale, le programme s'installe au bon endroit, crée des fichiers de configuration au bon endroit (fonctionnellement similaires au registre de Windows) et crée des entrées de menu automatiquement.

Lorsque vous téléchargez un fichier (ce qui n'est pas préférable, mais souvent nécessaire lorsque l'application ne se trouve pas dans un dépôt), la première chose que vous faites est d'exécuter tar, l'équivalent de unzip sous Windows. Cela crée les fichiers que vous voyez probablement.

Ensuite, lorsque vous lancez make install, cela met généralement les résultats au bon endroit, crée peut-être des menus, mais n'efface pas les fichiers non tarés. Vous pouvez très probablement le faire, mais vous voudrez peut-être les sauvegarder temporairement, juste au cas où.

Voici un article intéressant sur Structure des répertoires de Debian .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X