硬核Linux發(fā)行版:記錄一次完整的Archlinux安裝過(guò)程

參考文檔,感謝原作者及Archlinux社區(qū)的貢獻(xiàn):

Intro

當(dāng)我第一次了解到 Archlinux 這獨(dú)具特色的發(fā)行版后,我的大腦是這樣想的``(  ̄ー ̄)

這什么玩意,全程安裝無(wú)圖形界面,NT玩家才會(huì)去折騰這玩意。。。
滾動(dòng)更新有什么實(shí)際意義?只會(huì)導(dǎo)致系統(tǒng)穩(wěn)定性下降吧。
......

但似乎在很多社交網(wǎng)站或者技術(shù)論壇上,總會(huì)出現(xiàn)一群 Archlinux 的邪教徒的身影,他們高聲大喊著:Archlinux, yes!。行吧,于是我也抱著試試看的心理開(kāi)始接觸Arch。 *兩三天后,不出意外的 真香.~~*

ArchWiki 是這樣描述的:

Arch Linux is an independently developed, x86-64 general-purpose GNU/Linux distribution 
that strives to provide the latest stable versions of most software by following a 
rolling-release model. The default installation is a minimal base system, configured by 
the user to only add what is purposely required.

Q:Arch 憑什么能在眾多 Linux 中展露鋒芒?

A:Archlinux 相較于其他發(fā)行版最大的特點(diǎn)其一是高度的可定制性,其二是激進(jìn)的滾動(dòng)更新(a rolling-release model)。Btw,像 OpenSUSE 和 Arch 的衍生 Manjaro 同樣運(yùn)用了滾動(dòng)更新的包管理器。

Notice. 此博文將會(huì)記錄一次完整的Archlinux安裝過(guò)程,由于手頭沒(méi)有閑置的設(shè)備,將在Parallels Desktop虛擬機(jī)環(huán)境下進(jìn)行。由于Pd中運(yùn)行Linux模擬了BIOS傳統(tǒng)引導(dǎo)的主板且無(wú)法修改,但事實(shí)上只要不是太老的機(jī)型,幾乎所有x86平臺(tái)都采用了UEFI引導(dǎo)方式,這會(huì)導(dǎo)致在安裝過(guò)程中的部分步驟會(huì)與實(shí)際情況大相徑庭(如使用cfdisk分區(qū)時(shí)的分區(qū)策略不同,分區(qū)表格式會(huì)有mbr+bios和guid+uefi的區(qū)分,使用grub bootloader引導(dǎo)系統(tǒng)時(shí)也會(huì)有較大差異)。綜上,如果你想通過(guò)這篇文章來(lái)學(xué)習(xí)如何安裝Archlinux的話,建議還是在網(wǎng)絡(luò)上尋找更多的參考資料。我們應(yīng)該從安裝過(guò)程中學(xué)習(xí)到很多內(nèi)容,而不是僅僅為了得到一個(gè)Linux系統(tǒng)而安裝,此文只起拋磚引玉的作用。同步我的博客原文地址!

廢話不多說(shuō),開(kāi)始吧。<( ̄︶ ̄)↗[GO!]

從官網(wǎng)獲取LiveCD

進(jìn)入 Archlinux 的下載頁(yè)面,推薦下載 BitTorrent 種子文件至本地,再使用 Thunder 或 Motrix 等第三方磁力下載工具,或者你也可以選擇下方國(guó)內(nèi)的鏡像源,如清華大學(xué)的 Tsinghua tuna,一直為 Linux 開(kāi)源社區(qū)提供著優(yōu)良的鏡像服務(wù)。Arch 團(tuán)隊(duì)考慮也挺周全,為用戶還提供了Docker 鏡像,VM 虛擬機(jī),Vagrant(一家主要提供在線Virtualbox虛擬技術(shù)服務(wù)的國(guó)外云平臺(tái))鏡像等多個(gè)版本,這些內(nèi)容會(huì)在 Downloads 頁(yè)面呈現(xiàn)。

下載好的iso文件可以使用如下命令來(lái)校驗(yàn)簽名,前提是已安裝 GnuPG

gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig`

如果已經(jīng)有一臺(tái)配置好的 Arch,也可以用 pacman-key(其中version字段名請(qǐng)自行替換)

pacman-key -v archlinux-version-x86_64.iso.sig

至目前,最新版本是 archlinux-2021.02.01-x86_64.iso。鏡像文件已經(jīng)準(zhǔn)備就緒,我們需要一個(gè)USB接口的U盤作為安裝介質(zhì),可以采用 rufus,belenaEtcher 等工具將iso鏡像文件燒錄至U盤,開(kāi)機(jī)引導(dǎo)U盤啟動(dòng)。具體步驟不做贅述。

安裝系統(tǒng)

連接網(wǎng)絡(luò)和時(shí)間同步

如果是BIOS引導(dǎo),會(huì)看到這樣的界面,

圖01

選中第一項(xiàng) Arch Linux install medium (x86_64, BIOS),回車進(jìn)入 LiveCD 系統(tǒng),實(shí)際上就是你U盤里面封裝好的 Archlinux,系統(tǒng)已經(jīng)包含了安裝所需要的編輯器,網(wǎng)絡(luò)組建等。經(jīng)過(guò)短暫的跑碼系統(tǒng)會(huì)將你自動(dòng)登入 root 根用戶。

圖02

注意第四段的文字:

For Wi-Fi, authenticate to the wireless network using the iwctl utility.
Ethernet and Wi-Fi connections using DHCP should work automatically.

這段文字的意思是,如果使用 Wi-Fi 鏈接英特網(wǎng)請(qǐng)使用 iwctl 命令;有線連接即DHCP客戶端動(dòng)態(tài)分配IP 可以不做任何配置。如果是特殊網(wǎng)絡(luò)環(huán)境,如PPPoe撥號(hào)或是校園網(wǎng),建議使用手機(jī)共享USB網(wǎng)絡(luò),系統(tǒng)會(huì)作為 DHCP 網(wǎng)絡(luò)來(lái)處理。

檢查一下網(wǎng)絡(luò)聯(lián)通性:

圖03

可選同步系統(tǒng)時(shí)間,采用常用的 NTP 協(xié)議(同不同步無(wú)所謂),:

timedatectl set-ntp true

使用 timedatectl status 檢查。

磁盤分區(qū)

BIOS with MBR

Mount point Partition Partition type Suggested size
[SWAP] /dev/swap_partition Linux swap More than 512 MiB
/mnt /dev/root_partition Linux Remainder of the device

UEFI with GPT

Mount point Partition Partition type Suggested size
/mnt/boot or /mnt/efi /dev/efi_system_partition EFI system partition At least 260 MiB
[SWAP] /dev/swap_partition Linux swap More than 512 MiB
/mnt /dev/root_partition Linux x86-64 root (/) Remainder of the device

以上兩個(gè)分區(qū)參考表格摘自Arch Wiki,這里使用第一個(gè)方案,但有些注意事項(xiàng)值得一提。

  • swap 交換分區(qū)的作用:當(dāng)系統(tǒng)物理 RAM 內(nèi)存不夠用時(shí),系統(tǒng)會(huì)將 RAM 里的低訪問(wèn)頻率的內(nèi)存對(duì)象放置到 swap 分區(qū)中。故 swap 分區(qū)訪問(wèn)速度要遠(yuǎn)慢于物理內(nèi)存。
  • UEFI 引導(dǎo)的機(jī)型在磁盤中已經(jīng)存在了 ESP 分區(qū),Windows boot manager 引導(dǎo)文件會(huì)存放在該分區(qū)的 EFI 目錄下。如果這樣,就沒(méi)必要新建 EFI 分區(qū),直接將原有的直接掛載到 /mnt/boot 即可。

使用 lsblk 命令查看磁盤情況,可以看到 loop0 和 sr0 是當(dāng)前 LiveCD 的虛擬磁盤,我們要做的是在 12GB 的 sda IDE磁盤上安裝 Arch:

圖04

磁盤工具可以選擇 fdisk 或 cfdisk,這里以 cfdisk 作為演示。輸入 cfdisk /dev/sda 他會(huì)提示選擇分區(qū)表格式,mbr 即 dos?;剀囘M(jìn)入配置界面,按照表一做好 Linux 分區(qū)(ext4)和 swap 。如圖:

圖05

mke2fs 工具可以用于格式化 Linux ext 格式分區(qū)(這里是/dev/sda2),但 Linux 不僅僅限于 ext4 格式,傳統(tǒng)的有 ext234 系列,比較新的有 zfs 諸類,zfs 計(jì)劃在之后嘮一嘮,這里選擇 ext4,畢竟幾乎所有發(fā)行版都會(huì)采用 ext4;同時(shí) mkswap 格式化 swap 分區(qū),完成后可以看見(jiàn)如下信息:

圖06

主磁盤分區(qū)已準(zhǔn)備就緒,命令

mount /dev/sdax /mnt
swapon /dev/sdax

分別掛載磁盤和應(yīng)用交換分區(qū)。接下來(lái)進(jìn)入安裝階段。

系統(tǒng)安裝

Arch 完全通過(guò)鏈接互聯(lián)網(wǎng)來(lái)安裝基本系統(tǒng)組件,譬如 linux linux-devel base base-devel dhcpcd 等包。由于大陸網(wǎng)絡(luò)環(huán)境的特殊情況,如果使用 arch 的官方倉(cāng)庫(kù)可能會(huì)耗費(fèi)大把時(shí)間,因此切換國(guó)內(nèi)鏡像源是完全有必要的。

LiveCD 早已集成了 vim 編輯器,使用

vim /etc/pacman.d/mirrorlist

編輯鏡像源文件,如圖:

圖07

熟悉 vim 的同學(xué)一定會(huì)用快捷鍵 : + /target,快速指定到 target 字段的位置。Archlinux 在用戶使用 pacman 命令時(shí)會(huì)按從上到下的順序索引該 mirrorlist 配置文件,我們要將 China 的 Server 地址移至最頂端。使用 n + d + d 可剪切 n 行的內(nèi)容,用 p 粘貼。這里使用網(wǎng)易的源:

圖08

完成后 wq! 退出。pacstrap 工具可為指定分區(qū)安裝必備的 base,linux,linux-firmware 包,其他根據(jù)需求自選,如base-devel(包含了基本的 gcc 編譯器等),dhcpcd 網(wǎng)絡(luò)工具,命令菜單man texinfo,文本編輯器 vi vim nano等。。。

pacstrap /mnt base base-devel linux linux-firmware dhcpcd vim nano

英文好的同學(xué)可以看一下官方的說(shuō)明:

The base package does not include all tools from the live installation, 
so installing other packages may be necessary for a fully functional base system. 
In particular, consider installing:

·userspace utilities for the management of file systems that will be used on the system,
·utilities for accessing RAID or LVM partitions,
·specific firmware for other devices not included in linux-firmware,
·software necessary for networking,
·a text editor,
·packages for accessing documentation in man and info pages: man-db, man-pages and texinfo.

安裝完成后的提示如圖

圖09
圖10

為系統(tǒng)磁盤分區(qū)生成 UUID 卷標(biāo),UUID 值可使用 lsblkid 查看:

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

進(jìn)入系統(tǒng)并配置基本信息

到目前為止,我們?nèi)匀皇褂玫氖?U 盤 中的 LiveCD 系統(tǒng),arch-chroot 進(jìn)入 Archlinux?。?!

圖11

首先要更新時(shí)區(qū),ln -sf 創(chuàng)建動(dòng)態(tài)鏈接至 /etc/localtime,大陸用戶請(qǐng)使用 Shanghai 標(biāo)準(zhǔn)時(shí)間。

圖12

更新時(shí)間,前提是在前面已設(shè)置 ntp 協(xié)議:

hwclock --systohc

編輯語(yǔ)言文件 /etc/locale.gen 并且解注釋 en_US 和 zh_CN,具體操作不贅述。保存完成后更新語(yǔ)言:

locale-gen
圖13

新建文件 /etc/locale.conf,同時(shí)添加以下內(nèi)容(請(qǐng)不要使用中文作為默認(rèn)語(yǔ)言)

LANG=en_US.UTF-8

接下來(lái)配置本地網(wǎng)絡(luò),arch 的 hosts 文件存在于 /etc/hosts,vim 編輯以下內(nèi)容:

127.0.0.1   localhost
::1     localhost
127.0.1.1   myhostname.localdomain  myhostname

myhostname 為網(wǎng)絡(luò)主機(jī)名,請(qǐng)新建文件 /etc/hostname 并添加 myhostname 字段名,請(qǐng)自行替換主機(jī)名。
如:

圖14

??如果你擁有固定的公網(wǎng) ip,用它來(lái)替換 127.0.0.1(我相信大部分私人電腦都搞不到固定公網(wǎng)ip?(? ? ??) )

mkinitcpio -P 生成 initramfs img 鏡像,其實(shí)這個(gè)過(guò)程在 pacstrap 時(shí)已經(jīng)跑了一遍。

圖15

普通用戶組的添加

首先 passwd 設(shè)置 root 密碼,密碼不會(huì)顯示明文,輸入后回車即可。

圖16

wheel 組中添加新用戶,編輯 /etc/sudoers 文件解注釋 %wheel,這樣 username 用戶就可以使用 sudo 來(lái)獲得 root 權(quán)限了。同樣的,passwd設(shè)置密碼。

useradd -m -G wheel username
passwd username
圖22

grub 系統(tǒng)引導(dǎo)

Linux 的系統(tǒng)引導(dǎo)程序數(shù)不勝數(shù),eg. grub sysLinux rEFInd Clover。一般情況首選 grub,如果是 BIOS 傳統(tǒng)啟動(dòng)需要 Grub-Legacy(官方開(kāi)源倉(cāng)庫(kù)已經(jīng)移除,需通過(guò) AUR 安裝) 或 Grub 和 os-prober,UEFI 請(qǐng)用 grub 和 efibootmgr。這里以 BIOS 為例。

圖17

grub-install 進(jìn)行安裝,不出意外能看到成功信息:

圖18

exit 退出返回 LiveCD,卸載分區(qū),reboot 重啟,系統(tǒng)基本組件就安裝完成了!??!

圖19

圖形界面安裝

kde,gnome,xfce,dde 屬于 DE(Desktop Environment);i3,dwm 屬于窗口管理器。Archlinux 的高度可自定義性使我們可任意選擇自己喜歡的圖形界面。

本篇博客以基于 qt5 精美的 KDE 作為桌面環(huán)境 (Gnome 黨不要打我ヽ(???*)?━━━?? )

補(bǔ)充:猶且記得第一次實(shí)體機(jī)安裝 Arch 時(shí),現(xiàn)實(shí)并沒(méi)有想象中的美好。首次 grub 引導(dǎo)進(jìn)入系統(tǒng)后網(wǎng)絡(luò)問(wèn)題可能是最大的判腳石,沒(méi)有通用的解決方案,請(qǐng)自行上網(wǎng)搜索吧行不行就看你是歐皇還是非酋了,設(shè)想會(huì)另寫一篇說(shuō)一下網(wǎng)絡(luò)問(wèn)題和雙顯卡驅(qū)動(dòng)。

確保網(wǎng)絡(luò)是通暢的,我演示時(shí)只需 systemed 開(kāi)機(jī)啟動(dòng) dhcpcd 服務(wù)即可:

圖20

emm.現(xiàn)在回到正題。

安裝 Xorg 服務(wù)和 KDE-plasma 還有啟動(dòng)管理器 sddm,不建議安裝 kde 的全家桶 kde-applications(非常臃腫?。。?,這里只裝了 dolphin 和 konsole 終端。

如圖(截圖時(shí)已提前安裝了 Xorg):

圖24

systemctl 讓 sddm 開(kāi)機(jī)自啟

systemctl enable sddm

最后一步了,配置系統(tǒng)字體,安裝中文文泉驛 microhei 和英文 dejavu:

圖25

重啟!你就能看到久違的圖形化桌面了。真可謂“山重水復(fù)疑無(wú)路,柳暗花明又一村”~

后續(xù)優(yōu)化

有兩點(diǎn)內(nèi)容需要知道:
1.yay 2.archlinuxcn 源

yay 是繼神器 yaourt 后又一個(gè) AUR 倉(cāng)庫(kù)包管理器,擁有 pacman 的幾乎所有功能并且能夠抓取 AUR 倉(cāng)庫(kù)軟件。輸入 pacman -S yay 即可安裝。

archlinuxcn 顧名思義,是中國(guó) Arch 用戶自行維護(hù)的倉(cāng)庫(kù)。由于所有 Linux 發(fā)行版?zhèn)}庫(kù)中都只有開(kāi)源軟件,像 Google Chrome 商業(yè)軟件時(shí)不可能包含在內(nèi)的。archlinuxcn 源早已編譯好了很多常用的軟件:Chrome,WPS Office,Neteasecloudmusic,搜狗輸入法等等,確實(shí)能帶來(lái)不少便利。請(qǐng)參考清華大學(xué)的文檔安裝:https://mirrors.tuna.tsinghua.edu.cn/help/archlinuxcn/

高中生活時(shí)間很緊,一個(gè)星期只有一天能趕一點(diǎn)文字。這篇博客真的寫了很長(zhǎng)時(shí)間,滿打滿算1個(gè)半月,貼點(diǎn)圖片紀(jì)念一下吧:

圖27
圖28
圖29
圖30
圖31
圖32

Outro

按照 Archlinux 官方的介紹,他們團(tuán)隊(duì)維護(hù)著Arch一直秉持著五個(gè)理念:

Simplicity, Modernity, Pragmatism, User Centrality, Versatility

簡(jiǎn)而言之:Keep It Simple, Stupid.

保持簡(jiǎn)約,一目了然再好不過(guò)了。

或許從中也能得到啟發(fā):生活固然不簡(jiǎn)單,即使這樣也要簡(jiǎn)單的生活。

Billy Shao,

2/24/2021記.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容