একটি সামান্য হ্যাকিশ, তবে এটি করার বেশ নির্ভরযোগ্য উপায় যা আমি একটি স্বয়ংক্রিয় ইনস্টলেশন স্ক্রিপ্টে কিছু সময়ের জন্য ব্যবহার করে আসছি।
প্রথমে একটি ডিরেক্টরি তৈরি করুন, উদাহরণস্বরূপ /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
পরিষেবা শুরু এবং বন্ধ করার জন্য উল্লিখিত কমান্ডের অন্যান্য কার্যকর করে ute যদিও তারা তাদেরকে পরম পাথ দিয়ে ডাকে না (কমপক্ষে আমি এর সাথে একটির মুখোমুখি হই নি)।
সুতরাং শুরুতে নকল "কোনও অপারেশন" কমান্ড সন্নিবেশ করে $PATH
, আসল কমান্ডগুলি কখনই কল হয় না।
যেহেতু কেবল পরিষেবাগুলি শুরু / বন্ধ করার জন্য ব্যবহৃত কমান্ডগুলি নকল হচ্ছে, অন্য সমস্ত কিছু, বিশেষত গুরুত্বপূর্ণ কাজগুলির মধ্যে যেমন initramfs- চিত্রগুলি আপডেট / তৈরি করা এখনও কাজ করে।