এলএসফ কেন ট্রেসস সম্পর্কে অভিযোগ করে?


11

প্রতিটি সম্পাদন lsofট্রেসএফএস সম্পর্কে একটি সতর্কতা জারি করে:

$ lsof any-file
lsof: WARNING: can't stat() tracefs file system /sys/kernel/debug/tracing
      Output information may be incomplete.

$ mount | grep trace
tracefs on /sys/kernel/debug/tracing type tracefs (rw,relatime)

(এটি উবুন্টু 15.10 এ রয়েছে, সম্পূর্ণ আপডেট হয়েছে)

ট্রেসএফএস-এর কি স্বাভাবিক অপারেশনের সময় মাউন্ট করা স্বাভাবিক?
যদি তা lsofহয় তবে আমি কীভাবে এড়িয়ে যেতে বলব ?

উত্তর:


12

আপনার প্রশ্নের উত্তর ফাইল অনুমতিগুলিতে রয়েছে:

চেষ্টা করে দেখুন:

$ ls -l /sys/kernel/debug/tracing
ls: cannot access '/sys/kernel/debug/tracing': Permission denied
$ ls -l /sys/kernel
total 0
...
drwx------  31 root root    0 2016-06-15 11:06:47 debug
...

সুতরাং, সাধারণ ব্যবহারকারীদের অ্যাক্সেসের অনুমতি নেই /sys/kernel/debug/tracingএবং lsofএটি অ্যাক্সেস এড়াতে বলার উপায় নেই বলে মনে হয় ।

আমরা তখন এটি বাগ বা না তা নিয়ে আলোচনা করতে পারি তবে আপনার প্রশ্নের উত্তরটি এ পর্যন্ত ফুটে ওঠে।


"বাগ" বলতে কী বোঝ? "lsof" "sudo" বা "root" হিসাবে কার্যকর করা দরকার।
রিঞ্জউইন্ড

1
lsof কে রুট হিসাবে চালানোর দরকার নেই। আমরা এর সুরক্ষা সম্পর্কে আলোচনা করতে পারি (man lsof দেখুন) তবে অবশ্যই এটি কেবল সুপারইজার অনুদানের সাথে চালানোর দরকার নেই। এটি / ইউএসআর / বিন ইন / ইউএসআর / এসবিনে বসে না।
এনজোরআর

"এটি এড়ানোর কোনও উপায় নয়" একটি সঠিকভাবে গ্রহণযোগ্য উত্তর। তদাতিরিক্ত, এটি প্রদর্শিত হয় যে ট্রেসএফএস আর উবুন্টু 16.04 হিসাবে ডিফল্টরূপে মাউন্ট হয় না; lsofসাধারণ ব্যবহারকারী হিসাবে চলার সময় সতর্কতাটি এখন অদৃশ্য হয়ে গেছে।
জিল্ক

3
আমি 16.04 এ আছি, এটি অদৃশ্য হয়নি - এখনও একটি সমস্যা।
টেনল্যাফটফিনজারগুলি

@ টেনলফ্টফিনজারগুলি এটি আমার আপ টু ডেট কুবুন্টুতে কাজ করছে ১ 16.০৪!
এনজোরআর

3

আমারও একই সমস্যা ছিল এবং এই উত্তরটি আমাকে সমস্যাটি আরও ভালভাবে বুঝতে সাহায্য করেছিল।

আমি খুঁজে পেয়েছি যে বিরক্তিকর সতর্কতা অপসারণের একটি উপায় হ'ল ডিবাগগুলি হ'ল

mount | grep debugfs 
none on /sys/kernel/debug type debugfs (rw,_netdev)

sudo umount $(mount | grep debugfs | awk '{print $3}')

আপনি যদি এখন চালান lsofতবে কোনও সতর্কতা নেই।


2
এই কারণেই আমি খোঁজ করতে এসেছি। ত্রুটিটি কেন প্রদর্শিত হচ্ছে তা আমি এতটা চিন্তা করি না । আমি সত্যিই কেবল এটি যেতে চাই। ধন্যবাদ দামকো!
সিজ্যাক

umount: /sys/kernel/debug: target is busy.
মিসানজেল 4'19

2

সমস্যাটি হ'ল আপনার কাছে ডিবাগ ডিরেক্টরিটি অ্যাক্সেস করার অনুমতি নেই। Tracefs ডিরেক্টরিটি তৈরি করা হয়েছিল যাতে লোকেরা সরাসরি / sys / কার্নেল / ট্রেসিংয়ে ট্রেসিং ডিরেক্টরিটি মাউন্ট করতে পারে এবং ডিবাগগুলি সক্ষম করার প্রয়োজন হয় না। পশ্চাদপদ সামঞ্জস্যের জন্য, ডিবাগস ডিরেক্টরিটি মাউন্ট করার সময়, এটি স্বয়ংক্রিয়ভাবে ডিবাগগুলির "ট্রেসিং" ডিরেক্টরিতে ট্রেসফগুলি মাউন্ট করবে।

এখন আপনি যখন lsof সঞ্চালন করেন এটি / proc / ফাইল সিস্টেম ফাইল এবং / proc / মাউন্টগুলির দিকে নজর দেয়। এটি দেখতে পাচ্ছে যে ট্রেসফেসগুলি / sys / কার্নেল / ডিবাগ / ট্রেসিং এ মাউন্ট করা হয়েছে এবং এটি স্থির করার চেষ্টা করে। দুর্ভাগ্যক্রমে, যেহেতু / sys / কার্নেল / ডিবাগ নন-রুট ব্যবহারকারীদের এর ভিতরে দেখতে দেয় না, আপনি / sys / কার্নেল / ডিবাগের মধ্যে ডিরেক্টরিটি "ট্রেসিং" স্থির করার চেষ্টা করার সময় ত্রুটি বার্তাটি পাবেন। আপনি যদি ডিবাগগুলি ডিরেক্টরিটি আনমাউন্ট করেন তবে সতর্কতাটি চলে যাবে।


0

সতর্কতা স্টাডারকে লেখা হয়েছে। আপনি সর্বদা এটি কেবল / dev / নালটিতে পুনর্নির্দেশ করতে পারেন:

lsof <any-file> 2>/dev/null

চিয়ার্স,

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