web-dev-qa-db-fra.com

Réinstallez toutes les dépendances d'un seul paquet

Comment puis-je réinstaller tous les packages qui sont des dépendances d'un package que j'ai installé? Le package ne veut pas s'exécuter en raison d'un problème d'installation. Une dépendance a peut-être été installée mais ne fonctionne pas, dpkg-reconfigure -a ne fonctionne pas. Existe-t-il une commande de terminal pour réinstaller toutes les dépendances d'un paquet sans réinstaller tous les paquets?.

3
user450581

Vous avez besoin d'un peu de traitement de texte pour envoyer la commande réelle à apt-get. Ce qui suit devrait faire:

Sudo apt-get install --reinstall $(apt-cache depends package | \
     grep -Po 'Depends:\s+\K[^ ]+$' | tr '\n' ' ')

Remplacez package par le nom du package actuel. Vous pouvez également faire un --dry-run avant de procéder pour être sûr des actions.

Il a deux parties:

  • apt-cache depends package trouvera les dépendances de package

  • grep -Po 'Depends:\s+\K[^ ]+$ | tr '\n' ' '' nous obtiendra que le nom des dépendances sous une forme séparée par des espaces

  • Ainsi, le modèle de substitution de commande $(apt-cache depends vim | grep -Po 'Depends:\s+\K[^ ]+$' | tr '\n' ' ') donnera le nom des paquets à apt-get install --reinstall.

Exemple utilisant vim:

$ apt-cache depends vim | grep -Po 'Depends:\s+\K[^ ]+$'
vim-common
vim-runtime
libacl1
libc6
libgpm2
libpython2.7
libselinux1
libtinfo5


$ Sudo apt-get install --dry-run --reinstall $(apt-cache depends vim | grep -Po 'Depends:\s+\K[^ ]+$' | tr '\n' ' ')
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libc-dev-bin libc6:i386 libc6-dbg libc6-dev libpython2.7-minimal
  libpython2.7-stdlib python2.7 python2.7-minimal
Suggested packages:
  glibc-doc glibc-doc:i386 locales:i386 python2.7-doc
The following packages will be upgraded:
  libc-dev-bin libc6 libc6:i386 libc6-dbg libc6-dev libpython2.7
  libpython2.7-minimal libpython2.7-stdlib python2.7 python2.7-minimal
10 upgraded, 0 newly installed, 6 reinstalled, 0 to remove and 506 not upgraded.
Inst libc-dev-bin [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [AMD64]) [libc6-dev:AMD64 ]
Inst libc6-dev [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [AMD64]) []
Inst libc6-dbg [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [AMD64]) []
Inst libc6 [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [AMD64]) [libc6:AMD64 on libc6:i386] [libc6:i386 on libc6:AMD64] [libc6:i386 ]
Inst libc6:i386 [2.19-0ubuntu6.5] (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [i386])
Inst libacl1 [2.2.52-1] (2.2.52-1 Ubuntu:14.04/trusty [AMD64])
Conf libc6 (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [AMD64])
Conf libc6:i386 (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [i386])
Conf libacl1 (2.2.52-1 Ubuntu:14.04/trusty [AMD64])
Inst libselinux1 [2.2.2-1ubuntu0.1] (2.2.2-1ubuntu0.1 Ubuntu:14.04/trusty-updates [AMD64])
Conf libselinux1 (2.2.2-1ubuntu0.1 Ubuntu:14.04/trusty-updates [AMD64])
Inst libtinfo5 [5.9+20140118-1ubuntu1] (5.9+20140118-1ubuntu1 Ubuntu:14.04/trusty [AMD64])
Conf libtinfo5 (5.9+20140118-1ubuntu1 Ubuntu:14.04/trusty [AMD64])
Inst libgpm2 [1.20.4-6.1] (1.20.4-6.1 Ubuntu:14.04/trusty [AMD64])
Inst python2.7 [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64]) []
Inst python2.7-minimal [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64]) []
Inst libpython2.7 [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64]) []
Inst libpython2.7-stdlib [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64]) []
Inst libpython2.7-minimal [2.7.6-8] (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64])
Inst vim-common [2:7.4.052-1ubuntu3] (2:7.4.052-1ubuntu3 Ubuntu:14.04/trusty [AMD64])
Inst vim-runtime [2:7.4.052-1ubuntu3] (2:7.4.052-1ubuntu3 Ubuntu:14.04/trusty [all])
Conf libc-dev-bin (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [AMD64])
Conf libc6-dev (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [AMD64])
Conf libc6-dbg (2.19-0ubuntu6.6 Ubuntu:14.04/trusty-updates [AMD64])
Conf libgpm2 (1.20.4-6.1 Ubuntu:14.04/trusty [AMD64])
Conf libpython2.7-minimal (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64])
Conf python2.7-minimal (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64])
Conf libpython2.7-stdlib (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64])
Conf python2.7 (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64])
Conf libpython2.7 (2.7.6-8ubuntu0.2 Ubuntu:14.04/trusty-updates [AMD64])
Conf vim-common (2:7.4.052-1ubuntu3 Ubuntu:14.04/trusty [AMD64])
Conf vim-runtime (2:7.4.052-1ubuntu3 Ubuntu:14.04/trusty [all])
5
heemayl