本文的寫作目的不只是提供一個流水線式的 Arch Linux 的安裝步驟俏橘,更希望通過一些簡單的講解使各位了解一些基本的 Linux 系統(tǒng)知識。即 “知其然施逾,知其所以然敷矫。”
在 VirtualBox 中安裝 Arch Linux 的主要步驟如下:
- 準備 VirtualBox汉额。
- 磁盤分區(qū)曹仗。
- 分區(qū)格式化。
- 配置安裝包鏡像源蠕搜。
- 掛載分區(qū)并安裝系統(tǒng)怎茫。
- 生成 fstab 文件。
- 配置系統(tǒng)選項妓灌。
- 安裝 Boot Loader轨蛤。
1. 準備 VirtualBox (VBox)
- 在 VBox 中建立虛擬機項目,選擇適合你的電腦的配置參數(shù)虫埂。我選擇的是:處理器核心 x2祥山、內(nèi)存 2 GB、顯存 128 MB掉伏、硬盤空間 100 GB(動態(tài)分配)缝呕。
- 在 VBox 中選擇:設置 -> 存儲 -> IDE 控制器中加載 Arch Linux 光盤鏡像澳窑。
- 在 設置 -> 系統(tǒng) -> 啟動順序 里,選擇光盤優(yōu)先啟動供常。啟動系統(tǒng)摊聋,出現(xiàn)如下啟動畫面:
- 選擇 Boot Arch Linux,開始安裝系統(tǒng)(注意我安裝的是32位的 Arch Linux)栈暇。
2. 磁盤分區(qū)與格式化
以 root 身份登錄系統(tǒng)麻裁。
使用 lsblk 命令來查看當前的分區(qū)狀況:
這里大小為 102 GB 的 sda 就是未分區(qū)、未格式化的原始硬盤空間源祈。其它部分是光盤啟動的 Arch Linux 系統(tǒng)的分區(qū)部分煎源,可忽略。
分區(qū)工具:使用官方指南中的 parted 工具和常用的 fdisk 工具都可以新博。這里使用有交互界面的 cfdisk 工具薪夕。注意為了后續(xù) Boot Loader 的安裝方便,我們選擇使用傳統(tǒng)的 MBR 分區(qū)表方案赫悄。所以在進入 cfdisk 之后,首先選擇 dos 選項馏慨,即使用 MBR 分區(qū)表方案埂淮。
使用 New 選項新建分區(qū),手動輸入分區(qū)大小写隶。我的分區(qū)方案為:啟動分區(qū) (boot) 250 MB倔撞,交換分區(qū) (swap) 2.2 GB (稍大于虛擬機的內(nèi)存容量),根目錄 ("/") 分區(qū) 99.6 GB慕趴,結(jié)果如下圖所示痪蝇。(你也可以為 "/home" 目錄建立單獨的分區(qū),方法與建立根目錄分區(qū)類似冕房,不再贅述躏啰。)
Arch Linux 社區(qū)中文安裝指南中有如下警告:
cfdisk 創(chuàng)建的第一個分區(qū)起始位置是63扇區(qū)而不是通常的2048扇區(qū)。這將會在 SSD 和使用高級格式化(4k 扇區(qū))的設備上造成性能問題耙册。
現(xiàn)在看來至少在使用 VBox 安裝 Linux 時可以忽略該警告给僵,因為第一個分區(qū)的起始扇區(qū)確實是 2048 而不是 63。因此也就不會發(fā)生 “因為硬盤沒有 4 K 扇區(qū)對齊而導致性能問題”详拙。
將 sda1 設為啟動分區(qū) (bootable) 帝际,將全部改動寫入分區(qū)表 (write 選項,輸入 yes饶辙,回車)蹲诀,然后退出 (quit) cfdisk 工具。
使用 lsblk 命令查詢分區(qū)狀況如下弃揽,分區(qū)成功脯爪!
3. 分區(qū)格式化
首先珊佣,格式化啟動與根目錄分區(qū):
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda3
然后格式化交換分區(qū)
mkswap /dev/sda2
同時開啟交換分區(qū),為下面的 fstab 寫入做好準備 (后文詳述)披粟。
swapon /dev/sda2
4. 配置安裝包鏡像源
現(xiàn)在可以先 ping 一下網(wǎng)絡咒锻,VBox 應該已經(jīng)自動配置了聯(lián)網(wǎng)。
ping -c 3 114.114.114.114
因為系統(tǒng)安裝過程中要下載軟件安裝包守屉,所以選擇在國內(nèi)的鏡像源可以大大加快軟件下載和安裝的進度惑艇。我選擇了速度較快的浙大、中科大和 163 的鏡像源拇泛。Arch Linux 鏡像源的狀態(tài)可以在這里查看滨巴。
使用 nano 文本編輯器對鏡像源列表進行編輯:
nano /etc/pacman.d/mirrorlist
在文件中服務器列表的開頭部分添加:
## China
Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
編輯完后的文件如下圖所示:
文件編輯之后使用 Ctrl+x 進行保存(連續(xù)輸入:Ctrl+x,y俺叭,回車恭取;或者Ctrl+x,n熄守,回車:放棄保存)蜈垮。
在本機同步鏡像源數(shù)據(jù)庫,輸入:
pacman -Syy
5. 掛載分區(qū)并安裝系統(tǒng)
到現(xiàn)在為止裕照,我們的所有操作都是在光盤啟動的 Linux 系統(tǒng)中進行的攒发。下面要將真正的 Linux 系統(tǒng)文件安裝到虛擬機的硬盤中。前文中進行了分區(qū)與格式化之后的硬盤分區(qū)晋南,首先要經(jīng)過“掛載” (mount) 操作惠猿,才能夠供我們訪問。
首先掛載根目錄:
mount /dev/sda3 /mnt
在根目錄中創(chuàng)建啟動目錄 (boot)负间,并掛載它:
mkdir -p /mnt/boot
mount /dev/sda1 /mnt/boot
回到根目錄偶妖,現(xiàn)在終于可以把系統(tǒng)文件安裝到我們剛才創(chuàng)建的硬盤分區(qū)中去了。Arch Linux 團隊為此準備了專門的腳本工具 pacstrap政溃,執(zhí)行下面的命令以安裝系統(tǒng)文件:
pacstrap /mnt base base-devel
其中 /mnt 是當前根目錄所在的掛載點趾访,base 包中是最基本的 Linux 系統(tǒng)文件, base-devel 包中包含了一些常用的開發(fā)工具玩祟,建議同時安裝兩個包腹缩。
6. 生成 fstab 文件
為了讓系統(tǒng)能夠在每次重啟之后自動掛載各個分區(qū)(包括交換分區(qū)),我們需要把當前的分區(qū)掛載方式寫入到一個叫做 fstab 的文件中去空扎。執(zhí)行下面的腳本命令藏鹊,生成 Linux 系統(tǒng)需要的 fstab 文件:
genfstab -U -p /mnt >> /mnt/etc/fstab
記得檢查 fstab 文件的內(nèi)容,以確保萬無一失转锈。
more /mnt/etc/fstab
7. 配置系統(tǒng)選項
因為還沒有正確安裝 Boot Loader盘寡,所以現(xiàn)在我們還不能重新啟動系統(tǒng)。好在 Arch Linux 團隊提供的 arch-chroot 工具可以讓我們暫時登錄到已經(jīng)安裝好的 Linux 系統(tǒng)中去開始系統(tǒng)配置撮慨。執(zhí)行命令:
arch-chroot /mnt
注意提示符變?yōu)?sh-4.3#竿痰,我們已經(jīng)成功登陸剛剛安裝的 Arch Linux 系統(tǒng)脆粥,執(zhí)行 ls -al 試試:
下面首先對 Linux 系統(tǒng)的 locale (讀作[l???kɑ?l)進行配置。Linux 的 locale 文件中儲存了與“本地化”相關的諸如時間格式影涉、貨幣單位变隔、語言編碼之類的信息,通過 locale 配置蟹倾,可以使 Linux 更符合我們的使用習慣匣缘。使用 nano 編輯/etc/locale.gen文件:
nano /etc/locale.gen
移除一行之前的 "#" 符號(即取消注釋)來選擇你需要的locale。我的選擇是:
en_US.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
包含了美語英文 UTF-8 編碼鲜棠,簡體中文 GBK 與 UTF-8 編碼肌厨,以及繁體中文的 UTF-8 編碼。
使用 locale-gen 命令來生成 locale 信息:
locale-gen
創(chuàng)建 locale.conf 并選擇要使用的本地化選項 (使用 echo xxx > yyy 的命令豁陆,可以把 echo 命令的輸出內(nèi)容即 xxx 重定向到 yyy 文件中去柑爸,這與使用 nano 編輯器對 yyy 文件進行編輯效果相同,只是更快捷):
echo LANG=en_US.UTF-8 > /etc/locale.conf
注意中文安裝指導提醒:
不推薦在此設置任何中文locale盒音,或?qū)е聇ty亂碼表鳍。
設定時區(qū):
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
設置硬件時間為UTC模式,以免在時區(qū)和夏令時調(diào)整時產(chǎn)生錯誤(注意 systohc 和 utc 之前都是兩個 "-" 符號):
hwclock —systohc —utc
設定主機名:
echo 你的主機名 > /etc/hostname
設置 root 密碼:
passwd
從光盤啟動的 Arch Linux 可以聯(lián)網(wǎng)是因為啟動光盤自動進行了網(wǎng)絡配置±锬妫現(xiàn)在我們來為新系統(tǒng)進行網(wǎng)絡配置进胯。輸入 ip a 命令,查看當前的網(wǎng)絡連接原押,記下當前網(wǎng)絡接口的名稱:enp0s3
ip a
在網(wǎng)絡配置目錄中,創(chuàng)建 my_network 文件偎血,拷貝 dhcp 樣本文件的設置即可诸衔。
cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/my_network
修改 my_network 文件 Interface 字段,把當前網(wǎng)絡接口的名稱寫入即可颇玷。
把 my_network 作為默認網(wǎng)絡配置笨农。
netctl enable my_network
8. 安裝 Boot Loader
電腦開機之后,處理器會到固定的位置去讀取磁盤內(nèi)容帖渠,這個“固定的位置”一般就在磁盤的最開始位置谒亦。放在這個位置的軟件,就叫做 Boot Loader空郊,它的作用是為處理器指明操作系統(tǒng)的安裝位置份招,使得處理器可以進一步的讀取并執(zhí)行操作系統(tǒng)。
下載 Grub Boot Loader狞甚,將其安裝到 Arch Linux 被安裝到的 硬盤中 (sda)锁摔,然后生成啟動所需要的 grub 文件。
pacman -S grub
grub-install --target=i386-pc --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
安裝后的命令行輸出如下所示:
下面從安裝的 Linux 中退出哼审,卸載剛才掛載的文件系統(tǒng)谐腰,然后關機孕豹。這樣原始 Arch Linux 的安裝就完成了。
exit
umount /mnt/boot
umount /mnt
poweroff
移除光盤鏡像十气,重新啟動系統(tǒng):
Tada... Welcome to bare bone Arch Linux励背!歡迎來到荒涼的無主之地。
注:個人知識能力有限叶眉,難免有遺漏、錯誤的地方籍胯,歡迎大家通過評論與我交流竟闪。