Réponses:
Quelques commandes que j'utilise souvent:
pour voir les dépendances et les dépendances inverses:
apt-cache [--important] [--installed] [--recurse] depends $package
apt-cache rdepends $package
Pour supprimer un package, tous les packages de suppression automatique et tous les fichiers de configuration associés:
sudo apt-get --purge --auto-remove purge $package
Pour voir les apt
options de configuration réelles :
apt-config dump | less
Pour modifier une option sur la ligne de commande
$ apt-config dump | grep -i recommend
APT::Install-Recommends "1";
$ sudo apt-get -o APT::Install-Recommends="0" install $package
C'était juste et un exemple de spécification des options APT via la ligne de commande, pour éviter d'installer les packages recommandés, vous pouvez utiliser:
sudo apt-get --no-install-recommends $package
Pour voir tous les packages locaux / obsolètes:
aptitude search ~o
Pour voir les packages supprimés avec une configuration résiduelle:
aptitude search ~c
et pour les retirer
sudo aptitude purge ~c
Pour obtenir une liste de tous les packages installés ( dpkg -l
peut parfois donner une sortie de colonnes tronquées)
dpkg --get-selections | awk '{ print $1 }'
ou
dpkg-query -Wf '${Package}\n' # other fields available, see man page
Pour démonter, modifier puis assembler un package
dpkg-deb -x file.deb ./dir
cd dir
dpkg-deb -e ../file.deb
# apply your modification, then...
cd ..
dpkg-deb -b dir file-new.deb
Deux que j'utilise beaucoup sont: -
apt-get autoremove <packagename>
Ce qui supprimera le package et toutes les dépendances inutilisées, ce qui est utile si vous essayez une application, puis décidez que vous n'en avez pas besoin et que vous souhaitez également supprimer la cruauté.
dpkg -S /path/to/file
Ce qui me dit avec quel package un fichier a été installé.
Enfin, un de plus ..
dpkg -l <packagename> | grep ^ii
Répertorie les packages, mais uniquement ceux qui ont le statut ii, ce qui signifie qu'ils sont installés, de sorte qu'il n'affiche pas les éléments que j'ai supprimés.
Si vous souhaitez obtenir le nom du package pour un fichier qui n'a pas été installé ( dpkg -S
, mais pour les packages non installés), installez apt-file
et exécutez:
apt-file search /path/to/file
which
avec dpkg -S. par exemple: pour les exécutables qui vivent dans des packages avec des noms différents, comme:dpkg -S `which uname`
$ aptitude changelog <pkgname>
Exemple:
$ aptitude changelog sudo
sudo (1.7.0-1ubuntu2.4) karmic-security; urgency=low
* SECURITY UPDATE: properly handle multiple PATH variables when using
secure_path in env.c
- Adapted http://www.sudo.ws/repos/sudo/raw-rev/a09c6812eaec
- CVE-2010-1646
...
apt-get changelog sudo
marche aussi.
Installez apt-file, puis exécutez sudo apt-file update
. Vous pouvez désormais rechercher des fichiers dans des packages que vous n'avez même pas installés.
Rmadison, qui se trouve dans le paquet devscripts, est également pratique si vous avez besoin de connaître les informations sur les packages dans d'autres versions d'Ubuntu. Fournissez-lui un nom de package comme argument et il vous dira quelles versions de ce package existent dans chaque version actuelle d'Ubuntu, et dans quelle section de référentiel le package se trouve.
Exemple:
[bnrubin@server:~/]$ rmadison cowsay
cowsay | 3.03-8 | dapper/universe | source, all
cowsay | 3.03-9 | hardy/universe | source, all
cowsay | 3.03-9.2 | jaunty/universe | source, all
cowsay | 3.03-9.2 | karmic/universe | source, all
cowsay | 3.03-9.2 | lucid/universe | source, all
cowsay | 3.03+dfsg1-2 | maverick/universe | source, all
cowsay | 3.03+dfsg1-2 | natty/universe | source, all
apt-file
est maintenant capable de gérer la base de données d'un utilisateur, de sorte que vous n'avez pas besoin d'être root update
.
apt-file
est assez sympa. Merci d'avoir partagé.
Pour obtenir les commandes de liste commençant par «apt-», procédez comme suit. ouvrez un terminal et tapez 'apt-' et appuyez deux fois sur la touche TAB pour afficher la liste de toutes les commandes commençant par 'apt-'.
Exemple de sortie:
apt-add-repository apt-extracttemplates apt-key
apt-cache apt-file apt-mark
apt-cdrom apt-ftparchive apt-sortpkgs
apt-config apt-get
Pour obtenir des informations détaillées, vous pouvez vérifier la page de manuel de cette commande spécifique
par exemple: man apt-get
J'aime penser à trois types de packages différents:
Pour afficher tous les "packages système" que vous pouvez utiliser
aptitude search '(~pstandard|~pimportant|~prequired|~E)'
J'aime que tous soient installés et marqués comme installés manuellement.
aptitude install '(~pstandard|~pimportant|~prequired|~E)!~i'
aptitude unmarkauto '(~pstandard|~pimportant|~prequired|~E)~i~M'
Pour afficher tous les "packages utilisateur", utilisez
aptitude search '~i!~M!(~pstandard|~pimportant|~prequired|~E)'
Dans cette liste, il ne devrait y avoir que des packages dont vous savez que vous voulez. Tous les autres packages ne sont probablement que des dépendances ou des recommandations d'autres packages, vous pouvez les marquer comme installés automatiquement
aptitude markauto libsomething
Jetez un œil à la référence des termes de recherche d'aptitude et
qu'est-ce qu'un package essentiel, obligatoire, important, standard, facultatif ou supplémentaire? pour des informations générales.
Mettre à niveau les packages qui seraient conservés car ils supprimeraient d'autres packages ou parce que c'est une mise à niveau du noyau:
sudo apt-get dist-upgrade
Purgez un package et sa configuration.
sudo apt-get purge package
Afficher les détails d'un package tels qu'ils sont connus dans la base de données des packages, y compris la section, la version, les dépendances, le responsable et la description.
apt-cache show package
Liste des fichiers dans un package installé
dpkg -L pkg
Mettre à niveau tous les packages
sudo apt-get upgrade