У меня была такая же проблема на Ubuntu Vivid 15.04, без systemd.
аудит: type = 1400 audit (1453391318.882: 44): apparmor = "DENIED" operation = "able" profile = "/ usr / sbin / dhcpd "pid = 15957 comm =" dhcpd "возможность = 1 capname =" dac_override "аудит: type = 1400 audit (1453391318.882: 45): apparmor =" DENIED "операция =" способный "профиль =" / usr / sbin / dhcpd "pid = 15957 comm =" dhcpd "возможность = 2 capname =" dac_read_search "Я добавил эти две строки в /etc/apparmor.d/usr.sbin.dhcpd
capability dac_override,
capability dac_read_search,
В разделе capability setuid,
Затем apparmor_parser -r /etc/apparmor.d/usr.sbin.dhcpd
Затем stop isc-dhcp-server; start isc-dhcp-server
Я также видел, что эта проблема возникает, когда у вас слишком много источников в ваших репозиториях.
Попробуйте решение, размещенное выше и / или, возможно, это, что иногда рекомендуется на панели запуска:
sudo mv /var/lib/apt/lists /var/lib/apt/lists-old
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get update
Сообщите нам, как вы это делаете.
Эти команды терминала должны решить вашу проблему:
Сначала удалите список слияния, открыв терминал (нажмите Ctrl + Alt + T для запуска) и запустите эту команду *:
sudo rm -vf /var/lib/apt/lists/*
Затем создайте новую, выполнив простое обновление:
sudo apt-get update
Вот отчет об ошибке (и другой ) для этого проблема, которая теперь исправлена, поэтому она не должна создавать новые искаженные файлы, однако, если у вас уже есть искаженные файлы, вам необходимо удалить их, как описано в этом сообщении.
* Параметры, используемые для rm являются -v
verbose
-v, --verbose объясняют, что делается
blockquote>и
-f
force-f, --force игнорировать несуществующие файлы и аргументы, никогда не запрашивать
blockquote>Если вы никогда не знаете о командной строке или используемых параметрах, всегда ссылайтесь на страницу руководства для команда. Доступ к ним можно получить в Интернете путем поиска человека и команды, например man rm, или вы можете получить доступ к той же информации, введя точно такую же команду в терминале, например,
man rm
инструкции для выхода из страницы будут внизу такой терминал
Я столкнулся с подобной ошибкой:
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 бежал без проблем.
Кредит отправляется на этот пост.
Следующие шаги 2-5 в «Процедуре устранения неполадок диспетчера пакетов» обычно решают эту проблему.
Для Процедуры устранения неполадок диспетчера пакетов отключите все ваши PPA. Вы можете снять все из них в Software Sources так же, как вы снимите отметку с одного; см. Как отключить определенный PPA ?. Вы можете повторно включить их позже.
Для Как отключить конкретный PPA? , закройте все открытые программы, которые вы можете. Вероятно, безопасно держать ваш веб-браузер открытым, чтобы у вас были ваши инструкции перед вами. Но особенно важно убедиться, что все менеджеры пакетов все . Это включает в себя Центр программного обеспечения, Обновление программного обеспечения (Update Manager в более старых версиях Ubuntu), Synaptic и Gdebi. Он также включает утилиты управления пакетами командной строки, такие как apt-get, dpkg и aptitude.
Обратите внимание, что если другие пользователи одновременно вошли в систему, они должны выйти из системы, если это возможно.
Для шага 4 откройте окно терминала. Один из способов сделать это, независимо от того, какую рабочую среду вы используете, - нажать Ctrl + Alt + T.
Вы отрезали, когда вы отредактировали /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 rm /var/lib/apt/lists/* -vf
sudo apt-get update
См. также:
https://help.ubuntu.com/community/PackageManagerTroubleshootingПроцедура [ ! d2]Я также видел, что эта проблема возникает, когда у вас слишком много источников в ваших репозиториях.
Попробуйте решение, опубликованное выше и / или, возможно, это, что иногда рекомендуется на панели запуска:
sudo mv /var/lib/apt/lists /var/lib/apt/lists-old
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get update
Сообщите нам, как вы это делаете.
У меня была такая же проблема, и я попытался устранить все проблемы, упомянутые в других ответах. Странно, что единственным решением было другое:
Перейти к Software & amp; обновления -> Ubuntu Software -> Загрузить с -> Другое-> Выбрать лучший сервер Подождите испытания. В конце тестов будет выбран лучший сервер, не обязательно ближайший, а не основной сервер или сервер для вашей локали. Теперь перезагрузите данные Repo, он завершится правильно.Я сделал
sudo apt-get clean
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 бежал без проблем.
Кредит отправляется на этот пост.
Следующие шаги 2-5 в «Процедуре устранения неполадок диспетчера пакетов» обычно решают эту проблему.
Для Процедуры устранения неполадок диспетчера пакетов отключите все ваши PPA. Вы можете снять все из них в Software Sources так же, как вы снимите отметку с одного; см. Как отключить определенный PPA ?. Вы можете повторно включить их позже.
Для Как отключить конкретный PPA? , закройте все открытые программы, которые вы можете. Вероятно, безопасно держать ваш веб-браузер открытым, чтобы у вас были ваши инструкции перед вами. Но особенно важно убедиться, что все менеджеры пакетов все . Это включает в себя Центр программного обеспечения, Обновление программного обеспечения (Update Manager в более старых версиях Ubuntu), Synaptic и Gdebi. Он также включает утилиты управления пакетами командной строки, такие как apt-get, dpkg и aptitude.
Обратите внимание, что если другие пользователи одновременно вошли в систему, они должны выйти из системы, если это возможно.
Для шага 4 откройте окно терминала. Один из способов сделать это, независимо от того, какую рабочую среду вы используете, - нажать Ctrl + Alt + T.
Вы отрезали, когда вы отредактировали /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 rm /var/lib/apt/lists/* -vf
sudo apt-get update
См. также:
https://help.ubuntu.com/community/PackageManagerTroubleshootingПроцедура [ ! d2]Я также видел, что эта проблема возникает, когда у вас слишком много источников в ваших репозиториях.
Попробуйте решение, опубликованное выше и / или, возможно, это, что иногда рекомендуется на панели запуска:
sudo mv /var/lib/apt/lists /var/lib/apt/lists-old
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get update
Сообщите нам, как вы это делаете.
У меня была такая же проблема, и я попытался устранить все проблемы, упомянутые в других ответах. Странно, что единственным решением было другое:
Перейти к Software & amp; обновления -> Ubuntu Software -> Загрузить с -> Другое-> Выбрать лучший сервер Подождите испытания. В конце тестов будет выбран лучший сервер, не обязательно ближайший, а не основной сервер или сервер для вашей локали. Теперь перезагрузите данные Repo, он завершится правильно.Я сделал
sudo apt-get clean
sudo apt-get update
, и он сработал.
Откройте терминал и выполните следующие команды по одному за раз:
sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update
См. также:
Я сделал
sudo apt-get clean
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
бежал без проблем.
Я сделал
sudo apt-get clean
sudo apt-get update
, и он работал.
Я сделал
sudo apt-get clean
sudo apt-get update
, и он работал.
Следующие шаги 2-5 в Процедуре устранения неполадок диспетчера пакетов обычно решают эту проблему.
Для шага 2 отключите все ваши PPA. Вы можете снять все из них в Software Sources так же, как вы снимите отметку с одного; см. Как отключить определенный PPA? . Вы можете повторно включить их позже.
Для step 3 закройте все открытые программы, которые вы можете. Вероятно, безопасно держать ваш веб-браузер открытым, чтобы у вас были ваши инструкции перед вами. Но особенно важно убедиться, что все менеджеры пакетов не работают . Это включает в себя Центр программного обеспечения, Обновление программного обеспечения (Update Manager в более старых версиях Ubuntu), Synaptic и Gdebi. Он также включает утилиты управления пакетами командной строки, такие как apt-get
, dpkg
и aptitude
.
Обратите внимание, что если другие пользователи одновременно регистрируются, они должны выйти из системы, если это возможно.
Для шага 4 откройте окно терминала. Один из способов сделать это, независимо от используемой среды рабочего стола, - нажать Ctrl + Alt + T.
Для шага 5 запустите эти команды в окне терминала:
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"' _ '{}' \;
Я скопировал это дословно из PackageManagementTroubleshoootingProcedure 2 марта 2014 года. Эти команды развивались в прошлом, и рекомендуемые команды в этой статье могут быть изменены или расширены снова в будущее. Поэтому вы можете захотеть работать с шага 5 там . (Эта статья, создана / отредактирована на «Сторонники документации по документации Ubuntu» - особенно Марк Рикенберг - лицензирован CC-BY-SA 3.0 , что позволяет включить здесь с надлежащей атрибуцией.)
Некоторые из этих команд пытаются исправить проблему (а также могут отображать диагностическую информацию); другие отображают ценную информацию о проблеме, которую вы можете включить в свой вопрос или иным образом предоставлять кому-то, кто помогает вам. (Или, в зависимости от ваших навыков, может разрешить вы диагностировать и решать его.)
Часто это исправляет, но когда он этого не делает, он часто дает достаточно информации для его исправления .
Вам не нужно вручную вводить эти команды; вы можете их скопировать и вставить. Однако я рекомендую вставлять и запускать каждый отдельно. Это дает более четкое представление о том, из каких команд.