আমি কীভাবে সেই ফাইলগুলিকে তালিকাবদ্ধ করতে পারি যা কেবলমাত্র পঠনের জন্য পুনরায় সঞ্চারিত হতে বাধা দেয়?
ক) প্যাকেজে fuserপাওয়া যাবে psmisc; এটি এমন একটি ব্যবহারের fuserক্ষেত্র যেখানে আমি চকচকে দেখি এবং এর চেয়ে বেশি দরকারী lsof।
# fuser -v -m / 2>&1 | grep '[Ff]r.e'
এটি ফাইলগুলি পড়ার জন্য (চ) এবং লেখার জন্য (এফ) সমস্ত প্রক্রিয়া দেখায়। যে ফাইলগুলি কেবলমাত্র পঠন করতে পুনরায় সঞ্চারিত হতে বাধা দিতে পারে সেগুলি হ'ল সেগুলি লেখার জন্য খোলা হয়েছে (এফ)।
লেখার জন্য উন্মুক্ত রুট ডিরেক্টরি ফাইলের সাথে চালানো কার্যকর একটি প্রক্রিয়াগুলি হত্যা করুন ie
# for fupid in $(fuser -v -m / 2>&1 | grep Fr.e | awk '{print $2}'); do kill $fupid; done
যে systemdএকটি সতর্কতা সঙ্গে মন্তব্য উপরে । যদি systemdহয় initতাহলে fuserএটি দেখতে পাবেন এবং সেখানে অনান্য কারণের ওপর। সঙ্গে systemdচলমান, এটা করতে পারেন (পুনরায়) প্রসেস তোমার পেছনে, শুরু এমনকি যদি তারা ঠিক শনাক্ত করে থাকেন এবং নিহত fuser। systemdপ্রচলিত তুলনায় অনেক বেশি উন্নত sysvinit।
খ) বর্ণনায় আপডেটের আপডেটে সিস্টেমটি কেবলমাত্র ... initএবং gettyএখনও চলছে ...
আমি মন্তব্যটি দেখেছি যা বলছে যে সিস্টেমটি ব্যবহার করছে না systemd, এটি ব্যবহার করছে init। প্রসারিত উপর, systemd হয় init । মন্তব্যটি স্পষ্ট করে বলেননি sysvinit, তাই আমি ধরে নিচ্ছি যে প্রশ্নে থাকা সিস্টেমটি সম্ভবত ডিফল্ট প্রসারিতটি systemdব্যবহার করছে init। বা এই পোস্টে হোঁচট খাচ্ছে এমন অন্যান্য ব্যক্তিরা, যারা প্রসারিত ব্যবহার করছেন তারা systemdএই অংশটি দরকারী বলে মনে করেন।
প্রতি ডেবিয়ান উইকি ,
সিস্টেম ইনিশিয়ালাইজেশন প্রক্রিয়া টি ডিমন দ্বারা পরিচালিত হয়। স্কিজে এবং পূর্ববর্তী রিলিজগুলিতে, ডেমনটি সিসভিনিট প্যাকেজ দ্বারা সরবরাহ করা হয় এবং কোনও বিকল্প সমর্থিত হয় না। ইন হুইজি , ডিফল্ট Init ডেমন এখনওsysvinit কিন্তু systemd হল একটি "প্রযুক্তিগত প্রি-ভিউ" পাওয়া যায়। ইন Jessie এবং প্রসারিত , ডিফল্ট Init সিস্টেমsystemd কিন্তু sysvinit করার সুইচিং সমর্থিত।
জেসি থেকে, কেবল সিস্টেমডই সম্পূর্ণরূপে সমর্থিত; sysvinit বেশিরভাগ ক্ষেত্রে সমর্থিত, তবে ডেবিয়ান প্যাকেজগুলির জন্য সিস্টেভিট প্রারম্ভিক স্ক্রিপ্টগুলি সরবরাহ করার প্রয়োজন হয় না। রানিটও প্যাকেজযুক্ত, তবে অন্যদের মতো একই স্তরের পরীক্ষার এবং সমর্থন পায় নি, এবং বর্তমানে পিআইডি 1 হিসাবে সমর্থিত নয়।
systemdদৌড়ানোর সাথে সাথে , মুক্ত করার জন্য কয়েকটি অতিরিক্ত পদক্ষেপ নেওয়া উচিত / যাতে এটি ইস্যু ছাড়াই পুনরুদ্ধার করা যায়।
সম্ভবত এটির system.sliceজন্য systemd-journald.serviceবা systemd-udevd.service(উভয়ের সকেট নির্ভরতা রয়েছে) খোলা ফাইল ধারণ করে । অথবা, যদি NetworkManagerএটি চলমান থাকে তবে এটি রেসপ্যান করতে পারে dhclientযা / var / ... (এবং & / var / এর সর্বদা নিজস্ব ডিভাইস নয়) ইত্যাদিতে ইজারা লিখতে fuserপারে এবং ইত্যাদি খুঁজে পেতে পারে এবং আপনি খুন করে dhclientতবে NetworkManagerঠিক এটিকে আবার শুরু করে।
নৈতিক হ'ল প্রচুর জিনিস স্বয়ংক্রিয় হয় যা 'চায়' / (এবং আরও অনেক কিছু দিয়ে systemd) পারে।
নিশ্চিত হওয়া, এটি যদি সম্ভব হয় তবে systemdরান লেভেল 1 এর সমতুল্য মিলে যায় rescue.target(এবং এটির সাথে runlevel1.targetপ্রতীকী লিঙ্ক rescue.target)।
1) সিস্টেমটি বিচ্ছিন্ন করে শুরু করুন rescue.target
# systemctl isolate rescue.target
এটি আপনাকে মূল পাসওয়ার্ড প্রবেশের অনুরোধ জানাবে; স্ক্রিন নির্দেশাবলী অনুসরণ করুন।
2) উদ্ধার শেল এ, কী চায় / তা সন্ধান করুন।
# systemctl show -p Wants /
সাধারণত, এটি system.slice; যা চায় সবকিছু বন্ধ করুন /। যেমন
# systemctl stop system.slice
3) এই মুহুর্তে, পুনঃসমাংশটি রিপোর্ট করা উচিত নয়mount: / is busy এবং কাজ করা mount -o remount,ro / উচিত । যদি তা না হয় তবে আবার চেক করুন fuser।
4) এফডাব্লুআইডাব্লু; আমি এমন সময়ও দেখেছি umountযখন / যদি অন্য ডিভাইসটি অন্য মাউন্টের উপ-ডিরেক্টরিতে মাউন্ট করা থাকে, যেমন নেস্টেড মাউন্টগুলি ব্যর্থ হয়। উদাহরণস্বরূপ, / var / অথবা / boot / অন্য ডিভাইসে থাকলে (এবং মাউন্ট করা) umount /ব্যর্থ হবে । যদিও এখনও এই ক্ষেত্রে কাজ করা উচিত।mount -o remount,ro /
lsblk নেস্টেড মাউন্টগুলি কল্পনা করতে সহায়ক হতে পারে।
কেন lsof + L1 লিঙ্কযুক্ত থাকা ফাইলগুলি খোলে না?
যেহেতু তারা উপলব্ধ নেই (সকেট বা সর্বাধিক FIFOs এবং পাইপ), তারা আর ফাইল খুলছেন না (পিতামাতার প্রক্রিয়াটি ফাইল বর্ণনাকারী বন্ধ করে দিয়েছে), বা তাদের (এখনও) একটি লিঙ্কের গণনা 1 এর চেয়ে বেশি।
man lsof (8) বিস্তারিত ...
+ | -এল [এল]
এই বিকল্পটি ('+') সক্ষম করে বা ('-') অক্ষম করে ('-') ফাইল লিঙ্ক গণনাগুলির তালিকা, যেখানে তারা উপলব্ধ রয়েছে - যেমন, তারা সকেট, বা বেশিরভাগ ফিফও এবং পাইপের জন্য উপলব্ধ নয়।
নিম্নোক্ত সংখ্যা ব্যতীত + এল নির্দিষ্ট করা থাকলে সমস্ত লিঙ্ক গণনা তালিকাভুক্ত করা হবে। যখন -L নির্দিষ্ট করা হয় (ডিফল্ট), কোনও লিঙ্ক গণনা তালিকাভুক্ত হবে না।
যখন + এল এর পরে একটি নম্বর আসে, কেবলমাত্র সেই সংখ্যার চেয়ে কম লিঙ্ক গণনা করা ফাইলগুলি তালিকাভুক্ত করা হবে । (কোনও নম্বর-এল অনুসরণ করতে পারে না)) ফর্মটির একটি নির্দিষ্টকরণ '' + এল 1 '' লিঙ্কযুক্ত খোলা ফাইলগুলি নির্বাচন করবে। ফর্মটির একটি নির্দিষ্টকরণ +aL1 <file_system>নির্দিষ্ট ফাইল সিস্টেমে লিঙ্কযুক্ত মুক্ত ফাইল নির্বাচন করবে।
wঅথবাuমধ্যেFDকলামlsofআউটপুট, অথবাFএর আউটপুটেfuser -vm /, উদাহরণস্বরূপ। যদিও আমি আপনাকে একটি সম্পূর্ণ তালিকা দিতে পারি না। আপনি নিডস্টার্ট প্যাকেজটি ইনস্টল করতেও পারেন ।