Как удалить поврежденные пакеты в человечности

Я не могу удалить поврежденный пакет. Используйте следующую команду: sudo apt-get -f install но я получаю следующий ответ:

Preparing to unpack .../nodejs_0.10.28-1chl1~trusty1_amd64.deb ...
Unpacking nodejs (0.10.28-1chl1~trusty1) over (0.10.25~dfsg2-2ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb (--unpack):
 trying to overwrite '/usr/share/man/man1/node.1.gz', which is also in package nodejs-legacy 0.10.25~dfsg2-2ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я попробовал различные команды как

 2015  sudo apt-get clean
 2020  sudo dpkg --configure -a
 2023  sudo apt-get autoremove
 2034  sudo apt-get upgrade && sudo apt-get -f install

Но я не получил результата. Я не могу установить синаптический. Какие-либо идеи, как я могу удалить поврежденный пакет?

55
задан 17 September 2014 в 13:21

13 ответов

Это устранило мою проблему:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
10
ответ дан 16 November 2019 в 10:49

выполните эту команду, чтобы удалить сломанные пакеты в ubuntu.

sudo dpkg --remove --force-remove-reinstreq package_name 

после удаления пакета обновите систему командой

sudo apt-get update

перезагрузите систему после успешного апгрейда.

73
ответ дан 16 November 2019 в 10:49

Откройте терминал и используйте следующую команду

sudo dpkg --purge nodejs-legacy
sudo apt-get install -f

. Это должно решить вашу проблему.

14
ответ дан 16 November 2019 в 10:49

Я обнаружил, что:

sudo dpkg --remove --force-remove-reinstreq <packagename>

Работает лучше всего. Если он выдает ошибку, что он не удаляет пакет, потому что он зависит от другого пакета, удалите также этот другой пакет. Вам придется повторить этот шаг несколько раз, а затем переустановить удаленные пакеты.

force-remove-reinstreq - это «ядерный вариант» удаления пакета. Ошибка происходит только в том случае, если есть другой пакет, зависящий от того, который вы собираетесь удалить - опять же, в этом случае удалите и зависимый пакет.

15
ответ дан 16 November 2019 в 10:49

Откройте свой терминал и вставьте эту строку после строки

sudo rm -rf  /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
sudo apt-get autoclean
sudo apt-get update
sudo apt-get upgrade

, затем повторите попытку

3
ответ дан 16 November 2019 в 10:49

у меня ничего из вышеперечисленного не работало. в конце концов я отредактировал файл / var / lib / dpkg / status и удалил оттуда пакеты.

Жестко, я бы не советовал это делать, просто если что-то еще не сработает ...

4
ответ дан 16 November 2019 в 10:49

Та же ошибка повторяется. Если мы сделаем apt-get clean и apt-get -f install , если мы не удалим ненужные данные из / var / lib / dpkg / status файл в Ubuntu.

Предположим, нам нужно удалить поврежденный пакет apache. Первоначально нам нужно открыть файл состояния и найти пакет apache. Удалите полное описание пакета и сохраните файл состояния. Затем попробуйте использовать apt-get -f install и apt-get clean .

2
ответ дан 16 November 2019 в 10:49

У меня ничего из вышеперечисленного не сработало

Я использовал sudo aptitude .

Ошибка была обнаружена немедленно и предлагаемые варианты. Вы выбираете, и он исправляет.

2
ответ дан 16 November 2019 в 10:49

Вот один:

обновите список пакетов, как этот

 sudo apt-get update

, затем очистите все частичные пакеты

 sudo apt-get autoclean

Теперь очистите кеш apt

 sudo apt-get clean

Теперь удалите все ненужные зависимости

 sudo apt-get autoremove

из с помощью приведенной выше команды вы можете идентифицировать любые сломанные пакеты и принудительно удалить их следующим образом

 sudo dpkg --remove --force-remove-reinstreq package_name

Наконец, удалите все остальные пакеты с зависимостями

 sudo apt-get -f install 

Расскажите мне, как это происходит.

2
ответ дан 16 November 2019 в 10:49
  1. запросить все пакеты, установленные сегодня или вчера awk -v foo = $ (date '+% Y-% m-% d') -v bar = $ (date -d "вчера" '+% Y-% m-% d') '(1 $ == foo || $ 1 == bar) && $ 3 ~ / ^ install $ / {print $ 4} '/var/log/dpkg.log
  2. wine-qqintl: проблема была вызвана i386, поэтому я удаляю пакет sudo dpkg -r wine-qqintl: i386

  3. done.

0
ответ дан 16 November 2019 в 10:49

У меня была проблема с неработающим пакетом kodi. Я открыл диспетчер синаптических пакетов и использовал «сломанный» фильтр, чтобы найти пакет и пометить его для полного удаления. Это сработало как чемпион.

0
ответ дан 16 November 2019 в 10:49
rm /var/lib/dpkg/info/<package_name>.*

пример:

rm /var/lib/dpkg/info/elasticsearch.*[12195 impression

2
ответ дан 5 January 2021 в 23:02

Если у вас сломанная зависимость (с которой я столкнулся с openjdk), вы захотите очистить пакет и заставьте его пропустить проблемы с зависимостями:

sudo dpgk -P --force-depends package_name

Нашел ответ на другом форуме

2
ответ дан 5 January 2021 в 23:02

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

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