ทำไม apt ไม่สามารถค้นหาซอร์สโค้ดของแพ็คเกจใด ๆ ได้?


8

ฉันกำลังพยายามดาวน์โหลดซอร์สโค้ดของแพคเกจบางอย่างเช่น rhythmbox เพื่อวัตถุประสงค์ในการเรียนรู้ ฉันต้องการทำสิ่งนี้ผ่านapt-getด้วยapt-get sourceคำสั่ง

ด้วยเหตุผลบางอย่างapt-getดูเหมือนจะไม่พบแพ็คเกจใด ๆ ฉันได้ลองหลายแพ็คเกจแล้วและฉันจะได้รับผลลัพธ์นี้จาก apt-get:

$ apt-get source rhythmbox
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to find a source package for rhythmbox

ฉันค้นหาคำตอบมาระยะหนึ่งแล้ว แต่ไม่พบใครที่มีปัญหาเดียวกัน apt-getทำงานได้ดีกับการติดตั้งและอัปเดตดังนั้นจึงใช้apt-getงานได้ดีในความคิดของฉัน ในระหว่างการค้นหาฉันได้เรียนรู้ด้วยว่าฉันต้องเปิดใช้งาน 'คลังเก็บซอร์สโค้ด' ใน Software Sources ดังนั้นจึงเปิดใช้งานเช่นกัน

ฉันตระหนักถึงความจริงที่ว่า (อาจจะมีเฉพาะสำหรับแพ็คเกจบางชุดเท่านั้นไม่แน่ใจ) ซอร์สแพ็กเกจสามารถดาวน์โหลดได้ด้วยbzrจาก Launchpad แต่ฉันต้องการทราบว่าทำไมวิธีนี้จึงใช้ไม่ได้


คำตอบ:


7

เปิดศูนย์ซอฟต์แวร์และเลือกแก้ไข -> แหล่งซอฟต์แวร์ คุณใช้เซิร์ฟเวอร์ตัวไหน ฉันใช้ "เซิร์ฟเวอร์และสหรัฐอเมริกา" และเพิ่งดาวน์โหลดแหล่งข้อมูลสำหรับ rhythmbox ก็ใช้ได้ ฉันแม่นยำ


ขอบคุณสำหรับคำตอบ! ฉันกลับกลายเป็นว่าฉันใช้เซิร์ฟเวอร์ผิด ฉันใช้เซิร์ฟเวอร์จากเนเธอร์แลนด์ เปลี่ยนมาที่สหรัฐอเมริกาแล้วตอนนี้ได้ผล! :) ขอบคุณมาก!
Muurverf

ฉันยังไม่ได้ลองเลย ... BTW จะเก็บซอร์สโค้ดไว้ในเครื่องที่ไหน ... หรือมันจะปรากฏในไดเรกทอรีที่คุณรันคำสั่ง?
juggernauthk108

ในไดเรกทอรีที่คุณเรียกใช้คำสั่งในขณะที่ฉันจำไม่ได้
GaryBishop

6

apt-get source rhythmbox ใช้งานได้เฉพาะเมื่อคุณเปิดแหล่งเก็บข้อมูลอัพเดตรายการแพ็กเกจของคุณและคุณมีที่เก็บข้อมูลนั้นในแหล่งที่มาของคุณ

ตัวอย่างเช่นหากคุณติดตั้งการติดตั้ง Ubuntu ปกติและไม่ได้เพิ่ม repos ใด ๆ จากนั้นทั้งหมดที่คุณต้องทำคือให้แน่ใจว่า "ซอร์สโค้ด" มีการตรวจสอบโดยมัน หากคุณเพิ่ม repos เพิ่มเติมคุณต้องมีสองรายการสำหรับแต่ละ repo หนึ่งรายการสำหรับ "หลัก" (ปกติ) และอีกรายการสำหรับ "แหล่งข้อมูล"

ในกรณีที่คุณยังไม่ได้ เรียกใช้apt-get updateอีกครั้งเพื่อรับ repos ใหม่ทั้งหมด

ตอนนี้ apt-get source ติดตั้ง source สำหรับแพ็คเกจที่คุณติดตั้ง ซึ่งหมายความว่าหากคุณติดตั้ง deb จาก some-odd-ppa (หลัก) ดังนั้นแหล่งที่มาจะต้องอยู่ใน some-odd-ppa (แหล่งที่มา) แพคเกจที่ติดตั้งจาก some-odd-ppa จะไม่ดึงแหล่งที่มาจากที่เก็บอื่น ๆ เพราะไม่ใช่รุ่นเดียวกัน

ฉันได้ตรวจสอบแล้วและ rhythmbox พร้อมใช้งานผ่านแหล่งเก็บข้อมูลต้นฉบับ คุณยังไม่ได้รวมแหล่งเก็บข้อมูลที่ถูกต้องใน repos apt ของคุณหรือคุณยังไม่ได้เรียกใช้ apt-get update


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