मैं अपने PPAs का बैकअप कैसे ले सकता हूं?


27

इस सवाल से संबंधित । लेकिन मेरी चिंता यह है कि पिछले एक साल में, मेरे अधिकांश दिलचस्प (या उपयोग किए गए) एप्लिकेशन पीपीए से हैं, और मेरे स्रोतों की सूची का समर्थन करने से संबद्ध लॉन्चपैड कीज को जोड़ नहीं पाएंगी add-apt-repository

इसलिए मैं सभी पीपीए यूआरएल (जैसे ppa:chromium-daily/stable) को सूचीबद्ध करने का एक तरीका ढूंढ रहा हूं ताकि मैं आसानी से ऐड-ऑप-रिपॉजिटरी कमांड की एक श्रृंखला को नए इंस्टालेशन में जोड़ने के लिए आसानी से स्क्रिप्ट कर सकूं।

बेशक मेरे बैश इतिहास को डंप करने का छोटा। यह संभव हो सकता है, यह निर्भर करता है कि वह फाइल कितनी दूर तक जाती है?

जवाबों:


42

खैर क्योंकि मुझे कमांड लाइन स्क्रिप्टिंग के साथ घूमना पसंद है, मैंने निम्नलिखित लिखा है। यह पीपीए स्ट्रिंग्स की एक सूची बनाता है जिसे आप बैकअप कर सकते हैं और फिर स्क्रिप्ट में 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

यदि आप कभी भी उन लोगों को कंबल देना चाहते हैं, तो आप उन्हें सिस्टम में वापस भेज सकते हैं, जैसे (मान लें कि हमने पीपीए को बचा लिया है ~/ppa-backup.txt:

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

मैं शायद आपको सुझाव दूंगा कि आप उन सभी को पुनर्स्थापित न करें। बैकअप के माध्यम से देखें और सुनिश्चित करें कि आप जानते हैं कि प्रत्येक पीपीए में क्या है।


धन्यवाद ओली। मैं आज रात का परीक्षण करूँगा और एक बार परीक्षण के बाद इसे स्वीकार करूँगा!
मार्क

1
मेरे भगवान मेरे सिस्टम पर बहुत सारे पीपीए हैं। यह एकदम सही है, ओली। आपके प्रयास के लिए धन्यवाद!
मार्क

लिखित रूप में काम नहीं करता है।
user447607

6

मैं क्या करता हूं कि मैं पूरी / etc / apt निर्देशिका को एक सुरक्षित स्थान पर कॉपी करता हूं। यदि आपको अपनी स्थापना को पुन: स्थापित या क्लोन करना है, तो बस उस निर्देशिका को वापस कॉपी करें। यह भी gpg विश्वसनीय चाबियाँ बचा लेगा।


5

यदि सभी GPG कुंजी आयात कर रहे हैं जो आप देख रहे हैं, तो आप एक बार में सभी गुम GPG कुंजियों को आयात करने के लिए मेरी स्क्रिप्ट (.deb में आता है) का उपयोग कर सकते हैं। डाउनलोड

उपयोग करने के लिए, बस चलाएं:

sudo launchpad-getkeys

आप .deb के अंदर एक नज़र डाल सकते हैं। यदि आप चाहें, तो स्क्रिप्ट वास्तव में छोटी और समझने में आसान है (यदि आप मेरी बहस पर भरोसा नहीं करते हैं)।

फिर सभी PPA का बैकअप लेने के लिए, आपको बस इतना करना है कि नए कंप्यूटर / नए इंस्टॉलेशन पर सभी .list फ़ाइलों को कॉपी करें और एक बार जब आप उन्हें कॉपी कर लें, तो सभी कुंजियों को आयात करने के लिए उपरोक्त कमांड चलाएं।


0

से मेरा उत्तर पर मैं एक स्थापित स्क्रिप्ट में सभी खजाने और कमांड लाइन से PPAs की एक सूची कैसे मिल सकता है?

PPAs को 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

कुछ अतिरिक्त विशेषताओं के साथ पूर्ण स्क्रिप्ट के लिए अन्य प्रश्न पर मेरा उत्तर देखें जिन्हें आप सहेज सकते हैं और उपयोग कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.