Когда я устанавливаю или обновляю что-либо, я получаю ошибки, подобные приведенным ниже.
Могу ли я принудительно выполнить полное удаление этих пакетов или другой подобной опции, чтобы избежать этих ошибок?
Для этого я использовал synaptic, но я также попытался установить или удалить apt
sudo apt-get --force-yes remove ...
ОШИБКИ apt:
...
dpkg: warning: files list file for package 'python-pysqlite2' missing; assuming package has no files currently installed
(Reading database ... 470240 files and directories currently installed.)
Removing python-mysql.connector (2.0.4-1) ...
/var/lib/dpkg/info/python-mysql.connector.prerm: 6: /var/lib/dpkg/info/python-mysql.connector.prerm: pyclean: not found
dpkg: error processing package python-mysql.connector (--remove):
subprocess installed pre-removal script returned error exit status 127
/var/lib/dpkg/info/python-mysql.connector.postinst: 6: /var/lib/dpkg/info/python-mysql.connector.postinst: pycompile: not found
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
python-mysql.connector
E: Sub-process /usr/bin/dpkg returned an error code (1)
...
ОШИБКИ синаптические:
E: python-ecdsa: subprocess installed post-installation script returned error exit status 127
E: python-mysql.connector: subprocess installed post-installation script returned error exit status 127
E: python-ptyprocess: subprocess installed post-installation script returned error exit status 127
Возможно, вы захотите переустановить поврежденные пакеты, так как это может быть вызвано неправильной установкой программного обеспечения.
for package in $(sudo apt-get upgrade 2>&1 | grep "warning: files list file for package '" | grep -Po "[^'\n ]+'" | grep -Po "[^']+"); do sudo apt-get install --reinstall "$package"; done
Этот скрипт переустанавливает каждый пакет, который выводит warning: files list file for package
в процессе apt-get upgrade
.
Это займет больше времени, так как он циклически повторяет каждую упаковку.
Если скрипт не работает, то вы должны сделать что-то подобное с каждым пакетом (в настоящее время python-pysqlite2
), который показывает вышеупомянутое предупреждение:
sudo apt-get install --reinstall python-pysqlite2