توی اوبونتو زنده از کجا باید بفهمم لگاسیه یا یو ای اف آی ؟ چون اونی که گفتین برای سیستم عامل نصب شده بود !
اون روشی که گفتم فرقی نداره که توزیع نصب شده باشه یا نه، باید مشخص کنه که توی حالت uefi بوت شدید یا bios. مگه اینکه چنتا حالت خاص باشه که بالا گفتم. یا اینکه کرنل جوری کامپایل شده باشه که متغیرهای EFI رو در دسترس قرار نده. توزیعی رو نمیشناسم که چنین کرنلی داشته باشه.
پس خودش نصب میکنه دیگه !
اگه آینهای که به debootstrap معرفی کردید، از https استفاده کنه، اون بسته نصب میشه.
توی اون آموزش ارسالی جناب بهزادی بعد از اتمام نصب دیبوسترپ اول مخازن رو تنظیم کرد بعد دایرکتوری های dev , sys , proc رو مونت کرد بعد با chroot وارد شد ، الان من دیبوسترپ رو گذاشتم رو نصب ! بعد از اتمام یک راست وارد شم یعنی ؟ و بعدش بیام تنظیم مخازن ؟ اون مونت دایرکتوی های اصلی سیستم چی ؟
قبل از اینکه با chroot وارد سیستم نصب شده بشید، فایلسیستمهای گفته شده رو سوار کنید. (البته اونها کافی نیستند، باید فایلسیستمهایی که زیر اون دایرکتوریها سوار شدند رو توی سیستم نصب شده هم سوار کنید)
چون تنظیم مخازن کار خاصی نداره، فرقی نمیکنه قبل از chroot مخازن رو تنظیم کنید یا بعدش. دلیلش این هست که فقط یه فایل (یا شاید چنتا فایل) متنی رو ویرایش میکنید.
توی اون دبیان نصب شده با دیبوسترپ اون پوشه مربوط به efi وجود نداشت ! پس legacy هست ؟ خب مگه اوبونتو ۲۱.۱۰ اینجوری نبود که روی لگاسی نصب نمیشه ؟ پس من چجوری نصب کردم ده ها بار ؟
تا وقتی فایلسیستمهای مورد نیاز رو سوار نکنید، دایرکتوریهای sys run proc و dev خالی هستند. باید اول فایلسیستمهای موردنیاز روی اونها سوار بشه تا یه راه ارتباطی با کرنل داشته باشید.
بعله یک مخزن هست اما خودش با https گذاشته ، ولی اونایی که شما گفتین واردش کنم http هستن ! مگه https بهتر و امن تر نیس ؟
*بله
چه مخزنی اونجا هست؟
گفتم قبلا، اگه موقعی که debootstrap رو اجرا کنید، یه آینه بهش بدید، همون آینه رو توی سیستم نصب شده، تنظبم میکنه.
https به دلیل اینکه از رمزنگاری استفاده میکنه، میتونه از http امنتر باشه. به طور کلی اگه درست از رمزنگاری استفاده نشه، ممکنه اصلا امنیتی بدست نیارید
توی فایل sources.list ای که توی پوشه های اوبونتو لایوم وجود داره عبارت restricted هم در انتهای هر خط هست ! به چه معناست ؟ توی اون آموزش هم موقع تنظیم مخازن در انتهاش عبارت universe قرار داده ! من نیازی نیست چیزی قرار بدم ؟
restricted univirse multiverse contrib non-free و main قسمتهای مختلفِ مخازن اوبونتو و دبیان هستند.
universe multiverse و restricted، مربوط به مخازن اوبونتو هستند. برای دیدن یه سری اطلاعات در مورد اونها،
اینجا رو ببینید.
contrib و non-free مربوط به مخازن دبیان هستند.
برنامههایی که داخل قسمت non-free قرار دارند، آزاد نیستند. برای مثال درایورهای انویدیا توی این قسمت قرار دارند. اکثر firmware های مربوط به سختافزارها هم توی این قسمت وجود دارند. برای مثال firmware های مربوط به وایفایهای اینتل، درون بسته firmware-iwlwifi قرار داره؛ یا microde های پردازندههای amd، داخل بسته amd-microcodes قرار داره.
توی قسمت contrib، چیزهایی قرار داره که برای کار کردن، به چیزهای غیر آزاد نیاز دارند، اما خودشون آزاد هستند. مثلا بعضی برنامهها مرتبط با درایورهای انویدیا هستند و خودشون آزادند، اما چون برای کار کردن به درایورهای انویدیا نیاز دارند، و درایورهای انویدیا انحصاری هستند، توی قسمت contrib مخازن قرار گرفتند.
برنامههایی که مجوز اونها با gpl نمیخونه اما آزاد هستند، باز هم توی این قسمت قرار میگیرند، مثل openzfs
اگه برنامهای آزاد باشه و مجوز اون هم با gpl مشکلی نداشته باشه ولی به برنامههای قسمت contrib وابسته باشه، باز هم توی قسمت contrib قرار میگیره.
main توی اوبونتو و دبیان مشترکه، به این معنی که هر دو، یه قسمت به همین اسم توی مخازن خودشون دارند؛ نه به این معنی که بستههای این قسمت، توی اوبونتو و دبیان یکسانه.
هر نرمافزاری که آزاد باشه و مجوز اون با gpl تداخل نداشته باشه و به نرمافزارهای غیر آزاد یا نرمافزارهایی که داخل قسمت contrib وابسته نباشه، توی این قسمت قرار میگیره. فسمت خیلی بزرگی از برنامههای دبیان، توی این قسمت قرار دارند. در عمل، اکثر بستهها، توی همین سمت هستند، بستههای خیلی کمتری توی قسمتهای contrib و non-free وجود داره.
توی اوبونتو، قسمت main شبیه قسمت main توی دبیان هست، با این تفاوت که فقط بستههایی توی اون قسمت وجود دارند که مستقیم توسط تیم اوبونتو پشتیبانی میشن. بستههای اصلی سیستم اینجا قرار دارند.
بستههایی که شرایط بالا رو دارند اما مستقیم توسط تیم اوبونتو پشتیبانی نمیشن، بلکه جامعه کاربری از اونها پشتیبانی میکنه، توی قسمت universe قرار دارند.
برای مثال glibc که به عنوان libc استفاده میشه ، توی قسمت main و tor که بسته خیلی مهمی به حساب نمیاد، توی قسمت universe قرار داره.
برای libc، میشه به جای glibc، از musl هم استفاده کرد؛ نمیدونم توی مخازن اوبونتو هست یا نه.
libc یه جورایی رابط بین کرنل و برنامهها به حساب میاد. ماژولها (تقریبا معادل درایورها) هم جز کرنل به حساب میان.
توزیع void، میتونه از musl به جای glibc استفاده کنه. نسخههایی هم داره که بهجای glibc، از musl استفاده میکنند.
جایی شنیدم که دبیان مثل اوبونتو به راحتی درایور ها یا سخت افزار ها رو فک کنم نمیشناسه و درد سر داره ! درسته این موضوع ؟
دبیان از کرنل لینوکس لیبره استفاده میکنه. firmware های انحصاری داخل این کرنل قرار ندارند و یه کرنل کاملا آزاد هست.
معمولا سختافزارهای مختلف (مخصوصا کارتهای شبکه، وایفای و گرافیک) به firmware برای کار کردن نیاز دارند. کرنل موقعی که میخواهد از اون سختافزارها استفاده کنه، این firmware ها رو توی سختافزار بارگذاری میکنه تا سختافزار بتونه کار کنه.
معمولا این firmware ها انحصاری هستنند، اما معمولا توزیع و نشر اونها مجازه و میتونید خیلی راحت اونها رو به بقیه بدید. اما اجازه decompile (یعنی چیزی که کامپایل شده رو به کد تبدیل کنید) یا مهندسی معکوس یا کلا هر کاری که بتونید کدش رو ببینید، ندارید. اگه هم تونستید، کدش رو به هر روشی بدست بیارید، اجازه منتشر کردن اون رو نداریدو مجرم به حساب میاید.
این firmware ها، همراه کرنل لینوکس قرار دارند. به اینها، binary blobs هم میگن.
این binray blob ها، کدِ خودِ کرنل نیستند که انحصاری باشند، بلکه سازنده یه سختافزار، اونها رو توسعه داده ولی تصمیم گرفته که کد اون رو منتشر نکنه، بلکه فقط فایل کامپایل شده رو تحویل بده.
دبیان از کرنل لینوکس لیبره استفاده میکنه. تمام این binary blob ها و قسمتهایی از کد که مبهم هستند، از کرنل برداشته میشن و نتیجه میشه لینوکس لیبره. به همین دلیل، ممکنه یه سختافزار رو به سیستمی وصل کنید که دبیان داره اما اون سختافزارص کار نکنه چون firmware اون موجود نیست.
ولی نگران نباشید، دبیان، این firmware ها رو توی بستههای مختلف قرار داده و کاربر میتونه اون بستهها رو با توجه به سختافزاری که داره، نصب کنه. چون این firmware ها انحصاری هستند، اون بستهها توی قسمت non-free مخازن قرار دارند. برای مثال firmware-realtek شامل firmware های مرتبط با تجهیزات realtek هست. یا firmware-iwlwifi که بالاتر گفتم. یا firmware-amd-graphics که مربوط به گرافیکهای amd هست.
معمولا بعد از نصب firmware، دستگاه مورد نظر باید شروع به کار کنه، اگه نشد، باید یه بار سیستم رو راهاندازی مجدد کرد.
دقت کنید که درایور با firmware متفاوت هست. درایور برای این هست که سیستمعامل بتونه سختافزار رو بشناسه و از اون استفاده کنه، firmware برای این هست که توسط سیستمعامل، توی دستگاه بارگذاری بشه تا دستگاه بتونه کار کنه. مشخصه اگه یکی از اینها نباشه، نمیشه از اون سختافزار استفاده کرد.
توی ویندوز، firmware معمولا همراه درایور، نصب میشه.
توی لینوکس (خود کرنل) معمولا درایورها به صورت آزاد نوشته شدند و firmware در کنار اونها توزیع میشه، ممکن هست که firmware همراه کرنل نباشه، اما دریاور همراه کرنل باشه، مثل لینوکس لیبره.
درایورهای گرافیکهای amd همراه لینوکس لیبره هست (چون آزادند) ولی firmware های مرتبط با اون همراه کرنل نیست.
البته ممکنه firmware، همراه درایور باشه. مثل درایورهای انحصاری انویدیا که نه خود درایور همراه کرنل هست و نه firmware های اون. فکر کنم firmware ها داخل خود درایورها قرار گرفتند، مطمئن نیستم.
firmware ها، معمولا توی مسیر زیر قرار میگیرن.
/lib/firmware