Jak usunąć wszystkie pakiety i386 z Ubuntu 64bit?

29

Z czasem zainstalowałem wiele pakietów i386, których już nie potrzebuję. Jak mogę oczyścić system i pozostać tylko z pakietami amd64?

    
zadawane yossile 15.03.2012, 19:39
źródło

6 odpowiedzi

14

Jeśli nie są na twojej drodze, zostawiłbym je 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 starannym sprawdzaniu z czymś takim jak sudo apt-get purge <package-name> .

    
odpowiedział Henk 15.03.2012, 19:51
źródło
23

Górne zautomatyzowane rozwiązania są niebezpieczne i nie zawsze działają (1), a więc w inny sposób

sudo aptitude purge 'dpkg --get-selections | grep ":i386" | awk '{print }''

lub

sudo apt-get purge 'dpkg --get-selections | grep ":i386" | awk '{print }''

(Staraj się używać zawsze i tylko jednego z narzędzi. Ponieważ aptitude jest lepsze, gdy masz problemy z zależnościami, wolę to.)

Dobry pomysł, aby również

dpkg --remove-architecture i386

i może

dpkg --print-foreign-architectures

(1) Poprzednie polecenia wyświetlają również pakiety, które mają tylko i386 w nazwie (chociaż są one dla architektury 64-bitowej), wyrażenie regularne nie działało, a dpkg pokazuje pakiety, które są już usunięte, ale nadal mają pliki konfiguracyjne pozostawione ( dpkg -l pokazuje "rc" zamiast "ii" jako status).

    
odpowiedział PythoNic 17.02.2014, 22:30
źródło
21

Oblałem wszystkie moje 32-bitowe pakiety w następujący sposób:

sudo apt-get remove 'dpkg --get-selections | grep i386 | awk '{print }''
    
odpowiedział Mathnode 15.06.2012, 11:51
źródło
9

Jeśli ktoś się zastanawia, jest to o wiele bardziej rozsądny i pełen gracji sposób. Ostatnia poprzednia odpowiedź ma nadzieję, że zrobi to samo, ale wyszukiwanie nie powiedzie się, ponieważ architektury nie są 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 korzystasz już z aptitude over apt-get, zrób. To naprawdę wspaniałe. Listę haseł aptitude znajdziesz tutaj .

    
odpowiedział Patrick 18.04.2015, 14:44
źródło
6

Oto inny, niższy poziom ryzyka:

apt-get remove "^.*:i386$"

To będzie dokładnie pasowało tylko do pakietów kończących się na ":i386" , co jest standardową konwencją nazewnictwa dla wszystkich pakietów Debiana w architekturze i386 .

    
odpowiedział kevinarpe 09.02.2014, 12:09
źródło
4

W przewodniku dla wielu debian wymieniono tę komendę: apt-get purge ".*:<arch>" , która wyglądałaby tak dla i386 :

apt-get purge ".*:i386"

Następnie możesz usunąć architekturę z dpkg:

dpkg --remove-architecture i386
    
odpowiedział Francisco Couzo 17.01.2017, 20:44
źródło

Przeczytaj inne pytania na temat tagów