Kesalahan “gagal mengambil” terjadi ketika pembaruan apt-get dijalankan. Bagaimana cara saya memperbaikinya?

42

Bertentangan dengan catatan di atas, saya belum menemukan jawaban untuk masalah saya.

Saya telah membaca hampir selusin pertanyaan pembaruan apt-get, kebanyakan dari askubuntu.com, dengan kesalahan "gagal mengambil" dan mencoba solusi yang dijawab di sana. Sayangnya, tidak ada yang berhasil. Saya baru saja menginstal Ubuntu 12.04 di laptop saya, dual boot dengan Windows 7. Ketika saya mencoba

sudo apt-get update

di terminal, hal-hal berikut terus terjadi:

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.

Catatan :

Ini terjadi segera setelah saya menginstal Ubuntu 12.04. Saya sangat baru di dunia Linux / Ubuntu dan noob ketika datang untuk hal semacam ini.

Daftar Sumber dalam pengaturan Manajer Pembaruan (dan Pusat Perangkat Lunak) pendek. Itu hanya berisi 2 baris dengan "Canonical" di dalamnya, 2 baris dengan "Independent" di dalamnya, dan 2 baris lainnya. Saya pikir daftarnya pendek karena itu adalah Ubuntu yang baru diinstal.

Koneksi ke internet tampaknya baik-baik saja dan teman saya yang laptopnya baru saja diinstal dengan Ubuntu 12,04 pada waktu yang sama dengan saya, tampaknya tidak memiliki masalah dengan pembaruannya. Kami berbagi koneksi yang sama jadi saya pikir masalah koneksi internet tidak mungkin menjadi alasan kesalahan.

Solusi yang Diupayakan :

Dari sini , saya menjelajahi sekitar /etc/resolvconf/resolv.conf.ddan menambahkan /etc/resolvconf/resolv.conf.d/headyang berikut:

nameserver 8.8.8.8
nameserver 8.8.4.4

Kesalahan masih terjadi.

Dari sini dan di sini , saya berulang kali mengubah server Mirror mana yang akan digunakan dalam pengaturan Pembaruan manajer dan sumber Perangkat Lunak. Sekali lagi, kesalahan masih terjadi.

Saya juga mencoba mengedit daftar sumber saya, menghapus centang pada baris dengan "independen" di atasnya (seperti yang disarankan). Menurut di sini , saya mencoba menghapus derb-srcgaris dalam daftar sumber. Namun, tidak berhasil.

Terakhir, situs ini menyarankan untuk menjalankan yang berikut ini:

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

Sayangnya, tidak ada yang berhasil untuk saya. Di semua forum yang pernah saya kunjungi, jawaban yang berkaitan nameserver 8.8.8.8sepertinya paling sering muncul. Perhatikan juga bahwa saya benar-benar tidak mengerti solusi, apa artinya atau bagaimana mereka melakukannya. Saya hanya mengikuti mereka.

Ini adalah output untuk 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

Dan berikut ini untuk 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

Telah ditunjukkan bahwa jawabannya ada di sini tetapi sayangnya itu tidak berhasil. Saya mencoba memilih server yang berbeda tetapi "pilih server" tidak pernah tersedia. Mencari server terbaik menghasilkan hasil "Tidak ada server yang cocok". Saya pikir server mirror baik-baik saja dan lagi, sepertinya tidak ada masalah dengan koneksi internet.

Menggunakan ping -c3 archive.ubuntu.comdan ping -c3 8.8.8.8 keduanya dihasilkan 0% packet loss. Ping untuk 8.8.8.8 terkadang menghasilkan 33% packet losstetapi sebagian besar 0%.

Mengetik nslookup google.comhasil

Server:     127.0.0.1
Address:    127.0.0.1#53

Output dari 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
jowayow
sumber
Oke, mari kita mulai dari awal. Pertama, dapatkah Anda menyalin output tepat terminal saat Anda mengetik sudo apt-get update? Juga, dapatkah Anda memasukkan output dari cat /etc/apt/sources.listdan cat /etc/resolv.conf? Dan Anda mengonfirmasi bahwa Anda dapat menjelajahi situs web di internet secara normal?
Alaa Ali
@Alaa Menanggapi pertanyaan Anda, saya telah mengedit pertanyaan dan memposting semua yang perlu Anda ketahui. Dan ya, saya dapat menelusuri situs web di internet secara normal.
jowabels
0% paket loss? Jadi Anda bisa melakukan ping dan menjelajah, tetapi Anda tidak bisa menyelesaikannya dengan pembaruan apt-get ... hmm. Apakah ada semacam pengaturan DNS yang hanya berfungsi dengan apt-get? Bagaimanapun, bisakah Anda memposting dua baris pertama dari nslookup google.com, dan memposting output ps aux | grep dns? Juga, apakah Anda menggunakan IP statis?
Alaa Ali
@Alaa Saya telah mengedit pertanyaan dan memposting hasilnya. Output untuk ps aux | grep dnsseharusnya menjadi satu baris tetapi saya mengeditnya untuk membuatnya lebih mudah dilihat. Awalnya, saya akan mengatakan bahwa saya menggunakan IP dinamis karena saya belum membayar apa-apa untuk itu, tetapi saya menggunakan koneksi internet universitas sehingga sulit untuk mengetahui apakah IP yang saya gunakan statis atau dinamis.
jowabels
@Alaa Saya baru saja memverifikasi bahwa saya menggunakan IP dinamis.
jowabels

Jawaban:

27

Saya menghadapi masalah yang sama dan menemukan solusi termudah adalah mengatur ulang sumber /etc/apt/sources.list. Untuk melakukannya, ikuti langkah-langkah ini:

  1. Dapatkan rilis versi Ubuntu Anda, ketikkan ke konsol:

    lsb_release -r
    
  2. Pergi ke http://repogen.simplylinux.ch/ untuk menghasilkan yang barusources.list

  3. Pilih negara Anda & lepaskan
  4. Centang 12 kotak pertama:

    Semua Brankas Ubuntu + Keamanan & Pembaruan

  5. Buat dan salin daftar baru Anda
  6. Cadangkan file lama ke sources.list.old

    mv /etc/apt/sources.list /etc/apt/sources.list.old
    
  7. Anda sekarang dapat membuka vi untuk menyimpan daftar baru dengan melakukan:

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

    Atau dengan menyalin dan menempel ke terminal Anda, perintah "curl" (termasuk URI unik untuk daftar sumber Anda yang diperbarui) seperti yang disajikan di bawah "Daftar Sumber" pada halaman keluaran repogen.

  8. G2G, coba lagi berjalan apt-get update

RienNeVaPlus
sumber
2
Saya memutuskan untuk menjawab ini, meskipun masalah penulis diselesaikan secara berbeda. Pertanyaannya adalah hasil teratas untuk banyak masalah yang berkaitan dengan file source.list yang rusak (tersandung 3 kali) dan merasa meninggalkan solusi saya di sini, karena itu akan menyelamatkan saya banyak waktu.
RienNeVaPlus
Saya mengunduh mesin virtual ubuntu 12, dan tidak ada repo yang valid (yang italia). Saya melakukan ini dan bekerja seperti pesona! Terima kasih!
Feida Kila
Sebelum menempel vim, Anda harus mengedit mode sisipan dengan menekan huruf 'i' setelah Anda membukanya
sg
Inilah yang bekerja untuk saya.
Rick
Tidak ada 14.10 dalam daftar rilis :(
JoeTidee
25

Edit /etc/resolv.conf. Di jendela Terminal, jalankan

sudo gedit /etc/resolv.conf

dan tambahkan baris

nameserver 8.8.8.8

dan simpan. Lalu lakukan

ping www.google.com

Jika ini berhasil maka jalankan perintah berikut

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

Jika penyelesaian sekarang gagal maka klik kanan pada indikator jaringan di bar di bagian atas desktop, klik Edit Connections, pilih koneksi Anda, Klik Edit| IPv4 Settings. Ubah Metode dari Automatic (DHCP)menjadi Automatic (DHCP) addresses onlydan masukkan 8.8.8.8di Additional DNS serversbidang. Klik Save.... Verifikasi bahwa /etc/resolv.confsekarang berisi garis nameserver 8.8.8.8dan Anda masih bisa ping www.google.com.

jdthood
sumber
5
@ guntbert Umm. Anda sedang berbicara dengan pembuat paket resolvconf. Saya pikir dia tahu apa yang dia bicarakan. ;-)
Kevin Bowen
@ jdthood Sebelumnya, saya bisa melakukan ping 8.8.8.8(seperti yang dinyatakan dalam pertanyaan) tetapi setelah menambahkan baris nameserver 8.8.8.8, itu tidak menyelesaikan dan baris ini munculFrom nat1.up.edu.ph (10.16.1.2) icmp_seq=1 Destination Host Unreachable
jowabels
1
@maggotbrain thx untuk membantu saya menarik kaki saya keluar lagi dari mulut saya :-)
guntbert
1
@ Guntbert Semuanya baik, teman. Pernah ke sana, sendiri. Jika ada masalah dns / resolveconf, jdthood adalah orang yang harus menyelesaikannya!
Kevin Bowen
3
Ketika saya mengikuti langkah-langkah ini, saya mendapatkan kesalahan ini setelah saya menjalankan perintah pertama: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]
MadPhysicist
7

sudo apt-get updateakhirnya berhasil! Saya baru menyadari bahwa masalahnya bukan pada sistem tetapi bagaimana sistem menghubungkan dan mengambil data dari internet. Aku hanya dikonfigurasi pengaturan jaringan saya dan mengubah deteksi proxy untuk Manualdan mengisi HTTP, HTTPS, FTP, dan Socks Hostkosong proxy yang saya gunakan. Ketika saya memperbarui lagi, output kesalahan ini terjadi pada awalnya:

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

Yah, tidak persis suka sama tetapi mirip dengannya (saya salin di atas dari sini ). Tetapi ketika saya mencoba memperbarui lagi, akhirnya berhasil (alasan saya memposting output kesalahan di atas dan bukan output tepat yang saya lihat) dan sekarang saya dapat memilih server mirror yang berbeda. Jika konfigurasi proxy Jaringan benar-benar alasan kesengsaraan saya, well, saya agak merasa bodoh untuk kesalahan mendasar seperti itu.

Bagaimanapun, terima kasih semuanya atas bantuan Anda! :)

jowayow
sumber
0

Melakukan hal ini

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

Kemudian lakukan sudo apt-get updateuntuk melihat apakah itu berfungsi.

Alaa Ali
sumber
Tidak, sudo apt-get updatemasih tidak berfungsi. Apakah saya harus menghapus garis nameserver 127.0.01atau tidak apa-apa untuk meninggalkannya di sana?
jowabels
Apakah Anda mencoba melakukan ini setelah kembali dari jawaban jdthood? Jadi pastikan bahwa Anda bisa ping 8.8.8.8, kemudian tambahkan baris nameserver 127.0.0.1untuk /etc/resolv.conf, itu harus menjadi satu-satunya line (setelah komentar tentu saja).
Alaa Ali
Ya, saya melakukan ini setelah kembali dan tidak ada masalah dengan ping 8.8.8.8(Tentu saja, setelah kembali). Pada dasarnya, nameserver 127.0.0.1adalah satu-satunya baris yang ditambahkan /etc/resolv.conf.
jowabels
Saya hanya ingin tahu, file asli / etc / resolv.conf` sudah berisi nameserver 127.0.0.1sebelum menambahkannya. Ketika saya mengikuti jawaban Anda, file yang diedit sekarang berisi baris nameserver 127.0.0.1. Apakah ada alasan untuk ini?
jowabels
Perintah dalam jawaban saya menambahkan baris nameserver 127.0.0.1terlepas dari apa pun yang sudah ada dalam file. File asli (setelah segar instalasi) harus paling mungkin mengandung baris yang sudah, meskipun output yang Anda miliki di pertanyaan Anda tidak memiliki itu. Tapi, setelah Anda mengikuti perintah terakhir dalam jawaban jdthood, saya pikir file telah direset dan baris nameserver 127.0.0.1telah ditambahkan. Jadi, ketika Anda mengikuti jawaban saya, baris lain ditambahkan. Ngomong-ngomong, jika Anda memiliki dua garis, aman untuk menghapus salah satunya.
Alaa Ali