Je suis totalement nouveau sur Ubuntu / Linux, j'utilise Ubuntu Server pour le moment. J'essaye 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 depuis leur site sur mon:
/home/sphinx
annuaire. J'ai créé le répertoire sphinx pour placer cette archive tar. 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. S'agit-il de 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 sera toujours installé 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.
Des questions
Je préférerais garder 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 Files?
Et comment installer toujours à cet emplacement, s'agit-il simplement de placer l'archive tar et d'exécuter les commandes d'installation à partir de cet emplacement?
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?
la source
make uninstall
n'est PAS une fonctionnalité standard et ne se trouve pas dans de nombreuses sources de programmes. En outre, il/usr/local
n'est souvent pas dans le chemin sur Ubuntu et peut provoquer des problèmes lors de l'exécution de programmes ou de la compilation (en raison des inclusions dans/usr/local
).Habituellement, les programmes sont installés dans quelques répertoires sous un répertoire supérieur , appelé préfixe . Le répertoire supérieur à utiliser dépend de qui installe, à des fins sorcières et qui gérera le logiciel.
Le préfixe
/usr
est un logiciel utilisé fourni par votre distribution. Vous devez pas installer d'autres logiciels là - bas, car il va confondre la distribution lors de l' installation et le logiciel de mise à niveau emballé par la distribution. Veuillez donc ne pas y installer votre propre logiciel compilé. Ce n'est pas une bonne idée, à moins que vous ne sachiez vraiment ce que vous faites. Et à moins que vous ne soyez un développeur Debian ou Ubunut, ce n'est généralement pas le cas. Je ne ferais pas ça de toute façon.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 système local.Pour les logiciels que l'administrateur système installe pour tous les utilisateurs, le préfixe
/usr/local
est utilisé. Là, il est à l'écart de l'installation commerciale ou de distribution et n'interfèrera pas avec eux. Donc, en tant qu'administrateur système, vous utilisez cela (si vous avez des privilèges root, vous êtes administrateur système).Si vous êtes un utilisateur ordinaire installant un logiciel pour vous-même, vous pouvez utiliser votre répertoire personnel comme préfixe, en utilisant l'
--prefix
optionconfigure
avec le répertoire de préfixe "~/
" ou$HOME/
. J'en ai beaucoup utilisé quand j'étais étudiant. :-)Habituellement, les logiciels font la bonne chose lorsque vous exécutez
configure
l'option--prefix
avec la bonne valeur, puismake; make install
.Sous l'un 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 système, qui ne devraient généralement pas être exécutés par des utilisateurs ordinaires.man
- pages de manuel pour les programmes, bibliothèques et fichiers de configuration, etc.etc
- fichiers de configuration avec des valeurs par défaut pour le logiciel.lib
- des bibliothèques de programmes et des fichiers de données qui dépendent de l'architecture (comme le processeur) de votre ordinateur.share
- des fichiers de données qui ne sont pas différents sur différentes architectures et peuvent être partagés entre différents ordinateurs.var
- répertoires avec des données qui changent pendant 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 que les utilisateurs doivent écrire est le
var/
répertoire. Lorsque le logiciel est mis à jour, ces répertoires doivent évidemment (?) Avoir des droits d'écriture. Cela peut être fait avec un remontage avec des privilèges d'écriture pendant l'installation, puis remonté en lecture seule après l'installation. Mais c'est avancé, et je ne le donne qu'à titre d'exemple de gestion avancée de packages.Il y a aussi quelques répertoires directement sous
/
(le répertoire racine) qui n'existe pas sous tout autre préfixe, comme/dev
,/tmp
,/proc
et/srv
(pour les répertoires de données du serveur, mais ils sont généralement sous/var/lib
ou/var/www
et répertoires comme ça, vous devez changer la configuration de utiliser ce répertoire. Je vous recommande de le faire lorsque vous exécutez un serveur. Utilisez uniquement/var/
pour tester une installation standard)./usr
comme Debian / Ubuntu utilise/usr/local
. Apprenez votre distribution.--prefix
sont utiles pour les programmes utilisantconfigure
. La meilleure façon de savoir est probablement de lire leREADME.txt
fichier ou quelque chose comme ça, qui vous est probablement fourni dans l'archive tar. L'archive tar peut être extraite n'importe où, comme votre répertoire personnel. Une fois l'installation terminée, vous pouvez supprimer l'archive tar extraite, si vous manquez de stockage. Mais ne le faites pas trop tôt, sauf si vous avez correctement testé votre installation.apt-get
ouaptitude
sont toujours installés au bon endroit pour la distribution. Vous ne pouvez pas changer cet endroit.la source
Lorsque vous installez des programmes à partir d'un référentiel à l'aide de l'installation normale, il s'installe au bon endroit, crée des fichiers de configuration au bon endroit (fonctionnellement similaire au registre Windows) et crée automatiquement des entrées de menu.
Lorsque vous téléchargez un fichier (non préféré, mais souvent nécessaire lorsque l'application n'est pas dans un référentiel), la première chose que vous avez faite a été d'exécuter tar, ce qui équivaut à décompresser sous Windows. Cela crée les fichiers que vous voyez le plus probablement.
Ensuite, lorsque vous exécutez make install, cela mettra généralement les résultats au bon endroit, peut-être créera des menus, mais cela n'effacera pas les fichiers non goudronnés. Vous pouvez probablement le faire, mais vous pouvez les enregistrer temporairement au cas où.
Voici un article intéressant sur la structure des répertoires Debian .
la source