آرچ لینوکس (یا آرچ) یک توزیع لینوکس است که با هدف سبک بودن و ساده بودن ساخته شده است. رویکرد طراحی تیم توسعه بر روی “سادگی”، ظرافت، صحت کد و کوچک بودن آن گذاشته شده است. «سادگی» بر مبنای تعریف آرچ، «… فاقد افزونهها، تغییرات و پیچیدگیهای غیرضروری بودن …» است. و از دیدگاه توسعهدهنده/برنامهنویس تعریف میشود نه از دیدگاه کاربر.
جاد وینت (Judd Vinet) توسعهٔ آرچلینوکس را با الهام گرفتن از CRUX، یک توزیع سبک گرای دیگر در مارس ۲۰۰۲ شروع کرد. وینت رهبری پروژه را تا اول اکتبر ۲۰۰۷ برعهده داشت، و زمانی که او دیگر وقت کافی برای این کار نداشت، کنترل و مدیریت پروژه را به اِیرون گریفین (Aaron Griffin) منتقل کرد.
طراحی و اصول |
آرچ بطور گستردهای برپایهٔ بستههای دودویی است. بستههای دودویی در این توزیع با هدف معماریهای i686 و x86-64 ساخته میشوند، تا سیستم مدرن بهینهای را بسازند. یک سیستم اتوماتیک برای کامپایل و ساخت بستهها برای معماریهای دیگر وجود دارد، که به نام ABS یا (Arch Build System) شناخته میشود.
توجه آرچ به سادگی و اقتصادی بودن سیستم برای توسعهدهندهها، درمیان مسائل دیگر، به این معنی نیست که برای کمک به کاربر برنامههای گرافیکی برای تنظیمات سیستم ساخته میشود، برای مثال مدیر بستهٔ آرچ (pacman) هیچگونه واسط گرافیکی رسمیای ندارد. ولی توجه بیشتر روی ساختن و آماده کردن فایلهای تنظیمات با حاشیه نویسی خوب، و استفادهٔ بهینه از خط فرمان است. این مسئله باعث شد که آرچ به عنوان یک توزیع برای «کاربران متوسط و حرفهای که از کار با خط فرمان نمیترسند» معروف گردد[۳].
«اعتماد کردن به ابزارهای پیچیدهٔ مدیریت و ساختن سیستم، باعث صدمه زدن به کاربر نهایی میگردد. […] «اگر شما برای مخفی کردن پیچیدگی سیستم تلاش کنید، به یک سیستم پیچیدهتر خواهید رسید.» لایههای انتزاعی که باعث مخفی کردن داخل میگردند، هیچگاه چیز خوبی نبودهاند. در مقابل، مسائل داخلی باید به نحوی طراحی گردند که به هیچگونه مخفیسازی نیاز نباشد.» ایرون گریفن[۴]
چارچوب راهاندازی
آرچ از یک چارچوب راهاندازی شبیه به بیاسدی استفاده میکند، که باعث از کاهش انعطافپذیری به بهای سادگی میباشد. همچنین از سطوح اجرایی سیستم وی و فایل inittab استفاده میکند و امکان استفاده از آن را مهیا میسازد. ولی فرقٰهایی بین سطوح اجرایی میگذارد. این از این حقیقت که ماژولها و سرویسها در زمان راهاندازی بطور خیلی ساده در یک آرایه در فایل تنظیمات مرکزی مشخص میگردند (/etc/rc.conf) ناشی میشود. در طرف مقابل سیستم وی برای هر سطح اجرایی یک پوشه دارد که شامل پیوندهای شمارهگذاری شدهای برای هر سرویس است.[۵] همچنین امکان اجرای پردازهها بطور غیرهمزمان نیز وجود دارد، که هیچکدام از سیستم اصلی بیاسدی یا سیستم وی دارای این امکان نمیباشند.
نصب
وبسایت آرچلینوکس هم فایل ISO برای CD و هم فایل IMG برای فلش مموریها را در اختیار کاربران قرار میدهد. به دلیل التزام آرچ به قاعده KISS مبنی بر کوچک و سادهسازی، نصاب آرچ تنها یک شل اسکریپت ساده است که از یک پوسته گرافیکی برای تعامل با کاربر در هنگام نصب (در مدت زمان حدود ۱۰ تا ۱۵ دقیقه) سود میبرد. نصب به صورت پیشفرض تنها یک محیط پایهٔ لینوکس را فراهم میکند که شامل GNU toolchain، هستهٔ لینوکس، چند ماژول اضافی و کتابخانهها، و محیط شل است. شخصیسازی و گسترش سیستم (اضافه کردن نرمافزارهایی مثل مدیر پنجره، میز کار و غیره) باید به صورت دستی و از طریق نصب بستههای دانلود شده از مخازن آنلاین صورت گیرد. به همین دلیل نصب آرچ عموما در مقایسه با سایر سیستمعاملها پیچیده انگاشته میشود.
مدیریت بستهها
Pacman
همه بستهها از طریق مدیر بستههای Pacman مدیریت میشوند. Pacman نصب بستهها، بهروزرسانی، حذف و یا بازگردانی بستهها را انجام میدهد و توانایی تشخیص خودکار وابستگیها را نیز دارد. بستههای آرچلینوکس از مخازن بستههای آرچ تأمین و برای معماریهای i686 و x86-64 بهینهسازی شدهاند. آرچلینوکس برای رسیدن به سرعت بالا در نصب نرمافزارها بر اساس بستههای با فرمت tar.gz طراحی شده است.
مخازن
در حال حاضر ۴ مخزن رسمی وجود دارد:
- هسته (Core)، که شامل همهٔ بستههای مورد نیاز برای نصب سیستم پایه است.
- اضافی (Extra)، که شامل بستههایی است که برای نصب سیستم پایه ضروری نیستند، مثل میزکار و سایر برنامهها.
- آزمایشی (Testing)، یک مخزن خاص که شامل بستههایی است که نامزد اضافه شدن به مخزن اضافی یا هسته هستند.
- اجتماع (Community)، که مخصوص بستههای ساخته یا پیشنهاد شده توسط جامعه کاربری است و شامل بستههایی است که رای کافی از طرف کاربران کسب کرده و از طرف یک کاربر مورد اطمینان تایید شدهاند.
مخزن ناپایدار (Unstable) در جولای ۲۰۰۸ کنار گذاشته شده و بیشتر بستههای آن به مخازن دیگر منتقل شدند. علاوه بر مخازن رسمی، تعدادی مخازن غیررسمی کاربران (AUR) هم وجود دارند.
ABS
برنامهای مشابه Ports است که قادر به کامپایل کردن سورسها به بستههای باینری قابل نصب توسط Pacman است. ABS یک شاخه از شل اسکریپتها به نام PKGBUILD فراهم میکند که میتواند تمام بستههای رسمی آرچ را تغییر دهد و کامپایل کند. بازسازی کل سیستم با استفاده از کامپایلر فلگهای اصلاح شده هم توسط ABS پشتیبانی میشود. ابزار makepkg هم برای ایجاد بستههای pkg.tar.gz از سورسهای غیررسمی قابل استفاده است.
AUR
علاوه بر مخزنهای جامعه کاربری آرچ، AUR اسکریپتهای PKGBUILD ساخته شده توسط کاربران را برای بستههایی که در مخازن رسمی وجود ندارند فراهم میکند. اسکریپتهای PKGBUILD نصب از سورس را با لیست کردن و چک کردن وابستگیها و تنظیم سازگاری با معماری سیستم آسانتر میکند. برنامههای راهنمای AUR هم میتواند روند دانلود و نصب بستهها را باز هم آسانتر کند. با وجود این اینگونه ابزارها که اسکریپتهای PKGBUILD را جستجو، دانلود و اجرا میکنند به دلیل خطرات احتمالی امنیتی هیچگاه در مخازن رسمی قرار نمیگیرند. AUR بستههایی را برای کاربران فراهم میکند که به دلایل زیر در مخازن رسمی وجود ندارند.
- مشکل مجوزها. نرمافزارهای که رایگان هستند اما نمیتوان آنها را بازتوزیع کرد، میتوانند در AUR قرار گیرند. به صورتی که تنها چیزی که در وبسایت آرچ لینوکس میزبانی میشود یک شل اسکریپت است که نرمافزار اصلی را از جای دیگری دانلود میکند. نمونههایی از این نرمافزارهای انحصاری رایگان، google earth و RealPlayer هستند.
- بستههای رسمی بهینه شده. AUR همچنین شامل بسیاری از نسخههای ناپایدار مثل نسخهای بتا از نرمافزارهایی است که نسخه پایدار آنها در مخازن رسمی وجود دارد.
کاربران میتوانند برای هر نرمافزاری PKGBUILD ایجاد کنند و هر PKGBUILD که به دلیل مجوزها به AUR محدود نمیشوند میتوانند با رای کاربران به مخزن جامعه کاربری راه یابند.
نسخهها
انتشارهای غلطان
همانند جنتو، و برخلاف بقیهٔ توزیعهای عمده همانند دبیان، فدورا، اوبونتو و بقیه، آرچ لینوکس برای تاریخ انتشارش زمان بندی خاصی را مشخص نمیکند و در عوض از سیستم انتشار غلطان استفاده میکند، همراه با بستههای جدیدی که به طور روزانه فراهم میشود. سیستم مدیریت بستهبندیاش به کاربران اجازه میدهد تا به راحتی سیستمشان را به روز نگه دارند.[۶] نسبت به آنکه کاربران را تشویق به حرکت بین انتشارهای جدا از هم بکند، انتشارهای آرچ لینوکس به سادگی فقط یک تصویر لحظهای از مجموعه بستههای کنونی آن است، و گاهی اوقات همراه با نرمافزاهای نصبی مورد تجدید نظر قرار گرفته شده. بنابراین هیچ فرقی نمیکند که از کدام انتشار، آرچ نصب شود اگر به روز رسانیهای بعد از آن، نصب شود. در نتیجه آرچ هرگز نیازی به نصب مجدد برای به روز رسانیها یا داشتن ویژگیهای جدید، ندارد.
از ورژن ۲۰۰۹٫۰۲ هدف فراهم آوردن انتشارهای هماهنگ شدهای است که ریتم انتشارهای هسته را دنبال کند، برای فراهم کردن پشتیبانی سختافزاری بهینه، این یعنی در هر ۳ یا چهار ماه یک انتشار داشته باشیم. برای آن دسته از کامپیوترهای رومیزی و لپ تاپ که پردازشگر سازگار با ۶۴-بیت دارند مثل:AMD۶۴/x۸۶-۶۴؛ توصیه میشود تا از نسخهای از آرچ لینوکس استفاده کنند که برای سیستمهای ۶۴-بیت کامپایل شده است.
اخرین نسخه ارچ ۲۰۰۹٫۰۸ است که در اگوست ۲۰۰۹ منتشر شده است.
تاریخچه انتشارها
رنگ | معنا |
---|---|
زرد | نسخه قدیمی |
سبز | نسخه فعلی |
ابی | نسخه اینده |
نسخه | نام رمز | روز | یاد داشتها |
---|---|---|---|
۰.۱ | Homer | ۲۰۰۲-۰۳-۱۱ | اولین نسخه ساخته شده از مبنا. |
۰.۲ | Vega | ۲۰۰۲-۰۴-۱۷ | |
۰.۳ | Firefly | ۲۰۰۲-۰۸-۰۷ | |
۰.۴ | Dragon | ۲۰۰۲-۱۲-۱۸ | |
۰.۵[۷] | Nova | ۲۰۰۳-۰۷-۲۱ | پشتیبانی از PAM, LVM, GRUB. |
۰.۶[۸] | Widget | ۲۰۰۴-۰۳-۰۱ | پشتیبانی از JFS و اضافه شدن XFS. |
۰.۷[۹] | Wombat | ۲۰۰۵-۰۱-۲۴ | |
۰.۸[۱۰] | Voodoo | ۲۰۰۷-۰۳-۳۱ | |
۲۰۰۷.۰۵[۱۱] | Duke | ۲۰۰۷-۰۵-۱۷ | Pacman v۳ |
۲۰۰۷.۰۸[۱۲] | Don’t Panic | ۲۰۰۷-۰۸-۰۵ | |
۲۰۰۸.۰۶[۱۳] | Overlord | ۲۰۰۸-۰۶-۲۴ | ارائه ایمیج برای USB. |
۲۰۰۹.۰۲[۱۴] | ۲۰۰۹.۰۲ | ۲۰۰۹-۰۲-۱۶ | قرار دادن AIF ( ابزار نصب ارچ لینوکس ). |
۲۰۰۹.۰۸[۱۵] | ۲۰۰۹.۰۸ | ۲۰۰۹-۰۸-۱۰ | Pacman ۳.۳، استفاده از نصاب AIF جدید، بهینه سازی شناسایی سختافزار زمان بوت شدن، بهتر شدن تنظیمات روز و زمان، طراحی دوباره روند نصب گراب.[۱۶] |
۲۰۱۰.۰۵[۲] | ۲۰۱۰.۰۵ | ۲۰۱۰-۰۵-۱۷ | اولین انتشار با پشتیبانی از isohybrid، ارائهی نسخهی dual (۳۲بیتی و ۶۴ بیتی)، استفاده از isolinux و پشتیبانی از pxe |