Помилка "не вдалося отримати" виникає під час запуску оновлення apt-get. Як це виправити?


42

На противагу примітці вище, я не знайшов відповіді на свою проблему.

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

sudo apt-get update

на терміналі виникали наступні:

Err http://ph.archive.ubuntu.com precise InRelease
Err 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 InRelease
Err 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... Done
W: 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 рядки із "Канонічним" у ньому, 2 рядки із "Незалежним" у ньому та 2 інші рядки. Я думаю, що список був коротким, оскільки це був щойно встановлений Ubuntu.

Підключення до Інтернету здається прекрасним, і мій друг, ноутбук якого тільки що був встановлений з Ubuntu 12.04 приблизно в той же час, що і мій, здається, не має проблем з його оновленням. Ми поділяємо одне і те ж з’єднання, тому я думаю, що проблеми з підключенням до Інтернету не могли бути причиною помилки.

Спроби рішення :

З тут , я досліджував навколо /etc/resolvconf/resolv.conf.dі додав в /etc/resolvconf/resolv.conf.d/headнаступному:

nameserver 8.8.8.8
nameserver 8.8.4.4

Помилка все ж сталася.

Від сюди і тут , я неодноразово змінювала , який дзеркало сервера використовувати в менеджері оновлень і налаштування джерел програмного забезпечення. Знову помилка все ж сталася.

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

Нарешті, цей сайт пропонує запустити наступне:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
or, 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 restricted
deb-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 restricted
deb-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 universe
deb-src http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise-updates universe
deb-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 multiverse
deb-src http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb-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 multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu precise-security main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted
deb http://archive.ubuntu.com/ubuntu precise-security universe
deb-src http://archive.ubuntu.com/ubuntu precise-security universe
deb http://archive.ubuntu.com/ubuntu precise-security multiverse
deb-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 main
deb-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 OVERWRITTEN
nameserver 127.0.0.1
search 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.1
Address:    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-dnssec
joa       2197  0.0  0.0  13576   928 pts/0    S+   17:10   0:00 grep --color=auto dns

Гаразд, почнемо з нуля. По-перше, чи можете ви скопіювати точний вихід терміналу під час введення sudo apt-get update? Також ви можете включити вихід cat /etc/apt/sources.listі cat /etc/resolv.conf? І ви підтверджуєте, що можете нормально переглядати веб-сайти в Інтернеті?
— Алаа Алі

@Alaa У відповідь на ваш запит я відредагував це питання та опублікував усе, що вам потрібно знати. І так, я міг нормально переглядати веб-сайти в Інтернеті.
— jowabels

0% втрат пакету? Таким чином, ви можете пінг і перегляд, але ви не можете вирішити в apt-отримати оновлення ... хм. Чи є якийсь параметр DNS, який працює лише з apt-get? У будь-якому випадку, ви можете опублікувати перші два рядки з nslookup google.comта опублікувати вихід ps aux | grep dns? Також ви використовуєте статичний IP?
— Алаа Алі

@Alaa Я відредагував питання і розмістив результати. Вихідний сигнал для ps aux | grep dnsповинен бути одним рядком, але я відредагував його, щоб полегшити його перегляд. Спочатку я б сказав, що я використовую динамічний IP, тому що я нічого не заплатив за це, але використовую університетські підключення до Інтернету, тому важко дізнатися, чи є IP, який я використовую, статичний чи динамічний.
— jowabels

@Alaa Я просто перевірив, що використовую динамічний IP-адресу.
— jowabels

Відповіді:


27

Я зіткнувся з тією ж проблемою і подумав, що найпростішим рішенням є скидання джерел /etc/apt/sources.list. Для цього виконайте наступні дії:

  1. Отримайте випуск вашої версії Ubuntu, введіть у консоль:

    lsb_release -r
    
  2. Перейдіть на сторінку http://repogen.simplylinux.ch/, щоб створити новеsources.list

  3. Виберіть країну та випустіть
  4. Позначте перші 12 коробок:

    Усі Ubuntu Brances + Безпека та оновлення

  5. Створіть та скопіюйте свій новий список
  6. Створіть резервну копію старого файлу на source.list.old

    mv /etc/apt/sources.list /etc/apt/sources.list.old
    
  7. Тепер ви можете відкрити vi, щоб зберегти новий список, виконавши:

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

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

  8. G2G, повторіть роботу apt-get update


2
Я вирішив відповісти на це, навіть якщо проблема авторів була вирішена інакше. Його питання - це найвищий результат для багатьох проблем, пов’язаних із пошкодженим файлом source.list (натрапивши на нього 3 рази), і я відчув, що залишив тут своє рішення, оскільки це врятувало б мені багато часу.
— RienNeVaPlus

Я завантажив віртуальну машину ubuntu 12, а репозитів там не було (італійські). Я це зробив і працював як шарм! Дякую!
— Фейда Кіла

Перш ніж вставити текст vim, вам потрібно буде відредагувати режим вставки, натиснувши букву 'я' після її відкриття
— sg

Це те, що працювало для мене.
— Рік

У списку релізів немає 14.10 :(
— JoeTidee

25

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

sudo gedit /etc/resolv.conf

і додайте рядок

nameserver 8.8.8.8

і зберегти. Тоді робіть

ping www.google.com

Якщо це вдається, виконайте наступні команди

sudo apt-get --download-only --reinstall install resolvconf
sudo dpkg --purge --force-depends resolvconf
sudo 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.


5
@guntbert Umm. Ви розмовляєте з автором пакету resoluvconf. Я думаю, що він знає, про що говорить. ;-)
— Кевін Боуен

@jdthood Раніше мені вдалося пінг 8.8.8.8(як зазначено в запитанні), але після додавання рядка nameserver 8.8.8.8він не From nat1.up.edu.ph (10.16.1.2) icmp_seq=1 Destination Host Unreachable
— вирішився,

1
@maggotbrain thx за те, що мені знову допомогли витягнути ногу :-)
— guntbert

1
@guntbert Все добре, чоловіче. Я там був сам. Якщо є проблеми з dns / resolutionconf, jdthood - це той, хто повинен їх вирішити!
— Кевін Боуен

3
Коли я Err http://us.archive.ubuntu.com/ubuntu/ wily/main resolvconf all 1.77ubuntu1 404 Not Found [IP: 91.189.91.23 80] E: Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/r/resolvconf/resolvconf_1.77ubuntu1_all.deb 404 Not Found [IP: 91.189.91.23 80]
— виконую

7

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/)

Ну, не точно так само, але схоже на нього (я скопіював вище звідси ). Але коли я спробував оновити ще раз, це нарешті спрацювало (причиною я розмістив вихідну помилку вище, а не точний вихід, який я бачив), і тепер я можу вибрати інший дзеркальний сервер. Якщо конфігурація мережевих проксі насправді була причиною моїх неприємностей, ну я якось почувався дурним за таку основну помилку.

У будь-якому випадку, дякую всім за допомогу! :)


0

Зробити це

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

Потім зробіть, sudo apt-get updateщоб перевірити, чи працює він.


Ні, sudo apt-get updateвсе ще не працює. Чи потрібно видаляти рядок nameserver 127.0.01чи нормально залишити її там?
— jowabels

Чи намагалися ви це зробити, повернувшись до відповіді jdthood? Так просто переконайтеся , що ви можете свистіти 8.8.8.8, а потім додати рядок nameserver 127.0.0.1до /etc/resolv.conf, вона повинна бути єдиною лінією (після коментарів, звичайно).
— Алаа Алі

Так, я це зробив після ревертування, і з цим не було жодної проблеми ping 8.8.8.8(Звичайно, після ревертування). В основному, це nameserver 127.0.0.1був єдиний рядок, до якого додано /etc/resolv.conf.
— jowabels

Мені просто цікаво, що оригінальний файл / etc / resolutionv.conf` вже містився nameserver 127.0.0.1перед його додаванням. Коли я слідував за вашою відповіддю, відредагований файл тепер містив рядки nameserver 127.0.0.1. Чи є для цього причина?
— jowabels

Команда у моїй відповіді додала рядок nameserver 127.0.0.1незалежно від того, що вже було у файлі. Оригінальний файл (після нового встановлення), швидше за все, повинен містити цей рядок, хоча у висновку, який ви мали у своєму запитанні, такого не було. Але після того, як ви дотримувались останніх команд у відповіді jdthood, я думаю, що файл було скинуто і рядок nameserver 127.0.0.1було додано. Тож коли ви слідували за моєю відповіддю, було додано ще один рядок. У будь-якому випадку, якщо у вас є два рядки, безпечно видалити один з них.
— Алаа Алі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.