উত্তর:
ইয়াম প্লাগইনগুলিকে সমর্থন করে, তাই ক্যাচ পুতুলের ম্যানিফেস্ট পড়ার জন্য একটি প্লাগইন লেখা সম্পূর্ণভাবে সম্ভব এবং সতর্ক করে যে কোনও লেনদেন যখন পুতুল-নিয়ন্ত্রিত ফাইলকে ওভাররাইট করে। আমি এটি ব্যবহার করে এমন একটি বিদ্যমান প্লাগইন সম্পর্কে সচেতন নই, তবে আমি ধারণাটি পছন্দ করায় সম্ভবত আমি নিজেই একটি লিখেছি।
প্লাগইনটি সমস্ত নতুন ইনস্টল করা / আপগ্রেড / ডাউনগ্রেড হওয়া প্যাকেজগুলি পরীক্ষা করে, আপনাকে বলে যে কোন পুতুল-পরিচালিত ফাইলগুলি ওভাররাইট করবে এবং এটি করার জন্য একটি নিশ্চিতকরণ জিজ্ঞাসা করবে।
[root@camel ~]# yum update pam
Loaded plugins: puppet, security
Skipping security plugin, no data
Setting up Update Process
Resolving Dependencies
Skipping security plugin, no data
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-12.el5 set to be updated
---> Package pam.x86_64 0:0.99.6.2-12.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================
Updating:
pam i386 0.99.6.2-12.el5 base 983 k
pam x86_64 0.99.6.2-12.el5 base 982 k
Transaction Summary
===============================================================================================================================================================
Install 0 Package(s)
Upgrade 2 Package(s)
Total download size: 1.9 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): pam-0.99.6.2-12.el5.x86_64.rpm | 982 kB 00:00
(2/2): pam-0.99.6.2-12.el5.i386.rpm | 983 kB 00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 8.7 MB/s | 1.9 MB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing pam-0.99.6.2-12.el5.i386 overwrites puppet-managed file /etc/pam.d/system-auth
Installing pam-0.99.6.2-12.el5.i386 overwrites puppet-managed file /etc/security/access.conf
Installing pam-0.99.6.2-12.el5.i386 overwrites puppet-managed file /etc/security/limits.conf
Installing pam-0.99.6.2-12.el5.x86_64 overwrites puppet-managed file /etc/pam.d/system-auth
Installing pam-0.99.6.2-12.el5.x86_64 overwrites puppet-managed file /etc/security/access.conf
Installing pam-0.99.6.2-12.el5.x86_64 overwrites puppet-managed file /etc/security/limits.conf
Is this ok [y/N]: n
Aborting
[root@camel ~]# yum update pam
Loaded plugins: puppet, security
Skipping security plugin, no data
Setting up Update Process
Resolving Dependencies
Skipping security plugin, no data
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-12.el5 set to be updated
---> Package pam.x86_64 0:0.99.6.2-12.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================
Updating:
pam i386 0.99.6.2-12.el5 base 983 k
pam x86_64 0.99.6.2-12.el5 base 982 k
Transaction Summary
===============================================================================================================================================================
Install 0 Package(s)
Upgrade 2 Package(s)
Total size: 1.9 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing pam-0.99.6.2-12.el5.i386 overwrites puppet-managed file /etc/pam.d/system-auth
Installing pam-0.99.6.2-12.el5.i386 overwrites puppet-managed file /etc/security/access.conf
Installing pam-0.99.6.2-12.el5.i386 overwrites puppet-managed file /etc/security/limits.conf
Installing pam-0.99.6.2-12.el5.x86_64 overwrites puppet-managed file /etc/pam.d/system-auth
Installing pam-0.99.6.2-12.el5.x86_64 overwrites puppet-managed file /etc/security/access.conf
Installing pam-0.99.6.2-12.el5.x86_64 overwrites puppet-managed file /etc/security/limits.conf
Is this ok [y/N]: y
Updating : pam 1/4
Updating : pam 2/4
Cleanup : pam 3/4
Cleanup : pam 4/4
Updated:
pam.i386 0:0.99.6.2-12.el5 pam.x86_64 0:0.99.6.2-12.el5
Complete!
প্লাগইনটি নিজেই আমার গিথুব হ্যাকসের সংগ্রহস্থলটিতে পাওয়া যাবে ।
নভেম্বর 8 8 2013 আপডেট:
মন্তব্যে ইঙ্গিত হিসাবে, আমি এখন এটিকে ইউম এবং পুতুলের মধ্যে মিথস্ক্রিয়াটিকে উন্নত করতে আরও বড় প্রকল্পে পরিণত করেছি। আপনি এটি গিটহাবে খুঁজে পাবেন ।
হ্যাঁ, এটি সম্ভব তবে এটি পুতুলের সাথেই সম্পর্কিত নয়।
লিনাক্স সিস্টেমে ইনোটাইফাই মেকানিজমের জন্য সমর্থন রয়েছে যা "ফাইল সিস্টেমের ঘটনাগুলির উপর নজর রাখতে এবং এটি ব্যবহার করতে ব্যবহৃত হতে পারে"। এছাড়া inotify-tools
রয়েছে incron
প্রোগ্রাম ক্রন অনুরূপ কাজ করে কিন্তু এটি ফাইল সিস্টেম ঘটনা ক্ষীণভাবে। আমি মনে করি আপনি কোনও ফাইল পরিবর্তন করার বিষয়ে অবহিত হওয়ার জন্য এটি ব্যবহার করতে পারেন।
(বিটিডাব্লু, আপনি যদি /etc/sysctl.conf
ফাইলটি দেখতে চান তবে আমি এটি করার আগে যাচাই করার পরামর্শ দিই - আপনার লিনাক্সের কি /etc/sysctl.d
ডিরেক্টরিতে সমর্থন আছে ?)
আমি এই জাতীয় বিজ্ঞপ্তিগুলি প্রয়োগ করার কোনও উপায় জানি না। ইয়াম লেনদেনের স্টেজে, প্রভাবিত হতে পারে এমন কনফিগারেশন ফাইলগুলির তালিকা নির্ধারণ করে এবং তারপরে পুতুল সেগুলির কোনও পরিচালনা করে কিনা তা পরীক্ষা করে কিছু স্থাপন করা সম্ভব।
তবে সাধারণভাবে কোনও ফাইলকে পরিচালনা করা ভাল অনুশীলন নয় যা প্যাকেজটির মাধ্যমে আপডেট হবে। কনফিগারেশন ফাইলগুলির ক্ষেত্রে (rpm -qlc প্যাকেজ নামটি সেগুলিতে চিহ্নিত হয়েছে কিনা তা ব্যবহার করুন), যদি প্যাকেজের কোনও নতুন সংস্করণ থাকে তবে এটি ফাইলের নাম.rpmnew হিসাবে সংরক্ষণ করা হয়। তারপরে আপনার প্রয়োজনীয় কোনও পরিবর্তনগুলি মার্জ করার জন্য আপনার নিজের ডিভাইসে রেখে দেওয়া হবে।
আমরা এমন একটি সমস্যায় পড়েছি যেখানে একটি কনফিগারেশন ফাইল পুতুল দ্বারা মুছে ফেলা হয়েছিল এবং তারপরে প্যাকেজ আপডেট হওয়ার পরে yum দ্বারা প্রতিস্থাপিত হয়েছিল। পরবর্তী পুতুল রান ফাইলটি অপসারণ না করা পর্যন্ত এটি সমস্যার সৃষ্টি করে। এই পরিস্থিতির জন্য আমাদের কর্মসংস্থানটি ছিল "মুছে ফেলা" ফাইলটির বিষয়বস্তু একটি মন্তব্যে সেট করা যাতে এটি মূলত ফাঁকা থাকে। এটি পরিচালনা করার আরেকটি উপায় হ'ল প্যাকেজ ['a'] -> ফাইল ['/ etc / a'] নিশ্চিত করার চেষ্টা করা যাতে কেবলমাত্র একটি পুতুল চালানো দরকার।