نصب آرچ گنو/لینوکس به صورت UEFI

سلام.بعد از کلی کلنجار رفتن با سیستم درنهایت با کمک ویکی آرچ و آموزش های فارسی داخل وب تونستم موفق به نصب آرچ لینوکس روی لپ تاپ بشم. حالا برای اینکه خودم بهتر یاد بگیرم، بعدا برای یادآوری بتونم مراجعه کنم و شاید کمکی باشه برای دیگرانی که دنبال راهنما میگردن این مطلب رو مینویسم.خب دیگه شروع کنیم....اول از همه برای نصب آرچ به یک فلش حداقل 2 گیگابایت (سایز فعلی فایل iso کمتر از یک گیگ هست) ترجیحا usb3 (برای سرعت بالاتر لودینگ) نیاز داریم. وقتی از داشتن فلش مناسب و پشتیبانی بایوس کامپیوتر/لپ تاپ از بوت با فلش مطمعن شدیم، وقتشه که به سایت آرچ بریم و فایل iso آرچ رو دانلود کنیم.نکته: فایل ایزو یا همون ایمیج به صورت فایل تورنت هست و برای دانلودش باید از ابزار های دانلود فایل تورنت مثل transmission استفاده کنید.حالا باید ایمیج رو روی فلش بریزیم.نکته: دوستانی که امکان استفاده از فلش به هردلیلی براشون امکان پذیر نیست میتونن ایمیج رو روی دی وی دی بریزن فرقی نداره.نکته: برای نوشتن فایل ایمیج روی فلش راه حل زیاده اما میتونید از fedora media writer و گزینه custom image استفاده کنید.خب تنظیمات بوت سیستم رو باید روی حالت usb تنظیم کنیم و بعد سیستم رو با فلش بوت کنیم (که از جزئیات صرف نظر میکنم اگه این کار رو بلد نیستید شاید بهتر باشه بیخیال نصب بشید چون قراره اوضاع پیچیده تر بشه).اگه همه چیز درست پیش بره یک صفحه ترمینال برامون باز میشه و میتونیم کار رو شروع کنیم.قبل از شروع به هرکاری اجازه بدید ساعت و تاریخ رو به صورت دقیق با کمک پروتکل ntp دریافت کنیم:timedatectl set-ntp trueاولین مرحله : تنظیم پارتیشن های دیسکمن از مود uefi و ssd استفاده میکنم و برای همین نیازی به پارتیشن swap ندارم. دستور cfdisk رو میزنم و با کمک این ابزار یک پارتیشن یک گیابیتی از نوع uefi و با فلگ bootable میسازم و بقیه فضا رو به یک پارتیشن linux file system اختصاص میدم.نکته : نیازی نیست حتما پارتیشن های قبلی پاک بشه و اگه نحوه پیکربندیشون راضیتون میکنه فقط کافیه توی مرحله بعد فرمت بشن.مرحله دوم : فرمت کردن درایو هاپارتیشن efi که برای من /dev/sda1 میشه رو باید به صورت fat32 فرمت کنیم:mkfs.fat -F32 /dev/sda1پارتیشن دیگه رو هم من از فایل سیستم btrfs استفاده میکنم که جدیدا اضافه شده و امکانات خوبی داره و با ssd هم سازگاری بیشتری داره (میتونید از ext4 استفاده کنید).mkfs.btrfs /dev/sda2مرحله سوم : mount کردن درایو هاتوی لینوکس برای اینکه بتونیم روی یک دیسک بخونیم و بنویسیم باید اصطلاحا mount کنیم یعنی یک ادرس رو بهش اختصاص بدیم. اینجا لازمه حتما ادرس /mnt باشه:mount /dev/sda2 /mntحالا برای اینکه بتونیم درایو efi را به ادرس /boot/efi اختصاص بدیم لازمه اول این ادرس رو ایجاد کنیم (اصلا کار عجیبی نیست... یه پوشه باید بسازیم) :mkdir /mnt/boot mkdir /mnt/boot/efiو در نهایت mount کنیم:mount /dev/sda1/ /mnt/boot/efiمرحله چهارم : نصب پکیج های پایهیکی از تفاوت های آرچ با توزیع هایی مثل اوبونتو دقیقا همین جا مشخص میشه. شما کترل کامل روی بسته هایی که نصب میکنید دارید (مثلا من برای ویرایشگر محیط کنسول nano رو به جای vim میپسندم و دیگه vim رو نصب نمیکنم).pacstrap -i /mnt linux-lts linux-lts-headers base base-devel nano man-db man-pages linux-firmware intel-ucodeتوضیح بدم چی به چیه؟base base-devel linux-lts linux-lts-headersاین موارد پکیج های اصلی هستن. بسته های پایه آرچ و هسته لینوکس پایدار (که البته میتونید lts که مخفف long term support و به همون معنی پایدار هست رو بردارید تا اخرین نسخه کرنل نصب بشه):nanoویرایشگر تحت کنسول nano (حتما در ادامه برای کانفیگ کردن سیستم به یک ویرایشگر تحت کنسول نیازه پس نصب کنید)man-db man-pagesپکیج های لازم برای مشاهده و خوندن man page هاlinux-firmware intel-ucodeفریمور (firmware) های لینوکس (بعضی سخت افزار ها علاوه بر درایور نیاز به فریمور دارن) و میکرو کدهای پردازنده های اینتل ( میکرو کدهای سی پی یو های اینتل که اگه از سی پی یو های amd استفاده میکنید باید پکیج amd-ucode رو به جاش نصب کنید)خب پس از زدن این دستور سیستم مشغول نصب پکیج ها میشه (لازمه بگم باید سیستم اینترنت داشته باشه؟)مرحله پنجم : ساخت fstab و تغییر رووتتا اینجا ما هسته لینوکس و یک سری از ابزار های پایه رو نصب کردیم.حالا باید fstab هارو بسازیم:genfstab -U /mnt >> /mnt/etc/fstabو با دستور زیر به روت وارد میشیم (یعنی دیگه سیستم ادرس /mnt رو به عنوان روت سیستم یا همون / حساب میکنه و دستوراتی که اجرا میشه توی /mnt که اگه یادتون باشه همون درایو اصلی سیستم باشه اجرا میشن):arch-chroot /mntمرحله شش : کانفیگ سیستماجازه بدید زمان محلی سیستم رو روی تهران تنظیم کنیم و بعد روی بایوس ذخیره کنیم:ln -sf /usr/share/zoneinfo/Asia/Tehran /etc/localtime hwclock --systohc --utcدستور اول تنظیمات منطقه تهران رو به ادرس تنظیمات سیستم لینک میکنه (همون شورتکات میسازه تا هروقت خواست تنظیمات رو بخونه بره به فایل تهران) و دستور دوم زمان رو به صورت utc روی ساعت بایوس مینویسه.حالا باید زبان انگلیسی و فارسی رو فعال کنیم و فایل های لازم رو بسازیم. با کمک nano فایل /etc/locale.gen رو باز میکنیم و دومورد زیر رو از کامنت خارج میکنیم (# اول خط رو حذف کنید):en_US.UTF-8 UTF-8 fa_IR UTF-8و برای تولید فایل های زبان دستور زیر رو میزنیم:locale-genحالا که فایل هارو ساختیم باید زبان سیستم رو هم تنظیم کنیم:echo LANG=en_US.UTF-8 > /etc/locale.confاگه دستور بالا شما رو میترسونه به جاش میتونید با nano فایل /etc/locale.conf رو بسازید و داخلش بنویسید:LANG=en_US.UTF-8برای سیستم یک اسم انتخاب میکینم (من از lenovo استفاده میکنم شما هرچی دوست دارین بزارین):echo lenovo > /etc/hostnameباید فایل /etc/hosts رو هم به شکل زیر مقدار دهی کنیم (این فایل اجازه میده یسری دامنه یا اسم رو برای آی پی های دلخواه تنظیم کنیم مثلا localhost یعنی 127.0.01) :127.0.0.1 localhost ::1 localhost 127.0.1.1 lenovo.local lenovoبهتره با زدن دستور زیر برای کاربر رووت رمز عبور اختصاص بدیم:passwdو برای خودمون یک کاربر بسازیم (mahdi اسم کاربریه که دارم میسازم میتونید هرچی دلتون میخواد بزارید):useradd -mg users -G wheel,storage,power -s /bin/bash mahdiو برای کاربری که ساختیم رمز عبور میزاریم:passwd mahdiو کاربری که ساختیم رو مجاز به استفاده از دستور sudo میکنیم، برای این کار فایل /etc/sudoers رو با nano باز میکنیم و خط زیر رو پیدا و از کامنت خارج میکنیم (دوباره کافیه # از اولش حذف کنیم):%wheel ALL=(ALL) ALLمرحله نهاییحالا لازمه اجازه بدیم ایمیج های سیستم دوباره سازی بشه (منظور فایل های img داخل پوشه boot که برای اجرای سیستم عامل بوت میشن هست):mkinitcpio -Pراهنمای انگلیسی آرچ همین جا تموم میشه چون بقیه کار نصب و تنظیم پکیج های فرعی هستش.من برای بوت لودر از grub و برای دسکتاپ gnome به همراه gdm استفاده میکنم.همین طور درایور nvidia و xf86-video-intel رو باید نصب کنم. برای اینکه به اینترنت دسترسی داشته باشم هم پکیج networkmanager لازمه.اگه از درایو های ntfs ویندوزی استفاده میکنید ntfs-3g رو هم باید نصب کنید.pacman -S nvidia xf86-video-intel networkmanager gnome gdm grub efibootmgr os-proberدر توضیحات هم بگم که pacman پکیج منیجر یا همون مدیر بسته سیستم آرچ تشریف دارن و -S یعنی پکیج هایی که میگم رو نصب کن.اگه میخواین از اتصال بیسیم استفاده کنید:pacman -S iw wpa_supplicant dialogبرای راه انداختن grub کدهای زیر رو بزنید:grub-install --recheck /dev/sda grub-mkconfig -o /boot/grub/grub.cfgکه دستور اول به گراب میگه نصب شه (سیستم عامل هارو پیدا میکنه و ازین کارا ...) و دستور دوم کانفیگ مناسب رو میسازه و ذخیره میکنه.برای اینکه یه برنامه موقع بوت سیستم اجرا بشه، باید سرویس برنامه رو فعال کنیم. برنامه هایی که میخواهیم gdm و NetworkManager هستن پس:systemctl enable NetworkManager systemctl enable gdmدرنهایت برای خروج و ریستارت سیستم به نسخه نصب شده دستورات زیر رو وارد میکنیم:exit umount -a telinit 6ساده بود ن؟ :)منابع:https://wiki.archlinux.org/title/Installation_guidehttps://wiki.archusers.ir/index.php/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%AA%D8%A7%D8%B2%D9%87%E2%80%8C%DA%A9%D8%A7%D8%B1%D8%A7%D9%86https://iaghapour.ir/blog/installing-arch-as-uefi-with-a-desktop-environment/