Apt gère les dépendances entre les packages installés à partir de ses référentiels ou *.deb
fichiers. Cependant, qu'en est-il des logiciels que les utilisateurs ont compilés et installés à partir des sources ./configure && make && make install
sans créer de .deb
fichier au préalable? Est-il possible qu'Apt puisse supprimer les paquets nécessaires à ces logiciels? L'installation de logiciels à partir de la source /opt
ou /usr/local
ferait-elle une différence?
debian
apt
dependencies
Elena
la source
la source
Réponses:
APT ne sait rien des logiciels installés manuellement. Il ne sait pas de quelles bibliothèques ce logiciel a besoin ou quoi que ce soit.
Lorsque APT installe un package uniquement pour répondre aux dépendances d'un autre package, ce package est marqué comme installé automatiquement. Si vous supprimez tous les packages qui dépendent d'un package installé automatiquement, ce package est supprimé lorsque vous exécutez
apt-get autoremove
; les interfaces de niveau supérieur à APT proposent généralement de le faire après une autre maintenance. Pour éviter de supprimer les packages nécessaires aux logiciels installés localement, marquez ces packages comme installés manuellement: ou la clé dans aptitude.apt-mark manual PACKAGE-NAME
m
Pour trouver les packages de bibliothèque dont un exécutable binaire a besoin, exécutez
ldd /path/to/executable
. Pour chaque ligne contenant , exécutez pour afficher le nom du package contenant cette bibliothèque. Pour les scripts, affiche l'interpréteur utilisé par le script; assurez-vous que cet interpréteur reste installé. Trouver quelles bibliothèques sont utilisées par un script peut être difficile, il n'y a pas de moyen universel de le faire./usr/lib/SOMETHING
dpkg -S /usr/lib/SOMETHING
head -n 1 /path/to/script
Si vous avez installé manuellement une version plus récente d'un package présent dans votre distribution, examinez les dépendances du package de la distribution et marquez-les comme installées manuellement.
la source
apt-get
dans Debian, Jessie n'a pas lamanual
possibilité. Pour ces conseils d'installation manuelle vs automatique (matic) que j'ai utilisé à laapt-mark
place. (apt-mark manual pkg
,apt-mark showmanual pkg
,apt-mark auto pkg
, Etc.)apt-mark
, merci.apt
etdpkg
peut absolument supprimer les logiciels requis par d'autres logiciels installés localement qui ne relèvent pas du système de gestion des packages. Il n'y a tout simplement aucun moyenapt
etdpkg
de savoir que ce logiciel pourrait exister.L'emplacement où un tel logiciel est installé ne fait aucune différence: il pourrait être
/opt
ou/usr/local
ou dans les répertoires personnels des utilisateurs (auquel cas même l'administrateur système peut ne pas être au courant de sa présence), ou n'importe où, vraiment.Techniquement
apt
oudpkg
pourrait même supprimer le logiciel qui est requis par un autre logiciel qui est une partie du système de gestion des paquets, si ce dernier logiciel ne déclare pas que cela dépend de l'ancien logiciel. Cependant, le processus de création de packages deb inclut une automatisation pour empêcher les responsables de packages d'oublier de déclarer une dépendance comme celle-ci.la source