web-dev-qa-db-fra.com

Comment réinstaller un paquet en utilisant 'apt-get'?

Il semble que ma aptitude soit en quelque sorte brisée:

Sudo aptitude update
0% [Working]Segmentation fault

dmesg
[223282.616599] aptitude[30972]: segfault at 67707f ip 7f954dcfae5d sp 7ffff5a5f950 error 4 in libapt-pkg-libc6.7-6.so.4.6.0[7f954dca5000+bd000]

Je voudrais donc réinstaller aptitude en utilisant apt-get.

Malheureusement, il semble que apt-get ne dispose pas d'une option de réinstallation.

Comment pourrais-je faire fonctionner aptitude à nouveau?

Il est possible que j'ai trouvé la cause fondamentale du segfault d'aptitude. Voici comment je peux le reproduire:

  1. 'ssh' connexion à distance sur la machine Debian via le terminal rxvt de Cygwin (à partir d'une édition allemande de Windows 7 64 bits).
  2. Agrandir la fenêtre rxvt afin qu'elle couvre deux moniteurs (oui, j'ai deux moniteurs)
  3. Exécutez aptitude update. Remarque: lorsque je redimensionne le terminal rxvt à la normale, je n'ai pas ces erreurs de segmentation!
181
Vokuhila-Oliba
$ man apt-get | grep reinsta -A2
       --reinstall
           Re-Install packages that are already installed and at the newest
           version. Configuration Item: APT::Get::ReInstall.

Donc, pour l'utiliser pour réinstaller aptitude, utilisez:

Sudo apt-get install --reinstall aptitude
310
user23307

Vous pouvez réinstaller un paquet avec Sudo apt-get install --reinstall packagename. Cela supprime complètement le package (mais pas les packages qui en dépendent), puis réinstalle le package.

Cela peut être pratique lorsque le paquet contient de nombreuses dépendances inverses.

108
Milad Khajavi

Parfois, vous devez également restaurer des fichiers de configuration! pas seulement réinstaller.

Sudo apt-get install --reinstall xxxx

Réinstallez l'application, conserve les fichiers de configuration.

Cela peut être utile, mais vous devez parfois recommencer à zéro. Voici ce que j’utilise:

Sudo dpkg -r xxxx //to remove that xxxx package
Sudo dpkg -P xxxx //to purge all related files

puis

Sudo apt-get install xxxx
16
andreskwan

Vous devriez être sûr de supprimer aptitude et de le réinstaller, car cela n’affectera pas les autres utilitaires apt. Donc: apt-get remove aptitude suivi de apt-get install aptitude, ou si cela échoue toujours, essayez apt-get purge aptitude suivi de apt-get install aptitude.

Avant de procéder de l'une des manières ci-dessus, je recommande un système de fichiers complet et une vérification des blocs défectueux au cas où un problème à l'origine du problème (selon le problème, s'il en existe un, une activité supplémentaire pourrait aggraver la situation). Assurez-vous également de vérifier ce qui sera supprimé à l'étape de suppression/purge avant de le laisser continuer (il devrait s'interrompre pour demander la permission si quelque chose de plus est modifié à la suite de la suppression de ce paquet), afin de vérifier à nouveau que est sécurisé.

12
David Spillett