Я получаю эту ошибку после обновления. пожалуйста помоги

6
dpkg: dependency problems prevent configuration of initramfs-tools:
 initramfs-tools depends on initramfs-tools-bin (<< 0.99ubuntu13.2.1~); however:
  Version of initramfs-tools-bin on system is 0.103ubuntu0.2.
 klibc-utils (2.0.1-1ubuntu2) breaks initramfs-tools (<< 0.103) and is installed.
  Version of initramfs-tools to be configured is 0.99ubuntu13.2.
dpkg: error processing initramfs-tools (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of plymouth:
 plymouth depends on initramfs-tools; however:
  Package initramfs-tools is not configured yet.
dpkg: error processing plymouth (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of mountall:
 mountall depends on plymouth; however:
  Package plymouth is not configured yet.
dpkg: error processing mountall (--configure):
 dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                                              No apport report written because MaxReports is reached already
      No apport report written because MaxReports is reached already
                                                                    dpkg: dependency problems prevent configuration of initscripts:
 initscripts depends on mountall (>= 2.28); however:
  Package mountall is not configured yet.
dpkg: error processing initscripts (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of upstart:
 upstart depends on initscripts; however:
  Package initscripts is not configured yet.
 upstart depends on mountall; however:
  Package mountall is not configured yet.
dpkg: error processing upstart (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of passwd:
 passwd depends on upstart-job; however:
  Package upstart-job is not installed.
  Package upstart which provides upstart-job is not configured yet.
dpkg: error processing passwd (--configure):
 dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
                                                              No apport report written because MaxReports is reached already
      No apport report written because MaxReports is reached already
                                                                    Errors were encountered while processing:
 initramfs-tools
 plymouth
 mountall
 initscripts
 upstart
 passwd
E: Sub-process /usr/bin/dpkg returned an error code (1)
    
задан user203404 16.10.2013 в 23:05
источник

2 ответа

5

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

sudo apt-get autoremove
sudo apt-get --purge remove && sudo apt-get autoclean
sudo apt-get -f install
sudo dpkg-reconfigure -a

Последняя команда займет некоторое время, зависит от пакетов, установленных в вашей системе. Поэтому, пожалуйста, будьте терпения. Если у вас нет сломанных / остаточных пакетов, он будет выполняться без каких-либо сообщений.

sudo apt-get update
sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo dpkg-reconfigure -a
sudo dpkg --configure -a
sudo update-initramfs -u

Затем перезапустите свою систему один раз .. Ответ, если вы получите какую-либо ошибку в какой-либо конкретной команде с сообщением об ошибке.

    
ответ дан Saurav Kumar 17.10.2013 в 00:07
1

У меня была такая же проблема, и я смог ее исправить. Мой однострочный файл для удаления старых ядер (это также освобождает дисковое пространство)

dpkg --list | grep linux-image | awk '{ print  }' | sort -V | sed -n '/''uname -r''/q;p' | xargs sudo apt-get -y purge

Объяснение (помните, что | использует вывод предыдущей команды как входной для следующего)

  • dpkg --list перечисляет все установленные пакеты.
  • grep linux-image ищет установленные изображения linux
  • awk '{ print }' просто выводит второй столбец (который является именем пакета)
  • sort -V помещает элементы в порядок по номеру версии
  • sed -n '/''uname -r''/q;p' печатает строки перед текущим ядром
  • xargs sudo apt-get -y purge очищает найденные ядра

Отмена вызова sed :

  • -n говорит, что sed будет тихим.
  • 'uname -r' выводит текущую установленную версию ядра - мы включаем ее в backticks, чтобы выход включался как часть команды (вы также можете увидеть это как $(uname -r)
  • /something/q говорит, что останавливается, когда вы сопоставляете «что-то» (в этом случае что-то выводится uname -r ) - / окружает регулярное выражение
  • p - печать
  • ; - команда separtor, поэтому /something/q;p говорит, что выходите, когда вы что-то сопоставляете, иначе печатайте

в целом, sed -n '/''uname -r''/q;p' печатает строки до тех пор, пока они не совпадут с текущим именем ядра.

Если вы параноик (как и я), вы можете сделать последнюю часть xargs echo sudo apt-get -y purge , чтобы напечатать команду для очистки старых ядер, и вы можете проверить, что перед ее запуском ничего неожиданного не было.

Измененная версия для удаления заголовков:

dpkg --list | grep 'linux-image' | awk '{ print  }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)//")"'/q;p' | xargs sudo apt-get -y purge
dpkg --list | grep 'linux-headers' | awk '{ print  }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)//")"'/q;p' | xargs sudo apt-get -y purge

Примечание: вызов sed изменен. "$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)//")" извлекает только версию (например, «3.2.0-44»), без «-генерического» или аналогичного из uname -r

Версия «все-в-одном» для удаления изображений и заголовков (объединяет две версии выше):

echo $(dpkg --list | grep linux-image | awk '{ print  }' | sort -V | sed -n '/''uname -r''/q;p') $(dpkg --list | grep linux-headers | awk '{ print  }' | sort -V | sed -n '/'"$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)//")"'/q;p') | xargs sudo apt-get -y purge
    
ответ дан arukaen 24.10.2014 в 15:13