Я некоторое время возился с моей системой, чтобы заставить ее работать после обновления, и теперь она вроде работает, но не здорова.
Когда я пытаюсь удалить любой пакет i386 на моем 64-битном Ubuntu 13.10, он возвращает ошибку:
root# apt-get remove zlib1g:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package zlib1g
Я знаю, что он установлен с выхода dpkg -l
.
На самом деле zlib1g
уже удалено , но файлы конфигурации все еще существуют . Вот почему apt-get не может найти пакет. Но когда dpkg -l
пытается найти все установленные пакеты, он ищет оба пакета, а также свои файлы конфигурации. Поэтому он все равно покажет zlib1g
как установленный.
Поэтому вместо запуска
apt-get remove zlib1g: i386
(с использованием sudo
, если не корневой терминал)
выполните
apt-get purge zlib1g: i386
(снова с использованием sudo
, если не корневой терминал)
purge удаляет файлы конфигурации, а также пакет.
Теперь, когда вы запустите dpkg -l, вы не найдете пакет в списке.
Справочная страница dpkg-query
дает некоторые подробности.
-l, --list [package-name-pattern ...]
Вывести список пакетов, соответствующих данному шаблону. Если шаблон имени пакета не указан, перечислите все пакеты в / var / lib / dpkg / status, за исключением тех, которые помечены как неустановленные (т.е. те, которые были предварительно очищены).