"সিডি" / sys / কার্নেল / ডিবাগ / ট্রেসিংয়ের মধ্যে অনুমতি পরিবর্তনের কারণ হয়ে থাকে


10

আমি আজ সত্যিই একটি অদ্ভুত সমস্যার মুখোমুখি হয়েছি এবং এ সম্পর্কে সম্পূর্ণ অসহায়।

আমি পরিচালনা করি এমন কয়েকটি সার্ভার নাগিওসের সাথে পর্যবেক্ষণ করা হয়। সম্প্রতি আমি এই ত্রুটিটি সহ একটি ডিস্ক ব্যবহারের তদন্তটি ব্যর্থ হতে দেখেছি:

ডিস্ক ক্রিটিকাল - / sys / কার্নেল / ডিবাগ / ট্রেসিং অ্যাক্সেসযোগ্য নয়: অনুমতি অস্বীকৃত

আমি তদন্ত করতে চেয়েছিলাম এবং আমার প্রথম চেষ্টাটি ছিল এই ডিরেক্টরি অনুমতিগুলি যাচাই করা এবং এটি অন্য সার্ভারের সাথে (যিনি ভাল কাজ করছেন) এর সাথে তুলনা করুন। আমি ওয়ার্কিং সার্ভারে যে কমান্ডগুলি দৌড়েছি তা এখানে রয়েছে এবং আপনি দেখতে পাবেন যে আমি cdডিরেক্টরিতে প্রবেশের সাথে সাথেই এর অনুমতিগুলি পরিবর্তন করা হয়েছে:

# Here we've got 555 for /sys/kernel/debug/tracing
root@vps690079:/home/admin# cd /sys/kernel/debug
root@vps690079:/sys/kernel/debug# ll
total 0
drwx------ 30 root root 0 Jul 19 13:13 ./
drwxr-xr-x 13 root root 0 Jul 19 13:13 ../

dr-xr-xr-x  3 root root 0 Jul 19 13:13 tracing/
drwxr-xr-x  6 root root 0 Jul 19 13:13 usb/
drwxr-xr-x  2 root root 0 Jul 19 13:13 virtio-ports/
-r--r--r--  1 root root 0 Jul 19 13:13 wakeup_sources
drwxr-xr-x  2 root root 0 Jul 19 13:13 x86/
drwxr-xr-x  2 root root 0 Jul 19 13:13 zswap/

# I cd into the folder, and it (./) becomes 700!!
root@vps690079:/sys/kernel/debug# cd tracing/
root@vps690079:/sys/kernel/debug/tracing# ll
total 0
drwx------  8 root root 0 Jul 19 13:13 ./
drwx------ 30 root root 0 Jul 19 13:13 ../
-r--r--r--  1 root root 0 Jul 19 13:13 available_events
-r--r--r--  1 root root 0 Jul 19 13:13 available_filter_functions
-r--r--r--  1 root root 0 Jul 19 13:13 available_tracers


# Next commands are just a dumb test to double-check what I'm seeing
root@vps690079:/sys/kernel/debug/tracing# cd ..
root@vps690079:/sys/kernel/debug# ll
total 0
drwx------ 30 root root 0 Jul 19 13:13 ./
drwxr-xr-x 13 root root 0 Sep 27 10:57 ../

drwx------  8 root root 0 Jul 19 13:13 tracing/
drwxr-xr-x  6 root root 0 Jul 19 13:13 usb/
drwxr-xr-x  2 root root 0 Jul 19 13:13 virtio-ports/
-r--r--r--  1 root root 0 Jul 19 13:13 wakeup_sources
drwxr-xr-x  2 root root 0 Jul 19 13:13 x86/
drwxr-xr-x  2 root root 0 Jul 19 13:13 zswap/

এই আচরণের কারণ কী হতে পারে আপনার কোনও ধারণা আছে?
পার্শ্ব নোট, chmod ব্যবহারের অনুমতি পুনরায় etablish করতে প্রোব ঠিক করা হয় না বলে মনে হচ্ছে।


1
টার্মিনাল ইনপুটের নমুনাগুলি সরবরাহ করার সময়, নন-স্ট্যান্ডার্ড এলিয়াসের প্রতিস্থাপনের বিষয়ে বিবেচনা করুন যেমন llতারা যে কমান্ডগুলির জন্য দাঁড়ায়।
রোমান ওদাইস্কি

2
@ রোমানঅডাইস্কি উবুন্টুতে এটি একটি পূর্বনির্ধারিত নাম, সম্ভবত এটি না
জানতেন যে

@TecloM যা বলেছে তার উপরে, এটি আপনার কার্নেল সংস্করণের জন্য কার্নেল বাগের মতো দেখাচ্ছে। 4.19.0-4 এ আচরণটি স্বাভাবিক।
ভি 13

উত্তর:


20

/ sys

/sysহয় sysfs, একটি সম্পূর্ণরূপে ভার্চুয়াল যা বর্তমান সিস্টেমের কার্নেল এবং হার্ডওয়্যার কনফিগারেশন প্রতিফলিত, এবং যে কোনো বাস্তব ডিস্ক স্থান গ্রাস না মেমরি কার্নেল কাঠামোর মধ্যে দৃশ্য। এতে নতুন ফাইলে এবং ডিরেক্টরিগুলি সাধারণ ফ্যাশনে লেখা যায় না।

এটিতে ডিস্ক স্পেস মনিটরিং প্রয়োগ করা কার্যকর তথ্য সরবরাহ করে না এবং এটি প্রচেষ্টা ব্যর্থ। এটিতে অন্যান্য র‌্যাম-ভিত্তিক ভার্চুয়াল ফাইল সিস্টেমগুলির জন্য মাউন্ট পয়েন্ট থাকতে পারে ...

/ Sys / kernel / ডিবাগ

/sys/kernel/debugএর জন্য স্ট্যান্ডার্ড মাউন্ট পয়েন্ট debugfsযা বিভিন্ন কার্নেল ডিবাগিং এবং ট্রেসিং বৈশিষ্ট্যগুলির জন্য একটি alচ্ছিক ভার্চুয়াল ফাইল সিস্টেম।

এটি ডিবাগিং বৈশিষ্ট্যগুলির জন্য, এটি উত্পাদন ব্যবহারের জন্য অপ্রয়োজনীয় বলে মনে করা হয় (যদিও আপনি বর্ধিত সিস্টেমের পরিসংখ্যান বা এর অনুরূপ জন্য কিছু বৈশিষ্ট্য ব্যবহার করতে পারেন)।

যেহেতু debugfsবেশিরভাগ ক্ষেত্রে উইলের দ্বারা প্রদত্ত বৈশিষ্ট্যগুলি ব্যবহার করা rootযাইহোক হওয়া প্রয়োজন , এবং এর প্রাথমিক উদ্দেশ্য কার্নেল বিকাশকারীদের ডিবাগ তথ্য সরবরাহের একটি সহজ উপায় হ'ল এটি কিছুটা "প্রান্তের কাছাকাছি" হতে পারে।

যখন কার্নেলটি লোড করা হয়েছিল, তখন কার্নেল ট্রেসিং সাবসিস্টেমের জন্য আরম্ভের রুটিনটি নিজের জন্য /sys/kernel/debug/tracingডিবাগ অ্যাক্সেস পয়েন্ট হিসাবে নিবন্ধিত হয়েছে, এটি প্রথমবার ব্যবহার না হওয়া অবধি কোনও আরম্ভকরণকে পিছিয়ে রাখে (ট্রেসিং সাবসিস্টেমটির রিসোর্স ব্যবহারকে হ্রাস করে যদি এটি সক্রিয় হয়) কোন দরকার নেই). আপনি যখন cdডিরেক্টরিতে যান, এই স্থগিত সূচনাটি ট্রিগার করা হয়েছিল এবং ট্রেসিং সাবসিস্টেমটি নিজেকে ব্যবহারের জন্য প্রস্তুত করে তুলেছিল। বাস্তবে, মূলটি /sys/kernel/debug/tracingপ্রথমে কোনও পদার্থবিহীন একটি মরীচিকা ছিল এবং এটি তখনই "আসল" হয়ে যায় যখন আপনি (এবং কারণ) আপনার cdআদেশ দিয়ে এটি অ্যাক্সেস করেছিলেন ।

debugfs কোনও আসল ডিস্ক স্পেস ব্যবহার করে না: কার্নেলটি বন্ধ হয়ে গেলে এর মধ্যে থাকা সমস্ত তথ্য অদৃশ্য হয়ে যায়।

/ Sys / FS / নির্ধারিত সঠিক cgroup-

/sys/fs/cgroupএকটি- tmpfsটাইপ র‌্যাম-ভিত্তিক ফাইল সিস্টেম যা বিভিন্ন চলমান প্রক্রিয়াগুলি নিয়ন্ত্রণ গ্রুপগুলিতে গোষ্ঠী করতে ব্যবহৃত হয় । এটি আসল ডিস্কের স্থানটি মোটেই ব্যবহার করে না। তবে যদি এই ফাইলসিস্টেমটি কোনও কারণে প্রায় সম্পূর্ণ হয়ে ওঠে তবে এটি কেবল ডিস্কের জায়গার বাইরে চলে যাওয়ার চেয়ে গুরুতর হতে পারে : এর অর্থ হতে পারে

ক) আপনি নিখরচায় র‌্যামের বাইরে চলেছেন,

খ) কিছু মূল-মালিকানাধীন প্রক্রিয়া আবর্জনা লিখছে /sys/fs/cgroup, বা

গ) সম্ভবত কোনও ক্লাসিক "কাঁটাচামচ বোমা" এর স্টাইলে তবে systemdবেসড সার্ভিসেস বা অনুরূপ কিছু সহ একটি সত্যিকারের অযৌক্তিক সংখ্যক নিয়ন্ত্রণ গোষ্ঠী তৈরি হচ্ছে is

শেষের সারি

ডিস্কের ব্যবহারের তদন্তটি /sysবাদ দেওয়া উচিত কারণ কোনও কিছুতে /sysকোনও ডিস্কের নীচে কিছুই সংরক্ষণ করা হয় না।

আপনার যদি নজরদারি করতে হয় তবে আপনার /sys/fs/cgroupএটির জন্য একটি উত্সর্গীকৃত তদন্ত সরবরাহ করা উচিত যা জেনেরিক ডিস্ক স্পেস প্রোবের চেয়ে আরও অর্থবহ সতর্কতা সরবরাহ করবে।


1
আমার যতটুকু বিবরণ প্রয়োজন তার উত্তর সহ ধন্যবাদ! আমি /sysআমার পর্যবেক্ষণের সীমা থেকে বাদ দেব।
zessx

1
@ জেসেক্স: এছাড়াও বাদ দিন /procএবং সম্ভবত /dev(কারণ এটি যদি 100% র্যাম-ব্যাকড না হয় তবে একদিকে এটিতে এমন অনেকগুলি ফাইল এবং ডিরেক্টরি রয়েছে যা বিভিন্ন উপায়ে "অদ্ভুত" এবং অন্যদিকে, যদি আপনি আসলে থাকেন তবে এক টন ডিস্ক স্পেস ব্যবহার করুন /dev, আপনার সেটআপটি ভয়াবহভাবে ভেঙে গেছে এবং আপনার পুরো আগুন জ্বলতে হবে)।
কেভিন

" /sysহয় sysfs, একটি সম্পূর্ণরূপে RAM- ভিত্তিক ভার্চুয়াল ফাইল সিস্টেম" - আমি প্রায় নিশ্চিত বিষয়বস্তু আছি sysfs100% ইন-কার্নেল ডাটা স্ট্রাকচার থেকে সংশ্লেষিত হয় এবং না না র্যাম কোথাও বসবাস করে। আসলে, আমি যুক্তি দিয়ে বলব যে "র্যাম-ভিত্তিক ভার্চুয়াল ফাইল সিস্টেম" একটি অক্সিমোরন: হয় এটি র্যাম-ভিত্তিক, অর্থাত্ একটি ব্যাকিং স্টোর রয়েছে (এমনকি যদি এটি একটি ফাইল সিস্টেমের জন্য একটি প্রচলিত অপ্রচলিত ব্যাকিং স্টোরও থাকে) তবে তা হয় ভার্চুয়াল নয়, বা এটি ভার্চুয়াল, তারপরে এর কোনও ব্যাকিং স্টোর নেই।
Jörg ডব্লু মিট্টাগ

1
@ জার্গডব্লিউমিত্যাগ নোট করুন যে আমি খুব সাবধানতার সাথে বলা এড়ানো sysfsএকটি র‌্যামডিস্ক। ইন-কার্নেল ডেটা স্ট্রাকচারগুলি কোথায় র‌্যামে না থাকলে বাস করবে? আমি সম্মত যে শব্দ "ভার্চুয়াল" এখানে সমস্যাযুক্ত, যেমনটা আপনি সচেতন থাকবেন উপরে হতে পারে সব ফাইলসিস্টেম ড্রাইভার Linux kernel- র মধ্যে ভিএফএস (ভার্চুয়াল ফাইল সিস্টেম) লেয়ার প্রয়োগ করা হয় এখনও অন্য অর্থে "ভার্চুয়াল" ব্যবহার হয়, সমস্ত সম্ভাব্য ফাইল সিস্টেমের জন্য অভিন্ন বিমূর্তি। তবে প্রকৃত ফাইল সিস্টেমগুলি থেকে কীভাবে এবং কীভাবে পৃথক, সংক্ষিপ্তভাবে এটি বর্ণনা করা শক্ত , কারণ মূল পয়েন্টটি স্টিক করার জন্য এটি কেবল পটভূমির তথ্য ছিল। procsysfs
telcoM

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