почему `dpkg -l | grep package` показывает пакет после очистки

Чтобы удалить пакет (Ex: tor), установленный из репозитория, нужно использовать

sudo apt-get remove tor

Я сделал это, но dpkg -l | grep tor показал что-то против пакета. Затем я пытаюсь

sudo apt-get purge tor

Но когда я проверяю dpkg -l | grep tor, которое я получил,

reza@reza-N43JM:/$ dpkg -l tor    
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
un  tor            <none>         (no description available)

я думаю, что при удалении какого-либо пакета я ничего не должен получить в списке dpkg -l. Это правда? Или apt-get remove или purge выполняет другую работу, но не удаляет ее?

4
задан 28 March 2014 в 19:52

2 ответа

Отметьте первое две буквы из вывода dpkg -l tor, который говорит un

u: Unknown (an unknown state)
n: Not- The package is not currently installed

иногда dpkg, сохраняет такие записи для ссылок. Для удаления тех проблематичных записей работайте в терминале,

sudo dpkg --clear-avail

От man dpkg

--clear-avail
          Erase  the  existing  information  about   what   packages   are
          available.
0
ответ дан 28 March 2014 в 19:52

Кажется, что @souravc имеет только часть решения.

(Примечание: я делаю это на Debian, я предполагаю, что он должен главным образом относиться к Ububtu также.)

/var/lib/dpkg/status и/var/lib/dpkg/available содержат информацию о пакетах, которые любой доступны для установки (вид того, что склонный делает), установленный, или просто имейте оставшиеся файлы конфигурации. Если один из этих пакетов (говорят, bar) Depends: на пакете foo, но foo самом уже не перечислен (этого не должно происходить, пока Вы используете только официальный стабильный Debian/Ubuntu repos) dpkg -l tor, упомянет их.

grep-status (никакой требуемый корень) аккуратная команда, которая может помочь Вам расположиться, какой пакет является преступником:

$ grep-status foo
Package: bar
Depends: foo
...
$ dpkg -s bar
$ dpkg -L bar
...

теперь можно удалить или произвести чистку использования пакета, например:

# dpkg -r bar
# dpkg -P bar
0
ответ дан 29 March 2014 в 06:52
  • 1
    Спасибо за Ваш ответ, я протестирую это, когда я возвращусь домой. I' ll сообщают, как это складывается. – DroWnThePoor 4 November 2015 в 05:10

Другие вопросы по тегам:

Похожие вопросы: