При запуске apt-get update возникает ошибка "не удалось выполнить выборку". Как мне это исправить?

Вопреки приведенному выше примечанию, я не нашел ответа на свою проблему.

Я прочитал почти дюжину вопросов об обновлении apt-get, большинство из которых askubuntu.com , с ошибками "не удалось извлечь" и попробовал решения, на которые там были даны ответы. К сожалению, ни один из них не сработал. Я совсем недавно установил Ubuntu 12.04 на свой ноутбук, дважды загрузив его вместе с Windows 7. Когда я пытался

sudo apt-get update

на терминале продолжало происходить следующее:

Err http://ph.archive.ubuntu.com precise InReleaseErr http://ph.archive.ubuntu.com precise-updates InRelease                     Err http://ph.archive.ubuntu.com precise-backports InRelease                   Err http://ph.archive.ubuntu.com precise Release.gpg                             Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]Err http://ph.archive.ubuntu.com precise-updates Release.gpg              Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]Err http://ph.archive.ubuntu.com precise-backports Release.gpg            Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]Err http://extras.ubuntu.com precise InRelease                          Err http://extras.ubuntu.com precise Release.gpg                          Unable to connect to extras.ubuntu.com:http:Err http://security.ubuntu.com precise-security InReleaseErr http://security.ubuntu.com precise-security Release.gpg  Unable to connect to security.ubuntu.com:http: [IP: 91.189.92.190 80]Reading package lists... DoneW: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise/InRelease  W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-updates/InRelease  W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-backports/InRelease  W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/InRelease  W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/InRelease  W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise/Release.gpg      Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-updates/Release.gpg  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-backports/Release.gpg  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/Release.gpg  Unable to connect to extras.ubuntu.com:http:W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/Release.gpg  Unable to connect to security.ubuntu.com:http: [IP: 91.189.92.190 80]W: Some index files failed to download. They have been ignored, or old ones used instead.

Примечание:

Это произошло сразу после того, как я установил Ubuntu 12.04. Я очень новичок в мире Linux / Ubuntu и новичок, когда дело доходит до подобных вещей.

Список источников в настройках Диспетчера обновлений (и Центра программного обеспечения) был коротким. Он содержал только 2 строки с надписью "Canonical", 2 строки с надписью "Independent" и 2 другие строки. Я думаю, что список был коротким, потому что это была свежеустановленная Ubuntu.

Подключение к Интернету кажется нормальным, и у моего друга, чей ноутбук только что был установлен с Ubuntu 12.04 примерно в то же время, что и у меня, похоже, нет проблем с его обновлением. У нас одно и то же соединение, поэтому я думаю, что проблемы с подключением к Интернету не могли быть причиной ошибки.

Попытки Решения:

От здесь, Я исследовал все вокруг /etc/resolvconf/resolv.conf.d и добавил в /etc/resolvconf/resolv.conf.d/head следующий:

nameserver 8.8.8.8nameserver 8.8.4.4

Ошибка все еще происходила.

От здесь и здесь, Я неоднократно менял, какой зеркальный сервер использовать в настройках диспетчера обновлений и источников программного обеспечения. Опять же, ошибка все еще происходила.

Я также попытался отредактировать свой список источников, сняв галочки с строк с надписью "независимый" (как было предложено). Согласно с здесь, Я попытался удалить derb-src строки в списке источников. И все же безрезультатно.

Наконец, этот сайт предлагает выполнить следующее:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/nullor, for a permanent solution,echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

К сожалению, у меня ничего не получалось. На всех форумах, на которых я был, ответ касался nameserver 8.8.8.8 кажется, это происходит чаще всего. Обратите также внимание, что я действительно не понимал решений, что они означают и как они выполняются. Я просто последовал за ними.

Это результат для cat /etc/apt/sources.list:

# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/main/binary-i386/# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/restricted/binary-i386/# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ precise main restricted# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to# newer versions of the distribution.deb http://archive.ubuntu.com/ubuntu precise main restricteddeb-src http://archive.ubuntu.com/ubuntu precise main restricted## Major bug fix updates produced after the final release of the## distribution.deb http://archive.ubuntu.com/ubuntu precise-updates main restricteddeb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu## team. Also, please note that software in universe WILL NOT receive any## review or updates from the Ubuntu security team.deb http://archive.ubuntu.com/ubuntu precise universedeb-src http://archive.ubuntu.com/ubuntu precise universedeb http://archive.ubuntu.com/ubuntu precise-updates universedeb-src http://archive.ubuntu.com/ubuntu precise-updates universe## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu## security team.deb http://archive.ubuntu.com/ubuntu precise multiversedeb-src http://archive.ubuntu.com/ubuntu precise multiversedeb http://archive.ubuntu.com/ubuntu precise-updates multiversedeb-src http://archive.ubuntu.com/ubuntu precise-updates multiverse## N.B. software from this repository may not have been tested as## extensively as that contained in the main release, although it includes## newer versions of some applications which may provide useful features.## Also, please note that software in backports WILL NOT receive any review## or updates from the Ubuntu security team.deb http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiversedeb-src http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiversedeb http://archive.ubuntu.com/ubuntu precise-security main restricteddeb-src http://archive.ubuntu.com/ubuntu precise-security main restricteddeb http://archive.ubuntu.com/ubuntu precise-security universedeb-src http://archive.ubuntu.com/ubuntu precise-security universedeb http://archive.ubuntu.com/ubuntu precise-security multiversedeb-src http://archive.ubuntu.com/ubuntu precise-security multiverse## Uncomment the following two lines to add software from Canonical's## 'partner' repository.## This software is not part of Ubuntu, but is offered by Canonical and the## respective vendors as a service to Ubuntu users.# deb http://archive.canonical.com/ubuntu precise partner# deb-src http://archive.canonical.com/ubuntu precise partner## This software is not part of Ubuntu, but is offered by third-party## developers who want to ship their latest software.deb http://extras.ubuntu.com/ubuntu precise maindeb-src http://extras.ubuntu.com/ubuntu precise main

И следующее предназначено для cat /etc/resolv.conf:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1search nip.upd.edu.ph

Было указано, что ответ заключается в здесь но, к сожалению, это тоже не сработало. Я пробовал выбирать разные серверы, но кнопка "выбрать сервер" так и не была доступна. Поиск лучшего сервера дал результат "Нет подходящего сервера". Я думаю, что зеркальные серверы в порядке, и опять же, похоже, нет никаких проблем с подключением к Интернету.

С помощью ping -c3 archive.ubuntu.com и ping -c3 8.8.8.8 оба уступили 0% packet loss. Пинг для 8.8.8.8 иногда выдавал 33% packet loss но в основном 0%.

Печатание nslookup google.com доходность

Server:     127.0.0.1Address:    127.0.0.1#53

Выход из ps aux | grep dns:

nobody    1761  0.0  0.0  33012  1284 ?        S    17:04   0:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/sendsigs.omit.d/network-manager.dnsmasq.pid --listen-address=127.0.0.1 --conf-file=/var/run/nm-dns-dnsmasq.conf --cache-size=0 --proxy-dnssecjoa       2197  0.0  0.0  13576   928 pts/0    S+   17:10   0:00 grep --color=auto dns

Редактировать /etc/resolv.conf. В окне терминала запустите

sudo gedit /etc/resolv.conf

и добавьте строку

nameserver 8.8.8.8

и сохранить. Затем сделайте

ping www.google.com

Если это удастся, выполните следующие команды

sudo apt-get --download-only --reinstall install resolvconfsudo dpkg --purge --force-depends resolvconfsudo apt-get install resolvconf

Если разрешить сейчас неудачи затем щелкните правой кнопкой мыши на индикаторе сети в панели в верхней части рабочего стола, нажмите Edit Connections, выберите свое подключение, нажмите Edit | IPv4 Settings. Измените метод с Automatic (DHCP) к Automatic (DHCP) addresses only и войти 8.8.8.8 в Additional DNS servers поле. Щелчок Save.... Убедитесь, что /etc/resolv.conf теперь содержит строку nameserver 8.8.8.8 и что вы все еще можете ping www.google.com.

Я столкнулся с той же проблемой и решил, что самое простое решение - сбросить источники /etc/apt/sources.list. Для этого выполните следующие действия:

  1. Получите выпуск вашей версии Ubuntu, введите в консоль:

    lsb_release -r
  2. Идти к http://repogen.simplylinux.ch/ для создания нового sources.list

  3. Выберите свой страна & освобождать
  4. Установите первые 12 флажков:

    All Ubuntu Brances + Security & Updates

  5. Создайте и скопируйте свой новый список
  6. Создайте резервную копию старого файла в источники.список.старые

    mv /etc/apt/sources.list /etc/apt/sources.list.old
  7. Теперь вы можете либо открыть vi, чтобы сохранить новый список, выполнив:

    vi /etc/apt/sources.list(Paste and save using `:wq`)

    Или скопировав и вставив в свой терминал команду "curl" (включая уникальный URI для вашего обновленного списка источников), как она представлена в разделе "Список источников" на странице вывода repogen.

  8. G2G, повторите попытку запуска apt-get update

sudo apt-get update наконец-то сработало! Я только что понял, что проблема была не в системе, а в том, как система подключается и извлекает данные из Интернета. Я только что настроил свои сетевые настройки и изменил обнаружение прокси на Manual и заполнил HTTP, HTTPS, FTP, и Socks Host пропускает прокси-сервер, который я использую. Когда я обновился снова, сначала произошел этот вывод ошибки:

E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/)

Ну, не совсем такой же, но похожий на него (я скопировал выше с здесь). Но когда я снова попытался обновить, это, наконец, сработало (причина, по которой я опубликовал вывод об ошибке выше, а не точный вывод, который я видел), и теперь я могу выбрать другой зеркальный сервер. Если конфигурация сетевого прокси-сервера действительно была причиной моих бед, что ж, я вроде как чувствовал себя глупо из-за такой элементарной ошибки.

В любом случае, спасибо всем за вашу помощь! :)

Сделай это

sudo bash -c 'echo "nameserver 127.0.0.1" >> /etc/resolv.conf'

Затем сделайте sudo apt-get update чтобы посмотреть, работает ли это.

Хорошо, давайте просто начнем с нуля. Во-первых, можете ли вы скопировать точный вывод терминала при вводе “sudo apt-get update”? Кроме того, можете ли вы включить выходные данные cat /etc/apt/sources.list и cat /etc/resolv.conf? И вы подтверждаете, что можете нормально просматривать веб-сайты в Интернете?

@Alaa В ответ на ваш запрос я отредактировал вопрос и опубликовал все, что вам нужно было знать. И да, я мог нормально просматривать веб-сайты в Интернете.

потеря пакетов 0%? Таким образом, вы можете пинговать и просматривать, но вы не можете разрешить в apt-get updates … хм. Есть ли какая-то настройка DNS, которая работает только с apt-get? В любом случае, не могли бы вы опубликовать первые две строки из nslookup google.com , и опубликовать вывод ps aux | grep dns? Кроме того, используете ли вы статический IP-адрес?

@ Alaa Я отредактировал вопрос и опубликовал результаты. Предполагается, что вывод для “ps aux | grep dns” должен состоять из одной строки, но я отредактировал его, чтобы упростить просмотр. Изначально я бы сказал, что использую динамический IP, потому что я ничего за него не платил, но я использую университетские интернет-соединения, поэтому трудно понять, является ли используемый мной IP статическим или динамическим.

@Alaa Я только что подтвердил, что использую динамический IP-адрес.

Хорошо, попробуйте то, что я опубликовал в своем ответе.

Подожди! Вы только что отредактировали свой пост! Ошибка, которую вы получаете сейчас, - “Не удается подключиться к ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]”, а не предыдущее “Не удалось разрешить”, что означает, что поиск DNS работает! Ты все еще можешь пинговать google.com ? Теперь попробуйте переключиться на другое зеркало.

Я также отредактировал выходные данные для /etc/resolv.conf и etc/apt/sources.list. Да, я все еще могу пинговать Google с “потерей пакетов 0%”, но все еще не могу найти подходящий сервер загрузки. Переход на главный сервер тоже не помог.

У меня такое чувство, что все это потому, что ты учишься в университете (верно?). Есть ли у них какое-то доверенное лицо?

Именно это! Большое спасибо за вашу помощь. Наконец-то это сработало. :slight_smile: