آرچ لینوکس

تاریخچه

جاد وینت (Judd Vinet) توسعهٔ آرچ‌ لینوکس را با الهام گرفتن از CRUX، یک توزیع ساده‌گرای دیگر در مارس ۲۰۰۲ شروع کرد. اولین نسخه ی رسمی آرچ لینوکس 0.1 در یازدهم مارس ۲۰۰۲ منتشر شد. آرچ از Slackware, BSD, PLD Linux, و CRUX الهام گرفته بود اما در آن زمان مثل همه‌ی آنها از نبود برنامه‌ی مدیر بسته رنج می‌برد. Vinet توزیع خودش را بر همان اصول توزیع‌های ذکر شده ساخت. اما او همچنین برنامه ی مدیریت بسته‌ی pacman را هم نوشت تا به صورت خودکار نصب، حذف و به روز رسانی بسته‌ها را کنترل کند. 
وینت رهبری پروژه را تا اول اکتبر ۲۰۰۷ بر عهده داشت، و زمانی که او دیگر وقت کافی برای این کار نداشت، کنترل و مدیریت پروژه را به اِیرون گریفین (Aaron Griffin) منتقل کرد.

طراحی و اصول

آرچ بطور گسترده‌ای برپایهٔ بسته‌های دودویی است. بسته‌های دودویی در این توزیع با هدف معماری‌های x86-64 ساخته می‌شوند، تا سیستم مدرن بهینه‌ای را بسازند. یک سیستم اتوماتیک برای کامپایل و ساخت بسته‌ها برای معماری‌های دیگر وجود دارد، که به نام ABS یا (Arch Build System) شناخته می‌شود.

سادگی

تمرکز آرچ بر روی سادگی و اقتصادی بودن سیستم برای توسعه‌دهنده‌ها است و تمرکز بر روی ساخت یک محیط سر راست و نسبتاً آسان برای درک مستقیم کاربر است، تا به جای ارائه ابزارهای مدیریت گرافیکی با سبک اشاره و کلیک. برای مثال مدیر بستهٔ آرچ (pacman) هیچگونه واسط گرافیکی رسمی‌ای ندارد؛ ولی توجه بیشتر روی ساختن و آماده کردن فایل‌های تنظیمات تمیز با حاشیه‌نویسی خوب که مرتب شده‌اند برای دسترسی سریع و ویرایش و همین‌طور استفادهٔ بهینه از خط فرمان است. این مسئله باعث شد که آرچ به عنوان یک توزیع برای «کاربران متوسط و حرفه‌ای که از کار با خط فرمان نمی‌ترسند» معروف گردد.
"اعتماد کردن به ابزارهای پیچیدهٔ مدیریت و ساختن سیستم، باعث صدمه زدن به کاربر نهایی می‌گردد. [...] «اگر شما برای مخفی کردن پیچیدگی سیستم تلاش کنید، به یک سیستم پیچیده‌تر خواهید رسید.» لایه‌های انتزاعی که باعث مخفی کردن داخل می‌گردند، هیچگاه چیز خوبی نبوده‌اند. در مقابل، مسائل داخلی باید به نحوی طراحی گردند که به هیچ‌گونه مخفی‌سازی نیاز نباشد."
— ایرون گریفن
آرچ لینوکس سادگی را با نداشتن اضافات یا تغییرات غیر ضروری تعریف می‌کند. برنامه‌ها را به محض انتشار توسط توسعه‌دهنده، با تغییراتی جزئی مربوط به توزیع (آرچ) ارائه می‌دهد. از پچ‌های رد شده توسط توسعه دهنده‌های نخست (upstream) اجتناب به عمل خواهد آمد، همچنین پچ‌های downstream آرچ تقریبا درکل از مراحل رفع باگ‌ها برگشته که توسط انتشار بعدی پروژه منسوخ شده‌اند، تشکیل می‌شوند.
در یک حالت مشابه، آرچ فایل‌های پیکربندی ارائه شده توسط upstream با تغییرات محدود به مسائل توزیع مانند تنظیم کردن مسیر فایل‌های سیستمی را ارائه می دهد. امکانات اتوماتیک مانند فعال کردن یک سرویس را صرفاً چون بسته مربوطه نصب شده، اضافه نمی‌کند. بسته‌ها جدا نمی‌شوند مگر اینکه مزایایی این مساله را اجبار کند. رابطی گرافیکی به صورت رسمی فراهم نشده، تا کاربران شخصی سازی سیستم را از پوسته (شل) و یک ویرایشگر ساده‌ی متن آغاز کنند.

مدرنیته

آرچ لینوکس سعی بر این دارد تا آخرین نسخه‌ی پایدار برنامه‌هایش را به شرط اینکه از خرابی سیستم جلوگیری کند نگه‌داری کند. آرچ از انتشار غلطان بهره می برد به این معنی که یک بار نصب و به صورت متوالی به روز کردن سیستم را به دنبال دارد.
آرچ شامل بسیاری از امکانات جدید گنو/لینوکس است مانند: systemd , modern file system , LVM2 , software RAID , udev support , initcpio همچنان که از آخرین کرنل موجود نیز استفاده می کند.

مرکزیت کاربر

در حالی که اغلب توزیع های گنو/لینوکس تلاش بر این دارند که کاربر پسند باشند، آرچ لینوکس همیشه کاربر محور بوده و خواهد ماند. توزیع آرچ برای برآورده کردن نیاز های کسانی ساخته شده که به آن کمک می کنند، نه صرفاً برای جذب بیشترین کاربر ممکن. آرچ برای کاربر های ماهر گنو/لینوکس یا هرکسی که علاقه دارد مستندات را مطالعه کرده و خودش مشکلاتش را حل کند، ساخته شده است.
تمام کاربران می توانند مشارکت و همکاری داشته باشند. یافتن باگ ها و گزارش کردن آنها و تلاش برای رفع آنها بسیار با ارزش است و پچ هایی که باعث بهبود پکیج ها یا پروژه های core شود، بسیار مورد استقبال قرار می گیرد: توسعه دهنده های آرچ داوطلبان هستند و مشارکت کننده های فعال اغلب به همان تیم ها ملحق می شوند. آرچر ها می توانند آزادانه پکیج ها را در AUR به اشتراک بگذارند، مستندات آرچ ویکی را بهبود بخشند، به دیگران در مسائل فنی کمک کنند یا فقط در انجمن ها، mailing lists, IRC channels, ایده ها را به اشتراک بگذارند. آرچ لینوکس سیستم عامل مطلوب بسیاری از مردم جهان است و بسیاری انجمن بین المللی وجود دارد که از آنها به زبان های مختلف می توان کمک گرفت و یا مستندات آرچ را خواند.

تطبیق پذیری

آرچ لینوکس یک توزیع همه منظوره است. بعد فرایند نصب تنها یک خط فرمان موجود است: بر خلاف فراهم کردن بسیاری پکیج غیر ضروری کاربر آرچ می تواند بر حسب نیاز خود از هزاران پکیج با کیفیت (فراهم شده برای معماری x86-64) موجود در مخازن رسمی، یک سیستم کاملا شخصی سازی شده را بسازد.
آرچ از pacman بهره می برد. پکمن یک مدیر پکیج سبک، ساده و سریع است که به کمک آن میتوان کل سیستم را با یک دستور به روز کرد. آرچ همچنین از سامانه ساخت آرچ (ABS)بهره می برد، یک سیستم پورت مانند که ساختن و نصب پکیج ها را از کد منبع آسان میسازد، که می توان تمام این پروسه را نیز با یک فرمان انجام داد. همچنین Arch User Repository (مخزن کاربران آرچ) هزاران اسکریپت PKGBUILD دیگر را که جامعه ی آرچ به اشتراک گذاشته اند داراست، که به کمک آن می توان با دستور makepkg برنامه ها را از source کامپایل و نصب کرد. همچنین کاربران می توانند مخازن شخصی خود را نیز به سادگی ساخته و نگه داری کنند.

چارچوب راه‌اندازی

آرچ از یک چارچوب راه‌اندازی شبیه به بی‌اس‌دی استفاده می‌کند، که باعث از کاهش انعطاف‌پذیری به بهای سادگی می‌باشد. همچنین از سطوح اجرایی سیستم وی و فایل inittab استفاده می‌کند و امکان استفاده از آن را مهیا می‌سازد؛ ولی فرقٰهایی بین سطوح اجرایی می‌گذارد. این از این حقیقت که ماژول‌ها و سرویس‌ها در زمان راه‌اندازی بطور خیلی ساده در یک آرایه در فایل تنظیمات مرکزی مشخص می‌گردند (/etc/rc.conf) ناشی می‌شود. در طرف مقابل سیستم وی برای هر سطح اجرایی یک پوشه دارد که شامل پیوندهای شماره‌گذاری شده‌ای برای هر سرویس است. همچنین امکان اجرای پردازه‌ها بطور غیرهمزمان نیز وجود دارد، که هیچ‌کدام از سیستم اصلی بی‌اس‌دی یا سیستم وی دارای این امکان نمی‌باشند.

نصب

وب‌سایت آرچ‌لینوکس هم فایل ISO برای CD و هم فایل IMG برای فلش مموری‌ها را در اختیار کاربران قرار می‌دهد. به دلیل التزام آرچ به قاعده KISS مبنی بر کوچک و ساده‌سازی، نصاب آرچ تنها یک شل اسکریپت ساده است که از یک پوسته گرافیکی برای تعامل با کاربر در هنگام نصب (در مدت زمان حدود ۱۰ تا ۱۵ دقیقه) بهره می‌برد. نصب به صورت پیش‌فرض تنها یک محیط پایهٔ لینوکس را فراهم می‌کند که شامل GNU toolchain، هستهٔ لینوکس، چند ماژول اضافی و کتابخانه‌ها، و محیط شل است. شخصی‌سازی و گسترش سیستم (اضافه کردن نرم‌افزارهایی مثل سرور نمایش X، مدیر پنجره، میز کار و غیره) باید به صورت دستی و از طریق نصب بسته‌های دانلود شده از مخازن آنلاین صورت گیرد.

Pacman

همه بسته‌ها از طریق مدیر بسته Pacman مدیریت می‌شوند. Pacman نصب بسته‌ها، به‌روزرسانی، حذف یا بازگردانی بسته‌ها را انجام می‌دهد و توانایی تشخیص خودکار وابستگی‌ها را نیز دارد. بسته‌های آرچ لینوکس از مخازن بسته‌های آرچ تأمین و برای معماری x86-64 بهینه‌سازی شده‌اند. آرچ لینوکس برای رسیدن به سرعت بالا در نصب نرم‌افزارها بر اساس بسته‌های با فرمت tar.gz طراحی شده‌است.

ABS

برنامه‌ای مشابه Ports است که قادر به کامپایل کردن سورس‌ها به بسته‌های باینری قابل نصب توسط Pacman است. ABS یک شاخه از شل اسکریپت‌ها به نام PKGBUILD فراهم می‌کند که می‌تواند تمام بسته‌های رسمی آرچ را تغییر دهد و کامپایل کند. بازسازی کل سیستم با استفاده از کامپایلر فلگ‌های اصلاح شده هم توسط ABS پشتیبانی می‌شود. ابزار makepkg هم برای ایجاد بسته‌های pkg.tar.gz از سورس‌های غیررسمی قابل استفاده است.

انتشارهای غلطان

همانند جنتو، و برخلاف بقیهٔ توزیع‌های عمده همانند دبیان، فدورا و بقیه، آرچ لینوکس برای تاریخ انتشارش زمان‌بندی خاصی را مشخص نمی‌کند و در عوض از سیستم انتشار غلطان استفاده می‌کند، همراه با بسته‌های جدیدی که به‌طور روزانه فراهم می‌شود. سیستم مدیریت بسته‌بندی‌اش به کاربران اجازه می‌دهد تا به راحتی سیستمشان را به روز نگه دارند. نسبت به آنکه کاربران را تشویق به حرکت بین انتشارهای جدا از هم بکند، انتشارهای آرچ لینوکس به سادگی فقط یک تصویر لحظه‌ای از مجموعه بسته‌های کنونی آن است، و گاهی اوقات همراه با نرم‌افزارهای نصبی مورد تجدید نظر قرار گرفته شده؛ بنابراین هیچ فرقی نمی‌کند که از کدام انتشار، آرچ نصب شود اگر به روز رسانی‌های بعد از آن، نصب شود. در نتیجه آرچ هرگز نیازی به نصب مجدد برای به روز رسانی‌ها یا داشتن ویژگی‌های جدید، ندارد.
از ورژن ۲۰۰۹٫۰۲ هدف فراهم آوردن انتشارهای هماهنگ شده‌ای است که ریتم انتشارهای هسته را دنبال کند، برای فراهم کردن پشتیبانی سخت‌افزاری بهینه، این یعنی در هر ۳ یا چهار ماه یک انتشار داشته باشیم. برای آن دسته از کامپیوترهای رومیزی و لپ‌تاپ که پردازشگر سازگار با ۶۴-بیت دارند مثل:AMD64/x۸۶–۶۴؛ توصیه می‌شود تا از نسخه‌ای از آرچ لینوکس استفاده کنند که برای سیستم‌های ۶۴-بیت کامپایل شده‌است.