安装 Arch
初创建于: 2022-02-24 09:35
台式机安装 Arch
虽然Manjaro是基于Arch的, 但是越来越觉得Manjaro与Arch的差距还是很大的.
这次放了一个月寒假, 回来后Manjaro也基本是挂了的状态了, 正好趁此机会将台式机的系统重装下.
思来想去, 已经用习惯Arch了, 再换其他发行版是不可能的了.
除了Arch的安装过程之外, 还要记录下安装完Arch后的配置, 方便以后再用.
安装
制作启动盘
在下载完iso镜像文件后, 将其写入准备好的U盘.
dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync
注意是/dev/sdx/
, 是不带数字的.
在写入之前务必确认没有挂载.
选择字体
在进Live环境后, 调整字体大小:
setfont /usr/share/kbd/consolefonts/LatGrkCyr-12x22.psfu.gz
更新系统时间
timedatectl set-ntp true
建立硬盘分区
查看分区
fdisk -l
编辑分区
fdisk /dev/nvme0n1
> g # 清空原有分区
> n # 创建新分区
> w # 保存
设置分区格式
mkfs.fat -F32 /dev/nvme0n1p1 # 引导分区
mkfs.ext4 /dev/nvme0n1p2 # 主分区
mkswap /dev/nvme0n1p3 # Swap分区
swapon /dev/nvme0n1p3
配置pacman
pacman的配置文件为/etc/pacman.conf
编辑文件/etc/pacman.d/mirrorlist
, 该文件中越靠前的优先级越大.
将中国的镜像地址移动到最上面, 如果没有, 则自行添加上.
不要相信xjtu源
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
安装系统
挂载分区
按照顺序, 先挂载根分区到/mnt
, 再挂载引导分区到/mnt/efi
, 然后挂载其他分区.
mount /dev/nvme0n1p2 /mnt # 挂载主分区
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot # 挂载引导分区
使用pacstrap安装系统.
pacstrap /mnt base linux linux-firmware
系统设置
生成fstab
genfstab -U /mnt >> /mnt/etc/fstab
进入chroot
arch-chroot /mnt
设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后运行hwclock
以生成/etc/adjtime
hwclock --systohc
本地化
编辑/etc/locale.gen
, 取消掉en_US.UTF-8
和UTF-8
和其他需要的时区前面的注释, 如zh_CN.UTF-8
.
执行locale-gen
以生成locale
信息.
创建/etc/locale.conf
, 并设置LANG
变量:
LANG=zh_CN.UTF-8
当然在编辑文件前需要安装一个编辑器, 比如neovim.
网络配置
创建hostname
文件/etc/hostname
# /etc/hostname
arch
将对应的信息添加到/etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
添加archlinuxcn
在 /etc/pacman.conf 文件末尾添加以下两行:
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
之后安装archlinuxcn-keyring
包导入 GPG key
sudo pacman -S archlinuxcn-keyring
修改root密码与用户密码
passwd
创建普通用户
useradd -m corona
usermod -a -G wheel corona
编辑/etc/sudoers
, 去掉
%wheel ALL=(ALL:ALL) ALL
前面的注释
修改普通用户的密码:
passwd corona
安装引导程序
pacman -S grub efibootmgr amd-ucode os-prober
mkdir /boot/grub
grub-mkconfig > /boot/grub/grub.cfg
查看系统架构:
uname -m
安装grub:
grub-install --target=x86_64-efi --efi-directory=/boot
重启
退出chroot环境, 使用reboot
命令重启, 拔出安装介质.
配置
安装图形界面
中文设置
安装fcitx5词库及主题:
pacman -S fcitx5-im fcitx5-chinese-addons
pacman -S fcitx5-pinyin-moegirl fcitx5-pinyin-zhwiki
在/etc/environment
中添加如下内容:
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
2023-03-16 更新: 在个版本的 pam 之后, 用户目录下的 ~/.pam_environment
就失效了, 只能在 /etc/environment
中设置, 当然也有办法规避, 详见 依云:Linux 的环境变量怎么设.
安装字体:
安装FiraCode, SourceCodePro, 中华书局宋体, 思源宋体, 思源黑体, ttf-droid
pacman -S ttf-droid noto-fonts ttf-joypixels adobe-source-han-sans-cn-fonts
安装 KDE Plasma
不得不说现在的 KDE 真是好用
# 最小化安装 kde
sudo pacman -S plasma-desktop
# 安装相关软件
sudo pacman -S konsole ktorrent \
kmail kate dolphin ark akregator \
sddm sddm-kcm \
plamsa-addons xdg-desktop-portal-kde \
plasma-nm plasma-pa powerdevil bluedevil \
kwallet kwallet-kcm kwallet-pam flatpak-kcm \
breeze-gtk kinfocenter \
spectacle gwenview
# 安装必要的驱动
sudo pacman -S xf86-video-intel vulkan-intel
安装图标主题
推荐 papirus 主题:
pacman -S papirus-icon-theme
基本包与必备软件
基本包 :
pacman -S base-devel linux-headers git
连接 wifi
为了能够在笔记本上连接 wifi, 需要 broadcom-wl-dkms
包.
参见 archwiki
在安装该包之前需要先安装 linux-headers
.
pacman -S broadcom-wl-dkms
- yay, paru
- aria2
- croc
- zip, gzip, unzip, p7zip, unrar
- google-chrome
- xclip
- ntfs-3g
- ueberzug
- fzf
- trash-cli
- imagemagick
- ctags
- clang:
pacman -S clang
- php
python packages
建议使用 pacman 安装
- neovim-remote:
sudo pacman -S neovim-remote
- pynvim:
sudo pacman -S python-pynvim
- rope
sudo pacman -S python-rope
(coc.python 用来重命名变量)
交换cap与左ctrl
开机自动启动NumberLock
亮度设置
亮度调整的脚本已经在my-script仓库中了, 这里需要安装下依赖:
pacman -S bc xorg-apps
声音设置
编辑配置文件~/.asoundrc
defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1
具体数值需要根据设备确定, 可参见 archwiki alsa 部分.
在我使用的 Macbook Air 上, 要使用麦克风, 需要安装 pulseaudio
包并且需要打上以下补丁 :
--- a/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf
+++ b/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf
@@ -23,6 +23,8 @@
[Jack Mic]
required-any = any
+state.plugged = unknown
+state.unplugged = unknown
[Jack Mic Phantom]
required-any = any
@@ -31,6 +33,8 @@
[Jack Mic - Input]
required-any = any
+state.plugged = unknown
+state.unplugged = unknown
[Element Capture]
switch = mute
注意该补丁在 pulseaudio
每次更新后都需要手动打上.
如果没有打这个补丁, 大部分软件都能正常使用, 但是使用腾讯会议时会没有声音.
摄像头设置
参见 This
因为我用的笔记本是 Macbook, 因此需要安装 AUR 中的 bcwc-pcie-git
包,
之后加载内核的 facetimehd
模块:
yay -S bcwc-pcie-git
modprobe facetimehd # 这条需要 root 权限
使用以下命令检查是否配置成功 :
v4l2-ctl --list-devices
# 如果成功, 输出应类似 :
# Apple Facetime HD (PCI:0000:02:00.0):
# /dev/video0
Git设置
设置ssh
mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa -C "Corona09@163.com" -f id_gitee
ssh-keygen -t rsa -C "Corona09@163.com" -f id_github
编辑~/.ssh/config
:
#gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_gitee
#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_github
打开gitee, github设置公钥, 检查是否成功:
ssh -T git@gitee.com
ssh -T git@github.com
网络设置
安装google-chrome的插件:
google-chrome-stable --proxy-server="http://127.0.0.1:7890"
然后登录不存在的谷歌账号, 同步设置.
挂载磁盘
因为台式机有额外的机械磁盘, 因此需要挂载硬盘.
Click Here
安装 anaconda
yay -S anaconda
在安装完成后:
# 将以下内容添加到 ~/.config/fish/config.fish 中
if test -f /opt/anaconda/etc/fish/conf.d/conda.fish
source /opt/anaconda/etc/fish/conf.d/conda.fish
end
安装Latex
安装必要的包:
pacman -S texlive-most texlive-lang
pacman -S poppler-data
yay -S zathrua zathura-pdf-poppler
设置必要的latexmkrc
:
$pdflatex="xelatex %O %S"
安装虚拟机
安装virtualbox相关包:
yay -S virtualbox virtualbox-host-modules-arch
在 VirtualBox 所使用的 内核模块 中,只有 vboxdrv 是必须的。该模块必须在虚拟机运行之前加载。
手动加载模块的命令是:
modprobe vboxdrv
有关高级功能的模块:
-
vboxnetadp
&vboxnetflt
: 在使用桥接网络和host-only网络时是需要的.
vboxnetadp
模块用于在 VirtualBox 全局配置里为主体机创建虚拟网卡;
vboxnetflt
模块会在使用了该功能的客体机启动时起作用
为了使用桥接网络或"Host-only"网络, 需要安装net-tools
包. -
vboxpci
若要让虚拟机使用宿主机的PCI设备, 就需要这个模块.
如果在VirtualBox内核模块运行期间更新了模块所属软件包, 为了使用新版本, 需要手动加载这些模块. 在root权限下运行vboxreload
即可重新加载.
从虚拟机访问宿主机USB设备
将需要运行VirtualBox的用户名添加到vboxusers
用户组.
usermod -a -G vboxusers corona
安装扩展包
Oracle Extension Pack 为虚拟机提供了额外功能. 但它并不是以自由软件协议发布的, 仅供个人使用. 这些扩展包可以从 virtualbox-ext-oracle
(AUR)安装。
yay -S virtualbox-ext-oracle
重启计算机, 启动VirtualBox, 安装虚拟机.
2022-06-05 20:02
: 已经转投 openSUSE 了
2023-03-16 19:06
: 兜兜转转, 用了乱七八糟的发行版一堆, 还体验了一下 bugdows 又回到 arch 了