Установите настройку ubuntu. Красота ubuntu tweak заключается в том, что вы можете сохранить настройки рабочего стола и приложения и восстановить после того, как вы что-то испортили. Он также имеет функцию возврата к исходным настройкам.
Откройте терминал и выполните следующие команды по одному за раз:
sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update
См. также:
https://help.ubuntu.com/community/PackageManagerTroubleshootingПроцедура [ ! d2]Вы отрезали, когда вы отредактировали /var/lib/dpkg/status. Восстановите его из резервной копии, сделанной перед ее редактированием. Конечно, вы сделали резервную копию, верно?
Поскольку вы не сделали резервную копию, отредактируйте ее снова, осторожно. Старайтесь не наносить больше урона.
Вы можете использовать /var/lib/dpkg/status.old в качестве контрольной точки. Это резервная копия файла status до последнего времени dpkg. Запустите
diff /var/lib/dpkg/status.old /var/lib/dpkg/status
, чтобы увидеть различия. Отмените изменения, которые вы сделали вручную, и сохраните изменения, внесенные в последний прогон dpkg.
Если вам действительно не удается восстановить файл, скопируйте /var/lib/dpkg/status.old поверх /var/lib/dpkg/status , Вы получите хорошо сформированную, но устаревшую базу данных пакетов.
Вам не нужно редактировать /var/lib/dpkg/status при нормальной работе. Даже если все идет серьезно, /var/lib/dpkg/status не является чем-то, что требует вмешательства администратора. Независимо от ваших проблем с crossplatformui, есть, вероятно, лучший способ их решения. Единственный раз, когда мне нужно было отредактировать /var/lib/dpkg/status, было то, что файл восходящего Packages был сломан.
Я сделал
sudo apt-get clean
sudo apt-get update
, и он сработал.
Следующие шаги 2-5 в «Процедуре устранения неполадок диспетчера пакетов» обычно решают эту проблему.
Для Процедуры устранения неполадок диспетчера пакетов отключите все ваши PPA. Вы можете снять все из них в Software Sources так же, как вы снимите отметку с одного; см. Как отключить определенный PPA ?. Вы можете повторно включить их позже.
Для Как отключить конкретный PPA? , закройте все открытые программы, которые вы можете. Вероятно, безопасно держать ваш веб-браузер открытым, чтобы у вас были ваши инструкции перед вами. Но особенно важно убедиться, что все менеджеры пакетов все . Это включает в себя Центр программного обеспечения, Обновление программного обеспечения (Update Manager в более старых версиях Ubuntu), Synaptic и Gdebi. Он также включает утилиты управления пакетами командной строки, такие как apt-get, dpkg и aptitude.
Обратите внимание, что если другие пользователи одновременно вошли в систему, они должны выйти из системы, если это возможно.
Для шага 4 откройте окно терминала. Один из способов сделать это, независимо от того, какую рабочую среду вы используете, - нажать Ctrl + Alt + T.
Для шага 4 для запустите эти команды в окне терминала:
ubuntu-support-status
sudo grep -R proxy /etc/apt/*
grep proxy /etc/environment
echo $http_proxy
echo $ftp_proxy
grep proxy /etc/bash.bashrc
grep proxy ~/.bashrc
cat /etc/apt/apt.conf
sudo fuser -vvv /var/lib/dpkg/lock
sudo fuser -vvv /var/cache/apt/archives/lock
cat /etc/lsb-release
uname -a
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
sudo cp -arf /var/lib/dpkg /var/lib/dpkg.backup
sudo mv /var/lib/dpkg/status /var/lib/dpkg/status-bad
sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status || sudo cp /var/backups/apt.extended_states.0 /var/lib/dpkg/status
sudo mv /var/lib/dpkg/available /var/lib/dpkg/available-bad
sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available
sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists
sudo rm /var/cache/apt/*.bin
sudo mkdir /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists/partial
LANG=C;sudo apt-get clean
LANG=C;sudo apt-get autoclean
LANG=C;sudo apt-get --purge autoremove
LANG=C;sudo apt-get --fix-missing update -o APT::Cache-Limit=100000000
sudo dpkg --configure -a
sudo dpkg --clear-avail
LANG=C;sudo apt-get -f install
LANG=C;sudo apt-get --fix-missing install
LANG=C;sudo apt-get update -o APT::Cache-Limit=100000000 && sudo apt-get dist-upgrade
find /etc/apt -name '*.list' -exec bash -c 'echo -e "\n$1\n"; cat -n "$1"' _ '{}' \;
Я скопировал это verbatim из PackageManagementTroubleshoootingProcedure 2 марта 2014 года. Эти команды развивались в прошлом, и рекомендуемые команды в этой статье могут быть изменены или расширены снова в будущем. Поэтому вы можете работать с шага 5 там. (Эта статья, созданная / отредактированная «Сторонниками вики документации Ubuntu», особенно Марк Рикенберг, - лицензирована CC-BY-SA 3.0, которая позволяет включить здесь с надлежащей атрибуцией.)
Некоторые из эти команды пытаются исправить проблему (а также могут отображать диагностическую информацию); другие отображают ценную информацию о проблеме, которую вы можете включить в свой вопрос или иным образом предоставлять кому-то, кто помогает вам. (Или, в зависимости от ваших навыков, может позволить другим пользователям диагностировать и решать проблемы.)
Часто это исправляет, но когда это не так, часто дает достаточно информации для исправления это.
Вам не нужно вручную вводить эти команды; вы можете их скопировать и вставить. Однако я рекомендую вставлять и запускать каждый отдельно. Это дает более четкое представление о том, из каких команд.
Я также видел, что эта проблема возникает, когда у вас слишком много источников в ваших репозиториях.
Попробуйте решение, опубликованное выше и / или, возможно, это, что иногда рекомендуется на панели запуска:
sudo mv /var/lib/apt/lists /var/lib/apt/lists-old
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get update
Сообщите нам, как вы это делаете.
Я столкнулся с подобной ошибкой:
Reading package lists... Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.
Я следовал аналогичным предложениям для копирования status-old.
$ head /var/lib/dpkg/status
$ head /var/lib/dpkg/status-old
Все мои статусные файлы были пустыми для некоторых причина. К счастью, я обнаружил, что есть резервные копии этих файлов:
$ ls -l /var/backups/dpkg.status.*
-rw-r--r-- 1 root root 444620 Nov 15 06:33 /var/backups/dpkg.status.0
-rw-r--r-- 1 root root 444620 Nov 15 06:33 /var/backups/dpkg.status.1.gz
-rw-r--r-- 1 root root 128168 Sep 20 2013 /var/backups/dpkg.status.2.gz
-rw-r--r-- 1 root root 112545 Sep 16 2013 /var/backups/dpkg.status.3.gz
-rw-r--r-- 1 root root 107767 Sep 14 2013 /var/backups/dpkg.status.4.gz
-rw-r--r-- 1 root root 107766 Sep 11 2013 /var/backups/dpkg.status.5.gz
-rw-r--r-- 1 root root 94583 Sep 11 2013 /var/backups/dpkg.status.6.gz
Я проверил последнюю резервную копию ...
$ head /var/backups/dpkg.status.0
... но она была пустой. Поэтому я расстегнул старую ...
$ gunzip /var/backups/dpkg.status.1.gz
$ head /var/backups/dpkg.status.1
На этот раз был контент. Поэтому я скопировал его ...
$ cp /var/backups/dpkg.status.1 /var/lib/dpkg/status
Тогда apt-get update бежал без проблем.
Кредит отправляется на этот пост.
У меня была такая же проблема, и я попытался устранить все проблемы, упомянутые в других ответах. Странно, что единственным решением было другое:
Перейти к Software & amp; обновления -> Ubuntu Software -> Загрузить с -> Другое-> Выбрать лучший сервер Подождите испытания. В конце тестов будет выбран лучший сервер, не обязательно ближайший, а не основной сервер или сервер для вашей локали. Теперь перезагрузите данные Repo, он завершится правильно.