انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: سودو. در 01 خرداد 1401، 12:35 ب‌ظ

عنوان: ( حل شد ) چند پرسش کوچک
ارسال شده توسط: سودو. در 01 خرداد 1401، 12:35 ب‌ظ
درود مهربانان : )
یه دوری زدم تو شاخه ها و دستورات ، چند تا پرسش ذهنم رو مشغول کرد !
۱ . در ls -l ، فیلد دوم از چپ بعد از دسترسی ها چیه ؟
(https://forum.ubuntu-ir.org/index.php?action=dlattach;topic=154960.0;attach=53241;image)
۲ . حجم شاخه proc چرا اینقدر زیاده ؟ اصلا من این همه یجا ندیدم !
(https://forum.ubuntu-ir.org/index.php?action=dlattach;topic=154960.0;attach=53243;image)
۳ . حجم کرنل ، هسته سیستم عامل با اون عظمت واقعا ۷ مگه ؟
(https://forum.ubuntu-ir.org/index.php?action=dlattach;topic=154960.0;attach=53245;image)
۴ . چجوری یه تصویر بزارم مثل باقی توزیع ها مراحل و کارای اینیت در هنگام بوت شدن و بالا اومدن ، پشتش مخفی شه ؟
( پرسش های ریز دیگه ای هم به ذهنم رسید همینجا میپرسم : )
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: ɴɪᴍᴀ در 01 خرداد 1401، 12:46 ب‌ظ
3: compress شدشه : )
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: دانیال بهزادی در 01 خرداد 1401، 12:52 ب‌ظ
۱. گروه
۲. اون سامانهٔ پروندهٔ محازیه. واقعاً وجود نداره.
۳. کرنل، هستهٔ سیستم‌عامل نیست. کرنل ۷ مگه و هستهٔ سیستم‌عامل، حدود ۳۰۰-۴۰۰ مگابایت
۴. از plymouth استفاده کن
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: سودو. در 01 خرداد 1401، 01:43 ب‌ظ
۱ . اون عدده رو میگم ها ، همون که معمولا یک یا دوعه ، اون چیه گروهه دقیقا ؟
۲ . میدونم مجازیه ، خب پس نباید مثل پرونده های مجازی شاخه dev صفر بایت باشن ؟ اصلا حجمم داشته باشن ، چرا اینقدر عجیب زیاد ؟
۳ . نفهمیدم درست ، مگه کرنل همون هسته نیس ؟ وقتی میاد رو رم میشه چهارصد مگ ؟
۴ . سپاس ، برم ببینم چجوری چیکار کنم !
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: Issac در 01 خرداد 1401، 01:49 ب‌ظ
سلام،
قسمت دوم از چپ بعد از دسترسی‌ها میشه گروه،
قسمت اول از چپ بعد از دسترسی‌ها فکر کنم تعداد پیوند‌های سخت اون پرونده باشه،
قسمت دوم از چپ هم فکر کنم پیوند‌های سخت اون پرونده باشه.
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: سودو. در 01 خرداد 1401، 02:16 ب‌ظ
گرفتم چی میخوای بگی اسحاق جان ، حق داری بد گفتم ، منظورم همونه که میگی پیوند سخت هست ، حدس میزدمم خودمم با اینک چند جا بررسی کردم و نتیجه عکس بود : ) مثلا مگه شاخه نما گرفت ها جای دیگه ای پیوند سخت داره ؟
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: nixoeen در 01 خرداد 1401، 03:11 ب‌ظ
از شما انتظار داریم بعد از این همه فعالیت در انجمن، موضوع پست خود رو درست انتخاب کنید :)
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: سودو. در 01 خرداد 1401، 04:06 ب‌ظ
خب واقعا برای هر کدوم از این پرسشای نامربوط به هم ، اون هم پرسشی به این کوچکی ، تاپیک جدا بسازم ؟
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: nixoeen در 01 خرداد 1401، 04:16 ب‌ظ
بله! :)
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: سودو. در 01 خرداد 1401، 04:22 ب‌ظ
بله! :)
باشه ، پس خودتون گفتین دیگه : ) من معمولا پرسش های این چنینی رو مینوشتم یجا ک با هم بپرسم و دلم نمیومد هر کدومو جدا در اختیار یه تاپیک بذارم نمیدونم چرا ! ولی دیگه چی بگم ، دستور از بالاس
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: nixoeen در 01 خرداد 1401، 05:04 ب‌ظ
عالی. اگر «که» هم «ک» ننویسید، خوب میشه.
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: سودو. در 01 خرداد 1401، 05:17 ب‌ظ
انصافا دارم سعی میکنم ، کاری کردید با من که خارج از اینجا هم دارم درست مینویسم 😂 هر چی تلاش میکنم توازن رو نگه دارم نمیشه 😅
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: جعفر فرقانلوژ در 01 خرداد 1401، 07:02 ب‌ظ
داری خوب پیش میری (ط رو خدا همینطوری ادامه بده  ;D (شوخی ;)) )
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: Dragon- در 03 خرداد 1401، 08:33 ب‌ظ
۲- یه فایل‌سیستم مجازی روی /proc/ سوار میشه. اگه با df اون رو بررسی کنید، حجمش رو 0 نشون میده.  نمی‌دونم روش محاسبه df و nautilus چه فرقی داره که نتایج اونها با هم متفاوته.

۳- خود کرنل به تنهایی حجم زیادی نداره. اون ماژول‌هاش روی هم هستند که حجم زیادی دارند. اکثر ماژول‌ها شامل درایور برای سخت‌افزار‌های مختلف هستند، قسمتی از ماژول‌ها برای پشتیبانی از فایل‌سیستم‌ها به کار میرن و قسمتی از اونها قابلیت‌هایی به کرنل اضافه می‌کنند.
اون ماژول‌ها بر اساس نیاز می‌تونند بارگذاری و برداشته بشن. ممکنه توی سیستم شما حدود ۹۰ تا ماژول بارگذاری شده باشند که هر کدوم یه کار خاصی انجام میدن.
خروجی lsmod به شما نشون میده که چه ماژول‌هایی توی کرنل بارگذاری شدند.
lsmodمی‌تونید خروجی رو بدید به wc -l تا به شما بگه خروجی چنتا خط داره. خروجی lsmod، هر ماژول رو توی یه خط نشون میده. پس اگه تعداد خط‌های خروجی lsmod رو داشته باشید، می‌تونید بفهمید که چنتا ماژول توی کرنل بارگذاری شده.
تعداد ماژول‌ها یکی از چیزی که wc -l میگه کمتره. دلیلش اینه که خروجی lsmod اولش یه خط header داره.
مثلا توی سیستم من ۱۰۱ ماژول بارگذاری شده.
ممکنه با توجه به کاری که می‌کنید یا سخت‌افزار‌های متصل، این تعداد تغییر کنه.

۴- plymouth رو نصب کنید. بسته plymouth توی دبیان شامل خود plymouth به همراه چیز‌های لازمش و یه تم پیش‌فرض هست. می‌تونید بسته plymouth-themes رو نصب کنید تا یه سری تم هم نصب بشن.

با اجرای دستور plymouth-set-default-theme بدون هیچ آپشن و آرگومانی می‌تونید اسم تم فعلی plymouth رو ببینید.
با دادن آپشن l-یا list--  به دستور می‌تونید تم‌‌های موجود رو ببینید.

اگه اسم یه تم رو بدون هیچ آپشنی به plymouth بدید، تم فعلی به اون تغییر می‌کنه ولی تا وقتی که initramfs رو دوباره نسازید،  همچنان تم قبلی موقع بوت نمایش داده میشه.

اگه اسم یه تم رو همراه آپشن R- یا rebuild-initrd-- به دستور بدید، تم فعلی به چیزی که مشخص کردید تغییر می‌کنه و initramfs/initrd هم دوباره ساخته میشه.

اگه آپشن r- یا reset-- رو بدید، تم فعلی به تم پیش‌فرض تغییر می‌کنه ولی تا وقتی که initramfs/initrd رو دوباره نسازید، تم قبلی موقع بوت نمایش داده میشه. (تا جایی که امتحانش کردم انگار باگ داره)

اگه آپشن R- یا rebuild-initrd-- رو بدون چیز دیگه‌ای به دستور بدید، initramfs/initrd رو دوباره میسازه، همین. ولی اگه فایل‌های plymouth مشکل داشته باشند، اتفاقی نمی‌افته و یه خطا می‌گیرید.

دادن آپشن h- یا help-- باعث میشه یه راهنمای کوچک درباره دستور نشون داده بشه.
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: سودو. در 03 خرداد 1401، 11:18 ب‌ظ
سپاس بزرگوار : )
۲ . اون ماژول ها پرونده هستن ؟ اگر بله کجا قرار میگیرن ؟
اگر یک هسته یکپارچه اینقد کم حجمه و این همه ماژول میتونه داشته باشه ، وضعیت میکرو کرنل چیه پس ؟ چون شنیده بودم که سازنده کرنل مینیکس گفته بوده که لینوس بزرگ ترین اشتباهش طراحی یکپارچه کرنلش بود ! یا مگه نمیگفتن همه درایور ها همراه خود کرنلن ؟ ولی طبق گفته شما جدا و در نقش ماژول هستن ، کلا قاطی کردم گمونم ، یه توضیحی ریزی میدید ؟
هر بار سخت افزار جدیدی متصل میشه قطعا درایورش هست که استفاده بشه درسته ؟ پس یعنی همه درایور های همه سخت افزار های جهان رو جمع کرده ، صحیح ؟ یعنی اینا روی هم چقد فضا گرفتن ؟
۳ . تم ؟ من فقط یه تصویر میخوام بزارم روی اون زمانی که داره یه عالم چرت و پرت و نوشته های مربوط به لحظات بوت رو نشون میده ، یعنی این همون تم هست ؟ چجوری میشه خودم بسازم یکی ؟
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: Dragon- در 05 خرداد 1401، 02:56 ب‌ظ
۲- بله فایل هستند. توی مسیر زیر ذخیره میشن:
/lib/modules/KERNEL_RELEASEبه جای KERNEL_RELEASE اسم انتشار کرنل قرار می‌گیره. مثلا اینها:
5.17.0-1-amd64
5.17.9-arch1-1

ماژول‌ها همونجا نیستند، بلکه توی یه سری زیر دایرکتوری قرار دارند. معمولا پسوند ماژول‌ها ko. هست. ممکنه ماژول‌های کرنل فشرده شده باشند تا جای کمتری بگیرند، کرنل آرچ که اینجوریه و ماژول‌هاش با xz فشرده شدند. در اینصورت پسوند فشرده‌سازی هم به پسوند ماژول اضافه میشه. مثلا ko.xz.

ماژول‌ها قسمتی از خود کرنل هستند که می‌تونند داخل کرنل بارگذاری بیشن. در اصل وقتی یه ماژول رو توی کرنل بارگذاری می‌کنید، یه سری کد به کد‌های کرنل اضافه میشه.
میشه ماژول‌ها رو داخل خود کرنل هم کار گذاشت. همینطور که بعضی از ماژول‌های کوچک داخل خود کرنل قرار دارند. هر چند فایل‌ اونها همچنان توی /lib/modules/ پیدا میشه.
ماژول‌هایی که داخل خود کرنل قرار دارند، نمی‌تونند unload بشن. کرنل همیشه به اونها دسترسی داره و متغیر‌ها و توابع اونها همیشه مقداری از رم رو اشغال می‌کنند.
میشه همه‌ی ماژول‌ها رو داخل کرنل کار گذاشت تا به فایل جدا نیاز نشده ولی اینجوری حجم کرنل خیلی زیاد میشه. موقع اجرا هم رم زیادی توسط اونها اشغال میشه بدون اینکه نیازی به اون ماژول‌ها داشته باشید. بعیده که بخواهید چند گیگابایت از رم شما توسط درایور‌هایی اشغال بشه که حتی سخت‌افزار مرتبط با اونها رو ندارید.
ماژول‌های کرنل جزیی از خود کرنل هستند که هر موقع لازم بشه توی کرنل بارگذاری و استفاده میشن. این ماژول‌ها به کل کرنل در حال اجرا دسترسی دارند. توی فضای کرنل اجرا میشن، نه فضای کاربر یا فضای دیگه‌ای.
به همین خاطر توسعه ماژول برای کرنل سخته و باید با دقت کد نوشت.

یه اشاره‌گر اشتباه توی کد می‌تونه کل فایل‌سیستم رو از بین ببره.

ماژول نباید دچار segmentation fault بشه چون در اینصورت خود کرنل دچار segmentaion fault و غیرقابل استفاده میشه.

ماژول نباید تعداد چیز‌هایی که از اون استفاده می‌کنند رو گم کنه وگرنه هیچجوری نمیشه به صورت ایمن اون رو unload کرد.

برای نوشتن ماژول‌ها دسترسی به خیلی از توابعی که معمولا توی c بهشون دسترسی دارید وجود نداره. مثلا اونجا نمی‌تونید از printf استفاده کنید. برای کار با فایل‌ها، * FILE وجود نداره. فقط به توابع کرنل و اونهایی که مال خود ماژول هست دسترسی دارید. تا جایی که می‌دونم، به توابع بقیه ماژول‌ها هم دسترسی ندارید چون معمولا توابع ماژول‌ها به صورت static هست، فقط خود ماژول بهش دسترسی داره. فکر کنم به system call ها هم دسترسی دارید، مطمئن نیستم.

نمی‌تونید ماژول یه کرنل رو روی یه کرنل دیگه استفاده کنید. حتی اگه دوتا ماژول برای یه کار باشند.
ماژول‌ها باید برای همون کرنل و با توجه به header هاش کامپایل بشن.
اگه یه کرنل رو کامپایل کنید و بعد حتی به مقدار کوچک سورس یا config اون رو تغییر بدید، بعیده که ماژول‌های قبلی باهاش کار کنند. باید ماژول‌ها دوباره براش کامپایل بشن.

نقل‌قول
هر بار سخت افزار جدیدی متصل میشه قطعا درایورش هست که استفاده بشه درسته ؟
نه. ممکنه درایور‌هاش باشن، ممکن هم هست نباشند. مثلا بعضی چیپ‌های وایفای درایور همراه کرنل ندارند و به همین خاطر جدا از طریق dkms کامپایل و نصب میشن.
سخت‌افزار‌های انحصاری که تولید کننده اونها با توسعه‌دهنده‌های کرنل همکاری نکردند و مستندات کافی هم بیرون ندادند معمولا درایورشون همراه کرنل نیست.

سخت‌افزار‌های خیلی جدید که معمولا کمتر از ۱ ماه معرفی شدند، ممکنه درایورهاشون همراه کرنل نباشه.
البته در مورد پردازنده‌های intel و amd اینجوری نیست. معمولا خود شرکت قبل از اینکه پردازنده واقعا بیاد توی بازار، درایور‌ها و تغییرات لازم رو به توسعه‌دهنده‌های کرنل میده و وقتی پردازنده واقعا میاد توی بازار، چیز‌های لازم از چند ماه قبل همراه کرنل بوده.

نقل‌قول
پس یعنی همه درایور های همه سخت افزار های جهان رو جمع کرده ، صحیح ؟
نه. ولی تعداد خیلی زیادی از اونها رو داره. کم پیش میاد که یه سخت‌افزار داشته باشید و کرنل درایور اون رو نداشته باشه و نتونید ازش استفاده کنید.

نقل‌قول
یعنی اینا روی هم چقد فضا گرفتن ؟
با df ببینید چقدر جا گرفتن. برای کرنل در حال اجرا اینجوری:
df -hs /lib/modules/"$(uname -r)"البته این بالایی ممکنه توی chroot کار نده.
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: سودو. در 05 خرداد 1401، 04:44 ب‌ظ
واقعا جالب و بی نظیر ، سپاس 🌹
عنوان: پاسخ : چند پرسش کوچک
ارسال شده توسط: Dragon- در 05 خرداد 1401، 07:19 ب‌ظ
۳ . تم ؟ من فقط یه تصویر میخوام بزارم روی اون زمانی که داره یه عالم چرت و پرت و نوشته های مربوط به لحظات بوت رو نشون میده ، یعنی این همون تم هست ؟ چجوری میشه خودم بسازم یکی ؟
منظورم از تم همون چیزی هست که موقع بوت نمایش میده. plymouth رو نصب کنید، ببینید چجوری هست.
نمی‌دونم خودتون چجوری می‌تونید یه تم بسازید.