1.1.1. یک سیستم عامل چند پلتفرمی
1.1.3. چارچوب قانونی: یک سازمان غیرانتفاعی
1.2.2. دستورالعملهای نرمافزار آزاد دبیان
1.3.3. تیم ها، ترکیب ها و پروژه های فرعی
1.3.3.1. پروژه های فرعی دبیان و ترکیبات موجود
1.3.3.3. تیم های توسعه، تیم های عرضی
4.2.1. راه اندازی و راه اندازی نصب کننده
4.2.4. انتخاب چیدمان صفحه کلید
4.2.12. تشخیص دیسک ها و سایر دستگاه ها
4.2.13. راه اندازی ابزار پارتیشن بندی
4.2.13.1. پارتیشن بندی هدایت شده
4.2.13.3. پیکربندی دستگاه های چند دیسکی (نرم افزار RAID)
4.2.13.4. پیکربندی Logical Volume Manager (LVM)
4.2.13.5. راه اندازی پارتیشن های رمزگذاری شده
4.2.15. پیکربندی Package Manager (apt)
4.2.16. بسته Popularity Contest
4.2.17. انتخاب بسته ها برای نصب
4.2.19. اتمام نصب و راه اندازی مجدد
فصل 6. نگهداری و به روز رسانی: ابزارهای APT
6.1. پر کردن فایل sources.list
6.1.2. مخازن برای کاربران پایدار
6.1.2.1. به روز رسانی های امنیتی
6.1.2.3. به روز رسانی های پیشنهادی
6.1.3. مخازن برای کاربران تست/ناپایدار
6.1.4. استفاده از mirror های جایگزین
6.1.5. منابع غیر رسمی: mentors.debian.net
6.1.6. کش کردن پروکسی برای بسته های دبیان
1. دبیان چیست؟
ریشه نام دبیان
دبیان مخفف نیست. این نام، در واقع، انقباض دو نام است: نام ایان مرداک، و دوست دخترش در آن زمان، دبرا. دبرا + ایان = دبیان.
دبیان یک توزیع گنو/لینوکس است اما در حال حاضر، ما به سادگی بیان می کنیم که این یک سیستم عامل کامل است، شامل نرم افزارها و سیستم های نصب و مدیریت، همه بر اساس هسته لینوکس و نرم افزار ازاد (به ویژه آنهایی که از پروژه گنو هستند).
وقتی ایان مرداک در سال 1993 دبیان را تحت رهبری بنیاد نرم افزار آزاد (FSF) ایجاد کرد، اهداف روشنی داشت که در مانیفست دبیان بیان کرد. سیستم عامل ازادی که او به دنبال آن بود باید دارای دو ویژگی اصلی باشد. اول، کیفیت: دبیان با بیشترین دقت توسعه مییابد تا شایسته هسته لینوکس باشد. همچنین این یک توزیع غیرتجاری خواهد بود که به اندازه کافی برای رقابت با توزیع های تجاری عمده معتبر است. این جاه طلبی مضاعف، از نظر او، تنها با باز کردن فرآیند توسعه دبیان درست مانند لینوکس و پروژه گنو محقق می شود. بنابراین، بررسی همتا به طور مداوم محصول را بهبود می بخشد.
گنو، پروژه FSF
پروژه گنو مجموعهای از نرمافزارهای ازاد است که توسط بنیاد نرمافزار آزاد FSF توسعه یافته یا حمایت میشود و توسط رهبر نمادین آن، دکتر ریچارد ام. استالمن، ایجاد شده است. گنو یک مخفف بازگشتی است که مخفف «گنو یونیکس نیست» است.
ریچارد استالمن
بنیانگذار FSF و نویسنده مجوز عمومی عمومی گنو (GPL)، ریچارد ام. استالمن (که اغلب با حروف اول او RMS نامیده می شود)، یک رهبر کاریزماتیک جنبش نرم افزار آزاد است. به دلیل مواضع سازش ناپذیر او، او به اتفاق آرا مورد تحسین قرار نمی گیرد، اما مشارکت های غیرفنی او در نرم افزار آزاد (به ویژه، حقوقی و فلسفی) مورد احترام همه است.
1.1.1. یک سیستم عامل چند پلتفرمی
انجمنسفر ایان مرداک
ایان مرداک، بنیانگذار پروژه دبیان، اولین رهبر آن، از سال 1993 تا 1996 بود. پس از سپردن باتوم به بروس پرنز، ایان نقش کمتری عمومی را ایفا کرد. او به کار در پشت صحنه جامعه نرم افزار آزاد بازگشت و شرکت Progeny را ایجاد کرد و قصد داشت توزیعی را که از دبیان به دست می آید را بازاریابی کند. متأسفانه این سرمایه گذاری با شکست تجاری مواجه شد و توسعه آن رها شد. این شرکت، پس از چندین سال خراش دادن توسط، صرفاً به عنوان یک ارائه دهنده خدمات، در نهایت در آوریل 2007 اعلام ورشکستگی کرد. از پروژه های مختلف آغاز شده توسط Progeny، تنها کشف هنوز باقی مانده است. این یک ابزار تشخیص خودکار سخت افزار است.
ایان مرداک در 28 دسامبر 2015 در سانفرانسیسکو پس از یک سری توییت های نگران کننده که در آن گزارش داده بود توسط پلیس مورد تعرض قرار گرفته است، درگذشت. در جولای 2016 اعلام شد که مرگ او خودکشی اعلام شده است.
دبیان با وفادار ماندن به اصول اولیه خود، آنقدر موفقیت داشته است که امروزه به اندازه فوق العاده ای رسیده است. در حال حاضر، به طور رسمی از 9 معماری انتشار سخت افزار و چندین گونه از هر معماری که به عنوان “طعم” شناخته می شود، و همچنین هسته های دیگری مانند FreeBSD پشتیبانی می کند، اگرچه پورت های مبتنی بر FreeBSD نیز بخشی از مجموعه معماری های پشتیبانی شده رسمی نیستند. علاوه بر این، با بیش از 70000 بسته منبع، نرم افزار موجود می تواند تقریباً هر نیازی را، چه در home و چه در سازمان، برآورده کند.
حجم خالص توزیع ممکن است ناراحت کننده باشد: توزیع 18 DVD-ROM (فقط حاوی بسته های واجد شرایط به عنوان “نرم افزار ازاد”) برای نصب یک نسخه کامل بر روی یک رایانه شخصی استاندارد واقعا غیر منطقی است… به همین دلیل است که Debian به طور فزاینده ای در نظر گرفته می شود
این دیدگاههای جزئی از دبیان در یک چارچوب کاملاً تعریفشده سازماندهی شدهاند، بنابراین سازگاری بدون دردسر بین «توزیعهای فرعی» مختلف را تضمین میکنند. همه آنها برنامه ریزی کلی برای انتشار نسخه های جدید را دنبال می کنند. و از آنجایی که آنها بر پایه های یکسانی ساخته می شوند، می توان آنها را به راحتی با برنامه های موجود در مخازن دبیان توسعه، تکمیل و شخصی کرد. تمام ابزارهای دبیان در این جهت عمل می کنند:debian-cdبرای مدت طولانی اجازه ایجاد مجموعه ای از CD-ROM ها را می دهد که فقط شامل مجموعه ای از بسته های از پیش انتخاب شده است.debian-installerهمچنین یک نصب کننده مدولار است که به راحتی با نیازهای خاص سازگار می شود.APTبسته هایی را از مبداهای مختلف نصب می کند، در حالی که ثبات کلی سیستم را تضمین می کند.
دبیان از تمام اصول نرم افزار آزاد پیروی می کند و نسخه های جدید آن تا زمانی که آماده نشده باشند منتشر نمی شوند. توسعه دهندگان بر اساس یک برنامه زمان بندی مشخص کار نمی کنند و نیازی به عجله برای رسیدن به یک مهلت دلخواه ندارند. مردم اغلب از زمان طولانی بین انتشارهای پایدار دبیان شکایت دارند، اما این احتیاط تضمین می کند که قابلیت اطمینان افسانه ای دبیان برآورده شده است: ماه های طولانی آزمایش در واقع برای توزیع کامل برای دریافت برچسب “پایدار” ضروری است.
دبیان کیفیت را به خطر نمی اندازد: تمام اشکالات مهم شناخته شده در بسته های کلیدی در هر نسخه جدید برطرف می شوند، حتی اگر این نیاز به عقب انداختن تاریخ انتشار اولیه پیش بینی شده داشته باشد. بستههای اختیاری که باگهای حیاتی آنها برطرف نشدهاند، و بنابراین الزامات کیفیت را برآورده نمیکنند، به سادگی از نسخه پایدار حذف میشوند.
1.1.3. چارچوب قانونی: یک سازمان غیرانتفاعی
از نظر قانونی، دبیان پروژه ای است که توسط یک انجمن داوطلبانه غیرانتفاعی آمریکایی اداره می شود. این پروژه حدود هزار توسعه دهنده دبیان دارد، اما تعداد بسیار بیشتری از مشارکت کنندگان (مترجمان، گزارشگران اشکال، هنرمندان، توسعه دهندگان معمولی و غیره) را گرد هم می آورد.
برای انجام ماموریت خود، دبیان دارای زیرساخت بزرگی است، با سرورهای زیادی که در سراسر اینترنت متصل هستند و توسط حامیان مالی زیادی ارائه و میزبانی می شوند.
چند سال پس از راهاندازی اولیه، دبیان اصولی را که باید بهعنوان یک پروژه نرمافزار آزاد دنبال کند، رسمی کرد. این تصمیم عمداً فعالانه با اطمینان از پیشرفت همه اعضا در یک جهت، امکان رشد منظم و مسالمت آمیز را فراهم می کند. برای تبدیل شدن به یک توسعه دهنده دبیان، هر کاندیدایی باید حمایت و پایبندی خود به اصول تعیین شده در اسناد بنیادی پروژه را تایید و اثبات کند.
روند توسعه به طور مداوم مورد بحث است، اما این اسناد بنیادی به طور گسترده مورد حمایت و توافق قرار می گیرند، و بنابراین به ندرت تغییر می کنند. قانون اساسی دبیان همچنین تضمین های دیگری را برای ثبات آنها ارائه می دهد: برای تصویب هر اصلاحیه، اکثریت واجد شرایط سه چهارم مورد نیاز است.
این پروژه همچنین دارای “قرارداد اجتماعی” است. چنین متنی در پروژه ای که فقط برای توسعه یک سیستم عامل در نظر گرفته شده است چه جایگاهی دارد؟ بسیار ساده است: دبیان برای کاربرانش و در نتیجه، برای جامعه کار می کند. این قرارداد خلاصه ای از تعهداتی است که پروژه متعهد می شود. اجازه دهید آنها را با جزئیات بیشتری مطالعه کنیم:
- دبیان 100% ازاد خواهد ماند.
این قانون شماره 1 است. دبیان کاملاً و منحصراً از نرمافزار آزاد تشکیل شده و خواهد ماند. علاوه بر این، تمام توسعه نرم افزار در داخل پروژه دبیان، ازاد خواهد بود.
چشم اندازفراتر از نرم افزار
اولین نسخه از قرارداد اجتماعی دبیان میگوید «دبیان 100% نرمافزار ازاد باقی خواهد ماند». ناپدید شدن این آخرین کلمه (با تصویب نسخه 1.1 قرارداد در آوریل 2004) نشان دهنده اراده برای دستیابی به آزادی، نه تنها در نرم افزار، بلکه در اسناد و هر عنصر دیگری است که دبیان می خواهد در عملیات خود ارائه دهد. سیستم.
این تغییر که صرفاً به عنوان سرمقاله در نظر گرفته شده بود، در واقع پیامدهای متعددی به خصوص با حذف برخی اسناد مشکل ساز داشته است. علاوه بر این، افزایش استفاده از سیستم عامل در درایورها مشکلاتی را ایجاد می کند: بسیاری از آنها غیر ازاد هستند، اما برای عملکرد صحیح سخت افزار مربوطه ضروری هستند.
- ما به جامعه نرمافزار آزاد پاسخ خواهیم داد.
هر گونه بهبودی که توسط پروژه دبیان در اثر ادغام شده در توزیع ایجاد شود، به نویسنده اثر (به نام “بالادست”) ارسال می شود. به طور کلی، دبیان به جای کار در انزوا، با جامعه همکاری خواهد کرد.
انجمننویسنده بالادستی یا توسعه دهنده دبیان؟
اصطلاح «نویسنده بالادستی» به معنای نویسنده(ها)/توسعه دهندگان یک اثر، کسانی است که آن را می نویسند و توسعه می دهند. از سوی دیگر، یک «توسعهدهنده دبیان» معمولاً از یک اثر موجود برای تبدیل آن به یک بسته دبیان استفاده میکند – اصطلاح «نگهدار دبیان» در اینجا مناسبتر است.
در عمل، ممکن است بین هر دو نقش همپوشانی وجود داشته باشد: نگهدارنده Debian ممکن است یک پچ بنویسد، که به نفع همه کاربران کار است. به طور کلی، دبیان مسئولین یک بسته در دبیان را تشویق میکند تا در توسعه «بالادستی» نیز مشارکت داشته باشند (پس بدون محدود شدن به نقش کاربران ساده یک برنامه، مشارکتکننده میشوند). یا توسعهدهنده دبیان ابزارها یا اسنادی را برای توزیع دبیان ایجاد میکند، مانند کمککنندههای بستهبندی (مثلاً debhelper) یا چارچوبهای یکپارچهسازی (مثلاً گواهیهای ca) و تبدیل به یک «نویسنده بالادستی» برای آن آثار میشود.
- مشکلات را پنهان نخواهیم کرد.
دبیان کامل نیست و هر روز مشکلات جدیدی برای رفع آنها وجود خواهد داشت. دبیان تمام پایگاه داده گزارش اشکال خود را همیشه برای مشاهده عموم باز نگه می دارد. گزارش هایی که افراد به صورت آنلاین ارسال می کنند به سرعت برای دیگران قابل مشاهده خواهد بود.
- اولویت های ما کاربران و نرم افزار ازاد ما هستند.
تعریف این تعهد دشوارتر است. بنابراین، دبیان زمانی که باید تصمیمی گرفته شود، تعصبی را تحمیل می کند و راه حل آسانی را برای توسعه دهندگان که تجربه کاربر را به خطر می اندازد کنار می گذارد و راه حلی ظریف تر را انتخاب می کند، حتی اگر اجرای آن دشوارتر باشد. این بدان معناست که به عنوان یک اولویت، منافع کاربران و نرم افزار ازاد در نظر گرفته شود.
- آثاری که با استانداردهای نرم افزار ازاد ما مطابقت ندارند.
دبیان می پذیرد و درک می کند که کاربران ممکن است بخواهند از برخی برنامه های غیر ازاد استفاده کنند. به همین دلیل است که این پروژه امکان استفاده از بخشهایی از زیرساختهای خود را برای توزیع بستههای Debian از نرمافزارهای غیرآزاد میدهد که میتوانند با خیال راحت دوباره توزیع شوند.
انجمنموافق یا مخالف بخش غیر آزاد؟
مخالفان استدلال میکنند که این امر مردم را از معادلهای نرمافزار آزاد دور میکند، و با اصل خدمت فقط به هدف نرمافزار آزاد در تضاد است. حامیان صراحتاً میگویند که بیشتر بستههای غیرازاد «تقریباً ازاد» هستند و تنها با یک یا دو محدودیت آزاردهنده (متداولترین آنها ممنوعیت استفاده تجاری از نرمافزار) متوقف میشوند. با توزیع این آثار در شعبه غیر ازاد، به طور غیرمستقیم به نویسنده توضیح میدهیم که اگر در بخش اصلی گنجانده شود، خلقت آنها بیشتر شناخته شده و پرکاربردتر میشود. بنابراین، آنها مؤدبانه دعوت می شوند تا مجوز خود را برای خدمت به این منظور تغییر دهند.
پس از اولین تلاش و تلاش بیثمر در سال 2004، حذف کامل بخش غیرآزاد بعید به نظر میرسد که به دستور کار بازگردد، به خصوص که حاوی اسناد مفید بسیاری است که صرفاً به دلیل عدم رعایت الزامات جدید برای بخش اصلی منتقل شدهاند. این مورد مخصوصاً برای فایلهای مستند نرمافزاری که توسط پروژه گنو (بهویژه Emacs و Make) صادر شدهاند، صادق است. بسیاری از سیستمهای مدرن همچنین به فایلهای باینری کوچک، که برای اجرای سختافزار خاص ضروری هستند، به اصطلاح «سیستمافزار» نیاز دارند. بسیاری از این فایل ها را فقط در بخش غیر ازاد می توانید پیدا کنید.
ادامه وجود بخش غیرآزاد منبع اصطکاک گاه به گاه با بنیاد نرم افزار آزاد است و دلیل اصلی امتناع آن از توصیه رسمی دبیان به عنوان یک سیستم عامل است.
1.2.2. دستورالعملهای نرمافزار آزاد دبیان
این سند مرجع تعریف می کند که کدام نرم افزار “به اندازه کافی ازاد” است که در Debian گنجانده شود. اگر مجوز برنامه ای مطابق با این اصول باشد، می توان آن را در بخش اصلی قرار داد. برعکس، و مشروط بر اینکه توزیع ازاد مجاز باشد، ممکن است در بخش غیر ازاد یافت شود. بخش غیر ازاد به طور رسمی بخشی از دبیان نیست. این یک سرویس اضافه شده است که به کاربران ارائه می شود.
- توزیع مجدد ازاد
مجوز یک جزء دبیان ممکن است هیچ طرفی را از فروش یا ارائه نرم افزار به عنوان جزئی از توزیع نرم افزار انبوه حاوی برنامه هایی از چندین منبع مختلف محدود نکند. مجوز ممکن است برای چنین فروش مستلزم حق امتیاز یا هزینه دیگری نباشد.
- کد منبع
برنامه باید شامل کد منبع باشد و باید اجازه توزیع در کد منبع و همچنین فرم کامپایل را بدهد.
- آثار مشتق شده
مجوز باید تغییرات و آثار مشتق شده را اجازه دهد، و باید اجازه دهد که آنها تحت شرایط مشابه مجوز نرم افزار اصلی توزیع شوند.
- یکپارچگی کد منبع نویسنده
مجوز ممکن است تنها در صورتی مانع از توزیع کد منبع به شکل اصلاح شده شود که مجوز توزیع «فایلهای وصله» را با کد منبع به منظور تغییر برنامه در زمان ساخت اجازه دهد. مجوز باید به صراحت اجازه توزیع نرم افزار ساخته شده از کد منبع اصلاح شده را بدهد. مجوز ممکن است به آثار مشتق شده نیاز داشته باشد که نام یا شماره نسخه متفاوتی از نرم افزار اصلی داشته باشند (این یک سازش است. گروه دبیان همه نویسندگان را تشویق می کند که هیچ فایلی، منبع یا باینری را برای تغییر محدود نکنند).
- هیچ تبعیضی علیه افراد یا گروه ها وجود ندارد.
مجوز نباید علیه هیچ فرد یا گروهی از افراد تبعیض قائل شود.
- عدم تبعیض علیه زمینه های تلاش.
مجوز نباید کسی را از استفاده از برنامه در زمینه کاری خاص محدود کند. به عنوان مثال، ممکن است برنامه را از استفاده در یک تجارت یا استفاده برای تحقیقات ژنتیکی محدود نکند.
- توزیع مجوز.
حقوق ضمیمه شده به برنامه باید شامل همه کسانی باشد که برنامه برای آنها بدون نیاز به اجرای مجوز اضافی توسط آن طرفین توزیع شده است.
- مجوز نباید مختص دبیان باشد.
حقوق پیوست شده به برنامه نباید به این بستگی داشته باشد که برنامه بخشی از سیستم دبیان باشد. اگر برنامه از دبیان استخراج شده و بدون دبیان استفاده یا توزیع شود، اما در غیر این صورت در شرایط مجوز برنامه، همه طرفهایی که برنامه به آنها توزیع مجدد میشود باید از حقوق مشابهی برخوردار باشند که در ارتباط با سیستم دبیان اعطا میشود.
- مجوز نباید نرم افزارهای دیگر را آلوده کند.
مجوز نباید محدودیت هایی را برای سایر نرم افزارهایی که همراه با نرم افزار دارای مجوز توزیع می شوند ایجاد کند. به عنوان مثال، مجوز نباید اصرار داشته باشد که همه برنامه های دیگر توزیع شده در همان رسانه باید نرم افزار آزاد باشند.
کپی لفت
کپی لفت یک اصل است که شامل استفاده از حق چاپ برای تضمین آزادی یک اثر و مشتقات آن به جای محدود کردن حقوق استفاده است، همانطور که در مورد نرم افزارهای اختصاصی وجود دارد. همچنین این یک بازی کلمات در مورد اصطلاح “کپی رایت” است. ریچارد استالمن این ایده را زمانی کشف کرد که یکی از دوستانش که به جناس به یکسان بودن دو یا چند واژه علاقه داشت، روی پاکت نامه ای خطاب به او نوشت: «کپی لفت: همه حقوق معکوس شده است». کپیلفت حفظ تمام آزادیهای اولیه را با توزیع نسخه اصلی یا اصلاحشده یک اثر (معمولاً یک برنامه) تحمیل میکند. بنابراین، توزیع یک برنامه به عنوان نرم افزار اختصاصی ممکن نیست، اگر از کد یک برنامه منتشر شده کپی لفت مشتق شده باشد.
شناخته شده ترین خانواده مجوزهای کپی لفت، البته مجوز عمومی عمومی گنو (GPL) و مشتقات آن، مجوز عمومی عمومی کوچکتر گنو (LGPL) و مجوز اسناد آزاد گنو (GFDL) است. متأسفانه مجوزهای کپی لفت به طور کلی با یکدیگر ناسازگار هستند. در نتیجه، بهتر است فقط از یکی از آنها استفاده کنید.
- نمونه مجوزها
مجوزهای “GPL”، “BSD” و “Artistic” نمونه هایی از مجوزهایی هستند که ما آنها را “ازاد” می دانیم.
مجوزهای ازاد
GNU GPL، مجوز BSD، و مجوز هنری همگی با دستورالعملهای نرمافزار آزاد دبیان مطابقت دارند، حتی اگر بسیار متفاوت باشند.
GNU GPL که توسط FSF (بنیاد نرم افزار آزاد) استفاده و ترویج می شود، رایج ترین است. ویژگی اصلی آن این است که برای هر کار مشتق شده ای که دوباره توزیع می شود نیز اعمال می شود: برنامه ای که کد GPL را در خود جای داده یا از آن استفاده می کند، فقط می تواند بر اساس شرایط آن توزیع شود. بنابراین، هرگونه استفاده مجدد در یک برنامه اختصاصی را ممنوع می کند. این امر مشکلات جدی برای استفاده مجدد از کد GPL در نرم افزار ازاد ناسازگار با این مجوز ایجاد می کند. به این ترتیب، گاهی اوقات غیرممکن است که یک برنامه منتشر شده تحت مجوز نرم افزار آزاد دیگری را با کتابhome ای که تحت GPL توزیع شده است، پیوند دهید. از سوی دیگر، این مجوز در قوانین آمریکا بسیار مستحکم است: وکلای FSF در تهیه پیش نویس آن مشارکت داشته اند و اغلب متخلفان را مجبور کرده اند که بدون مراجعه به دادگاه به توافقی دوستانه با FSF برسند.
→https://www.gnu.org/copyleft/gpl.html
مجوز BSD کمترین محدودیت را دارد: همه چیز مجاز است، از جمله استفاده از کد BSD اصلاح شده در یک برنامه اختصاصی.
→https://www.opensource.org/licenses/bsd-license.php
در نهایت، مجوز هنری بین این دو مورد دیگر به مصالحه می رسد: ادغام کد در یک برنامه اختصاصی مجاز است، اما هر گونه تغییر باید منتشر شود.
→https://www.opensource.org/licenses/artistic-license-2.0.php
متن کامل این مجوزها در دسترس است/usr/share/common-licenses/در هر سیستم دبیان (در مورد BSD مجوز 3 بند جدیدتر).
انجمنبروس پرنس، رهبر جنجالی
بروس پرنز دومین رهبر پروژه دبیان، درست بعد از ایان مرداک بود. او در روش های پویا و استبدادی خود بسیار بحث برانگیز بود. با این وجود، او یکی از همکاران مهم دبیان است، که دبیان بهویژه به خاطر ویرایش معروف «دستورالعملهای نرمافزار آزاد دبیان» (DFSG)، ایدهای اصلی از Ean Schuessler، مدیون اوست. متعاقباً، بروس «تعریف منبع باز» معروف را از آن استخراج کرد و تمام ارجاعات به دبیان را از آن حذف کرد.
خروج او از پروژه کاملاً احساسی بود، اما بروس به شدت به دبیان وابسته است، زیرا او به ترویج این توزیع در حوزههای سیاسی و اقتصادی ادامه میدهد. او هنوز به صورت پراکنده در لیست های ایمیل ظاهر می شود تا توصیه های خود را ارائه دهد و آخرین ابتکارات خود را به نفع دبیان ارائه دهد.
آخرین نکته حکایتی، این بروس بود که مسئول الهام بخشیدن به «نام رمز» مختلف برای نسخههای دبیان بود (1.1 – Rex، 1.2 – Buzz، 1.3 – Bo، 2.0 – Hamm، 2.1 – Slink، 2.2 – Potato، 3.0 – Woody، 3.1). — Sarge، 4.0 — Etch، 5.0 — Lenny، 6.0 — Squeeze، 7 — Wheezy، 8 — Jessie، 9 — Stretch، 10 — Buster، 11 — Bullseye، 12 (هنوز منتشر نشده) — Bookworm، Unstable — Sid). آنها از نام شخصیت های فیلم داستان اسباب بازی گرفته شده اند. این انیمیشن کاملاً متشکل از گرافیک کامپیوتری توسط استودیوی پیکسار تولید شده است که بروس در آن زمان که پروژه دبیان را رهبری می کرد با آن کار می کرد. نام “Sid” دارای وضعیت خاصی است، زیرا برای همیشه با شاخه ناپایدار همراه خواهد بود. در فیلم، این شخصیت فرزند همسایه بود که همیشه اسباببازیها را میشکست – پس مراقب نزدیک شدن بیش از حد به ناپایدار باشید. در غیر این صورت، سید همچنین مخفف “هنوز در حال توسعه” است.
1.3. کارهای داخلی پروژه دبیان
نتایج نهایی فراوان تولید شده توسط پروژه دبیان به طور همزمان از کار بر روی زیرساخت انجام شده توسط توسعه دهندگان باتجربه دبیان، از کار فردی یا جمعی توسعه دهندگان در بسته های دبیان و از بازخورد کاربران ناشی می شود.
1.3.1. توسعه دهندگان دبیان
توسعه دهندگان دبیان مسئولیت های مختلفی دارند و به عنوان اعضای رسمی پروژه، تأثیر زیادی در جهت گیری پروژه دارند. یک توسعه دهنده دبیان به طور کلی مسئول حداقل یک بسته است، اما با توجه به زمان و تمایل خود، آنها آزادند تا در تیم ها و پروژه های متعدد شرکت کنند و در نتیجه مسئولیت های بیشتری را در پروژه بر عهده بگیرند.
→https://www.debian.org/devel/people
→https://www.debian.org/intro/organization
→https://wiki.debian.org/Teams
ابزارپایگاه داده توسعه دهندگان
دبیان دارای یک پایگاه داده شامل تمام توسعه دهندگان ثبت شده در پروژه و اطلاعات مربوط به آنها (آدرس، تلفن، مختصات جغرافیایی مانند طول و عرض جغرافیایی و غیره) است. برخی از اطلاعات (نام و نام خانوادگی، کشور، نام کاربری در پروژه، نام کاربری IRC، کلید GnuPG و غیره) عمومی و در وب موجود است.
مختصات جغرافیایی اجازه ایجاد نقشه ای را می دهد که همه توسعه دهندگان را در سراسر جهان قرار می دهد. Debian واقعاً یک پروژه بین المللی است: توسعه دهندگان آن را می توان در تمام قاره ها یافت، اگرچه اکثریت آنها در “کشورهای غربی” هستند.
شکل 1.1. توزیع جهانی توسعه دهندگان دبیان
نگهداری بسته یک فعالیت نسبتاً منظم است، بسیار مستند یا حتی تنظیم شده است. در واقع باید با تمام استانداردهای تعیین شده توسط سیاست دبیان مطابقت داشته باشد. خوشبختانه ابزارهای زیادی وجود دارد که کار نگهدار را تسهیل می کند. بنابراین، توسعهدهنده میتواند روی ویژگیهای بسته خود و کارهای پیچیدهتر، مانند رفع اشکالات تمرکز کند.
→https://www.debian.org/doc/debian-policy/
نگهداری بسته، کار توسعه دهنده
نگهداری یک بسته مستلزم “بسته بندی” یک نرم افزار است. به طور خاص، این به معنای تعریف ابزار نصب است تا پس از نصب، این نرم افزار عمل کند و با قوانینی که پروژه دبیان برای خود تعیین می کند، مطابقت داشته باشد. نتیجه این عملیات در یک فایل .deb ذخیره می شود. پس از آن نصب موثر برنامه به چیزی بیش از استخراج این آرشیو فشرده و اجرای برخی از اسکریپت های پیش از نصب یا پس از نصب موجود در آن نیاز نخواهد داشت.
پس از این مرحله اولیه، چرخه تعمیر و نگهداری واقعاً آغاز میشود: آمادهسازی بهروزرسانیها برای پیروی از آخرین نسخه خطمشی دبیان، رفع اشکالهای گزارششده توسط کاربران، و شامل نسخههای جدید «بالادستی» برنامه که طبیعتاً به طور همزمان به توسعه ادامه میدهند. به عنوان مثال، در زمان بسته بندی اولیه، یک برنامه در نسخه 1.2.3 بود. پس از چند ماه توسعه، نویسندگان اصلی نسخه پایدار جدیدی را با شماره 1.4.0 منتشر کردند. در این مرحله، نگهدارنده بسته دبیان باید بسته را به روز کند تا کاربران بتوانند از آخرین نسخه پایدار آن بهره مند شوند.
خط مشی، عنصر اساسی پروژه دبیان، هنجارهایی را ایجاد می کند که هم کیفیت بسته ها و هم قابلیت همکاری کامل توزیع را تضمین می کند. به لطف این خط مشی، دبیان علیرغم اندازه عظیم خود ثابت می ماند. این خط مشی در سنگ ثابت نیست، اما به طور مداوم به لطف پیشنهادات فرموله شده درdebian-policy@lists.debian.orgلیست پستی اصلاحاتی که مورد توافق همه طرف های ذینفع قرار می گیرد، توسط گروه کوچکی از نگهبانان که مسئولیت ویرایشی ندارند، پذیرفته شده و بر روی متن اعمال می شود (این اصلاحات فقط شامل تغییرات مورد توافق توسعه دهندگان دبیان است که اعضای لیست فوق الذکر هستند). می توانید پیشنهادات اصلاحی فعلی را در سیستم ردیابی اشکال بخوانید:
→https://bugs.debian.org/debian-policy
انجمنفرآیند ویرایش خط مشی
هرکسی میتواند با ارسال یک گزارش اشکال با سطح شدت «لیست خواستهها» در برابر بسته سیاستهای دبیان، اصلاحیهای برای خطمشی دبیان پیشنهاد کند. فرآیندی که سپس شروع می شود در مستند شده استhttps://www.debian.org/doc/debian-policy/ap-process.html: اگر تصدیق شود که مشکل باید با ایجاد یک قانون جدید در سیاست دبیان حل شود، بحث در موردdebian-policy@lists.debian.orgلیست پستی تا رسیدن به اجماع و ارائه پیشنهاد. سپس شخصی پیش نویس اصلاحیه مورد نظر را تهیه می کند و آن را برای تأیید (به شکل یک پچ برای بررسی) ارائه می کند. به محض اینکه دو توسعهدهنده دیگر این واقعیت را تأیید کردند که اصلاحیه پیشنهادی منعکسکننده اجماع حاصل در بحث قبلی است (آنها آن را «دومین» کردند)، این پیشنهاد میتواند توسط یکی از نگهدارندگان بسته debian-policy در سند رسمی گنجانده شود. اگر فرآیند در یکی از این مراحل شکست بخورد، نگهدارندهها باگ را میبندند و پیشنهاد را به عنوان رد شده طبقهبندی میکنند.
سیاست دبیانمستندات
اسناد مربوط به هر بسته در /usr/share/doc/ ذخیره می شود.بسته بندی/. این دایرکتوری اغلب حاوی یک فایل README.Debian است که تنظیمات خاص دبیان را که توسط نگهدارنده بسته انجام شده است را توصیف می کند. بنابراین عاقلانه است که قبل از هر پیکربندی این فایل را بخوانید تا از تجربه آنها بهره مند شوید. ما همچنین یک فایل changelog.Debian.gz پیدا می کنیم که تغییرات ایجاد شده از یک نسخه به نسخه دیگر توسط نگهدارنده Debian را توصیف می کند. این نباید با فایل changelog.gz (یا معادل آن)، که تغییرات ایجاد شده توسط توسعه دهندگان بالادستی را توصیف می کند، اشتباه گرفته شود. فایل کپی رایت شامل اطلاعاتی در مورد نویسندگان و مجوزی است که نرم افزار را پوشش می دهد. در نهایت، ممکن است فایلی به نام NEWS.Debian.gz را نیز پیدا کنیم که به توسعه دهنده دبیان اجازه می دهد اطلاعات مهمی را در مورد به روز رسانی ها در میان بگذارد. اگر apt-listchanges نصب شده باشد، این پیام ها به طور خودکار نمایش داده می شوند. تمامی فایل های دیگر مختص نرم افزار مورد نظر هستند. ما بهویژه میخواهیم به دایرکتوری فرعی مثالها اشاره کنیم که اغلب شامل نمونههایی از فایلهای پیکربندی است.
این خط مشی پوشش قابل توجهی از جنبه های فنی بسته بندی ارائه می دهد. اندازه پروژه مشکلات سازمانی را نیز به همراه دارد. mirrorا توسط قانون اساسی دبیان، که ساختار و ابزاری برای تصمیم گیری ایجاد می کند، بررسی می شود. به عبارت دیگر، یک سیستم حکومتی رسمی.
این قانون اساسی تعداد معینی از نقشها و سمتها را به اضافه مسئولیتها و اختیارات برای هر یک تعریف میکند. به ویژه شایان ذکر است که توسعه دهندگان دبیان همیشه دارای اختیارات تصمیم گیری نهایی با رای قطعنامه عمومی هستند، که در آن اکثریت واجد شرایط سه چهارم (75٪) از آرا لازم است تا تغییرات قابل توجهی ایجاد شود (مانند تغییراتی که بر روی آنها تأثیر می گذارد). اسناد بنیاد). با این حال، توسعه دهندگان سالانه یک “رهبر” را برای نمایندگی آنها در جلسات انتخاب می کنند و از هماهنگی داخلی بین تیم های مختلف اطمینان حاصل می کنند. این انتخابات همیشه دوره بحث های شدید است. نقش رهبر پروژه دبیان (DPL) به طور رسمی توسط هیچ سندی تعریف نشده است: نامزدهای این پست معمولاً تعریف خود را از موقعیت پیشنهاد می کنند. در عمل، نقشهای رهبر شامل خدمت به عنوان نماینده برای رسانهها، هماهنگی بین تیمهای «داخلی» و ارائه راهنمایی کلی برای پروژه است که توسعهدهندگان میتوانند با آن ارتباط برقرار کنند: دیدگاههای DPL به طور ضمنی توسط اکثریت پروژه تأیید شده است. اعضا.
به طور خاص، رهبر دارای اقتدار واقعی است. رای آنها آراء مساوی را حل می کند. آنها می توانند هر تصمیمی بگیرند که قبلاً تحت اختیار شخص دیگری نیست و می توانند بخشی از مسئولیت های خود را تفویض کنند.
از زمان آغاز به کار، این پروژه به طور متوالی توسط ایان مرداک، بروس پرنز، ایان جکسون، ویچرت آکرمن، بن کالینز، بدیل گاربی، مارتین میکلمایر، براندن رابینسون، آنتونی تاونز، سام هوسوار، استیو مک اینتایر، استفانو زاکیرولی، لوکاس نوسبام هدایت شده است. نیل مک گاورن، مهدی داگگی، کریس لمب، سم هارتمن و جاناتان کارتر.
قانون اساسی همچنین «کمیته فنی» را تعریف کرده است. نقش اساسی این کمیته تصمیم گیری در مورد مسائل فنی زمانی است که توسعه دهندگان درگیر بین خود به توافق نرسیده اند. در غیر این صورت، این کمیته نقش مشاوره ای را برای هر توسعه دهنده ای ایفا می کند که نتواند تصمیمی را که مسئولیت آن است اتخاذ کند. توجه به این نکته ضروری است که آنها تنها زمانی درگیر می شوند که توسط یکی از طرفین مورد نظر دعوت به انجام این کار شود.
در نهایت، قانون اساسی سمت «دبیر پروژه» را که سازماندهی آراء مربوط به انتخابات مختلف و مصوبات عمومی را بر عهده دارد، تعریف می کند.
رویه «قطعنامه عمومی» (GR) به طور کامل در قانون اساسی، از دوره بحث اولیه تا شمارش نهایی آرا، به تفصیل آمده است. جالبترین جنبه این فرآیند این است که وقتی نوبت به رای واقعی میرسد، توسعهدهندگان باید گزینههای مختلف رای را بین خود رتبهبندی کنند و برنده با یک رای انتخاب میشود.
→https://www.debian.org/devel/constitution
Flamewar، بحثی که آتش می گیرد
«جنگ شعلهور» یک بحث بسیار پرشور است، که اغلب زمانی به حمله افراد به یکدیگر ختم میشود که همه استدلالهای منطقی از هر دو طرف تمام شد. برخی از مضامین بیشتر از سایر موضوعات مورد بحث و جدل قرار می گیرند (انتخاب ویرایشگر متن، “آیا شما vi را ترجیح می دهید یا emacs؟”، مورد علاقه قدیمی است). این مسائل به دلیل تعداد زیاد افراد با نظر در مورد موضوع (همه) و ماهیت بسیار شخصی چنین سؤالاتی، اغلب باعث تبادل ایمیل بسیار سریع می شود.
به طور کلی هیچ چیز مفیدی از چنین بحث هایی حاصل نمی شود. توصیه کلی این است که از چنین بحث هایی دوری کنید، و شاید به سرعت در محتوای آنها مرور کنید، زیرا خواندن کامل آنها بسیار وقت گیر است.
شایسته سالاری، سلطنت دانش
شایسته سالاری شکلی از حکومت است که در آن اقتدار توسط افرادی که بیشترین شایستگی را دارند اعمال می شود. برای دبیان، شایستگی معیاری از شایستگی است که خود با مشاهده اقدامات گذشته توسط یک یا چند نفر دیگر در پروژه ارزیابی می شود (استفانو زاکیرولی، رهبر سابق پروژه، از “do-ocracy” صحبت می کند، به معنای “قدرت کسانی که کارها را انجام می دهند»). وجود ساده آنها سطح معینی از شایستگی را ثابت می کند. دستاوردهای آنها به طور کلی نرم افزار ازاد، با کد منبع موجود است که می تواند به راحتی توسط همتایان برای ارزیابی کیفیت آنها بررسی شود.
این روش عملیاتی موثر، کیفیت مشارکت کنندگان در تیم های “کلیدی” دبیان را تضمین می کند. این روش به هیچ وجه کامل نیست و گهگاه کسانی هستند که این روش را قبول ندارند. انتخاب توسعه دهندگان پذیرفته شده در تیم ها ممکن است کمی خودسرانه یا حتی ناعادلانه به نظر برسد. علاوه بر این، همه تعریف یکسانی از خدمات مورد انتظار از این تیم ها ندارند. برای برخی غیرقابل قبول است که باید هشت روز برای گنجاندن بسته جدید دبیان منتظر بمانند، در حالی که برخی دیگر بدون مشکل به مدت سه هفته صبورانه منتظر بمانند. به این ترتیب، ناراضی ها در مورد “کیفیت خدمات” از برخی تیم ها به طور منظم شکایت می کنند.
انجمنادغام نگهدارنده های جدید
تیمی که مسئول پذیرش توسعه دهندگان جدید است، اغلب مورد انتقاد قرار می گیرد. باید اذعان کرد که در طول سالها، پروژه Debian بیشتر و بیشتر از توسعهدهندگانی که میپذیرد، خواستار شده است. ممکن است برخی افراد بیعدالتی را در آن ببینند، اما باید اعتراف کنیم که چالشهای کوچکی که در ابتدا وجود داشت، در جامعهای با بیش از 1000 نفر بسیار بزرگتر شده است. کاربران
علاوه بر این، روند پذیرش با بررسی نامزدی توسط یک تیم کوچک، مدیران حساب دبیان، به پایان می رسد. بنابراین، این مدیران به ویژه در معرض انتقاد قرار دارند، زیرا آنها در مورد گنجاندن یا رد یک داوطلب در جامعه توسعه دهندگان دبیان حرف آخر را می زنند. در عمل، گاهی اوقات باید پذیرش فرد را تا زمانی که اطلاعات بیشتری در مورد عملیات پروژه کسب نکنند، به تعویق بیندازند. البته می توان قبل از پذیرفته شدن به عنوان یک توسعه دهنده رسمی، با حمایت از توسعه دهندگان فعلی، به دبیان کمک کرد.
1.3.2. نقش فعال کاربران
ممکن است تعجب کنید که آیا ذکر کاربران در میان افرادی که در پروژه دبیان کار می کنند مناسب است یا خیر، اما پاسخ قطعی است: آنها نقش مهمی در پروژه دارند. برخی از کاربران به دور از “منفعل” بودن، نسخه های توسعه دبیان را اجرا می کنند و به طور منظم گزارش های باگ را برای نشان دادن مشکلات ارسال می کنند. دیگران از این هم فراتر می روند و ایده هایی را برای بهبود ارائه می دهند، با ثبت یک گزارش اشکال با سطح شدت “لیست آرزوها”، یا حتی اصلاحاتی را در کد منبع، به نام “وصله ها” ارسال می کنند
1.3.2.1. گزارش اشکالات
ابزار اساسی برای ارسال اشکالات در دبیان، سیستم ردیابی اشکال دبیان (Debian BTS) است که توسط بخش های بزرگی از پروژه استفاده می شود. بخش عمومی (واسط وب) به کاربران اجازه می دهد تا تمام اشکالات گزارش شده را مشاهده کنند، با گزینه ای برای نمایش لیست مرتب شده ای از اشکالات انتخاب شده بر اساس معیارهای مختلف، مانند: بسته آسیب دیده، شدت، وضعیت، آدرس گزارشگر، آدرس نگهدارنده مسئول آن، برچسب، و غیره. همچنین می توان فهرست کامل تاریخی همه بحث های مربوط به هر یک از اشکالات را مرور کرد.
Debian BTS ویژگی های کاربردی دیگری نیز دارد، مانند استفاده از برچسب ها برای برچسب زدن باگ ها. برای اطلاعات بیشتر ببین
واژگانشدت یک اشکال
شدت یک اشکال به طور رسمی درجه ای از گرانش را به مشکل گزارش شده اختصاص می دهد. به طور مؤثر، همه اشکالات اهمیت یکسانی ندارند. به عنوان مثال، یک اشتباه تایپی در یک صفحه دستی قابل مقایسه با یک آسیب پذیری امنیتی در نرم افزار سرور نیست.
دبیان از یک مقیاس گسترده برای توصیف شدت یک باگ استفاده می کند. هر سطح دقیقاً به منظور تسهیل در انتخاب آن تعریف شده است.
→https://www.debian.org/Bugs/Developer#severities
کاربران همچنین می توانند از خط فرمان برای ارسال گزارش اشکال در بسته Debian با ابزار reportbug استفاده کنند. این کمک می کند مطمئن شوید که اشکال مورد نظر قبلاً ثبت نشده است، بنابراین از افزونگی در سیستم جلوگیری می کند. برای اینکه گزارش تا حد امکان دقیق باشد، تعاریف سطوح شدت را به کاربر یادآوری میکند (توسعهدهنده همیشه میتواند این پارامترها را بعداً در صورت نیاز تنظیم کند). این به نوشتن یک گزارش اشکال کامل، بدون نیاز به دانستن نحو دقیق، با نوشتن آن و اجازه دادن به کاربر برای ویرایش آن کمک می کند. این گزارش سپس از طریق یک سرور ایمیل ارسال می شود (به طور پیش فرض، یک سرور راه دور توسط دبیان اجرا می شود، اما گزارش باگ می تواند از یک سرور محلی نیز استفاده کند).
این ابزار ابتدا نسخههای توسعهدهنده را هدف قرار میدهد، جایی که باگها برطرف میشوند. عملاً، تغییرات در نسخه پایدار دبیان، با استثناهای بسیار کمی برای بهروزرسانیهای امنیتی یا سایر بهروزرسانیهای مهم (اگر، برای مثال، یک بسته اصلاً کار نمیکند) استقبال نمیشود. تصحیح یک باگ جزئی در بسته دبیان باید منتظر نسخه پایدار بعدی باشد.
1.3.2.2. ترجمه و مستندات
علاوه بر این، تعداد زیادی از کاربران راضی از خدمات ارائه شده توسط دبیان دوست دارند سهم خود را در این پروژه داشته باشند. از آنجایی که همه افراد در برنامه نویسی دارای تخصص مناسبی نیستند، ممکن است در ترجمه و بررسی اسناد کمک کنند. لیست های پستی مخصوص زبان برای هماهنگ کردن این کار وجود دارد.
→https://lists.debian.org/i18n.html
→https://www.debian.org/international/
1.3.2.3. ارسال اصلاحات
کاربران پیشرفته تر ممکن است بتوانند با ارسال یک پچ، یک برنامه را رفع کنند.
پچ فایلی است که تغییراتی را که باید در یک یا چند فایل مرجع انجام شود را توصیف می کند. به طور خاص، شامل فهرستی از خطوطی است که باید حذف یا به کد اضافه شوند، و همچنین (گاهی اوقات) خطوطی که از متن مرجع گرفته میشوند، جایگزین تغییرات در زمینه میشوند (اگر شمارههای خطوط، محل تغییرات را شناسایی کنند. تغییر کرده اند
ابزار مورد استفاده برای اعمال تغییرات داده شده در چنین فایلی به سادگی Patch نامیده می شود. ابزاری که آن را ایجاد می کند diff نام دارد و به صورت زیر استفاده می شود:
$ diff -u file.old file.new >file.patch
فایل file.patch حاوی دستورالعمل هایی برای تغییر محتوای file.old به file.new است. میتوانیم آن را برای شخصی ارسال کنیم، که سپس میتواند از آن برای ایجاد مجدد file.new از دو مورد دیگر استفاده کند، مانند این:
$ patch –p0 file.old <file.patch
فایل file.old اکنون با file.new یکسان است.
در عمل، اکثر نرمافزارها در حال حاضر در مخازن Git نگهداری میشوند و بنابراین احتمال بیشتری وجود دارد که مشارکتکنندگان از git برای بازیابی کد منبع و پیشنهاد تغییرات استفاده کنند. git diff فایلی را با همان فرمت کاری که diff -u انجام میدهد تولید میکند و git application میتواند همان پچ را انجام دهد.
Git
Git ابزاری برای کار مشترک بر روی چندین فایل است، در حالی که تاریخچه ای از تغییرات را حفظ می کند. فایل های مورد نظر عموماً فایل های متنی هستند، مانند کد منبع یک برنامه. اگر چند نفر روی یک فایل با هم کار کنند، git فقط در صورتی میتواند تغییرات ایجاد شده را در قسمتهای مختلف فایل ادغام کند. در غیر این صورت، این “تضادها” باید با دست حل شود.
Git یک سیستم توزیع شده است که در آن هر کاربر یک مخزن با تاریخچه کامل تغییرات دارد. مخازن مرکزی برای دانلود پروژه (git clone) و به اشتراک گذاری کارهای انجام شده با دیگران (git push) استفاده می شود. مخزن میتواند حاوی چندین نسخه از فایلها باشد، اما فقط یک نسخه را میتوان در یک زمان معین کار کرد: به آن کپی کاری گفته میشود (میتوان آن را برای اشاره به نسخه دیگری با git checkout تغییر داد). Git میتواند تغییرات انجامشده در کپی کاری (git diff) را به شما نشان دهد، میتواند تغییرات را برای گنجاندن (git add)، و میتواند یک ورودی جدید در تاریخچه نسخه ایجاد کند (git commit). همچنین میتواند نسخهی کاری را بهروزرسانی کند تا تغییراتی را که بهطور موازی توسط کاربران دیگر انجام میشود (git pull) را در بر بگیرد و میتواند پیکربندی خاصی را در تاریخچه ثبت کند تا بتواند بعداً به راحتی آن را استخراج کند (تگ git).
Git مدیریت چندین نسخه همزمان از یک پروژه را بدون تداخل آنها با یکدیگر آسان می کند. به این نسخه ها شاخه می گویند. این استعاره از یک درخت نسبتاً دقیق است، زیرا یک برنامه در ابتدا بر روی یک تنه مشترک توسعه داده می شود. هنگامی که به نقطه عطفی رسید (مانند نسخه 1.0)، توسعه در دو شاخه ادامه می یابد: شاخه توسعه نسخه اصلی بعدی را آماده می کند، و شعبه تعمیر و نگهداری به روز رسانی ها و اصلاحات نسخه 1.0 را مدیریت می کند.
Git امروزه محبوب ترین سیستم کنترل نسخه است اما تنها نیست. از لحاظ تاریخی، CVS (سیستم نسخههای همزمان) اولین ابزار پرکاربرد بود، اما محدودیتهای متعدد آن به ظهور جایگزینهای ازاد مدرنتر کمک کرد. mirrorا به ویژه عبارتند از Subversion (svn)، Git (git)، بازار (bzr)، فسیل (fossil) و Mercurial (hg).
→https://subversion.apache.org/
→https://bazaar.canonical.com/
→http://mercurial.selenic.com/
ارائه توضیحات مفصل در مورد Git از حوصله این کتاب خارج است. برای آن می توانید به کتاب Pro Git مراجعه کنید.
در حالی که خروجی git diff فایلی است که می تواند با توسعه دهندگان دیگر به اشتراک گذاشته شود، معمولا راه های بهتری برای ارسال تغییرات وجود دارد. اگر توسعهدهندگان ترجیح میدهند وصلهها را از طریق ایمیل دریافت کنند، معمولاً وصلههایی را میخواهند که با git format-patch تولید شوند تا بتوانند مستقیماً با git am در مخزن ادغام شوند. این متا اطلاعات مربوط به commit ها را حفظ می کند و امکان به اشتراک گذاری چندین commit را به طور همزمان فراهم می کند.
این گردش کار مبتنی بر ایمیل هنوز هم محبوب است، اما هر زمان که نرمافزار در پلتفرمی مانند GitHub یا GitLab میزبانی میشود، با استفاده از درخواستهای ادغام (یا درخواستهای کششی) جایگزین میشود – و دبیان از GitLab در salsa.debian.org خود استفاده میکند. سرور در آن سیستمها، هنگامی که یک حساب کاربری ایجاد کردید، مخزن را فورک میکنید، در واقع یک کپی از مخزن در حساب خود ایجاد میکنید، و سپس میتوانید آن مخزن را شبیهسازی کنید و تغییرات خود را در آن اعمال کنید. از آنجا، رابط وب به شما پیشنهاد میکند که درخواست ادغام ارسال کنید، و توسعهدهندگان را از تغییرات خود مطلع میکند و بررسی و پذیرش تغییرات شما را با یک کلیک آسان میکند.
1.3.2.4. راه های دیگر مشارکت
همه این مکانیسم های مشارکت با رفتار کاربران کارآمدتر می شوند. کاربران به دور از مجموعه ای از افراد منزوی، یک جامعه واقعی هستند که در آن مبادلات متعددی انجام می شود
→https://lists.debian.org/users.html
کاربران نه تنها در مورد مسائل فنی که مستقیماً بر آنها تأثیر می گذارد به خود (و دیگران) کمک می کنند، بلکه در مورد بهترین راه های مشارکت در پروژه Debian و کمک به پیشرفت آن نیز بحث می کنند – بحث هایی که اغلب منجر به پیشنهاداتی برای بهبود می شود.
ابزارچطور می تونم کمک کنم
برنامه how-can-i-help فرصت هایی را برای مشارکت در بسته های Debian که به صورت محلی نصب شده اند فهرست می کند. پس از هر فراخوانی APT (نگاه کنید بهفصل 6، تعمیر و نگهداری و به روز رسانی: ابزارهای APT)، با برجسته کردن اشکالات با برچسب “تازه وارد” (که نقاط ورود آسان برای مشارکت کنندگان جدید هستند) یا بسته های یتیمی که به نگهدارنده جدید نیاز دارند، راه هایی برای کمک نشان می دهد. برنامه را می توان به طور مستقیم نیز اجرا کرد.
از آنجایی که دبیان بودجه ای را برای هیچ کمپین بازاریابی خود تبلیغی خرج نمی کند، کاربران آن نقش اساسی در انتشار آن ایفا می کنند و شهرت آن را از طریق دهان به دهان تضمین می کنند.
این روش بسیار خوب کار می کند، زیرا طرفداران دبیان در تمام سطوح جامعه نرم افزار آزاد یافت می شوند: از جشن های نصب (کارگاه هایی که کاربران باتجربه به تازه واردان کمک می کنند تا سیستم را نصب کنند) که توسط LUG های محلی یا “گروه های کاربران لینوکس” سازماندهی شده اند، تا غرفه های انجمن در کنوانسیون های بزرگ فناوری که با لینوکس و غیره سروکار دارند.
داوطلبان پوسترها، بروشورها، استیکرها و سایر مواد تبلیغاتی مفید را برای این پروژه میسازند، که در دسترس همگان قرار میدهند و دبیان بهطور ازاد در وبسایت و ویکیاش ارائه میکند:
→https://www.debian.org/events/material
1.3.3. تیم ها، ترکیب ها و پروژه های فرعی
از ابتدا، دبیان حول مفهوم بسته های منبع سازماندهی شده است، که هر کدام دارای نگهدارنده یا گروهی از نگهدارنده های خود هستند. تیمهای کاری زیادی در طول زمان پدید آمدهاند و مدیریت زیرساختها، مدیریت وظایفی را که مختص هیچ بسته خاصی نیستند (تضمین کیفیت، خطمشی دبیان، نصبکننده و غیره) تضمین میکنند، با آخرین سری از تیمهایی که حول پروژههای فرعی رشد میکنند و مخلوط می کند.
1.3.3.1. پروژه های فرعی دبیان و ترکیبات موجود
به هر یک از دبیان خود! یک پروژه فرعی گروهی از داوطلبان است که علاقه مند به تطبیق دبیان با نیازهای خاص هستند. فراتر از انتخاب یک گروه فرعی از برنامه های در نظر گرفته شده برای یک دامنه خاص (آموزش، پزشکی، ایجاد چند رسانه ای، و غیره)، پروژه های فرعی نیز در بهبود بسته های موجود، بسته بندی نرم افزار گم شده، تطبیق نصب کننده، ایجاد مستندات خاص، نقش دارند. و بیشتر. در حالی که یک “ترکیب” ممکن است دقیقاً یکسان نباشد، اما کاملاً مشابه عمل می کند و همچنین سعی می کند راه حلی را برای گروه هایی از افرادی که قصد استفاده از دبیان را برای یک دامنه خاص دارند ارائه دهد. می توان گفت که “Debian Pure Blends” جانشین پروژه های فرعی است.
→https://www.debian.org/blends/
واژگانپروژه های فرعی، ترکیبات و توزیع مشتقات
فرآیند توسعه برای توزیع مشتق شامل شروع با یک نسخه خاص از Debian و ایجاد تعدادی تغییرات در آن است. زیرساخت استفاده شده برای این کار کاملاً خارج از پروژه دبیان است. لزوماً سیاستی برای کمک به بهبودها وجود ندارد. این تفاوت توضیح می دهد که چگونه یک توزیع مشتق ممکن است از مبدأ خود “واگرا” شود، و چرا آنها باید به طور منظم با منبع خود همگام شوند تا از پیشرفت های انجام شده در بالادست بهره مند شوند.
از سوی دیگر، یک پروژه فرعی یا ترکیبی نمی تواند از هم جدا شود، زیرا تمام کار روی آن شامل بهبود مستقیم Debian به منظور تطبیق آن با یک هدف خاص است.
شناخته شده ترین توزیع مشتق شده از دبیان، بدون شک، اوبونتو است
در اینجا مجموعه کوچکی از Debian Pure Blends منتشر شده است:
- Debian Junior، توسط بن آرمسترانگ، ارائه یک سیستم دبیان جذاب و آسان برای کودکان.
- Debian Edu، توسط Petter Reinholdtsen، بر ایجاد یک توزیع تخصصی برای دنیای آکادمیک و آموزشی متمرکز شده است.
- دبیان مد، توسط آندریاس تیله، اختصاص داده شده به حوزه پزشکی؛
- Debian Multimedia که به کارهای صوتی و چند رسانه ای می پردازد.
- Debian GIS که از برنامه های کاربردی و کاربران سیستم های اطلاعات جغرافیایی مراقبت می کند.
- Debian Astro، هم برای حرفه ای ها و هم برای ستاره شناسان سرگرمی؛
- Debian Science، کار بر روی ارائه تجربه بهتر به محققان و دانشمندان با استفاده از Debian.
- Freedombox، ساخته شده برای توسعه، طراحی و ترویج سرورهای شخصی که نرم افزار ازاد برای ارتباطات خصوصی و شخصی را اجرا می کنند.
- بازیهای دبیان، ارائه بازیها در دبیان از بازیهای آرکید و ماجراجویی گرفته تا شبیهسازی و استراتژی.
- DebiChem که هدف آن شیمی است، مجموعه ها و برنامه های شیمیایی را ارائه می دهد.
به احتمال زیاد تعداد پروژه ها با گذشت زمان و درک بهتر از مزایای Debian Pure Blends به رشد خود ادامه خواهند داد. آنها به طور کامل توسط زیرساخت موجود دبیان پشتیبانی میشوند، در واقع میتوانند روی کار با ارزش افزوده واقعی تمرکز کنند، بدون اینکه نگران همگام ماندن با دبیان باشند، زیرا در داخل پروژه توسعه داده شدهاند.
1.3.3.2. تیم های اداری
اکثر تیم های اداری نسبتاً بسته هستند و فقط به صورت اشتراکی استخدام می شوند. بهترین وسیله برای عضویت در یکی این است که هوشمندانه به اعضای فعلی کمک کنید و نشان دهید که اهداف و روشهای عملکرد آنها را درک کردهاید.
ftpmasters مسئول آرشیو رسمی بسته های دبیان هستند. آنها برنامه ای را که بسته های ارسال شده توسط توسعه دهندگان را دریافت می کند، نگهداری می کنند و پس از بررسی ها به طور خودکار آنها را در سرور مرجع (ftp-master.debian.org) ذخیره می کنند.
آنها همچنین باید مجوزهای همه بسته های جدید را تأیید کنند تا اطمینان حاصل شود که دبیان می تواند آنها را توزیع کند، قبل از اینکه آنها را در مجموعه بسته های موجود قرار دهد. زمانی که توسعهدهندهای میخواهد بستهای را حذف کند، از طریق سیستم ردیابی اشکال و ftp.debian.org «شبه بسته» به این تیم خطاب میکند.
واژگانشبه بسته، یک ابزار نظارتی
سیستم ردیابی اشکال، که در ابتدا برای مرتبط کردن گزارشهای باگ با یک بسته دبیان طراحی شده بود، برای مدیریت موارد دیگر بسیار کاربردی بوده است: لیستی از مشکلاتی که باید حل شوند یا وظایفی که بدون هیچ پیوندی به یک بسته دبیان خاص مدیریت میشوند. بنابراین، “بسته های شبه” به تیم های خاصی اجازه می دهد تا از سیستم ردیابی اشکال استفاده کنند بدون اینکه یک بسته واقعی را با تیم خود مرتبط کنند. بنابراین، همه می توانند مسائلی را گزارش کنند که باید با آنها برخورد شود. به عنوان مثال، BTS دارای یک ورودی ftp.debian.org است که برای گزارش و پیگیری مشکلات در آرشیو بسته رسمی یا صرفاً برای درخواست حذف یک بسته استفاده می شود. به همین ترتیب، بسته شبه www.debian.org به خطاهای وب سایت دبیان اشاره دارد و lists.debian.org تمام مشکلات مربوط به لیست های پستی را جمع آوری می کند.
ابزارGitLab، میزبانی مخزن Git و موارد دیگر
یک نمونه GitLab، معروف به salsa.debian.org، توسط دبیان برای میزبانی مخازن بسته بندی Git استفاده می شود. اما این نرم افزار بسیار بیشتر از میزبانی ساده ارائه می دهد و مشارکت کنندگان دبیان به سرعت از ویژگی های یکپارچه سازی مداوم (اجرای آزمایش ها یا حتی ساخت بسته ها در هر فشار) استفاده کرده اند. مشارکتکنندگان دبیان به لطف فرآیند درخواست ادغام به خوبی درک شده (شبیه به درخواستهای کششی GitHub) از گردش کار مشارکت پاکتری بهره میبرند.
GitLab جایگزین FusionForge (که روی سرویسی به نام alioth.debian.org در حال اجرا بود) را برای نگهداری مشترک بستهها جایگزین کرد. این سرویس توسط Alexander Wirt، Bastian Blank و Jörg Jaspert اداره می شود.
→https://wiki.debian.org/Salsa/Doc
تیم مدیران سیستم دبیان (DSA)debian-admin@lists.debian.orgهمانطور که انتظار می رود، مسئولیت مدیریت سیستم بسیاری از سرورهای مورد استفاده پروژه را بر عهده دارد. آنها عملکرد بهینه همه سرویس های پایه (DNS، وب، ایمیل، پوسته، و غیره) را تضمین می کنند، نرم افزار درخواستی توسعه دهندگان دبیان را نصب می کنند و تمام اقدامات احتیاطی را در رابطه با امنیت انجام می دهند.
ابزارردیاب بسته دبیان
این یکی از ساخته های رافائل است. ایده اصلی، برای یک بسته معین، متمرکز کردن هرچه بیشتر اطلاعات در یک صفحه است. بنابراین، فرد می تواند به سرعت وضعیت یک برنامه را بررسی کند، وظایفی را که باید تکمیل شود شناسایی کرده و کمک خود را ارائه دهد. به همین دلیل است که این صفحه تمام آمار اشکالات، نسخههای موجود در هر توزیع، پیشرفت یک بسته در توزیع آزمایشی، وضعیت ترجمههای توضیحات و قالبهای debconf، در دسترس بودن احتمالی نسخه جدید بالادستی، اعلامیههای عدم انطباق با آخرین نسخه را جمعآوری میکند. نسخه خط مشی دبیان، اطلاعات مربوط به نگهدارنده، و هر اطلاعات دیگری که نگهدارنده مذکور مایل است شامل شود.
یک سرویس اشتراک ایمیل این رابط وب را تکمیل می کند. به طور خودکار اطلاعات انتخاب شده زیر را به لیست ارسال می کند: اشکالات و بحث های مرتبط، در دسترس بودن نسخه جدید در سرورهای دبیان، ترجمه های جدید موجود برای تصحیح و غیره.
بنابراین، کاربران پیشرفته می توانند تمام این اطلاعات را از نزدیک دنبال کنند و حتی در پروژه مشارکت کنند، پس از اینکه درک کافی از نحوه کارکرد آن به دست آوردند.
یک رابط وب دیگر، که به عنوان مروری بر بستههای توسعهدهنده دبیان (DDPO) شناخته میشود، خلاصهای از وضعیت تمام بستههای دبیان که تحت مسئولیت آنها قرار گرفتهاند را به هر توسعهدهنده ارائه میدهد.
→https://qa.debian.org/developer.php
این دو وب سایت ابزارهایی هستند که توسط گروه مسئول تضمین کیفیت در دبیان (معروف به Debian QA) توسعه یافته و مدیریت می شوند.
مدیران لیست، سرور ایمیلی را که لیست های پستی را مدیریت می کند، مدیریت می کنند. آنها فهرستهای جدید ایجاد میکنند، با پرش (اعلامیههای شکست تحویل) مدیریت میکنند و فیلترهای هرزنامه (ایمیل انبوه ناخواسته) را حفظ میکنند.
ترافیک در لیست های پستی: برخی ارقام
لیست های پستی، بدون شک، بهترین گواهی برای فعالیت در یک پروژه هستند، زیرا آنها همه اتفاقات را ردیابی می کنند. اعداد (از آوریل 2021) در مورد لیست های پستی ما برای خود صحبت می کنند: دبیان میزبان حدود 325 لیست است که در مجموع بیش از 295000 اشتراک فردی را شامل می شود. روزانه 396000 ایمیل ارسال می شود.
1.3.3.3. تیم های توسعه، تیم های عرضی
برخلاف تیمهای اداری، تیمهای توسعه به طور گسترده حتی برای مشارکتکنندگان خارجی باز هستند. حتی اگر دبیان حرفه ای برای ایجاد نرم افزار نداشته باشد، پروژه برای رسیدن به اهداف خود به برنامه های خاصی نیاز دارد. البته، این ابزارها که تحت مجوز نرم افزار آزاد توسعه یافته اند، از روش هایی استفاده می کنند که در جاهای دیگر در دنیای نرم افزار آزاد ثابت شده است.
دبیان نرمافزار کمی برای خود توسعه داده است، اما برنامههای خاصی نقش اصلی را بر عهده گرفتهاند و شهرت آنها فراتر از محدوده پروژه است. نمونه های خوب هستندdpkg، برنامه مدیریت بسته دبیان (در واقع مخفف Debian PacKaGe است و به طور کلی به عنوان “dee-package” تلفظ می شود) وapt، ابزاری برای نصب خودکار هر بسته دبیان و وابستگی های آن، که ثبات سیستم را پس از ارتقاء تضمین می کند (نام آن مخفف Advanced Package Tool است). با این حال، تیم های آنها بسیار کوچکتر هستند، زیرا برای به دست آوردن درک کلی از عملیات این نوع برنامه ها، به سطح بالایی از مهارت برنامه نویسی نیاز است.
مهمترین تیم احتمالاً این است که برای برنامه نصب دبیان،debian-installerکه از زمان تصورش در سال 2001، کار بسیار مهمی را انجام داده است. به مشارکت کنندگان متعددی نیاز بود، زیرا نوشتن یک برنامه واحد که بتواند دبیان را روی ده ها معماری مختلف نصب کند، دشوار است. هر کدام مکانیسم مخصوص به خود را برای بوت کردن و بوت لودر مخصوص به خود دارند. همه این کارها بر روی هماهنگ شده استdebian-boot@lists.debian.orgلیست پستی، به سرپرستی سیریل برولبوا.
→https://www.debian.org/devel/debian-installer/
→https://joeyh.name/blog/entry/d-i_retrospective/
4.2. نصب، مرحله به مرحله
4.2.1. راه اندازی و راه اندازی نصب کننده
پس از شروع بوت شدن بایوس از CD یا DVD-ROM، منوی بوت لودر Isolinux ظاهر می شود. در این مرحله، هسته لینوکس هنوز بارگذاری نشده است. این منو به شما امکان می دهد هسته را برای بوت شدن انتخاب کنید و پارامترهای احتمالی را وارد کنید تا در این فرآیند به آن منتقل شوند.
برای نصب استاندارد، فقط باید «نصب» یا «نصب گرافیکی» (با کلیدهای جهت دار) را انتخاب کنید، سپس دکمه را فشار دهید.واردکلید شروع بقیه مراحل نصب. اگر DVD-ROM یک دیسک “Multi-Art” باشد و دستگاه دارای پردازنده 64 بیتی اینتل یا AMD باشد، آن گزینه های منو امکان نصب نوع 64 بیتی (amd64) و نصب 32 بیتی را فراهم می کنند. نوع در یک منوی فرعی اختصاصی (“گزینه های نصب 32 بیتی”) در دسترس باقی می ماند. اگر پردازنده 32 بیتی دارید، انتخابی ندارید و ورودی های منو، نوع 32 بیتی (i386) را نصب می کنند.
ادامه دادن32 یا 64 بیت؟
تفاوت اساسی بین سیستم های 32 و 64 بیتی در اندازه آدرس های حافظه است. در تئوری، یک سیستم 32 بیتی نمی تواند با بیش از 4 گیگابایت رم کار کند (232بایت). در عمل، می توان با استفاده از این محدودیت کار کرد686-paeنوع هسته، تا زمانی که پردازنده عملکرد PAE (افزودن آدرس فیزیکی) را کنترل کند. با این حال، استفاده از آن تأثیر قابل توجهی بر عملکرد سیستم دارد. به همین دلیل است که استفاده از حالت 64 بیتی در سروری با مقدار زیادی رم مفید است.
برای یک کامپیوتر اداری (که در آن چند درصد تفاوت عملکرد ناچیز است)، باید در نظر داشته باشید که برخی از برنامه های اختصاصی در نسخه های 64 بیتی موجود نیستند. از نظر فنی می توان آنها را روی سیستم های 64 بیتی کار کرد، اما باید نسخه های 32 بیتی همه کتابhome های لازم را نصب کنید و گاهی اوقات برای استفادهجستجویالینوکس 32(در بسته util-linux) برای فریب برنامه های کاربردی در مورد ماهیت سیستم.
در عملنصب در کنار یک سیستم ویندوز موجود
اگر رایانه از قبل دارای ویندوز است، برای نصب دبیان نیازی به حذف سیستم نیست. شما می توانید هر دو سیستم را به طور همزمان داشته باشید، هر کدام بر روی یک دیسک یا پارتیشن جداگانه نصب شده باشند، و انتخاب کنید که هنگام بوت کردن کامپیوتر از کدام یک شروع شود. این پیکربندی اغلب “دو بوت” نامیده می شود و سیستم نصب دبیان می تواند آن را راه اندازی کند. این در مرحله پارتیشن بندی هارد دیسک نصب و راه اندازی بوت لودر انجام می شود (به نوارهای جانبی مراجعه کنیددر عمل کوچک کردن پارتیشن ویندوزومراقب بوت لودر و بوت دوگانه باشید).
اگر قبلاً یک سیستم ویندوزی دارید، حتی می توانید از CD-ROM استفاده نکنید. دبیان یک برنامه ویندوزی را ارائه می دهد که یک نصب کننده سبک دبیان را دانلود کرده و روی هارد دیسک راه اندازی می کند. پس از آن فقط باید کامپیوتر را راه اندازی مجدد کنید و بین بوت معمولی ویندوز یا بوت کردن برنامه نصب را انتخاب کنید. شما همچنین می توانید آن را در یک وب سایت اختصاصی با عنوان نسبتاً واضح پیدا کنید…
→https://deb.debian.org/debian/tools/win32-loader/stable/
→https://people.debian.org/~rmh/goodbye-microsoft/
بوت لودر
بوت لودر یک برنامه سطح پایین است که مسئول بوت کردن هسته لینوکس درست پس از خارج شدن بایوس از کنترل آن است. برای انجام این کار، باید بتواند هسته لینوکس را برای بوت شدن روی دیسک پیدا کند. در معماری i386 و amd64، دو برنامه پرکاربرد برای انجام این کار، LILO، قدیمیتر از این دو، و GRUB، جایگزین مدرن آن هستند. Isolinux و Syslinux جایگزین هایی هستند که اغلب برای بوت شدن از رسانه های قابل جابجایی استفاده می شوند.
هر ورودی منو یک خط فرمان بوت خاص را پنهان می کند که می توان آن را در صورت نیاز با فشار دادن دکمه پیکربندی کردTABقبل از اعتبارسنجی ورودی و راهاندازی کلید. ورودی منوی “Help” رابط خط فرمان قدیمی را نشان می دهد، جایی کهF1بهF10کلیدها صفحه های راهنما مختلفی را نشان می دهند که گزینه های مختلف موجود در اعلان را با جزئیات نشان می دهد. به ندرت نیاز به استفاده از این گزینه خواهید داشت مگر در موارد بسیار خاص.
حالت “متخصص” (قابل دسترسی در منوی “گزینه های پیشرفته”) جزئیات تمام گزینه های ممکن در فرآیند نصب را نشان می دهد و اجازه می دهد تا بین مراحل مختلف بدون اینکه آنها به صورت خودکار به ترتیب انجام شوند پیمایش کنید. مراقب باشید، این حالت بسیار پرمخاطب به دلیل گزینه های پیکربندی متعددی که ارائه می دهد، می تواند گیج کننده باشد.
حالت “نجات” که در منوی “گزینه های پیشرفته” نیز قابل دسترسی است، امکان بازیابی سیستم خراب یا تعمیر بوت لودر را فراهم می کند. پس از ارائه چند صفحه اول نصب کننده، اجازه می دهد تا برای انجام هر گونه اقدامات لازم، یک پیام پوسته را در سیستم فایلی که انتخاب کرده اید وارد کنید، یا اجازه می دهد بوت لودر را دوباره نصب کنید.
→https://www.debian.org/releases/stable/amd64/ch08s06.en.html
شکل 4.1. صفحه بوت
پس از بوت شدن، برنامه نصب شما را گام به گام در طول فرآیند راهنمایی می کند. در این بخش هر یک از این مراحل به تفصیل ارائه می شود. در اینجا ما روند نصب را از یک DVD-ROM amd64 (به طور خاص، نسخه RC3 نصب کننده برای Bullsye) دنبال می کنیم. نصبهای netinst و همچنین نسخه نهایی نصبکننده ممکن است کمی متفاوت به نظر برسند. ما همچنین به نصب در حالت گرافیکی خواهیم پرداخت، اما تنها تفاوت با نصب “کلاسیک” (حالت متنی) در ظاهر بصری است.
4.2.2. انتخاب زبان
برنامه نصب به زبان انگلیسی شروع می شود، اما اولین مرحله به کاربر اجازه می دهد زبانی را که در بقیه مراحل استفاده می شود انتخاب کند. برای مثال، انتخاب زبان فرانسه، نصبی را به طور کامل به فرانسوی ترجمه میکند (و در نتیجه یک سیستم به زبان فرانسوی پیکربندی میشود). این انتخاب همچنین برای تعریف گزینههای پیشفرض مرتبطتر در مراحل بعدی (به ویژه طرحبندی صفحهکلید) استفاده میشود.
حرکت با صفحه کلید
برخی از مراحل در فرآیند نصب نیاز به وارد کردن اطلاعات دارند. این صفحهها مناطق مختلفی دارند که ممکن است «فوکوس داشته باشند» (منطقه ورودی متن، کادرهای انتخاب، فهرست انتخابها،خوبولغو کنیددکمه ها)، وTABکلید به شما امکان می دهد از یکی به دیگری حرکت کنید.
در حالت گرافیکی، می توانید از ماوس همانطور که در یک دسکتاپ گرافیکی نصب شده استفاده می کنید استفاده کنید.
شکل 4.2. انتخاب زبان
4.2.3. انتخاب کشور
مرحله دوم شامل انتخاب کشور شماست. این اطلاعات همراه با زبان، برنامه را قادر می سازد تا مناسب ترین طرح صفحه کلید را ارائه دهد. این همچنین بر پیکربندی منطقه زمانی تأثیر می گذارد. در ایالات متحده، یک صفحه کلید استاندارد QWERTY پیشنهاد شده است، و انتخاب مناطق زمانی مناسب ارائه شده است.
شکل 4.3. انتخاب کشور
4.2.4. انتخاب چیدمان صفحه کلید
صفحه کلید پیشنهادی “انگلیسی آمریکایی” با طرح بندی معمول QWERTY مطابقت دارد.
شکل 4.4. انتخاب صفحه کلید
4.2.5. تشخیص سخت افزار
این مرحله در اکثر موارد کاملاً خودکار است. نصب کننده سخت افزار شما را شناسایی می کند و سعی می کند درایو CD-ROM مورد استفاده برای دسترسی به محتوای آن را شناسایی کند. ماژول های مربوط به اجزای سخت افزاری مختلف شناسایی شده را بارگذاری می کند و سپس CD-ROM را به منظور خواندن آن “mount” می کند. مراحل قبلی به طور کامل در تصویر بوت موجود در سی دی، فایلی با اندازه محدود و در هنگام بوت شدن از سی دی توسط بایوس در حافظه بارگذاری شده بود.
نصب کننده می تواند با اکثریت قریب به اتفاق درایوها، به ویژه تجهیزات جانبی استاندارد ATAPI (که گاهی اوقات IDE و EIDE نامیده می شود) کار کند. با این حال، اگر تشخیص CD-ROM خوان ناموفق باشد، نصب کننده انتخاب بارگذاری یک ماژول هسته (به عنوان مثال، از یک کلید USB) مربوط به درایور CD-ROM را ارائه می دهد.
4.2.6. بارگیری کامپوننت ها
با در دسترس بودن محتویات سی دی، نصب کننده تمام فایل های لازم برای ادامه کار خود را بارگذاری می کند. این شامل درایورهای اضافی برای سخت افزار باقی مانده (مخصوصاً کارت شبکه) و همچنین تمام اجزای برنامه نصب است.
4.2.7. تشخیص سخت افزار شبکه
این مرحله خودکار سعی می کند کارت شبکه را شناسایی کرده و ماژول مربوطه را بارگذاری کند. اگر تشخیص خودکار ناموفق بود، می توانید به صورت دستی ماژول را برای بارگیری انتخاب کنید. اگر هیچ ماژولی کار نمی کند، می توان یک ماژول خاص را از یک دستگاه قابل جابجایی بارگذاری کرد. این آخرین راه حل معمولاً تنها زمانی مورد نیاز است که درایور مناسب در هسته استاندارد لینوکس موجود نباشد، اما در جاهای دیگر، مانند وب سایت سازنده یا در آرشیوها/بستههای میانافزار موجود باشد.
→https://www.debian.org/devel/debian-installer/#firmware_nonfree
این مرحله باید برای نصب های netinst کاملاً موفقیت آمیز باشد، زیرا بسته های Debian باید از شبکه بارگیری شوند.
4.2.8. پیکربندی شبکه
به منظور خودکار کردن فرآیند تا حد امکان، نصب کننده یک پیکربندی خودکار شبکه را توسط DHCP (برای IPv4) و با کشف شبکه IPv6 انجام می دهد. اگر این کار انجام نشد، گزینههای بیشتری را ارائه میدهد: دوباره با یک پیکربندی DHCP معمولی امتحان کنید، با اعلام نام دستگاه، پیکربندی DHCP را انجام دهید، یا یک پیکربندی شبکه ایستا را تنظیم کنید.
این آخرین گزینه به یک آدرس IP، یک ماسک زیر شبکه، یک آدرس IP برای یک دروازه بالقوه، یک نام ماشین و یک نام دامنه نیاز دارد.
نکتهپیکربندی بدون DHCP
اگر شبکه محلی مجهز به سرور DHCP است که نمیخواهید از آن استفاده کنید، زیرا ترجیح میدهید یک آدرس IP ثابت برای دستگاه در حین نصب تعریف کنید، میتوانید آن را اضافه کنید.netcfg/use_dhcp=falseگزینه هنگام بوت شدن از رسانه نصب. فقط باید با فشردن دکمه به منوی مورد نظر برویدTABرا فشار دهید و گزینه مورد نظر را قبل از فشار دادن اضافه کنیدواردکلید
برحذر بودنبداهه نگویید
بسیاری از شبکههای محلی مبتنی بر این فرض ضمنی هستند که میتوان به همه ماشینها اعتماد کرد و پیکربندی ناکافی یک کامپیوتر منفرد اغلب کل شبکه را مختل میکند. در نتیجه، دستگاه خود را بدون توافق با سرپرست آن در مورد تنظیمات مناسب (مثلاً آدرس IP، ماسک شبکه و آدرس پخش) به شبکه متصل نکنید.
4.2.9. رمز عبور مدیر
حساب کاربری ریشه فوق العاده کاربر، رزرو شده برای سرپرست دستگاه، به طور خودکار در طول نصب ایجاد می شود. به همین دلیل است که رمز عبور درخواست می شود. نصب کننده همچنین برای جلوگیری از هرگونه خطای ورودی که بعداً اصلاح آن دشوار خواهد بود، تأیید رمز عبور را می خواهد. توجه داشته باشید که اگر میخواهید اکانت root غیرفعال شود، میتوانید هر دو قسمت را خالی بگذارید. در این صورت، ورود برای کاربر ریشه غیرفعال می شود و اولین کاربر معمولی – که توسط نصب کننده در مرحله بعدی ایجاد می شود – از حقوق مدیریتی برخوردار خواهد شد.
امنیترمز عبور مدیر
رمز عبور کاربر اصلی باید طولانی باشد (12 کاراکتر یا بیشتر) و حدس زدن آن غیرممکن است. در واقع، هر رایانه ای (و به طور عمده هر سروری) متصل به اینترنت به طور منظم توسط تلاش های اتصال خودکار با واضح ترین رمزهای عبور هدف قرار می گیرد. گاهی اوقات حتی ممکن است در معرض حملات لغت قرار گیرد، که در آن ترکیبات بسیاری از کلمات و اعداد به عنوان رمز عبور آزمایش می شوند. از استفاده از نام فرزندان یا والدین، تاریخ تولد و غیره خودداری کنید: ممکن است بسیاری از همکاران شما آنها را بشناسند و به ندرت بخواهید به آنها دسترسی ازاد به رایانه مورد نظر بدهید.
این اظهارات به همان اندازه برای سایر گذرواژههای کاربر قابل اجرا هستند، اما عواقب یک حساب در معرض خطر برای کاربران بدون حقوق مدیریتی کمتر است.
در صورت کمبود الهام، در استفاده از تولید کننده رمز عبور، مانندpwgen(در بسته بندی به همین نام).
شکل 4.5. رمز عبور مدیر
4.2.10. ایجاد اولین کاربر
دبیان همچنین ایجاد یک حساب کاربری استاندارد را تحمیل می کند تا مدیر عادت بد به کار کردن به عنوان روت نکند. اصل احتیاط اساساً به این معناست که هر کار با حداقل حقوق لازم انجام شود تا خسارات ناشی از خطای انسانی محدود شود. به همین دلیل است که نصب کننده نام کامل اولین کاربر، نام کاربری و رمز عبور او را می خواهد (دو بار برای جلوگیری از خطر ورود اشتباه).
شکل 4.6. نام اولین کاربر
4.2.11. پیکربندی ساعت
اگر شبکه در دسترس باشد، ساعت داخلی سیستم (به روش تک شات) از یک سرور NTP به روز می شود. به این ترتیب مُهرهای زمانی روی گزارشها از اولین راهاندازی صحیح خواهند بود. برای اینکه آنها به طور مداوم در طول زمان دقیق باقی بمانند، یک شبح NTP باید پس از نصب اولیه راه اندازی شود
4.2.12. تشخیص دیسک ها و سایر دستگاه ها
این مرحله به طور خودکار هارد دیسک هایی را که ممکن است دبیان روی آنها نصب شده باشد شناسایی می کند. آنها در مرحله بعدی ارائه خواهند شد: پارتیشن بندی.
4.2.13. راه اندازی ابزار پارتیشن بندی
موارد استفاده از پارتیشن بندی
پارتیشن بندی، مرحله ای ضروری در نصب، شامل تقسیم فضای موجود روی هارد دیسک ها (هر بخش فرعی آن “پارتیشن” نامیده می شود) بر اساس داده هایی که قرار است روی آن ذخیره شود و کاربری که کامپیوتر برای آن در نظر گرفته شده است، تقسیم می شود. این مرحله همچنین شامل انتخاب سیستم فایل مورد استفاده است. همه این تصمیمات بر عملکرد، امنیت داده ها و مدیریت سرور تأثیر خواهند داشت.
مرحله پارتیشن بندی به طور سنتی برای کاربران جدید دشوار است. لازم است قسمت های مختلف دیسک ها (یا «پارتیشن ها») که فایل سیستم های لینوکس و حافظه مجازی (swap) روی آنها ذخیره می شود، تعریف شود. اگر سیستم عامل دیگری که می خواهید نگه دارید از قبل روی دستگاه باشد، این کار پیچیده است. در واقع، پس از آن باید مطمئن شوید که پارتیشنهای آن را تغییر نمیدهید (یا اندازه آنها را بدون ایجاد آسیب تغییر نمیدهید).
خوشبختانه، نرمافزار پارتیشنبندی دارای حالت هدایتشده است که پارتیشنهایی را به کاربر توصیه میکند تا بسازد – در بیشتر موارد، میتوانید به سادگی پیشنهادات نرمافزار را تأیید کنید.
شکل 4.7. انتخاب حالت پارتیشن بندی
صفحه اول ابزار پارتیشن بندی امکان استفاده از کل هارد دیسک را برای ایجاد پارتیشن های مختلف ارائه می دهد. برای یک رایانه (جدید) که صرفاً از لینوکس استفاده می کند، این گزینه به وضوح ساده ترین است و می توانید گزینه “راهنما – استفاده از کل دیسک” را انتخاب کنید. اگر کامپیوتر دو هارد دیسک برای دو سیستم عامل دارد، تنظیم یک درایو برای هر کدام نیز راه حلی است که می تواند پارتیشن بندی را تسهیل کند. در هر دوی این موارد، صفحه بعدی انتخاب دیسکی را که لینوکس در آن نصب خواهد شد با انتخاب ورودی مربوطه (به عنوان مثال، “SCSI1 (0،0،0) (sda) – 53.7 گیگابایت ATA QEMU HARDDISK” پیشنهاد می کند). سپس پارتیشن بندی هدایت شده را شروع می کنید.
شکل 4.8. دیسک مورد استفاده برای پارتیشن بندی هدایت شده
پارتیشن بندی هدایت شده همچنین می تواند حجم های منطقی LVM را به جای پارتیشن تنظیم کند (به زیر مراجعه کنید). از آنجایی که باقیمانده عملیات یکسان است، گزینه “Guided – use whole disk and set up LVM” (رمگذاری شده یا غیر) را مرور نمی کنیم.
در موارد دیگر، زمانی که لینوکس باید در کنار سایر پارتیشن های موجود کار کند، باید پارتیشن بندی دستی را انتخاب کنید.
4.2.13.1. پارتیشن بندی هدایت شده
ابزار پارتیشن بندی هدایت شده سه روش پارتیشن بندی را ارائه می دهد که با کاربردهای مختلف مطابقت دارند.
شکل 4.9. پارتیشن بندی هدایت شده
روش اول “همه فایل ها در یک پارتیشن” نام دارد. کل درخت سیستم لینوکس در یک فایل سیستم ذخیره می شود که مربوط به ریشه است/فهرست راهنما. این پارتیشن بندی ساده و قوی برای سیستم های شخصی یا تک کاربره کاملاً مناسب است. در واقع، دو پارتیشن ایجاد خواهد شد: اولی سیستم کامل را در خود جای می دهد، دومی حافظه مجازی (swap).
آخرین روش پارتیشن بندی، به نام “جدا کردن/home،/var، و/tmpپارتیشن ها» برای سرورها و سیستم های چند کاربره مناسب است. درخت فایل را به پارتیشن های زیادی تقسیم می کند: علاوه بر ریشه (/) و حساب های کاربری (/home/) پارتیشن، همچنین دارای پارتیشن هایی برای داده های نرم افزار سرور (/var/و فایل های موقت (/tmp/). این تقسیم بندی ها چندین مزیت دارند. کاربران نمی توانند با مصرف تمام فضای موجود در هارد دیسک سرور را قفل کنند (فقط می توانند پر شوند/tmp/و/home/). داده های دیمون (مخصوصا لاگ ها) دیگر نمی توانند بقیه سیستم را مسدود کنند.
انتخاب یک فایل سیستم
یک سیستم فایل نحوه سازماندهی داده ها را بر روی هارد دیسک تعریف می کند. هر فایل سیستم موجود محاسن و محدودیت های خود را دارد. برخی از آنها قوی تر و برخی دیگر مؤثرتر هستند: اگر نیازهای خود را به خوبی بشناسید، انتخاب مناسب ترین سیستم فایل امکان پذیر است. مقایسات مختلفی قبلاً انجام شده است. به نظر می رسد که ReiserFS برای خواندن بسیاری از فایل های کوچک کارآمد است. XFS به نوبه خود با فایل های حجیم سریعتر کار می کند. Ext4، سیستم فایل پیشفرض برای دبیان، بر اساس سه نسخه قبلی فایلسیستمهایی که در لینوکس استفاده میشد (ext، ext2 و ext3) مصالحه خوبی است. Ext4 بر محدودیت های خاص ext3 غلبه می کند و به ویژه برای هارد دیسک های با ظرفیت بسیار بالا مناسب است. گزینه دیگر آزمایش با btrfs بسیار امیدوارکننده است که شامل ویژگی های متعددی است که تا به امروز نیاز به استفاده از LVM و/یا RAID دارد.
یک سیستم فایل ژورنالیزه شده (مانند ext3، ext4، btrfs، reiserfs، یا xfs) اقدامات ویژه ای را انجام می دهد تا پس از یک وقفه ناگهانی، بدون تجزیه و تحلیل کامل کل دیسک، به حالت ثابت قبلی بازگردد (همانطور که در مورد سیستم ext2 بود). ). این عملکرد با پر کردن یک مجله انجام می شود که عملیات هایی را که باید قبل از اجرای واقعی آنها انجام شود، توصیف می کند. اگر عملیاتی قطع شود، امکان “بازپخش” آن از ژورنال وجود خواهد داشت. برعکس، اگر وقفه ای در طول به روز رسانی مجله رخ دهد، آخرین تغییر درخواستی به سادگی نادیده گرفته می شود. داده های در حال نوشتن ممکن است از بین بروند، اما از آنجایی که داده های روی دیسک تغییر نکرده اند، منسجم باقی مانده اند. این چیزی بیشتر و کمتر از یک مکانیسم تراکنشی است که بر روی سیستم فایل اعمال می شود.
پس از انتخاب نوع پارتیشن، نرم افزار یک پیشنهاد را محاسبه کرده و آن را بر روی صفحه نمایش توضیح می دهد. سپس کاربر می تواند در صورت نیاز آن را تغییر دهد. اگر انتخاب استاندارد (ext4) مناسب نیست، به ویژه میتوانید فایل سیستم دیگری را انتخاب کنید. با این حال، در بیشتر موارد، پارتیشن بندی پیشنهادی منطقی است و می توان آن را با انتخاب مدخل “پایان پارتیشن بندی و نوشتن تغییرات در دیسک” پذیرفت.
شکل 4.10. تایید پارتیشن بندی
4.2.13.2. پارتیشن بندی دستی
پارتیشن بندی دستی به انعطاف پذیری بیشتری اجازه می دهد و به کاربر این امکان را می دهد که هدف و اندازه هر پارتیشن را انتخاب کند. علاوه بر این، اگر می خواهید از نرم افزار RAID استفاده کنید، این حالت اجتناب ناپذیر است.
در عملکوچک کردن پارتیشن ویندوز
برای نصب دبیان در کنار یک سیستم عامل موجود (ویندوز یا سیستم عامل دیگر)، باید مقداری فضای هارد درایو در دسترس داشته باشید که توسط سیستم دیگر استفاده نمی شود تا بتوانید پارتیشن های اختصاص داده شده به دبیان را ایجاد کنید. در بیشتر موارد، این به معنای کوچک کردن پارتیشن ویندوز و استفاده مجدد از فضای آزاد شده است.
هنگام استفاده از حالت دستی برای پارتیشن بندی، نصب کننده دبیان این عملیات را امکان پذیر می کند. شما فقط باید پارتیشن ویندوز را انتخاب کنید و اندازه جدید آن را وارد کنید (این کار با هر دو پارتیشن رمزگذاری نشده FAT و NTFS یکسان است).
اگر ویندوز از پارتیشنهای رمزگذاریشده BitLocker استفاده میکند، مراحل تغییر اندازه آنها نیاز به استفاده از مدیریت BitLocker همراه با ابزار مدیریت دیسک ویندوز دارد.
صفحه اول دیسک های موجود، پارتیشن های آنها و هر فضای خالی احتمالی که هنوز پارتیشن بندی نشده است را نمایش می دهد. شما می توانید هر عنصر نمایش داده شده را انتخاب کنید. فشار دادنواردکلید سپس لیستی از اقدامات ممکن را ارائه می دهد.
شما می توانید تمام پارتیشن های روی دیسک را با انتخاب آن پاک کنید.
هنگام انتخاب فضای آزاد روی دیسک، می توانید به صورت دستی یک پارتیشن جدید ایجاد کنید. شما همچنین می توانید این کار را با پارتیشن بندی هدایت شده انجام دهید، که راه حل جالبی برای دیسکی است که قبلاً دارای سیستم عامل دیگری است، اما ممکن است بخواهید آن را برای لینوکس به روشی استاندارد پارتیشن بندی کنید
شکل 4.11. ویرایش/ایجاد پارتیشن
mount
نقطه اتصال درخت دایرکتوری است که محتویات سیستم فایل را در پارتیشن انتخابی قرار می دهد. بنابراین، یک پارتیشن نصب شده در/home/به طور سنتی شامل داده های کاربر است.
وقتی این دایرکتوری نامگذاری شد/“، به عنوان ریشه درخت فایل شناخته می شود و بنابراین ریشه پارتیشنی است که در واقع میزبان سیستم دبیان خواهد بود.
حافظه مجازی، تعویض
حافظه مجازی به هسته لینوکس این امکان را می دهد که در صورت کمبود حافظه کافی (RAM)، با ذخیره بخشی از RAM که برای مدتی غیرفعال بوده اند در پارتیشن swap هارد دیسک، مقداری از حافظه را آزاد کند. همچنین برای ویژگی های “Suspend” و “Hibernate” یک سیستم اساسی است.
برای شبیه سازی حافظه اضافی، ویندوز از یک فایل swap استفاده می کند که مستقیماً در یک فایل سیستم موجود است. برعکس، لینوکس از پارتیشنی برای این منظور استفاده می کند، از این رو اصطلاح “پارتیشن تعویض” نامیده می شود. اما می تواند از فایل swap نیز استفاده کند.
هنگام انتخاب یک پارتیشن، می توانید نحوه استفاده از آن را مشخص کنید:
- آن را فرمت کنید و با انتخاب یک نقطه اتصال آن را در درخت فایل قرار دهید.
- از آن به عنوان یک پارتیشن swap استفاده کنید.
- آن را به “حجم فیزیکی برای رمزگذاری” تبدیل کنید (برای محافظت از محرمانه بودن داده ها در پارتیشن های خاص، به زیر مراجعه کنید).
- آن را به یک “حجم فیزیکی برای LVM” تبدیل کنید (این مفهوم بعداً در این فصل با جزئیات بیشتر مورد بحث قرار خواهد گرفت).
- از آن به عنوان یک دستگاه RAID استفاده کنید (به بعد در این فصل مراجعه کنید).
- همچنین می توانید انتخاب کنید که از آن استفاده نکنید و بنابراین آن را بدون تغییر رها کنید.
4.2.13.3. پیکربندی دستگاه های چند دیسکی (نرم افزار RAID)
برخی از انواع RAID امکان تکرار اطلاعات ذخیره شده بر روی هارد دیسک ها را فراهم می کنند تا در صورت بروز مشکل سخت افزاری که یکی از آنها را تحت تاثیر قرار می دهد، از دست رفتن داده ها جلوگیری شود. RAID سطح 1 یک کپی (mirror) ساده و یکسان از یک هارد دیسک را روی درایو دیگر نگه می دارد، در حالی که RAID سطح 5 یا 6 داده های اضافی را روی چندین دیسک تقسیم می کند، بنابراین امکان بازسازی کامل یک درایو خراب را فراهم می کند.
ما فقط RAID سطح 1 را شرح می دهیم که ساده ترین برای پیاده سازی است. مرحله اول شامل ایجاد دو پارتیشن با اندازه یکسان است که بر روی دو هارد دیسک مختلف قرار گرفته اند و به آنها برچسب “حجم فیزیکی برای RAID” می زنیم.
سپس باید “Configure software RAID” را در ابزار پارتیشن بندی انتخاب کنید تا این دو پارتیشن را در یک دیسک مجازی جدید ترکیب کنید و “Create MD device” را در صفحه پیکربندی انتخاب کنید. سپس باید به یک سری سوالات در مورد این دستگاه جدید پاسخ دهید. اولین سوال در مورد سطح RAID مورد استفاده می پرسد که در مورد ما “RAID1” خواهد بود. سوال دوم در مورد تعداد دستگاه های فعال می پرسد – در مورد ما دو عدد، که تعداد پارتیشن هایی است که باید در این دستگاه MD گنجانده شود. سوال سوم در مورد تعداد وسایل یدکی – 0 است. ما هیچ دیسک اضافی را برای کنترل یک دیسک معیوب احتمالی برنامه ریزی نکرده ایم. آخرین سوال از شما میخواهد تا پارتیشنهایی را برای دستگاه RAID انتخاب کنید – این دو پارتیشن هستند که برای این منظور کنار گذاشتهایم (مطمئن شوید که فقط پارتیشنهایی را انتخاب کنید که صریحاً به “raid” اشاره میکنند).
در بازگشت به منوی اصلی، یک دیسک مجازی جدید “RAID” ظاهر می شود. این دیسک با یک پارتیشن ارائه می شود که نمی توان آن را حذف کرد، اما می توانیم استفاده از آن را انتخاب کنیم (درست مانند هر پارتیشن دیگری).
4.2.13.4. پیکربندی Logical Volume Manager (LVM)
LVM به شما امکان می دهد پارتیشن های مجازی ایجاد کنید که در چندین دیسک قرار دارند. مزایا دوگانه است: اندازه پارتیشنها دیگر توسط دیسکهای جداگانه محدود نمیشود، بلکه با حجم تجمعی آنها محدود میشود، و شما میتوانید اندازه پارتیشنهای موجود را در هر زمان، احتمالاً پس از افزودن یک دیسک اضافی در صورت نیاز، تغییر دهید.
LVM از یک اصطلاح خاص استفاده می کند: یک پارتیشن مجازی یک “حجم منطقی” است که بخشی از یک “گروه حجم” یا ارتباطی از چندین “حجم فیزیکی” است. هر یک از این اصطلاحات در واقع مربوط به یک پارتیشن واقعی (یا یک دستگاه RAID نرم افزاری) است.
این تکنیک به روشی بسیار ساده کار می کند: هر حجم، چه فیزیکی و چه منطقی، به بلوک هایی با همان اندازه تقسیم می شود که با LVM مطابقت دارند. افزودن یک دیسک جدید باعث ایجاد یک حجم فیزیکی جدید می شود و این بلوک های جدید می توانند به هر گروه حجمی مرتبط شوند. همه پارتیشنهای گروه حجمی که به این ترتیب گسترش مییابند، فضای بیشتری خواهند داشت که میتوانند در آن گسترش پیدا کنند.
ابزار پارتیشن بندی LVM را در چند مرحله پیکربندی می کند. ابتدا باید پارتیشن هایی را روی دیسک های موجود ایجاد کنید که “حجم های فیزیکی برای LVM” هستند. برای فعال کردن LVM، باید “Configure the Logical Volume Manager (LVM)” را انتخاب کنید، سپس در همان صفحه پیکربندی “Create a volume group” را انتخاب کنید، که حجم های فیزیکی موجود را به آن مرتبط خواهید کرد. در نهایت، می توانید حجم های منطقی را در این گروه حجم ایجاد کنید. توجه داشته باشید که سیستم پارتیشن بندی خودکار می تواند تمام این مراحل را به صورت خودکار انجام دهد.
در منوی پارتیشن بندی، هر حجم فیزیکی به عنوان یک دیسک با یک پارتیشن ظاهر می شود که نمی توان آن را حذف کرد، اما می توانید به دلخواه از آن استفاده کنید.
4.2.13.5. راه اندازی پارتیشن های رمزگذاری شده
برای تضمین محرمانه بودن داده های خود، به عنوان مثال در صورت گم شدن یا سرقت رایانه یا هارد دیسک، امکان رمزگذاری داده ها در برخی پارتیشن ها وجود دارد. این ویژگی را می توان در زیر هر فایل سیستمی اضافه کرد، زیرا، مانند LVM، لینوکس (و به ویژه درایور dm-crypt) از Device Mapper برای ایجاد یک پارتیشن مجازی (که محتوای آن محافظت می شود) بر اساس یک پارتیشن زیرین که ذخیره می کند استفاده می کند. داده ها به شکل رمزگذاری شده (به لطف LUKS، Linux Unified Key Setup، یک فرمت استاندارد که ذخیره داده های رمزگذاری شده و همچنین متا اطلاعاتی را که الگوریتم های رمزگذاری مورد استفاده را نشان می دهد، امکان پذیر می کند).
امنیتپارتیشن مبادله رمزگذاری شده
هنگامی که از یک پارتیشن رمزگذاری شده استفاده می شود، کلید رمزگذاری در حافظه (RAM) ذخیره می شود. از آنجایی که بازیابی این کلید امکان رمزگشایی داده ها را فراهم می کند، بسیار مهم است که از باقی گذاشتن یک کپی از این کلید که برای دزد احتمالی رایانه یا هارد دیسک یا یک تکنسین تعمیر و نگهداری قابل دسترسی باشد، اجتناب کنید. با این حال، این چیزی است که می تواند به راحتی با یک لپ تاپ اتفاق بیفتد، زیرا هنگام خواب زمستانی، محتویات RAM در پارتیشن swap ذخیره می شود. اگر این پارتیشن رمزگذاری نشده باشد، دزد ممکن است به کلید دسترسی پیدا کند و از آن برای رمزگشایی داده های پارتیشن های رمزگذاری شده استفاده کند. به همین دلیل است که وقتی از پارتیشن های رمزگذاری شده استفاده می کنید، رمزگذاری پارتیشن swap ضروری است!
نصب کننده دبیان به کاربر هشدار می دهد اگر بخواهد یک پارتیشن رمزگذاری شده ایجاد کند در حالی که پارتیشن swap رمزگذاری نشده است.
برای ایجاد یک پارتیشن رمزگذاری شده، ابتدا باید یک پارتیشن موجود برای این منظور اختصاص دهید. برای انجام این کار، یک پارتیشن را انتخاب کنید و نشان دهید که قرار است به عنوان “حجم فیزیکی برای رمزگذاری” استفاده شود. پس از پارتیشن بندی دیسک حاوی حجم فیزیکی که باید ساخته شود، “پیکربندی حجم های رمزگذاری شده” را انتخاب کنید. سپس نرمافزار پیشنهاد میکند حجم فیزیکی را با دادههای تصادفی مقداردهی اولیه کند (که محلیسازی دادههای واقعی را دشوارتر میکند)، و از شما میخواهد که یک عبارت رمزگذاری را وارد کنید، که هر بار که کامپیوتر خود را بوت میکنید باید آن را وارد کنید. برای دسترسی به محتوای پارتیشن رمزگذاری شده پس از اتمام این مرحله و بازگشت به منوی ابزار پارتیشن بندی، یک پارتیشن جدید در یک “حجم رمزگذاری شده” در دسترس خواهد بود، که می توانید آن را مانند هر پارتیشن دیگری پیکربندی کنید. در بیشتر موارد، این پارتیشن به عنوان یک حجم فیزیکی برای LVM استفاده میشود تا از چندین پارتیشن (حجمهای منطقی LVM) با کلید رمزگذاری یکسان، از جمله پارتیشن swap محافظت کند
4.2.14. نصب سیستم پایه
این مرحله که نیازی به تعامل کاربر ندارد، بستههای «سیستم پایه» دبیان را نصب میکند. این شاملdpkgوaptابزارهایی که بسته های دبیان و همچنین ابزارهای کمکی لازم برای بوت کردن سیستم و شروع استفاده از آن را مدیریت می کنند.
شکل 4.12. نصب سیستم پایه
4.2.15. پیکربندی Package Manager (apt)
برای اینکه بتوانید نرم افزار اضافی را نصب کنید، APT باید پیکربندی شود و گفته شود که بسته های دبیان را کجا پیدا کنید. این مرحله تا حد امکان خودکار است.
توجه داشته باشیدسی دی رام دبیان در درایو
اگر نصب کننده یک دیسک نصب دبیان را در خواننده CD/DVD شناسایی کند، برای جستجوی بستهها در شبکه، نیازی به پیکربندی APT نیست: APT به طور خودکار برای خواندن بستهها از یک درایو رسانه قابل جابجایی پیکربندی میشود. اگر دیسک بخشی از یک مجموعه باشد، نرم افزار به منظور ارجاع به همه بسته های ذخیره شده در آنها، دیسک های دیگر را “کاوش” می کند.
در صورت درخواست دریافت بستهها از شبکه، نصبکننده اجازه میدهد تا با انتخاب یک کشور، سپس یک mirror موجود در آن کشور، سروری را که از آن میتوان این بستهها را دانلود کرد، انتخاب کرد. mirror یک سرور عمومی است که کپی هایی از تمام فایل های آرشیو اصلی دبیان را میزبانی می کند.
شکل 4.13. انتخاب یک mirror دبیان
در نهایت، برنامه پیشنهاد می کند از یک پروکسی HTTP استفاده کنید. در صورت عدم وجود پروکسی، دسترسی به اینترنت مستقیم خواهد بود. اگر تایپ کنیدhttp://proxy.falcot.com:3128، APT از پروکسی/کش فالکوت، یک برنامه “Squid” استفاده خواهد کرد. می توانید این تنظیمات را با بررسی تنظیمات یک مرورگر وب در دستگاه دیگری متصل به همان شبکه پیدا کنید.
فایل هاPackages.xzومنابع.xzسپس به طور خودکار دانلود می شوند تا لیست بسته های شناسایی شده توسط APT به روز شود.
پروکسی HTTP
پروکسی HTTP سروری است که درخواست HTTP را برای کاربران شبکه ارسال می کند. گاهی اوقات با نگه داشتن یک کپی از فایل هایی که از طریق آن منتقل شده اند به سرعت دانلود کمک می کند (سپس از پروکسی/کش صحبت می کنیم). در برخی موارد، این تنها وسیله دسترسی به یک وب سرور خارجی است. در چنین مواردی ضروری است که در حین نصب به سوال مربوطه پاسخ داده شود تا برنامه بتواند بسته های دبیان را از طریق آن دانلود کند.
Squid نام نرم افزار سروری است که توسط شرکت Falcot Corp برای ارائه این سرویس استفاده می شود.
4.2.16. بسته Popularity Contest
سیستم دبیان شامل بسته ای به نام Popularity Contest است که هدف آن جمع آوری آمار استفاده از بسته است. این برنامه هر هفته اطلاعاتی را در مورد بسته های نصب شده و بسته هایی که اخیرا استفاده شده است جمع آوری می کند و به صورت ناشناس این اطلاعات را به سرورهای پروژه دبیان ارسال می کند. سپس پروژه می تواند از این اطلاعات برای تعیین اهمیت نسبی هر بسته استفاده کند، که بر اولویتی که به آنها اعطا می شود تأثیر می گذارد. به ویژه، “محبوب ترین” بسته ها در CD-ROM نصب گنجانده می شود که دسترسی آنها را برای کاربرانی که مایل به دانلود آنها یا خرید یک مجموعه کامل نیستند، تسهیل می کند.این بسته فقط در صورت درخواست فعال می شود و به احترام محرمانه بودن استفاده کاربران انجام می شود.
4.2.17. انتخاب بسته ها برای نصب
مرحله زیر به شما امکان می دهد تا هدف دستگاه را به صورت بسیار گسترده انتخاب کنید. دوازده وظیفه پیشنهادی مربوط به لیست بسته هایی است که باید نصب شوند. لیست بسته هایی که در واقع نصب خواهند شد بعداً تنظیم و تکمیل می شود، اما این یک نقطه شروع خوب را به روشی ساده فراهم می کند. این مرحله میتواند به مجموعه کاملی از رسانه نصب یا اتصال به اینترنت و تنظیم mirror کاری که در بالا توضیح داده شد نیاز داشته باشد.
برخی از بسته ها نیز به طور خودکار با توجه به سخت افزار شناسایی شده (به لطف برنامه) نصب می شوندDiscover-pkginstallاز بسته کشف).
شکل 4.14. انتخاب وظایف
4.2.18. نصب بوت لودر GRUB
بوت لودر اولین برنامه ای است که توسط بایوس راه اندازی شده است. این برنامه هسته لینوکس را در حافظه بارگذاری کرده و سپس آن را اجرا می کند. اغلب منویی را ارائه می دهد که به کاربر اجازه می دهد هسته را برای بارگیری و/یا سیستم عامل را برای بوت انتخاب کند.
برحذر بودنبوت لودر و بوت دوگانه
این مرحله در فرآیند نصب دبیان، سیستمعاملهایی را که قبلاً روی رایانه نصب شدهاند شناسایی میکند و بهطور خودکار ورودیهای مربوطه را در منوی بوت اضافه میکند، اما همه برنامههای نصب این کار را انجام نمیدهند.
به ویژه، اگر بعد از آن ویندوز را نصب (یا دوباره نصب کنید)، بوت لودر پاک می شود. دبیان همچنان روی هارد دیسک خواهد بود، اما دیگر از منوی بوت قابل دسترسی نخواهد بود (به جز ویندوز 10، جایی که همچنان از طریق کنسول بازیابی ویندوز قابل دسترسی خواهد بود). سپس باید سیستم نصب دبیان را در آن بوت کنیدنجاتحالت برای راه اندازی یک بوت لودر کمتر انحصاری. این عملیات به طور کامل در دفترچه راهنمای نصب توضیح داده شده است.
→https://www.debian.org/releases/stable/amd64/ch08s06
بهطور پیشفرض، منوی پیشنهادی GRUB شامل تمام هستههای لینوکس نصبشده و همچنین سایر سیستمعاملهایی است که شناسایی شدهاند. به همین دلیل است که باید پیشنهاد نصب آن را در Master Boot Record بپذیرید. از آنجایی که حفظ نسخههای هسته قدیمیتر، توانایی بوت کردن همان سیستم را حفظ میکند، اگر هسته اخیراً نصبشده معیوب باشد یا با سختافزار سازگاری ضعیفی داشته باشد، اغلب منطقی است که چند نسخه قدیمیتر هسته را نصب کنیم.
GRUB بوت لودر پیش فرض نصب شده توسط دبیان به دلیل برتری فنی آن است: با اکثر سیستم های فایل کار می کند و بنابراین پس از هر نصب یک هسته جدید نیازی به به روز رسانی ندارد، زیرا پیکربندی آن را در هنگام بوت می خواند و موقعیت دقیق هسته جدید را پیدا می کند. هسته نسخه 1 GRUB (که اکنون به عنوان “Grub Legacy” شناخته می شود) نمی تواند تمام ترکیبات LVM و RAID نرم افزار را مدیریت کند. نسخه 2 که به صورت پیش فرض نصب شده است کاملتر است. در حالی که ممکن است هنوز شرایطی وجود داشته باشد که ترجیحاً LILO (یک بوت لودر دیگر) نصب شود. نصب کننده دبیان دیگر از نصب آن پشتیبانی نمی کند.
شایان ذکر است که GRUB یک بوت لودر واحد نیست، بلکه بیشتر شبیه مجموعه ای از بوت لودرهای مناسب برای موارد مختلف است. بستههای دودویی متعددی که از بسته منبع GRUB ساخته شدهاند نشان میدهند که: grub-efi-amd64 برای راهاندازی رایانههای شخصی 64 بیتی در حالت UEFI، grub-efi-ia32 برای بوت کردن رایانه شخصی 32 بیتی در حالت UEFI، grub-pc است. برای بوت شدن کامپیوتر در حالت BIOS، grub-uboot برای کامپیوترهای ARM و غیره.
بوت امن و بوت لودر شیم
Secure Boot فناوری است که تضمین میکند فقط نرمافزاری را اجرا میکنید که توسط فروشنده سیستم عامل خود تأیید شده است. برای انجام کار خود، هر عنصر از دنباله های بوت، مؤلفه نرم افزار بعدی را که اجرا خواهد کرد، اعتبارسنجی می کند. در عمیقترین سطح، سفتافزار UEFI کلیدهای رمزنگاری ارائهشده توسط مایکروسافت را برای بررسی امضای بوتلودر تعبیه میکند و از ایمن بودن اجرای آن اطمینان حاصل میکند. از آنجایی که امضای یک باینری توسط مایکروسافت یک فرآیند طولانی است، دبیان تصمیم گرفت مستقیماً GRUB را امضا نکند. در عوض از بوت لودر واسطه ای به نام shim استفاده می کند که تقریباً هرگز نیازی به تغییر ندارد و تنها نقش آن بررسی امضای ارائه شده دبیان در GRUB و اجرای GRUB است. برای اجرای دبیان بر روی ماشینی که Secure Boot فعال است، بسته Sim-sign شده باید نصب شود.
در پایین پشته، GRUB یک بررسی مشابه با هسته انجام می دهد، و سپس هسته ممکن است امضاهای ماژول هایی را که بارگذاری می شوند نیز بررسی کند. هسته همچنین ممکن است برخی از عملیات را که می تواند یکپارچگی سیستم را تغییر دهد ممنوع کند.
Debian 10 (Buster) اولین نسخه ای بود که از Secure Boot پشتیبانی می کرد. قبل از این، باید آن ویژگی را در صفحه تنظیم سیستم ارائه شده توسط BIOS یا UEFI غیرفعال کنید.
4.2.19. اتمام نصب و راه اندازی مجدد
اکنون نصب کامل شده است، برنامه از شما دعوت می کند تا CD-ROM را از خواننده حذف کرده و کامپیوتر را مجددا راه اندازی کنید.
شکل 4.15. نصب کامل شد
4.3. بعد از اولین بوت
اگر کار «محیط دسکتاپ دبیان» را بدون هیچ گونه انتخاب صریح دسکتاپ (یا با انتخاب «گنوم») فعال کرده باشید، رایانه مدیر ورود به سیستم gdm3 را نمایش میدهد.
شکل 4.16. اولین بوت
کاربری که قبلا ایجاد شده است می تواند وارد سیستم شده و بلافاصله کار را شروع کند.
4.3.1. نصب نرم افزار اضافی
بستههای نصبشده با پروفایلهایی که در حین نصب انتخاب شدهاند، مطابقت دارند، اما نه لزوماً با استفادهای که واقعاً از دستگاه انجام میشود. به این ترتیب، ممکن است بخواهید از یک ابزار مدیریت بسته برای اصلاح انتخاب بسته های نصب شده استفاده کنید. دو ابزار پرکاربرد (که در صورت انتخاب نمایه «محیط دبیان دسکتاپ» نصب می شوند) عبارتند ازapt(از خط فرمان قابل دسترسی است) و(“Synaptic Package Manager” در منوها).
برای تسهیل نصب گروههای منسجم از برنامهها، دبیان «وظایفی» را ایجاد میکند که به کاربردهای خاص (سرور پست الکترونیکی، سرور فایل و غیره) اختصاص دارند. شما قبلاً این فرصت را داشتید که آنها را در حین نصب انتخاب کنید و به لطف ابزارهای مدیریت بسته مانندصلاحیت – استعداد – شایستگی(وظایف در یک بخش مجزا ذکر شده است) و (از طریق منوی ویرایش→علامت گذاری بسته ها بر اساس وظیفه…).
Aptitude یک رابط برای APT در حالت متن تمام صفحه است. این امکان را به کاربر می دهد تا لیست بسته های موجود را بر اساس دسته بندی های مختلف (بسته های نصب شده یا نصب نشده، بر اساس وظیفه، بر اساس بخش و غیره) مرور کند و تمام اطلاعات موجود در هر یک از آنها را مشاهده کند (وابستگی ها، تضادها، توضیحات و غیره). هر بسته را می توان “نصب” علامت گذاری کرد (برای نصب،+کلید) یا “حذف” (حذف شود،–کلید). همه این عملیاتها بهمحض تأیید آنها با فشار دادن دکمه بهطور همزمان انجام میشوندgکلید (“g” برای “برو!”). اگر برخی از برنامه ها را فراموش کرده اید، نگران نباشید. شما قادر به اجرا خواهید بودصلاحیت – استعداد – شایستگیپس از اتمام نصب اولیه، دوباره
نکتهدبیان به سخنرانان زبان های غیر انگلیسی فکر می کند
چندین کار به محلی سازی سیستم به زبان های دیگر فراتر از انگلیسی اختصاص داده شده است. آنها شامل اسناد ترجمه شده، لغت، و بسته های مختلف دیگر مفید برای سخنرانان به زبان های مختلف است. اگر در حین نصب یک زبان غیر انگلیسی انتخاب شده باشد، وظیفه مناسب به طور خودکار انتخاب می شود.
البته این امکان وجود دارد که هیچ کاری را برای نصب انتخاب نکنید. در این صورت می توانید به صورت دستی نرم افزار مورد نظر را باaptیاصلاحیت – استعداد – شایستگیفرمان (که هر دو از خط فرمان قابل دسترسی هستند).
فصل 6. نگهداری و به روز رسانی: ابزارهای APT
چیزی که باعث محبوبیت دبیان در بین مدیران شده است این است که چگونه می توان نرم افزار را به راحتی نصب کرد و به راحتی کل سیستم را می توان به روز کرد. این مزیت منحصر به فرد تا حد زیادی به دلیل برنامه APT است که مدیران شرکت Falcot با اشتیاق آن را مطالعه کردند.
APTمخفف Advanced Packaging Tool است. آنچه این برنامه را “پیشرفته” می کند، رویکرد آن به بسته ها است. این به سادگی آنها را به صورت جداگانه ارزیابی نمی کند، بلکه آنها را به عنوان یک کل در نظر می گیرد و بسته به آنچه در دسترس است و با توجه به وابستگی ها سازگار است، بهترین ترکیب ممکن از بسته ها را تولید می کند.
واژگانمنبع بسته و بسته منبع
کلمه منبع می تواند مبهم باشد. یک “بسته منبع” – بسته ای حاوی کد منبع یک برنامه – نباید با “منبع بسته” – مخزن (وب سایت، سرور FTP، CD-ROM، فهرست محلی و غیره) که حاوی بسته ها است، اشتباه گرفته شود.
به APT باید «فهرستی از منابع بسته (مخزنها)» داده شود: فایل /etc/apt/sources.list مخازن مختلفی را فهرست میکند که بستههای Debian را منتشر میکنند. سپس APT لیست بسته های منتشر شده توسط هر یک از این منابع را وارد می کند. این عملیات با دانلود فایلهای Packages.xz یا گونهای مانند Packages.gz یا .bz2 (با استفاده از روش فشردهسازی متفاوت) در صورت وجود منبع بستههای باینری و با تجزیه و تحلیل محتویات آنها به دست میآید. در صورت وجود منبع بستههای منبع، APT فایلهای Sources.xz یا یک نوع آن را با استفاده از روش فشردهسازی متفاوت دانلود میکند. هنگامی که یک نسخه قدیمی از این فایلها از قبل موجود است، APT میتواند آن را تنها با دانلود تفاوتها بهروزرسانی کند (
gzip،bzip2،LZMAوXZفشرده سازی
پسوند .gz به فایل فشرده شده با ابزار gzip اشاره دارد. gzip ابزار سنتی یونیکس سریع و کارآمد برای فشردهسازی فایلها است. ابزارهای جدیدتر به سرعت فشرده سازی بهتری دست می یابند اما به منابع بیشتری (زمان محاسباتی و حافظه) برای فشرده سازی و غیرفشرده سازی یک فایل نیاز دارند. در میان آنها و به ترتیب ظاهر، bzip2 (تولید فایل با پسوند .bz2)، lzma (تولید فایل های .lzma) و xz (تولید فایل های .xz) وجود دارد.
6.1. پر کردن فایل sources.list
6.1.1. نحو
هر خط فعال در فایل /etc/apt/sources.list یک منبع بسته (مخزن) را نشان می دهد و از حداقل سه قسمت تشکیل شده است که با فاصله از هم جدا شده اند. برای توضیح کامل فرمت فایل و ترکیب های ورودی پذیرفته شده به sources.list(5) مراجعه کنید.
مثال 6.1. نمونه فرمت ورودی در/etc/apt/sources.list
url deb component1 component2 component3 [..] componentX
url deb-src component1 component2 component3 [..] componentX
فیلد اول نوع منبع را نشان می دهد:
deb
منبع بسته (مخزن) بسته های باینری
deb-src
منبع بسته (مخزن) بسته های منبع
فیلد دوم آدرس اصلی منبع را نشان می دهد. همراه با نام فایل های فهرست شده در فایل های Packages.xz، باید یک URL کامل و معتبر ارائه کند. این می تواند شامل یک mirror دبیان یا هر آرشیو بسته دیگری باشد که توسط شخص ثالث تنظیم شده است. URL می تواند با file:// شروع شود تا منبع محلی نصب شده در سلسله مراتب فایل سیستم را نشان دهد، با http:// یا https:// برای نشان دادن منبع قابل دسترسی از سرور وب، یا با ftp:// یا ftps: // برای منبع موجود در سرور FTP. نشانی اینترنتی همچنین میتواند با cdrom شروع شود: برای نصبهای مبتنی بر دیسک CD-ROM/DVD/Blu-ray، اگرچه این مورد کمتر است، زیرا روشهای نصب مبتنی بر شبکه در نهایت رایجتر هستند. روشهای بیشتری مانند ssh:// یا tor+http(s):// پشتیبانی میشوند و در sources.list(5) یا مستندات بسته apt-transport-method مربوطه توضیح داده شدهاند.
نحو آخرین فیلد به ساختار مخزن بستگی دارد. در سادهترین حالت، میتوانید به سادگی یک زیر شاخه (با یک اسلش انتهایی مورد نیاز) از منبع مورد نظر را نشان دهید. این اغلب یک “./” ساده است که به عدم وجود یک فهرست فرعی اشاره دارد. سپس بسته ها مستقیماً در URL مشخص شده قرار می گیرند. اما در رایجترین حالت، مخازن مانند یک mirror دبیان، با توزیعهای متعدد، که هر کدام دارای اجزای متعدد هستند، ساختار خواهند داشت. در این موارد، توزیع انتخاب شده را با “نام رمز” آن نامگذاری یا توسط “مجموعه” مربوطه (oldoldstable، oldstable، stable، تست، ناپایدار) و سپس اجزای فعال. یک mirror معمولی دبیان اجزای اصلی، مشارکتی و غیر ازاد را ارائه می دهد.
واژگانرااصلی،مشارکتوغیر ازادآرشیوها
دبیان از سه مؤلفه برای متمایز کردن بسته ها بر اساس مجوزهای انتخاب شده توسط نویسندگان هر اثر استفاده می کند. Main تمام بسته هایی را که به طور کامل با آن مطابقت دارند جمع آوری می کنددستورالعمل های نرم افزار ازاد دبیان.
مؤلفه غیر ازاد متفاوت است زیرا حاوی نرم افزاری است که (کاملاً) با این اصول مطابقت ندارد اما می تواند بدون محدودیت توزیع شود. این آرشیو که به طور رسمی بخشی از دبیان نیست، سرویسی است برای کاربرانی که ممکن است به برخی از آن برنامه ها نیاز داشته باشند و امروزه به سیستم عامل سخت افزار خود نیز نیاز دارند. با این حال، دبیان همیشه اولویت دادن به نرم افزار ازاد را توصیه می کند. وجود این مؤلفه یک مشکل قابل توجه برای ریچارد ام استالمن است و بنیاد نرم افزار آزاد را از توصیه دبیان به کاربران باز می دارد.
مشارکت(مشارکتها) مجموعهای از نرمافزارهای متن باز است که بدون برخی از عناصر غیر ازاد نمیتواند کار کند – این عناصر میتوانند نرمافزارهای بخش غیر ازاد یا فایلهای غیر ازاد مانند رامهای بازی، بایوس کنسولها و غیره باشند. برخی از عناصر، اصلاً از آرشیو اصلی دبیان در دسترس نیستند. مؤلفه مشارکت همچنین شامل نرم افزار ازادی است که کامپایل آن به عناصر اختصاصی نیاز دارد. در ابتدا این مورد برای مجموعه اداری OpenOffice.org بود که به یک محیط اختصاصی جاوا نیاز داشت.
نکتهفایل ها در/etc/apt/sources.list.d/
اگر به بسیاری از منابع بسته ارجاع داده شود، تقسیم آنها در چندین فایل می تواند مفید باشد. سپس هر قسمت در /etc/apt/sources.list.d/ ذخیره می شود.نام فایللیست
ورودی های سی دی رام سی دی/ دی وی دی رام های شما را توصیف می کنند. بر خلاف ورودی های دیگر، CD-ROM همیشه در دسترس نیست زیرا باید در درایو قرار داده شود و از آنجایی که تنها یک دیسک را می توان در یک زمان خواند. به این دلایل، این منابع به روشی کمی متفاوت مدیریت می شوند و باید با برنامه apt-cdrom اضافه شوند، که معمولاً با پارامتر add اجرا می شود. سپس دومی درخواست می کند که دیسک در درایو قرار داده شود و محتویات آن را به دنبال فایل های Packages مرور می کند. از این فایل ها برای به روز رسانی پایگاه داده بسته های موجود خود استفاده می کند (این عملیات معمولاً توسط دستور apt update انجام می شود). از آن زمان به بعد، APT می تواند در صورت نیاز به یکی از بسته های دیسک، نیاز به قرار دادن دیسک داشته باشد.
6.1.2. مخازن برای کاربران پایدار
در اینجا یک sources.list استاندارد برای سیستمی است که نسخه پایدار دبیان را اجرا می کند:
مثال 6.2./etc/apt/sources.listفایل برای کاربران دبیان استیبل
# Security updates
deb http://security.debian.org/ bullseye-security main contrib non-free
deb-src http://security.debian.org/ bullseye-security main contrib non-free
## Debian mirror
# Base repository
deb https://deb.debian.org/debian bullseye main contrib non-free
deb-src https://deb.debian.org/debian bullseye main contrib non-free
# Stable updates
deb https://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src https://deb.debian.org/debian bullseye-updates main contrib non-free
# Stable backports
deb https://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src https://deb.debian.org/debian bullseye-backports main contrib non-free
این فایل تمام منابع بسته های مرتبط با نسخه Bullsye Debian (مجموعه Stable فعلی تا لحظه نگارش) را فهرست می کند. در مثال بالا، ما تصمیم گرفتیم به جای استفاده از نام مستعار «پایدار» مربوطه (پایدار، بهروزرسانیهای پایدار، پورتهای پشتیبان پایدار) صراحتاً «bullseye» را نام ببریم، زیرا نمیخواهیم توزیع اصلی خارج از کنترل ما تغییر کند. نسخه پایدار بعدی منتشر می شود.
اکثر بستهها از «مخزن پایه» میآیند، که شامل همه بستهها است، اما به ندرت بهروزرسانی میشود (تقریباً هر ۲ ماه یک بار برای «نسخه نقطه»). مخازن دیگر جزئی هستند (آنها شامل همه بسته ها نیستند) و می توانند میزبان به روز رسانی ها (بسته هایی با نسخه جدیدتر) باشند که APT ممکن است نصب کند. بخش های بعدی هدف و قوانین حاکم بر هر یک از آن مخازن را توضیح خواهند داد.
توجه داشته باشید که زمانی که نسخه مورد نظر یک بسته در چندین مخزن موجود باشد، اولین نسخه فهرست شده در فایل sources.list استفاده خواهد شد. به همین دلیل معمولا منابع غیر رسمی در انتهای فایل اضافه می شود.
به عنوان یک نکته جانبی، بیشتر مواردی که این بخش در مورد Stable می گوید به همان اندازه در مورد Oldstable صدق می کند زیرا دومی فقط یک Stable قدیمی است که به صورت موازی نگهداری می شود.
6.1.2.1. به روز رسانی های امنیتی
دبیان امنیت را جدی می گیرد. آسیب پذیری های نرم افزاری شناخته شده در دبیان در ردیابی می شوندردیاب اشکال امنیتی و معمولا در یک بازه زمانی معقول رفع می شوند. بهروزرسانیهای امنیتی در شبکه معمولی mirrorهای دبیان میزبانی نمیشوند، بلکه در security.debian.org، مجموعه کوچکی از ماشینها که توسط مدیران سیستم دبیان. این آرشیو حاوی بهروزرسانیهای امنیتی است که توسط تیم امنیتی Debian و/یا توسط نگهدارندههای بسته برای توزیع Stable و Oldstable تهیه شده است.
سرور همچنین میتواند میزبان بهروزرسانیهای امنیتی برای تست باشد، اما این اتفاق اغلب رخ نمیدهد، زیرا این بهروزرسانیها تمایل دارند از طریق جریان منظم بهروزرسانیهایی که از Unstable میآیند به آن مجموعه دسترسی پیدا کنند.
6.1.2.2. به روز رسانی های پایدار
بهروزرسانیهای پایدار حساس به امنیت نیستند، اما به اندازهای مهم تلقی میشوند که قبل از انتشار نقطه پایدار بعدی برای کاربران ارسال شوند.
این مخزن معمولاً حاوی رفع اشکالات مهم و جدی است که قبل از انتشار قابل رفع نبوده یا توسط بهروزرسانیهای بعدی معرفی شدهاند. بسته به فوریت، همچنین میتواند حاوی بهروزرسانیهایی برای بستههایی باشد که باید در طول زمان تکامل یابند، مانند قوانین تشخیص هرزنامه spamassassin، پایگاه داده ویروس clamav، قوانین زمان صرفهجویی در نور روز در همه مناطق زمانی (tzdata)، نسخه ESR فایرفاکس (firefox- esr) یا کلیدهای رمزنگاری مانند debian-archive-keyring.
6.1.2.3. به روز رسانی های پیشنهادی
پس از انتشار، توزیع پایدار فقط هر 2 ماه یک بار به روز می شود. مخزن بهروزرسانیهای پیشنهادی جایی است که بهروزرسانیهای مورد انتظار (تحت نظارت مدیران انتشار پایدار) آماده میشوند.
بهروزرسانیهای امنیتی و پایدار مستند شده در بخشهای قبلی همیشه در این مخزن گنجانده شدهاند، اما موارد بیشتری نیز وجود دارد، زیرا نگهدارندگان بسته همچنین این فرصت را دارند که باگهای مهمی را که مستحق انتشار فوری نیستند، برطرف کنند.
هر کسی میتواند از این مخزن برای آزمایش آن بهروزرسانیها قبل از انتشار رسمی استفاده کند. عصاره زیر از نام مستعار bullseye-proposed-updates استفاده میکند که هم واضحتر و هم سازگارتر است، زیرا بهروزرسانیهای buster-proposed نیز وجود دارد (برای بهروزرسانیهای Oldstable):
deb https://deb.debian.org/debian bullseye-proposed-updates main contrib non-free
6.1.2.4. بکپورت های پایدار
مخزن stable-backports میزبان «پاکپورتهای پشتیبان» است. این اصطلاح به بستهای از نرمافزارهای اخیر اشاره دارد که برای توزیع قدیمیتر، عموماً برای Stable، مجدداً کامپایل شدهاند.
هنگامی که توزیع کمی قدیمی می شود، پروژه های نرم افزاری متعددی نسخه های جدیدی را منتشر کرده اند که در مجموعه Stable فعلی ادغام نشده اند، که فقط برای رفع بحرانی ترین مشکلات، مانند مسائل امنیتی، اصلاح شده است. از آنجایی که مجموعههای Testing و Unstable میتوانند مخاطرهآمیزتر باشند، نگهدارندههای بسته گاهی بهطور داوطلبانه کامپایلهایی از برنامههای نرمافزار اخیر را برای Stable ارائه میکنند، که این مزیت را برای کاربران و مدیران سیستم دارد که ناپایداری بالقوه را به تعداد کمی از بستههای انتخابی محدود میکند. صفحهhttps://backports.debian.orgاطلاعات بیشتری ارائه می دهد.
پورتهای پشتی از درگاههای پشتی پایدار فقط از بستههای موجود در تست ایجاد میشوند. این تضمین می کند که پس از عرضه نسخه پایدار بعدی دبیان، همه بک پورت های نصب شده به نسخه پایدار مربوطه قابل ارتقا خواهند بود.
حتی اگر این مخزن نسخههای جدیدتری از بستهها را ارائه میکند، APT آنها را نصب نمیکند مگر اینکه دستورالعملهای صریح برای انجام این کار ارائه دهید (یا مگر اینکه قبلاً این کار را با نسخه قبلی از backport انجام داده باشید):
$ sudo apt-get install package/bullseye-backports
$ sudo apt-get install -t bullseye-backports package
6.1.3. مخازن برای کاربران تست/ناپایدار
در اینجا یک sources.list استاندارد برای سیستمی است که نسخه آزمایشی یا ناپایدار دبیان را اجرا می کند:
مثال 6.3./etc/apt/sources.listفایل برای کاربران Debian Testing/Unstable
# Unstable
deb https://deb.debian.org/debian unstable main contrib non-free
deb-src https://deb.debian.org/debian unstable main contrib non-free
# Testing
deb https://deb.debian.org/debian testing main contrib non-free
deb-src https://deb.debian.org/debian testing main contrib non-free
# Testing security updates
deb http://security.debian.org/ testing-security main contrib non-free
deb-src http://security.debian.org/ testing-security main contrib non-free
# Stable
deb https://deb.debian.org/debian stable main contrib non-free
deb-src https://deb.debian.org/debian stable main contrib non-free
# Stable security updates
deb http://security.debian.org/ stable-security main contrib non-free
deb-src http://security.debian.org/ stable-security main contrib non-free
با این فایل sources.list، APT بسته هایی را از مجموعه Unstable نصب می کند. اگر مورد نظر نیست، از تنظیمات APT::Default-Release استفاده کنید
دلایل خوبی برای گنجاندن تمام آن مخازن وجود دارد، حتی اگر یک مورد کافی باشد. هنگامی که نسخه آزمایشی تحت تأثیر یک باگ آزاردهنده قرار میگیرد، کاربران در حال آزمایش از امکان انتخاب یک بسته ثابت از Unstable قدردانی خواهند کرد. از سوی دیگر، کاربران ناپایدار که توسط رگرسیونهای غیرمنتظره گاز گرفته میشوند، این امکان را دارند که بستهها را به نسخه آزمایشی (ظاهر کار) خود کاهش دهند.
گنجاندن Stable بیشتر قابل بحث است، اما اغلب به برخی از بسته ها دسترسی می دهد که از نسخه های توسعه حذف شده اند. همچنین تضمین میکند که آخرین بهروزرسانیها را برای بستههایی که از آخرین نسخه پایدار تغییر نکردهاند، دریافت میکنید.
6.1.3.1. مخزن تجربی
آرشیو بستههای آزمایشی در همه mirrorهای دبیان وجود دارد و حاوی بستههایی است که به دلیل کیفیت نامرغوب هنوز در نسخه ناپایدار نیستند – آنها اغلب نسخههای توسعه نرمافزار یا نسخههای قبلی هستند (آلفا، بتا، کاندید انتشار…). یک بسته نیز می تواند پس از انجام تغییرات بعدی به آنجا ارسال شود که می تواند مشکلاتی ایجاد کند. سپس نگهدارنده سعی می کند با کمک کاربران پیشرفته ای که می توانند مسائل مهم را مدیریت کنند، آنها را کشف کند. پس از این مرحله اول، بسته به Unstable منتقل می شود، جایی که مخاطبان بسیار بیشتری را دریافت می کند و در آنجا با جزئیات بسیار بیشتری آزمایش می شود.
تجربیعموماً توسط کاربرانی استفاده می شود که مشکلی ندارند سیستم خود را خراب کنند و سپس آن را تعمیر کنند. این توزیع امکان وارد کردن بسته ای را می دهد که کاربر می خواهد آن را امتحان کند یا در صورت نیاز از آن استفاده کند. این دقیقاً همان روشی است که دبیان به آن نزدیک میشود، زیرا افزودن آن در فایل sources.list APT منجر به استفاده سیستماتیک از بستههای آن نمیشود. خطی که باید اضافه شود این است:
deb https://deb.debian.org/debian experimental main contrib non-free
6.1.4. استفاده از mirror های جایگزین
نمونه های sources.list در این فصل به مخازن بسته های میزبانی شده در deb.debian.org اشاره دارد. این URLها شما را به سرورهایی هدایت میکنند که نزدیک شما هستند و توسط شبکههای تحویل محتوا (CDN) مدیریت میشوند که نقش اصلی آن ذخیرهسازی چندین نسخه از فایلها در سراسر جهان و ارائه آنها در سریعترین زمان ممکن به کاربران است. شرکتهای CDN که دبیان با آنها کار میکند، شرکای دبیان هستند که خدمات خود را آزادانه به دبیان ارائه میکنند. در حالی که هیچ یک از این سرورها تحت کنترل مستقیم دبیان نیستند، این واقعیت که کل آرشیو توسط امضاهای GPG مهر و موم شده است، آن را غیرممکن می کند.
کاربران حساسی که از عملکرد deb.debian.org راضی نیستند می توانند سعی کنند mirror بهتری را در لیست mirror رسمی پیدا کنند:
→https://www.debian.org/mirror/list
اما زمانی که نمی دانید کدام mirror برای شما بهتر است، این لیست کاربرد چندانی ندارد. خوشبختانه برای شما، دبیان ورودی های DNS از فرم ftp.country-code.debian.org (به عنوان مثال ftp.us.debian.org برای ایالات متحده، ftp.fr.debian.org برای فرانسه، و غیره) را حفظ می کند که بسیاری از آنها را پوشش می دهد. کشورهایی که به یکی (یا چند) از بهترین mirror های موجود در آن کشور اشاره می کنند.
به عنوان جایگزینی برای deb.debian.org، قبلاً httpredir.debian.org وجود داشت. این سرویس یک mirror نزدیک به شما را شناسایی می کند (در میان لیست mirror های رسمی که عمدتاً از GeoIP استفاده می کند) و درخواست های APT را به آن mirror هدایت می کند. این سرویس به دلیل نگرانی های مربوط به قابلیت اطمینان منسوخ شده است و اکنون httpredir.debian.org همان سرویس مبتنی بر CDN را به عنوان deb.debian.org ارائه می دهد.
6.1.5. منابع غیر رسمی: mentors.debian.net
منابع غیررسمی متعددی از بستههای دبیان وجود دارد که توسط کاربران پیشرفتهای که برخی از نرمافزارها را دوباره کامپایل کردهاند، راهاندازی شدهاند – اوبونتو با سرویس آرشیو بستههای شخصی (PPA) خود این مورد را محبوب کرده است – توسط برنامهنویسانی که بستههای خود را در دسترس همه قرار میدهند، و حتی توسعهدهندگان دبیان. که نسخه های پیش از بسته خود را به صورت آنلاین ارائه می دهند.
راmentors.debian.netسایت جالب است (اگرچه فقط بستههای منبع را ارائه میدهد)، زیرا بستههایی را جمعآوری میکند که توسط نامزدهایی که وضعیت توسعهدهنده رسمی دبیان یا توسط داوطلبانی که میخواهند بستههای دبیان را بدون گذراندن آن فرآیند ادغام ایجاد کنند، ایجاد کنند. این بسته ها بدون هیچ گونه تضمینی در مورد کیفیت در دسترس هستند. اطمینان حاصل کنید که منشاء و یکپارچگی آنها را بررسی کرده و سپس آنها را قبل از استفاده از آنها در تولید آزمایش کنید.
دامنه debian.net منبع رسمی پروژه Debian نیست. هر توسعه دهنده دبیان ممکن است از آن نام دامنه برای استفاده خود استفاده کند. این وبسایتها میتوانند شامل سرویسهای غیررسمی (گاهی اوقات سایتهای شخصی) باشند که بر روی دستگاهی که متعلق به پروژه نیست و توسط توسعهدهندگان دبیان راهاندازی شدهاند، میزبانی میشوند، یا حتی نمونههای اولیهای که قرار است به debian.org منتقل شوند. دو دلیل می تواند توضیح دهد که چرا برخی از این نمونه های اولیه در debian.net باقی می مانند: یا هیچ کس تلاش لازم را برای تبدیل آن به یک سرویس رسمی انجام نداده است (میزبان شده در دامنه debian.org و با ضمانت نگهداری خاص)، یا سرویس آنقدر بحث برانگیز است که نمیتوان رسمی کرد.
نصب یک بسته به معنای دادن حقوق ریشه به سازنده آن است، زیرا آنها در مورد محتوای اسکریپت های اولیه که تحت آن هویت اجرا می شوند تصمیم می گیرند. بستههای رسمی دبیان توسط داوطلبانی ایجاد میشوند که انتخاب و بررسی شدهاند و میتوانند بستههای خود را مهر و موم کنند تا منشاء و یکپارچگی آنها بررسی شود.
به طور کلی، مراقب بستهای باشید که منشأ آن را نمیدانید و روی یکی از سرورهای رسمی دبیان میزبانی نشده است: میزان اعتماد شما به سازنده را ارزیابی کنید و یکپارچگی بسته را بررسی کنید.
ادامه دادننسخه های بسته قدیمی:snapshot.debian.orgوarchive.debian.org
پروژه دبیان اغلب نسخههای پایدار جدیدی از توزیع خود را منتشر میکند و نسخههای قدیمی را در نهایت قدیمی و پشتیبانی . مخازن متعلق به این نسخه ها سپس از mirror های رسمی حذف می شوند، اما همچنان می توان با استفاده از سرویس در آدرسarchive.debian.org. توجه داشته باشید که این سرویس امکان دسترسی به هر یک از نسخه های قدیمی دبیان را می دهد، اما بسته منبع را برای هر بسته باینری ارائه شده ارائه نمی دهد.
راsnapshot.debian.orgاین سرویس، که در آوریل 2010 معرفی شد، می تواند برای «بازگشت به عقب در زمان» و یافتن نسخه باینری یا منبع قدیمی بسته ای که دیگر در آرشیو دبیان موجود نیست، استفاده شود. برای مثال، میتوان از آن برای شناسایی نسخهای از یک بسته استفاده کرد که رگرسیون را معرفی کرده است، و به طور دقیقتر، برای بازگشت به نسخه قبلی در حالی که منتظر رفع رگرسیون هستیم. این سرویس نه تنها بستههای منبع و باینری را از نسخههای قدیمیتر ارائه میکند، بلکه نسخههایی را نیز جایگزین بارگذاریهای معمولی نگهدارنده میکند.
6.1.6. کش کردن پروکسی برای بسته های دبیان
وقتی یک شبکه کامل از ماشینها برای استفاده از یک سرور راه دور برای دانلود بستههای بهروز شده مشابه پیکربندی شدهاند، هر مدیری میداند که داشتن یک پروکسی میانی که بهعنوان یک حافظه پنهان شبکه محلی عمل میکند سودمند است (نوار کناری را ببینید.حافظه پنهان واژگان).
شما می توانید APT را برای استفاده از یک پروکسی “استاندارد” پیکربندی کنید .برای طرف پروکسی)، اما اکوسیستم دبیان گزینه های بهتری برای حل این مشکل ارائه می دهد. نرم افزارهای اختصاصی ارائه شده در این بخش از یک حافظه پنهان پراکسی ساده هوشمندتر هستند زیرا می توانند بر ساختار خاص مخازن APT تکیه کنند (مثلاً آنها می دانند که فایل های فردی منسوخ شده اند یا نه، و بنابراین زمان نگهداری آنها را تنظیم می کنند).
apt-cacherو apt-cacher-ng مانند سرورهای کش پروکسی معمولی کار می کند. sources.list APT بدون تغییر باقی مانده است، اما APT به گونه ای پیکربندی شده است که از آنها به عنوان پروکسی برای درخواست های خروجی استفاده کند.
تقریبااز سوی دیگر، مانند یک سرور HTTP عمل می کند که هر تعداد از مخازن راه دور را در URL های سطح بالای خود “mirror” می کند. نگاشت بین دایرکتوری های سطح بالا و URL های راه دور مخازن در /etc/approx/approx.conf ذخیره می شود:
# <name> <repository-base-url>
debian https://deb.debian.org/debian
security http://security.debian.org/debian-security
تقریبابه طور پیشفرض روی پورت 9999 از طریق یک سوکت systemd اجرا میشود و از کاربران میخواهد فایل sources.list خود را برای اشاره به سرور تقریبی تنظیم کنند:
# Sample sources.list pointing to a local approx server
deb http://localhost:9999/security bullseye-security main contrib non-free
deb http://localhost:9999/debian bullseye main contrib non-free