Es scheint, dass meine aptitude
irgendwie kaputt ist:
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]
Also möchte ich neu installieren aptitude
mit apt-get
.
Leider scheint apt-get
es keine Neuinstallationsoption zu geben.
Wie könnte ich wieder aptitude
zur Arbeit kommen?
Es ist möglich, dass ich die Ursache für den Segfault von aptitude gefunden habe. So kann ich es reproduzieren:
- 'ssh' Remote-Login in den Debian-Rechner über Cygwins rxvt-Terminal (von einer 64-Bit-deutschen Windows 7-Edition).
- Vergrößern Sie das RXVT-Fenster so, dass es sich über zwei Monitore erstreckt (ja, ich habe zwei Monitore)
- Rennen
aptitude update
. Hinweis: Wenn ich die Größe des RXVT-Terminals auf "normal" stelle, treten diese Segmentierungsfehler nicht auf.
debian
aptitude
debian-lenny
Vokuhila-Oliba
quelle
quelle
-A5
greppst du da--
greppst du da?man getopt
, schauen Sie unterPARSING
-A5
zeigt die übereinstimmende Zeile plus die folgenden 5 Zeilen.--
stoppt das Parsen von Optionen und interpretiert so alles, was danach kommt, als Positionsargumente, ohne dass der Bindestrich im Ausdruck umgangen werden muss,-A
der andernfalls als Option interpretiert würde, sich selbst zu begreifen.Sie können ein Paket mit neu installieren
sudo apt-get install --reinstall packagename
. Dadurch wird das Paket vollständig entfernt (jedoch nicht die Pakete, die davon abhängen). Anschließend wird das Paket erneut installiert.Dies kann praktisch sein, wenn das Paket viele umgekehrte Abhängigkeiten aufweist.
quelle
Manchmal müssen Sie auch Konfigurationsdateien wiederherstellen! nicht nur neu installieren.
sudo apt-get install --reinstall xxxx
Installieren Sie die Anwendung neu und behalten Sie die Konfigurationsdateien bei.
Das könnte hilfreich sein, aber manchmal muss man neu anfangen. Ich benutze also Folgendes:
dann
quelle
UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname]
.Sie sollten sicher sein, Aptitude zu entfernen und neu zu installieren, da dies die anderen Apt-Dienstprogramme nicht beeinträchtigt. Also:
apt-get remove aptitude
gefolgt vonapt-get install aptitude
, oder wenn das immer noch fehlschlägt, versuchen Sieapt-get purge aptitude
gefolgt vonapt-get install aptitude
.Bevor Sie eine der beiden oben genannten Aktionen ausführen, empfehle ich eine vollständige Überprüfung des Dateisystems und der fehlerhaften Blöcke, falls dort ein Problem vorliegt, das das Problem verursacht hat (je nach Problem kann eine weitere Aktivität die Situation verschlimmern). Stellen Sie außerdem sicher, dass Sie überprüfen, was im Schritt "Entfernen / Löschen" entfernt wird, bevor Sie fortfahren (es sollte angehalten werden, um Erlaubnis zu fragen, wenn aufgrund des Entfernens dieses einen Pakets zusätzliche Änderungen vorgenommen werden), um zu überprüfen, ob dies der Fall ist ist sicher.
quelle
apt-get remove
gefolgt vonapt-get install
hat den Trick gemacht!a full filesystem check
oder ähnlich gemacht habe. Könnten Sie mir bitte einen kurzen Hinweis geben, wie das geht?fsck -f <block_device>
wiefsck /dev/sda1
. Das Dateisystem muss zu diesem Zeitpunkt nicht gemountet oder schreibgeschützt gemountet sein, damit es sich wahrscheinlich um Ihr Root-Dateisystem handelt. Starten Sie das System im Einzelbenutzermodus oder von einer anderen CD.tune2fs
das Dateisystem so kennzeichnen, dass es mehr als das festgelegte Limit eingehängt wurde, wodurch beim nächsten Start eine Überprüfung erzwungen werden sollte. Angenommen, das Dateisystem ist ext2 / 3/4:tune2fs -C 99 <device>
oder wenn Sie die zählbasierte Überprüfung für Ladevorgänge deaktiviert haben, schalten Sie es gleichzeitig mit so etwas wie eintune2fs -c 17 -C 99 <device>
.Das ist, als hättest du das Paket noch nie installiert. Ich mache das oft mit Bewegung und solchen Dingen.
quelle