किसी अन्य सिस्टम पर समान डेबियन पैकेज स्थापित करें


13

मैं किसी सिस्टम पर स्थापित डेबियन पैकेजों की सूची कैसे निर्यात करूं, और फिर उन्हीं पैकेजों को एक नई प्रणाली पर स्थापित करूं?

जवाबों:


17

समर्थन करना:

sudo dpkg --get-selections > /tmp/dpkglist.txt

पुन: स्थापित करने हेतु:

sudo dpkg --set-selections < /tmp/dpkglist.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

अतिरिक्त विकल्पों और जानकारी के लिए इस प्रश्न को भी देखें: उबंटू, किसी मौजूदा मशीन की तरह नई मशीन कैसे स्थापित करें

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


1
मुझे प्रत्येक इनपुट लाइन के लिए यह त्रुटि संदेश मिलता है: dpkg: warning: package not in status nor available database at line ...
danorton

इस तरह से कुछ ubuntu संस्करणों के बाद से काम नहीं करता है
QkiZ

10

aptitudeभी इस usecase को संतुष्ट करता है, और यह "स्वचालित रूप से स्थापित" संकुल के बारे में जानकारी को संरक्षित करता है जो अन्य तरीके नहीं करते हैं। संदर्भ मशीन पर निम्नलिखित चलाएँ:

aptitude search -F '%p' '~i!~M' > package_list 

package_listदूसरी मशीन पर कॉपी करें और चलाएं

xargs aptitude --schedule-only install < package_list; aptitude install; 

बस एक मामूली सी बात। एप्टीट्यूड संदर्भ मैनुअल के अनुसार, "पैकेज" फ़ील्ड डिफ़ॉल्ट रूप से "विस्तार योग्य" है, इसलिए aptitude search -F '%p' '~i!~M' > package_listठीक काम भी करना चाहिए।
क्रोनोस

पैकेज बैकअप के बारे में: के लिए प्लग देखना deborphan@ bogdan.org.ua/2013/10/18/...
TomRoche

[insert your own linebreaks, since http://serverfault.com/editing-help#linebreaks lies] पैकेज रिस्टोर के बारे में: इसे रूट के रूप में करने की आवश्यकता होगी, नहीं? यदि ऐसा है, तो <br/> xargsअपने पुनर्स्थापना कमांडलाइन में = xargs aptitude --schedule-only install <package_list; योग्यता स्थापित; मुझे जानना चाहता है, <br/> 1. मुझे इसकी aptitudeआवश्यकता क्यों है xargs? dpkg --set-selections। <br/> नहीं है 2. मानते हुए aptitude है की जरूरत है xargs, जहां एक या अधिक डाल करने के लिए sudoअपने को बहाल कमांडलाइन में? या अन्यथा उस लाइन को चलाने के लिए रूट प्राप्त करें, यह मानते हुए कि आवश्यक है।
टॉमरोच

0

यह एक अच्छा विचार है, और यदि आप इसकी आदत डालते हैं तो आप apt-प्रॉक्सी के साथ एक सर्वर भी सेट कर सकते हैं ।


Apt के लिए कई परदे के पीछे के साथ खेलने के बाद, मैंने apt-cacher-ng पर निर्णय लेना समाप्त किया। apt-cacher-ng सेटअप करने के लिए बहुत सरल है और कई खातों से यह मूल एप्टी-प्रॉक्सी की तुलना में अधिक मजबूत लगता है। हालांकि प्रत्येक व्यक्ति का अपना पसंदीदा होता है। unix-ag.uni-kl.de/~bloch/acng
दोषपूर्ण

मेरा वोट लगभग है, यह केवल एक है जो किसी तरह का पागल नहीं है।
Womble

दिलचस्प ... मैंने वास्तव में विकल्पों में से कोई भी कोशिश नहीं की है।

0

http://rayslinux.blogspot.de/2012/10/ubuntu-1210-dpkg-warning-package-not-in.html के अनुसार एक अलग कमांड चलाने के बाद ही दोषियों ने मेरे लिए काम किया

sudo apt-get install dselect sudo dselect access sudo dselect update

इससे पहले कि चल रहा है

sudo apt-get dselect-upgrade

केवल लौटा

[...]
dpkg: चेतावनी: पैकेज ३०२ पर डेटाबेस में नहीं: xfonts- बर्तन
dpkg: चेतावनी: अज्ञात पैकेज; इसका मतलब यह हो सकता है कि उपलब्ध डेटाबेस पुराना है, और इसे एक फ्रंटएंड विधि
pi @ FHEM-new: / tmp $ sudo apt-get dselect-upgrade
पठन पैकेज सूचियों के माध्यम से अद्यतन करने की आवश्यकता है ... पूर्ण
निर्माण निर्भरता का पेड़
राज्य की जानकारी पढ़ना ... हो गया
0 उन्नत, 0 नव स्थापित, 0 को हटाने के लिए और 0 उन्नत नहीं।

मैं अपने नए रास्पबेरी (रास्पियन GNU / लिनक्स 8 (जेसी)) पर अपने पुराने रास्पबेरी पाई (रास्पियन GNU / लिनक्स 7 (wheezy)) से उसी पैकेज को स्थापित करने की कोशिश कर रहा था।

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