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

Я не могу удалить сломанный пакет. Используйте следующую команду: 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-2ubuntu1dpkg-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.debE: 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

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

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

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

после удаления пакета обновите свою систему с помощью команды

sudo apt-get update

перезагрузите систему после успешного обновления.

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

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

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

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

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

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

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

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

sudo dpkg -i --force-overwrite /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
rm /var/lib/dpkg/info/<package_name>.*

пример:

rm /var/lib/dpkg/info/elasticsearch.*

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

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

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

sudo rm -rf  /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.debsudo apt-get autocleansudo apt-get updatesudo apt-get upgrade

затем попробуйте еще раз

Вот один из них:

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

 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

Наконец, mopup любые другие пакеты с зависимостями

 sudo apt-get -f install 

Расскажи мне, как все прошло.

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

sudo dpkg -P --force-depends package_name

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

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

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

Здесь несколько ответов предложили --force-remove-reinstreq и --force-overwrite. Пожалуйста, обратите внимание, что вы должны использовать эти два (особенно первый), только если вы являетесь экспертом по Linux, потому что это может полностью сломать вашу систему.