কার্নেল বিভাগ 9 ম্যানপেজগুলি কীভাবে ডকুমেন্ট ফাংশন, ডেটা স্ট্রাকচার এবং শিরোনামগুলি তৈরি করতে পারে?


10

কার্নেল সূত্র ধারণ ফাংশন এবং ডাটা স্ট্রাকচার যা নথিভুক্ত করা হয় উদাহরণস্বরূপ, panic.c:

/**
 *  panic - halt the system
 *  @fmt: The text string to print
 *
 *  Display a message, then perform cleanups.
 *
 *  This function never returns.
 */
void panic(const char *fmt, ...)

প্রতিবার উত্সের মধ্য দিয়ে যাওয়ার পরিবর্তে, API সমস্ত API গুলি ম্যানপেজ হিসাবে দেখা এবং এই বিদ্যমান নথিপত্র কাঠামোটি উত্সাহিত করা কার্যকর হবে ।


আপনি কীভাবে কার্নেল বিভাগ 9 ম্যানপেজগুলি ইনস্টল / তৈরি করবেন ( /usr/share/man/man9যা) পূর্বোক্ত ফাংশন এবং ডেটা কাঠামো নথি করে?


2
আপনি যে ডিস্ট্রো ব্যবহার করছেন তা ভাগ করে নেওয়ার যত্ন?
5:34

আপনি কেন এতটা নিশ্চিত যে প্রতি রিলিজের জন্য সর্বদা ম্যান পেজ থাকে (বিশেষত আপডেট)?
এমডিপিসি

1
@ এমডিপিসি কেন একটি ভাল রক্ষণাবেক্ষণ করা কার্নেলের কোনও ম্যান পেজ থাকবে না, আমি আমার প্রশ্নটি বৈধ বলে মনে করি
কাকাহ

3
"আপনার xMLto ইনস্টল করা দরকার" মনে হচ্ছে জায়গাটি শুরু হওয়ার মতো, না?
ব্রায়াম

@ ব্রামাল আশ্চর্য আপডেট করেছেন :(
কাকহ

উত্তর:


6

বিষয়বস্তু হয় সরাসরি পার্স (এছাড়াও দেখুন এই থেকে) সোর্স গ ফাইল 1 :

এম্বেডড, 'সি' বান্ধব, বজায় রাখা সহজ, তবে লিনাক্স কার্নেলের ফাংশন এবং ডেটা স্ট্রাকচারের ধারাবাহিক এবং নিষ্কাশনযোগ্য ডকুমেন্টেশন সরবরাহ করার জন্য, লিনাক্স কার্নেল ডকুমেন্টিং ফাংশন এবং তাদের পরামিতি, এবং কাঠামো এবং তাদের জন্য একটি ধারাবাহিক স্টাইল গ্রহণ করেছে সদস্যরা।

এই ডকুমেন্টেশনের ফর্ম্যাটটিকে কার্নেল-ডক ফর্ম্যাট বলা হয়। এটি এই ডকুমেন্টেশন / কার্নেল-ডক-ন্যানো-হাউটো. টেক্সট ফাইলটিতে নথিভুক্ত করা হয়েছে।

এই স্টাইলটি কয়েকটি সাধারণ কনভেনশন ব্যবহার করে উত্স ফাইলগুলির মধ্যে ডকুমেন্টেশন এম্বেড করে। স্ক্রিপ্টস / কার্নেল-ডক পার্ল স্ক্রিপ্ট, ডকুমেন্টেশন / ডকবুকের কিছু এসজিএমএল টেম্পলেট এবং অন্যান্য সরঞ্জামগুলি এই কনভেনশনগুলি বুঝতে পারে এবং বিভিন্ন নথিগুলিতে এই এমবেডড ডকুমেন্টেশনগুলি নিষ্কাশন করতে ব্যবহৃত হয়। [...]

উদ্বোধনী মন্তব্য চিহ্ন "/ **" কার্নেল-ডক মন্তব্যের জন্য সংরক্ষিত। শুধুমাত্র চিহ্নিত মন্তব্যগুলি কার্নেল-ডক স্ক্রিপ্ট দ্বারা বিবেচনা করা হবে, এবং চিহ্নিত কোন মন্তব্য অবশ্যই কার্নেল-ডক ফর্ম্যাটে থাকতে হবে।

যার অর্থ কেবলমাত্র এই ধরণের বিন্যস্ত মন্তব্যগুলিই এইভাবে বের করা যেতে পারে এবং আপনি এই প্রক্রিয়া দ্বারা ব্যবহৃত পার্ল স্ক্রিপ্টটি উত্তোলন করতে পারেন :kernel-doc make

kernel-doc [ -docbook | -html | -html5 | -text | -man | -list ]
  [ -no-doc-sections ]
  [ -function funcname [ -function funcname ...] ]
  c file(s)s > outputfile

এবং সেইজন্য আপনি ম্যান্ডোক্স টার্গেটের মধ্যে সীমাবদ্ধ নন :

ইনস্টলেশনের পরে, "পিএসডিওকস তৈরি করুন", "পিডিএফডোকস তৈরি করুন", "এইচটিএমলডোকস তৈরি করুন", বা "ম্যান্ডোকস তৈরি করুন" অনুরোধ করা ফর্ম্যাটে ডকুমেন্টেশন রেন্ডার করবে।

কার্নেল সংগ্রহস্থল / উত্সে ড্রাইভারের জন্য নির্দিষ্ট পাঠ্য ফাইল রয়েছে। আরও সাধারণভাবে, তাদের লিনাক্স ম্যান-পৃষ্ঠাগুলি প্রকল্প ( man8 মাধ্যমে man8 ) ডাউনলোডের জন্য উপলব্ধ । সর্বশেষ নোটে কার্নেল.অর্গ কিছু আউটপুট ডকুমেন্টেশন বজায় রাখে ।


১. কার্নেলটি কেবলমাত্র এমন ঘটনা নয় যেখানে ম্যান্যাপগুলি তৈরি করতে যেমন একটি কৌশল ব্যবহৃত হয়। জিএনইউ কোর্টিলস হ'ল এরকম আরও একটি মামলা; এর বেশিরভাগ ম্যানপেইজগুলি ইউটিলিটি উত্স ফাইল ( 1 2 ) এর ব্যবহার ফাংশনে থাকা সামগ্রীর আউটপুট ব্যবহার করে তৈরি করা হয় ।command --help


ম্যান্ডোকগুলি আমাকে ছুঁড়ে ফেলুনMakefile:19: /Documentation/DocBook/media/Makefile: No such file or directory
আগস্টে কেকেহ

হ্যাঁ আমি এটা আছে কিন্তু Documentation/না উপস্থিত /তার বর্তমান/lib/modules/3.2.0-57-generic-pae/build/
kakeh

@ শায়াম এগুলি মডিউল ইত্যাদির জন্য ফাইলগুলি যেমন আমার এ এর পাঠ্য ফাইলের লিঙ্কের মতো আপনি ./scripts/kernel-doc -man ./**/*.c >mydocউত্স শীর্ষ ডিরেক্টরি থেকে চেষ্টা করতে পারেন এবং সরাসরি উত্সগুলি বিশ্লেষণ করে আপনি সরাসরি কোনও ফাইলে ফাইলে না রাখতে পারেন কিনা দেখুন can ।

4

ধরে নিচ্ছি আপনি উবুন্টু ব্যবহার করছেন,

apt-get install linux-manual-3.2

বা অনুরূপ (সঠিক সংস্করণটি চয়ন করুন)। আরও একটি ডকুমেন্টেশন প্যাকেজ রয়েছে

apt-get install linux-doc

তবে এটি এইচটিএমএল।



@ শ্যাম উদাহরণ?
ফাহিম মিঠা

1
আর্চ (ব্যাং) এ আমার আছে: লিনাক্স- ম্যানপেজগুলি 3.14-1 যা বিভাগ 9 ম্যানপেজগুলি অন্তর্ভুক্ত করেছে! ধন্যবাদ! একটি উদাহরণ kcalloc.9.gz । তাদের মধ্যে প্রায় 4000 রয়েছে ...

@ ফাহিম মিঠা দেখার ভীতু man alloc_register_regionকিন্তু বলেছেন যে কোনও ম্যানুয়াল এন্ট্রি ডক্স ম্যান পেজ থেকে আলাদা নয় ??
Kakeh

@ ফাহিমমিঠা আমি মনে করি না কার্নেলের নিম্ন স্তরের এপিআই লিনাক্স-ডকের সাথে উপলব্ধ!
Kakeh

3

কার্নেল উত্স কোডটি ডাউনলোড করুন এবং উত্স dir এক্সিকিউট করুন

make mandocs

লোকটির নথি তৈরি হওয়ার পরে, কার্যকর করুন

make installmandocs

এটি ম্যানুয়াল পৃষ্ঠাগুলিতে ইনস্টল করবে /usr/local/man/man9/। এখন আপনি টাইপ করে ম্যান পৃষ্ঠাগুলি দেখতে পারবেন man <api-name>, বা যদি আপনি vimকেবল Kএপিআই নামের উপর টিপতে সম্পাদনা করছেন ।


তবে মেকফিলটির /usr/src/linux-headers-5.0.0-38/Makefileকোনও নিয়ম mandocsনেইinstallmandocs
হার্ডসম্যান ২r
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.