पहले से स्थापित पैकेज के लिए सभी कॉन्फ़िगरेशन फ़ाइलों को कैसे सूचीबद्ध करें?


11

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

यदि संभव हो तो मैं dpkg या apt का उपयोग करके ऐसा करना पसंद करूंगा, लेकिन यदि कोई अन्य उपकरण जैसे aptitude या dselect की आवश्यकता हो / अनुशंसित हो तो कोई समस्या नहीं है।

जवाबों:


16

catअगर मुझे आपका इरादा सही तरीके से समझ में आया हो तो इसके अलावा कुछ और इस्तेमाल करने की कोई आवश्यकता नहीं है:

cat /var/lib/dpkg/info/<package>.conffiles

आपको वह देना चाहिए जो आप कर रहे हैं। उदाहरण के लिए पैकेज zsh के लिए:

% cat /var/lib/dpkg/info/zsh.conffiles
/etc/zsh/zlogin
/etc/zsh/zlogout
/etc/zsh/zprofile
/etc/zsh/zshenv
/etc/zsh/zshrc
/etc/zsh/newuser.zshrc.recommended

ऐसे मामले के बारे में जहां दिए गए पैकेज के लिए ऐसी कोई फ़ाइल नहीं है - यह कॉन्फ़िगरेशन के रूप में कुछ फ़ाइलों को निर्दिष्ट करने के लिए पैकेज अनुरक्षक तक है। यदि यह ठीक से नहीं किया गया है, तो आपको एक बग दर्ज करना चाहिए जहां उपयुक्त हो।

ऐसे मामलों में आपके पास कुछ विकल्प होते हैं।

  1. पैकेज से संबंधित सूची फ़ाइलें जो / etc / में हैं:

    dpkg -L package | grep '/etc'
    
  2. यह जानने के लिए कि इसे कैसे संकलित किया गया था, यह जानने के लिए स्रोत पैकेज को प्राप्त करें और निरीक्षण करें (जो आपको यह भी दिखाना चाहिए कि यह इसकी कॉन्फ़िगरेशन फ़ाइलों के स्थित होने की उम्मीद करता है)।

    apt-get source package
    less package-x.y.z/debian/rules
    
  3. प्रलेखन खोजने के लिए अपस्ट्रीम प्रोजेक्ट पृष्ठ देखें।


यदि किसी दिए गए पैकेज में ऐसी फाइल नहीं है। इस रास्ते के तहत .conffiles, इसका मतलब यह है कि यह कॉन्फ़िगरेशन फ़ाइलों का उपयोग नहीं कर रहा है?
डैनियल यूस्टे अरोका

जरूरी नहीं है - यह हो सकता है कि पैकेज द्वारा उपयोग की जाने वाली कॉन्फ़िगरेशन फाइलें वास्तव में हैं, लेकिन पैकेजर ने पैक किए गए एप्लिकेशन के कॉन्फ़िगरेशन फ़ाइलों के हिस्से के रूप में किसी भी फाइल को नामित नहीं किया है।
मार्सिन कमिन्स्की

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

1

उदाहरण के लिए aptविन्यास फाइल (एस) पाने के लिए पैकेज का परीक्षण करते हैं ।

यह समझने के लिए मुश्किल हो सकता है कि .conffilesआपको जानकारी देखने के लिए क्या जांचना चाहिए ताकि मैं grepसुराग खोजने के लिए उपयोग करने का सुझाव दूं।

locate *.conffiles | grep apt

/var/lib/dpkg/info/apt-config-icons.conffiles
/var/lib/dpkg/info/apt.conffiles
/var/lib/dpkg/info/aptdaemon.conffiles
/var/lib/dpkg/info/apturl-common.conffiles
/var/lib/dpkg/info/libatk-adaptor:amd64.conffiles

और catइनमें से किसी विशेष रूप से यदि आप Marcin के Kaminski उत्तर के अनुसार रुचि रखते हैं।

उदाहरण के लिए एक और चाल, मैनुअल पढ़ने के लिए है man apt, जहां आप कॉल कर सकते हैं से भी खंड को देखने के लिए आप का नेतृत्व करेंगे man apt.confजहां के लिए कॉन्फ़िग फ़ाइल का स्थान नहीं दिखेगा aptइस मामले में: /etc/apt/apt.conf

हालाँकि, कॉन्फ़िग फ़ाइल /etc/apt/apt.confभी मौजूद नहीं हो सकती है। उस के बारे में पता है जब विन्यास फाइल के लिए खोज।

लिनक्स में विन्यास फाइल /etc/निर्देशिका के अंदर होनी चाहिए । आप dpkg-query -L your_package | grep etcनिर्देशिका के अंदर सभी पैकेज फ़ाइलों और निर्देशिकाओं को सूचीबद्ध करने के लिए उपयोग कर सकते हैं /etc/


1

कैसे dpkg -S [पैकेज-नाम] के बारे में? खिचड़ी भाषा का उल्लेख यहां किया जा रहा है।

root@homehub:/# dpkg -S nginx

nginx-common: /usr/share/nginx/html
nginx-full: /usr/share/man/man8/nginx.8.gz
libnginx-mod-http-xslt-filter: /usr/share/doc/libnginx-mod-http-xslt-filter/copyright
nginx-common: /etc/logrotate.d/nginx
libnginx-mod-mail: /usr/share/doc/libnginx-mod-mail/changelog.gz
libnginx-mod-http-upstream-fair: /usr/share/doc/libnginx-mod-http-upstream-fair
libnginx-mod-http-auth-pam: /usr/share/doc/libnginx-mod-http-auth-pam/changelog.Debian.gz
libnginx-mod-http-image-filter: /usr/lib/nginx/modules/ngx_http_image_filter_module.so
nginx-common: /etc/nginx/snippets
libnginx-mod-mail: /usr/share/doc/libnginx-mod-mail/copyright
nginx-common: /etc/nginx/snippets/fastcgi-php.conf
libnginx-mod-http-xslt-filter: /usr/share/doc/libnginx-mod-http-xslt-filter/changelog.Debian.gz
nginx-full: /usr/share/doc/nginx-full/copyright
nginx-common: /usr/share/doc/nginx-common
nginx-common: /etc/ufw/applications.d/nginx
libnginx-mod-http-upstream-fair: /usr/share/doc/libnginx-mod-http-upstream-fair/changelog.gz
libnginx-mod-stream: /usr/share/nginx/modules-available/mod-stream.conf
nginx-common: /etc/nginx/sites-enabled
libnginx-mod-http-upstream-fair: /usr/share/doc/libnginx-mod-http-upstream-fair/copyright
libnginx-mod-http-subs-filter: /usr/share/doc/libnginx-mod-http-subs-filter/changelog.gz
libnginx-mod-http-dav-ext: /usr/share/nginx/modules-available/mod-http-dav-ext.conf
nginx-common: /etc/nginx/koi-utf
nginx-common: /etc/nginx/mime.types
nginx-common: /usr/share/vim/addons/syntax/nginx.vim
nginx-common: /usr/share/doc/nginx-common/NEWS.Debian.gz
nginx-common: /usr/share/doc/nginx-common/README.Debian
nginx-full: /usr/share/doc/nginx-full
libnginx-mod-mail: /usr/share/nginx/modules-available/mod-mail.conf
libnginx-mod-http-auth-pam: /usr/share/doc/libnginx-mod-http-auth-pam/changelog.gz
nginx: /usr/share/doc/nginx
nginx-common: /etc/nginx/win-utf
libnginx-mod-http-dav-ext: /usr/share/doc/libnginx-mod-http-dav-ext
....

और कभी-कभी फाइलनाम संरचना के आधार पर यह अच्छा हो सकता है अगर "" .conf "वाले grep नामों को पाइप किया जाए।"

root@homehub:/# dpkg -S nginx |grep ".conf"

nginx-common: /etc/nginx/snippets/fastcgi-php.conf
libnginx-mod-stream: /usr/share/nginx/modules-available/mod-stream.conf
libnginx-mod-http-dav-ext: /usr/share/nginx/modules-available/mod-http-dav-ext.conf
libnginx-mod-mail: /usr/share/nginx/modules-available/mod-mail.conf
libnginx-mod-http-auth-pam: /usr/share/nginx/modules-available/mod-http-auth-pam.conf
nginx-common: /etc/nginx/fastcgi.conf
nginx-common: /etc/init/nginx.conf
nginx-common: /etc/nginx/conf.d
libnginx-mod-http-subs-filter: /usr/share/nginx/modules-available/mod-http-subs-filter.conf
libnginx-mod-http-geoip: /usr/share/nginx/modules-available/mod-http-geoip.conf
libnginx-mod-http-echo: /usr/share/nginx/modules-available/mod-http-echo.conf
libnginx-mod-http-upstream-fair: /usr/share/nginx/modules-available/mod-http-upstream-fair.conf
nginx-common: /etc/init/nginx.conf
libnginx-mod-http-xslt-filter: /usr/share/nginx/modules-available/mod-http-xslt-filter.conf
nginx-common: /etc/nginx/snippets/snakeoil.conf
nginx-common: /etc/nginx/nginx.conf
libnginx-mod-http-image-filter: /usr/share/nginx/modules-available/mod-http-image-filter.conf
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.