翼度科技»论坛 云主机 LINUX 查看内容

ArchLinux 安装小记

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
笔者出于学习(折腾)原因想要改换 Linux 发行版,于是将目光投向大名鼎鼎的 ArchLinux。
ArchLinux 的安装过程漫长且复杂,遂汇总成小记,以备日后参考。
小记中笔者共使用两块硬盘,一块已含有 Windows10 分区,另一块作为双系统数据共享盘。
LiveCD

本小记略过烧录镜像的过程,笔者使用了 Rufus 将镜像烧率进 U 盘,一个更流行的方法是使用 Ventoy 镜像管理工具。
本段简单列出将内核和软件包写入磁盘的步骤。
网络

这里只给出使用无线网络的情况,如果目标机使用以太网则略去 iwd 的步骤。但无论哪种情况,都请配置 NTP 时间。
iwctl

  • device list
  • station ANY_DEVICE scan
  • station ANY_DEVICE get-networks
  • station ANY_DEVICE connect ANY_SSID
timedatectl set-ntp true
分区

Windows 更新将会覆写 EFI 分区导致 Linux 无法启动,笔者这里额外创建一个。
然后,创建 swap 分区,以便正常使用睡眠和休眠功能。
以 EFI 分区为 FAT32 格式,Linux 主分区为 ext4 格式初始化 fstab。
fdisk /dev/nvme0n1
mkfs.ext4 /dev/nvme0n1p5
mkfs.fat -F32 /dev/nvme0n1p4
mkswap /dev/nvme0n1p6
mount /dev/nvme0n1p5 /mnt
mkdir /mnt/efi
mount /dev/nvme0n1p4 /mnt/efi
genfstab -L /mnt >> /mnt/etc/fstab
软件包

这一步配置软件仓库。
LiveCD 在 /etc/pacman.d/mirrorlist 自动测速并选择镜像源,稍后 mirrorlist 将会自动拷贝到待装系统中。
笔者希望手动覆盖该文件从而采用南大的镜像源,你也可以使用自己喜欢的镜像源。
  1. Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch
复制代码
接下来向刚刚挂载的新文件系统中导入基础软件包与 fstab,ArchLinux 就安装好了。
pacstrap /mnt base linux linux-firmware
ArchLinux

本段主要为新系统的配置。
arch-chroot /mnt
工具

网络支持 (如 NetworkManager) 是必须的,否则在稍后重启系统时配置网络非常困难。
ntfs-3g 和 exfat-utils 提供挂载支持,便于我们创建双系统共享盘。
pacman -S networkmanager
pacman -S ntfs-3g exfat-utils
pacman -S sudo vim
本地化

国内用户一般使用上海时区。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
笔者选择自动生成语言配置:取消 /etc/locale.gen 中所有需要的语言的注释,然后编辑新生成的语言配置 /etc/locale.conf,设置语言为你想要的语言,例子中为英语。
  1. en_US.UTF-8 UTF-8
  2. zh_CN.UTF-8 UTF-8
复制代码
locale-gen
  1. LANG=en_US.UTF-8
复制代码
主机名

host 的配置在 /etc/hostname 和 /etc/hosts。
  1. myhostname
复制代码
  1. 127.0.0.1    localhost
  2. ::1          localhost
  3. 127.0.1.1    myhostname.localdomain    myhostname
复制代码
引导

笔者采用 grub 进行引导。选择 grub 的另一个目的是联动另一个分区的 Windows Boot Manager,这样便于我们在 grub 界面中自行选择双系统中的一个启动。
如果你想要实现优雅的休眠/睡眠,需要对 grub 进行额外配置。具体的操作方法如下:
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=ArchLinux
调整位于 /etc/grub.d/40_custom 的配置,将下面的 FS_UUID 替换为 Windows10 主分区的 UUID。如果你不知道分区的 UUID,可以使用 blkid 查看。
  1. if [ "${grub_platform}" == "efi" ]; then
  2.     menuentry "Windows Boot Manager" {
  3.         insmod part_gpt
  4.         insmod fat
  5.         insmod chain
  6.         search --no-floppy --fs-uuid --set=root ANY_FS_UUID
  7.         chainloader /EFI/Microsoft/Boot/bootmgfw.efi
  8.     }
  9. fi
复制代码
编辑 /etc/default/grub,将下面的 SWAP_UUID 替换为 swap 分区的 UUID。这一步指引 ArchLinux 将休眠镜像保存至 swap 分区。
  1. GRUB_CMDLINE_LINUX_DEFAULT - quiet
  2. GRUB_CMDLINE_LINUX + acpi_backlight=vendor
  3. GRUB_CMDLINE_LINUX + resume=UUID=ANY_SWAP_UUID
复制代码
生成 grub.cfg。
grub-mkconfig -o /boot/grub/grub.cfg
在 /etc/fstab 中设置共享盘并开启 swap 分区。
  1. /dev/sda1       /home/goudunzii/data ntfs-3g defaults 0 0
  2. /dev/nvme0n1p6  none             swap    defaults 0 0
复制代码
swapon /dev/nvme0n1p6
启动休眠功能的最后一步,我们需要编辑 /etc/mkinitcpio.conf,加入 resume 钩子。这里需要将 resume 字段至少加在 udev 字段之后。修改 root 密码,然后重启。
  1. HOOK=(base udev ... resume)
复制代码
mkinitcpio -P
passwd root
exit
umount -R /mnt
reboot
字体

重启之后的一些工作需要在终端中进行,笔者希望替换一个对眼睛更加友好的 tty 字体。该配置位于 /etc/vconsole.conf。如果你的屏幕很大,也可以不进行这一步。
pacman -S terminus-font
  1. FONT="ter-118b"
复制代码
创建账户

下面的指令为例创建自己的账户并添加 sudoers。
useradd -m -s /bin/bash goudunz1
pacman -S sudo
passwd goudunz1
  1. goudunz1 ALL=(ALL) ALL
复制代码
多媒体

新系统的网络配置可以转用 NetworkManager。
为了声音和蓝牙的正常工作,这里还需要其它几个软件包。
systemctl enable NetworkManager
systemctl start NetworkManager
device wifi connect ANY_SSID password ANY_PASSWD
pacman -S alsa-utils alsa-plugins
pacman -S bluez bluez-utils
systemctl enable bluetooth
桌面

笔者建议在安装桌面之前先自查显卡驱动。

  • OPENGL mesa
  • vega6(AMD) xf86-video-amdgpu
  • Intel xf86-video-intel
  • Nvidia xf86-video-nouveau
以基于 X Server 的 KDE 为例:
在安装完需要的软件包后,你可以通过 Desktop Manager (如 sddm),联动 KDE 启动,也可以采用如下操作手动配置 X Server 和 KDE。
pacman -S xorg xorg-xinit
pacman -S plasma-meta kde-utilities dolphin
goudunz1$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
将 ~/.xinitrc 最后一大块测试用的代码去掉,换成下面的代码。然后编辑 ~/.bash_profile,这将使得 tty1 登陆时启动 X Server,再由 X Server 联动KDE。
  1. export DESKTOP_SESSION=plasma
  2. exec startplasma-x11
复制代码
  1. if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
  2.   exec startx
  3. fi
复制代码
当然笔者也尝试过使用 sddm,只需一条指令。
systemctl enable sddm
在 KDE 上启动蓝牙还需以下两个额外的软件包。
pacman -S pulseaudio-bluetooth pulseaudio-alsa
电源管理

可以使用 tlp 优化 ArchLinux 对电源的管理。
pacman -S tlp tlp-rdw
systemctl enable tlp
systemctl start tlp
systemctl mask systemd-rfkill
systemctl mask systemd-rfkill.socket
输入法

以 fcitx5-rime 为例:
安装软件包后,还需要配置 fcitx5 的自启动和环境变量 (在 ~/.xprofile 中)。
pacman -S fcitx5-im fcitx5-rime wqy-microhei
  1. export GTK_IM_MODULE=fcitx5
  2. export QT_IM_MODULE=fcitx5
  3. export XMODIFIERS=@im=fcitx5
复制代码
goudunz1$ mkdir ~/.config/autostart
goudunz1$ cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/
在 ~/.local/share/fcitx5/rime/default.custom.yaml 中对 rime 配置添加 patch 以实现首选明月拼音简化字。
  1. patch:
  2.   schema_list:
  3.     - schema: luna_pinyin_simp
  4.     - schema: luna_pinyin
复制代码
参考

24年9月 于清水湾

来源:https://www.cnblogs.com/goudunz1/p/18413143
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具