ข้อผิดพลาด“ ไม่สามารถดึงข้อมูล” เกิดขึ้นเมื่อรัน apt-get update ฉันจะแก้ไขได้อย่างไร


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 และ noob เมื่อพูดถึงสิ่งเหล่านี้

รายการแหล่งข้อมูลในการตั้งค่า Update Manager (และศูนย์ซอฟต์แวร์) นั้นสั้น มีเพียง 2 บรรทัดที่มี "Canonical" อยู่ในนั้น 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 lossping ที่ 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 Ali

@Alaa เพื่อตอบคำถามของคุณฉันได้แก้ไขคำถามและโพสต์ทุกสิ่งที่คุณจำเป็นต้องรู้ และใช่ฉันสามารถท่องเว็บไซต์บนอินเทอร์เน็ตได้ตามปกติ
jowabels

แพ็กเก็ตสูญเสีย 0% ดังนั้นคุณสามารถ ping และค้นหา แต่คุณไม่สามารถแก้ไขในการปรับปรุง apt-get ... hmm มีการตั้งค่า DNS บางประเภทที่ใช้ได้กับ apt-get หรือไม่ อย่างไรก็ตามคุณสามารถโพสต์สองบรรทัดแรกจากnslookup google.comและโพสต์ผลลัพธ์ได้ps aux | grep dnsหรือไม่ นอกจากนี้คุณใช้ IP แบบคงที่หรือไม่?
Alaa Ali

@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. สำรองไฟล์เก่าไปยังsources.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 ที่ไม่ซ้ำกันสำหรับรายการแหล่งข้อมูลที่อัปเดตของคุณ) ตามที่ปรากฏภายใต้ "รายการแหล่งที่มา" ในหน้าผลลัพธ์ repogen

  8. G2G ลองอีกครั้ง apt-get update


2
ฉันตัดสินใจที่จะตอบคำถามนี้แม้ว่าปัญหาของผู้เขียนจะได้รับการแก้ไขแตกต่างกัน คำถามของเขาคือผลลัพธ์อันดับต้น ๆ ของปัญหามากมายที่เกี่ยวข้องกับไฟล์ source.list ที่เสียหาย (สะดุดเมื่อ 3 ครั้ง) และรู้สึกว่าจะออกจากโซลูชันของฉันที่นี่เนื่องจากมันจะช่วยให้ฉันประหยัดเวลาได้มาก
RienNeVaPlus

ฉันดาวน์โหลด ubuntu 12 เครื่องเสมือนและไม่มี repos ที่ถูกต้อง (ภาษาอิตาลี) ฉันทำสิ่งนี้และทำงานเหมือนมีเสน่ห์! ขอบคุณ!
Feida Kila

ก่อนที่จะวางในvimคุณจะต้องแก้ไขโหมดแทรกโดยกดปุ่ม 'i' หลังจากเปิด
sg

นี่คือสิ่งที่ได้ผลสำหรับฉัน
Rick

ไม่มี 14.10 ในรายการเผยแพร่ :(
JoeTidee

25

/etc/resolv.confแก้ไข ในหน้าต่าง Terminal ทำงาน

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.8ping www.google.com


5
@guntbert Umm คุณกำลังพูดคุยกับผู้แต่งของแพคเกจ resolvconf ฉันคิดว่าเขารู้ว่าเขากำลังพูดถึงอะไร ;-)
Kevin Bowen

@ jdthood ก่อนหน้านี้ฉันสามารถ ping 8.8.8.8(ตามที่ระบุไว้ในคำถาม) แต่หลังจากเพิ่มบรรทัดnameserver 8.8.8.8มันไม่ได้แก้ไขและบรรทัดนี้ปรากฏขึ้นFrom nat1.up.edu.ph (10.16.1.2) icmp_seq=1 Destination Host Unreachable
jowabels

1
@maggotbrain ขอบคุณที่ช่วยฉันดึงเท้าออกจากปากของฉันอีกครั้ง :-)
guntbert

1
@guntbert มันเป็นเรื่องที่ดีผู้ชาย เคยไปที่นั่นด้วยตัวเอง หากมีปัญหา dns / resolconf ใด ๆ jdthood เป็นคนข้ามไปเพื่อแก้ไขปัญหาเหล่านั้น!
Kevin Bowen

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]
MadPhysicist

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เพื่อดูว่ามันใช้งานได้หรือไม่


Nope, sudo apt-get updateยังไม่ทำงาน ฉันต้องลบบรรทัดnameserver 127.0.01หรือไม่
jowabels

คุณพยายามทำสิ่งนี้หลังจากคืนค่าคำตอบของ jdthood หรือไม่? ดังนั้นให้แน่ใจว่าคุณสามารถ ping 8.8.8.8 จากนั้นเพิ่มบรรทัดnameserver 127.0.0.1ลงไป/etc/resolv.confมันจะต้องเป็นบรรทัดเดียว (หลังจากความคิดเห็นของหลักสูตร)
Alaa Ali

ใช่ฉันทำสิ่งนี้หลังจากคืนค่าและไม่มีปัญหากับping 8.8.8.8(แน่นอนหลังจากเปลี่ยนกลับ) โดยทั่วไปได้รับการเพิ่มเพียงบรรทัดnameserver 127.0.0.1 /etc/resolv.conf
jowabels

ฉันเพิ่งสงสัยว่าไฟล์ต้นฉบับ / etc / resolv.conf` มีอยู่แล้วnameserver 127.0.0.1ก่อนที่จะเพิ่ม nameserver 127.0.0.1เมื่อผมทำตามคำตอบของคุณไฟล์ที่แก้ไขในขณะนี้มีสายของ มีเหตุผลสำหรับสิ่งนี้หรือไม่?
jowabels

คำสั่งในคำตอบของฉันเพิ่มบรรทัดnameserver 127.0.0.1โดยไม่คำนึงถึงสิ่งที่มีอยู่แล้วในไฟล์ ไฟล์ต้นฉบับ (หลังจากติดตั้งสด) ควรจะมีโอกาสมากที่สุดประกอบด้วยสายที่มีอยู่แล้วถึงแม้ว่าการส่งออกที่คุณมีในคำถามของคุณไม่ได้มีว่า แต่หลังจากที่คุณทำตามคำสั่งสุดท้ายในคำตอบของ jdthood ฉันคิดว่าไฟล์ถูกรีเซ็ตและnameserver 127.0.0.1เพิ่มบรรทัด ดังนั้นเมื่อคุณทำตามคำตอบของฉันแล้วจะมีการเพิ่มบรรทัดอื่น อย่างไรก็ตามถ้าคุณมีสองบรรทัดก็ปลอดภัยที่จะลบหนึ่งในนั้น
Alaa Ali
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.