Je suis totalement nouveau sur Ubuntu/Linux, j'utilise Ubuntu Server pour le moment. J'essaie juste de comprendre quelque chose de basique.
Comment pouvez-vous dire où vous installez un programme. Par exemple, je viens d'installer le moteur de recherche Sphinx en plaçant l'archive tar que j'ai téléchargée depuis leur site sur mon :
/home/sphinx
annuaire. J'ai créé le répertoire sphinx pour y placer cette archive. Ensuite, j'ai exécuté ces commandes :
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
puis ceux-ci :
make
sudo make install
Maintenant, j'ai beaucoup de fichiers dans le répertoire où j'ai exécuté ces commandes. Est-ce mon installation Spynx ou s'est-elle installée ailleurs ?
Dans Windows, si vous exécutez un programme d'installation (fichier .exe) n'importe où, le programme s'installera toujours dans votre répertoire C:\Program Files. Est-ce que quelque chose de similaire s'applique à Linux où tous les programmes sont installés dans un endroit central, ou pouvez-vous installer des programmes n'importe où sur le système.
Questions
-
Je préférerais conserver tous mes programmes installés au même 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 Files ? -
Et comment installer toujours à cet emplacement, est-ce juste une question de placer l'archive et d'exécuter les commandes d'installation à partir de cet emplacement ?
-
Qu'en est-il si j'utilise sudo apt-get pour installer un package. Comment puis-je pointer vers cet emplacement pour dire à apt-get de toujours s'y installer ?
Meilleure réponse
Est-ce que quelque chose de similaire s'applique à Linux où tous les programmes sont installés dans un endroit central
Approximative équivalents des répertoires d'installation de Windows sous Linux
\Windows
=/bin
\Windows\System32
=/lib
et/sbin
\Program Files
=/usr/bin
et/usr/lib
Je préférerais conserver tous mes programmes installés au même 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 Files ?
Ce seraient les répertoires sous /usr
, spécifiquement /usr/bin
et /usr/lib
.
Et comment fait-on pour toujours installer à cet emplacement ? Est-ce simplement une question de placer l'archive tar et d'exécuter les commandes d'installation à partir de cet emplacement ?
-
Non. L'endroit où vous vous trouvez lorsque vous exécutez les commandes d'installation n'a presque jamais d'importance.
-
Programmes que vous installez via
apt-get
(ouaptitude
) finira presque toujours correctement dans/usr
. MAIS les programmes que vous compilez à partir des sources etmake install
finira plus souvent dans/usr/local/bin
,/usr/local/lib
, etc, et vous pouvez avoir des problèmes avec cela puisque le chemin installé par l'utilisateur dans Debian/Ubuntu est/usr
et non/usr/local
. -
Lors de la compilation à partir des sources, ajoutez ce commutateur pour configurer :
./configure --prefix=/usr
. De cette façon, lorsque vousmake install
les fichiers se retrouveront dans le bon répertoire -
Regardez aussi dans le
checkinstall
programme, qui garde une trace des fichiers qu'un paquet compilé à partir des sources installe, crée un fichier deb et permet une désinstallation/réinstallation facile.
Et si j'utilise sudo apt-get pour installer un paquet. Comment puis-je pointer vers cet emplacement pour dire à apt-get de toujours s'y installer ?
apt-get
/dpkg
s'en occuper automatiquement. Vous pouvez utiliser dpkg -L name-of-package
pour voir tous les fichiers installés par un paquet et où ils ont été installés.