สามารถเพิ่มที่เก็บ ppa ใน /etc/apt/source.list ได้หรือไม่?


12

โดยsudo add-apt-repository '<deb url codename component>'ที่เก็บถูกเพิ่มไปยังไฟล์ /etc/apt/source.list

โดยsudo add-apt-repository ppa:<user>/<ppa-name>ฉันเห็นว่าที่เก็บ ppa ทั้งหมดถูกเพิ่มไปยัง /etc/apt/source.list.d dir:

$ ls /etc/apt/sources.list.d/
ferramroberto-sopcast-precise.list
ferramroberto-sopcast-precise.list.save
google-talkplugin.list
google-talkplugin.list.save
kalakris-okular-precise.list
kalakris-okular-precise.list.save
linrunner-thinkpad-extras-precise.list
linrunner-thinkpad-extras-precise.list.save
precise-partner.list
precise-partner.list.save
staticfloat-julia-deps-precise.list
staticfloat-juliareleases-precise.list
staticfloat-juliareleases-precise.list.save
telepathy-ppa-precise.list
telepathy-ppa-precise.list.save
ubuntu-wine-ppa-precise.list
ubuntu-wine-ppa-precise.list.save
venerix-blug-precise.list
venerix-blug-precise.list.save
  1. สามารถเพิ่มที่เก็บ ppa ไปยังท้ายไฟล์ /etc/apt/source.list แทนได้หรือไม่?

  2. เหตุใดที่เก็บข้อมูล ppa จึงได้รับการปฏิบัติแตกต่างจากรายการที่ไม่ใช่ ppa

  3. มีที่เก็บข้อมูลที่ไม่ใช่ ppa อื่น ๆ ที่ได้รับการปฏิบัติเช่นเดียวกันกับ ppa หรือไม่

  4. จะ sudo add-apt-repository '<deb url codename component>'เพิ่มที่เก็บ ppa ไปยัง /etc/apt/source.list หรือในบางไฟล์ภายใต้ /etc/apt/source.list.d?

คำตอบ:


11
  1. ใช่ PPA สามารถเพิ่มเข้าไป/etc/apt/source.listได้ในลักษณะเดียวกันกับที่เก็บ debian (deb)

    deb http://ppa.launchpad.net/<ppa-name>/ppa/ubuntu <release-code-name> main 
    deb-src http://ppa.launchpad.net/<ppa-name>/ppa/ubuntu <release-code-name> main
    

    ตัวอย่างสำหรับ WineHq: ลิงก์ที่เก็บ ppa debian

  2. คิดว่าแค่เรื่องของการจัดการสิ่งต่าง ๆ ได้อย่างง่ายดายจัดการทิ้งไว้/etc/apt/source.listเพียงเพื่อเก็บข้อมูลอย่างเป็นทางการ /etc/apt/source.list.d/เก็บเพิ่มเติมทั้งหมดไปที่ ง่ายที่จะ:

    1. เพิ่ม (การสร้างไฟล์จากนั้นแก้ไขไฟล์ที่มีอยู่ซึ่งเป็นโซลูชันบางส่วนเพื่อหลีกเลี่ยงการซ้ำซ้อน)
    2. ลบ (ด้วยการแยกวิเคราะห์การ/etc/apt/source.listค้นหาบรรทัดที่เกี่ยวข้อง)
    3. สำรอง / กู้คืน (ใช้การบีบอัดไฟล์เก็บถาวรของ/etc/apt/source.list.d/โฟลเดอร์)
    4. หลีกเลี่ยงการทำลายสิ่งต่าง ๆ ด้วยการกำหนดเป้าหมายที่แก้ไขมาก /etc/apt/source.list
  3. PPA จะถูกเพิ่มลงใน/etc/apt/source.list.d/โฟลเดอร์เสมอหากเขียนในppa:<user>/<ppa-name>รูปแบบ

    อ้างอิง: man add-apt-repository

    REPOSITORY STRING
           REPOSITORY can  be  either  a  line  that  can  be  added  directly  to
           sources.list(5),  in the form ppa:<user>/<ppa-name> for adding Personal
           Package Archives, or a distribution component to enable.
    
           In  the   first   form,   REPOSITORY   will   just   be   appended   to
           /etc/apt/sources.list.
    
           In  the second form, ppa:<user>/<ppa-name> will be expanded to the full
           deb  line  of  the  PPA  and   added   into   a   new   file   in   the
           /etc/apt/sources.list.d/  directory.   The  GPG public key of the newly
           added PPA will also be downloaded and added to apt's keyring.
    
           In the third form, the given distribution component will be enabled for
           all sources.
    
  4. ดีดูเหมือนว่าเพียง PPA /etc/apt/sources.list.d/ที่เป็นทางลัดไป add-apt-repositoryหรือapt-add-repositoryเป็นเครื่องมือเฉพาะของ Ubuntu สิ่งที่ฉันคิดได้คือเพียงแค่การตัดสินใจของ Ubuntu เพื่อป้องกัน PPA ส่วนบุคคล

    /etc/apt/sources.listอย่างไรก็ตามคุณสามารถปรับเปลี่ยนไปใช้เท่านั้น มันเป็นสคริปต์ python3 แก้ไข/usr/bin/add-apt-repositoryบรรทัด:

    shortcut = shortcut_handler(line)
    

    แทนที่ด้วยอันนี้ด้านล่างเพื่อแก้ไขรูปแบบทางลัด ppa เป็นรูปแบบบรรทัด deb:

    shortcut = shortcut_handler(shortcut_handler(line).expand(sp.distro.codename)[0])
    

โปรดทราบว่าแปลกพอ Repos ไม่ใช่ PPA /etc/apt/sources.listจะได้รับการบันทึก
saiarcot895

1
@ saiarcot895 ฉันคิดว่าadd-apt-repositoryถูกเขียนขึ้นเพื่อความสะดวกในการทำงานกับ PPA ในสถานที่ที่ 1 นี่คือคำอธิบายการคอมมิทชั่นเมื่อมีการเพิ่ม: " สคริปต์ตัวช่วยใหม่" add-apt-repository "ที่สามารถใช้เพื่อเปิดใช้งานที่เก็บจาก commandline มีประโยชน์สำหรับเช่น 'add-apt-repository ppa: gnome-desktop' " bazaar.launchpad.net/~ubuntu-core-dev/software-properties/main/…
user.dz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.