نصب آرچ لینوکس

ویرایش چهارم پاییز ۹۷ :
بعد از ویرایش این آموزش باتوجه به اینکه دیگه آرچ نصب نکردم کاستی های این آموزش برام مشخص نشد. تا اینکه به دلیل سنگینی سیستم عامل Arch Linux ام تصمیم گرفتم یک سیستم جدید که فقط برنامه های مورد نیازم روش نصب باشه و زیاد شلوغ نباشه تهییه کنم . به همین دلیل از اول اقدام به نصب آرچ کردم که با توجه به بعضی از مشکلات ویرایش قبلی این آموزش پاسخگوی اونها نبود. من تصمیم گرفتم ویرایش جدیدی به همراه تغییرات جدید آرچ لینوکس تهییه کنم. امیدوارم مفید واقع بشه.

این یک راهنمای مینیمال برای نصب «Arch Linux» هستش . توی اینترنت راهنماهای زیادی هست ، هر کسی با توجه به نیازی که داشته برای خودش یا برای بقیه یک راهنما نوشته . من هم با توجه به چیزهایی که میخوام نصب کنم این راهنما رو مینویسم . و صد البته که قسمت عمده ای ازش با بقیه مشترک خواهد بود .

تهییه فایل iso.
من فرض کردم شما یک ایزوی سالم  و جدید از سایت ArchLinux در اختیار دارید.برای رایت ایزو بر روی دی وی دی یا بوتیبل سازی فلش طبق مسیر زیر اقدام کنید.

در لینوکس:
باز هم من فرض کرده ام شما آشنایی مقدماتی با دستورات خط فرمان و شناسایی دیوایس ها در لینوکس و … دارید . معمولا فرد ناآشنا با لینوکس برای اولین بار سراغ آرچ لینوکس نمیاد و این آموزش برای افراد آشنا با ساختار لینوکس و خط فرمان مفید خواهد بود.

به راحتی با استفاده از خط فرمان و دستور قدرتمند dd میتوان نسبت به تهییه یک سی‌دی یا فلش بوتیبل اقدام کرد :

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

sudo dd if=/path_to_arch_.iso of=/device-name

پس از اجرای این دستور ، تا اتمام عملیات نوشتن ایزو بر روی فلش یا سی دی در ترمینال هیچ خروجی مشاهده نمیشود . بعد از اتمام عملیات نوشتن ( رایت ) ایزو ترمینال به حالت طبیعی باز میگردد .

در ویندوز :

با استفاده از نرم افزار unetbootin میتوان اقدام به رایت ایزو نمود .

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

اتصال به اینترنت

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

ping -c3 www.google.com

دستور بالا سایت گوگل را ۳ بار پینگ میکند که در صورت عدم اتصال متوجه خواهیم شد .

البته اولویت با اتصال به اینترنت توسط کابل لن هست .

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

wifi-menu

دستور فوق اتصال وای‌فای را چک کرده و اقدام به اتصال مینماید .

نوع پارتیشن بندی

دو نوع جدول پارتیشن برای نصب در اختیار ماست . استفاده از سیستم مدرن GPT یا استفاده از سیستم قدیمی تر MBR . در صورتیکه نصب به همراه ویندوز رو در نظر داشته باشیم تنها انتخاب ما MBR خواهد بود . در غیر اینصورت از هر کدام از جدول پارتیشن بندی که بخواهیم میتوان استفاده کرد .

برای پارتیشن بندی ، در صورت استفاده از GPT از برنامه cgdisk و در صورت استفاده از MBR از برنامه cfdisk استفاده میشود .

 

ابتدا با برنامه lsblk اسم پارتیشن مورد نظر برای نصب را پیدا میکنیم .

sda      8:0    0 119.2G  0 disk
├─sda1   8:1    0  119.2G  0 part
sde      8:64   0 931.5G  0 disk
└─sde1   8:65   0 931.5G  0 part

در این آموزش ساخت MBR Partition Table توسط برنامه cfdisk ارائه میگردد :
فرض میکنیم تنها سیستم عامل کامپیوتر ما فقط ArchLinux خواهد بود. در این حالت بصورت زیر عمل میکنیم:

فرض کنیم قصد نصب Arch در درایو sda را داریم :

cfdisk /dev/sda

ابتدا پارتیشن روت .سپس swap و در انتها پارتیشن home را میسازیم .
بعضی از علما استفاده از یک پارتیشن مجزا برای var/ را پیشنهاد میدهند که در صورت تمایل میتوانیم این پارتیشن را هم بسازیم .

New > Enter
Partition Size > 40G
Primary or Extended > Select Primary
Bootable > Enter
Write > Enter > Yes

بعد از ساخت روت swap را میسازیم :

New > Enter
Partition Size > 4G
Primary or Extended > Select Primary (or extended, if you are going to create more than 3 partitions on this hard drive)
Write > Enter > Yes

سپس پارتیشن home را میسازیم :

New > Enter
Partition Size > 400G (allocate the size you want for the partition)
Primary or Extended > Select Primary
Write > Enter > Yes

بعد از ساخت پارتیشن ها ،آنها را فرمت میکنیم:

# mkfs.ext4 /dev/sda1

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

# mkswap /dev/sda2
# swapon /dev/sda2

بعد از فرمت کردن swap ، پارتیشن swap را فعال میکنیم .
در صورت علاقه میتوان یک پارتیشن مجزا برای boot/ با حداقل حجم ۲۵۶ مگابایت ساخت .

در صورتیکه بخواهید از بوت دوگانه به همراه ویندوز یا چندگانه استفاده کنید بصورت زیر عمل کنید:
ابتدا به مقدار موردنیاز خود فضای خالی درنظر بگیرید،حداقل ۲۰ گیگابایت برای پارتیشن root و حداقل به اندازه رم سیستم برای swap و مقدار دلخواه برای پارتیشن home.
من از ۱۷۰ گیگابایت فضای پارتیشن بندی نشده برروی سیستمم استفاده کردم . ابتدا یک پارتیشن ۱۷۰ گیگابایتی از نوع extended میسازیم . سپس از فضای خالی پارتیشن extended پارتیشن های root ,swap و home را میسازیم.در انتها پارتیشن root ( در صورتیکه اقدام به ساخت پارتیشن boot مجزا کرده اید پارتیشن boot) را بوتیبل میکنیم و برای اعمال تغییرات write را میزنیم.

ماونت کردن پارتیشن ها

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

ماونت کردن root/ :

# mount /dev/sda1 /mnt

ماونت کردن پارتیشن home/ :

mkdir /mnt/home
mount /dev/sda3 /mnt/home

در صورتیکه پارتیشن مجزا برای var/ ساختید ، به صورت بالا ابتدا یک Mount Point در mnt/ در نظر گرفته و سپس اقدام به مونت کردن پارتیشن var/ بنمایید .

همچنین میتوان یک پارتیشن مجزا برای boot/ نیز در نظر گرفت و به صورت فوق بعد از مونت پارتیشن / اقدام به ساخت mount point در mnt/ نموده و این پارتیشن ها را مونت نمود .

انتخاب سایت های Mirror

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

# nano /etc/pacman.d/mirrorlist

ترفند :ابتدا خط مورد نظر را انتخاب کرده و در بالای لیست قرار میدهیم .برای این منظور با استفاده از Ctrl+w کلمه iran را جستجو میکنیم و با کلید های alt+6 خط مورد نظر کپی شده و با زدنctrl+u در ابتدای فایل  mirrorlist پیست میشود .برای پیدا کردن بقیه میرورهای کشور ایران از Alt+w استفاده میکنیم و سایتهای میرور را در ابتدای فایل لیست میکنیم.

نصب بسته های اولیه

در این مرحله بسته های base که بسته های ضروری برای ایجاد سیستم جدید هستند و بسته های base-devel که بسته های لازم برای برنامه نویسی و توسعه سیستم هستند نصب میشوند.

# pacstrap -i /mnt base base-devel

ترفند :بسته های پیشنهادی به صورت پیش فرض نصب خواهند شد . در صورتیکه علاقه ای به نصب بعضی از بسته ها ندارید ، مثلا هم ویرایشگر nano و هم vi در این مرحله نصب میشوند، و ما به دلایلی علاقه ای به نصب vi نداریم میتوانیم بااضافه کردن یک – جلوی عدد پکیج مورد نظر از نصب آن در این مرحله جلوگیری کنیم .

ترفند :در صورتیکه از قبل بسته های base و base-devel را داشته باشیم (مثلا برای بار دوم اقدام به نصب آرچ میکنیم و قبلا کش پکمن را کپی کرده ایم ) ابتدا باید کش پکمن در یک پارتیشن که موقع نصب مونت میشود قرار داده شود . مثلا ما پارتیشن home/ را در حین نصب فقط مونت کرده و محتویات آن را پاک یا فرمت نمیکنیم ! میتوان کش پکمن را در پارتیشن home/ کپی کرد و در هنگام نصب از آن استفاده کرد . در این صورت فرایند نصب در کمتر از ۱۰ دقیقه صورت میپذیرد .
فرض میکنیم کش پکمن در شاخه زیر قرار دارد :

/home/ali/pkg

برای استفاده از این فایل ها در حین نصب ، بعد از زدن دستور

# pacstrap -i /mnt base base-devel

سیستم ابتدا فایل های و فولدر های مورد نیاز را میسازد ، سپس اقدام به آپدیت مخازن نموده و در انتها بسته های مورد نیاز را یک به یک دانلود مینماید . بعد از آپدیت مخازن در حین نصب اولین بسته با زدن کلید های Ctrl+c اقدام به کنسل نمودن این عملیات کرده و فایل های کش پکمن را به شاخه مربوط به کش پکمن در پارتیشن var/ کپی میکنیم .

 cp /home/ali/pkg/* /var/cache/pacman/pkg/

در انتها دستور

# pacstrap -i /mnt base base-devel

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

بعد از نصب باید فایل fstab را بسازیم :

ساختfstab

فایل fstab برای معرفی اینکه کدام پارتیشن‌ها باید به فایل‌سیستم مونت شوند بکار می‌رود .

genfstab -U -p /mnt >> /mnt/etc/fstab

محتویات فایل fstab باید بررسی چشمی شود . در صورت هر گونه اشتباه نباید دوباره این فایل را ساخت . بلکه باید ویرایش کرد :

# nano /mnt/etc/fstab

نمونه یک فایل fstab بصورت زیر است :

#
# /etc/fstab: static file system information
#
#
# /dev/sda6
UUID=c06adf4e-5de1-475b-a475-82292977b75b / ext4 rw,relatime,data=ordered 0 1

# /dev/sda5
UUID=f575446e-a6d5-47ec-b7ec-23d00978978d /boot ext2 rw,relatime 0 2

# /dev/sda8
UUID=1dd92f59-1c24-44b6-b012-0fc1def86dc0 /home ext4 rw,relatime,data=ordered 0 2

# /dev/sda9
UUID=8b40f4df-96d5-430b-b5e7-2a69b5ca3bc9 /var ext4 rw,relatime,data=ordered 0 2

# /dev/sda7
UUID=c4ba50e6-0835-4a0d-addb-97e9f5e3fb80 none swap defaults 0 0

برپا ساختن سیستم جدید توسط chroot

# arch-chroot /mnt

تنظیم زبان و مکان محلی

# nano /etc/locale.gen

عبارت en_US.UTF-8 UTF-8 مربوط به زبان انگلیسی ، همچنین عبارت مربوط به زبان فارسی رو از کامنت خارج میکنیم و دستورات زیر را میزنیم

# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8

تنظیم زمان محلی

# ln -s /usr/share/zoneinfo/Asia/Iran > /etc/localtime

تنظیم ساعت سیستم

توصیه شده بجای ساعت محلی از ساعت UTC استفاده شود :

# hwclock --systohc --utc

تعیین host name

برای داشتن نام دلخواه سیستم خودتان میتوان دستور زیر را استفاده کرد ( این دستور نام کامپیوتر را به sys_name تغییر میدهد ):

# echo sys_name > /etc/hostname

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

در صورت نصب سیستم عامل ۶۴ بیتی نیاز به مخازن multi Lib خواهیم داشت . برای این منظور فایل pacman.conf را با نرم افزار nano باز میکنیم :

# nano /etc/pacman.conf

سپس به پایین اسکرول کرده و خطوط زیر را uncomment میکنیم :

[multilib]
Include = /etc/pacman.d/mirrorlist

با قرار دادن خطوط زیر در انتهای فایل pacman.conf میتوان مخازن AUR را اضافه کرد :

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

مخازن چین را به صورت زیر اضافه میکنیم:

[archlinuxcn]
SigLevel = Never
Server = http://repo.archlinuxcn.org/$arch

در نهایت فایل را ذخیره کرده و خارج میشویم . با دستور زیر مخازن را آپیدت میکنیم :

# pacman -Sy

پیکربندی حساب کاربری

ابتدا برای کاربر root یک پسورد در نظر میگیریم :

# passwd

سپس یک کاربر جدید بنام ali تعریف میکنیم :

# useradd -m -g users -G wheel,storage,power -s /bin/bash ali

سپس برای کاربر جدید نیز پسورد تعیین میکنیم :

# passwd ali

برای اینکه بتوان کارهای مربوط به کاربر root را بدون وارد شدن به حساب root انجام داد ابتدا برنامه sudo را نصب میکنیم :
نکته: برنامه sudo قبلا در بسته base-devel نصب شده است.

# pacman -S sudo

سپس فایل sudo را ویرایش و کانفیگ میکنیم :

# EDITOR=nano visudo

خط زیر را uncomment میکنیم :

%wheel ALL=(ALL) ALL

نصب بسته auto-complete برروی bash

# pacman -S bash-completion

نصب بوت لودر گراب

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

#pacman -S os-prober

سپس گراب را نصب میکنیم :

# pacman -S grub
# grub-install --recheck /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

تا اینجا مراحل نصب به اتمام رسید و باید سیستم را ریبوت کنیم . قبل از خروج از chroot باید از اتصال صحیح سیستم به اینترنت بعد از ریبوت اطمینان حاصل کنیم .

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

# ip link

خروجی باید چیزی شبیه به متن زیر باشد :

۱: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mod
e DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
۲: enp1s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel st
ate UNKNOWN mode DEFAULT group default qlen 1000
link/ether 00:24:01:a2:e2:29 brd ff:ff:ff:ff:ff:ff
۳: enp0s7: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel
state DOWN mode DEFAULT group default qlen 1000
link/ether 00:1f:d0:be:c0:a4 brd ff:ff:ff:ff:ff:ff

در صورتیکه از اینترنت وایرلس استفاده میکنیم باید مدخل مربوط به وایرلس که با حرف w شروع میشود را ببینید و در صورتیکه از کابل لن استفاده میکنید از مدخلی که با حرف e شروع میشود استفاده کنید :

مثلا در سیستم من اسم کارت شبکه من enp1s9 میباشد

برای کانفیگ کردن اینترنت جهت کارکردن بعد از ریبوت سیستم دستور زیر را میزنیم :

# systemctl enable dhcpcd@NAME-OF-THE-NETWORK.service

که NAME-OF-NETWORK همان اسم کارت شبکه ماست . مثلا برای من :

# systemctl enable dhcpcd@enp1s9.service

حالا از chroot خارج میشویم و پارتیشن ها را unmount میکنیم و سیستم را ریبوت میکنیم :

# exit
# umount -R /mnt
# reboot

بوت شدن سیستم تازه نصب شده

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

sudo pacman -S xorg-server xorg-xinit xorg-server-utils mesa xorg-twm xorg-xclock xterm

نصب کارت گرافیک nvidia

# sudo pacman -S nvidia lib32-nvidia-utils

یک بار سیستم را ریبوت میکنیم تا درایور کارت گرافیک برروی کرنل قرار گیرد.

بعد از نصب و ریبوت سیستم . ابتدا دستور زیر را میزنیم تا محیط x شروع به کار کند :

startx

نصب تاچ پد در لپتاپ ها

# pacman -S xf86-input-synaptics

نصب Desktop Enviroment

نصب KDE :

sudo pacman -S kde
 systemctl enable kdm.service
pacman -S kdeplasma-applets-plasma-nm
pacman -S alsa-utils pulseaudio kdemultimedia-kmix

نصب GNOME :

sudo pacman -S gdm gnome gnome-extra
systemctl enable gdm.service

نصب XFCE .
برای نصب میزکار XFCE ابتدا باید یک مدیر پنجره نصب کنیم ، برای این منظور از مدیر پنجره های kdm ، gdm, slim,lxdm و … میتوان استفاده کرد . در این آموزش من از مدیر پنجره lxdm استفاده میکنم :

sudo pacman -S lxdm
sudo pacman -S xfce4 xfce4-goodies
systemctl enable lxdm.service

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

 sudo pacman -S ntfs-3g 

سپس برای اینکه پارتیشن های دیگر همیشه به صورت اتوماتیک ماونت شوند به صورت زیر عمل میکنیم:
ابتدا با استفاده از دستور زیر UUID تمامی پارتیشن ها را بدست می آوریم:

 sudo blkid 

سپس فایل fstab را بصورت زیر ویرایش میکنیم :

nano /etc/fstab

پارتیشن های ویندوزی همگی در فایل fstab قرار گرفته و در فرایند بوت سیستم mount میشوند. mount Point در پارتیشن media/ قرار دارد. شما از هر پارتیشن دلخواهی برای این منظور میتوانید استفاده نمایید.

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

# grub-install --recheck /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

نکته :در صورتیکه با اضافه کردن پارتیشن های جدید به سیستم، در هنگام بوت دچار خطای emergency mode شدید با زدن Ctrl+D وارد سیستم عامل خود شده و سپس سیستم را آپدیت نمایید . با آپدیت کرنل مشکل مرتفع خواهد شد.

پس از نصب :
پس از نصب آرچ با استفاده از دستور زیر اقدام به نصب Yaourt میکنیم :

sudo pacman -S yaourt

با توجه به عدم به روز رسانی yaourt برای دسترسی به مخازن AUR از برنامه trizen استفاده میکنیم:

sudo pacman -S trizen

AUR مخازن غیر رسمی توزیع آرچ را تشکیل میدهد که با استفاده از برنامه trizen میتوان از این مخازن استفاده کرده و اقدام به نصب بعضی از برنامه ها کنیم .به عنوان مثال :

trizen foo 

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

 sudo pacman -Sy 

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

 sudo pacman -Syu

و بصورت معادل برای trizen داریم :

 sudo trizen -Syu

سوئیج بین زبان فارسی و انگلیسی :
با استفاده از دستورات زیر میتوان به صورت موقت بین زبان فارسی و انگلیسی با استفاده از Ctrl+Shift سوئیچ کرد .

setkbmap -layout us,ir
setxkbmap -option
setxkbmap -option "grp:alt_shift_toggle"

با استفاده از Setting Manager میتوان برای تغییر کیبورد شورتکات تعریف نمود.

برای نصب و راه اندازی صوت در آرچ لینوکس احتیاج به نصب برنامه ها و کدک های صوتی زیر میباشد:

sudo pacman -S alsa-plugins alsa-utils alsa-oss pulseaudio pavucontrol
sudo pacman -S gst-libav gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-plugins-base gst-plugins-base-libs gstreamer

موفق باشید .

5 Comments

  1. LinArcX

    جز سرراست ترین و کاربردی ترین آموزش های نصب آرچ هست.مرسی بابت زحمت هاتون علی جان.

    Reply
  2. Pingback: آموزش نصب arch Linux | Helper PC

  3. Pingback: نصب freeBSD بر روی Raspberry PI - Nutshell

  4. Pingback: نصب ARCH | نالکس

  5. علی

    سلام
    خیلی عالی توضیح دادین، ممنون.
    اگه ممکنه فونت سایتتون رو عوض کنین، خوندن مطالب سخته

    Reply

Leave a Comment

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *