حقیقتش من تا حالا تستش نکردم، ولی از ابزارهایی مثل Linux Live Kit میتونید استفاده کنید. به صورت کلی هم تا جایی که من دیدم این مدل ابزارها وابستگی به توزیع خاصی ندارند و روی انواع توزیعها کار میکنند.
فدورا خودش تا جایی که میدونم ابزاری به این منظور مخصوص فدورا نداره. در کل هم این روش ساخت یه نسخه زنده از یه توزیع خیلی روش تمیزی نیست و من توزیع بزرگی رو سراغ ندارم که به این روش تولید بشه. اما خب در حد استفاده به صورت شخصی یا مقیاس پایین شاید بد نباشه.
پس این همه توزیع لینوکسی در اصل چطوری ساخته میشن ؟
من میخوام یه توزیع از لینوکس بسازم و تنها راهی که توی سرچ کردن و … پیدا کردم این بود که یه توزیع مثل ردهت یا آرچ نصب کنم و تغییراتم رو بدم و در آخر فایل ایسو اش رو از تغییراتم بسازم
من زبان سی و پایتون بلدم ولی نمیدونم دقیقا چطور باید یه توزیع بسازم
ببینین خود بحث ساختن توزیع اونم بر مبنای یه توزیع موجود مثل فدورا خیلی دانش برنامهنویسی خاصی نیاز نداره و یک سری ابزاره که باید استفاده کنید به همراه مخازن مورد نظرتون. اما طبیعتا برای ایجاد تغییرات مختلف هر کدوم یه سری دانش میخوان که کاری به اصل موضوع مورد نظر ما نداره.
توی توزیعی مثل فدورا، اولین جا و اصلیترین جا برای اعمال تغییرات خود بستهها هستند. یعنی اگه شما میخواین تغییری تو گراب بدید یا مثلا فایل تنظیمی بهش اضافه کنید، اصولا جایی که این اتفاق بیفته یا خود بسته rpm مربوط به گراب میشه، یا هم یه بسته جدید ایجاد میکنید که مثلا یه فایل تنظیمات اضافه کنه به گراب. البته قبل از ساخت بسته طبیعتا میشه که شخص روی یک سیستم نصب شده تست بگیره کارش رو ولی در نهایت یه بسته ایجاد میکنه.
حالا برای کسی که میخواد یه توزیع بر مبنای فدورا ایجاد کنه، اون شخص این بستهها رو میگذاره توی یه مخزن شخصی که میتونه یه مخزن محلی هم باشه (یعنی توی یک شاخه توی سیستم خودش).
علاوه بر خود بستهها، برای نسخههای زنده (live)، یک راه دیگه هم توی فدورا برای ایجاد تغییرات هست اونم در قالب یه اسکریپته که میتونه بعد از نصب بستهها اجرا بشه. که برای تغییرات خیلی کوچک معمولا استفاده میشه که مخصوص نسخه زنده باشه هر چند میشه برای تغییرات یکمی بزرگتر هم استفاده کرد ولی راه خیلی خوبی نیست.
تو این روش، وقتی شما میخواین یه نسخه iso ایجاد کنید، از ابزارهای مخصوصش که پایینتر میگم استفاده میکنید که این ابزارها میان و بستههای لازم رو توی یه فضای خالی نصب میکنند و اسکریپتهای مربوطه رو هم اجرا میکنند و در نهایت با اضافه کردن چیزهایی مثل بوتلودر iso و غیره یه نسخه isoی زنده ایجاد میکنند. یعنی هیچ فرآیند دستی تو مراحل ساخت صورت نمیگیره و از روی هیچ سیستم در حال اجرایی هم ساخته نمیشه بلکه همه چیز توی یه فایلسیستم خالی نصب و پیکربندی میشه و در نهایت iso میشه.
برای آشنایی با روش انجام اینکارها توی فدورا هم میتونید به راهنماهایی مثل راهنماهای زیر مراجعه کنید:
سلام و جسارتا در مورد فدورا ریمیکس ، این بسته (فدورا ریمیکس) یه نرم افزار هستش که کل سیستم عامل رو شامل همه ی فایل ها ، به یه نسخه ی بوت زنده با قابلیت نصب تبدیل می کنه
درسته ؟
تابحال با این روش ، توزیعی ساخته شده ؟
یعنی اکثر توزیع ها به این روش ساخته میشن یا روشی مشابه ؟
پس در اینصورت منوی نصب رو چطور می سازن که متوجه نشدم
مثلا وقتی شخصی میخواد توزیعی که به این روش ساخته شده رو نصب کنه ، یه صفحه ی گرافیکی میاد حالا فرضا با جی تی کی ساخته شده ، ولی اون صفحه رو کجای سیستم عامل قرار میده
مثلا توی نصب اوبونتو که توزیعی از دبیان هستش ، کامل ظاهر محیط نصب ،با دبیان فرق داره
سلام و جسارتا در مورد فدورا ریمیکس ، این بسته (فدورا ریمیکس) یه نرم افزار هستش که کل سیستم عامل رو شامل همه ی فایل ها ، به یه نسخه ی بوت زنده با قابلیت نصب تبدیل می کنه
درسته ؟
خیر. شما هم چیزی که من نوشتم رو دقیق بخونید هم لینکهایی که دادم رو ببینین. بستهای به نام «فدورا ریمیکس» وجود نداره. به نظر میاد اصلا به لینکها نگاه نکردید.
بعد هم من خیلی دقیق نوشتم که ابزارهای معرفی شده، چیزی رو «تبدیل نمیکنند». بلکه یه سیستمعامل صرفا براساس بستهها و اسکریپت مورد نظر «میسازند» که هیچ ربط خاصی به سیستمعامل در حال اجرای شما نداره.
تابحال با این روش ، توزیعی ساخته شده ؟
یعنی اکثر توزیع ها به این روش ساخته میشن یا روشی مشابه ؟
تا جایی که میدونم تمامی توزیعهایی که بر مبنای فدورا هستند، همچنین خود فدورا و تمامی spinهاش با این روش ساخته میشند. این ابزارها مخصوص فدوراست در نتیجه توزیعهای دیگه با این روش ساخته نمیشند ولی روش ساختشون میتونه نسبتا مشابه باشه.
پس در اینصورت منوی نصب رو چطور می سازن که متوجه نشدم
مثلا وقتی شخصی میخواد توزیعی که به این روش ساخته شده رو نصب کنه ، یه صفحه ی گرافیکی میاد حالا فرضا با جی تی کی ساخته شده ، ولی اون صفحه رو کجای سیستم عامل قرار میده
روشی که من گفتم به صورت پیشفرض نصاب خود فدورا رو توی نسخه زنده نصب و استفاده میکنه. اگه بخواین نصاب خودتون رو داشته باشید باید اون رو در قالب یه بسته جدید بسازید و بگذارید توی مخزنتون و بعد با همین ابزارها نسخه زنده با نصاب خودتون رو بسازید به جای نصاب خود فدورا. البته ممکنه در صورتی که بخواین نصاب خودتون رو نصب کنید یه مقداری تغییرات توی فرآیند ساخت نسخه زنده هم لازم باشه چون به هر حال این ابزارها براساس نصاب فدورا ساخته شدند؛ اما بررسی نکردم چقدر وابستگی بهش دارند.
مثلا توی نصب اوبونتو که توزیعی از دبیان هستش ، کامل ظاهر محیط نصب ،با دبیان فرق داره
اون قسمت رو چطور تغییر بدم ؟
خب توزیعهایی مثل اوبونتو درسته که مشتق از یک توزیع پایه هستند اما تا حدی هم از توزیع پایه فاصله گرفتند. مثلا احتمال زیادی داره که الان اوبونتو ابزارهای مخصوص خودش رو داشته باشه برای ساخت توزیع نه این که از ابزارهای دبیان برای ساخت توزیعی بر پایه دبیان استفاده کنه.
اما در مورد فقط نصاب، همونطور که گفتم شما نصاب خودتون رو میسازید در قالب یک بسته و بعد تنظیم میکنید که اون بسته به جای بسته نصاب اصلی توزیع پایه نصب بشه توی توزیع زنده.
پیشنهاد میکنم لینکهایی که دادم رو بخونید و به عنوان سر نخ بگیرید و حداقل اول یک نسخه باهاشون بسازید تا یکمی با حال و هوای کار آشنا بشید.
جدا از روشی که اینجا توضیح داده شد، میتونید از پروژهای مثل Linux from Scratch هم استفاده کنید که توزیع خاصی رو شامل نمیشه و یه راهنمای گام به گام و خوب برای ایجاد و ساخت هر سیستم گنو/لینوکس تو پایینترین سطح ممکن به حساب میاد. البته من خودم ازش استفاده نکردم و دلیل عمدهاش هم اینه که زمان بسیار زیاد و حوصله بالا نیاز داره این کار.