安裝 Arch Linux

Arch Linux 介紹

Arch Linux 是 Linux 的一種發行版,它遵循 Arch之道(The Arch Way),核心理念就是 KISS 原則(Keep It Simple, Stupid)。

基于這個原則,Arch Linux 系統在安裝時只會安裝最基礎的軟件包,用戶可以根據自己的需要在系統安裝完成之后自行安裝其他軟件包,這樣就把系統做到盡可能的精簡。

Arch Linux 提供了一個非常好用的軟件管理工具 pacman,所有的軟件都可以通過 pacman 來進行管理(下載,安裝,升級,卸載等)。而且, Arch Linux 一個很大的特點就是軟件包非常新,Arch Linux 總是第一時間嘗試新的軟件,比如最新的內核等。另外,Arch 的 AUR 倉庫包含大量軟件包,只需一個 makepkg 命令即可構建,非常方便。

Arch 采用滾動更新的方式,不像其他系統那樣有發行的版本(比如 Windows 7, Windows 10, Ubuntu 12.04, Ubuntu 16.04等等),系統一旦安裝,就不再需要重裝,因為一旦系統中的某個庫或者核心包有了更新, Arch Linux 的軟件廠庫就會把它加入升級,通過 pacman 系統可以隨時得到最新的升級,而無需重裝一個新的系統。

下載安裝 Arch ISO

https://archlinux.org/download/

1、引導安裝介質
進入 BIOS 進行修改引導順序,將安裝介質調至第一引導順序,保存設置并重啟。
進入BIOS的方式已知的有:開機時按下 [Delete]、[F1]、[F2]、[F11] 或 [F12] 鍵。
使用引導菜單引導安裝介質。引導菜單調出方式已知的有:開機時按下[Esc]、[F8]、[F9] 鍵或 [F12] 鍵。

2、出現引導界面,選擇 Boot Arch Linux 并回車。

3、進入系統之后,檢查是否開啟 UEFI 模式
主板是否支持UEFI以及UEFI模式是否開啟會影響安裝方式。

  # mount -t efivarfs efivarfs /sys/firmware/efi/efivars # 若已掛載則無視
  # efivar -l

若 Arch Linux 是以 UEFI 模式啟動的, 則 efivar 會正確地列出UEFI變量

分區

1、查看硬盤,lsblk
這個命令可以列出機器上所有的硬盤和分區情況。


如果本機只有一塊硬盤,那么就是 /dev/sda, 如果有第二塊、第三塊硬盤,那么就是 /dev/sdb, /dev/sdc, 以此類推。
每塊硬盤的不同分區用數字標示,比如 sda1, sda2, sda3 依次遞增。

2、確定使用何種分區格式(MBR 還是 GPT),還需要確定需要幾個分區。
分區的要求是至少要有一個分區。通常,我們會劃分3個,分別為 /boot, / , /home。
通常, /boot 通常只需要大概 100 MB 大小就足夠了,/home 分區會存儲所有用戶的數據,需要足夠大!然后把剩余的容量劃分到 根目錄 / 分區。
另外,若安裝目標內存 ≤ 2GB,建議添加一個swap分區, swap分區的大小一般建議為內存的2倍。如果內存超過2G,則可以不必使用swap分區。如果內存大于8G的話,可以不設置 swap 分區。

簡單來說,如何安排分區,取決于每個人如何規劃。現在假設硬盤120 G,可以大致參考下面的方案:

/dev/sda1  100 MB  /boot  物理分區
/dev/sda2  40G     /      物理分區
/dev/sda3  60G     /home  物理分區
/dev/sda4  8G      swap   物理分區

3、確定好分區方案之后,使用 cfdisk 或者 parted 進行分區(cfdisk 是可視化的,更加方便一些),下面是常用的幾個分區工具的比較:
(1). cfdisk
cfdisk是一個漂亮的程序,它只接受最嚴謹的分區表, 而且它能生成高質量的分區表。如果可能,你最好使用這個程序。最大的亮點就是使用方便,字符界面下的交互界面很好。
(2). fdisk
這個是很多人一開始都會使用的工具,據說是一個有很多bug的分區工具軟件(我用了很久,也沒有發現過 bug,或許現在已經完善了)。 它所做的操作是模糊不清的,通常在碰巧的情況下它才會正常的運行(據說)。 它唯一值得使用的地方是它對 BSD 的磁盤標簽和非 DOS 的分區表有所支持, 盡量少用這個程序(據說,我沒有任何證據正名它是不行的)。
(3). sfdisk
是一個專為黑客提供的程序,它的用戶界面很不友善,但它更精確,也比 fdisk 和 cfdisk更有效。另外,它只能以非交互的方式運行。我基本上只用在使用它看分區表。

直接執行 cfdisk 或者 cfdisk /dev/sda 來進行硬盤分區,會出現如下所示界面,選擇 dos, 然后根據提示操作即可。

按照上述規劃, sda1 作為 /boot 分區, sda2 作為 / 分區, sda3 作為 /home 分區, sda4 作為 swap 分區

4、分區完成之后,就需要對分區進行格式化來創建文件系統、同時,創建并激活 swap 分區(mkswap,swapon)
ArchLinux 支持許多文件系統,比如 FAT, ext4, btrfs 等等。如果對文件系統沒有概念,那么推薦使用 ext4,這個是 archlinux 下最常見的文件系統。 btrfs 據說對 SSD 有優化。

Arch Linux 自帶了不同的格式化工具,他們均在 /usr/bin 目錄下

# ls -1 /usr/bin/ | grep -E 'mkfs|mkswap'...
mkfs.ext4*    # ext4 格式化工具...
mkfs.fat*     # fat 格式化工具...
mkswap*       # swap 格式化工具

下面對所有分區進行格式化:

# mkfs.exr4 /dev/sda1
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda3
# mkswap    /dev/sda4
# swapon    /dev/sda4

注意:對 swap 分區的創建是使用 mkswap 命令,而且創建完成之后還需要執行 swapon 命令進行激活。這樣的目的是為了讓 genfstab 能生成 fstab 時包含swap分區

四、進行系統安裝 Installation

1、掛載新分區
分區格式化完成之后,文件系統就已經建立完畢。這時候就需要把分區掛載到系統中。
執行 mount 命令進行掛載,命令格式是: mount <設備名> <掛載點>。需要注意掛載順序,根目錄 / 需要最先掛載。
根目錄掛載完之后,需要創建其他掛載點(也即根目錄下的子目錄,比如 /home,/boot 等),然后依次掛載。

mount /dev/sda2 /mnt
mkdir /mnt/{boot,home}
mount /dev/sda1 /mnt/boot
mount /dev/sda3 /mnt/home

swap 分區無需進行掛載, 其不屬于文件系統。

2、選擇更新源

sed -i "s/^\b/#/g" /etc/pacman.d/mirrorlist
nano /etc/pacman.d/mirrorlist
pacman -Syy

3、安裝基礎系統
選項 -i 是用來選擇確認,也可以去掉,直接一步完成。
# pacstrap -i /mnt base base-devel

4、生成 fstab 并檢查 fstab 是否正確
選項 -U 是用來指定 uuid 格式。
# genfstab -U -p /mnt >> /mnt/etc/fstab
# cat /mnt/etc/fstab

參考檢查項:
對于每一行的最后一部分 <pass> ,/ 分區應該為 1,其他分區為 2。
btrfs 分區(無論是否為 / 分區)及 swap 分區的應該為 0。
若發現錯誤,直接對 fstab 進行修正,勿再次執行 genfstab。

注意:這里使用的是UUID,如果不加-U,那么在 fstab中記錄的就是 /dev/sdX 之類的地址了,UUID 的方式更加好,為什么呢?請自行wiki。

fstab 大致內容如下:

[root@arch ~]# cat /etc/fstab
# 
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>   <dump>  <pass>
/dev/sda1   UUID=8084711b-2eab-4da8-aef2-0c9e8f4cbf70 /boot ext4 rw,relatime,data=ordered    0 2
/dev/sda2   UUID=66456dcc-5f5f-49a6-96a6-536f736eccb6   /   ext4 rw,relatime,data=ordered    0 2
/dev/sda3   UUID=d6fb3286-aeff-4c72-b91c-14ca22e1db08 /home ext4 rw,relatime,data=ordered    0 2
/dev/sda4   UUID=06f7e8e8-6323-4eff-918f-2fb6c004322d  none swap defaults 0 0

五、配置基礎系統

1、進入新系統
首先使用 chroot 進入已經部署好的基本系統,關于 chroot 的知識,點擊進入

# arch-chroot /mnt/bin/bash
# alias ls='ls --color'

2、Locale
Locale 決定了軟件使用的語言、書寫習慣和字符集

需要編輯兩個文件:locale.genlocale.conf
/etc/locale.gen 是一個僅包含注釋文檔的文本文件。指定您需要的本地化類型,只需移除對應行前面的注釋符號(#)即可,請選擇帶 UTF-8的項,使用 vi 打開并編輯 /etc/locale.gen 文件,解開以下三項的注釋:

en_US.UTF-8 UTF-8  
zh_CN.UTF-8 UTF-8  
zh_TW.UTF-8 UTF-8

實際操作中,除了上面三行內容外,其它內容都可以刪除。然后執行locale-gen 以生成 locale 信息:

$ locale-gen  

創建 locale.conf 并提交我們的本地化選項:

$ echo LANG=en_US.UTF-8 > /etc/locale.conf 

簡體中文用戶可執行:

# sed -i '/zh_CN.UTF-8/{s/#//}' /etc/locale.gen
# locale-gen
# echo LANG=zh_CN.UTF-8  > /etc/locale.conf

如果不安裝桌面環境,使用 en_US.UTF-8 即可。

2.設置console

編輯 /etc/vconsole.conf,然后輸入如下內容:

KEYMAP=us
FONT=

3、設置時區
可用的時區全集中在 /usr/share/Zone/SubZone 目錄中,所以要查看可用時區,直接瀏覽 /usr/share/zhoninfo 即可。
將 /etc/localtime 軟鏈接到 /usr/share/zoneinfo/Zone/SubZone,這里采用上海的時區:
中國大陸用戶可執行:

# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# ln -s /usr/share/zoneinfo/<時區>/<子時區> /etc/localtime

硬件時間
使用 utc 時間

# hwclock --systohc --utc

自動校對時間

# pacman -S ntp
# systemctl enable ntpd

4、主機名
設置主機名

# echo <主機名> > /etc/hostname

5、創建ramdisk環境

# mkinitcpio -p linux

6、為 root 設置密碼

# passwd

7、添加用戶
添加一個用戶并把它添加進 wheel 組,通常 wheel 組具有 sudo 權限。
# useradd -m -g users -G wheel -s /bin/bash alex
# passwd alex

8、配置 sudo

# pacman -S sudo
# visudo

刪去 wheel 組前面的注釋,把其權限開放出來。

# %wheel ALL=(ALL) ALL

9、配置網絡 networkmanager

# papcman -S networkmanager
# systemctl enable NetworkManager

網絡工具,有線和無線

pacman -S dhcpcd wpa_supplicant dialog

為了使開機就有網絡,需設置dhcpcd開機自啟動

systemctl enable dhcpcd

六、安裝引導器 bootloader

(1)對于BIOS用戶,這里推薦使用GRUB
BIOS + MBR:

# pacman -S grub (os-prober # 啟動 win + linux 雙系統)
# grub-install --target=i386-pc --recheck /dev/sda

生成默認配置文件

# grub-mkconfig –o /boot/grub/grub.cfg

注意:這里不需要指明 sda1、2之類的,直接指定硬盤即可。

(2)使用UEFI的用戶,現在的啟動器是system-boot,是直接用systemd來啟動系統。
UEFI:

只需要運行如下命令:

bootctl install

雖然換成了system-boot,但是配置依舊少不了。
首先我們需要在/boot/loader/entries文件夾中創建名為arch.conf的配置文件,命令:

nano /boot/loader/entries/arch.conf
然后添加如下內容:

title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sda2 rw

注意:root部分可以填寫UUID,執行blkid可查看分區的UUID。但是為了圖方面,我就直接用路徑代替了,sda3即為root分區,各位需要根據自己的分區情況自行決定。

接下來需要配置 /boot/loader/loader.conf,這個文件有默認的內容,只需要修改下即可。

timeout 3
default arch

注:timeout 3指的是系統開機后的等待時間,按以上設置會出現一個開機啟動菜單,3指的是等待3秒讓我們選擇,不過本人希望更快一點,故本人直接設置為0

# mount -t efivarfs efivarfs /sys/firmware/efi/efivars # 若已掛載則無視
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=arch_grub --reche

生成配置文件:

# grub-mkconfig -o /boot/grub/grub.cfg

七、退出安裝環境

執行下列命令

#exit
#umount -R /mnt
#reboot

至此,這樣一個完全可用的 Arch Linux 就安裝完成了,如下圖:

當然安裝好系統只是第一步,還有很多需要我們學習。

八 聲音管理

某些桌面環境亦提供了聲音控制功能。若此時跳過本節,亦可稍后進行設置。
Arch Linux默認開啟了聲音支持,默認靜音。用戶可通過下列命令取消靜音:
1、安裝 alsa-utils

# pacman -S alsa-utils

2、配置
#alsamixer
方向鍵 選中 Master 和 PCM
[M] 取消靜音

九、配置圖形用戶界面

1、安裝顯卡驅動
確定顯卡型號:

$ lspci | grep VGA

對應驅動包:
Intel 顯卡:xf86-video-intel
nVidia 顯卡:
GeForce 7 以上:xf86-video-nouveau;nvidia
GeForce 6/7:xf86-video-nouveau;nvidia-304xx
AMD/ATI 顯卡:
開源驅動:xf86-video-ati

2、安裝驅動

# pacman -S 驅動

如果是在 virtualbox 中安裝 archlinux,需要把 kernel 模塊加上。

# pacman -S linux-headers
# pacman -S virtualbox-guest-utils

添加進模塊

# modprobe -a vboxguest vboxsf vboxvideo

創建一個模塊配置文件,比如取名為 vbox.conf,然后編輯該文件,添加下列三行,

vboxguest
vboxsf
vboxvideo

3、安裝 X 窗口系統
3.1 安裝 Xorg Server

#pacman -S xorg-server xorg-server-utils xorg-xinit

3.2 安裝3D支持

#pacman -S mesa

3.3 添加觸摸板支持

# pacman -S xf86-input-synaptics

3.4 安裝字體
Dejavu 和文泉驛-微米黑

# pacman -S ttf-dejavu wqy-microhei

4、安裝桌面環境
Arch Linux 有許多桌面環境可供選擇:Cinnamon(gnome-terminal)、GNOME(gnome-extra)、KDE、LXDE、Xfce。
https://wiki.archlinux.org/index.php/Desktop_environment

# pacman -S cinnamon (gnome-terminal)

或者

# pacman -S xfce4

安裝附加功能:

# pacman -S xfce4-goodies

5、啟動桌面環境(顯示管理器)
安裝 lightdm

#pacman -S lightdm lightdm-gtk3-greeter或lightdm-gtk2-greeter(#安裝cinnamon時,使用gtk3)
#systemctl enable lightdm

6、安裝輸入法(fcitx)
安裝

#pacman -S fcitx-im

配置:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

KDM、GDM、LightDM 等顯示管理器的用戶,向 ~/.xprofile添加以上內容。
使用 startx 或 slim 的用戶,向 ~/.xinitrc 添加以上內容。

參考

https://wiki.archlinux.org/index.php/Installation_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容