Im Laufe der Zeit habe ich viele i386-Pakete installiert, die ich nicht mehr benötige. Wie kann ich das System aufräumen und nur bei den amd64-Paketen bleiben?
package-management
64-bit
uninstall
32-bit
yossile
quelle
quelle
Antworten:
Wenn sie dir nicht im Weg sind, würde ich sie dort lassen, wo sie sind.
Wenn Sie auf dem Löschen bestehen,
dpkg -l | grep i386
erstellen Sie mit eine Liste der i386-Pakete. Sie können diese nach sorgfältiger Prüfung mit etwas löschensudo apt-get purge <package-name>
.quelle
apt-get purge <package-name>
sollte aber trotzdem funktionieren.dpkg -l | grep amd64
ich nach dem laufen ein i386-pkg in meiner liste, was bedeutetamd64-microcode 3.20160316.3 i386
, dass das ':' im grep-muster steht ist wichtig ! (dpkg -l | grep ":amd64"
)Die oberen automatisierten Lösungen sind gefährlich und funktionieren nicht immer (1), also hier ein anderer Weg
oder
(Versuchen Sie, immer und nur eines der Tools zu verwenden. Da Eignung bei Abhängigkeitsproblemen besser ist, bevorzuge ich dies.)
Gute Idee auch dazu
und vielleicht
(1) Mit den vorherigen Befehlen werden auch Pakete aufgelistet, deren Name nur i386 enthält (obwohl sie für die 64-Bit-Architektur vorgesehen sind). Der reguläre Ausdruck funktionierte nicht und dpkg zeigt Pakete an, die bereits entfernt wurden, aber noch Konfigurationsdateien enthalten ( dpkg -l) zeigt "rc" anstelle von "ii" als Status).
quelle
awk
sowieso verwenden, können Sie dengrep
Aufruf auch loswerden . Auch$()
ist Backticks vorzuziehen. Ich habe gerade meine i386-Pakete mit diesem Befehl losgeworden, der auf dem folgenden basiert:sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
Ich habe alle meine 32-Bit-Pakete so geblitzt:
quelle
dpkg -l | grep i386
überprüfe, ob die Pakete noch da sind, gibt es noch Ideen, auch +1 für den vorherigen Kommentar und ich vermute, es hängt mit den Shell-Skripttechniken zusammensudo dpkg --remove-architecture i386
Für den Fall, dass sich jemand wundert, gibt es eine viel vernünftigere und anmutigere Möglichkeit, dies zu tun. Die letzte vorherige Antwort hofft, dasselbe zu tun, aber diese Suche schlägt fehl, da Architekturen, außer in besonderen Fällen, nicht Bestandteil von Paketnamen sind.
als root (oder mit sudo) ausführen:
Wenn Sie Aptitude nicht bereits über Apt-Get einsetzen, tun Sie dies. Es ist wirklich exzellent. Eine Liste der Suchbegriffe von aptitude finden Sie hier .
quelle
Hier ist ein weiterer Weg, der das Risiko noch verringert:
apt-get remove "^.*:i386$"
Dies stimmt speziell nur mit Paketen überein, die mit enden. Dies
":i386"
ist die Standardbenennungskonvention für allei386
Architektur-Debian-Pakete.quelle
sudo apt-get purge .*:i386
Der Multiarch-Leitfaden des Debian erwähnt diesen Befehl :,
apt-get purge ".*:<arch>"
der folgendermaßen aussehen würdei386
:Sie können die Architektur dann aus dpkg entfernen:
quelle