Il semble que mon aptitude
est en quelque sorte brisé:
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 apt-get
ne pas avoir une option de réinstallation.
Comment pourrais-je me remettre aptitude
au travail?
Il est possible que j'ai trouvé la cause fondamentale du segfault d'aptitude. Voici comment je peux le reproduire:
- 'ssh' connexion à distance sur la machine Debian via le terminal rxvt de Cygwin (à partir d'une édition allemande de Windows 7 64 bits).
- Agrandir la fenêtre rxvt afin qu'elle couvre deux moniteurs (oui, j'ai deux moniteurs)
- Courez
aptitude update
. Remarque: lorsque je redimensionne le terminal rxvt à la normale, je n'ai pas ces erreurs de segmentation!
debian
aptitude
debian-lenny
Vokuhila-Oliba
la source
la source
-A5
tu attrapes?--
tu attrapes?man getopt
, regardez sousPARSING
-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 de position, évitant de devoir échapper au tiret de l'expression-A
qui serait autrement interprété comme une option de grep lui-même.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.
la source
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:
ensuite
la source
UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname]
.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 deapt-get install aptitude
, ou si cela échoue toujours, essayezapt-get purge aptitude
suivi deapt-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é.
la source
apt-get remove
suivi deapt-get install
fait le tour!a full filesystem check
ou semblables. Pourriez-vous s'il vous plaît me donner un petit indice comment faire cela?fsck -f <block_device>
commefsck /dev/sda1
. Le système de fichiers devra être démonté ou monté en lecture seule à ce moment-là. Comme il est probable que ce soit votre système de fichiers racine, vous devrez redémarrer en mode mono-utilisateur ou démarrer à partir de quelque chose d'autre, tel qu'un cd en direct.tune2fs
pour marquer le système de fichiers comme ayant été monté plus de fois que sa limite définie, ce qui devrait forcer une vérification au prochain démarrage. En supposant que le système de fichiers soit ext2 / 3/4:tune2fs -C 99 <device>
ou que, si la vérification basée sur le nombre de montages est désactivée, activez-le en même temps avec quelque chose commetune2fs -c 17 -C 99 <device>
.C'est comme si vous n'aviez jamais installé le paquet auparavant. Je le fais souvent avec du mouvement et de telles choses.
la source