सवाल उबंटू पर मुझे "एपीटी-इंस्टाल इंस्टॉल" का इतिहास कैसे प्राप्त होगा?


मैं एक उबंटू बॉक्स से दूसरे सर्वर पर एक सर्वर ले जाने के बारे में हूं। मैं पुराने बॉक्स को नए पर क्लोन नहीं कर रहा हूं; मैं एक नई प्रणाली बना रहा हूं और आवश्यकतानुसार डेटा ले जाउंगा। मैं अपने पुराने सॉफ़्टवेयर पर मौजूद सभी सॉफ़्टवेयर को इंस्टॉल करना चाहता हूं।

क्या मैंने समय के साथ दिए गए सभी "सुडो एपीटी-इंस्टाल इंस्टॉलेशन" के इतिहास को खोजने का एक आसान तरीका है? यही है, dpkg -l मुझे उन सभी संकुल दिखाता है जो स्थापित किए गए हैं, लेकिन शीर्ष-स्तरीय पैकेज ने उन्हें स्थापित नहीं किया है। अगर मुझे स्थापित पैकेज देने के लिए डीपीकेजी का कोई तरीका है, तो मैं वहां अद्वितीय लोगों को ढूंढ सकता हूं; अन्यथा, मुझे कुछ और कहना है "आपने इन 24 पैकेजों को स्थापित किया"।


71
2017-08-28 00:14


मूल


अहा! इससे पहले पूछा गया है, और इसका एक अच्छा जवाब है। - Gilles
क्या आप नीचे एक जवाब स्वीकार कर सकते हैं? उत्तर देने वाले लोगों के लिए आभारी होना। - m-ric
के संभावित डुप्लिकेट डेबियन पर सभी रूट / मुख्य स्थापित पैकेजों की सूची कैसे प्राप्त करें - Rob Moir
ये समाधान केवल अंतिम लॉग रोटेशन के बाद क्या हुआ है यह जांच लेंगे। वे सभी इतिहास की जांच नहीं करते हैं। - Kraang Prime


जवाब:


apt इतिहास में है /var/log/apt/history.log जैसा कि ऊपर एक टिप्पणी में कहा गया है। उस ने कहा, यह संकुल सूचीबद्ध नहीं करेगा जो मैन्युअल रूप से स्थापित किया गया था dpkg या जीयूआई जैसे कि gdebi। सभी संकुल देखने के लिए dpkg, आप देख सकते हैं /var/log/dpkg.log


59
2017-08-28 08:53





http://www.debianadmin.com/clone-your-ubuntu-installation.html

और /var/adm/apt/history.log


6
2017-08-28 00:31



पहले लिंक में प्रक्रिया स्वचालित रूप से स्थापित संकुल और मैन्युअल रूप से स्थापित संकुल के बीच अंतर नहीं करती है। /var/log/apt/history.log (आपको स्थान गलत बीटीडब्ल्यू मिला है) कुछ महीनों के बाद घूम जाएगा। - Gilles
गिल्स दोनों मायने रखता है। मेरे पास केवल उन लॉगों के महीने के लायक हैं, और मैं यह भी नहीं देख सकता कि लॉग हटाने की दर कैसे सेट की जाती है (यह फ्रीबीएसडी पर 'न्यूजिसॉग' के साथ किया जाता है)। तो मेरे पास अभी भी कोई समाधान नहीं है, लेकिन मेरे पास कुछ पॉइंटर्स हैं। मैं क्लोनिंग आलेख में कमांड से कम से कम आउटपुट कर सकता हूं, "उच्च स्तरीय" नामों की तलाश कर सकता हूं, उन्हें नए पर स्थापित कर सकता हूं, नए बॉक्स पर वही काम करता हूं, दो परिणामों को अलग करता हूं, और संतुष्ट होने तक दोहराता हूं। मैं अभी भी और विचारों को सुनना चाहता हूं। - Paul Hoffman


आप संकुल सूचीबद्ध कर सकते हैं जिनकी स्थापना के साथ स्पष्ट रूप से अनुरोध किया गया है apt-mark

apt-mark showmanual

यदि आप डेबियन की एक प्राचीन रिलीज चला रहे हैं, तो यहां एक मैन्युअल तरीका है।

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

dpkg --get-selections | sed -n 's/\t\+install$//p'

निम्न आदेश स्वचालित रूप से स्थापित संकुल का सुपरसेट देता है:

</var/lib/apt/extended_states awk -v RS= '/\nAuto-Installed: *1/{print$2}'

इसे सभी को एक साथ रखकर, निम्नलिखित कमांड मैन्युअल रूप से स्थापित संकुल सूचीबद्ध करता है:

comm -23 <(dpkg --get-selections | sed -n 's/\t\+install$//p') \
         <(</var/lib/apt/extended_states \
           awk -v RS= '/\nAuto-Installed: *1/{print$2}' |sort)

4
2017-08-28 08:11



--- से बहुत अलग परिणाम comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u) - Cbhihe
डेबियन पर, वहाँ है apt-mark showmanual जो आपके अंतिम आदेश के बराबर है। - maxschlepzig


grep -i "Commandline" /var/log/apt/history.log

आपके द्वारा इंस्टॉल किए गए सभी संकुल दिखाता है: sudo apt-get install xxxxx


1
2018-04-01 22:47



यह @ ℝaphink के उत्तर से पर्याप्त रूप से भिन्न नहीं है और इसे एक टिप्पणी होना चाहिए। - Karl Richter


टैक / हेड संयोजन के बजाय, पूंछ का उपयोग करना बेहतर है (पिछले 25 लाइनों के लिए):

tail -n 25 /var/log/apt/history.log

0
2017-10-21 16:47



यह @ ℝaphink के उत्तर से पर्याप्त रूप से भिन्न नहीं है और इसे एक टिप्पणी होना चाहिए। - Karl Richter
इसके अलावा, यह वही नहीं है। पूंछ फ़ाइल में आखिरी पंक्तियों को सूचीबद्ध करेगा, क्रम में वे फ़ाइल में हैं। टीएसी ऑर्डर को उलट देगा ताकि आखिरी पंक्ति अब पहले हो, दूसरी बार दूसरी बार दूसरी है, आदि। फिर भी, ऐसा लगता है कि जब आप कहते हैं कि कुछ ऐसा क्यों है तो बिना किसी जोखिम के गलत होने का जोखिम है। मेरा मतलब है, किसके अनुसार "बेहतर"? किस आवश्यकता के लिए? थोड़े आत्मविश्वास लगता है। - Todd Walton


अवरोही क्रम में सबसे हाल ही में स्थापित संकुलों की सूची प्राप्त करने के लिए, मुझे उपयोग करना पसंद है (उदा। 25 लाइनें):

tac /var/log/apt/history.log |head --lines=25

-1
2017-08-21 10:56



अधिक कुशल (और गठबंधन) होगा: tail -25 /var/log/apt/history.log | tac - agc
यह @ ℝaphink के उत्तर से पर्याप्त रूप से भिन्न नहीं है और इसे एक टिप्पणी होना चाहिए। - Karl Richter