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
کاربران میتوانند با استفاده از ابزار خط فرمان reportbug اقدام به ارسال گزارش اشکال در بستههای دبیان کنند. این ابزار ابتدا بررسی میکند که آیا اشکال مورد نظر قبلاً ثبت شده است یا خیر، تا از گزارشهای تکراری جلوگیری شود. علاوه بر آن، برای افزایش دقت، سطوح شدت را به کاربر یادآوری میکند (هرچند توسعهدهندگان در صورت نیاز میتوانند آن را بعداً تغییر دهند). این ابزار کمک میکند تا حتی کاربران تازهکار نیز بدون نیاز به دانستن جزئیات فنی نحو، گزارشی کامل و استاندارد ارائه دهند. در نهایت گزارش از طریق یک سرور ایمیل ارسال میشود (به طور پیشفرض از سرور مرکزی دبیان استفاده میشود، هرچند امکان ارسال از سرور محلی نیز وجود دارد).
تمرکز اصلی این ابزار روی نسخههای توسعهای دبیان است، جایی که اشکالات شناسایی و رفع میشوند. در نسخه پایدار، تغییرات تنها در شرایط خاص پذیرفته میشوند؛ مانند اصلاحات امنیتی یا رفع مشکلاتی که مانع کارکرد کلی یک بسته شوند. به طور کلی، رفع اشکالات جزئی معمولاً تا انتشار نسخه پایدار بعدی به تعویق میافتد.
→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 معمولاً برای بوت کردن سیستم از رسانههای قابل حمل (مانند CD/DVD یا حافظهی USB) به کار میروند.
هر ورودی در منوی بوتلودر در واقع معادل یک خط فرمان بوت است که برای راحتی کاربر پنهان شده است. با فشردن کلید TAB پیش از تأیید و اجرای گزینه، میتوان این خط فرمان را مشاهده و در صورت نیاز تغییر داد. گزینهی «Help» نیز رابط خط فرمان قدیمی را نمایش میدهد؛ در این حالت کلیدهای F1 تا F10 صفحات مختلف راهنما را ارائه میکنند که در آنها جزئیات پارامترهای ممکن توضیح داده شده است. به طور معمول، استفاده از این گزینهها تنها در شرایط خاص ضروری خواهد بود.
گزینهی «حالت متخصص» (در منوی «گزینههای پیشرفته») امکان مشاهده و تنظیم تمام جزئیات فرآیند نصب را فراهم میکند و اجازه میدهد کاربر آزادانه بین مراحل مختلف جابهجا شود. باید توجه داشت که این حالت به دلیل تنوع گزینهها پیچیدگی زیادی دارد و ممکن است برای کاربران تازهکار گیجکننده باشد.
گزینهی دیگر «حالت نجات» است که در همان منوی «گزینههای پیشرفته» قرار دارد. این حالت برای بازیابی سیستمهای آسیبدیده یا تعمیر بوتلودر به کار میرود. پس از نمایش چند صفحهی ابتدایی نصبکننده، کاربر میتواند به پوستهی سیستم وارد شده و اقدامات لازم را انجام دهد، یا بوتلودر را مجدداً نصب کند.
→ https://www.debian.org/releases/stable/amd64/ch08s06.en.html

شکل 4.1. صفحه بوت
پس از بارگذاری اولیه، برنامهی نصب مرحله به مرحله شما را در کل فرآیند نصب راهنمایی میکند. در این بخش هر یک از مراحل به تفصیل توضیح داده خواهد شد. آنچه در ادامه میآید مربوط به نصب از طریق DVD-ROM در معماری amd64 است (به طور خاص نسخهی RC3 نصبکننده برای انتشار Bullseye). نصبهای مبتنی بر netinst و همچنین نسخهی نهایی نصبکننده ممکن است اندکی متفاوت باشند. در اینجا هم نصب متنی و هم نصب گرافیکی را بررسی میکنیم؛ تفاوت اصلی تنها در ظاهر محیط است و عملکرد در هر دو حالت یکسان خواهد بود.
هشدار: از پیکربندی خودسرانه بپرهیزید
بسیاری از شبکههای محلی بر پایهی این فرض کار میکنند که همهی دستگاهها قابل اعتماد هستند. در چنین شرایطی، حتی یک پیکربندی اشتباه در یک رایانه میتواند کل شبکه را دچار اختلال کند. بنابراین، پیش از اتصال سیستم خود به شبکه، همواره با مدیر شبکه هماهنگ کنید و از تنظیم درست پارامترهایی مانند آدرس IP، ماسک شبکه و آدرس پخش (broadcast) اطمینان حاصل نمایید.
4.2.9. رمز عبور مدیر
در طول نصب، حساب کاربری root (کاربر مدیر سیستم) بهطور خودکار ایجاد میشود. به همین دلیل، نصبکننده از شما میخواهد یک رمز عبور برای آن تعیین کنید و سپس جهت اطمینان از صحت، آن را دوباره وارد نمایید. در صورتی که هر دو فیلد را خالی بگذارید، حساب کاربری root غیرفعال میشود و نخستین کاربر عادی که در مرحلهی بعد ساخته میشود، دسترسی مدیریتی خواهد داشت.
امنیت رمز عبور مدیر
رمز عبور مدیر باید طولانی (حداقل ۱۲ نویسه) و غیرقابل حدس باشد. هر سیستمی که به اینترنت متصل است، همواره هدف تلاشهای خودکار برای ورود با رمزهای عبور ساده قرار میگیرد. علاوه بر این، حملات لغتنامهای (Dictionary Attack) با امتحان ترکیبهای متعدد از کلمات و اعداد بسیار رایج است. بنابراین از رمزهایی مانند نام اعضای خانواده یا تاریخ تولد استفاده نکنید.
همین اصل برای سایر حسابهای کاربری نیز صدق میکند، هرچند خطر نفوذ به یک حساب غیرمدیر بسیار کمتر از حساب root است.
در صورت نیاز میتوانید از ابزارهای تولید رمز عبور مانند pwgen (در بستهای به همین نام) برای ایجاد رمزهای مطمئن استفاده کنید.

شکل 4.5. رمز عبور مدیر
4.2.10. ایجاد نخستین کاربر
دبیان توصیه میکند برای جلوگیری از عادت استفادهی مداوم از حساب root، یک کاربر عادی نیز ایجاد شود. بر اساس اصل «حداقل دسترسی»، بهتر است هر کار با کمترین سطح دسترسی لازم انجام شود تا آسیبهای ناشی از خطا محدود گردد.
به همین دلیل، نصبکننده از شما میخواهد نام کامل کاربر، نام کاربری و رمز عبور او را (برای اطمینان دوبار) وارد کنید.

شکل 4.6. نام نخستین کاربر
4.2.11. تنظیم ساعت
اگر شبکه در دسترس باشد، نصبکننده ساعت داخلی سیستم را با استفاده از یک سرور NTP بهروزرسانی میکند. در نتیجه، زمان ثبتشده در گزارشها از همان ابتدا دقیق خواهد بود. برای اینکه ساعت سیستم همواره بهروز باقی بماند، توصیه میشود پس از نصب، سرویس NTP به صورت دائم فعال گردد.
4.2.12. شناسایی دیسکها و دستگاهها
در این مرحله، نصبکننده بهطور خودکار هارد دیسکهای موجود در سیستم را شناسایی میکند. این دیسکها در مرحلهی بعد برای عملیات پارتیشنبندی در اختیار کاربر قرار خواهند گرفت.
4.2.13. اجرای ابزار پارتیشنبندی
کاربرد پارتیشنبندی
پارتیشنبندی مرحلهای کلیدی در نصب سیستمعامل است. این فرآیند شامل تقسیم فضای دیسک سخت به بخشهایی (پارتیشنها) متناسب با نوع دادهها و هدف استفاده از سیستم میشود. همچنین باید نوع سیستم فایل هر پارتیشن تعیین گردد. این تصمیمات بر عملکرد، امنیت دادهها و مدیریت سیستم تأثیر مستقیم دارند.
پارتیشنبندی معمولاً برای کاربران تازهکار گیجکننده است، زیرا باید محل فایلسیستم لینوکس و فضای swap مشخص گردد. اگر روی سیستم عامل دیگری از قبل نصب شده باشد، دقت بیشتری لازم است تا به پارتیشنهای آن آسیبی وارد نشود.
خوشبختانه، ابزار پارتیشنبندی دبیان دارای حالت هدایتشده است که پیشنهادهایی منطقی ارائه میدهد. در اغلب موارد میتوان این پیشنهادها را پذیرفت.

شکل 4.7. انتخاب حالت پارتیشنبندی
در حالت ساده، میتوان کل دیسک را به دبیان اختصاص داد. اگر سیستم تنها برای لینوکس در نظر گرفته شده، این سادهترین و مطمئنترین گزینه است. در صورتی که دستگاه دارای چند هارد دیسک باشد، میتوان هر دیسک را به یک سیستمعامل اختصاص داد تا از پیچیدگی جلوگیری شود.

شکل 4.8. دیسک مورد استفاده برای پارتیشنبندی هدایتشده
4.2.13.1. پارتیشنبندی هدایتشده
ابزار پارتیشنبندی هدایتشده سه الگو ارائه میدهد که متناسب با کاربردهای مختلف هستند.

شکل 4.9. پارتیشنبندی هدایتشده
روش نخست، «همهی فایلها در یک پارتیشن»، کل ساختار سیستم را در یک فایلسیستم (پارتیشن ریشه /) قرار میدهد و یک پارتیشن جداگانه برای swap میسازد. این گزینه ساده و پایدار بوده و برای سیستمهای شخصی یا تککاربره مناسب است.
روش دیگر، جدا کردن پارتیشنهای /home، /var و /tmp است که بیشتر برای سرورها یا سیستمهای چندکاربره توصیه میشود. این تقسیمبندی چند مزیت دارد: کاربران نمیتوانند کل فضای دیسک را پر کنند (زیرا تنها فضای /home یا /tmp خود را مصرف میکنند)، و دادههای مربوط به سرویسها (بهویژه لاگها در /var) از فضای بقیهی سیستم جدا باقی میماند.
انتخاب سیستم فایل
سیستم فایل تعیین میکند دادهها چگونه روی دیسک ذخیره و سازماندهی شوند. هر سیستم فایل مزایا و محدودیتهای خود را دارد. بهطور مثال، ReiserFS برای فایلهای کوچک مناسبتر است، در حالی که XFS در مدیریت فایلهای بزرگ عملکرد بهتری دارد. ext4 (پیشفرض دبیان) تعادلی مناسب میان کارایی و پایداری ایجاد کرده و برای دیسکهای بزرگ انتخابی مطمئن است. btrfs نیز گزینهای نوظهور با قابلیتهای پیشرفته (مانند snapshot) است.
سیستمفایلهای ژورنالدار (مانند ext3، ext4، btrfs، reiserfs و xfs) با استفاده از ثبت تراکنشها، امکان بازیابی وضعیت پایدار سیستم پس از خاموشی یا وقفهی ناگهانی را فراهم میکنند. این ویژگی، دوام و یکپارچگی دادهها را تضمین میکند.
پس از انتخاب نوع پارتیشن و سیستم فایل، ابزار نصب پیشنهاد خود را نمایش میدهد. کاربر میتواند آن را بپذیرد یا تغییر دهد. در بیشتر موارد، انتخاب پیشفرض (ext4) گزینهای مناسب خواهد بود. برای ثبت نهایی تغییرات، باید گزینهی «پایان پارتیشنبندی و نوشتن تغییرات روی دیسک» انتخاب شود.

شکل 4.10. تأیید پارتیشنبندی
4.2.13.2. پارتیشنبندی دستی
پارتیشنبندی دستی انعطافپذیری بیشتری دارد و به کاربر اجازه میدهد هدف و اندازهی هر پارتیشن را به دلخواه تعیین کند. همچنین در صورتی که قصد استفاده از نرمافزار RAID را داشته باشید، این روش تنها گزینهی ممکن خواهد بود.
در عمل: کوچک کردن پارتیشن ویندوز
برای نصب دبیان در کنار یک سیستمعامل دیگر (مانند ویندوز)، باید بخشی از فضای هارددیسک آزاد باشد تا بتوان پارتیشنهای مخصوص دبیان را ایجاد کرد. در اغلب مواقع، این کار با کوچککردن پارتیشن ویندوز و آزادسازی فضای خالی انجام میشود.
در حالت پارتیشنبندی دستی، نصبکننده دبیان این امکان را فراهم میکند. کافی است پارتیشن ویندوز (چه FAT و چه NTFS) را انتخاب کرده و اندازه جدید آن را وارد کنید. سیستم بهصورت خودکار فضای آزادشده را برای ایجاد پارتیشنهای لینوکس آماده میکند.
اگر ویندوز شما از **BitLocker** برای رمزگذاری پارتیشن استفاده میکند، تغییر اندازه تنها از طریق ابزارهای مخصوص ویندوز (مدیریت BitLocker و Disk Management) ممکن خواهد بود.
در صفحه نخست پارتیشنبندی، فهرست کامل دیسکها، پارتیشنها و فضای خالی نمایش داده میشود. با انتخاب هر مورد و فشردن کلید Enter، منویی شامل اقدامات ممکن (ایجاد، ویرایش یا حذف پارتیشن) باز خواهد شد.
همچنین میتوانید:
– یک پارتیشن جدید در فضای آزاد بسازید.
– کل دیسک را پاک کنید و از ابتدا پارتیشنبندی کنید.
– از حالت هدایتشده استفاده کنید تا سیستم بهطور خودکار ساختار استاندارد لینوکس را بسازد.

شکل 4.11. ویرایش/ایجاد پارتیشن
نقطه اتصال (Mount)
نقطه اتصال، بخشی از درخت دایرکتوری است که محتوای سیستمفایل پارتیشن انتخابی در آن نمایش داده میشود.
برای مثال:
– پارتیشن متصلشده به /home/ دادههای کاربران را ذخیره میکند.
– پارتیشن متصلشده به / (ریشه) همان جایی است که کل سیستمعامل دبیان نصب خواهد شد.
حافظه مجازی (Swap)
حافظه مجازی یا Swap به هسته لینوکس اجازه میدهد در صورت کمبود RAM، دادههای غیرفعال را به پارتیشن Swap روی دیسک منتقل کند. همچنین این بخش برای قابلیتهای Suspend و Hibernate ضروری است.
در ویندوز، Swap به شکل یک فایل در سیستمفایل موجود ذخیره میشود، اما در لینوکس معمولاً یک پارتیشن اختصاصی برای آن ایجاد میگردد (هرچند امکان استفاده از فایل Swap هم وجود دارد).
هنگام انتخاب پارتیشن، میتوانید تعیین کنید که:
- بهعنوان یک سیستمفایل جدید فرمت شود و در نقطهای از درخت فایل متصل گردد.
- بهعنوان پارتیشن Swap استفاده شود.
- بهعنوان «حجم فیزیکی برای رمزگذاری» تنظیم گردد.
- به «حجم فیزیکی برای LVM» تبدیل شود.
- بهعنوان بخشی از یک RAID نرمافزاری استفاده شود.
- یا بدون تغییر رها شود.
4.2.13.3. پیکربندی دستگاههای چنددیسکی (RAID نرمافزاری)
RAID روشی است برای افزایش امنیت دادهها با ذخیرهسازی توزیعشده یا تکراری روی چند دیسک.
– در **RAID 1**، دادهها بهصورت آینهای روی دو دیسک نوشته میشوند. اگر یکی خراب شود، دادهها از دیسک دوم قابل بازیابی است.
– در **RAID 5 و 6**، دادهها بههمراه اطلاعات افزونه (Parity) روی چند دیسک تقسیم میشوند و امکان بازسازی یک دیسک خراب وجود دارد.
برای سادگی، اینجا فقط RAID 1 را بررسی میکنیم:
1. ابتدا دو پارتیشن هماندازه روی دو دیسک مختلف ایجاد کرده و آنها را بهعنوان «حجم فیزیکی برای RAID» علامتگذاری کنید.
2. سپس در ابزار پارتیشنبندی گزینه Configure software RAID و بعد Create MD device را انتخاب کنید.
3. سطح RAID را روی RAID1 قرار دهید.
4. تعداد دستگاههای فعال (Active) را 2 تعیین کنید (مطابق همان دو پارتیشن).
5. تعداد دیسک یدکی (Spare) را 0 بگذارید.
6. در نهایت، پارتیشنهای مشخصشده برای RAID را انتخاب کنید.
پس از این مراحل، یک دیسک مجازی جدید (MD) ایجاد میشود که مانند یک دیسک عادی میتوانید آن را پارتیشنبندی کنید.
4.2.13.4. پیکربندی LVM (مدیریت حجم منطقی)
LVM (Logical Volume Manager) به شما اجازه میدهد پارتیشنهای مجازی ایجاد کنید که میتوانند روی چند دیسک مختلف گسترش پیدا کنند.
مزایا:
– محدودیت اندازه به یک دیسک خاص وابسته نیست.
– میتوانید حجمها را در آینده تغییر اندازه دهید یا با افزودن دیسک جدید فضای بیشتری اضافه کنید.
اصطلاحات کلیدی:
– **حجم فیزیکی (PV)**: یک پارتیشن واقعی یا RAID.
– **گروه حجم (VG)**: مجموعهای از چند PV.
– **حجم منطقی (LV)**: پارتیشن مجازی درون یک VG.
روند کار:
1. ایجاد پارتیشنهایی بهعنوان PV.
2. انتخاب Configure the Logical Volume Manager و ساخت یک VG.
3. ایجاد LV درون VG برای نصب سیستم یا دادهها.
در منوی پارتیشنبندی، هر PV یا VG بهصورت یک «دیسک مجازی» نمایش داده میشود که میتوانید آزادانه آن را مدیریت کنید.
4.2.13.5. راهاندازی پارتیشنهای رمزگذاریشده
برای حفاظت از محرمانگی اطلاعات (مثلاً در صورت سرقت لپتاپ یا هارد)، میتوان پارتیشنها را رمزگذاری کرد. لینوکس از فناوری dm-crypt همراه با استاندارد LUKS استفاده میکند. LUKS نهتنها دادهها را رمزگذاری میکند، بلکه اطلاعات مربوط به الگوریتم رمزنگاری را هم ذخیره میسازد.
نکته امنیتی: پارتیشن Swap رمزگذاریشده
کلید رمزنگاری معمولاً در RAM ذخیره میشود. اگر سیستم وارد حالت Hibernate شود، محتوای RAM (و در نتیجه کلید رمزنگاری) در پارتیشن 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 و غیره.
برای ایجاد یک پارتیشن رمزگذاریشده، ابتدا باید یکی از پارتیشنهای موجود را به این منظور اختصاص دهید. در این مرحله کافی است یک پارتیشن را انتخاب کرده و مشخص کنید که بهعنوان «حجم فیزیکی برای رمزگذاری» استفاده خواهد شد. پس از پارتیشنبندی دیسک و تعریف این حجم فیزیکی، گزینهی «پیکربندی حجمهای رمزگذاریشده» را انتخاب کنید.
نصبکننده پیشنهاد میدهد این حجم با دادههای تصادفی مقداردهی اولیه شود. این کار باعث میشود مکانیابی دادههای واقعی دشوارتر شده و امنیت افزایش یابد. سپس لازم است یک عبارت عبور (Passphrase) تعیین کنید؛ این عبارت در هر بار راهاندازی سیستم باید وارد شود تا دسترسی به دادهها فراهم گردد.
پس از اتمام این مرحله و بازگشت به منوی ابزار پارتیشنبندی، یک «حجم رمزگذاریشده» جدید ظاهر میشود. این حجم را میتوان همچون هر پارتیشن دیگری پیکربندی کرد. در اغلب موارد، این حجم بهعنوان یک «حجم فیزیکی برای 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 از پروکسی/کش شرکت Falcot (که بر پایهی نرمافزار «Squid» است) بهره خواهد گرفت. تنظیمات مشابه را میتوان با بررسی مرورگر وب دستگاه دیگری که به همان شبکه متصل است، پیدا کرد.
در نهایت فایلهای Packages.xz و Sources.xz بهصورت خودکار دانلود میشوند تا فهرست بستههای شناساییشده توسط APT بهروزرسانی شود.
پروکسی HTTP
پروکسی HTTP سروری است که درخواستهای کاربران شبکه را به وبسرورها ارسال میکند. این سرور گاهی با نگهداری نسخههای محلی از فایلهای منتقلشده، سرعت دانلود را افزایش میدهد (در این حالت از «پروکسی/کش» نام برده میشود). در برخی محیطها تنها راه دسترسی به اینترنت، استفاده از چنین پروکسیهایی است. بنابراین، در صورت وجود پروکسی در شبکه، باید تنظیمات مربوطه هنگام نصب وارد شوند تا برنامه بتواند بستههای دبیان را دریافت کند.
4.2.16. بسته Popularity Contest
دبیان بستهای با نام Popularity Contest دارد که وظیفهاش جمعآوری آمار استفاده از بستهها است. این برنامه هر هفته بهطور ناشناس گزارشی از بستههای نصبشده و بستههایی که اخیراً مورد استفاده قرار گرفتهاند به سرورهای پروژه دبیان ارسال میکند.
این دادهها به توسعهدهندگان کمک میکنند اهمیت نسبی بستهها را ارزیابی کرده و اولویتبندی بهتری در نگهداری آنها داشته باشند. برای نمونه، بستههای محبوب معمولاً در رسانههای نصب (مانند CD/DVD) گنجانده میشوند تا کاربران راحتتر به آنها دسترسی داشته باشند. فعالسازی این سرویس تنها در صورت تمایل کاربر انجام میشود و حفظ حریم خصوصی بهطور کامل رعایت خواهد شد.
4.2.17. انتخاب بستهها برای نصب
در این مرحله، کاربر میتواند نقش و کاربری کلی سیستم را تعیین کند. نصبکننده مجموعهای از «وظایف» (Tasks) را پیشنهاد میدهد که هرکدام شامل گروهی از بستههای مرتبط هستند. انتخاب هر وظیفه باعث میشود بستههای مربوطه نصب شوند.
این انتخاب نقطهی شروع مناسبی برای نصب است و بعداً میتوان بستههای بیشتری اضافه یا کم کرد. در این بخش، برای تکمیل نصب ممکن است به رسانههای اضافی یا اتصال به اینترنت و تنظیم یک mirror نیاز باشد. علاوه بر این، بستههایی بر اساس سختافزار شناساییشده (به کمک برنامه Discover-pkginstall) بهطور خودکار نصب میشوند.

شکل 4.14. انتخاب وظایف
4.2.18. نصب بوت لودر GRUB
بوتلودر نخستین برنامهای است که پس از پایان کار بایوس اجرا میشود. این برنامه هستهی لینوکس را در حافظه بارگذاری کرده و فرآیند راهاندازی سیستم را آغاز میکند. بوتلودر معمولاً منویی در اختیار کاربر میگذارد تا بتواند بین چند هستهی لینوکس یا سیستمعاملهای مختلف یکی را برای بوت انتخاب کند.
هشدار: بوتلودر و نصب چند سیستمعامل
در جریان نصب دبیان، برنامه سیستمعاملهای دیگر موجود روی رایانه را شناسایی کرده و بهطور خودکار ورودیهای مربوطه را به منوی بوت اضافه میکند. اما این رفتار در همهی نصبکنندهها یکسان نیست. بهویژه اگر پس از نصب دبیان، سیستمعامل ویندوز نصب (یا مجدداً نصب) شود، بوتلودر GRUB پاک شده و تنها ویندوز در دسترس خواهد بود. هرچند در نسخههای جدید ویندوز (مانند Windows 10) امکان بازیابی از طریق محیط تعمیر وجود دارد، ولی در اغلب موارد لازم است با استفاده از حالت «نجات» در نصبکننده دبیان، بوتلودر دوباره نصب گردد. جزئیات این روند در دفترچه راهنمای نصب دبیان توضیح داده شده است.
بهطور پیشفرض، GRUB تمام هستههای نصبشده لینوکس و سیستمعاملهای دیگر را در منوی بوت نمایش میدهد. توصیه میشود نصب آن در Master Boot Record پذیرفته شود. از آنجا که نگهداری نسخههای قدیمیتر هسته امکان بوت در شرایط ناسازگاری یا خرابی هسته جدید را فراهم میکند، منطقی است چند نسخهی قدیمیتر نیز حفظ شوند.
GRUB بوتلودر پیشفرض دبیان است، زیرا از نظر فنی برتریهای بسیاری دارد: با اغلب سیستمفایلها سازگار است و هنگام بوت بهطور مستقیم فایلهای پیکربندی را میخواند، بنابراین پس از نصب هر هستهی جدید نیازی به بهروزرسانی دستی ندارد. نسخهی 1 این برنامه (معروف به «Grub Legacy») محدودیتهایی در مدیریت ترکیبهای پیچیده LVM یا RAID نرمافزاری داشت، درحالیکه نسخهی 2 که بهصورت پیشفرض نصب میشود کاملتر است.
شایان ذکر است که GRUB یک برنامهی واحد نیست، بلکه مجموعهای از بوتلودرهاست که برای معماریها و سناریوهای مختلف طراحی شدهاند. برای نمونه: grub-efi-amd64 برای رایانههای ۶۴ بیتی با UEFI، بسته grub-efi-ia32 برای سیستمهای ۳۲ بیتی با UEFI، بسته grub-pc برای حالت BIOS، و grub-uboot برای معماریهای ARM استفاده میشود.
→ https://www.debian.org/releases/stable/amd64/ch08s06
بوت امن و بوتلودر شیم
Secure Boot فناوریای است که تضمین میکند در فرایند راهاندازی تنها نرمافزارهایی اجرا شوند که توسط فروشنده سیستمعامل معتبر شناخته شدهاند. سازوکار آن بدین صورت است که هر جزء در زنجیره بوت، جزء بعدی را پیش از اجرای آن اعتبارسنجی میکند.
در سطح پایه، سفتافزار UEFI کلیدهای رمزنگاری ارائهشده توسط مایکروسافت را در خود جای داده و به کمک آنها امضای بوتلودر را بررسی میکند تا از صحت و ایمنی اجرای آن اطمینان حاصل شود. از آنجا که دریافت امضا برای هر باینری فرآیندی طولانی و پیچیده است، پروژه دبیان تصمیم گرفت مستقیماً GRUB را امضا نکند. به جای آن از بوتلودر واسطهای به نام shim استفاده میکند؛ برنامهای کوچک که تغییرات بسیار کمی نیاز دارد و تنها وظیفهاش بررسی امضای ارائهشده از سوی دبیان برای GRUB و سپس اجرای آن است. در نتیجه، برای اجرای دبیان روی ماشینهایی که Secure Boot فعال است، نصب بستهی امضاشدهی shim ضروری است.
در ادامه زنجیره بوت، GRUB هسته لینوکس را بررسی و بارگذاری میکند. خود هسته نیز میتواند امضاهای ماژولهایی را که قرار است بارگذاری شوند اعتبارسنجی کند و حتی برخی عملیات را که ممکن است یکپارچگی سیستم را تهدید کند، مسدود نماید.
از نسخه دبیان 10 (Buster) به بعد، پشتیبانی از Secure Boot بهصورت رسمی ارائه شد. پیش از آن کاربران ناچار بودند این ویژگی را در تنظیمات BIOS یا UEFI غیرفعال کنند تا امکان نصب و اجرای دبیان فراهم شود.
4.2.19. اتمام نصب و راهاندازی مجدد
با پایان یافتن نصب، برنامه از شما میخواهد رسانهی نصب (مانند CD یا DVD) را از دستگاه خارج کرده و رایانه را راهاندازی مجدد کنید. پس از ریاستارت، سیستم برای نخستین بار از روی دیسک سخت و با استفاده از بوتلودر نصبشده اجرا خواهد شد.


شکل 4.15. نصب کامل شد
4.3. بعد از اولین بوت
اگر در مرحله نصب، وظیفهی «محیط دسکتاپ دبیان» را بدون انتخاب صریح نوع دسکتاپ (یا با انتخاب «گنوم») فعال کرده باشید، پس از راهاندازی مجدد صفحهی مدیریت ورود gdm3 نمایش داده خواهد شد.

شکل 4.16. اولین بوت
در این مرحله، کاربری که هنگام نصب ایجاد شده میتواند وارد سیستم شده و فوراً کار با محیط دسکتاپ را آغاز کند.
4.3.1. نصب نرمافزار اضافی
بستههای نصبشده در ابتدا با پروفایلی که هنگام نصب انتخاب شده مطابقت دارند، اما لزوماً با نیاز واقعی کاربر همخوانی کامل ندارند. بنابراین ممکن است لازم باشد پس از اولین بوت، انتخاب بستهها بازبینی یا تکمیل شود.
برای این منظور، ابزارهای مدیریت بسته در دسترس هستند. پرکاربردترین آنها apt (قابل اجرا از طریق خط فرمان) و «Synaptic Package Manager» (از طریق منوهای گرافیکی) هستند.
بهمنظور سادهسازی نصب مجموعهای از نرمافزارهای مرتبط، دبیان مفهوم «وظایف» (Tasks) را ارائه کرده است. هر وظیفه شامل گروهی از بستههاست که برای کاربری خاص طراحی شدهاند (مانند سرور ایمیل یا سرور فایل). این وظایف در حین نصب معرفی شدند و اکنون نیز میتوان از طریق ابزارهایی مانند aptitude (با رابط متنی تمامصفحه) یا Synaptic به آنها دسترسی داشت.
Aptitude به کاربر اجازه میدهد بستهها را بر اساس دستهبندیهای گوناگون مرور کند (نصبشده، نصبنشده، بر اساس وظیفه، بر اساس بخش و غیره) و اطلاعات مرتبط با هر بسته (وابستگیها، تضادها، توضیحات و غیره) را مشاهده نماید. کاربر میتواند بستهها را برای نصب (+) یا حذف (-) علامتگذاری کند و در نهایت با فشردن کلید g (از واژهی go) عملیات انتخابشده را اجرا نماید.
نکته: پشتیبانی از زبانهای غیرانگلیسی
دبیان برای کاربران غیرانگلیسی مجموعهای از وظایف مرتبط با بومیسازی فراهم کرده است. این وظایف شامل بستههای ترجمه، واژهنامهها و ابزارهای کمکی زبانهای مختلف هستند. اگر هنگام نصب زبانی غیر از انگلیسی انتخاب شده باشد، وظیفهی مرتبط بهصورت خودکار فعال میشود.
کاربرانی که هیچ وظیفهای را برای نصب انتخاب نکردهاند نیز میتوانند بعدها بهطور دستی نرمافزارهای دلخواه خود را با استفاده از apt یا aptitude نصب کنند.
فصل 6. نگهداری و بهروزرسانی: ابزارهای APT
یکی از دلایل محبوبیت دبیان میان مدیران سیستم، سهولت نصب نرمافزار و امکان بهروزرسانی کامل سیستم تنها با چند دستور ساده است. این قابلیت عمدتاً به لطف برنامه APT فراهم شده است؛ ابزاری که مدیران شرکت Falcot نیز آن را با اشتیاق بهکار میگیرند.
APT، مخفف Advanced Packaging Tool، ابزاری پیشرفته برای مدیریت بستههاست. ویژگی «پیشرفته» بودن آن در این است که بستهها را بهصورت منفرد ارزیابی نمیکند، بلکه آنها را بهعنوان یک مجموعه در نظر میگیرد و بهترین ترکیب ممکن از بستهها را ـ با درنظر گرفتن وابستگیها و نسخههای موجود ـ ارائه میدهد.
واژگان: منبع بسته و بسته منبع
واژه «منبع» ممکن است در این زمینه کمی مبهم باشد. یک «بسته منبع» (Source Package) بستهای است که کد منبع یک برنامه را در بر دارد. در حالیکه «منبع بسته» (Package Source) به مخزنی (مانند یک وبسایت، سرور FTP یا CD-ROM) گفته میشود که بستهها در آن نگهداری میشوند.
APT برای کار نیازمند «فهرست منابع بستهها» است که در فایل /etc/apt/sources.list ذخیره میشود. این فایل شامل آدرس مخازنی است که بستههای دبیان را منتشر میکنند. APT با مراجعه به این مخازن، فهرست بستهها را از فایلهای Packages.xz یا معادلهای فشردهسازیشدهی آنها (.gz، .bz2، .lzma) دریافت و تحلیل میکند. در مورد بستههای منبع نیز فایلهای Sources.xz یا انواع دیگر آن دانلود میشوند. در صورتیکه نسخهای قدیمیتر از این فایلها در سیستم موجود باشد، APT تنها تفاوتها را دریافت میکند تا بهروزرسانی سریعتر انجام شود.
gzip، bzip2، LZMA و XZ: فشردهسازی
فایلهایی با پسوند .gz توسط ابزار 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 کامل تشکیل دهد. این URL میتواند به یک mirror دبیان یا هر مخزن شخص ثالث اشاره کند. بسته به روش دسترسی، نشانی میتواند با file:// برای منابع محلی، http:// یا https:// برای وبسرورها، ftp:// یا ftps:// برای سرورهای FTP و حتی cdrom: برای نصب از روی دیسک آغاز شود. روشهای دیگر مانند ssh:// یا tor+http(s):// نیز پشتیبانی میشوند.
آخرین فیلدها به ساختار مخزن بستگی دارند. در سادهترین حالت، یک زیرفهرست مشخص میشود (مانند ./) تا بستهها مستقیماً از همان مسیر بارگذاری شوند. در حالت رایجتر، مانند mirrorهای دبیان، مخازن شامل چندین توزیع هستند (oldoldstable، oldstable، stable، testing، unstable) و هر توزیع خود به اجزای مختلف تقسیم میشود.
واژگان: اجزای اصلی، مشارکتی و غیرآزاد
دبیان بستهها را بر اساس مجوزهایشان در سه مؤلفه دستهبندی میکند:
- Main (اصلی): شامل بستههایی است که کاملاً با دستورالعملهای نرمافزار آزاد دبیان مطابقت دارند.
- Non-free (غیرآزاد): شامل نرمافزاری است که کاملاً آزاد نیست اما میتواند بدون محدودیت توزیع شود. این مؤلفه بهطور رسمی بخشی از دبیان محسوب نمیشود اما برای کاربرانی که به چنین نرمافزاری نیاز دارند ارائه شده است. بنیاد نرمافزار آزاد به دلیل وجود این بخش، دبیان را توصیه نمیکند.
- Contrib (مشارکتی): شامل نرمافزارهای آزاد است که برای اجرا یا ساخت به اجزای غیرآزاد نیاز دارند (مانند برخی درایورها یا بایوسها). همچنین نرمافزارهایی که وابسته به مؤلفه غیرآزاد هستند در این بخش قرار میگیرند.
نکته: فایلها در /etc/apt/sources.list.d/
برای مدیریت بهتر منابع متعدد، میتوان بهجای یک فایل طولانی، ورودیها را در چندین فایل جداگانه داخل مسیر /etc/apt/sources.list.d/ ذخیره کرد. هر فایل با پسوند .list شناخته میشود و ساختاری مشابه فایل اصلی دارد.
ورودیهای CD/DVD-ROM
ورودیهای مربوط به CD یا DVD-ROM نمایانگر دیسکهای نوری شما هستند. برخلاف سایر منابع، این نوع رسانه همیشه در دسترس نیست، زیرا باید یک دیسک فیزیکی داخل درایو قرار گیرد و در هر لحظه تنها یک دیسک را میتوان خواند. به همین دلیل، مدیریت این منابع با دیگران کمی متفاوت است.
برای افزودن این منابع باید از ابزار apt-cdrom استفاده کنید که معمولاً با پارامتر add اجرا میشود. این ابزار از شما میخواهد دیسک مورد نظر را وارد درایو کنید، سپس محتوای آن را جستجو کرده و فایلهای Packages را شناسایی میکند. این فایلها برای بهروزرسانی پایگاه داده محلی بستهها استفاده میشوند (عملی مشابه اجرای دستور apt update).
از آن پس، هر زمان APT به بستهای نیاز داشته باشد که روی دیسک ذخیره شده است، از شما درخواست خواهد کرد تا دیسک را درون درایو قرار دهید.
6.1.2. مخازن برای کاربران نسخه پایدار (Stable)
در ادامه یک نمونه استاندارد از فایل /etc/apt/sources.list برای سیستمی که از نسخه پایدار دبیان استفاده میکند آورده شده است:
مثال 6.2. فایل sources.list برای Debian Stable
# 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
این فایل شامل همه منابع اصلی مرتبط با نسخه Bullseye (نسخه Stable در زمان نگارش) است. در این مثال به جای استفاده از نام مستعار «stable»، مستقیماً نام «bullseye» نوشته شده است تا از تغییر ناخواسته توزیع به نسخه بعدی پایدار جلوگیری شود.
بیشتر بستهها از «مخزن پایه» تأمین میشوند که مجموعه کامل بستهها را شامل میشود اما به ندرت بهروزرسانی میشود (تقریباً هر دو ماه یکبار در قالب نسخههای نقطهای). سایر مخازن تکمیلی هستند و تنها بخشی از بستهها یا بهروزرسانیهای خاص را شامل میشوند. در ادامه هدف و قوانین هر یک توضیح داده خواهد شد.
نکته: اگر یک بسته در چندین مخزن وجود داشته باشد، APT نسخهای را نصب میکند که در اولین مخزن تعریفشده در فایل sources.list قرار دارد. بنابراین توصیه میشود منابع غیررسمی را همیشه در انتهای فایل قرار دهید.
بخش زیادی از توضیحاتی که در این قسمت برای Stable ارائه شده، به همان اندازه برای Oldstable (نسخه پایدار قبلی) نیز صدق میکند، زیرا Oldstable صرفاً نسخهای قدیمی از Stable است که همچنان پشتیبانی میشود.
6.1.2.1. بهروزرسانیهای امنیتی
دبیان اهمیت زیادی برای امنیت قائل است. آسیبپذیریهای شناختهشده نرمافزاری در ردیاب امنیتی دبیان ثبت میشوند و در بازهای منطقی رفع خواهند شد.
بهروزرسانیهای امنیتی به جای مخازن معمولی، در سرور security.debian.org منتشر میشوند. این سرور مجموعهای کوچک از ماشینهاست که توسط مدیران سیستم دبیان مدیریت میشود. بهروزرسانیهای امنیتی هم برای Stable و هم Oldstable منتشر میشوند.
برای نسخه Testing نیز گاهی چنین بهروزرسانیهایی ارائه میشود، اما اغلب تغییرات امنیتی از طریق جریان عادی بستهها از Unstable وارد Testing میشوند.
6.1.2.2. بهروزرسانیهای پایدار (Stable Updates)
این مخزن شامل بهروزرسانیهای مهم اما غیرامنیتی است که باید پیش از انتشار نسخه نقطهای بعدی در دسترس کاربران قرار گیرند.
این مخزن معمولاً شامل رفع اشکالات بحرانی یا تغییراتی است که به مرور زمان نیاز به بهروزرسانی دارند، مانند قوانین ضد اسپم spamassassin، پایگاه داده آنتیویروس clamav، دادههای مربوط به تغییر ساعت تابستانی (tzdata) یا کلیدهای رمزنگاری همچون debian-archive-keyring.
6.1.2.3. بهروزرسانیهای پیشنهادی (Proposed Updates)
از آنجا که نسخه پایدار تنها هر دو ماه یکبار بهروزرسانی میشود، مخزن «بهروزرسانیهای پیشنهادی» جایی است که تغییرات آماده و آزمایش میشوند. این مخزن شامل بهروزرسانیهای امنیتی و پایدار توضیحدادهشده در بالا به علاوه برخی رفع اشکالات دیگر است.
هر کاربری میتواند این مخزن را فعال کند تا تغییرات را پیش از انتشار رسمی آزمایش کند. نمونه:
deb https://deb.debian.org/debian bullseye-proposed-updates main contrib non-free
6.1.2.4. بکپورتها (Stable Backports)
مخزن stable-backports شامل نسخههای جدیدتر نرمافزارهایی است که برای نسخه پایدار مجدداً کامپایل شدهاند. این کار اجازه میدهد کاربران Stable به برخی ویژگیهای جدید نرمافزارها دسترسی داشته باشند بدون آنکه مجبور شوند سیستم را به Testing یا Unstable ارتقا دهند.
با این حال APT این بستهها را به طور پیشفرض نصب نمیکند. نصب آنها نیازمند دستور صریح است:
$ sudo apt-get install -t bullseye-backports package
فصل 7. حل مشکلات و یافتن اطلاعات مرتبط
برای یک مدیر، مهمترین مهارت این است که بتواند با هر موقعیتی، شناختهشده یا ناشناخته، کنار بیاید. این فصل تعدادی روش ارائه میدهد که امیدوارم به شما اجازه دهد علت هر مشکلی که با آن روبرو میشوید را جدا کنید، تا بتوانید آنها را حل کنید.
7.1. منابع مستندات
قبل از اینکه بتوانید بفهمید چه اتفاقی میافتد وقتی مشکلی وجود دارد، باید نقش نظری هر برنامهای که در مشکل دخیل است را بدانید. برای این کار، بهترین واکنش این است که مستندات آنها را بررسی کنید؛ اما از آنجایی که این مستندات زیاد هستند و ممکن است پراکنده باشند، باید تمام مکانهایی که میتوان آنها را پیدا کرد را بدانید.
7.1.1. صفحات راهنما (Manual Pages)
فرهنگ RTFM
این مخفف به معنای “راهنمای لعنتی را بخوان” است، اما میتواند به صورت دوستانهتری به “راهنمای عالی را بخوان” گسترش یابد. این عبارت گاهی در پاسخهای کوتاه به سؤالات تازهکاران استفاده میشود. این پاسخ نسبتاً ناگهانی است و نشاندهنده ناراحتی خاصی از سؤالی است که توسط کسی مطرح شده که حتی زحمت خواندن مستندات را به خود نداده است. برخی میگویند که این پاسخ کلاسیک بهتر از عدم پاسخ است (زیرا نشان میدهد که مستندات شامل اطلاعات مورد جستجو است)، یا بهتر از پاسخی طولانیتر و عصبانیتر.
در هر صورت، اگر کسی به شما “RTFM” پاسخ داد، اغلب عاقلانه است که توهین نکنید. از آنجایی که این پاسخ ممکن است آزاردهنده به نظر برسد، ممکن است بخواهید از دریافت آن اجتناب کنید. اگر اطلاعات مورد نیاز شما در راهنما نیست، که ممکن است اتفاق بیفتد، ممکن است بخواهید این را بگویید، ترجیحاً در سؤال اولیه خود. همچنین باید مراحل مختلفی که شخصاً برای یافتن اطلاعات قبل از مطرح کردن سؤال انجام دادهاید را توصیف کنید. پیروی از دستورالعملهای اریک ریموند راه خوبی برای اجتناب از اشتباهات رایج و دریافت پاسخهای مفید است.
→ http://catb.org/~esr/faqs/smart-questions.html
صفحات راهنما، در حالی که نسبتاً مختصر در سبک هستند، شامل مقدار زیادی اطلاعات ضروری هستند. ما به سرعت دستور مشاهده آنها را بررسی میکنیم، که توسط بسته man-db ارائه میشود. کافی است man manual-page را تایپ کنید — صفحه راهنما معمولاً با همان نام فرمان که مستندات آن جستجو میشود میرود. برای مثال، برای یادگیری گزینههای ممکن برای فرمان cp، فرمان man cp را در پرامپت شل تایپ کنید (به جعبه کناری بازگشت به اصول شل، یک مفسر خط فرمان مراجعه کنید).
بازگشت به اصول شل، یک مفسر خط فرمان
یک مفسر خط فرمان، که شل نیز نامیده میشود، برنامهای است که فرمانهایی را اجرا میکند که یا توسط کاربر وارد شده یا در یک اسکریپت ذخیره شدهاند. در حالت تعاملی، یک پرامپت نمایش میدهد (معمولاً با $ برای کاربر عادی، یا با # برای مدیر پایان مییابد) که نشاندهنده آماده بودن برای خواندن فرمان جدید است. ضمیمه B، دوره کوتاه ترمیمی، اصول استفاده از شل را توصیف میکند.
شل پیشفرض و بیشترین استفادهشده bash (Bourne Again SHell) است، اما دیگران وجود دارند، از جمله dash، csh، tcsh و zsh.
از جمله چیزهای دیگر، بیشتر شلها کمک ارائه میدهند (help را تایپ کنید) و کمک در ورودی در پرامپت، مانند تکمیل نام فرمان یا فایل (که معمولاً میتوانید با فشار دادن کلید تب فعال کنید)، یا فراخوانی فرمانهای قبلی (مدیریت تاریخچه؛ یعنی映射 برای “صفحه بالا” و “صفحه پایین” در /etc/inputrc را بررسی کنید).
صفحات راهنما نه تنها فرمانها و برنامههای قابل دسترسی از خط فرمان را مستند میکنند، بلکه فایلهای پیکربندی، فراخوانیهای سیستم، توابع کتابخانه، و غیره را نیز. گاهی نامها میتوانند برخورد کنند. برای مثال، فرمان read شل با همان نام فراخوانی سیستم read دارد. به همین دلیل است که صفحات راهنما در بخشهای شمارهدار سازماندهی شدهاند:
- 1: فرمانهایی که میتوان از خط فرمان اجرا کرد؛
- 2: فراخوانیهای سیستم (توابع ارائهشده توسط هسته)؛
- 3: توابع کتابخانه (ارائهشده توسط کتابخانههای سیستم)؛
- 4: دستگاهها (در سیستمهای شبهیونیکس، اینها فایلهای خاص هستند، معمولاً در دایرکتوری /dev/ قرار میگیرند)؛
- 5: فایلهای پیکربندی (فرمتها و کنوانسیونها)؛
- 6: بازیها؛
- 7: مجموعههای ماکرو و استانداردها؛
- 8: فرمانهای مدیریت سیستم؛
- 9: روتینهای هسته.
میتوان بخش صفحه راهنما را که جستجو میکنید مشخص کرد: برای مشاهده مستندات فراخوانی سیستم read، man 2 read را تایپ کنید. وقتی هیچ بخشی مشخص نشده، اولین بخشی که صفحه راهنمایی با نام درخواستشده دارد نمایش داده میشود. بنابراین، man shadow، shadow(5) را بازمیگرداند زیرا هیچ صفحه راهنمایی برای shadow در بخشهای 1 تا 4 وجود ندارد.
نکته whatis
اگر نمیخواهید به کل صفحه راهنما نگاه کنید، بلکه فقط توضیح کوتاهی برای تأیید اینکه آنچه جستجو میکنید است، کافی است whatis command را وارد کنید.
scp (1) – OpenSSH secure file copy
این توضیح کوتاه در بخش NAME در ابتدای تمام صفحات راهنما گنجانده شده است.
البته، اگر نام فرمانها را نمیدانید، راهنما برای شما مفید نخواهد بود. این هدف فرمان apropos است، که به شما کمک میکند جستجویی در صفحات راهنما انجام دهید، یا دقیقتر در توضیحات کوتاه آنها. هر صفحه راهنما اساساً با یک خلاصه یکخطی آغاز میشود. apropos لیستی از صفحات راهنما را بازمیگرداند که خلاصه آنها کلمه کلیدی درخواستشده را ذکر میکند. اگر آنها را خوب انتخاب کنید، نام فرمان مورد نیاز خود را پیدا خواهید کرد.
مثال 7.1. یافتن cp با apropos
cp (1) – copy files and directories
cp (1posix) – copy files
cpio (1) – copy files to and from archives
exec (1posix) – execute commands and open, close, or copy file descriptors
install (1) – copy files and set attributes
ntfscp (8) – copy file to an NTFS volume.
نکته مرور با دنبال کردن لینکها
بسیاری از صفحات راهنما بخش “SEE ALSO” دارند، معمولاً در انتها. این بخش به صفحات راهنمای مرتبط با فرمانهای مشابه، یا به مستندات خارجی اشاره دارد. به این ترتیب، میتوان مستندات مرتبط را پیدا کرد حتی اگر انتخاب اول بهینه نباشد.
فرمان man تنها وسیله مشاوره صفحات راهنما نیست، زیرا برنامههای khelpcenter و konqueror (توسط KDE) و yelp (تحت GNOME) نیز این امکان را ارائه میدهند. همچنین یک رابط وب وجود دارد، که توسط بسته man2html ارائه میشود، که اجازه میدهد صفحات راهنما را در یک مرورگر وب مشاهده کنید. در کامپیوتری که این بسته نصب شده است، از این URL پس از پیروی از دستورالعملها در /usr/share/doc/man2html/README.Debian استفاده کنید:
→ http://localhost/cgi-bin/man/man2html
این ابزار نیاز به یک سرور وب دارد. به همین دلیل است که باید انتخاب کنید این بسته را روی یکی از سرورهای خود نصب کنید: تمام کاربران شبکه محلی میتوانند از این سرویس بهره ببرند (از جمله ماشینهای غیرلینوکسی)، و این اجازه میدهد که سرور HTTP را روی هر ایستگاه کاری تنظیم نکنید. اگر سرور شما همچنین از شبکههای دیگر قابل دسترسی است، ممکن است بخواهید دسترسی به این سرویس را فقط به کاربران شبکه محلی محدود کنید.
در نهایت اما نه کماهمیت، میتوانید تمام صفحات راهنمای موجود در دبیان (حتی آنهایی که روی ماشین شما نصب نشدهاند) را در سرویس manpages.debian.org مشاهده کنید. این سرویس هر صفحه راهنما را در چندین نسخه ارائه میدهد، یکی برای هر نسخه دبیان.
→ https://manpages.debian.org
سیاست دبیان صفحات راهنمای مورد نیاز
دبیان نیاز دارد که هر برنامهای صفحه راهنمایی داشته باشد. اگر نویسنده بالادستی یکی ارائه نکند، نگهدارنده بسته دبیان معمولاً صفحهای حداقل مینویسد که حداقل خواننده را به مکان مستندات اصلی برنامه هدایت میکند.
7.1.2. اسناد info
پروژه GNU راهنمایی برای بیشتر برنامههای خود در فرمت info نوشته است؛ به همین دلیل است که بسیاری از صفحات راهنما به مستندات info مربوطه اشاره میکنند. این فرمت برخی مزایا ارائه میدهد، اما برنامه پیشفرض برای مشاهده این اسناد (که info نامیده میشود) کمی پیچیدهتر است. بهتر است به جای آن از pinfo استفاده کنید (از بسته pinfo).
مستندات info ساختار سلسلهمراتبی دارد، و اگر pinfo را بدون پارامترها فراخوانی کنید، لیستی از گرههای موجود در سطح اول را نمایش میدهد. معمولاً، گرهها نام فرمانهای مربوطه را دارند.
با pinfo، ناوبری بین این گرهها با کلیدهای جهتنما آسان است. همچنین میتوانید از یک مرورگر گرافیکی استفاده کنید، که بسیار کاربرپسندتر است. دوباره، konqueror و yelp کار میکنند؛ بسته info2www همچنین یک رابط وب ارائه میدهد.
→ http://localhost/cgi-bin/info2www
توجه داشته باشید که سیستم info برای ترجمه مناسب نیست، برخلاف سیستم صفحه راهنما. بنابراین اسناد info تقریباً همیشه به انگلیسی هستند. با این حال، وقتی برنامه pinfo را برای نمایش صفحه info موجود درخواست میکنید، به صفحه راهنمای همان نام (اگر وجود داشته باشد) بازمیگردد، که ممکن است ترجمه شده باشد.
7.1.3. مستندات خاص
هر بسته مستندات خود را شامل میشود. حتی برنامههای کمتر مستندشده معمولاً فایل README حاوی اطلاعات جالب و/یا مهم دارند. این مستندات در دایرکتوری /usr/share/doc/package/ نصب میشود (که package نام بسته است). اگر مستندات به ویژه بزرگ باشد، ممکن است در بسته برنامه اصلی گنجانده نشود، بلکه به یک بسته اختصاصی منتقل شود که معمولاً به نام package-doc نامیده میشود. بسته اصلی معمولاً بسته مستندات را توصیه میکند تا بتوانید آن را به راحتی پیدا کنید.
دایرکتوری /usr/share/doc/package/ همچنین شامل برخی فایلهای ارائهشده توسط دبیان است که مستندات را با مشخص کردن ویژگیهای خاص بسته یا بهبودها نسبت به نصب سنتی نرمافزار تکمیل میکنند. فایل README.Debian همچنین تمام تطبیقهایی را که برای رعایت سیاست دبیان انجام شده نشان میدهد. فایل changelog.Debian.gz به کاربر اجازه میدهد تغییرات انجامشده در بسته را در طول زمان دنبال کند: بسیار مفید است برای تلاش برای درک آنچه بین دو نسخه نصبشده تغییر کرده که رفتار یکسانی ندارند. در نهایت، گاهی فایل NEWS.Debian.gz وجود دارد که تغییرات عمده در برنامه را که ممکن است مستقیماً مدیر را تحت تأثیر قرار دهد مستند میکند (به بخش 6.7.2، “مدیریت مشکلات پس از ارتقا” مراجعه کنید).
7.1.4. وبسایتها
در بیشتر موارد، برنامههای نرمافزار آزاد وبسایتهایی دارند که برای توزیع آن و گردآوری جامعه توسعهدهندگان و کاربران آن استفاده میشوند. این سایتها اغلب با اطلاعات مرتبط در اشکال مختلف بارگذاری شدهاند: مستندات رسمی، FAQ (سؤالات متداول)، آرشیو لیستهای پستی، و غیره. مشکلات شما ممکن است قبلاً موضوع بسیاری از سؤالات بوده باشند؛ FAQ یا آرشیو لیستهای پستی ممکن است راهحلی برای آن داشته باشند. تسلط خوب بر موتورهای جستجو بسیار ارزشمند خواهد بود؛ جستجوهای محدود به دامنه اینترنت یا زیردامنه اختصاصی برنامه میتواند نتایج مرتبطی پیدا کند. اگر جستجو صفحات زیادی بازگرداند یا اگر نتایج با آنچه جستجو میکنید مطابقت نداشته باشند، میتوانید کلمه کلیدی debian را اضافه کنید تا نتایج را محدود کرده و اطلاعات مرتبط را هدف قرار دهید.
نکته از خطا به راهحل
اگر نرمافزار پیام خطای بسیار خاصی بازگرداند، آن را در موتور جستجو وارد کنید (بین گیومههای دوتایی، “، برای جستجو نه برای کلمات کلیدی جداگانه، بلکه برای عبارت کامل). در بیشتر موارد، لینکهای اول پاسخ مورد نیاز شما را خواهند داشت.
در موارد دیگر، خطاهای بسیار عمومی دریافت خواهید کرد، مانند “Permission denied”. در این مورد، بهتر است مجوزهای عناصر دخیل (فایلها، شناسه کاربر، گروهها، و غیره) را بررسی کنید.
اگر آدرس وبسایت نرمافزار را نمیدانید، راههای مختلفی برای دریافت آن وجود دارد. اول، بررسی کنید آیا فیلد Homepage در متااطلاعات بسته وجود دارد (apt show package). به طور جایگزین، توضیح بسته ممکن است شامل لینک به وبسایت رسمی برنامه باشد. اگر هیچ URL نشان داده نشده، به /usr/share/doc/package/copyright نگاه کنید. نگهدارنده دبیان معمولاً در این فایل نشان میدهد که کد منبع برنامه را از کجا گرفته، و این احتمالاً وبسایتی است که باید پیدا کنید. اگر جستجوی شما هنوز بیثمر است، به دایرکتوری نرمافزار آزاد، مانند دایرکتوری نرمافزار آزاد FSF، مراجعه کنید، یا مستقیماً با موتور جستجویی مانند Google، DuckDuckGo، Yahoo، و غیره جستجو کنید.
→ https://directory.fsf.org/wiki/Main_Page
همچنین ممکن است بخواهید ویکی دبیان را بررسی کنید، یک وبسایت مشارکتی که هر کسی، حتی بازدیدکنندگان جدید، میتواند پیشنهادهایی مستقیماً از مرورگرهای خود ارائه دهد. به طور برابر توسط توسعهدهندگان که پروژههای خود را طراحی و مشخص میکنند، و توسط کاربران که دانش خود را با نوشتن اسناد مشارکتی به اشتراک میگذارند استفاده میشود.
→ https://wiki.debian.org/
7.1.5. آموزشها (HOWTO)
یک HOWTO سندی است که به طور بتن و گام به گام توصیف میکند “چگونه” به یک هدف از پیش تعیینشده برسید. اهداف پوششدادهشده نسبتاً متنوع هستند، اما اغلب فنی هستند: برای مثال، تنظیم IP Masquerading، پیکربندی نرمافزار RAID، نصب سرور Samba، و غیره. این اسناد اغلب سعی میکنند تمام مشکلات احتمالی را که ممکن است در اجرای فناوری دادهشده رخ دهد پوشش دهند.
بسیاری از این آموزشها توسط پروژه مستندات لینوکس (LDP) مدیریت میشوند، که وبسایت آنها تمام این اسناد را میزبانی میکند:
→ https://www.tldp.org/