"মুখোশযুক্ত" অবস্থায় কিছু সিস্টেমেড পরিষেবা কেন?


42

আমি যখন কমান্ডটি চালিত sudo systemctl list-unit-filesকরি (আমার মনে হয় sudo optionচ্ছিক), আমি আউটপুট পাই যা সমস্ত পরিষেবা এবং তাদের অবস্থা দেখায়।

আমার মেশিন থেকে একটি স্নিপেট এখানে:

UNIT FILE                                  STATE
...
debian-fixup.service                       static  
debug-shell.service                        disabled
display-manager.service                    enabled 
dns-clean.service                          enabled 
dsmcad.service                             enabled 
emergency.service                          static  
failsafe-x.service                         static  
friendly-recovery.service                  masked  
fuse.service                               masked  
gdm.service                                masked  
getty-static.service                       static  
getty@.service                             enabled 
gpsd.service                               indirect
gpsdctl@.service                           static  
gpu-manager.service                        enabled 
halt-local.service                         static  
halt.service                               masked  
hostname.service                           masked
...

আমি অবাক হই যে কিছু পরিষেবা কেন "মুখোশযুক্ত" অবস্থায় রয়েছে। আমি মনে করি এর অর্থ, "এটি 'অক্ষম করার' চেয়ে ভাল, কারণ পরিষেবাটি আরম্ভ করা যায় না, না হাত দিয়ে বা ব্যবস্থাপনায়"।

কোনও পরিষেবা ইউনিটের অবস্থা সম্পর্কে আমি কীভাবে আরও তথ্য পেতে পারি?

কে ইউনিটগুলি তাদের নিজ নিজ রাজ্যে স্থাপন করেছে?

উদাহরণস্বরূপ, আমি চেষ্টা করেছি sudo systemctl help dsmcad- যা documentation = ...ইউনিট ফাইল থেকে কেবল রেখাটি উপস্থিত করে।/etc/systemd/system/dsmcad.service

দ্রষ্টব্য: এখানে আমি ঠিক জানি যে ডিএসএমকিড পরিষেবাটি কী এবং এটি কী করে, আমি নিজে এটি ইনস্টল করেছি। আমি একটি সাধারণ সমাধানে আরও আগ্রহী।

উত্তর:


47

maskএর একটি শক্তিশালী সংস্করণ disable। ব্যবহার disableনির্দিষ্ট ইউনিট ফাইলের সব symlinks সরিয়ে ফেলা হয়। maskইউনিট ব্যবহার করে লিঙ্ক করা হবে /dev/null। উদাহরণস্বরূপ আপনি যদি পরীক্ষা করেন তবে এটি প্রদর্শিত হবে systemctl status halt.service। এর সুবিধা maskহ'ল যে কোনও ধরণের অ্যাক্টিভেশন এমনকি ম্যানুয়ালও প্রতিরোধ করা।

সতর্কতা: systemctl list-unit-filesইউনিট ফাইলগুলির স্থিতি তালিকাভুক্ত করছে (স্থিতিশীল, সক্ষম, অক্ষম, মুখোশযুক্ত, পরোক্ষ) এবং পরিষেবার স্থিতির সাথে কোনও সম্পর্ক নেই। কটাক্ষপাত আছে সেবা ব্যবহার systemctl list-units


8
দয়া করে মুখোশযুক্ত রাষ্ট্রটি কীভাবে সরাবেন তাও ব্যাখ্যা করুন।
এরিকবওয়ার্ক

19
একটি maskএবং একটি unmaskআদেশ আছে যা ব্যবহার করা যেতে পারে systemctl। তাই কি systemctl unmask name_of_service.service
কেলারস্পিচার

করছেন systemctl unmask name_of_service.serviceসম্পূর্ণরূপে থেকে আমার সেবা সংজ্ঞা ফাইল মুছে /etc/systemd/system/, তাই এখন আমি এটা ফিরে আবার যোগ করতে হবে। যদি এটি আবার
মুখোশহীন

1
হাই এল্ডামির, /etc/systemd/systemকেবলমাত্র পরিষেবার প্রতীকী লিঙ্কগুলি। আপনার অ্যাড উচিত *.serviceফাইল /lib/systemd/systemকোথা থেকে এটি লিঙ্ক করা হবে /etc/systemd/systemযদি আপনি enableসেবা। maskএর সাথে একটি লিঙ্ক তৈরি করছে /dev/nullএবং unmaskএই লিঙ্কটি সরিয়ে দিচ্ছে এবং /etc/systemd/systemস্পষ্টতই কেউ কোনও ফাইল রাখলে কোনও তাত্পর্য হয় না।
কেলারস্পিচার

3

hostname.serviceরিডানড্যান্ট হিসাবে মুখোশযুক্ত কারণ systemdশুরুর সময় হোস্টনামটি (/ ইত্যাদি / হোস্টনাম থেকে) খুব তাড়াতাড়ি সেট করে।

এই সেটিংটি দেবিয়ান সিস্টেমযুক্ত প্যাকেজটি সরবরাহ করে।

$ ls -l /lib/systemd/system/hostname.service
lrwxrwxrwx 1 root root 9 Apr  8 22:47 /lib/systemd/system/hostname.service -> /dev/null
$ dpkg-query --search /lib/systemd/system/hostname.service
systemd: /lib/systemd/system/hostname.service

একইভাবে, ডেবিয়ান এখন haltসিস্টেমে শেল স্ক্রিপ্ট ছাড়াই চলতে পারে , এটি সিস্টেমেড -শাটডাউন ( এখানে উত্স কোড ) দ্বারা পরিচালিত হয় ।

কোনও পরিষেবাদি যদি ম্যানুয়ালি করা হয় তবে /etc/systemd/systemতার পরিবর্তে মুখোশটি ইনস্টল করা হবে।

পরিষেবাগুলি যখন ডেবিয়ান / উবুন্টুতে সরানো হয় তখন তাদের মুখোশ দেওয়া হয় । কেন জানি না।


0

যেহেতু আপনি মুখোশধারার অবস্থার বিষয়ে তথ্যের জন্য অনুরোধ করছেন, তাই এটি উল্লেখ করা জরুরী যে এটি কোনও পরিষেবাতে লক্ষ্য করা যায় যে শুরু করার পরে, যদি এটির সংজ্ঞা দেওয়া হয়, পুনরায় লোড করা হয় (সিস্টেমটেল ডেমন-রিলোড) এবং নতুন রাজ্যটি ঠিক নয় । এটি বোঝার জন্য একটি সহজ উদাহরণ হ'ল নিম্নলিখিত পরিস্থিতি:

a) the service is running well (already started)
b) edit the service definition file and delete everything in its contents
c) reload
d) state masked will be observed too

সুতরাং, মুখোশযুক্ত রাষ্ট্রটি অনুচিত পরিষেবা সংজ্ঞা থেকে উদ্ভূত হতে পারে। অতএব, ব্যবহারকারীর অকার্যকরভাবে পরিষেবাটি সম্পাদনা করে আনমস্কড স্টেট প্ররোচিত করতে পারে।

পর্যবেক্ষণ: এটি উদ্দেশ্যমূলকভাবে ঘটে কিনা তা আমি নিশ্চিত নই বা এটি একটি সরল বাগ (ডিফল্ট বিকল্প), তবে এটি ভাগ করে নেওয়া কিছু আকর্ষণীয় তথ্য হতে পারে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.