क्या यह देखने का कोई तरीका है कि प्रति-पैकेज आधार पर "प्रोसेसिंग ट्रिगर्स" वास्तव में क्या करता है?


15

जैसा कि मैंने समझा है, सामान्य रूप से " प्रसंस्करण ट्रिगर <packagename> के लिए " कुछ पैकेज करता है और सिस्टम-विशिष्ट कार्य जैसे कि एक लॉन्च मेनू में आइटम जोड़ना या कॉन्फ़िगरेशन फ़ाइल अपडेट करना। क्या वास्तव में यह देखने का कोई तरीका है कि इस कदम के दौरान वास्तव में क्या किया जा रहा है या बदल दिया गया है? स्टेप का सटीक व्यवहार कहां से मिल सकता है?

जवाबों:


16

वहाँ है, लेकिन यह संकुल शुरू होने के लिए कुछ बैश स्क्रिप्ट के माध्यम से खुदाई की आवश्यकता है।

  • मान लीजिए कि dpkgआउटपुट दिखता है:

    0.52-1 (... / अभिलेखागार / zim_0.52-1_all.deb का उपयोग करके) को बदलने की तैयारी ...
    रिप्लेसिंग रिप्लेसमेंट zim ...
    साझा-माइम-जानकारी के लिए संसाधन ट्रिगर ...
    मेनू के लिए ट्रिगर प्रसंस्करण ...
  • आंतरिक रूप से, कमांड-लाइन विकल्प के साथ इनमें से प्रत्येक पैकेज के लिए स्क्रिप्ट dpkgको क्या कहते हैं , और शून्य या अधिक ट्रिगर विकल्प।postinsttriggered

  • तो, आप बस खोलते हैं /var/lib/dpkg/info/PACKAGE.postinst(यह एक बैश स्क्रिप्ट है), और बस देखो कि क्या होता $1हैtriggered

उदाहरण: man-dbट्रिगर

सबसे आम "प्रोसेसिंग ट्रिगर्स" में से एक आप देखेंगे man-db, जब भी पैकेज स्थापित किया जा रहा है, तो ए मैन पेज होता है।

यदि आप खोलते हैं /var/lib/dpkg/info/man-db.postinst , तो आपको यह अनुभाग मिलेगा:

अगर ["$ 1" = ट्रिगर]; फिर
    # हम यहाँ एक स्थिति संदेश नहीं छापते हैं, जैसा कि dpkg ने पहले ही कहा था
    # "मैन-डीबी के लिए प्रोसेसिंग ट्रिगर ..."।
    run_mandb -pq
    बाहर निकलें 0
फाई

तो आप देख सकते हैं कि विकल्प के साथ Processing triggers for man-db ...केवल run_mandbफ़ंक्शन ( postinstस्क्रिप्ट में भी पाया गया ) का परिणाम चल रहा -pqहै।

सहायक संसाधन:

  1. Dpkg ट्रिगर को अधिक उपयोगी और कम दर्दनाक बनाने की कोशिश कर रहा है
  2. dpkg ट्रिगर करता है, दस्तावेज कैसे खो जाता है

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