راهنمای آلپاین لینوکس

آلپاین چیست؟

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

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

مقدمه‌ای بر آلپاین لینوکس

آلپاین لینوکس یک توزیع مستقل لینوکس است که با هدف ارائه سیستمی سبک، امن و انعطاف‌پذیر طراحی شده است. این توزیع به دلیل استفاده از معماری میکروکرنل و بهینه‌سازی‌های خاص خود، برای محیط‌های مختلف از جمله سرورها، کانتینرها (مانند Docker) و دستگاه‌های جاسازی‌شده مناسب است. آلپاین به دلیل مصرف کم منابع سیستمی، گزینه‌ای ایده‌آل برای کاربرانی است که به دنبال سیستمی سریع و کارآمد هستند.

یکی از ویژگی‌های برجسته آلپاین، مینیمالیسم آن است. این توزیع به‌گونه‌ای طراحی شده که تنها ابزارها و بسته‌های ضروری را شامل شود، اما در عین حال امکان گسترش و اضافه کردن نرم‌افزارهای مورد نیاز را نیز فراهم می‌کند. این ویژگی باعث شده است که آلپاین به یکی از محبوب‌ترین توزیع‌های لینوکس برای توسعه‌دهندگان و مدیران سیستم تبدیل شود.

ویژگی‌های کلیدی آلپاین لینوکس

  • سبکی: آلپاین لینوکس یکی از سبک‌ترین توزیع‌های لینوکس موجود است. این توزیع با استفاده از سیستم فایل فشرده‌شده و بسته‌های بهینه‌سازی‌شده، مصرف منابع سیستمی را به حداقل می‌رساند. این ویژگی به‌ویژه برای سرورهای با منابع محدود یا محیط‌های کانتینری بسیار مفید است.
  • امنیت: امنیت یکی از اولویت‌های اصلی آلپاین است. این توزیع از بسته‌های منبع باز و بررسی‌شده استفاده می‌کند و با بهره‌گیری از سیستم مدیریت بسته پیشرفته (APK)، آسیب‌پذیری‌های امنیتی را به حداقل می‌رساند. همچنین، قابلیت‌هایی مانند اجرای برنامه‌ها در محیط‌های ایزوله‌شده، امنیت سیستم را تقویت می‌کند.
  • کارایی بالا: آلپاین از هسته لینوکس بهینه‌شده استفاده می‌کند که عملکرد سریع و قابل اعتمادی را ارائه می‌دهد. این توزیع برای محیط‌هایی که نیاز به پاسخگویی سریع و مصرف کم انرژی دارند، ایده‌آل است.
  • پشتیبانی از معماری‌های مختلف: آلپاین از طیف گسترده‌ای از معماری‌های سخت‌افزاری مانند x86، x86_64، ARM، MIPS و PowerPC پشتیبانی می‌کند، که آن را برای استفاده در دستگاه‌های مختلف از سرورهای ابری تا دستگاه‌های IoT مناسب می‌سازد.

نصب آلپاین لینوکس

نصب آلپاین لینوکس فرآیندی ساده و مستقیم است که از طریق محیط کنسول انجام می‌شود. این فرآیند شامل مراحل زیر است:

  1. دانلود تصویر ISO: ابتدا تصویر ISO آلپاین را از وب‌سایت رسمی پروژه دانلود کنید. نسخه‌های مختلفی برای معماری‌های مختلف سخت‌افزاری موجود است.
  2. ایجاد رسانه قابل بوت: تصویر ISO را روی یک USB یا دیسک نوری رایت کنید تا یک رسانه قابل بوت ایجاد شود.
  3. پارتیشن‌بندی دیسک: دیسک سخت خود را پارتیشن‌بندی کنید. می‌توانید از ابزارهایی مانند fdisk یا parted برای این کار استفاده کنید.
  4. فرمت کردن پارتیشن‌ها: پارتیشن‌ها را با سیستم فایل مناسب (مانند ext4 یا xfs) فرمت کنید.
  5. نصب سیستم پایه: با استفاده از ابزار setup-alpine، سیستم پایه را نصب کنید. این ابزار شما را در فرآیند پیکربندی اولیه راهنمایی می‌کند.
  6. پیکربندی سیستم: تنظیمات شبکه، کاربران و رمزهای عبور را پیکربندی کنید و بوت‌لودر (مانند GRUB) را نصب کنید.

پس از اتمام این مراحل، سیستم شما آماده استفاده خواهد بود. راهنمای نصب دقیق‌تر در مستندات رسمی آلپاین موجود است.

مدیریت بسته‌ها در آلپاین لینوکس

آلپاین لینوکس از سیستم مدیریت بسته‌ای به نام APK (Alpine Package Keeper) استفاده می‌کند که امکان نصب، به‌روزرسانی و حذف بسته‌ها را به‌سادگی فراهم می‌کند. بسته‌های آلپاین در سه دسته اصلی طبقه‌بندی می‌شوند:

  • Main: این دسته شامل بسته‌های اصلی و ضروری سیستم است که به‌طور کامل پشتیبانی و آزمایش شده‌اند.
  • Community: بسته‌های این دسته توسط جامعه توسعه‌دهندگان آلپاین ارائه می‌شوند و ممکن است سطح پشتیبانی کمتری داشته باشند.
  • Testing: این دسته شامل بسته‌های آزمایشی است که ممکن است هنوز در مرحله توسعه باشند و باگ‌هایی داشته باشند.

برای نصب یک بسته، می‌توانید از دستور apk add استفاده کنید. برای مثال:

apk add nginx

این دستور وب‌سرور Nginx را نصب می‌کند. برای به‌روزرسانی بسته‌ها، از apk update و apk upgrade استفاده کنید.

آرشیوهای بسته‌ها

آلپاین لینوکس بسته‌های خود را در آرشیوهای مختلفی ارائه می‌دهد:

  • آرشیو رسمی: شامل بسته‌های دسته‌های Main و Community است که از طریق مخازن رسمی آلپاین قابل دسترسی هستند.
  • آرشیوهای شخص ثالث: این آرشیوها شامل نرم‌افزارهای اضافی هستند که توسط توسعه‌دهندگان مستقل ارائه می‌شوند. برای استفاده از این آرشیوها، باید مخازن مربوطه را به فایل پیکربندی /etc/apk/repositories اضافه کنید.

نرم‌افزارهای شخص ثالث

اگرچه آلپاین لینوکس به‌صورت پیش‌فرض مینیمالیستی است، اما امکان نصب نرم‌افزارهای شخص ثالث از طریق آرشیوهای اضافی یا ابزارهایی مانند Docker و Flatpak وجود دارد. این ابزارها به کاربران اجازه می‌دهند نرم‌افزارهای پیچیده‌تری مانند مرورگرهای وب، ویرایشگرهای متن پیشرفته یا ابزارهای توسعه را نصب کنند.

تاریخچه آلپاین لینوکس

آلپاین لینوکس در سال ۱۹۹۲ به‌عنوان یک پروژه شخصی آغاز شد و در سال ۲۰۰۲ به‌صورت عمومی منتشر شد. از آن زمان، این توزیع به‌طور مداوم توسط جامعه‌ای از توسعه‌دهندگان داوطلب بهبود یافته است. امروزه آلپاین به دلیل استفاده گسترده در محیط‌های کانتینری (مانند Docker) و سرورهای ابری، به یکی از محبوب‌ترین توزیع‌های لینوکس تبدیل شده است.

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

چرا آلپاین لینوکس؟

آلپاین لینوکس به دلیل ترکیبی از سبکی، امنیت و انعطاف‌پذیری، انتخابی عالی برای کاربرانی است که به دنبال سیستمی کارآمد و قابل اعتماد هستند. چه بخواهید یک سرور ابری راه‌اندازی کنید، چه یک سیستم جاسازی‌شده برای دستگاه‌های IoT بسازید یا صرفاً به یک سیستم دسکتاپ سبک نیاز داشته باشید، آلپاین لینوکس ابزارها و قابلیت‌های لازم را در اختیارتان قرار می‌دهد.

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

ویژگی‌های کلیدی آلپاین لینوکس

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

حجم کم و سرعت بالا

بارزترین ویژگی آلپاین لینوکس، حجم بسیار کم آن است. تصویر پایه آلپاین معمولاً کمتر از ۵ مگابایت برای کانتینرها و حدود ۵۰ مگابایت برای نصب کامل است. این حجم کم به لطف استفاده از کتابخانه musl (یک کتابخانه C سبک)، ابزارهای BusyBox (مجموعه‌ای فشرده از ابزارهای یونیکس) و سیستم ابتکار OpenRC (یک سیستم سبک برای مدیریت سرویس‌ها) به‌دست آمده است. این طراحی مینیمال باعث می‌شود آلپاین در محیط‌هایی با حافظه و فضای ذخیره‌سازی محدود، مانند دستگاه‌های جاسازی‌شده یا کانتینرهای داکر، عملکرد بسیار سریعی داشته باشد.

سرعت بوت بالای آلپاین نیز یکی از نقاط قوت آن است. به دلیل عدم استفاده از سیستم‌های سنگین مانند systemd و استفاده از OpenRC، آلپاین می‌تواند در کسری از ثانیه راه‌اندازی شود. این ویژگی به‌ویژه در کانتینرها و ماشین‌های مجازی که نیاز به راه‌اندازی سریع دارند، اهمیت زیادی دارد. برای مثال، اجرای یک کانتینر داکر مبتنی بر آلپاین:

docker pull alpine
docker run -it alpine /bin/sh

اجرای از رم (Run-from-RAM)

یکی از قابلیت‌های برجسته آلپاین، امکان نصب به‌صورت اجرای از رم (Run-from-RAM) است. در این حالت، سیستم‌عامل به‌طور کامل در حافظه RAM بارگذاری می‌شود و نیازی به دسترسی مداوم به دیسک ندارد. این ویژگی مزایای متعددی دارد:

  • پایداری در محیط‌های جاسازی‌شده: در دستگاه‌های جاسازی‌شده مانند روترها، اجرای از رم خطر خرابی ناشی از مشکلات دیسک را کاهش می‌دهد.
  • تحمل خرابی‌های دیسک: در محیط‌های ابری عمومی که ممکن است دیسک‌ها به‌صورت موقت از دسترس خارج شوند، اجرای از رم به سیستم اجازه می‌دهد به کار خود ادامه دهد.
  • سرعت بالا: بارگذاری سیستم در RAM سرعت دسترسی به فایل‌ها و اجرای برنامه‌ها را افزایش می‌دهد.

در حالت اجرای از رم، آلپاین به‌طور پیش‌فرض تنها بسته‌های ضروری را بارگذاری می‌کند. برای ذخیره تغییرات پیکربندی، ابزار Alpine Local Backup یا LBU ارائه شده است. LBU تغییرات انجام‌شده در سیستم (مانند فایل‌های پیکربندی در دایرکتوری /etc) را در یک فایل APK overlay (معمولاً به‌صورت apkovl و با فرمت tar.gz) ذخیره می‌کند. این فایل امکان بازگرداندن تغییرات در بوت‌های بعدی را فراهم می‌کند. برای استفاده از LBU و ذخیره تغییرات:

lbu commit

این دستور تغییرات را در فایل apkovl ذخیره می‌کند. کاربران می‌توانند دایرکتوری‌های بیشتری را برای ردیابی تغییرات به LBU اضافه کنند، که این انعطاف‌پذیری را برای محیط‌های مختلف افزایش می‌دهد.

امنیت پیشرفته

آلپاین لینوکس با تمرکز بر امنیت طراحی شده است. تمام باینری‌های فضای کاربر (برنامه‌هایی که در فضای کاربر اجرا می‌شوند، مانند ابزارهای خط فرمان) به‌صورت اجرایی‌های مستقل از موقعیت (Position-Independent Executables یا PIE) کامپایل می‌شوند. این تکنیک باعث می‌شود کد برنامه در آدرس‌های حافظه تصادفی بارگذاری شود، که از حملات بهره‌برداری حافظه مانند سرریز بافر جلوگیری می‌کند.

علاوه بر این، آلپاین از محافظت در برابر سرریز پشته (stack-smashing protection یا buffer overflow protection) استفاده می‌کند. این ویژگی با افزودن بررسی‌های امنیتی به کد، از اجرای کدهای مخرب ناشی از سرریز بافر جلوگیری می‌کند. این تکنیک‌ها به کاهش سطح حمله و افزایش امنیت سیستم کمک می‌کنند.

برای افزایش امنیت، می‌توانید رمز عبور کاربر روت را تنظیم کنید:

passwd

همچنین، فعال‌سازی SSH با openssh برای دسترسی امن از راه دور توصیه می‌شود:

apk add openssh
rc-update add sshd
rc-service sshd start

اسکریپت‌های پیکربندی

آلپاین لینوکس مجموعه‌ای از اسکریپت‌های پیکربندی از پیش نصب‌شده ارائه می‌دهد که فرآیند راه‌اندازی سیستم را برای وظایف رایج ساده می‌کنند. این اسکریپت‌ها، مانند setup-alpine، setup-keymap، و setup-interfaces، کاربران را از طریق تنظیمات اولیه مانند چیدمان صفحه‌کلید، پیکربندی شبکه و نام میزبان هدایت می‌کنند. برای مثال، برای تنظیم چیدمان صفحه‌کلید:

setup-keymap us us

این اسکریپت‌ها به زبان شل یونیکس نوشته شده‌اند و از یک ابزار کوچک تجزیه تصویر ISO (نوشته‌شده به زبان C) استفاده می‌کنند. این رویکرد ساده و سبک با فلسفه مینیمال آلپاین همخوانی دارد.

Alpine Configuration Framework (ACF)

برای کاربرانی که با خط فرمان آشنایی کمتری دارند، آلپاین ابزار مبتنی بر وب به نام Alpine Configuration Framework (ACF) ارائه می‌دهد. ACF امکان پیکربندی سیستم از طریق یک رابط وب را فراهم می‌کند، مشابه ابزار debconf در توزیع دبیان. ACF به زبان Lua نوشته شده و به کاربران اجازه می‌دهد تنظیمات سیستم مانند شبکه، فایروال و سرویس‌ها را به‌صورت گرافیکی مدیریت کنند.

برای نصب و راه‌اندازی ACF:

apk add acf-core
rc-update add acf
rc-service acf start

پس از نصب، می‌توانید با باز کردن مرورگر و وارد کردن آدرس IP سیستم به رابط وب ACF دسترسی پیدا کنید. این ابزار به‌ویژه برای مدیران سیستمی که ترجیح می‌دهند از رابط‌های گرافیکی استفاده کنند، مفید است.

ادغام با محیط‌های توسعه‌دهندگان و مدیران

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

Alpine WSL در Microsoft Store

آلپاین لینوکس نسخه‌ای آماده برای استقرار در Windows Subsystem for Linux (WSL2) ارائه می‌دهد که از طریق Microsoft Store قابل دسترسی است. این نسخه به توسعه‌دهندگان ویندوزی امکان می‌دهد آلپاین را به‌عنوان یک محیط لینوکس سبک در کنار ویندوز اجرا کنند. برای نصب:

wsl –install -d Alpine

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

تصاویر رسمی داکر

داکر تصاویر رسمی آلپاین لینوکس را ارائه می‌دهد که به دلیل حجم کم و سرعت بالا، به‌عنوان یکی از محبوب‌ترین تصاویر پایه برای کانتینرها شناخته می‌شوند. برای استفاده:

docker pull alpine
docker run -it alpine /bin/sh

این تصاویر برای ساخت کانتینرهای سبک و کارآمد برای برنامه‌های وب، پایگاه‌های داده و سایر سرویس‌ها استفاده می‌شوند.

پشتیبانی از PowerShell

مایکروسافت پاورشل نسخه‌ای خاص برای آلپاین لینوکس ارائه می‌دهد که به مدیران سیستم امکان می‌دهد از اسکریپت‌های پاورشل در محیط آلپاین استفاده کنند. برای نصب پاورشل:

apk add powershell

این ادغام به‌ویژه برای مدیرانی که با محیط‌های ترکیبی (ویندوز و لینوکس) کار می‌کنند، مفید است.

کاربردهای آلپاین لینوکس

کانتینرها

آلپاین به دلیل حجم کم و سرعت بوت بالا، گزینه‌ای ایده‌آل برای کانتینرهای داکر و سایر فناوری‌های کانتینری است. تصاویر پایه آلپاین معمولاً کمتر از ۵ مگابایت هستند، که در مقایسه با تصاویر اوبونتو (حدود ۱۰۰ مگابایت) بسیار سبک‌تر است.

ماشین‌های مجازی

کرنل linux-virt برای ماشین‌های مجازی بهینه‌سازی شده و مصرف منابع را کاهش می‌دهد. برای نصب:

apk add linux-virt

دستگاه‌های جاسازی‌شده

آلپاین در دستگاه‌هایی مانند روترها، سرورها و NAS به دلیل مصرف کم منابع و امنیت بالا استفاده می‌شود. کرنل‌های خاص مانند linux-rpi برای رزبری‌پای طراحی شده‌اند.

دسکتاپ

با نصب محیط‌های دسکتاپ مانند XFCE4، آلپاین می‌تواند به‌عنوان یک سیستم‌عامل دسکتاپ سبک استفاده شود:

apk add xfce4 lxdm
rc-update add lxdm
rc-service lxdm start

مزایا و چالش‌ها

مزایا

  • حجم کم: تصویر پایه کوچک برای محیط‌های محدود.
  • امنیت بالا: استفاده از PIE و محافظت از پشته.
  • سرعت بالا: بوت سریع و مدیریت بسته کارآمد.
  • انعطاف‌پذیری: مناسب برای کانتینرها، ماشین‌های مجازی، دستگاه‌های جاسازی‌شده و دسکتاپ.

چالش‌ها

  • ناسازگاری با glibc: برخی برنامه‌ها نیاز به تنظیمات اضافی دارند.
  • مینیمالیسم پیش‌فرض: نیاز به نصب دستی ابزارهای اضافی.
  • یادگیری اولیه: کاربران جدید ممکن است به زمان نیاز داشته باشند تا با ابزارهای آلپاین آشنا شوند.

معرفی آلپاین لینوکس

آلپاین لینوکس یک توزیع لینوکس است که با تمرکز بر سه اصل کلیدی طراحی شده است: حجم کم، سادگی و امنیت. این توزیع برای کاربران حرفه‌ای و محیط‌هایی که نیاز به کارایی بالا و مصرف منابع پایین دارند، مانند سرورها، کانتینرها و دستگاه‌های جاسازی‌شده، ساخته شده است. برخلاف بسیاری از توزیع‌های لینوکس که به ابزارهای سنگین مانند glibc، GNU Core Utilities و systemd وابسته‌اند، آلپاین از جایگزین‌های سبک‌تر مانند musl، BusyBox و OpenRC استفاده می‌کند. این انتخاب‌ها آلپاین را به یکی از معدود توزیع‌هایی تبدیل کرده که از ابزارهای هسته GNU یا کتابخانه C استاندارد GNU (glibc) استفاده نمی‌کند، و در نتیجه حجم و پیچیدگی سیستم را به حداقل می‌رساند.

آلپاین لینوکس به دلیل طراحی مینیمال، سرعت بوت بالا و امنیت پیشرفته، در سناریوهای مختلفی از جمله کانتینرهای داکر، ماشین‌های مجازی و دستگاه‌های جاسازی‌شده مانند روترها، سرورها و سیستم‌های ذخیره‌سازی شبکه (NAS) بسیار محبوب است. این توزیع با ارائه یک سیستم‌عامل سبک و انعطاف‌پذیر، به کاربران امکان می‌دهد تا سیستم را دقیقاً مطابق نیازهای خود پیکربندی کنند.

اجزای اصلی آلپاین لینوکس

آلپاین لینوکس با استفاده از اجزای سبک و بهینه، از توزیع‌های سنتی لینوکس متمایز می‌شود. در ادامه، اجزای اصلی و نقش آنها توضیح داده شده است:

musl: کتابخانه C سبک

musl یک کتابخانه C استاندارد است که به‌عنوان جایگزینی برای glibc (کتابخانه C استاندارد GNU) در آلپاین استفاده می‌شود. glibc به دلیل امکانات گسترده و پشتیبانی از طیف وسیعی از برنامه‌ها، در بسیاری از توزیع‌های لینوکس مانند اوبونتو و فدورا استفاده می‌شود، اما حجم زیادی دارد و برای سیستم‌های کم‌منابع مناسب نیست. musl با طراحی ساده‌تر و حجم کمتر، مصرف حافظه را کاهش می‌دهد و سرعت اجرای برنامه‌ها را افزایش می‌دهد. با این حال، برخی نرم‌افزارهای وابسته به glibc ممکن است نیاز به تنظیمات اضافی برای اجرا روی آلپاین داشته باشند.

BusyBox: ابزارهای یونیکس مینیمال

BusyBox مجموعه‌ای از ابزارهای یونیکس است که در یک فایل باینری واحد ادغام شده‌اند. این ابزار جایگزین GNU Core Utilities (مانند ls، cp، cat) شده و عملکردهای اساسی یونیکس را با حجم بسیار کم ارائه می‌دهد. BusyBox برای محیط‌هایی طراحی شده که منابع محدودی دارند، مانند دستگاه‌های جاسازی‌شده یا کانتینرها. به‌عنوان مثال، دستور ls در BusyBox همان عملکرد لیست کردن دایرکتوری‌ها را ارائه می‌دهد، اما با کد ساده‌تر و منابع کمتر نسبت به نسخه GNU.

OpenRC: سیستم ابتکار سبک

OpenRC یک سیستم ابتکار (init system) است که جایگزین systemd در آلپاین شده است. systemd یک سیستم ابتکار پیچیده و سنگین است که در توزیع‌هایی مانند اوبونتو و دبیان استفاده می‌شود، اما OpenRC با استفاده از اسکریپت‌های شل ساده، مدیریت سرویس‌ها و فرآیندهای بوت را با کمترین سربار انجام می‌دهد. برای مثال، برای فعال‌سازی و راه‌اندازی یک سرویس مانند sshd:

rc-update add sshd
rc-service sshd start

این رویکرد ساده و سبک، آلپاین را برای محیط‌هایی که نیاز به سرعت و کارایی دارند مناسب می‌کند.

ویژگی‌های کلیدی آلپاین لینوکس

حجم کم و مینیمالیسم

تصویر پایه آلپاین لینوکس معمولاً کمتر از ۵۰ مگابایت حجم دارد، که در مقایسه با توزیع‌هایی مانند اوبونتو (چند گیگابایت) بسیار کوچک است. این حجم کم به دلیل استفاده از musl و BusyBox به‌دست آمده است. طراحی مینیمال آلپاین به کاربران امکان می‌دهد تنها بسته‌های موردنیاز را نصب کنند، که باعث کاهش مصرف منابع و افزایش انعطاف‌پذیری می‌شود.

برای مثال، نصب پایه آلپاین شامل حداقل ابزارها و سرویس‌هاست، اما کاربران می‌توانند با استفاده از مدیر بسته apk هر آنچه نیاز دارند را اضافه کنند. برای نصب یک ویرایشگر متن مانند nano:

apk add nano

امنیت پیشرفته

آلپاین لینوکس با تمرکز بر امنیت طراحی شده است. تمام باینری‌های فضای کاربر (برنامه‌هایی که در فضای کاربر اجرا می‌شوند، مانند ابزارهای خط فرمان یا سرویس‌ها) به‌صورت اجرایی‌های مستقل از موقعیت (Position-Independent Executables یا PIE) کامپایل می‌شوند. این تکنیک از بارگذاری کد در آدرس‌های ثابت حافظه جلوگیری می‌کند، که خطر حملات بهره‌برداری حافظه را کاهش می‌دهد.

علاوه بر این، آلپاین از محافظت در برابر سرریز پشته (stack-smashing protection یا buffer overflow protection) استفاده می‌کند. این ویژگی با افزودن بررسی‌های امنیتی به کد، از اجرای کدهای مخرب ناشی از سرریز بافر جلوگیری می‌کند. استفاده از musl به جای glibc نیز به کاهش پیچیدگی و سطح حمله کمک می‌کند، زیرا musl کد ساده‌تری دارد و کمتر در معرض آسیب‌پذیری‌های شناخته‌شده است.

سرعت بوت بالا

یکی از نقاط قوت آلپاین، سرعت بوت بالای آن است. به لطف طراحی مینیمال و استفاده از OpenRC، آلپاین در مقایسه با توزیع‌هایی که از systemd استفاده می‌کنند، سریع‌تر بوت می‌شود. این ویژگی به‌ویژه در کانتینرها و ماشین‌های مجازی که نیاز به راه‌اندازی سریع دارند، اهمیت زیادی دارد. برای مثال، یک کانتینر داکر مبتنی بر آلپاین می‌تواند در کسری از ثانیه راه‌اندازی شود.

انعطاف‌پذیری در کاربردها

آلپاین لینوکس به دلیل طراحی ماژولار و سبک، در سناریوهای مختلفی استفاده می‌شود:

  • کانتینرها: آلپاین به دلیل حجم کم و سرعت بالا، یکی از محبوب‌ترین تصاویر پایه برای داکر است. برای ایجاد یک کانتینر آلپاین:
    docker pull alpine
    docker run -it alpine /bin/sh
  • ماشین‌های مجازی: کرنل linux-virt برای محیط‌های مجازی‌سازی بهینه‌سازی شده و مصرف منابع را کاهش می‌دهد. برای نصب:
    apk add linux-virt
  • دستگاه‌های جاسازی‌شده: آلپاین در روترها، سرورها و NAS به دلیل مصرف کم منابع و امنیت بالا استفاده می‌شود. کرنل‌های خاص مانند linux-rpi برای رزبری‌پای نیز ارائه شده‌اند.
  • دسکتاپ: با نصب محیط‌های دسکتاپ مانند XFCE4، آلپاین می‌تواند به‌عنوان یک سیستم‌عامل روزمره استفاده شود. برای نصب XFCE4:
    apk add xfce4 lxdm
    rc-update add lxdm
    rc-service lxdm start

نصب و پیکربندی اولیه

برای شروع کار با آلپاین لینوکس، باید تصویر ISO را از وب‌سایت رسمی آلپاین دانلود کنید. سپس می‌توانید آن را روی یک درایو USB یا CD/DVD فلش کنید. برای فلش کردن روی USB در لینوکس:

dd if=alpine.iso of=/dev/sdX bs=4M status=progress

پس از بوت از رسانه نصب، می‌توانید با اجرای اسکریپت setup-alpine فرآیند نصب را آغاز کنید:

setup-alpine

این اسکریپت شما را از طریق تنظیمات اولیه مانند چیدمان صفحه‌کلید، نام میزبان، شبکه و پارتیشن‌بندی دیسک هدایت می‌کند. برای مثال، برای تنظیم چیدمان صفحه‌کلید به US:

setup-keymap us us

امنیت در آلپاین لینوکس

آلپاین لینوکس با ویژگی‌های امنیتی پیشرفته طراحی شده است:

  • PIE (Position-Independent Executables): این تکنیک باعث می‌شود کد برنامه در آدرس‌های حافظه تصادفی بارگذاری شود، که از حملات بهره‌برداری حافظه جلوگیری می‌کند.
  • محافظت از پشته: با افزودن بررسی‌های امنیتی به کد، از سرریز بافر و اجرای کدهای مخرب جلوگیری می‌شود.
  • حداقل وابستگی‌ها: طراحی مینیمال آلپاین تعداد بسته‌ها و سرویس‌های پیش‌فرض را کاهش می‌دهد، که سطح حمله را کم می‌کند.
  • امضاهای دیجیتال: مدیر بسته apk از امضاهای دیجیتال برای تأیید اصالت بسته‌ها استفاده می‌کند.
    apk update
    apk add

برای افزایش امنیت، توصیه می‌شود رمز عبور روت را تنظیم کنید:

passwd

همچنین، فعال‌سازی SSH با openssh برای دسترسی امن از راه دور مفید است:

apk add openssh
rc-update add sshd
rc-service sshd start

مزایای آلپاین لینوکس

آلپاین لینوکس به دلیل ویژگی‌های منحصربه‌فرد خود، مزایای متعددی ارائه می‌دهد:

  • مصرف کم منابع: مناسب برای سیستم‌های با سخت‌افزار محدود یا محیط‌های مجازی.
  • انعطاف‌پذیری: امکان پیکربندی سیستم برای کاربردهای مختلف، از سرور تا دسکتاپ.
  • امنیت بالا: استفاده از تکنیک‌های امنیتی پیشرفته و حداقل وابستگی‌ها.
  • جامعه فعال: پشتیبانی از جامعه کاربران و مستندات جامع در وب‌سایت آلپاین.

چالش‌ها و محدودیت‌ها

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

  • ناسازگاری با glibc: برخی نرم‌افزارهای وابسته به glibc ممکن است نیاز به پچ یا تنظیمات اضافی داشته باشند.
  • مینیمالیسم پیش‌فرض: نصب پایه آلپاین فاقد بسیاری از ابزارها و سرویس‌های رایج است، که ممکن است برای کاربران تازه‌کار نیاز به یادگیری داشته باشد.
  • مستندات محدود: اگرچه مستندات رسمی آلپاین جامع است، اما ممکن است برای کاربران جدید کمی پیچیده به نظر برسد.

مهم‌ترین رویدادهای تاریخی آلپاین لینوکس

آلپاین لینوکس از زمان آغاز خود در دهه ۱۹۹۰ به‌عنوان یک پروژه شخصی، مسیری طولانی را طی کرده و به یکی از توزیع‌های محبوب لینوکس تبدیل شده است. در ادامه، مهم‌ترین نقاط عطف تاریخی این پروژه آورده شده است:

  • ۱۹۹۲: آغاز پروژه آلپاین لینوکس به‌عنوان یک ابتکار شخصی توسط گروهی از توسعه‌دهندگان که به دنبال ایجاد یک توزیع سبک و امن بودند.
  • ۲۰۰۲: انتشار عمومی اولین نسخه آلپاین لینوکس، که نقطه عطفی برای دسترسی عمومی به این توزیع بود.
  • ۲۰۰۶: معرفی سیستم مدیریت بسته APK (Alpine Package Keeper)، که به کاربران امکان مدیریت ساده و کارآمد بسته‌ها را داد.
  • ۲۰۱۰: انتشار نسخه ۲.۰ با بهبودهای چشمگیر در عملکرد، امنیت و بهینه‌سازی سیستم.
  • ۲۰۱۵: انتشار نسخه ۳.۰ با پشتیبانی گسترده‌تر از معماری‌های سخت‌افزاری مانند ARM و PowerPC، که دامنه کاربرد آلپاین را گسترش داد.
  • ۲۰۲۰: انتشار نسخه ۳.۱۳ با تمرکز بر بهبود پشتیبانی از کانتینرها، به‌ویژه برای استفاده در پروژه‌هایی مانند Docker و Kubernetes.

عوامل موفقیت آلپاین لینوکس

موفقیت آلپاین لینوکس نتیجه ترکیبی از طراحی هوشمندانه و پشتیبانی قوی جامعه است. عوامل کلیدی موفقیت این توزیع عبارت‌اند از:

  • جامعه فعال: جامعه‌ای پرشور از توسعه‌دهندگان و کاربران داوطلب، نقش مهمی در توسعه، آزمایش و بهبود آلپاین ایفا کرده‌اند. این همکاری گسترده باعث شده است که آلپاین به‌سرعت به نیازهای کاربران پاسخ دهد.
  • تمرکز بر اصول بنیادی: آلپاین با تمرکز بر سادگی، امنیت و کارایی بالا طراحی شده است. این اصول، آن را به گزینه‌ای جذاب برای کاربران حرفه‌ای و توسعه‌دهندگان تبدیل کرده است.
  • پشتیبانی گسترده از سخت‌افزار: آلپاین از معماری‌های متنوعی مانند x86، x86_64، ARM، MIPS و PowerPC پشتیبانی می‌کند، که امکان استفاده از آن را در دستگاه‌های مختلف از سرورهای ابری تا سیستم‌های جاسازی‌شده فراهم می‌کند.
  • استفاده در پروژه‌های بزرگ: استفاده گسترده از آلپاین در پروژه‌های معروفی مانند Docker و Kubernetes، به افزایش شهرت و پذیرش آن در صنعت فناوری کمک کرده است.

توزیع و مجوز

آلپاین لینوکس به‌صورت رایگان تحت مجوز GNU GPLv2 منتشر می‌شود. این مجوز متن‌باز به کاربران اجازه می‌دهد تا کد منبع را مشاهده، ویرایش و بازتوزیع کنند، که با فلسفه آزادی نرم‌افزار هم‌راستا است. این رویکرد، آلپاین را به گزینه‌ای محبوب برای توسعه‌دهندگان و سازمان‌هایی تبدیل کرده که به دنبال سیستمی شفاف و قابل اعتماد هستند.

مدیریت بسته‌ها

آلپاین از سیستم مدیریت بسته‌ای به نام APK استفاده می‌کند که به کاربران امکان نصب، به‌روزرسانی و حذف بسته‌ها را با دستورات ساده می‌دهد. برای مثال، برای نصب یک بسته مانند Nginx، می‌توانید از دستور زیر استفاده کنید:

apk add nginx

این سیستم به دلیل سرعت و کارایی بالا، به‌ویژه در محیط‌های کم‌منابع، بسیار مورد توجه قرار گرفته است.

شاخه‌های آلپاین

آلپاین لینوکس بسته‌های خود را در سه شاخه اصلی دسته‌بندی می‌کند:

  • شاخه اصلی (Main): شامل بسته‌های ضروری و کاملاً آزمایش‌شده که برای عملکرد پایدار سیستم لازم هستند.
  • شاخه پایدار (Stable): نسخه‌های پایدار بسته‌ها که برای استفاده در محیط‌های عملیاتی توصیه می‌شوند.
  • شاخه آزمایشی (Testing): شامل بسته‌های در حال توسعه که ممکن است ناپایدار باشند و برای آزمایش و توسعه مناسب هستند.

برندینگ

آلپاین لینوکس از یک لوگوی ساده و مینیمال استفاده می‌کند که نشان‌دهنده فلسفه این توزیع است: سادگی و کارایی. این لوگو با طراحی تمیز خود، هویت بصری آلپاین را به‌خوبی منتقل می‌کند.

سخت‌افزار مورد نیاز

یکی از نقاط قوت آلپاین، توانایی اجرای آن بر روی دستگاه‌های با منابع محدود است. این توزیع به دلیل مصرف کم حافظه و پردازشگر، برای دستگاه‌های قدیمی، سرورهای کم‌مصرف یا حتی دستگاه‌های جاسازی‌شده مانند روترها و سیستم‌های IoT بسیار مناسب است.

سازمان و توسعه

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

شاخه‌ها و مشتقات

آلپاین لینوکس به‌عنوان پایه‌ای برای چندین توزیع دیگر مانند OpenWrt و Buildroot استفاده شده است. این توزیع‌ها از سبکی و انعطاف‌پذیری آلپاین برای کاربردهای خاص خود بهره می‌برند.

منابع و پشتیبانی

برای اطلاعات بیشتر، می‌توانید به وب‌سایت رسمی آلپاین لینوکس مراجعه کنید: https://alpinelinux.org/. همچنین، اگر با مشکلی مواجه شدید، می‌توانید از طریق ایمیل به لیست پستی کاربران آلپاین (users@lists.alpinelinux.org) درخواست کمک کنید.

چگونه مشارکت کنیم؟

اگر علاقه‌مند به مشارکت در پروژه آلپاین هستید، می‌توانید در مستندسازی، توسعه بسته‌ها یا گزارش باگ‌ها کمک کنید. منابع مستندات آلپاین در GitLab آلپاین در دسترس است. مشارکت در این پروژه نه‌تنها به بهبود آلپاین کمک می‌کند، بلکه فرصتی برای یادگیری و همکاری با جامعه متن‌باز است.

اصطلاحات کلیدی

اگر تازه‌کار در لینوکس یا دنیای کامپیوتر هستید، آشنایی با اصطلاحات زیر می‌تواند مفید باشد:

  • BIOS: سیستم ورودی-خروجی پایه، برنامه‌ای که در ابتدای فرآیند بوت اجرا می‌شود و سخت‌افزار را آماده می‌کند.
  • بوت‌لودر: برنامه‌ای کوچک که وظیفه بارگذاری هسته سیستم‌عامل را بر عهده دارد.
  • DHCP: پروتکل پیکربندی خودکار آدرس IP، که به‌طور گسترده در شبکه‌های خانگی استفاده می‌شود.
  • شبکه محلی کابلی: اتصال اینترنتی از طریق کابل اترنت، برخلاف وای‌فای.
  • نام میزبان: نامی که برای شناسایی دستگاه در شبکه استفاده می‌شود.
  • هسته (Kernel): قلب سیستم‌عامل که مدیریت منابع سخت‌افزاری را بر عهده دارد.
  • NTP: پروتکل زمان شبکه برای همگام‌سازی ساعت سیستم با سرورهای دقیق.
  • POST: خودآزمایی روشن، فرآیندی که سخت‌افزار را در هنگام بوت بررسی می‌کند.
  • PXE: محیط اجرای پیش از بوت، روشی برای بوت از طریق شبکه.
  • ریشه (Root): کاربر اصلی سیستم با دسترسی کامل به همه بخش‌ها.
  • SLAAC: پیکربندی خودکار آدرس بدون حالت، روشی برای تخصیص آدرس‌های IPv6.
  • پوسته (Shell): محیطی برای اجرای دستورات متنی.
  • SSH: پوسته امن، روشی برای دسترسی ایمن به سیستم‌های راه‌دور.
  • شبیه‌ساز ترمینال: برنامه‌ای برای نمایش و اجرای پوسته.
  • UEFI: جایگزین پیشرفته‌تری برای BIOS با قابلیت‌های بیشتر.

انتخاب معماری مناسب

آلپاین لینوکس از چندین معماری سخت‌افزاری پشتیبانی می‌کند. انتخاب معماری مناسب به سخت‌افزار دستگاه شما بستگی دارد:

  • x86_64: رایج‌ترین معماری برای دسکتاپ‌ها، لپ‌تاپ‌ها و سرورها.
  • x86: نسخه قدیمی‌تر x86_64، مناسب برای دستگاه‌های قدیمی با حداکثر ۴ گیگابایت رم.
  • ppc64le: برای سیستم‌های OpenPower مانند IBM POWER8.
  • s390x: برای سیستم‌های IBM Z.
  • armhf و aarch64: برای دستگاه‌های مبتنی بر ARM، به‌ترتیب ۳۲ بیتی و ۶۴ بیتی.

انواع ISO

آلپاین لینوکس انواع مختلفی از فایل‌های ISO را ارائه می‌دهد:

  • استاندارد: حداقل نصب که نیاز به اتصال شبکه دارد.
  • تمدیدشده (Extended): شامل بسته‌های اضافی برای نصب راحت‌تر.
  • نت‌بوت: برای بوت از طریق شبکه با استفاده از PXE.
  • مجازی: بهینه‌شده برای محیط‌های مجازی‌سازی.
  • Xen: برای استفاده در محیط‌های Xen dom0.

اگر مطمئن نیستید، نسخه Extended معمولاً گزینه مناسبی است، مگر اینکه دستگاه شما محدودیت‌های خاصی داشته باشد.

دانلود و تأیید فایل‌ها

فایل‌های ISO آلپاین از وب‌سایت رسمی قابل دانلود هستند. برای اطمینان از سالم بودن فایل‌ها، می‌توانید از checksum (مانند SHA256) استفاده کنید. دستورات زیر برای محاسبه SHA256 در سیستم‌های مختلف آورده شده است:

  • لینوکس: sha256sum alpine.iso
  • MacOS: shasum -a 256 alpine.iso
  • ویندوز: Get-FileHash .\alpine.iso

همچنین، می‌توانید با استفاده از امضای PGP فایل‌ها را تأیید کنید. کلید عمومی توسعه‌دهنده (ncopa) از اینجا قابل دانلود است. دستورات زیر برای تأیید امضا استفاده می‌شوند:

        
gpg --import ncopa.asc
gpg --verify alpine.iso.asc alpine.iso
        
    

ایجاد رسانه قابل بوت

برای استفاده از فایل ISO، باید آن را روی یک USB یا دیسک نوری رایت کنید. ابزارهایی مانند Balena Etcher برای این منظور در ویندوز و MacOS توصیه می‌شوند.

ایجاد رسانه قابل بوت

برای نصب آلپاین لینوکس، ابتدا باید فایل ISO را به یک رسانه قابل بوت تبدیل کنید. این کار می‌تواند با استفاده از درایو USB یا رایت روی CD/DVD انجام شود. در ادامه، جزئیات این فرآیند توضیح داده شده است.

برای اطلاعات دقیق‌تر در مورد فرآیندهای پیشرفته یا عیب‌یابی، به مستندات رسمی پروژه در وب‌سایت آلپاین مراجعه کنید.

فلش کردن ISO روی درایو USB

در سیستم‌های لینوکس، می‌توانید از ابزار dd برای فلش کردن فایل ISO روی درایو USB استفاده کنید. این ابزار معمولاً به‌صورت پیش‌فرض در اکثر توزیع‌های لینوکس موجود است، اما ممکن است نیاز به نصب ابزارهای اضافی داشته باشید. ابتدا باید آدرس فیزیکی درایو USB خود را شناسایی کنید، که معمولاً به‌صورت /dev/sdX (مانند /dev/sdb) نمایش داده می‌شود. برای شناسایی دستگاه، می‌توانید از دستور lsblk استفاده کنید.

پس از شناسایی درایو، از دستور زیر برای فلش کردن فایل ISO (مثلاً alpine.iso) روی درایو USB استفاده کنید:

dd if=alpine.iso of=/dev/sdb bs=4M status=progress

در این دستور، bs=4M اندازه بلوک را مشخص می‌کند و status=progress پیشرفت فرآیند را نمایش می‌دهد. توجه داشته باشید که این دستور باید با دسترسی روت اجرا شود و اشتباه در انتخاب دستگاه مقصد ممکن است داده‌های موجود را پاک کند.

رایت ISO روی CD/DVD

اگر دستگاه شما از بوت USB پشتیبانی نمی‌کند یا ترجیح می‌دهید از CD/DVD استفاده کنید، می‌توانید فایل ISO را روی دیسک رایت کنید. این روش برای سیستم‌های قدیمی‌تر مناسب است.

در MacOS، کافی است فایل ISO را انتخاب کرده و از منوی File گزینه Burn Disk Image را انتخاب کنید. در ویندوز ۸ و بالاتر، روی فایل ISO راست‌کلیک کرده و گزینه Burn Disk Image را انتخاب کنید.

در لینوکس، ابزار داخلی پیش‌فرضی برای رایت ISO وجود ندارد، اما می‌توانید از ابزارهای گرافیکی مانند Brasero یا K3b استفاده کنید. برای رایت از خط فرمان، می‌توانید از بسته cdrtools استفاده کنید. دستور زیر فایل ISO را روی اولین درایو دیسک (/dev/sr0) رایت می‌کند:

cdrecord dev=/dev/sr0 alpine.iso

این دستور باید با دسترسی روت اجرا شود، مگر اینکه کاربر شما مجوز نوشتن روی دستگاه دیسک را داشته باشد.

بوت کردن رسانه نصب

پس از آماده‌سازی رسانه قابل بوت، باید سیستم خود را از آن بوت کنید. برای این کار، وارد تنظیمات BIOS/UEFI شوید یا از گزینه One Time Boot Override (انتخاب بوت موقت) استفاده کنید. در تنظیمات BIOS/UEFI، می‌توانید ترتیب بوت را تغییر دهید تا رسانه USB یا CD/DVD در اولویت قرار گیرد. کلیدهای رایج برای ورود به تنظیمات BIOS/UEFI شامل F2، Delete یا Esc هستند.

اصلاح خط فرمان هسته (اختیاری)

در برخی موارد، ممکن است نیاز به تغییر پارامترهای خط فرمان هسته داشته باشید، مثلاً برای عیب‌یابی یا تنظیمات خاص. برای اطلاعات بیشتر در مورد پارامترهای موجود، به مستندات توسعه‌دهندگان آلپاین مراجعه کنید. یکی از موارد رایج، غیرفعال کردن اعتماد به مولد تصادفی CPU است. برای این کار، پارامتر زیر را به خط فرمان هسته اضافه کنید:

random.trust_cpu=off

اصلاح خط فرمان در GRUB

در بوت‌لودر GRUB، هنگامی که منوی بوت نمایش داده می‌شود، کلید e را فشار دهید تا وارد حالت ویرایش شوید. سپس، خطی که با linux شروع می‌شود را پیدا کرده و پارامترهای موردنظر را اضافه یا حذف کنید.

اصلاح خط فرمان در ISOLINUX

در ISOLINUX، ویرایشگر گرافیکی وجود ندارد، اما می‌توانید پارامترها را مستقیماً وارد کنید. برای مثال، برای افزودن پارامتر rootflags=noatime به برچسب lts، دستور زیر را وارد کنید:

boot: lts rootflags=noatime

نصب و راه‌اندازی آلپاین

اجرای اسکریپت setup-alpine

پس از بوت شدن در محیط زنده آلپاین، می‌توانید بدون نیاز به رمز عبور به‌عنوان کاربر روت وارد شوید. آلپاین اسکریپتی به نام setup-alpine ارائه می‌دهد که فرآیند نصب را ساده می‌کند. این اسکریپت برای سناریوهای استاندارد مناسب است، اما اگر نیازهای خاصی دارید، ممکن است نیاز به پیکربندی دستی داشته باشید.

حالت سریع (setup-alpine -q)

حالت سریع (setup-alpine -q) برای پیکربندی سریع سیستم طراحی شده است و برای کاربرانی که می‌خواهند سیستم را به‌سرعت عملیاتی کنند مناسب است. این حالت شامل موارد زیر است:

  • تنظیم چیدمان صفحه‌کلید
  • تعیین نام میزبان (پیش‌فرض: alpine)
  • پیکربندی شبکه با DHCP
  • فعال‌سازی سرویس‌های سیستمی
  • ایجاد فایل /etc/hosts
  • فعال‌سازی مخزن پیش‌فرض

برای اجرای حالت سریع، دستور زیر را وارد کنید:

setup-alpine -q

این حالت برای سناریوهای ساده مانند راه‌اندازی سرورهای اولیه یا سیستم‌های موقت بسیار کاربردی است.

نصب کامل با setup-alpine

برای نصب کامل، می‌توانید اسکریپت setup-alpine را بدون پارامتر اجرا کنید:

setup-alpine

این حالت برای سناریوهای زیر توصیه می‌شود:

  • نصب روی دیسک فیزیکی
  • اتصال شبکه با پشتیبانی از DHCP
  • عدم حساسیت به نوع بوت‌لودر یا سیستم فایل

اسکریپت به‌صورت تعاملی شما را از طریق مراحل نصب هدایت می‌کند.

استفاده از فایل پاسخ

برای خودکارسازی نصب، می‌توانید از فایل پاسخ استفاده کنید. برای ایجاد یک فایل پاسخ با مقادیر پیش‌فرض، از دستور زیر استفاده کنید:

setup-alpine -c ANSWER_FILE

سپس فایل را ویرایش کرده و با دستور زیر استفاده کنید:

setup-alpine -f ANSWER_FILE

یک نمونه فایل پاسخ ممکن است به‌صورت زیر باشد:

# Example answer file for setup-alpine script
# If you don’t want to use a certain option, then comment it out
# Use US layout with US variant
KEYMAPOPTS=”us us”
# Set hostname to alpine-test
HOSTNAMEOPTS=”-n alpine-test”
# Contents of /etc/network/interfaces
INTERFACESOPTS=”auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
hostname alpine-test

# Search domain of example.com, Google public nameserver
DNSOPTS=”-d example.com 8.8.8.8″
# Set timezone to UTC
TIMEZONEOPTS=”-z UTC”
# set http/ftp proxy
PROXYOPTS=”http://webproxy:8080″
# Add a random mirror
APKREPOSOPTS=”-r”
# Install Openssh
SSHDOPTS=”-c openssh”
# Use openntpd
NTPOPTS=”-c openntpd”
# Use /dev/sda as a data disk
DISKOPTS=”-m data /dev/sda”
# Setup in /media/sdb1
LBUOPTS=”/media/sdb1″
APKCACHEOPTS=”/media/sdb1/cache”

نصب نیمه‌خودکار

اگر نیاز به کنترل بیشتری بر فرآیند نصب دارید یا با مشکلاتی در اسکریپت setup-alpine مواجه شدید، می‌توانید نصب را به‌صورت نیمه‌خودکار انجام دهید. این روش شامل پیکربندی دستی بخش‌هایی مانند چیدمان صفحه‌کلید، شبکه و دیسک است.

تنظیم چیدمان صفحه‌کلید

چیدمان صفحه‌کلید در فایل /etc/conf.d/loadkmap تنظیم می‌شود. نقشه‌های کلید در بسته kbd-bkeymaps و در مسیر /usr/share/bkeymaps قرار دارند. برای مثال، برای استفاده از چیدمان استاندارد US، از فایل زیر استفاده کنید:

/usr/share/bkeymaps/us/us.bmap.gz

برای بارگذاری چیدمان، دستور زیر را اجرا کنید:

loadkmap < /usr/share/bkeymaps/us/us.bmap.gz

بخش پیکربندی و پارتیشن‌بندی

تنظیم چیدمان صفحه‌کلید

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

برای مثال، برای تنظیم چیدمان صفحه‌کلید به طرح استاندارد US، دستور زیر را اجرا کنید:

setup-keymap us us

این دستور چیدمان US را با نوع US اعمال می‌کند. اگر نیاز به چیدمان‌های دیگر دارید، می‌توانید با اجرای setup-keymap بدون آرگومان، گزینه‌های موجود را مرور کنید.

تنظیم نام میزبان

نام میزبان نامی است که رایانه شما در شبکه با آن شناخته می‌شود. انتخاب یک نام منحصربه‌فرد در شبکه محلی اهمیت دارد تا از تداخل با دستگاه‌های دیگر جلوگیری شود. نام میزبان در فایل /etc/hostname ذخیره می‌شود. آلپاین اسکریپتی به نام setup-hostname برای تنظیم آسان این نام ارائه می‌دهد.

برای مثال، برای تنظیم نام میزبان به alpine، دستور زیر را اجرا کنید:

setup-hostname alpine

همچنین، برای بهبود عملکرد حل آدرس‌های محلی، می‌توانید فایل /etc/hosts را ویرایش کنید. برای مثال، اگر نام میزبان شما alpine باشد، فایل /etc/hosts می‌تواند به‌صورت زیر باشد:

127.0.0.1 localhost.localdomain localhost alpine.localdomain alpine
::1 localhost.localdomain localhost alpine.localdomain alpine

پس از ویرایش، برای اعمال تغییرات، سرویس نام میزبان را راه‌اندازی مجدد کنید:

rc-service hostname restart

پیکربندی شبکه

پیکربندی شبکه یکی از مراحل کلیدی در نصب آلپاین لینوکس است. این کار امکان دانلود بسته‌ها، پیکربندی SSH و دسترسی به منابع آنلاین را فراهم می‌کند. آلپاین از ابزار setup-interfaces برای ساده‌سازی این فرآیند استفاده می‌کند.

پیکربندی شبکه بی‌سیم

اگر دستگاه شما به پورت اترنت دسترسی ندارد، باید شبکه بی‌سیم را پیکربندی کنید. با این حال، به دلیل پیچیدگی‌های احتمالی، توصیه می‌شود در صورت امکان از اتصال اترنت استفاده کنید. برای تنظیم شبکه بی‌سیم، از دستور زیر استفاده کنید:

setup-interfaces

این اسکریپت شما را از طریق مراحل شناسایی و اتصال به شبکه بی‌سیم هدایت می‌کند.

استفاده از DHCP

در اکثر شبکه‌های خانگی و حرفه‌ای، پروتکل DHCP به‌طور خودکار آدرس IP، دروازه و سرور DNS را به سیستم تخصیص می‌دهد. برای پیکربندی سریع شبکه با DHCP، دستور زیر را اجرا کنید:

setup-interfaces -a

اگر این روش کار نکرد (مثلاً در شبکه‌های بی‌سیم پیچیده)، می‌توانید setup-interfaces را بدون پرچم -a اجرا کنید تا به‌صورت تعاملی سؤالاتی درباره توپولوژی شبکه پاسخ دهید.

پیکربندی IP استاتیک

در شبکه‌هایی که DHCP در دسترس نیست، باید یک آدرس IP استاتیک تنظیم کنید. این کار با ویرایش فایل‌های /etc/network/interfaces و /etc/resolv.conf انجام می‌شود. برای مثال، اگر آدرس IP شما 192.168.0.147، دروازه 192.168.0.1 و ماسک زیرشبکه 255.255.255.0 باشد، فایل /etc/network/interfaces به‌صورت زیر خواهد بود:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.147
netmask 255.255.255.0
gateway 192.168.0.1

برای تنظیم DNS، فایل /etc/resolv.conf را ویرایش کنید. برای مثال:

nameserver 1.1.1.1
nameserver 8.8.8.8

همچنین می‌توانید از ابزار setup-dns برای تنظیم DNS استفاده کنید:

setup-dns

پس از پیکربندی، سرویس شبکه را راه‌اندازی کنید:

rc-service networking start

برای بارگذاری خودکار شبکه در بوت، از دستور زیر استفاده کنید:

rc-update add networking boot

تنظیم منطقه زمانی

تنظیم منطقه زمانی برای اطمینان از همگام‌سازی صحیح ساعت سیستم ضروری است. منطقه زمانی در آلپاین با متغیر محیطی TZ یا فایل‌های موجود در /usr/share/zoneinfo تعریف می‌شود. برای مثال، برای تنظیم منطقه زمانی به America/New_York، دستورات زیر را اجرا کنید:

install -Dm 0644 /usr/share/zoneinfo/America/New_York /etc/zoneinfo/America/New_York
export TZ=’America/New_York’
echo “export TZ=’$TZ'” >> /etc/profile.d/timezone.sh

پیکربندی مخازن بسته‌ها

برای نصب بسته‌های جدید، باید مخازن خارجی را به فایل /etc/apk/repositories اضافه کنید. رسانه بوت به‌طور پیش‌فرض شامل مخزن داخلی است، اما برای دسترسی به بسته‌های بیشتر، مخازن آنلاین را فعال کنید. نمونه‌ای از فایل /etc/apk/repositories:

http://dl-cdn.alpinelinux.org/alpine/v3.13/main
http://dl-cdn.alpinelinux.org/alpine/v3.13/community

می‌توانید از ابزار setup-apkrepos برای انتخاب خودکار یک مخزن استفاده کنید:

setup-apkrepos

لیست مخازن معتبر در mirrors.alpinelinux.org قابل مشاهده است.

تنظیم رمز عبور ریشه

برای افزایش امنیت، باید رمز عبور کاربر روت را تنظیم کنید. این کار با دستور زیر انجام می‌شود:

passwd

دستور شما را برای وارد کردن و تأیید رمز عبور جدید هدایت می‌کند.

راه‌اندازی SSH

فعال‌سازی SSH امکان دسترسی از راه دور به سیستم را فراهم می‌کند. آلپاین از دو دیمون SSH پشتیبانی می‌کند: openssh (پیشنهادی برای مبتدیان) و dropbear (سبک‌تر اما پیچیده‌تر). برای نصب openssh، دستور زیر را اجرا کنید:

apk add openssh

یا از ابزار زیر برای پیکربندی خودکار استفاده کنید:

setup-sshd

همگام‌سازی زمان با NTP

برای اطمینان از صحت ساعت سیستم، می‌توانید از پروتکل NTP استفاده کنید. ابزارهایی مانند openntpd برای این منظور مناسب هستند. برای نصب:

apk add openntpd

یا از اسکریپت زیر برای پیکربندی خودکار:

setup-ntp

پارتیشن‌بندی دیسک

پارتیشن‌بندی دیسک یکی از مهم‌ترین مراحل نصب است. اسکریپت setup-disk این فرآیند را خودکار می‌کند، اما می‌توانید به‌صورت دستی نیز پارتیشن‌بندی کنید. این اسکریپت جدول پارتیشن را ایجاد، پارتیشن‌ها را فرمت و سیستم پایه و بوت‌لودر را نصب می‌کند.

برای اجرای خودکار:

setup-disk

گزینه‌های مهم شامل BOOTFS (سیستم فایل بوت، پیش‌فرض ext4BOOTLOADER (پیش‌فرض syslinux) و DISKLABEL (پیش‌فرض dos) هستند.

پارتیشن‌بندی دستی با Parted

برای کنترل دقیق‌تر، می‌توانید از ابزار parted استفاده کنید. ابتدا آن را نصب کنید:

apk add parted

برای بررسی استفاده از UEFI یا BIOS:

test -d /sys/firmware/efi && echo UEFI || echo BIOS

پارتیشن‌بندی برای BIOS + MS-DOS

این روش برای سیستم‌های قدیمی با جدول پارتیشن MS-DOS مناسب است. نمونه‌ای از پارتیشن‌بندی:

alias p=”parted -sa optimal /dev/sda”
p mklabel msdos
p mkpart p 0G 1G
p mkpart p 1G 5G
p mkpart p 5G 100%
p set 1 boot
mkfs.ext4 /dev/sda1
mkswap /dev/sda2
mkfs.ext4 /dev/sda3

پارتیشن‌بندی برای BIOS + GPT

برای دیسک‌های بزرگ‌تر، از جدول GPT استفاده کنید. نمونه پارتیشن‌بندی:

alias p=”parted -sa optimal /dev/sda”
p mklabel gpt
p mkpart p 1MiB 2MiB
p mkpart p 2MiB 1G
p mkpart p 1G 5G
p mkpart p 5G 100%
p set 1 bios_grub
p set 2 boot
mkfs.ext4 /dev/sda2
mkswap /dev/sda3
mkfs.ext4 /dev/sda4

بخش پارتیشن‌بندی و مدیریت بسته‌ها

پارتیشن‌بندی برای UEFI + GPT

در سیستم‌هایی که از UEFI استفاده می‌کنند، باید از جدول پارتیشن GPT همراه با یک پارتیشن ESP (EFI System Partition) استفاده شود. این پارتیشن باید با سیستم فایل FAT32 فرمت شود و می‌تواند به‌عنوان پارتیشن بوت عمل کند. در ادامه، طرح پیشنهادی پارتیشن‌بندی برای یک دیسک با نام /dev/sda ارائه شده است:

شماره پارتیشن شروع پایان نقطه اتصال پرچم‌ها
1 0G 1G /boot esp, boot
2 1G 5G none swap
3 5G 100% /

برای ایجاد این طرح پارتیشن‌بندی، دستورات زیر را اجرا کنید:

alias p=”parted -sa optimal /dev/sda”
p mklabel gpt
p mkpart p 0G 1G
p mkpart p 1G 5G
p mkpart p 5G 100%
p set 1 esp
mkfs.vfat -F32 /dev/sda1
mkswap /dev/sda2
mkfs.ext4 /dev/sda3

این دستورات جدول پارتیشن GPT را ایجاد کرده، پارتیشن‌ها را تعریف و فرمت می‌کنند. پارتیشن /dev/sda1 برای بوت (ESP)، /dev/sda2 برای فضای swap و /dev/sda3 برای سیستم فایل ریشه (/) استفاده می‌شود.

نصب فایل‌های سیستم

پس از فرمت کردن پارتیشن‌ها، باید آنها را به نقاط نصب مناسب متصل (mount) کنید. برای مثال، برای طرح UEFI + GPT، دستورات زیر را اجرا کنید تا پارتیشن‌ها در دایرکتوری /mnt متصل شوند:

mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
swapon /dev/sda2

این دستورات پارتیشن ریشه را به /mnt، پارتیشن بوت را به /mnt/boot متصل کرده و فضای swap را فعال می‌کنند.

توصیه‌های پس از نصب

پس از نصب آلپاین لینوکس، می‌توانید با انجام چند تنظیم اضافی، تجربه کاربری خود را بهبود دهید. این توصیه‌ها اختیاری هستند اما برای استفاده روزمره و مدیریت بهتر سیستم مفیدند.

ایجاد کاربر عادی

استفاده از حساب روت برای کارهای روزمره توصیه نمی‌شود. ایجاد یک کاربر عادی امنیت سیستم را افزایش می‌دهد. برای مثال، برای ایجاد دو کاربر به نام‌های john و jane، دستورات زیر را اجرا کنید:

adduser -h /home/john -s /bin/ash john
useradd -m -U -s /bin/ash jane

گزینه -h دایرکتوری خانگی و -s پوسته پیش‌فرض را مشخص می‌کند. توصیه می‌شود این گزینه‌ها را به‌صورت صریح تنظیم کنید.

اعطای دسترسی مدیریتی

برای انجام کارهای مدیریتی، می‌توانید از ابزارهای su یا doas استفاده کنید. doas به دلیل انعطاف‌پذیری و امنیت بیشتر توصیه می‌شود. برای نصب و پیکربندی doas و اعطای دسترسی به کاربر joe، دستورات زیر را اجرا کنید:

apk add doas
echo ‘permit :wheel’ > /etc/doas.d/doas.conf
adduser joe -G wheel
su -l joe
doas command with arguments

این دستورات doas را نصب کرده و به کاربران گروه wheel اجازه اجرای دستورات با دسترسی روت را می‌دهند.

برای راه‌اندازی آلپاین لینوکس به‌عنوان یک سیستم دسکتاپ، باید پیش‌نیازهای زیر را برآورده کنید:

  • نصب آلپاین لینوکس: سیستم باید در حالت system disk mode (نصب کامل روی دیسک) نصب شده باشد، نه در حالت بدون دیسک یا موقت.
  • اتصال به اینترنت: برای دانلود بسته‌ها نیاز به اینترنت دارید، مگر اینکه بسته‌ها از قبل در یک کش محلی ذخیره شده باشند.
  • درایورهای گرافیکی: درایورهای مناسب برای کارت گرافیک سیستم باید نصب شوند. بدون درایورهای گرافیکی، ممکن است در راه‌اندازی محیط دسکتاپ با خطا مواجه شوید.
  • حساب کاربری غیرروت: یک حساب کاربری عادی برای استفاده روزمره ایجاد کنید.
  • فعال‌سازی مخزن community: مخزن community باید در فایل /etc/apk/repositories فعال باشد.
  • تنظیم eudev: ابزار eudev برای مدیریت دستگاه‌ها باید نصب و پیکربندی شود.
  • نصب و فعال‌سازی D-Bus: سرویس dbus برای عملکرد صحیح آیکون‌ها و میانبرهای کیبورد در محیط دسکتاپ ضروری است.

مراحل آماده‌سازی

فعال‌سازی مخزن community

برای دسترسی به بسته‌های محیط دسکتاپ، مخزن community را به فایل /etc/apk/repositories اضافه کنید. برای مثال:

echo “http://dl-cdn.alpinelinux.org/alpine/v3.20/community” >> /etc/apk/repositories
apk update

نصب و تنظیم eudev

eudev جایگزینی برای udev است که مدیریت دستگاه‌های سخت‌افزاری را بر عهده دارد. برای نصب و فعال‌سازی آن:

apk add eudev
setup-udev
rc-update add udev
rc-service udev start

نصب و فعال‌سازی D-Bus

dbus برای ارتباط بین فرآیندهای سیستم و محیط دسکتاپ ضروری است. بدون آن، ممکن است آیکون‌ها یا میانبرهای کیبورد به‌درستی کار نکنند. برای نصب و فعال‌سازی:

apk add dbus
rc-update add dbus
rc-service dbus start

نصب درایورهای گرافیکی

برای نصب درایورهای گرافیکی مناسب، ابتدا نوع کارت گرافیک خود را شناسایی کنید (مثلاً Intel، AMD یا NVIDIA). می‌توانید از دستور lspci برای شناسایی سخت‌افزار استفاده کنید:

apk add pciutils
lspci | grep VGA

سپس بسته‌های درایور مناسب را نصب کنید. برای مثال، برای کارت‌های Intel:

apk add mesa-dri-intel

یا برای NVIDIA:

apk add linux-firmware-nvidia nvidia-driver

ایجاد حساب کاربری غیرروت

برای امنیت بیشتر، یک حساب کاربری غیرروت ایجاد کنید. برای مثال، برای ایجاد کاربر user:

adduser -h /home/user -s /bin/ash user

نصب محیط دسکتاپ

آلپاین لینوکس از چندین محیط دسکتاپ و مدیر پنجره پشتیبانی می‌کند. می‌توانید یکی از گزینه‌های زیر را به‌صورت دستی یا با استفاده از اسکریپت setup-desktop نصب کنید.

محیط‌های دسکتاپ و مدیرهای پنجره پشتیبانی‌شده

  • XFCE4: یک محیط دسکتاپ سبک و کاربرپسند، مناسب برای سیستم‌های با منابع محدود.
  • LXDE: محیطی بسیار سبک که برای دستگاه‌های قدیمی یا کم‌قدرت مناسب است.
  • Gnome: محیطی مدرن و کامل، اما سنگین‌تر و مناسب برای سیستم‌های قدرتمند.
  • i3: یک مدیر پنجره سبک برای کاربرانی که به محیط‌های مینیمال و کاشی‌مانند علاقه‌مندند.
  • Openbox: مدیر پنجره‌ای سبک و قابل تنظیم برای کاربران حرفه‌ای.

نصب با اسکریپت setup-desktop

اسکریپت setup-desktop فرآیند نصب محیط دسکتاپ را خودکار می‌کند. برای نصب محیط XFCE4:

apk add setup-desktop
setup-desktop xfce

این اسکریپت بسته‌های لازم برای XFCE4 و مدیر ورود lxdm را نصب و سرویس‌های مربوطه را فعال می‌کند.

نصب دستی XFCE4

اگر ترجیح می‌دهید به‌صورت دستی نصب کنید، بسته‌های زیر را نصب کنید:

apk add xfce4 lxdm elogind polkit-elogind xfce4-terminal xfce4-screensaver xfce4-whiskermenu-plugin
rc-update add lxdm
rc-service lxdm start

برای بهبود تجربه کاربری، ابزارهای اضافی مانند تنظیمات صفحه‌نمایش را نصب کنید:

apk add setxkbmap xdg-user-dirs xrandr

نصب ابزارهای تکمیلی

برای کامل‌تر شدن سیستم دسکتاپ، می‌توانید ابزارهای کاربردی زیر را نصب کنید:

apk add nano git rsync man-pages mandoc mandoc-apropos musl-locales musl-utils shadow

این بسته‌ها شامل ویرایشگر متن، ابزارهای مدیریت کد، مستندات و تنظیمات محلی هستند.

بهینه‌سازی برای ماشین‌های مجازی

اگر آلپاین را در یک ماشین مجازی اجرا می‌کنید، نصب spice-vdagent برای بهبود قابلیت‌هایی مانند کپی و چسباندن و تغییر اندازه پنجره توصیه می‌شود:

apk add spice-vdagent spice-vdagent-openrc
rc-update add spice-vdagentd
rc-service spice-vdagentd start

نصب ابزارهای توسعه

برای توسعه‌دهندگان، نصب ابزارهایی مانند Node.js و Visual Studio Code مفید است:

apk add nodejs npm
npm i pnpm -g
apk add code-oss@testing
ln -s /usr/bin/code-oss /usr/bin/code

نصب محیط گرافیکی

برای کاربرانی که به محیط گرافیکی نیاز دارند، آلپاین از محیط‌های دسکتاپ سبک مانند XFCE4 پشتیبانی می‌کند. ابتدا پایه سیستم گرافیکی را نصب کنید:

apk add setup-xorg-base

سپس محیط دسکتاپ XFCE4 و ابزارهای مرتبط را نصب کنید:

apk add alpine-desktop lxdm xfce4
rc-update add lxdm
rc-service lxdm start

این دستورات محیط XFCE4 و مدیر ورود lxdm را نصب و فعال می‌کنند. برای سیستم‌های مجازی، نصب spice-vdagent برای بهبود قابلیت‌هایی مانند کپی و چسباندن توصیه می‌شود:

apk add spice-vdagent spice-vdagent-openrc
rc-update add spice-vdagentd
rc-service spice-vdagentd start

نصب ابزارهای توسعه

برای توسعه‌دهندگان، نصب ابزارهایی مانند Node.js، npm، pnpm و Visual Studio Code مفید است:

apk add nodejs npm
npm i pnpm -g
apk add code-oss@testing
ln -s /usr/bin/code-oss /usr/bin/code
apk add firefox

نصب GRUB برای سیستم‌های BIOS

برای سیستم‌های مبتنی بر BIOS، نصب بوت‌لودر GRUB ضروری است:

apk add grub grub-bios
grub-install /dev/sda

پس از نصب، سیستم را با reboot راه‌اندازی مجدد کنید.

سیستم مدیریت بسته APK

سیستم مدیریت بسته APK (Alpine Package Kit) یکی از نقاط قوت آلپاین لینوکس است که به کاربران امکان نصب، حذف و به‌روزرسانی بسته‌ها را با سرعت و امنیت بالا می‌دهد.

ویژگی‌های کلیدی APK

  • سادگی: رابط خط فرمان ساده و شهودی برای مدیریت بسته‌ها.
  • سرعت: الگوریتم‌های بهینه‌سازی‌شده برای نصب و به‌روزرسانی سریع.
  • امنیت: استفاده از امضاهای دیجیتال برای تأیید اصالت بسته‌ها.
  • انعطاف‌پذیری: پشتیبانی از مخازن رسمی، شخص ثالث و فایل‌های محلی.

دستورات اصلی APK

در ادامه، برخی از دستورات پرکاربرد APK آورده شده است:

apk add nano

این دستور ویرایشگر متن nano را نصب می‌کند.

apk del nano

این دستور nano را حذف می‌کند.

apk upgrade

تمام بسته‌های نصب‌شده را به آخرین نسخه به‌روزرسانی می‌کند.

apk search vim

بسته‌هایی که شامل کلمه vim هستند را جستجو می‌کند.

پیکربندی مخازن APK

برای دسترسی به بسته‌های بیشتر، مخازن را در فایل /etc/apk/repositories پیکربندی کنید. نمونه‌ای از این فایل:

#/media/cdrom/apks
http://pkg.adfinis.com/alpine/v3.20/main
http://pkg.adfinis.com/alpine/v3.20/community
http://alpinelinux.mirror.garr.it/v3.20/main
http://alpinelinux.mirror.garr.it/v3.20/community
@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing

برای به‌روزرسانی مخازن:

apk update

بخش کرنل‌ها و فریمور

کرنل‌های آلپاین لینوکس

آلپاین لینوکس مجموعه‌ای از کرنل‌های مختلف (با پیشوند linux-*) را ارائه می‌دهد که هر یک برای نیازها و سناریوهای خاص طراحی شده‌اند. انتخاب کرنل مناسب به نوع سخت‌افزار، محیط اجرا (مثل ماشین مجازی یا دستگاه‌های خاص) و نیازهای کاربر بستگی دارد. در ادامه، کرنل‌های اصلی و کاربردهای آنها توضیح داده شده است:

انواع کرنل‌های آلپاین

  • linux-lts: کرنل با پشتیبانی بلندمدت (Long-Term Support) که برای طیف گسترده‌ای از سخت‌افزارها پیکربندی شده است. این کرنل برای سرورها، دسکتاپ‌ها و سیستم‌هایی که نیاز به پایداری طولانی‌مدت دارند مناسب است.
  • linux-virt: کرنل با پشتیبانی بلندمدت، بهینه‌شده برای ماشین‌های مجازی (VM guests). این کرنل اکثر درایورهای سخت‌افزاری غیرضروری را غیرفعال می‌کند و روی درایورهای متداول برای محیط‌های مجازی‌سازی تمرکز دارد، که باعث کاهش حجم و افزایش کارایی در محیط‌های مجازی می‌شود.
  • linux-stable: کرنل پایدار که مانند linux-lts برای سخت‌افزارهای گسترده پیکربندی شده است، اما تنها در مخزن community پشتیبانی می‌شود. این کرنل برای کاربرانی مناسب است که به دنبال نسخه‌های پایدار جدیدتر هستند.
  • linux-rpi: کرنل اختصاصی برای دستگاه‌های رزبری‌پای. در نسخه‌های ۳.۱۸ و قدیمی‌تر آلپاین، کرنل‌های جداگانه linux-rpi2 و linux-rpi4 برای رزبری‌پای ۲ و ۴ ارائه شده‌اند که بهینه‌سازی‌های خاص این مدل‌ها را دارند.
  • linux-openpax: کرنل با پچ‌های OpenPAX که لایه‌ای اضافی از حفاظت در برابر آسیب‌پذیری‌های مربوط به امنیت حافظه فراهم می‌کند. این کرنل برای سیستم‌هایی که امنیت اولویت بالایی دارد مناسب است.

نصب کرنل سفارشی

برای نصب یک کرنل خاص در طی فرآیند نصب آلپاین، می‌توانید قبل از اجرای اسکریپت setup-alpine، کرنل موردنظر را با استفاده از ابزار apk نصب کنید. برای مثال، برای نصب کرنل linux-virt، دستور زیر را اجرا کنید:

apk add linux-virt

برای اطلاعات بیشتر درباره نصب کرنل‌های سفارشی، به مستندات نصب کرنل سفارشی مراجعه کنید.

فریمور در آلپاین لینوکس

فریمورها نرم‌افزارهای سطح پایینی هستند که برای عملکرد صحیح برخی سخت‌افزارها (مانند کارت‌های شبکه، کارت‌های گرافیک یا کنترلرهای ذخیره‌سازی) مورد نیازند. آلپاین لینوکس بسته linux-firmware را به‌صورت پیش‌فرض ارائه می‌دهد که شامل تمام فریمورهای موجود است. با این حال، این بسته به دلیل حجم زیاد (به‌ویژه برای سیستم‌های کم‌منابع) ممکن است مناسب نباشد.

برای نصب فریمورهای خاص، می‌توانید بسته‌های جداگانه linux-firmware-* (مانند linux-firmware-intel یا linux-firmware-amd) را انتخاب کنید. اگر به هیچ فریموری نیاز ندارید، می‌توانید بسته linux-firmware-none را نصب کنید. برای شناسایی فریمورهای مورد نیاز، می‌توانید از دستور زیر استفاده کنید:

dmesg | grep firmware

این دستور پیام‌های مربوط به فریمورها را در خروجی dmesg نمایش می‌دهد. توجه داشته باشید که اکثر فریمورها غیرآزاد (non-free) هستند و ممکن است با فلسفه نرم‌افزار آزاد سازگار نباشند.

کرنل‌های آزمایشی

آلپاین لینوکس برخی کرنل‌های آزمایشی را در مخزن testing ارائه می‌دهد که برای سخت‌افزارهای خاص یا جدید طراحی شده‌اند. این کرنل‌ها به دلیل عدم آزمایش کامل، ممکن است ناپایدار باشند و باید با احتیاط استفاده شوند. کرنل‌های آزمایشی شامل موارد زیر هستند:

  • linux-asahi: برای دستگاه‌های اپل با پردازنده‌های سیلیکون (Apple Silicon). اطلاعات بیشتر در وب‌سایت Asahi Linux.
  • linux-elm: برای کروم‌بوک‌های Elm.
  • linux-gru: برای کروم‌بوک‌های Gru.
  • linux-sophgo: برای سیستم‌های روی تراشه (SoC) Sophgo مبتنی بر RISC-V.
  • linux-p550: برای SoCهای SiFive P550 مبتنی بر RISC-V.
  • linux-starfive: برای SoCهای Starfive مبتنی بر RISC-V.
  • linux-jh7100: برای SoCهای Starfive JH7100.
  • linux-spacemit: برای SoCهای SpacemiT مبتنی بر RISC-V.

برای نصب یک کرنل آزمایشی، ابتدا مخزن testing را به فایل /etc/apk/repositories اضافه کنید. برای مثال:

echo “@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing” >> /etc/apk/repositories
apk update
apk add linux-asahi@testing

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

نصب و پیکربندی کرنل و فریمور

برای نصب کرنل یا فریمور در طی فرآیند نصب آلپاین، می‌توانید قبل از اجرای setup-alpine بسته‌های موردنظر را نصب کنید. برای مثال، برای نصب کرنل linux-lts و فریمور خاص کارت شبکه اینتل:

apk add linux-lts linux-firmware-intel

پس از نصب، می‌توانید اسکریپت setup-alpine را اجرا کنید تا فرآیند نصب ادامه یابد:

setup-alpine

اگر مطمئن نیستید کدام فریمور برای سخت‌افزار شما لازم است، می‌توانید از ابزارهایی مانند lspci یا lsusb برای شناسایی سخت‌افزار استفاده کنید و سپس فریمور مربوطه را نصب کنید.

نکات و توصیه‌ها

  • انتخاب کرنل مناسب: برای سرورها و دسکتاپ‌های عمومی، linux-lts به دلیل پایداری و پشتیبانی گسترده توصیه می‌شود. برای ماشین‌های مجازی، linux-virt گزینه‌ای سبک‌تر و بهینه‌تر است.
  • مدیریت فریمورها: نصب بسته linux-firmware می‌تواند حجم دانلود زیادی داشته باشد. برای سیستم‌های کم‌منابع، فریمورهای خاص را به‌صورت جداگانه نصب کنید.
  • کرنل‌های آزمایشی: قبل از استفاده از کرنل‌های موجود در مخزن testing، از ثبات سیستم خود نسخه پشتیبان تهیه کنید و مستندات مربوطه را بررسی کنید.
  • عیب‌یابی: اگر با مشکلاتی در شناسایی سخت‌افزار مواجه شدید، خروجی دستور dmesg را بررسی کنید تا خطاهای مربوط به فریمور یا کرنل را شناسایی کنید.


✍️ نویسنده: حسین سیلانی

🔗 درباره من: seilany.ir

📢 نویسندگی و مشارکت در وبلاگ: t.me/seilany