सवाल डेबियन सिस्टम पर संशोधित कॉन्फ़िगरेशन फ़ाइलों की जांच कैसे करें?


सभी डेबियन प्रबंधित कॉन्फ़िगरेशन फ़ाइलों को कैसे डिफॉल्ट से बदला गया है?


54
2017-12-02 22:26


मूल


सवाल यहां जाता है। जवाब नीचे चला जाता है। - Dennis Williamson
मैंने आपके उत्तर में दिए गए उत्तर को स्थानांतरित कर दिया। - Zoredache


जवाब:


सभी डेबियन प्रबंधित कॉन्फ़िगरेशन फ़ाइलों को खोजने के लिए जिन्हें डिफ़ॉल्ट से बदला गया है, आप इस तरह के कमांड का उपयोग कर सकते हैं।

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

70
2017-12-02 22:27



उबंटू 10.4 पर आकर्षण की तरह काम करता है, मैं आपको एक हजार बार उखाड़ दूंगा :-) - Ludwig Weinzierl
बहुत अच्छा काम करता है। आप उपयोग कर सकते हैं md5sum --quiet हालांकि ठीक फाइलों को फ़िल्टर करने से बचने के लिए awk (और इस प्रकार स्थानीयकरण मुद्दे?)। वैसे: आप नहीं जानते कि अनचाहे फ़ाइलों को / etc के अंदर कैसे शामिल किया जाए? उदाहरण के लिए उपलब्ध / etc / apache2 / साइट्स में उपलब्ध हैं? - sfussenegger
जानना दिलचस्प होगा कि मेरा जवाब कैसा है (debsums -ec) वास्तव में काम करता है, क्योंकि ऐसा लगता है कि इससे बहुत कम परिणाम मिलते हैं। - naught101
इसके अलावा, स्पष्ट रूप से पैकेज संस्करणों के लिए केवल एकमात्र conf फ़ाइलों की जांच की जाती है जो तब आती हैं debsums -ec: अगर मैं उपयोग करता हूँ पैकेज संस्करणों को फिर से स्थापित करने के लिए यह विधि, तो इस विधि के माध्यम से सूचीबद्ध कुछ फाइलें बदली नहीं गई हैं। - naught101


से man debsums:

  debsums -ce
          List changed configuration files.

36
2017-07-21 10:50



यह अब तक का सबसे सरल और सबसे अच्छा जवाब है। - mfisch
डिफ़ॉल्ट रूप से केवल debsums इंस्टॉल नहीं है और आप इसे इंस्टॉल नहीं करना चाहते हैं। - Alexis Wilke
@AlexisWilke: यह 218kb है और इसमें न्यूनतम निर्भरता है ... - naught101


नेक्रो के लिए खेद है, लेकिन @ naught101 का जवाब सही था संशोधित फाइलें, यह मदद नहीं की जोड़ा फ़ाइलें। @ ग्रीम का समाधान अच्छा है, लेकिन एटकीपर पर निर्भर करता है; मैं फाइल सिस्टम को संशोधित नहीं करना चाहता हूं।

find /etc -type f | grep -vFf <(debsums -e | sed 's/[[:space:]]*OK$//')

/ Etc / that में फाइलें खोजें debsums कर देता है नहीं मान्य के रूप में रिपोर्ट करें। इसका मतलब है कि या तो अनचाहे फ़ाइलें या फ़ाइलें जो "ठीक" नहीं हैं (हैश मेल नहीं खाते हैं)।


9
2018-01-11 22:33





मैं आम तौर पर सिस्टम पर बहुत तेजी से etckeeper सेटअप करना पसंद है। एटकीपर जैसे कुछ के साथ मैं न केवल तभी मिल सकता हूं जब फ़ाइल अलग हो, लेकिन मैं वास्तव में एक अलग हो सकता हूं कि यह अलग कैसे है।

देख:


8
2017-12-02 22:49





या debsums-e | grep FAILED जो सभी गायब कन्फाइल भी दिखाएगा

(debsums पैकेज से)


5
2018-04-08 15:45





यह मूल प्रश्न से थोड़ी दूर निकलता है जिसमें यह संशोधित कॉन्फ़िगरेशन फ़ाइलों को भी संशोधित करता है। हालांकि फाइलों को किसी भी डेब पैकेज में शामिल नहीं किया जाएगा। दोनों व्यवहार अच्छी तरह से वांछनीय हो सकता है।

यह गिट वीसीएस के साथ आदर्श रूप से जाने के लिए इटकीपर का उपयोग करने पर निर्भर करता है, हालांकि यह भी काम करना चाहिए यदि आप विशेष रूप से पहले से परिवर्तित फ़ाइलों को जोड़ते हैं और प्रतिबद्ध करते हैं बाद पहली प्रतिबद्धता ध्यान दें कि यहां एक गचाचा यह है कि उबंटू एक्टकीपर डेवलपर्स द्वारा निर्धारित गिट डिफॉल्ट के बजाए डिफ़ॉल्ट रूप से (कैनोनिकल प्रायोजक बाज़ार) बाजार का उपयोग करने के लिए एक्टिपर को कॉन्फ़िगर करता है।

विचार उन सभी कामों की एक सूची प्राप्त करना है जो स्वचालित रूप से बाद में और उपयुक्त नहीं होते हैं। फिर सभी में परिवर्तित फ़ाइलों को सूचीबद्ध करें लेकिन पहली प्रतिबद्धता:

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 / share से कॉपी किया गया है। यदि इस तरह की फाइल में कोई बदलाव किया गया है, तो डीपीकेजी से संबंधित तरीके इसे प्रकट नहीं करेंगे।


1
2017-09-26 13:11



FYI करें, git log अब एक है --invert-grep विकल्प जो उपयोग के बिना अनिच्छुक प्रतिबद्धताओं को फ़िल्टर करने की अनुमति देता है sed। - Neil Mayhew


यह अधिक हो सकता है लेकिन चूंकि किसी ने ईक्कीपर का उल्लेख किया है और जब मैं जांच कर रहा था कि मैं इस अन्य मणि में आया हूं तो यदि आप "तथ्य के बाद" चीजों को समझने का प्रयास कर रहे हैं तो अधिक उपयोगी हो सकता है।

http://devstructure.com/blueprint/

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


0
2018-06-28 15:37