जवाबों:
सभी डेबियन प्रबंधित कॉन्फ़िगरेशन फ़ाइलों को खोजने के लिए जिन्हें डिफ़ॉल्ट से बदल दिया गया है आप इस तरह से एक कमांड का उपयोग कर सकते हैं।
dpkg-query -W -f='${Conffiles}\n' '*' | awk 'OFS=" "{print $2,$1}' | md5sum -c 2>/dev/null | awk -F': ' '$2 !~ /OK/{print $1}'
संपादित करें (स्थानीय सिस्टम के साथ काम करता है):
dpkg-query -W -f='${Conffiles}\n' '*' | awk 'OFS=" "{print $2,$1}' | LANG=C md5sum -c 2>/dev/null | awk -F': ' '$2 !~ /OK/{print $1}' | sort | less
संपादित करें (फ़ाइल नाम में ओके के साथ पैकेज काम करता है):
dpkg-query -W -f='${Conffiles}\n' '*' | awk 'OFS=" "{print $2,$1}' | LANG=C md5sum -c 2>/dev/null | awk -F': ' '$2 !~ /OK$/{print $1}' | sort | less
md5sum --quiet
हालाँकि awk
(और इस प्रकार स्थानीयकरण मुद्दे?) के साथ ठीक फ़ाइलों को फ़िल्टर करने से बचने के लिए आप उपयोग कर सकते हैं । वैसे: आपको पता नहीं है कि अनट्रैक की गई फ़ाइलों को कैसे शामिल किया जाए / आदि? उदाहरण के लिए / etc / apache2 / साइटों पर उपलब्ध लोगों की तरह?
debsums -ec
) वास्तव में कैसे काम करता है, क्योंकि ऐसा लगता है कि इससे बहुत कम परिणाम मिले हैं।
debsums -ec
: यदि मैं इस पद्धति का उपयोग पैकेज संस्करणों को फिर से करने के लिए करता हूं , तो इस पद्धति के माध्यम से सूचीबद्ध कुछ फाइलें बदल नहीं जाती हैं।
find /etc -type f \( -iname '*.ucf-dist' -o -iname '*.ucf-old' -o -iname '*.dpkg-old' -o -iname '*.dpkg-dist' \) -print | sort
से man debsums
:
debsums -ce
List changed configuration files.
Necro के लिए क्षमा करें, लेकिन जब @ naught101 का उत्तर संशोधित फ़ाइलों के लिए सही था , तो उसने जोड़ा फ़ाइलों के लिए मदद नहीं की । @ ग्रीम का समाधान अच्छा है, लेकिन एटकीपर पर निर्भर करता है; मैं फाइलसिस्टम को संशोधित नहीं करना चाहता।
find /etc -type f | grep -vFf <(debsums -e -r /etc | sed 's/[[:space:]]*OK$//')
/ Etc / कि में फ़ाइलें ढूंढें debsums
करता नहीं के रूप में मान्य रिपोर्ट। इसका मतलब या तो अनट्रैक की गई फाइलें या फाइलें जो "ओके" नहीं हैं (हैश मैच नहीं करते हैं)।
debsums --list-missing
या एक से अधिक पैकेजों में शामिल फ़ाइलों के चेकसम गुम नहीं होने चाहिए, यह जांचने के लिए भी चलना चाहिए । आजकल आउटपुट खाली होना चाहिए।
मैं आमतौर पर सिस्टम पर etckeeper को बहुत तुरंत सेटअप करना पसंद करता हूं। एटकीपर जैसी किसी चीज के साथ मैं न केवल तब मिल सकता हूं जब फ़ाइल अलग है, लेकिन मैं वास्तव में वास्तव में यह कैसे अलग है का एक अंतर प्राप्त कर सकता हूं।
देख:
यह ओवरकिल हो सकता है, लेकिन जब से किसी ने एटिट्यूटर का उल्लेख किया है और जब मैं जांच कर रहा था कि मैं इस अन्य मणि के पार आया हूं जो कि अधिक उपयोगी हो सकता है यदि आप "तथ्य के बाद" चीजों का पता लगाने का प्रयास कर रहे हैं।
http://devstructure.com/blueprint/
ब्लूप्रिंट एक सरल कॉन्फ़िगरेशन प्रबंधन उपकरण है जो रिवर्स-इंजीनियर सर्वर है। यह पता लगाता है कि आपने मैन्युअल रूप से क्या किया है, इसे स्थानीय रूप से Git रिपॉजिटरी में संग्रहीत करता है, कोड बनाता है जो आपके प्रयासों को फिर से बनाने में सक्षम है, और उत्पादन में उन परिवर्तनों को तैनात करने में आपकी सहायता करता है।
यह मूल प्रश्न से थोड़ा हटकर है कि यह संशोधित मॉडिफाइड फाइलों को भी संशोधित करेगा, जो कि संशोधित है। हालांकि किसी भी डेब्यू पैकेज में शामिल नहीं की गई फाइलें भी पकड़ी जाएंगी। दोनों व्यवहार अच्छी तरह से वांछनीय हो सकते हैं।
यह गेट गो के साथ आदर्श रूप से एटकेटर का उपयोग करने पर निर्भर करता है, क्योंकि यह विशेष रूप से काम करता है, हालांकि यह भी काम करना चाहिए यदि आप विशेष रूप से पहले प्रतिबद्ध के बाद पहले से बदल दी गई फ़ाइलों को जोड़ते हैं और करते हैं। ध्यान दें कि यहाँ एक गोत्र है कि उबंटू etckeeper को डिफ़ॉल्ट रूप से (Canonical प्रायोजक बाज़ार) बाज़ार का उपयोग करने के लिए कॉन्फ़िगर करता है, बजाय कि etckeeper Developers द्वारा निर्धारित किए गए।
यह विचार उन सभी कमिट्स की एक सूची प्राप्त करना है जो स्वचालित रूप से और उपयुक्त रन के बाद नहीं बने हैं। तब सभी में बदल गई फ़ाइलों को सूचीबद्ध करें लेकिन बहुत पहले प्रतिबद्ध:
filter_sed="/committing changes in \/etc after apt run\$/d"
etckeeper vcs log --oneline |
sed "$filter_sed; \$d; s/ .*//" |
xargs etckeeper vcs show --name-only --format=format: |
sort |
uniq |
sed "/^\$/d"
यदि उन्हें लगातार नाम दिया जाए तो फिल्टर स्ट्रिंग को अन्य कमानों को शामिल करने के लिए भी बढ़ाया जा सकता है। डिबेट फ़ाइल या स्रोत कोड से सीधे इंस्टॉल के लिए अच्छा हो सकता है।
एक उल्लेखनीय फ़ाइल जो मेरे लिए चुनती है वह मेरी है xorg.conf
- आपको वर्तमान में इसे / etc / X11 में जोड़ना होगा यदि आपको इसकी आवश्यकता है। इसके अलावा मेरे default/grub
परिवर्तन उठाए गए हैं, ऐसा लगता है कि यह एक पैकेज के भाग के रूप में सूचीबद्ध होने के बजाय पोस्ट इंस्टॉल स्क्रिप्ट द्वारा / usr / शेयर से कॉपी किया गया है। यदि इस तरह एक फाइल में बदलाव किया गया है, तो dpkg संबंधित विधियाँ इसे प्रकट नहीं करेंगी।
git log
अब एक --invert-grep
विकल्प है जो बिना उपयोग के निर्बाध आवागमन को फ़िल्टर करने की अनुमति देता है sed
।