系統安裝
說在前面:也可以使用內置的archinstall命令快速安裝
設置網絡
這里以WIFI舉例,主要使用iwctl進行配置,記住這個命令就行
有線的更簡單,直接就是有網的
其他網絡配置參見archlinuxcn
(通過rfkill list
查看網卡是否被禁用,如果被禁用,輸入rfkill unblock wifi
取消禁用WIFI設備)
輸入ip link
,如果看到<..., LOWER_UP>
字樣(后面的紅字DOWN不用管,連上WIFI后會變成綠色的UP)說明系統已經啟用了網絡接口,如果被禁用,輸入ip link set [interface] up
,其中[interface]
是你的接口名,比如wlan0
。
通過iwctl
配置WIFI,下面的[WIFI]
改成你的WIFI名
# 列出設備
device list
# 掃描WIFI
station wlan0 scan
# 列出WIFI網絡
station wlan0 get-networks
# 連接WIFI
station wlan0 connect [WIFI]
# 接着輸入密碼
# 查看狀態,顯示connected
device wlan0 show
# 輸入help查看幫助,輸入exit退出
這時候再輸入ip link
就會有一個綠色的UP
了。
最好再ping
一下以防萬一。
ping -c 3 archlinux.org
更新系統時間
使用 timedatectl(1) 確保系統時間是准確的:
timedatectl set-ntp true
可以使用 timedatectl status
檢查服務狀態。
更換源
# 自動配置 在國內的 最新的(最多)20個 按速度排序 協議為HTTPS的源 保存到/etc/pacman.d/mirrorlist中
reflector --country China --latest 20 --sort rate --protocol https --save /etc/pacman.d/mirrorlist
# 這個文件會被寫入新系統中,還請仔細檢查
cat /etc/pacman.d/mirrorlist
# 同步倉庫
pacman -Syy
硬盤分區
這里僅展示最簡單的硬盤分區(一個UEFI引導分區,一個Linux System分區還有一個swap交換分區),還請以實際情況為准
輸入lsblk
或fdisk -l
顯示磁盤及分區,找到你要分區的盤符,輸入gdisk /dev/nvme0n1
或fdisk /dev/nvme0n1
(更加推薦cfdisk /dev/nvme0n1
,可視化操作界面)開始分區。
知道要分哪些區,分多大,什么格式,原理都是相通的,只是命令不一樣罷了。這里以gdisk
為例:
o # 新建GPT分區表(清空原來所有的分區)
n
# 兩次回車
+512M
ef00 # EFI
n
# 兩次回車
+228.9G
# 回車,默認Linux filesystem
n
#三次回車(把磁盤剩余空間分完)
8200 # swap分區
p # 打印檢查
w # 寫入
Y # 保存退出
分區格式化
# 根分區 ext4
mkfs.ext4 /dev/nvme0n1p2
# 交換分區 swap
mkswap /dev/nvme0n1p3
# 引導分區 fat32
mkfs.fat -F 32 /dev/nvme0n1p1
掛載分區
# 一定要先掛載根分區
mount /dev/nvme0n1p2 /mnt
# boot還不存在,需要先創建,也可以是/mnt/efi或者/mnt/boot/efi
mkdir -p /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot/efi
swapon /dev/nvme0n1p3
# 檢查一下分區大小,格式,掛載點
lsblk -f
注意: 掛載分區一定要遵循順序,先掛載根(root)分區(到 /mnt
),再掛載引導(boot)分區(到 /mnt/boot
或 /mnt/efi
,如果單獨分出來了的話),最后再掛載其他分區。否則您可能遇到安裝完成后無法啟動系統的問題。
安裝內核
pacstrap /mnt base linux linux-firmware vim
# 這時候/mnt目錄里就會有很多文件夾了
# 后面需要配置很多文件,最好下個vim
配置系統
用以下命令生成 fstab 文件 (用 -U
或 -L
選項設置UUID 或卷標):
# 寫入分區掛載順序、掛載點等信息
genfstab -U /mnt >> /mnt/etc/fstab
強烈建議在執行完以上命令后,后檢查一下生成的 /mnt/etc/fstab
文件是否正確。
切換root
Change root 到新安裝的系統,這時候就相當於我們登陸到了這個系統里面:
arch-chroot /mnt
Root 密碼
設置 Root 密碼,不然到時候登不進去:
passwd
設置時區
要設置時區:
# ln -sf /usr/share/zoneinfo/[Region地區名]/[City城市名] /etc/localtime
提示: 以要設置為上海時區為例,請運行 # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后運行 hwclock(8) 以生成 /etc/adjtime
:
hwclock --systohc
這個命令假定已設置硬件時間為 UTC 時間。詳細信息請查看 System time#Time standard。
本地化
程序和庫如果需要本地化文本,都依賴 Locale,后者明確規定了地域、貨幣、時區日期的格式、字符排列方式和其他本地化標准。
需在這兩個文件設置:locale.gen
與 locale.conf
。
編輯 /etc/locale.gen
,然后取消掉 en_US.UTF-8 UTF-8
(如果需要中文 zh_CN.UTF-8 UTF-8
)前的注釋。
接着執行 locale-gen
以生成 locale 信息:
locale-gen
然后創建 locale.conf(5) 文件,並 編輯設定 LANG 變量,比如:
# /etc/locale.conf
LANG=en_US.UTF-8
# LANG=zh_CN.UTF-8 # 如果想用中文的話(這里不推薦中文)
這兩個配置文件中的內容必須一致,否則會出現錯誤!
網絡配置
創建 hostname 文件(會顯示在命令提示符前面那一串里面,比如[root@hostname ~]
):
# /etc/hostname
myhostname
添加對應的信息到 hosts(5):
# /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 [myhostname].localdomain [myhostname] # 主機名.本地域名 主機名
如果系統有常設的 IP 地址,請使用這個常設的 IP 地址而不是 127.0.1.1
。
請注意,目前的 base 不含有任何網絡管理工具。對於新安裝的系統環境,請接着完成網絡配置,配置過程中可能包括要安裝合適的網絡管理軟件。
pacman -S networkmanager # 后面用來設置網絡
安裝引導程序
需要安裝 Linux 引導加載程序,才能在安裝后啟動系統,可以使用的的引導程序已在 啟動加載器 中列出,請選擇一個安裝並配置它,GRUB (簡體中文) 是最常見的選擇。
如果有 Intel 或 AMD 的 CPU,請另外啟用 微碼 更新。
警告: 這是安裝的最后但也至關重要的一步,請按上述指引正確安裝好引導加載程序后再重新啟動。否則將無法正常進入系統。
代碼如下:
pacman -S grub efibootmgr intel-ucode
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Arch Linux"
vim /etc/default/grub # 看自己喜好修改一些參數(可選)
grub-mkconfig -o /boot/grub/grub.cfg # 生成GRUB配置文件;自動發現微代碼並自動更新GRUB
systemctl enable NetworkManager
exit
重啟
輸入 exit
或按 Ctrl+d
退出 chroot 環境。
可選用 umount -R /mnt
手動卸載被掛載的分區:這有助於發現任何「繁忙」的分區,並通過 fuser(1) 查找原因。(比如在/mnt
目錄里卸載自己)
最后,通過執行 reboot
重啟系統,systemd 將自動卸載仍然掛載的任何分區。不要忘記移除安裝介質,然后使用 root 帳戶登錄到新系統。
cd / # 不要在/mnt里umount /mnt!
umount -R /mnt
reboot
系統完善
系統管理引導,圖形用戶界面的安裝、聲音管理、觸摸板支持等后期工作參見 General recommendations (簡體中文)。
感興趣的各類程序,請參見 List of applications (簡體中文)。
連接網絡
以WIFI為例:
nmtui
# 進入NetworkManager
# 選activate a connection
# 然后輸入密碼就行
更新時間
# 同步時間(需要網絡)
timedatectl set-ntp true
# 確認一下時間對不對
timedatectl status
更新源
# 如果沒有換過源的話
pacman -S reflector
reflector --country China --latest 20 --sort rate --protocol https --save /etc/pacman.d/mirrorlist
# 檢查內容無誤
cat /etc/pacman.d/mirrorlist
# 添加第三方源
vim /etc/pacman.conf
# 添加如下內容:
# 不要加SigLevel,我們使用默認的等級;下面三個隨便選一個
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
# Server = http://repo.archlinuxcn.org/$arch
# Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
# 推薦寫法-Syyu或-Syu或-S,不要使用-Syy或-Sy,即有y一定要有u
pacman -Syyu
# 可能會出現簽名錯誤
pacman -S archlinuxcn-keyring
解決簽名問題
要完成這些操作,請以 root 權限運行:
rm -fr /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate archlinux
pacman-key --populate archlinuxcn
參考:https://www.archlinuxcn.org/gnupg-2-1-and-the-pacman-keyring/
添加用戶
將[username]
換成你自己的用戶名
useradd --create-home [username]
passwd [username]
usermod -aG wheel,users,storage,power,lp,adm,optical [username]
id shang
# 添加必要的系統工具
pacman -S sudo
# 配置默認編輯器,這個只是臨時的
export EDITOR=vim
visudo
# 找到 %wheel ALL=(ALL:ALL) ALL 這一行取消注釋,保存退出
顯卡驅動
AMD顯卡
pacman -S xf86-video-amdgpu xf86-video-ati mesa vulkan-radeon
Intel顯卡
pacman -S xf86-video-intel vulkan-intel mesa
英偉達顯卡
pacman -S nvidia nvidia-settings nvidia-utils
音頻驅動
pacman -S alsa-utils pulseaudio pulseaudio-bluetooth
打印機驅動
pacman -S cups
觸摸板驅動
# pacman -S xf86-input-synaptics
# 上面這個包已經停止維護,Arch Linux官方推薦使用下面這個
pacman -S xf86-input-libinput libinput-gestures
藍牙驅動
pacman -S bluez bluez-utils
systemd enable bluetooth.service
systemd start bluetooth.service
觸摸屏驅動
以下是Surface解決方案,參考於linux-surface
如果不能出錯,多半是網絡問題,請參考Clash+TUN方案
添加簽名密鑰
curl -s https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
| sudo pacman-key --add -
sudo pacman-key --finger 56C464BAAC421453
sudo pacman-key --lsign-key 56C464BAAC421453
將下面的內容添加到/etc/pacman.conf
文件的末尾。
[linux-surface]
Server = https://pkg.surfacelinux.com/arch/
下面開始安裝:
pacman -Syu
pacman -S linux-surface linux-surface-headers iptsd
# 自啟動
systemctl enable iptsd
如果你用的是Surface Pro 4, 5, 6, Book 1, 2, Laptop 1, 2
,你還需要安裝一個用於驅動WIFI的包
pacman -S linux-firmware-marvell
重啟即可,使用screenfetch
查看效果
pacman -S screenfetch
screenfetch
# 此時會看到右邊Kernel含有surface字樣說明驅動安裝成功,可以使用觸屏功能了
# Kernel: x86_64 Linux 5.16.10-arch1-1-surface
安裝圖形環境
# 建議先安裝顯卡驅動
pacman -S xorg
安裝字體
# 英文字體
pacman -S ttf-dejavu ttf-droid ttf-hack ttf-font-awesome oft-font-awesome ttf-liberation ttf-linux-libertine ttf-opensans ttf-roboto ttf-ubuntu-font-family
# 中文字體
pacman -S ttf-hannom noto-fonts noto-fonts-extra noto-fonts-emoji noto-fonts-cjk adobe-source-code-pro-fonts adobe-source-sans-fonts adobe-source-serif-fonts adobe-source-han-sans-cn-fonts adobe-source-han-sans-hk-fonts adobe-source-han-sans-tw-fonts adobe-source-han-serif-cn-fonts wqy-zenhei wqy-microhei
# 使用FreeType2引擎渲染字體
vim /etc/profile.d/freetype2.sh
# 取消注釋最后一行,保存退出
清除緩存
pacman -Scc
reboot
安裝AUR助手paru
這里演示安裝paru
,打開終端,輸入以下命令:
sudo pacman -S git base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
更多使用教程:https://zhuanlan.zhihu.com/p/350920414
安裝配置aria2
可以加速下載Github文件(改善程度有限,終極解決方案是Clash
+TUN
)
sudo pacman -S aria2
sudo vi /etc/pacman.conf
# 找到XferCommand這一行,添加如下內容:
XferCommand = /usr/bin/aria2c --allow-overwrite=true --continue=true --file-allocation=none --log-level=error --max-tries=2 --max-connection-per-server=2 --max-file-not-found=5 --min-split-size=5M --no-conf --remote-time=true --summary-interval=60 --timeout=5 --dir=/ --out %o %u
安裝配置fish
為了兼容問題還是安裝zsh吧
sudo pacman -S fish
# 將下面這句命令加到~/.bashrc文件最后
# 注意,使用chsh -s /bin/fish是存在問題的,推薦下面的做法
[ -s /bin/fish ] && [ -z "$BASH_EXECUTION_STRING" ] && [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" ]] && exec fish
系統美化-Gnome
安裝桌面環境
以GNOME為例:
pacman -S gnome gnome-extra gdm
systemctl enable gdm.service
添加輸入法
安裝命令:
sudo pacman -S fcitx5-im fcitx5-chinese-addons # 直接回車
添加環境變量:
欲在程序中正常啟用 Fcitx5
, 需設置以下環境變量,並重新登錄:
vim ~/.pam_environment
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE DEFAULT=fcitx
XMODIFIERS DEFAULT=\@im=fcitx
INPUT_METHOD DEFAULT=fcitx
SDL_IM_MODULE DEFAULT=fcitx
GLFW_IM_MODULE DEFAULT=ibus
添加詞庫:
用{}括起有相同前綴的兩個包,下面的包相當於:fcitx5-pinyin-zhwiki, fcitx5-pinyin-moegirl
sudo pacman -S fcitx5-pinyin-{zhwiki,moegirl}
安裝完成即可使用,另外建議啟用雲拼音,來源選Baidu。
外觀設置:
sudo pacman -S fcitx5-material-color
# 類似win10內置輸入法風格
然后前往 Fcitx5設置
-> 配置附加組件
-> 經典用戶界面
-> 主題
設置主題Material-Color-Teal
。
高分屏設置同樣在這個窗口上:Use Per Screen DPI
。
重啟即可使用。
其他:
安裝Gnome桌面擴展
# 進入Gnome擴展網站:https://extensions.gnome.org
# 點擊安裝瀏覽器插件
# 然后安裝connector
git clone https://aur.archlinux.org/chrome-gnome-shell.git
cd chrome-gnome-shell
makepkg -si
# 之后便可在上述網站搜索安裝所需插件
推薦的Gnome插件:
- ArcMenu 集成的應用程序菜單
- Blur my Shell 美化界面
- Dash to Dock 增強型Dock
- Just Perfection 控制面板的隱藏和顯示
- Vitals 實時顯示計算機硬件信息
Gnome的卸載
sudo systemctl disable gdm.service
sudo pacman -Rscn gnome gnome-extra gdm
常用軟件
Typora
sudo pacman -S typora
CLion
sudo pacman -S clion clion-cmake clion-gdb clion-jre clion-lldb
Edge瀏覽器
yay -S microsoft-edge-stable-bin
下面說一下開啟Edge的隱藏功能:
顯示標簽頁預覽
地址欄輸入edge://flags
在搜索框搜索 Tab Hover Card
將搜索結果設為Enabled
啟用標簽頁組(如果經常訪問很多網頁的話很實用)
訪問 edge://flags
搜索 Tab Groups
將 Tab Groups
和 Tab Groups Collapse
設為 Enabled
啟用懸浮播放視頻
edge://flags
搜 Global Media Controls
搜索結果全設為 Enabled
功能名稱可能經常變動,名稱可能不完全准確,但大致是一樣的
網易雲音樂
sudo pacman -S netease-cloud-music
百度網盤
yay -S baidunetdisk-electron
VSCode
yay -S visual-studio-code-bin
Anaconda
建議直接從官網上下載
sudo pacman -S anaconda
source /opt/anaconda/bin/activate root
Obsidian
sudo pacman -S obsidian
推薦插件:
Advanced Tables
擴展Markdown的表格功能
Media Extended
Media Extended Bilibili Plugin
在Obsidian中支持播放B站視頻
Obsidian Git
使用Git同步筆記
Remember cursor position
記錄每個文件的鼠標位置
最后的話
人生苦短,我用Manjaro!
安裝參考:archlinuxcn.org