অনুপস্থিত সিস্টেমড ইউনিটগুলি কীভাবে সরিয়ে ফেলবেন?


40

সিস্টেমেড ইউনিটগুলির আর ফাইল নেই যা সরিয়ে ফেলতে হয় তা নির্ধারণ করতে আমার সমস্যা হচ্ছে। তারা এখনও কোনওভাবে সিস্টেমে লম্বা বলে মনে হচ্ছে।

পুরানো ভাঙা ইউনিটগুলি আমি অপসারণের চেষ্টা করছি:

core@ip-172-16-32-83 ~ $ systemctl list-units --all firehose-router*
  UNIT                       LOAD      ACTIVE SUB    DESCRIPTION
<E2><97><8F> firehose-router@02.service not-found failed failed firehose-router@02.service
<E2><97><8F> firehose-router@03.service not-found failed failed firehose-router@03.service

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

2 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.

ফাইলগুলির অস্তিত্ব নেই, তবুও একটি পুনরায় লোডের এখনও এই ইউনিটগুলি বিলম্বিত রয়েছে:

core@ip-172-16-32-83 ~ $ systemctl list-unit-files firehose-router@02.service
core@ip-172-16-32-83 ~ $ sudo systemctl daemon-reload
core@ip-172-16-32-83 ~ $ systemctl list-units --all firehose-router*
  UNIT                       LOAD      ACTIVE SUB    DESCRIPTION
<E2><97><8F> firehose-router@02.service not-found failed failed firehose-router@02.service
<E2><97><8F> firehose-router@03.service not-found failed failed firehose-router@03.service

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

2 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.

তাদের সাথে সম্পর্কিত কোনও ফাইল নেই যা আমি খুঁজে পেতে পারি:

core@ip-172-16-32-83 ~ $ sudo find /var/run/systemd -name "*firehose-router*"
core@ip-172-16-32-83 ~ $ find /etc/systemd/ -name "*firehose-router*"
core@ip-172-16-32-83 ~ $ find /usr/lib/systemd/ -name "*firehose-router*"
core@ip-172-16-32-83 ~ $

তাহলে আমি কীভাবে এগুলি থেকে মুক্তি পাব?


আপনি এটি উল্লেখ না, কিন্তু আমি তা করতে ব্যর্থ হলে অনুমান যদি আপনি চেষ্টা systemctl disableতাদের, ডান?
দাউদ

2
এটি মাত্র 0 দিয়ে বিদ্যমান exist অক্ষম করার মতো কিছুই নেই (এটি ইতিমধ্যে নিখোঁজ / অক্ষম রয়েছে)।
অ্যান্ডি শিন

আমি এখানে প্রস্তাবিত সমস্ত সমাধান চেষ্টা করেছি (এবং এখন পর্যন্ত নীচে) এবং রিবুট করেছি এবং কিছুই কার্যকর হয়নি nothing আমি যে ইউনিটগুলি সরিয়ে দেওয়ার চেষ্টা করছি সেগুলি একবার ইনস্টল করা হয়েছিল বা ইনস্টল করার চেষ্টা করা হয়েছিল, এবং তারপরে পরবর্তীকালে ভালভাবে সাফ হয়ে যায়। সুতরাং আপাতদৃষ্টিতে অ্যাপ্ট purge সিস্টেমডকে দেওয়া কনফিগারেশনটি সরিয়ে দেয় না। এই "খুঁজে পাওয়া যায় না" ইউনিটগুলির কোনও সমস্যা সৃষ্টি করে কিনা তা এখনও আমার কাছে পরিষ্কার নয়।
উপবৃত্তাকার দর্শন

আমার সন্দেহ হয় আমি সম্ভবত / var / lib / systemd / deb-systemd-helper- সক্ষম / ফাইলগুলিকে মুছতে সক্ষম হতে পারি তবে আমি নিশ্চিত যে আমি এটির সাথে গোলযোগ করতে চাই কিনা am আমি সেখানে দুটি পরিচিত মৃত প্রান্ত রয়েছে বলে মনে হচ্ছে: mariadb.service.dsh- এছাড়াও এবং mysql.service.dsh-এছাড়াও
উপবৃত্তাকার দৃশ্য

@ এলিপিক্যালভিউ এই ফাইলগুলির একটি ব্যাকআপ তৈরি করুন, সেক্ষেত্রে, এবং এরপরে এগুলি সরাবেন?
gf_

উত্তর:


75

আপনি যে কমান্ডটি পরে আছেন systemctl reset-failed


3
ধন্যবাদ! আমি জানি না কেন এটি আমার কাছে বেশি স্পষ্ট ছিল না ...
অ্যান্ডি শিন

5
এটি পরিশেষে একটি "সত্য" পরিষেবা পরিষ্কার করার জন্য কাজ করেছিল, তবে আমার একটি উপাধি পরিষেবা আছে যা যেতে অস্বীকার করে। আমি চেষ্টা disable, daemon-reloadএবং reset-failedকিন্তু ওরফে পরিসেবা হিসাবে আসে আপ not-found inactive deadসবসময়। আমি কোনও ফলাফলের সাথে পরিষেবার নামের সাথে মেলে এমন কোনও কিছুর জন্যও ডিস্ক অনুসন্ধান করেছি।
লাকাতা

3
আমি কেবল এটিতে ছুটে এসেছি এবং systemctl stop <service>আমার পক্ষে কাজ করেছি।
এমপোন্টিলো

একই টাইমারদের জন্য প্রযোজ্য - তাদের reset-failedপরিষ্কার করার আগে তাদের প্রথমে থামানো দরকার ।
rustyx

ধরণের আমার পক্ষে কাজ করেছেন তবে তাদের মুখোমুখি হয়ে আমাকে প্রথমে আনসাক করতে হবে। এছাড়াও, তারপরে একটি মাস্ক এবং আনমাস্ক বন্ধ করতে হয়েছিল যার পরে পুনরায় সেট করা-ব্যর্থ হওয়া অবশেষে সকলের হাত থেকে মুক্তি পেয়ে গেল।
tgunr

2

যখন সিস্টেমড ইউনিট সংজ্ঞা ফাইলগুলি বিশ্লেষণ করে তখন ফাইলটিতে ডেকে আনা অন্য যে কোনও ইউনিট নোট করে - সেগুলি অন্য ইউনিটগুলির উপস্থিত রয়েছে কি না।

$ systemctl --state=not-found --all
> ( ...prints list of 'not-found' units )

$ grep -r "<missing-unit>" /usr/lib/systemd/system
> ( returns files with references to <missing-unit> )

যখন কোনও ইউনিট "পাওয়া যায় না" হিসাবে প্রদর্শিত হয়, এটি অগত্যা কোনও ত্রুটি নয় - আমরা কেবল জানি, একটি স্থানীয় ইউনিট সংজ্ঞাটির সাথে কিছুটা সম্পর্ক আছে বলে দাবি করে। এই সম্পর্কটি আমাদের যত্ন নেওয়া এক নাও হতে পারে। উদাহরণস্বরূপ, এটি "Before:"অন্য কোনও ইউনিট হতে পারে তবে আমরা সেই অন্যান্য ইউনিটটি ব্যবহার করি না।


0

দেখে মনে হচ্ছে সিস্টেমেড লিঙ্কগুলি বজায় রাখে তবে আপনি ইউনিট ফাইলটি মুছলে তাদের কী করবেন তা জানেন না।

আপনি এগুলি ম্যানুয়ালি এবং এগুলি সরিয়ে দেওয়ার চেষ্টা করতে পারেন /etc/systemd/system/suspend.target.wants/তবে অবশ্যই systemctl reset-failedআগের উত্তর থেকে এটি আরও ভাল বিকল্প হিসাবে মনে হচ্ছে।

$ cd /etc/systemd/system
$ sudo mv lock.service /tmp 
$ sudo systemctl disable lock.service
Failed to disable unit: No such file or directory
$ sudo mv /tmp/lock.service .
$ sudo systemctl disable lock.service
Removed /etc/systemd/system/suspend.target.wants/lock.service.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.