Возился я как-то с установкой php5-rrd и так довозился, что после этого у меня не устанавливалась ни одна софтина, и даже при попытке исправить зависимости, я получил ошибку:
# apt-get -f installReading package lists... DoneBuilding dependency treeReading state information... DoneThe following packages will be REMOVED:php5-rrd0 upgraded, 0 newly installed, 1 to remove and 46 not upgraded.1 not fully installed or removed.After this operation, 42.0 kB disk space will be freed.Do you want to continue [Y/n]? Y(Reading database ... 39480 files and directories currently installed.)Removing php5-rrd .../var/lib/dpkg/info/php5-rrd.postrm: 26: php5dismod: not founddpkg: error processing php5-rrd (--remove):subprocess installed post-removal script returned error exit status 127configured to not write apport reportsErrors were encountered while processing:php5-rrdE: Sub-process /usr/bin/dpkg returned an error code (1)
Оказывается, такие ошибки возникают у многих, и решаются они тоже весьма интересно (обратите внимание на файл, который я выделил в ошибке).
Так вот, открываем этот файл /var/lib/dpkg/info/php5-rrd.postrm и удаляем там все, а затем вписываем в него следующее:
#!/bin/sh
set -e
сохраняем и закрываем файл, собственно это и есть решение проблемы :) после чего в консоле например запускаем исправление зависимостей:
# apt-get -f install
Вот и все, всем удачки!
p.s. Полезные команды:
Обычно ошибка выглядит так:
E: Неудовлетворённые зависимости. Попытайтесь выполнить 'apt-get -f install', не указывая имени пакета, (или найдите другое решение).
Удалите кеш пакетов:
sudo apt-get clean
Удалите осиротевшие пакеты:
sudo apt-get autoremove
Обновите список пакетов:
sudo apt-get update
Исправьте зависимости:
sudo apt-get -f install
Обычно этого достаточно.
Если вы запутались с зависимостями, поможет интеллектуальное обновление системы:
sudo apt-get dist-upgrade
Если установка была прервана, то следует переустановить пакет
sudo apt-get install --reinstall имя_пакета
Если репозиторий недоступен, исправить:
Если невозможно удалить/переустановить пакет, исправить:
Пример добавления репозитория:
echo 'deb http://cz.archive.ubuntu.com/ubuntu xenial main universe' >> /etc/apt/sources.list.d/ubuntu-xenial-main-universe.list
apt-update
Если появится ошибка невалидности ключей:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32 Reading package lists... Done W: GPG error: http://cz.archive.ubuntu.com/ubuntu xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32 E: The repository 'http://cz.archive.ubuntu.com/ubuntu xenial InRelease' is not signed. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.
Значит, нужно добавить указанные в сообщении ключи в доверенные:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
теперь следующая команда не выдаст ошибки:
apt-update
Удачки.