Frage Wie installiere ich ein Paket mit apt-get?


Es scheint, dass mein aptitude ist irgendwie kaputt

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 würde ich gerne neu installieren aptitude durch die Nutzung apt-get

Leider scheint es apt-get hat keine Neuinstallationsoption.

Irgendwelche Ideen, wie ich wieder zur Arbeit kommen könnte?

Bearbeiten : Es ist möglich, dass ich die Ursache für den segfault von aptitude gefunden habe. Hier ist, wie ich es reproduzieren kann:

  1. ssh remote login in die debian-maschine über cygwin rxvt terminal (von einem Windows-7 64bit deutsche edition).
  2. Vergrößern Sie das RXVT-Fenster so, dass es sich über zwei Monitore erstreckt (ja, ich habe zwei Monitore)
  3. Lauf aptitude update. Hinweis: Wenn ich die Größe des RXVT-Terminals auf "normal" ändere, habe ich keine dieser segfaults!

167
2018-01-30 00:20


Ursprung




Antworten:


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

Also, um es neu zu installieren aptitude benutzen:

sudo apt-get install --reinstall aptitude

284
2018-01-30 01:29



was ist das -A5 du bist grepping? - Vokuhila-Oliba
Mann Grep | grep - "-A" - grawity
Was ist das -- du bist grepping? - Desty
man getopt, Schau unter PARSING - Tino
-A5 zeigt die übereinstimmende Linie plus die folgenden 5 Linien. -- stoppt das Parsen von Optionen und interpretiert damit alles, was als Positionsargumente herkommt, und vermeidet, den Bindestrich im Ausdruck zu verlassen -A das würde sonst als eine Option interpretiert werden, sich selbst zu grepsen. - jjmontes


Sie können ein Paket mit neu installieren sudo apt-get install --reinstall packagename. Dies entfernt das Paket vollständig (aber nicht die Pakete, die davon abhängen) und installiert dann das Paket neu.

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


98
2017-07-18 19:45



Danke, dass Sie die einzig korrekte, vollständige, nicht-snarky Antwort sind. - Cerin
@Cerin: Ich würde die anderen Antworten nicht übertrieben snarky nennen: selbst die "Lies die Manpage" gab man tatsächlich die Antwort sowie wie man sie findet. - David Spillett
@DavidSpillett, stimme ich überhaupt nicht zu. Die Manpages sind meist sehr schlecht geschrieben und für Neulinge sehr unfreundlich. Der Absatz in der Option "--reinstall" erwähnt beispielsweise nicht, dass Sie ihn mit dem Argument "install" verwenden müssen. Ein Neuling könnte zu Recht fragen: "Warum muss ich es sagen, installieren und neu installieren?" Eine Antwort, die jemanden an RTFM weitergibt, ist die schlimmste Art von Antwort und es schmerzt mich, sie mit den meisten Stimmen zu sehen, besonders wenn eine vollständige und tatsächlich hilfreiche Antwort ganz unten ist. - Cerin


Sie sollten sicher sein, aptitude zu entfernen und neu zu installieren, da dies die anderen apt-Dienstprogramme nicht beeinträchtigt. Damit: apt-get remove aptitude gefolgt von apt-get install aptitudeoder wenn das immer noch fehlschlägt, versuche es apt-get purge aptitude gefolgt von apt-get install aptitude.

Bevor ich eines der beiden oben genannten Dinge durchführe, empfehle ich eine vollständige Überprüfung des Dateisystems und des Badblocks, falls es dort ein Problem gibt, das das Problem verursacht hat (abhängig von dem Problem, falls es ein Problem gibt, könnte weitere Aktivität die Situation verschlimmern). Stellen Sie außerdem sicher, dass Sie überprüfen, was im Entfernungs- / Bereinigungsschritt entfernt wird, bevor Sie fortfahren (es sollte eine Pause einlegen, um nach einer Erlaubnis zu fragen, wenn durch das Entfernen dieses Pakets etwas Zusätzliches geändert wird) ist sicher.


12
2018-01-30 00:26



Danke vielmals! apt-get remove gefolgt von apt-get install hat den Trick gemacht! - Vokuhila-Oliba
Es ist lange her, dass ich Dinge wie gemacht habe a full filesystem check o.ä. Könnten Sie mir bitte einen kurzen Hinweis geben, wie das geht? - Vokuhila-Oliba
fsck -f <block_device> sowie fsck /dev/sda1. Das Dateisystem muss zu diesem Zeitpunkt abgehängt oder read-only sein, da dies wahrscheinlich Ihr Root-Dateisystem ist, sollten Sie den Single-User-Modus neu starten oder von etwas anderem wie einer Live-CD booten. - David Spillett
Sie können verwenden tune2fs um das Dateisystem so zu markieren, dass es öfter als sein gesetzter Grenzwert gemountet wurde, sollte dies beim nächsten Booten eine Überprüfung erzwingen. Angenommen, das Dateisystem ist ext2 / 3/4: tune2fs -C 99 <device>, oder falls Sie die Überprüfung der Mountanzahl deaktiviert haben, schalten Sie sie gleichzeitig mit etwas wie tune2fs -c 17 -C 99 <device>. - David Spillett
berühre / forcefsck; reboot - user23307


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

sudo apt-get install --reinstall xxxx

Installieren Sie die Anwendung neu und behalten Sie die Konfigurationsdateien bei.

Dies könnte hilfreich sein, aber manchmal müssen Sie neu anfangen, also was ich benutze ist das:

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

dann

sudo apt-get install xxxx

12
2017-08-20 05:39



Und wenn Sie nur Konfigurationsdateien wiederherstellen müssen, in einigen Fällen (wenn sie von UCF verwaltet werden) sollten Sie verwenden UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname]. - Skippy le Grand Gourou