คืนค่าที่เก็บ apt เริ่มต้นใน source.list จากบรรทัดคำสั่ง


17

ฉันกำลังมองหาวิธีที่ดีที่สุดในการคืนค่า/etc/apt/sources.listเป็นค่าเริ่มต้นจากบรรทัดคำสั่ง

ไม่มีวิธีในการอ้างอิงซอร์สโค้ดของแพ็คเกจที่สร้างไฟล์นี้หรืออะไรแบบนั้น? ฉันต้องการวิธีการกู้คืนไฟล์นี้ที่เชื่อถือได้และไม่ขึ้นกับรุ่น

แนวทางแก้ไข

ก่อนที่คุณจะทำเครื่องหมายว่าซ้ำซ้อนโปรดทราบว่าฉันได้ตรวจสอบคำถามนี้แล้ว มันใช้ได้เฉพาะเมื่อคุณมี Ubuntu GUI เท่านั้น คำถามนี้เฉพาะกับบรรทัดคำสั่ง

ฉันได้ตรวจสอบคำถามนี้ด้วยเช่นกันว่าวิธีแก้ปัญหาที่ยอมรับคือใครบางคนวางเนื้อหาของsources.listไฟล์ นี่ไม่ใช่วิธีที่เหมาะสมในการกู้คืนไฟล์เนื่องจากความตั้งใจของผู้จัดหาเนื้อหาไฟล์ไม่สามารถตรวจสอบได้และไฟล์อาจมีการเปลี่ยนแปลงด้วยรีลีสใหม่

ฉันตรวจสอบเครื่องกำเนิดไฟฟ้าที่ simplelinux.chแต่นี่ไม่ใช่จาก Ubuntu ดังนั้นฉันจึงไม่ได้วางแผนที่จะใช้

คำตอบ:


20

ฉันไม่แน่ใจว่าคุณต้องการอะไร แต่:

  • ที่เก็บพาเรนต์จะเป็นhttp://archive.ubuntu.com/ubuntu เสมอ - ทุกสิ่งทุกอย่างเป็นสิ่งที่สะท้อนถึงสิ่งนี้ กระจกหลักอื่น ๆ ทั้งหมดที่มีโดเมนของรูปแบบที่สองตัวละครรหัสสั้นเป็นรหัสประเทศโดเมนระดับบนสุด คุณสามารถค้นหากระจกเพิ่มเติมเกี่ยวกับสถานะของพวกเขาที่Launchpad<cctld>.archive.ubuntu.com
  • ชื่อรหัสการแจกจ่ายเป็นส่วนหนึ่งของช่อง (คำที่สาม) คุณสามารถใช้lsb_release -scเพื่อค้นหาสิ่งนั้นและมันเป็นคำแรกของชื่อสวย ๆ ในตัวพิมพ์เล็ก ( trustyสำหรับ Trusty Tahr เป็นต้น)
  • มีช่องทางห้า: <codename>, <codename>-security, <codename>-updates, และ<codename>-backports <codename>-proposedสิ่งแรกคือจำเป็นเพราะมันเป็นพื้นฐานแนะนำอย่างที่สองเนื่องจากมีการแก้ไขความปลอดภัยที่สี่เท่านั้นถ้าคุณต้องการแพคเกจบาง backported จากรุ่นใหม่และที่ห้าเท่านั้นหากนักพัฒนาขอให้คุณเปิดใช้งานสำหรับการทดสอบเป็นไปได้ แก้ไข
  • มีสี่ส่วนพื้นที่เก็บข้อมูลคือ: main, multiverse, universeและrestricted( ความแตกต่างระหว่างลิขสิทธิ์จักรวาลที่ จำกัด และหลัก? )

ดังนั้นคุณสามารถสร้างตู้นิรภัยsources.listที่มีเพียง:

deb http://archive.ubuntu.com/ubuntu <codename> main multiverse universe restricted
deb http://archive.ubuntu.com/ubuntu <codename>-security main multiverse universe restricted

หากคุณต้องการคำสั่งให้ทำสิ่งนี้:

printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' $(lsb_release -sc){,-security} > /etc/apt/sources.list

นอกเหนือจากรายการ Launchpad รายการที่มาจากโปรแกรม Software Sources นั้นมาจาก/usr/share/python-apt/templates/Ubuntu.mirrorsซึ่งมาจากpython-apt-commonแพ็คเกจ แพคเกจนี้เป็นเพียงทางอ้อมชี้ให้เห็นถึงการพึ่งพาของaptดังนั้นจึงอาจไม่ได้รับการติดตั้งโดยเริ่มต้นบนเซิร์ฟเวอร์


นั่นคือสิ่งที่ฉันต้องการชี้แจง ขอขอบคุณ!
Ryan Burnette

คำตอบนี้ได้อย่างสมบูรณ์สำหรับการโพสต์ boths (หนึ่งที่เชื่อมโยงและหนึ่งนี้)
ไบรอันโธมัส

แต่คุณยังคงต้องตรวจสอบความถูกต้องของคำตอบนี้กับเอกสารในเว็บไซต์อูบุนตูด้วยตัวเองเพราะคุณไม่สามารถตรวจสอบความตั้งใจของผู้ที่ให้คำตอบนี้ได้?
Herbert Van-Vliet

7

หากคุณเข้าใจว่าแต่ละบรรทัดหมายถึง/etc/apt/sources.listอะไรคุณสามารถสร้างรายการของคุณเองได้ ตัวอย่างเช่นบรรทัดในของฉันsources.listคือ

deb http://archive.ubuntu.com/ubuntu/ trusty main

มันมี 4 ส่วน:

  • ส่วนที่ 1: ส่วนแรกอยู่debที่นี่ซึ่งหมายความว่าเป็นที่เก็บของแพ็กเกจไบนารีทั้งหมด เฉพาะค่าที่เป็นไปได้อื่น ๆdeb-srcซึ่งหมายถึงที่เก็บของรหัสแหล่งที่มา
  • ส่วนที่ 2: ส่วนนี้มี URI ของที่เก็บ ( http://us.archive.ubuntu.com/ubuntu/ในกรณีนี้) URI ที่สามารถแตกต่างกันสำหรับกระจกเช่นถ้าคุณต้องการที่จะใช้กระจกสหรัฐอย่างเป็นทางการแล้ว URI จะhttp://us.archive.ubuntu.com/ubuntu/
  • ส่วนที่ 3: มันมีชื่อรหัส (และชื่อช่องทาง) ของรุ่นที่คุณกำลังใช้ในกรณีนี้trustyซึ่งเป็นชื่อรหัสของรุ่น Ubuntu ของฉัน (14.04 LTS) lsb_release -scคุณสามารถค้นหาของคุณโดย ตัวอย่างเช่นหากคุณใช้ 12.04 ชื่อรหัสจะเป็น "แม่นยำ" ตอนนี้จะประกาศช่องทางอื่น ๆ trusty-securityเช่นการประกาศช่องการรักษาความปลอดภัยที่คุณจำเป็นต้องใช้

  • ส่วนที่ 4: ส่วนนี้มี "ชื่อส่วน" ของที่เก็บ โดยปกติจะมี 4 ชื่อส่วนที่ใช้: main, restricted, ,universe multiverseคุณสามารถใส่ชื่อส่วนทั้งหมดในบรรทัดเดียวกันของการประกาศพื้นที่เก็บข้อมูลหรือคุณสามารถใช้บรรทัดที่แตกต่างกันสำหรับแต่ละส่วน แต่จะต้องไม่มีรายการที่ซ้ำกัน หากคุณอ่าน/etc/apt/sources.listแล้วคุณจะเห็นคำอธิบายของแพ็คเกจแต่ละส่วนเหล่านี้มี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.