6

Arch Linux 安装与配置记录

 2 years ago
source link: https://cyrusyip.org/post/2021/09/28/install-archlinux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Arch Linux 安装与配置记录

2021-09-28 约 2470 字 预计阅读 5 分钟 17 次阅读

Arch Linux 用起来太爽了,我已经在主力电脑装上了!软件超多,官方仓库加上 archlinuxcn 仓库AUR,真的是什么都能安装。滚动更新保证软件都是最新版,还不用像 Ubuntu 那样苦苦地等半年更新,也不用准备一大段时间来更新系统,每次用电脑更新一下就行,也就几分钟的事情。ArchWiki 的资料超级全面,我要查的东西里面都有。Arch Linux 平时用起来比 Kubuntu 更快,开机才三四秒,关机也是几秒钟。之前用 Kubuntu 遇到的问题在 Arch Linux 上都没了:关机两三分钟才行、休眠后不会关屏幕、版本更新后要手动修改软件源、KDE Plasma 没有休眠按键。pacman 安装和卸载软件也超快,甩 apt 几条街。AUR 虽然什么软件都有,但都是未经审核的,我还挺担心遇到恶意代码。接下来学学 Bash 和打包软件才行,不然看不懂 AUR 上面的打包脚本。

本文多次出现 cat 命令,例如:

❯ cat ~/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

以上命令在本文的意思是创建或修改 ~/.xprofile,并添加

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

Arch Linux 的安装教程有很多,我安装的时候主要看这三份。

我的电脑用 UEFI 启动,使用三个分区。

  • /efi
  • /
  • swap

EFI 分区本来就有了,跳过创建与格式化 EFI 分区的步骤。创建 /swap 分区即可。感觉用命令行分区好难,我就用 U 盘启动 Kubuntu,用里面的分区软件来分区,用 Windows PE 也行。分区完就可以启动 Arch Linux 安装镜像了,先格式化再挂载。

# 格式化
mkfs.ext4 /dev/nvme0n1p4
mkswp /dev/nvme0n1p5

# 挂载
mount /dev/nvme0n1p4 /mnt # 一定要先挂载 / 再挂载其他
mkdir /mnt/efi
mount /dev/nvme0n1p1 /mnt/efi
swapon /dev/nvme0n1p5

添加 archlinuxcn 源

❯ cat /etc/pacman.conf
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
sudo pacman -Syu archlinuxcn-keyring

让 pacman 同时下载多个包

❯ cat /etc/pacman.conf
ParallelDownloads = 16 # 同时下载 16 个包

Arch Linux 不支持更新部分软件(partial upgrades),所以我使用 pacman -Syu package 命令,先更新所有软件再安装需要的软件。

# 工具
sudo pacman -Syu trash-cli \
mplayer \
vlc \
flameshot \
spectacle \
obs-studio \
aria2 \
okular \
kdegraphics-mobipocket \
man-db \
gwenview \
os-prober \
pamac-aur \
ufw \
gufw \
ufw-extras \
ntfs-3g \
z \
virtualbox \
virtualbox-guest-iso \
virtualbox-guest-utils \
virtualbox-ext-oracle

yay -Syu dropbox \
google-chrome

# 美化
sudo pacman -Syu tela-icon-theme-git \
tela-circle-icon-theme-git \
grub-theme-whitesur-white-1080p-git

# 编程
sudo pacman -Syu openssh \
nodejs \
npm \
yarn \
webstorm \
webstorm-jre \
rstudio-desktop-git \
android-tools \
tldr \
github-cli \
git

# 学习
sudo pacman -Syu goldendict-qt5-git
yay -Syu anki-release-source


# 安装 ZSH 与插件
sudo pacman -Syu zsh \
oh-my-zsh-git \
zsh-theme-powerlevel10k \
powerline-fonts \
awesome-terminal-fonts \
zsh-syntax-highlighting-git \
zsh-autosuggestions \
zsh-completions-git

# 中文字体
sudo pacman -Syu wqy-bitmapfont \
wqy-microhei \
wqy-microhei-lite \
wqy-zenhei \
adobe-source-han-sans-cn-fonts \
adobe-source-han-serif-cn-fonts \
noto-fonts \
noto-fonts-cjk \
noto-fonts-emoji \
noto-fonts-extra

# 通讯
sudo pacman -Syu telegram-desktop \
thunderbird
yay -Syu wechat-uos \
deepin-wine-tim \
deepin-wine-wechat

# Fcitx5 输入法
sudo pacman -Syu fcitx5-im \
fcitx5-chinese-addons \
fcitx5-material-color \
fcitx5-pinyin-zhwiki

# 办公软件
# WPS
yay -Syu wps-office \
wps-office-mui-zh-cn \
ttf-wps-fonts \
wps-office-fonts
# LibreOffice
sudo pacman -Syu libreoffice-fresh \
libreoffice-fresh-zh-cn
# OnlyOffice
sudo pacman -Syu onlyoffice-bin

# 杀毒
sudo pacman -Syu clamav clamtk
sudo freshclam
sudo systemctl enable clamav-freshclam.service --now
sudo systemctl enable clamav-daemon.service --now
# 杀毒命令
# clamdscan --multiscan --fdpass

# 性能增强
yay -Syu auto-cpufreq
systemctl enable --now auto-cpufreq
sudo pacman -Syu linux-zen linux-zen-headers

配置 Fcitx5 输入法

❯ cat ~/.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
❯ cat ~/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

Fcitx5 的快捷键是 Control + Space,编程软件的补全快捷键也是这个,把 Fcitx5 的快捷键改为 Super + Space 以避免冲突。打开 Fcitx 5 Configuration,点击 Configure global options,把 Trigger Input Method 改为 Super + Space

配置中文优先级

noto-fonts-cjk 包括中文、日文、韩文字体,安装后有时候中文被错误地显示为日文。把中文字体优先级调到日语前面就可以解决这个问题。

❯ cat ~/.fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Noto Sans CJK SC</family>
      <family>Noto Sans CJK TC</family>
      <family>Noto Sans CJK JP</family>
    </prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>Noto Sans Mono CJK SC</family>
      <family>Noto Sans Mono CJK TC</family>
      <family>Noto Sans Mono CJK JP</family>
    </prefer>
  </alias>
</fontconfig>
# 刷新字体缓存
fc-cache -fv
fc-match -s | grep 'Noto Sans CJK'
# 如果出现下面内容就代表字体优先级修改成功
# NotoSansCJK-Regular.ttc: "Noto Sans CJK SC" "Regular"

配置 GRUB

取消 GRUB 的子菜单,并让它记住上次的启动项。这样选择内核的时候更方便。

  1. 编辑配置文件

    sudo nano /etc/default/grub
    
  2. GRUB_DEFAULT=0 改为 GRUB_DEFAULT=saved

  3. 去掉 GRUB_SAVEDEFAULT=true 前面的 #

  4. 去掉 GRUB_DISABLE_SUBMENU=y 前面的 #

  5. GRUB_CMDLINE_LINUX_DEFAULT= 里加入 nowatchdog,以空格与其他内容分开,加入该参数可加快开关机速度

  6. Ctrl + O 保存,Ctrl + X 退出

  7. 更新配置文件

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    
  1. 查看 swap 分区名称

    sudo fdisk -l
    
    Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
    Disk model: WDC PC SN730 SDBPNTY-512G-1027          
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: DF3F41B3-00FB-45D1-8B23-3929872B9524
        
    Device             Start        End   Sectors   Size Type
    /dev/nvme0n1p1      2048     206847    204800   100M EFI System
    /dev/nvme0n1p2    206848     239615     32768    16M Microsoft reserved
    /dev/nvme0n1p3    239616  168011775 167772160    80G Microsoft basic data
    /dev/nvme0n1p4 168011776  938358619 770346844 367.3G Linux filesystem
    /dev/nvme0n1p5 938358784  971902975  33544192    16G Linux swap
    /dev/nvme0n1p6 971902976  972951551   1048576   512M Windows recovery environment
    /dev/nvme0n1p7 972951552  998117375  25165824    12G Windows recovery environment
    /dev/nvme0n1p8 998117376 1000214527   2097152     1G Windows recovery environment
    

    /dev/nvme0n1p5 就是 swap 分区。

  2. 配置 GRUB

    sudo nano /etc/default/grub
    

    GRUB_CMDLINE_LINUX_DEFAULT 里加入 resume=/dev/nvme0n1p5,以空格与其他内容隔开。修改完就这样

    GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog resume=/dev/nvme0n1p5"
    
  3. 更新 GRUB 配置文件

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    
  4. 重启后生效

    reboot
    

配置 Git 与 Github CLI

# 导入 GPG 私钥
gpg --import armor.asc
# 用 GPG 签署 commit
gpg --list-secret-keys --keyid-format LONG
git config --global user.signingkey FRUR8JBULWM31RFB
git config --global commit.gpgsign true
# 设置编辑器为 nano
git config --global core.editor nano
# 显示中文
git config --global core.quotepath false
# 设置名称与邮箱
git config --global user.name "Joe"
git config --global user.email "[email protected]"

配置 ZSH 与插件

# 启用 Oh My Zsh
cp /usr/share/oh-my-zsh/zshrc ~/.zshrc
# 启用 Powerlevel10k 主题
echo 'source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme' >> ~/.zshrc
# 启用 zsh-syntax-highlighting(语法高亮)
echo 'source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh' >> ~/.zshrc
# 启用 zsh-autosuggestions(自动提示)
echo 'source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh' >> ~/.zshrc
# 启用 zsh-completions-git(自动补全)
echo 'fpath=(/usr/share/zsh/site-functions $fpath)' >> ~/.zshrc
echo 'autoload -U compinit' >> ~/.zshrc
echo 'compinit -i' >> ~/.zshrc
rm -f ~/.zcompdump; compinit
# 启用 z
echo '[[ -r "/usr/share/z/z.sh" ]] && source /usr/share/z/z.sh' >> ~/.zshrc
# 把默认 Shell 修改为 ZSH
chsh -s /bin/zsh
# 进入 zsh
zsh
# 配置 Powerlevel10k 主题
p10k configure
# 配置 gh 补全(需要先安装 github-cli)
gh completion -s zsh > ~/_gh
sudo mv ~/_gh /usr/share/zsh/site-functions
# 配置 yarn 全局安装包的路径
echo 'export PATH="$PATH:$(yarn global bin)"' >> ~/.zshrc

请看我的这篇教程:给本地电脑配置 UFW(Uncomplicated Firewall)防火墙

迁移 Thunderbird 数据

Moving Thunderbird Data to a New Computer

先把 ~/.thunderbird 文件夹从旧电脑放入网盘,在新电脑打开网盘内的 .thunderbird,把里面的内容复制到新电脑的 ~/.thunderbird,如果有重复文件就选择覆盖。

修复 Windows 引导

https://wiki.archlinux.org/title/GRUB#Detecting_other_operating_systems

安装 Arch Linux 的时候,按照这个教程把 EFI 分区格式化了,结果 Windows 10 的引导文件也没了,头疼。不过用优启通 PE修复了。修复方法:用 U 盘启动优启通,点击「开始菜单 -> 程序 -> 系统安装 -> NTBootAutoFix(引导修复工具)-> 选择 EFI 盘符 -> 开始修复」。优启通网盘下载的速度特慢,想快点修复引导可以去下载微 PE 工具箱,这个下载速度还行,里面也有类似的引导修复工具,不过我没测试过。

接下来用 Arch Linux 把 Windows 启动项添加到 GRUB。

sudo pacman -Syu os-prober

加入/取消注释这一行:

❯ cat /etc/default/grub
GRUB_DISABLE_OS_PROBER=false
sudo grub-mkconfig -o /boot/grub/grub.cfg

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK