ฉันจะสำรอง PPA ของฉันได้อย่างไร


27

เกี่ยวข้องกับคำถามนี้ แต่ข้อกังวลของฉันคือในปีที่ผ่านมาแอปพลิเคชั่นที่น่าสนใจ (หรือใช้) ของฉันส่วนใหญ่มาจาก PPA และการสำรองรายการแหล่งข้อมูลของฉันจะไม่เพิ่มปุ่ม Launchpad ที่เกี่ยวข้องในแบบที่add-apt-repositoryทำ

ดังนั้นฉันกำลังมองหาวิธีที่จะแสดงรายการ URL PPA ทั้งหมด (เหมือนppa:chromium-daily/stable) เพื่อให้ฉันสามารถสคริปต์ชุดคำสั่ง add-apt-repository ได้อย่างง่ายดายเพื่อเพิ่มลงในการติดตั้งใหม่อย่างสง่างาม

สั้นจากการทิ้งประวัติทุบตีของฉันแน่นอน ไฟล์ใดบ้างที่เป็นไปได้ขึ้นอยู่กับว่าไฟล์นั้นย้อนกลับไปนานแค่ไหน

คำตอบ:


42

ดีเพราะฉันชอบล้อเล่นกับสคริปต์บรรทัดคำสั่งฉันได้เขียนสิ่งต่อไปนี้ มันสร้างรายการของสตริง PPA ที่คุณสามารถสำรองข้อมูลและสคริปต์ลงในadd-apt-repository:

grep -RoPish '(?<=ppa.launchpad.net/)[^/]+/[^/ ]+' /etc/apt | sort -u | sed 's/^/ppa:/'

ที่จะสร้างสิ่งที่ชอบ:

ppa:ubuntu-wine/ppa
ppa:am-monkeyd/nautilus-elementary-ppa
ppa:nilarimogard/webupd8
ppa:ubuntu-x-swat/x-updates
ppa:tualatrix/ppa
ppa:banshee-team/banshee-unstable
ppa:chromium-daily/beta
ppa:libreoffice/ppa
ppa:banshee-team/ppa

หากคุณต้องการกู้คืนสิ่งเหล่านี้คุณสามารถส่งกลับเข้าไปในระบบได้ (สมมติว่าเราบันทึก PPAs ไว้ที่~/ppa-backup.txt:

<~/ppa-backup.txt xargs -I % sudo add-apt-repository %

ฉันอาจจะแนะนำให้คุณไม่เพียง แต่คืนค่าพวกเขาทั้งหมด ตรวจสอบการสำรองข้อมูลและตรวจสอบให้แน่ใจว่าคุณรู้ว่าแต่ละ PPA ประกอบด้วยอะไร


ขอบคุณ Oli ฉันจะทดสอบคืนนี้และยอมรับเมื่อทดสอบแล้ว!
Scaine

1
พระเจ้าของฉันฉันมี PPA จำนวนมากในระบบของฉัน นี่เป็นสิ่งที่สมบูรณ์แบบ Oli ขอบคุณสำหรับความพยายามของคุณ!
Scaine

ไม่ทำงานตามที่เขียนไว้
user447607

6

สิ่งที่ฉันทำคือฉันคัดลอกทั้งไดเร็กทอรี / etc / apt ไปยังที่ปลอดภัย หากคุณต้องติดตั้งใหม่หรือคัดลอกการติดตั้งของคุณเพียงคัดลอกไดเรกทอรีนั้นกลับไป มันจะประหยัดแม้กระทั่งคีย์ที่น่าเชื่อถือ gpg


5

หากการนำเข้าคีย์ GPG ทั้งหมดเป็นสิ่งที่คุณกำลังมองหาคุณสามารถใช้สคริปต์ของฉัน (มาเป็น. deb) เพื่อนำเข้าคีย์ GPG ที่ขาดหายไปพร้อมกัน ดาวน์โหลด

วิธีใช้เพียงเรียกใช้:

sudo launchpad-getkeys

คุณสามารถดูใน. deb ถ้าคุณต้องการสคริปต์มีขนาดเล็กมากและง่ายต่อการเข้าใจ (ในกรณีที่คุณไม่เชื่อถือ deb ของฉัน)

จากนั้นสำรอง PPA ทั้งหมดสิ่งที่คุณต้องทำคือคัดลอกไฟล์. list ทั้งหมดในคอมพิวเตอร์ใหม่ / การติดตั้งใหม่และเมื่อคุณคัดลอกแล้วให้เรียกใช้คำสั่งด้านบนเพื่อนำเข้าคีย์ทั้งหมด


0

จากคำตอบของฉันเกี่ยวกับฉันจะรับรายชื่อที่เก็บและ PPA ทั้งหมดจากบรรทัดคำสั่งไปยังสคริปต์การติดตั้งได้อย่างไร

รายการ PPA ในppa:USER/REPOรูปแบบ:

list_ppas () {
  grep -E '^deb\s' /etc/apt/sources.list /etc/apt/sources.list.d/*.list |\
    cut -f2- -d: |\
    cut -f2 -d' ' |\
    sed -re 's#http://ppa\.launchpad\.net/([^/]+)/([^/]+)(.*?)$#ppa:\1/\2#g' |\
    grep '^ppa:'
}

สร้างสคริปต์การติดตั้ง:

list_ppas | xargs printf 'add-apt-repository -y %s\n' > install_ppas.sh

(เอาออก-yหากคุณไม่ต้องการติดตั้งแบบไม่โต้ตอบ)

เรียกใช้สคริปต์:

sudo sh install_ppas.sh

ดูคำตอบของฉันในคำถามอื่น ๆ สำหรับสคริปต์แบบเต็มด้วยคุณสมบัติพิเศษบางอย่างที่คุณสามารถบันทึกและใช้งานได้

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