Wie installiere ich ein Paket mit apt-get?

487308
Vokuhila-Oliba

Es scheint, dass meine aptitudeirgendwie 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] 

so möchte ich wieder zu installieren, aptitudeindem Sieapt-get

Leider scheint apt-getes keine Neuinstallation zu geben.

Irgendwelche Ideen, wie ich die Fähigkeit bekommen könnte, wieder zu arbeiten?

Edit : Es ist möglich, dass ich die Hauptursache für den Segfault von aptitude gefunden habe. So kann ich es reproduzieren:

  1. SSH-Remote-Login in der Debian-Maschine über das Rxvt-Terminal von Cygwin (von einer Windows-7-64-Bit-Version).
  2. Vergrößern Sie das RXVT-Fenster so, dass es sich über zwei Monitore erstreckt (ja, ich habe zwei Monitore)
  3. laufen aptitude update. Hinweis: Wenn ich die Größe des RXVT-Terminals normal verändere, habe ich diese Segfaults nicht!
172

4 Antworten auf die Frage

294
user23307
$ man apt-get | grep reinsta -A2 --reinstall Re-Install packages that are already installed and at the newest version. Configuration Item: APT::Get::ReInstall. 

Um es erneut zu aptitudeverwenden, verwenden Sie :

sudo apt-get install --reinstall aptitude 
was ist das `-A5`, das du greppst? Vokuhila-Oliba vor 14 Jahren 13
man grep | grep - "-A" grawity vor 14 Jahren 80
Was ist das? - Du greppst? Desty vor 10 Jahren 33
`man getopt`, schau unter` PARSING` nach Tino vor 9 Jahren 10
"-A5" zeigt die übereinstimmende Zeile plus die folgenden 5 Zeilen. "-" stoppt das Parsen von Optionen und interpretiert alles, was danach kommt, als Positionsargumente, um zu vermeiden, dass der Bindestrich in dem Ausdruck "-A" entzogen werden muss, der andernfalls als Option für grep interpretiert würde. jjmontes vor 9 Jahren 24
@jjmontes Also sind technisch gesehen Zitate um `" -A "` nicht nötig: `man grep | grep - -A` Dimitry K vor 9 Jahren 2
100
Milad Khajavi

Sie können ein Paket mit neu installieren sudo apt-get install --reinstall packagename. Dadurch wird das Paket vollständig entfernt (nicht jedoch die Pakete, die davon abhängig sind), und das Paket wird anschließend erneut installiert.

Dies kann praktisch sein, wenn das Paket viele umgekehrte Abhängigkeiten hat.

Vielen Dank, dass Sie die einzig richtige, vollständige und nicht snarky Antwort sind. Cerin vor 11 Jahren 6
@Cerin: Ich würde die anderen Antworten nicht übertrieben snarky nennen: Sogar die "Manpage lesen" gab tatsächlich die Antwort an und wie man sie findet. David Spillett vor 11 Jahren 4
@ DavidSpillett, ich stimme überhaupt nicht zu. Die Manpages sind in der Regel sehr schlecht geschrieben und sind für Neulinge sehr unfreundlich. Beispielsweise wird in dem Absatz der Option "--reinstall" nicht erwähnt, dass Sie ihn mit dem Argument "install" verwenden müssen. Ein Neuling könnte zu Recht fragen: "Warum muss ich es angeben und installieren?" Eine Antwort, die jemandem RTFM mitteilt, ist die schlechteste Art der Antwort und es schmerzt mich, sie mit den meisten Stimmen zu sehen, insbesondere wenn eine vollständige und tatsächlich hilfreiche Antwort nahe am Boden liegt. Cerin vor 11 Jahren 39
12
David Spillett

Sie sollten aptitude sicher entfernen und neu installieren können, da dies keine Auswirkungen auf die anderen apt-Dienstprogramme hat. Also: apt-get remove aptitudegefolgt von apt-get install aptitude, oder wenn das immer noch fehlschlägt, versuchen Sie, apt-get purge aptitudegefolgt von apt-get install aptitude.

Bevor Sie eine der oben genannten Maßnahmen ausführen, empfehle ich ein vollständiges Dateisystem und eine Überprüfung auf fehlerhafte Blöcke, falls dort ein Problem aufgetreten ist, das zu dem Problem geführt hat (je nach Problem kann eine weitere Aktivität die Situation verschlimmern). Stellen Sie außerdem sicher, dass Sie im Abschnitt Entfernen / Löschen die zu entfernenden Informationen überprüfen, bevor Sie fortfahren können (es sollte angehalten werden, um um Erlaubnis zu bitten, falls sich durch das Entfernen dieses einen Pakets etwas anderes ändert) ist sicher.

Danke vielmals! "apt-get remove" gefolgt von "apt-get install" machte den Trick! Vokuhila-Oliba vor 14 Jahren 0
Es ist lange her, dass ich Dinge wie "eine vollständige Überprüfung des Dateisystems" oder ähnliches durchgeführt habe. Könnten Sie mir bitte einen kurzen Hinweis geben, wie das geht? Vokuhila-Oliba vor 14 Jahren 0
`fsck -f `wie` fsck / dev / sda1`. Das Dateisystem muss zu diesem Zeitpunkt unmountet oder read-only gemountet sein. Da dies wahrscheinlich Ihr Root-Dateisystem ist, sollten Sie im Einzelbenutzermodus neu starten oder von etwas anderem wie einer Live-CD booten. David Spillett vor 14 Jahren 1
@ David: Gibt es eine Möglichkeit, eine Dateisystemprüfung beim nächsten Neustart zu erzwingen? Vokuhila-Oliba vor 14 Jahren 0
Sie können `tune2fs` verwenden, um das Dateisystem so zu kennzeichnen, dass es mehr als das festgelegte Limit eingehängt wurde. Angenommen, das Dateisystem ist ext2 / 3/4: `tune2fs -C 99`, oder falls Sie die Mountzähler-basierte Überprüfung deaktiviert haben, schalten Sie sie gleichzeitig mit` tune2fs -c 17 -C 99 ein `. David Spillett vor 14 Jahren 2
touch / forcefsck; neu starten user23307 vor 14 Jahren 2
12
andreskwan

Manchmal müssen Sie auch Konfigurationsdateien wiederherstellen. nicht nur neu installieren.

sudo apt-get install --reinstall xxxx

Installieren Sie die Anwendung erneut. Die Konfigurationsdateien bleiben erhalten.

Das könnte hilfreich sein, aber manchmal muss man von vorne beginnen, also verwende ich Folgendes:

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

dann

sudo apt-get install xxxx 
Wenn Sie nur Konfigurationsdateien wiederherstellen möchten, sollten Sie in einigen Fällen (wenn sie von ucf verwaltet werden) `UCF_FORCE_CONFFMISS = 1 apt-get --reinstall install [pkgname]` verwenden. Skippy le Grand Gourou vor 9 Jahren 4