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


Il semble que mon aptitude est en quelque sorte cassé

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]

donc je voudrais réinstaller aptitude en utilisant apt-get

Malheureusement, il semble apt-get n'a pas d'option de réinstallation.

Des idées sur la façon dont je pourrais reprendre l'aptitude au travail?

modifier : Il est possible que j’ai trouvé la cause première du segfault d’aptitude. Voici comment je peux le reproduire:

  1. Connexion distante ssh à 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 pour qu'elle couvre deux écrans (oui, j'ai deux écrans)
  3. courir aptitude update. Note: lorsque je redimensionne le terminal rxvt à la normale, je n'ai pas ces erreurs par segment!

167
2018-01-30 00:20


origine




Réponses:


$ 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 utilisation:

sudo apt-get install --reinstall aptitude

284
2018-01-30 01:29



Qu'est-ce que c'est -A5 vous êtes gourmand? - Vokuhila-Oliba
homme grep | grep - "-A" - grawity
Qu'est-ce que c'est -- tu es tendre? - Desty
man getopt, regarder sous PARSING - Tino
-A5 affiche la ligne correspondante plus les 5 lignes suivantes. -- arrête l'analyse des options, interprétant ainsi tout ce qui vient après comme arguments positionnels, évitant ainsi d'avoir à échapper au tiret dans l'expression -A ce qui serait autrement interprété comme une option de grep lui-même. - jjmontes


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.


98
2017-07-18 19:45



Merci d'être la seule réponse correcte, complète et non-snarky. - Cerin
@ Cerin: Je n'appellerais pas les autres réponses trop narquoises: même la "lire la page de manuel" a donné la réponse et la façon de la trouver. - David Spillett
@DavidSpillett, je ne suis absolument pas d'accord. Les pages de manuel sont généralement très mal écrites et sont très hostiles aux débutants. Par exemple, le paragraphe sur l'option "--reinstall" ne mentionne pas que vous devez l'utiliser avec l'argument "install". Un débutant pourrait à juste titre demander "pourquoi dois-je lui dire d'installer et de réinstaller?" Une réponse disant à quelqu'un de RTFM est le pire type de réponse et cela me fait mal de le voir avec le plus de votes, surtout quand une réponse complète et réellement utile est vers le bas. - Cerin


Vous devriez pouvoir supprimer aptitude et réinstaller, car cela n'affectera pas les autres utilitaires apt. Alors: apt-get remove aptitude suivi par apt-get install aptitude, ou si cela échoue encore, essayez apt-get purge aptitude suivi par apt-get install aptitude.

Avant de faire l'une des opérations ci-dessus, je recommande une vérification complète du système de fichiers et des blocages en cas de problème (en fonction du problème, s'il en existe un, une activité supplémentaire pourrait aggraver les choses). Aussi, assurez-vous de revoir ce qui sera supprimé lors de l'étape de suppression / purge avant de le laisser continuer (il devrait faire une pause pour demander l'autorisation si quelque chose de supplémentaire est modifié suite à la suppression de ce paquet), pour vérifier est sécurisé.


12
2018-01-30 00:26



Merci beaucoup! apt-get remove suivi par apt-get install fait le tour! - Vokuhila-Oliba
Il y a longtemps que j'ai fait des choses comme a full filesystem check ou similaire. Pourriez-vous s'il vous plaît me donner un petit indice comment faire cela? - Vokuhila-Oliba
fsck -f <block_device> tel que fsck /dev/sda1. Le système de fichiers devra être démonté ou monté en lecture seule au moment où il est probable que ce soit votre système de fichiers racine, vous devez le redémarrer en mode mono-utilisateur ou démarrer à partir d'un autre CD, par exemple. - David Spillett
Vous pouvez utiliser tune2fs pour marquer le système de fichiers comme ayant été monté plus de fois que sa limite définie, cela devrait forcer le contrôle suivant. En supposant que le système de fichiers est ext2 / 3/4: tune2fs -C 99 <device>, ou au cas où la vérification du nombre de montages est désactivée, allumez-la en même temps avec quelque chose comme: tune2fs -c 17 -C 99 <device>. - David Spillett
toucher / forcefsck; redémarrer - user23307


Parfois, vous devez également restaurer les fichiers de configuration! pas simplement réinstaller.

sudo apt-get install --reinstall xxxx

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

Cela pourrait être utile, mais parfois vous devez recommencer à neuf, donc ce que j'utilise est le suivant:

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

puis

sudo apt-get install xxxx

12
2017-08-20 05:39



Et si vous avez besoin de restaurer les fichiers de configuration uniquement, dans certains cas (s’ils sont gérés par ucf), vous devez utiliser UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname]. - Skippy le Grand Gourou