آرچ لینوکس

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از آرچ‌لینوکس)
آرچ لینوکس
توسعه‌دهندهاِیرون گریفین (Aaron Griffin) و دیگران[۱]
خانوادهلینوکس (شبه یونیکس)
وضعیت توسعهفعال
مدل منبعنرم‌افزار آزاد و متن‌باز
مخزن
روش روزآمدسازیپَک‌من
مدیر بستهپَک‌من
گونه هستهیکپارچه (هسته لینوکس)
پروانهنرم‌افزار آزاد (GNU GPL و پروانه‌های دیگر)
وبگاه رسمی
وضعیت پشتیبانی
فعال

آرچ لینوکس یا آرچ (به انگلیسی: Arch Linux) یک توزیع لینوکس برای کامپیوترهایی با معماری x86-64 است.

آرچ به اصل سادگی پایبند است و بر روی ساده‌گرایی، مدرنیته، عمل گرایی، مرکزیت کاربر و همه‌کاره بودن متمرکز شده‌است. در عمل، این بدان معنی است که این پروژه تلاش می‌کند حداقل تغییرات خاص توزیع، و در نتیجه کمترین شکست با به روزرسانی‌ها را داشته باشد و نسبت به انتخاب‌های طراحی ایدئولوژیک عملگرا باشد و بر مرکزیت کاربر تمرکز کند به جای کاربر پسند بودن.

از Pacman برای نصب، حذف و به روزرسانی بسته‌های نرم‌افزاری، از یک مدیر بسته که به‌طور خاص برای آرچ استفاده شده‌است، استفاده می‌شود. آرچ از یک مدل انتشار غلتان استفاده می‌کند، به این معنی که «نسخه‌های عمده ای» از نسخه‌های کاملاً جدید سیستم وجود ندارد. به روزرسانی منظم سیستم این سیستم عامل را به آخرین نسخه ارتقا میدهد؛ فایل‌های نصبی هر ماه توسط تیم Arch به روزرسانی میشوند و به صورت snapshot در دسترس قرار میگیرند.

Arch Linux دارای مستندات جامعی است که متشکل از یک ویکی جامع است که به ArchWiki معروف است.

تاریخچه[ویرایش]

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

در ۲۴ فوریه سال ۲۰۲۰ ایرون گریفین مدیریت پروژه را به لِوِنت پولیاک (Levente Polyak) واگذار کرد.

در ژانویه ۲۰۱۷ آرچ پایان پشتیبانی از پلتفرم i686 را اعلام کرد و آخرین نسخه ISO با پشتیبانی از i686 در فوریه همان سال منتشر شد.[۲]

امنیت مخازن[ویرایش]

تا زمان انتشار پک‌من نسخه ۴٫۰٫۰ مدیریت بسته آرچ قابلیت پشتیبانی از بسته‌های امضا شده را نداشت. بسته‌ها و متادیتای آنها زمان دانلود و نصب تأیید نمی‌شد و این باعث می‌شد تا بسته‌های دستکاری شده یا میرورهای غیررسمی مخازن توانایی آلوده کردن سیستم را داشته باشند.[۳]

پک‌من نسخه ۴٫۰٫۰ قابلیت امضا کردن بسته‌ها را اضافه کرد اما به صورت پیش فرض خاموش بود. در نوامبر ۲۰۱۱ امضا شدن بسته‌ها توسط توسعه دهنده‌ها اجباری شد و از تاریخ ۲۱ مارس ۲۰۱۲ تمامی بسته‌ها امضا می‌شوند، از تاریخ ژون ۲۰۱۲ این امکان به صورت پیشفرض فعال شد.[۴]

طراحی و اصول[ویرایش]

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

سادگی[ویرایش]

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

"اعتماد کردن به ابزارهای پیچیدهٔ مدیریت و ساختن سیستم، باعث صدمه زدن به کاربر نهایی می‌گردد. [...] «اگر شما برای مخفی کردن پیچیدگی سیستم تلاش کنید، به یک سیستم پیچیده‌تر خواهید رسید.» لایه‌های انتزاعی که باعث مخفی کردن داخل می‌گردند، هیچگاه چیز خوبی نبوده‌اند. در مقابل، مسائل داخلی باید به نحوی طراحی گردند که به هیچ‌گونه مخفی‌سازی نیاز نباشد."

— ایرون گریفن[۶]

نصب[ویرایش]

وب‌سایت آرچ‌ لینوکس یک فایل ISO در اختیار کاربران قرار می‌دهد که می‌تواند برای اجرا از فلش درایو و CDیاDVD استفاده شود. پس از پارتیشن‌بندی و فرمت کردن درایو توسط کاربر یک اسکریپت ساده (pacstrap) قسمت اصلی سیستم را نصب می‌کند. نصب به صورت پیش‌فرض تنها یک محیط پایهٔ لینوکس را فراهم می‌کند. نصب برنامه‌های دیگر (مانند رابط گرافیکی کاربری) را می‌توان با استفاده از pacstrap یا پس از راه اندازی دوباره با استفاده از پک‌من انجام داد.

یک روش جایگزین برای استفاده از USB یا CD استفاده از نسخه استاتیک مدیر بسته پک‌من از درون یک سیستم عامل مبتنی بر لینوکس دیگر است.[۷]در این روش کاربر می‌تواند پس از mount کردن درایو فرمت شده با استفاده از pacstrap (یا پک‌من به همراه سوئیچ خط فرمان مناسب) قسمت اصلی سیستم عامل و بسته‌های جانبی مورد نیاز را در مسیر درایو جدید mount شده نصب کند. این روش برای زمانی مفید است که کاربر قصد نصب آرچ روی فلش درایو یا درایو mount شده متعلق به یک سیستم دیگر را دارد.

صرف نظر از نوع نصب، قبل از آماده شدن سیستم جدید برای استفاده، باید اقدامات بیشتری انجام شود، مهم‌ترین آنها با نصب بوت لودر، ایجاد initramfs و پیکربندی سیستم جدید است.[۸]

آرچ لینوکس بروزرسانی را برای تاریخ‌های خاص برنامه‌ریزی نمی‌کند بلکه از سیستم "Rolling Release" استفاده می‌کند به این صورت که بسته‌های جدیدی در طول روز ارائه می‌شوند و مدیر بسته پک‌من اجازه می‌دهد تا کاربران به راحتی سیستم را به روز کنند.[۹]

گاهی مداخلات دستی در سیستم به روزرسانی رخ می‌دهد که راهنمایی‌های لازم مربوط به آنها در قسمت news وبسایت آرچ قابل دسترس است.[۱۰]

اسکریپت نصب خودکار[ویرایش]

یک نصب‌کننده خودکار آزمایشی به نام archinstall در تمام ایمیج‌های منتشر شده از سال 2021 وجود دارد که به کاربران اجازه می‌دهد به راحتی آرچ لینوکس را به همراه نرم افزار‌های مورد نیاز از جمله درایورها، پارتیشن‌بندی دیسک، پیکربندی شبکه، راه‌اندازی حساب‌ها و نصب محیط‌های دسک‌تاپ نصب و پیکربندی کنند.[۱۱][۱۲]

مدیریت بسته[ویرایش]

تنها پلتفرم پشتیبانی شده آرچ x86_64 است. مخازن بسته رسمی و مخزن کاربران (AUR) شامل ۵۸۰۰۰ بسته باینری و سورس هستند که به ۶۸۰۰۰ بسته دبیان لینوکس نزدیک است. با این حال، رویکردهای دو توزیع در بسته‌بندی متفاوت است، و مقایسه مستقیم را دشوار می‌کند.

پک‌من(Pacman)[ویرایش]

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

مخازن[ویرایش]

در حال حاضر ۴ مخزن رسمی وجود دارد:

  • هسته (Core)، که شامل همهٔ بسته‌های مورد نیاز برای نصب سیستم پایه است.
  • اضافی (Extra)، که شامل بسته‌هایی است که برای نصب سیستم پایه ضروری نیستند، مثل میزکار و سایر برنامه‌ها.
  • جامعه کاربری (Community)، که مخصوص بسته‌های ساخته یا پیشنهاد شده توسط جامعه کاربری است و شامل بسته‌هایی است که رای کافی از طرف کاربران کسب کرده و از طرف یک کاربر مورد اطمینان تأیید شده‌اند.
  • چند کتابخانه‌ای (Multilib)، یک مخزن متمرکز برای کاربران x86_64 که برای آسانی بیشتر در حمایت از برنامه‌های کاربردی ۳۲ بیتی در محیط ۶۴ بیتی است.

علاوه بر این، همچنین مخازن آزمایشی‌ای موجودند که دارای بسته‌های آزمایشی نامزد برای دیگر مخازن هستند. در حال حاضر مخازن زیر وجود دارد:

  • آزمایشی (Testing)، یک مخزن خاص که شامل بسته‌هایی است که نامزد اضافه شدن به مخزن اضافی یا هسته هستند.
  • آزمایشی-جامعه کاربری (community-testing)، شامل بسته‌هایی است که نامزد اضافه شدن به مخزن جامعه کاربری است.
  • چند کتابخانه‌ای-تستی (multilib-testing)، شامل بسته‌هایی است که نامزد اضافه شدن به مخزن چند کتابخانه‌ای است.

مخزن ناپایدار (Unstable) در ژوئیه ۲۰۰۸ کنار گذاشته شده و بیشتر بسته‌های آن به مخازن دیگر منتقل شدند. علاوه بر مخازن رسمی، تعدادی مخازن غیررسمی کاربران (AUR) هم وجود دارند.

Arch Build System (ABS)[ویرایش]

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

Arch User Repository (AUR)[ویرایش]

علاوه بر مخزن‌های رسمی آرچ، AUR اسکریپت‌های PKGBUILD ساخته شده توسط کاربران را برای بسته‌هایی که در مخازن رسمی وجود ندارند را فراهم می‌کند. این اسکریپت‌های PKGBUILD نصب از سورس را با چک کردن وابستگی‌ها و لیست کردن آنها و تنظیم سازگاری با معماری سیستم آسانتر می‌کنند.[۱۵] برنامه‌های راهنمای AUR هم می‌تواند روند دانلود و نصب بسته‌ها را باز هم آسانتر کند. با وجود این این‌گونه ابزارها به دلیل خطرات احتمالی امنیتی هیچ‌گاه در مخازن رسمی قرار نمی‌گیرند. به همین دلیل توسعه دهندگان آرچ هیچگاه اینگونه ابزار را در مخزن اصلی قرار نمی‌دهند.

AUR بسته‌هایی را برای کاربران فراهم می‌کند که به دلایل زیر در مخازن رسمی وجود ندارند.

  • مشکل مجوزها. نرم‌افزارهای که رایگان هستند اما نمی‌توان آن‌ها را بازتوزیع کرد، می‌توانند در AUR قرار گیرند. به صورتی که تنها چیزی که در وب‌سایت آرچ لینوکس میزبانی می‌شود یک شل اسکریپت است که نرم‌افزار اصلی را از جای دیگری دانلود می‌کند. نمونه‌هایی از این نرم‌افزارهای انحصاری رایگان، google earth و RealPlayer هستند.
  • بسته‌های رسمی بهینه شده. AUR همچنین شامل بسیاری از نسخه‌های ناپایدار مثل نسخه‌ای بتا از نرم‌افزارهایی است که نسخه پایدار آن‌ها در مخازن رسمی وجود دارد.

کاربران می‌توانند برای هر نرم‌افزاری PKGBUILD ایجاد کنند و هر PKGBUILD که به دلیل مجوزها به AUR محدود نمی‌شوند می‌توانند با رای کاربران به مخزن جامعه کاربری راه یابند.

نسخه‌ها[ویرایش]

انتشارهای غلتان[ویرایش]

همانند جنتو، و برخلاف بقیهٔ توزیع‌های عمده همانند دبیان، فدورا و بقیه، آرچ لینوکس برای تاریخ انتشارش زمان‌بندی خاصی را مشخص نمی‌کند و در عوض از سیستم انتشار غلتان استفاده می‌کند، همراه با بسته‌های جدیدی که به‌طور روزانه فراهم می‌شود. سیستم مدیریت بسته‌بندی‌اش به کاربران اجازه می‌دهد تا به راحتی سیستمشان را به روز نگه دارند.[۱۶] نسبت به آنکه کاربران را تشویق به حرکت بین انتشارهای جدا از هم بکند، انتشارهای آرچ لینوکس به سادگی فقط یک تصویر لحظه‌ای از مجموعه بسته‌های کنونی آن است، و گاهی همراه با نرم‌افزارهای نصبی مورد تجدید نظر قرار گرفته شده؛ بنابراین هیچ فرقی نمی‌کند که از کدام انتشار، آرچ نصب شود اگر به روز رسانی‌های بعد از آن، نصب شود. در نتیجه آرچ هرگز نیازی به نصب مجدد برای به روز رسانی‌ها یا داشتن ویژگی‌های جدید، ندارد.

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

تاریخچه انتشارها[ویرایش]

رنگ معنا
زرد نسخه قدیمی
سبز نسخه فعلی
ابی نسخه آینده
نسخه نام رمز روز یادداشتها
۰٫۵[۱۷] Nova ۲۰۰۳-۰۷-۲۱ پشتیبانی از PAM, LVM, GRUB.
۰٫۶[۱۸] Widget ۲۰۰۴-۰۳-۰۱ پشتیبانی از JFS و اضافه شدن XFS.
۰٫۷[۱۹] Wombat ۲۰۰۵-۰۱-۲۴
۰٫۸[۲۰] Voodoo ۲۰۰۷-۰۳-۳۱
۲۰۰۷٫۰۵[۲۱] Duke ۲۰۰۷-۰۵-۱۷ Pacman
۲۰۰۷٫۰۸[۲۲] Don't Panic ۲۰۰۷-۰۸-۰۵
۲۰۰۸٫۰۶[۲۳] Overlord ۲۰۰۸-۰۶-۲۴ ارائه ایمیج برای USB.
۲۰۰۹٫۰۲[۲۴] ۲۰۰۹-۰۲-۱۶ قرار دادن AIF (ابزار نصب آرچ لینوکس).
۲۰۰۹٫۰۸[۲۵] ۲۰۰۹٫۰۸ ۲۰۰۹-۰۸-۱۰ Pacman ۳٫۳، استفاده از نصاب AIF جدید، بهینه‌سازی شناسایی سخت‌افزار زمان بوت شدن، بهتر شدن تنظیمات روز و زمان، طراحی دوباره روند نصب گراب.[۲۶]
۲۰۱۰٫۰۵[۲۷] ۲۰۱۰٫۰۵ ۲۰۱۰-۰۵-۱۷ اولین انتشار با پشتیبانی از isohybrid، ارائهٔ نسخهٔ dual (۳۲بیتی و ۶۴ بیتی)، استفاده از isolinux و پشتیبانی از pxe
۲۰۱۱٫۰۸٫۱۹[۲۸] ۲۰۱۱-۰۸-۱۹ لینوکس ۳٫۰٫۳، پشتیبانی syslinux از بوت لودر، پشتیبانی آزمایشی از btrfs و nilfs۲
۲۰۱۲٫۰۷٫۱۵[۲۹] ۲۰۱۲٫۰۷٫۲۲ حذف نصاب AIF و جایگزینی با اسکریپت نصب ساده، فقط رسانهٔ نصب netinstall در دسترس است، حذف مخزن هسته از رسانهٔ نصب.
۲۰۱۲٫۰۸٫۰۴[۳۰] ۲۰۱۲-۰۸-۰۴ Grub 2.0 به جای ورژن ۰٫۹ در دسترس است.
۲۰۱۲٫۰۹٫۰۷[۳۱] ۲۰۱۲٫۰۹ ۲۰۱۲-۰۹-۰۷ لینوکس ۳٫۵ (۳٫۵٫۳)، جدیدترین نسخه از systemd, initscripts و netcfg.

جستارهای وابسته[ویرایش]

توزیع‌های مشهور مبتنی بر آرچ:

منابع[ویرایش]

  1. Aaron Griffin. «Lead Developer at ArchLinux».
  2. Bartłomiej Piotrowski (8 November 2017). "https://www.archlinux.org/news/the-end-of-i686-support/". Arch Linux (به انگلیسی). {{cite web}}: External link in |عنوان= (help)
  3. cs.arizona.edu (5 September 2010). "Attacks on Package Managers". https://web.archive.org/web/20100905075018/https://www.cs.arizona.edu/stork/packagemanagersecurity/attacks-on-package-managers.html (به انگلیسی). Archived from the original on 5 September 2010. Retrieved 11 March 2020. {{cite web}}: External link in |وبگاه= (help)نگهداری یادکرد:ربات:وضعیت نامعلوم پیوند اصلی (link)
  4. Gaetan Bisson (4 June 2012). "Having pacman verify packages". Arch Linux (به انگلیسی).
  5. «PolishLinux.org Wiki: Archlinux». بایگانی‌شده از اصلی در ۲ آوریل ۲۰۱۴. دریافت‌شده در ۲۶ مه ۲۰۰۹.
  6. Aaron Griffin (2007-11-09). "Archway". phraktured.net. Archived from the original on 2015-02-06. Retrieved 2012-01-22.
  7. "Install From Existing Linux". ArchWiki (به انگلیسی). 21 November 2009.
  8. "Installation guide - ArchWiki". wiki.archlinux.org (به انگلیسی). 2019-09-13.
  9. "Arch Linux Review" (به انگلیسی). 13 September 2017.
  10. «News». ۱۵ اوت ۲۰۱۸.
  11. https://wiki.archlinux.org/index.php/Archinstall
  12. https://9to5linux.com/latest-arch-linux-iso-release-comes-with-the-archinstall-cli-guided-installer
  13. https://wiki.archlinux.org/index.php/Pacman
  14. "Makepkg" (به انگلیسی). 15 February 2013.
  15. "AUR (en) - Home" (به انگلیسی). 5 February 2014.
  16. «DVD-Guides.com - Arch Linux Review». بایگانی‌شده از اصلی در ۸ فوریه ۲۰۱۳. دریافت‌شده در ۲۶ مه ۲۰۰۹.
  17. Judd Vinet (2003-07-21) Arch Linux 0.5 Released.
  18. Judd Vinet (2004-03-01) Arch Linux 0.6 Released.
  19. Judd Vinet (2005-01-24) Arch Linux 0.7 (Wombat) Released!
  20. Tobias Powalowski (2007-03-31) 0.8 Voodoo ISOs finally released!
  21. Tobias Powalowski (2007-05-17) 2007.05 Duke ISOs released.
  22. Tobias Powalowski (2007-08-05) 2007.08 Don't Panic ISOs released.
  23. Simo Leone (2008-06-24) 2008.06 Overlord ISOs released.
  24. Aaron Griffin (2009-02-16) 2009.02 ISO Release.
  25. Dieter Plaetinck (2009-08-10) 2009.08 images.
  26. «News - 2009.08». Arch Linux. دریافت‌شده در ۲۰۰۹-۱۰-۱۹.
  27. Dieter Plaetinck. «010.05 snapshots. Less is more». Archlinux. دریافت‌شده در ۲۰۱۰-۰۵-۱۷.
  28. Dieter Plaetinck. «010.05 snapshots. Less is more». Archlinux. دریافت‌شده در ۲۰۱۰-۰۵-۱۷.
  29. Dieter Plaetinck (2010-05-17) snapshots. Less is more..
  30. Pierre Schmitz (2012-08-04) Install media 2012.08.04 available
  31. Dieter Plaetinck. Archlinux https://www.archlinux.org/news/new-install-medium-20120907/ پیوند |نشانی= عنوان ندارد (کمک). دریافت‌شده در ۲۰۱۲-۰۹-۰۷.

پیوند به بیرون[ویرایش]