थोड़ा हैकिश है, लेकिन यह करने के लिए काफी विश्वसनीय तरीका है जो मैं एक स्वचालित स्थापना स्क्रिप्ट में थोड़ी देर के लिए उपयोग कर रहा हूं।
सबसे पहले एक निर्देशिका बनाएं, उदाहरण के लिए /root/fake
, जिसमें सीमलिंक /bin/true
कहा जाता है:
initctl
invoke-rc.d
restart
start
stop
start-stop-daemon
service
deb-systemd-helper
आप उन्हें ऐसी स्क्रिप्ट स्क्रिप्ट भी बना सकते हैं जो कुछ भी नहीं करती हैं और सफलता लौटाती है।
फिर $PATH
संकुल को स्थापित करते समय उस निर्देशिका को शामिल करें :
PATH=/root/fake:$PATH apt-get install whatever
यह केवल डेमॉन को शुरू करने / फिर से शुरू करने से रोकता है, जबकि एक इनट्राम्राम्स बनाने जैसी चीजें अभी भी की जा रही हैं।
व्याख्या
स्क्रिप्ट जो पैकेज स्थापना और निष्कासन पर क्रियान्वित की जा रही हैं invoke-rc.d
और सेवाओं को शुरू करने और बंद करने के लिए उल्लिखित आदेशों के निष्पादन या अन्य को हटाती हैं। हालांकि वे उन्हें पूर्ण पथ के साथ नहीं बुलाते हैं (कम से कम मैंने एक का सामना नहीं किया है)।
इसलिए शुरुआत में फेक "नो ऑपरेशन" कमांड डालकर $PATH
, वास्तविक कमांड को कभी भी कॉल नहीं किया जाता है।
चूंकि केवल सेवाओं को शुरू / बंद करने के लिए उपयोग किए जाने वाले आदेशों को फेक किया जा रहा है, बाकी सब कुछ, विशेष रूप से महत्वपूर्ण कार्यों जैसे कि इनट्राम्राम्स-इमेज को अपडेट करने / बनाने में अभी भी काम करते हैं।