Відповіді:
Якби вони вам не подобалися, я б залишив їх там, де вони є.
Якщо ви наполягаєте на видаленні, використовуйте dpkg -l | grep i386
для створення списку i386-пакетів. Ви можете видалити їх після ретельної перевірки чимось подібним sudo apt-get purge <package-name>
.
apt-get purge <package-name>
хоча все-таки працювати.
dpkg -l | grep amd64
я отримав i386 кг у своєму списку, який є amd64-microcode 3.20160316.3 i386
, я думаю, що ':' у схемі grep важливо! ( dpkg -l | grep ":amd64"
)
Верхні автоматизовані рішення небезпечні і не завжди працюють (1), тому тут інший спосіб
sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
або
sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
(Намагайтеся використовувати завжди і лише один із інструментів. Оскільки здатність краще, коли виникають проблеми із залежністю, я вважаю за краще це.)
Гарна ідея також
dpkg --remove-architecture i386
а може, й
dpkg --print-foreign-architectures
(1) Колишні команди також перелічують пакети, на яких є лише i386 (хоча вони мають 64-бітну архітектуру), регулярний вираз не працював, і dpkg показує пакунки, які вже видалені, але в них залишилися файли конфігурації ( dpkg -l показує "rc" замість "ii" як статус).
awk
одно користуєтесь , ви також можете позбутися grep
виклику. Крім того, $()
бажано замість задньої частини. Я щойно позбувся своїх пакунків i386, використовуючи цю команду, виходячи з тієї, яку ви дали:sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
Я запалив усі свої 32-бітові пакети так:
sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
dpkg -l | grep i386
перевіряю пакунки, все ще є якісь ідеї, також +1 для коментаря до попереднього використання, і я здогадуюсь, що це пов’язано з методами сценаріїв оболонок
sudo dpkg --remove-architecture i386
Якщо хтось цікавиться, існує набагато більш розумний і витончений спосіб зробити це. Остання попередня відповідь сподівається зробити те саме, але цей пошук не вдається, оскільки архітектури насправді не є частиною назв пакетів, за винятком спеціальних випадків.
як запустити root (або з sudo):
aptitude remove ~i~ri386
Якщо ви вже не використовуєте здатність над apt-get, зробіть це. Це справді чудово. Ви можете знайти список пошукових термінів у відповідності тут .
Ось ще один спосіб, що має ще менший ризик:
apt-get remove "^.*:i386$"
Це конкретно відповідатиме лише пакетам, що закінчуються ":i386"
, що є стандартною умовою іменування для всіх i386
архітектурних пакетів Debian.
sudo apt-get purge .*:i386
Посібник з мультиархами debian згадує цю команду:, apt-get purge ".*:<arch>"
яка виглядає так i386
:
apt-get purge ".*:i386"
Потім можна видалити архітектуру з dpkg:
dpkg --remove-architecture i386