前言
在開始之前,請在心中默念三遍:
Arch Linux 是世界上最好的發行版, 我一定能掌握她.
環境
VM ware + UEFI + 500G 虛擬磁盤 + 2G 內存 + 橋接網絡
下載鏡像
進入這里挑個最新的就好, https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/
我下載的是 https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/2018.01.01/archlinux-2018.01.01-x86_64.iso
測試網絡
ping baidu.com
對時
timedatectl set-ntp true
分區
常用分區工具有 fdisk / gdisk / parted
. fdisk 不支持 gpt, parted 不太完善, UEFI 啟動最好搭配 GPT
格式的磁盤, 所以這里我們采用 gdisk
分區規划
分區 | 空間 |
---|---|
EFI | 500 M |
Boot | 500 M |
/ | 硬盤剩余空間 |
使用 gdisk 分區
執行 fdisk -l
或者 lsblk
查看硬盤設備名
執行 gdisk /dev/sda
開始分區, dev/sda
是硬盤設備名
輸入 n 新建分區
詢問分表號, 默認 1 , 可直接回車
詢問分區開始位置, 可直接回車
詢問分區結束為止, 輸入 +500M
回車
詢問分區表格式, 默認是 Linux filesystem
, 由於第一個分區我們用來當作 efi 分區 ,需要 EFI System
格式,所以我們需要輸入 L 來查詢分區表格式的代號, 輸入 L 后未發現 EFI System
, 再次按回車查詢更多, 此時, 我們就能發現 EFI System
的代號叫 ef00
輸入 ef00
回車, 第一個分區就已經完成了。
輸入 n 新建分區
詢問分表號, 默認 2 , 可直接回車
詢問分區開始位置, 可直接回車
詢問分區結束為止, 輸入 +500M
回車
詢問分區表格式, 默認是 Linux filesystem
, 由於第二個分區我們用來當做 boot 分區, 所以可直接回車
第二個分區就已經完成了。
輸入 n 新建分區
詢問分表號, 默認 3 , 可直接回車
詢問分區開始位置, 可直接回車
詢問分區結束為止, 這里我們是使用硬盤剩余的所有空間, 所以可直接回車
詢問分區表格式, 默認是 Linux filesystem
, 由於第三個分區我們用來當做 / 根分區, 所以可直接回車
第三個分區就已經完成了。
輸入 p 回車可查看分區表格式, 更多命令可以自行查詢
輸入 wq 回車, 再輸入 Y 保存分區表並退出 gdisk
交互模式
至此, 硬盤分區完成
使用 fdisk -l
可以查看硬盤分區信息, 記住分區名稱以備后用
格式化
執行命令時會有詢問, 輸入 Y 或者默認值即可
mkfs.vfat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
掛載
mount /dev/sda3 /mnt
mkdir -p /mnt/boot
mount /dev/sda2 /mnt/boot
mkdir -p /mnt/boot/efi
mount /dev/sda2 /mnt/boot/efi
修改鏡像地址
這一步是可選的, 只是為了安裝時從網絡下載文件時能更快
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
vim /etc/pacman.d/mirrorlist
把第一個鏡像地址設置為 Server = http://mirrors.tuna.tsinghua.efu.cn/archlinux/$repo/os/$arch
安裝基礎包
只要 base 即可, 我習慣把引導工具和必要的軟件一塊裝進去
pacstrap /mnt base base-devel vim grub efibootmgr
生成 genfstab
genfstab -U /mnt >> /mnt/etc/fstab
Chroot 進入新系統
arch-chroot /mnt
設置時區
設置為國內上海時區
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步硬件時鍾
hwclock --systohc
設置地區
編輯 /etc/locale.gen 取消注釋
vim /etc/locale.gen
取消下面兩行的注釋后保存
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
locale-gen
編輯 /etc/locale.conf , 添加一行, 個人喜歡英文, 如果樂意設置為 zh_CN.UTF-8 也可以
LANG=en_US.UTF-8
主機名
vim /etc/hostname
把主機名寫進去, 我這里寫入的是 arch
還要記得修改 /etc/hosts 文件
127.0.0.1 arch
設置密碼
passwd root
連續輸入兩次 root 密碼
啟動加載器
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg
退出重啟
退出 chroot 模式, 卸載 /mnt 后重啟
exit
umount -R /mnt
reboot
聯網
如果開機后沒有網絡可以啟動 dhcpcd 服務
systemctl start dhcpcd
systemctl enable dhcpcd
安裝 openssh
pacman -Sy openssh
systemctl restart sshd
systemctl enable sshd
已經啟動 ssh 服務並加入開機自啟, 默認是不允許 root 遠程登錄的, 可以修改配置或者再添加一個普通用戶
添加常規用戶
添加 wheel 組的權限
visudo
取消這一行的注釋
%wheel ALL=(ALL) ALL
添加一個普通用戶 junbaor 到 junbaor、wheel 組
groupadd junbaor
useradd -m -g junbaor -G wheel junbaor
passwd junbaor
現在就可以使用 xshell 之類的工具連接 ArchLinux 使用普通用戶登錄了.
ip addr
可以查看虛擬機 IP
安裝 Oh My Zsh
sudo pacman -Sy zsh git
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
好了, 你現在已經擁有了世界上最好的 Linux 發行版和世界上最好的 Shell 終端.
修復 Home、End 鍵
你會發現使用 zsh 后, 鍵盤的 Home\End 鍵失效了, 在 ~/.zshrc
文件下添加下面兩行可以解決
bindkey '\e[1~' beginning-of-line
bindkey '\e[4~' end-of-line
使配置立刻生效
source ~/.zshrc
添加 ArchlinuxCN 源
在 /etc/pacman.conf
文件末尾添加以下兩行:
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
再安裝 archlinuxcn-keyring 包導入 GPG key
sudo pacman -Syy
sudo pacman -S archlinuxcn-keyring
安裝桌面字體
我們安裝 kde 桌面, 比垃圾 gnome 好多了
sudo pacman -S plasma-desktop kde-l10n-zh_cn konsole sddm kscreen dolphin wqy-microhei
plasma-desktop 是 kde 的桌面程序, kde-l10n-zh_cn 是中文語言包, konsole 是一個終端, 不然進入桌面后可能沒有輸入命令的地方, sddm 是登陸管理器, 先這么理解就對了, 你也可以安裝多個桌面使用 sddm 登陸時進行切換, 第一次進入系統是英文, 切到中文后會出現方塊字, 所以最好安裝一下 wqy-microhei, 它是一款文泉微米黑中文字體, 顯示效果還可以, kscreen 是一個可選的安裝, 不裝的話系統設置里面不能調整分辨率. dolphin 是 kde 套件中的文件管理器
別的教程可能和這里不一樣, 不用擔心, Arch 本來就十分靈活, 千人千面, 等自己能熟練掌握后就能隨意 DIY . 新人裝桌面可能會遇到一個叫 xorg 的玩意兒, 先不用管, 咱們不用安裝, plasma-desktop 里面已經自動依賴。
有的教程里面會讓安裝一個叫做 kde-applications
的東西, 這玩意兒包含了一大堆軟件(比如計算器)並不一定能用到, 不怕臃腫的話也可以裝, 進入桌面后想裝的話也來得及. 上面我只安裝了一個 konsole 終端和 kscreen 設置. 這兩個也都包含在 kde-applications 內.
安裝完成后, 啟動 sddm 服務就可以看到登錄界面, 登陸后就可以看到賊雞兒酷炫的桌面了, 為了下次開機直接進入桌面可以把 sddm 服務設置成開機自啟.
sudo systemctl start sddm
sudo systemctl enable sddm
效果圖
辛苦一番, 看一下階段性成果
終端里面的 Arch 圖標是 screenfetch
命令顯示的, 想玩的話記得安裝一下
安裝 Chrome
由於我們之前配置了 ArchLinuxCN 源, 所以可以很方便的安裝
pacman -S google-chrome
點擊左下角直接鍵入 chrome 即可搜索出應用, 或者使用全局查找, 啟動后記得在任務欄固定一下方便下次使用
安裝中文輸入法
官方 wiki 有問題, 經實踐這樣是可以的.
sudo pacman -S fcitx-im fcitx-sunpinyin fcitx-cloudpinyin kcm-fcitx
新建 ~/.xprofile
文件追加下面三行:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
kcm-fcitx 是輸入法的 GUI 配置界面 , 和 kde 桌面配合完美