Odpowiedzi:
Jeśli nie są na twojej drodze, zostawiłbym ich tam, gdzie są.
Jeśli nalegasz na usunięcie, użyj, dpkg -l | grep i386
aby utworzyć listę pakietów i386. Możesz je usunąć po dokładnym sprawdzeniu za pomocą czegoś takiego sudo apt-get purge <package-name>
.
apt-get purge <package-name>
powinien jednak nadal działać.
dpkg -l | grep amd64
mam i386 pkg na mojej liście, co jest amd64-microcode 3.20160316.3 i386
, myślę, że ':' we wzorcu grep jest ważne ! ( dpkg -l | grep ":amd64"
)
Górne zautomatyzowane rozwiązania są niebezpieczne i nie zawsze działają (1), więc tutaj jest inny sposób
sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
lub
sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
(Staraj się używać zawsze i tylko jednego z narzędzi. Ponieważ aptitude jest lepszy, gdy masz problemy z zależnością, wolę to.)
Dobry pomysł również
dpkg --remove-architecture i386
I może
dpkg --print-foreign-architectures
(1) Poprzednie polecenia wyświetlają również listę pakietów posiadających tylko nazwę i386 (chociaż są one przeznaczone dla architektury 64-bitowej), wyrażenie regularne nie działało, a dpkg pokazuje pakiety, które zostały już usunięte, ale nadal mają pliki konfiguracyjne ( dpkg -l pokazuje „rc” zamiast „ii” jako status).
awk
, równie dobrze możesz pozbyć się grep
wywołania. Ponadto $()
jest preferowany zamiast backicks. Właśnie pozbyłem się moich pakietów i386 za pomocą tego polecenia opartego na tym, który podałeś:sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
Zblitzowałem wszystkie moje 32-bitowe pakiety w ten sposób:
sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
dpkg -l | grep i386
sprawdzam, czy w paczkach są jeszcze jakieś pomysły, również +1 za poprzedni komentarz i przypuszczam, że jest to związane z technikami skryptów powłoki
sudo dpkg --remove-architecture i386
Jeśli ktoś się zastanawia, istnieje o wiele bardziej rozsądny i pełen wdzięku sposób. Ostatnia poprzednia odpowiedź ma nadzieję zrobić to samo, ale wyszukiwanie kończy się niepowodzeniem, ponieważ architektury nie są w rzeczywistości częścią nazw pakietów, z wyjątkiem szczególnych przypadków.
jako root (lub z sudo) uruchom:
aptitude remove ~i~ri386
Jeśli nie używasz już aptitude w stosunku do apt-get, zrób to. To jest naprawdę doskonałe. Listę wyszukiwanych terminów aptitude znajdziesz tutaj .
Oto inny sposób na jeszcze mniejsze ryzyko:
apt-get remove "^.*:i386$"
Będzie to w szczególności pasować tylko do pakietów kończących się ":i386"
, co jest standardową konwencją nazewnictwa dla wszystkich i386
pakietów Debiana architektury.
sudo apt-get purge .*:i386
W podręczniku debiana znajduje się wzmianka o tym poleceniu: apt-get purge ".*:<arch>"
które wygląda tak i386
:
apt-get purge ".*:i386"
Następnie możesz usunąć architekturę z dpkg:
dpkg --remove-architecture i386