Commandes apt (dpkg) utiles [fermé]

9

Veuillez poster vos commandes apt moins connues mais utiles impliquant apt- *, dpkg ou aptitude.

Gödel
la source
7
Ce n'est pas vraiment une question.
Martin Owens -doctormo-

Réponses:

7

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 aptoptions 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 -lpeut 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
enzotib
la source
4

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-fileet exécutez:

apt-file search /path/to/file
popey
la source
Je le trouve utile à utiliser whichavec dpkg -S. par exemple: pour les exécutables qui vivent dans des packages avec des noms différents, comme:dpkg -S `which uname`
Benjamin Rubin
Ooh, oui, c'est aussi une bonne chose.
popey
3

Afficher le ChangeLog d'un package

$ 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
...
Gödel
la source
2
Depuis Ubuntu 11.04 Natty, ça apt-get changelog sudomarche aussi.
Lekensteyn
3

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
Benjamin Rubin
la source
apt-fileest 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.
enzotib
apt-file est assez sympa. Merci d'avoir partagé.
Gödel
1

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

aneeshep
la source
1

J'aime penser à trois types de packages différents:

  • Packages système (packages essentiels ou packages de priorité standard ou supérieure)
  • Packages utilisateur (packages installés manuellement en priorité ou en option)
  • Dépendances et recommandations (packages installés automatiquement / tout ce qui n'est pas un système ou un package utilisateur)

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.

Dario Seidl
la source
0
  • 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
    
PinoSan
la source
-2
dpkg -i --force-architecture something.i386.deb

Pour l'installation de certains debs i386 sur amd64.

80%
la source