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öschen sudo apt-get purge <package-name>
.
apt-get purge <package-name>
sollte aber trotzdem funktionieren.
dpkg -l | grep amd64
ich nach dem laufen ein i386-pkg in meiner liste, was bedeutet amd64-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
sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
oder
sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
(Versuchen Sie, immer und nur eines der Tools zu verwenden. Da Eignung bei Abhängigkeitsproblemen besser ist, bevorzuge ich dies.)
Gute Idee auch dazu
dpkg --remove-architecture i386
und vielleicht
dpkg --print-foreign-architectures
(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).
awk
sowieso verwenden, können Sie den grep
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:
sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
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 zusammen
sudo 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:
aptitude remove ~i~ri386
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 .
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 alle i386
Architektur-Debian-Pakete.
sudo apt-get purge .*:i386
Der Multiarch-Leitfaden des Debian erwähnt diesen Befehl :,apt-get purge ".*:<arch>"
der folgendermaßen aussehen würde i386
:
apt-get purge ".*:i386"
Sie können die Architektur dann aus dpkg entfernen:
dpkg --remove-architecture i386