Помилка "не вдалося отримати" виникає під час запуску оновлення 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.