前言 Arch Linux 为我目前所使用的 Linux 发行版,我根据自己的实际需求,写出此安装步骤,以系统化学习和方便使用~~面向^C 和^V 的系统安装步骤 XD~~~
Arch Linux 的官方 Wiki 上推荐使用 Live 系统安装 Arch Linux,我也在使用 Arch 的过程中,虽然也了解了那些一键安装脚本,但是。。。
毕竟都用 Arch 了,就要做好折腾的觉悟好吧那么就让我们开始吧!
官方 Wiki 的安装过程
安装前的准备
安装必须的软件包
配置 Fstab 文件
fstab 文件可用于定义磁盘分区,各种其他块设备或远程文件系统应如何装入文件系统。
说人话就是开机的时候自动挂载硬盘分区
Chroot(切换 root 用户)到已经安装好的系统
设置时区以及本地化
设置 hostname 和 hosts(主机名和 hosts 文件)
设置 Root 用户密码
安装引导程序
安装完成,重启!
本人设置模块化的引索目录,顺序进行即可正确安装当然你是确定自己需要的步骤自取那就更好了,本来写这篇文章的目的就是这个 hahaha
这里按照我的习惯命名,细分并改变了一下安装顺序,请注意!
开始 安装前的准备 下载 iso 格式镜像文件官方下载网站 以 U 盘为 Live 环境,使用开源软件Ventory 制作U盘启动盘 这里使用 Ventory 的原因有:Ventory 支持多 iso 直接启动,也就意味着不像传统的 iso 文件刻录进 U 盘,可以充分利用 U 盘空间,制作双系统以及多系统系统启动盘,安装盘。
当然这里也可以使用另外一款开源 U 盘刻录软件Rufus
确认主板 bios 模式为传统 bios 或是 UEFI 模式 虽是这么说 Linux 能让老电脑焕发第二春,但是对于那种都已经腐烂的电脑,真的还是不推荐安装此系统,毕竟我们安装 Arch Linux 是用来折腾的,(至少对我来说)。对于风烛残年的老电脑来说,还是让他好好休息吧,干活是年轻人的事情。
现在(截止于 2021 年)市面上流通的个人电脑,我们安装系统时推荐使用主板 UEFI 模式+硬盘 GPT 模式。并且 UEFI 模式则需在主板 bios 设置中关闭安全启动这一选项。
进入 ArchLinux Live 安装环境 这个就比较简单了,选择主板 bios 的启动选项的快捷键还是进如主板 bios 设置修改启动顺序,这些随你的心情,只要选择用 Ventory 制作好的U盘启动盘就行了。
进入 U 盘后,选择相应的 Arch Linux 镜像,等待跑码,跑码结束后就是进入命令行输入模式了。
配置 Live CD 环境
注意,每条命令,我会做出或多或少的相关解释。 而且请注意,我们进入 Live 环境后,是以 root 权限进行操作。 所以做出以下约定: 命令上一行为 # ,需以 root 权限运行 命令上一行为 $ ,以普通用户权限运行
Arch Linux的安装需要网络环境,第一步就是连接互联网
若已连接可联网网线
使用 iwd 进行无线连接
1 2 3 4 # 校准本地时间 timedatectl set-ntp true
对磁盘进行分区和挂载操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 lsblk cgdisk /dev/nvme0n1 gdisk /dev/sda lsblk -f 我们对 /dev/nvme0n1p1 格式化为 Fat32 文件系统(/boot 分区) 我们对 /dev/nvme0n1p2 格式化为交换分区(交换分区) 我们对 /dev/nvme0n1p3 格式化为xfs文件系统(根目录/) 我们对 /dev/nvme0n1p4 格式化为xfs文件系统(/home 分区) mkfs.fat -F 32 /dev/nvme0n1p1 mkswap /dev/nvme0n1p2 mkfs.xfs /dev/nvme0n1p3 mkfs.xfs /dev/nvme0n1p4 lsblk -f mount /dev/mvne0n1p3 /mnt mkdir /mnt/boot & mkdir /mnt/homemount /dev/nvme0n1p1 /mnt/boot & mount /dev/nvme0n1p4 /mnt/home swapon /dev/nvme0n1p2 lsblk
1 2 3 4 5 和有线/无线网络工具,Btrfs、VFAT、exFAT、ext、NTFS、XFS文件系统管理工具 pacstrap /mnt base base-devel linux linux-firmware dhcpcd iwd btrfs-progs dosfstools exfat-utils e2fsprogs ntfs-3g xfsprogs gdisk
初步配置已安装系统 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 genfstab -U /mnt >> /mnt/etc/fstab arch-chroot /mnt 访问 man 和 info 页面的工具 联网所需要的程序 pacman -S nano vim man-db man-pages dialog wpa_supplicant networkmanager netctl ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimehwclock --systohc --utc vim /etc/locale.gen - - - - - - - - - - - - - - - - 删除对应地区和编码格式前的 locale-gen vim /etc/locale.conf - - - - - - - - - - - - - - - - 在locale.conf中添加如下文本 LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC=C LC_TIME=zh_CN.UTF-8 LC_COLLATE=C LC_MONETARY=zh_CN.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT=zh_CN.UTF-8 LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= vim /etc/hostname - - - - - - - - - - - - - - - - 在locale.conf中添加如下文本 myhostname vim /etc/hosts - - - - - - - - - - - - - - - - 在hosts中添加如下文本 127.0.0.1 localhost ::1 localhost 127.0.1.1 myhostname.localdomain myhostname passwd
安装和配置引导程序 关于 GRUB 的2.06更新的一点改变:
如果您正在使用 os-prober 生成其他系统的引导项,grub 2.06 不再自动启用 os-prober,您需要添加 GRUB_DISABLE_OS_PROBER=false 至 /etc/default/grub 配置文件中并且重新运行 grub-mkconfig
grub 2.06 现在会自动添加 固件设置菜单( BIOS ) 引导项目,无需手动创建
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 pacman -S amd-ucode pacman -S intel-ucode pacman -S os-prober efibootmgr pacman -S grub vim /etc/default/grub - - - - - - - - - - - - - - - - 添加如下文本 GRUB_DISABLE_OS_PROBER=false grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB --recheck grub-install --target=x86_64-efi --efi-directory=/boot --recheck grub-mkconfig -o /boot/grub/grub.cfg exit umount -R /mnt reboot
到此位置我们已经完成安装了 Arch Linux 的安装。
那么,接下来,我们要开始对完善我们所安装的系统。
有时候,因为 Windows Boot Manager (Windows系统启动管理器)的强势性,即使在正确配置好了启动引导程序后,可能也不会自动引导进 GRUB 中。所以有时候我们还需在主板 BIOS 设置中,在 启动 选项中选择磁盘中已经安装并配置好的 grub 的引导程序并保存。
完善已安装的系统 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 > 设置 sudo 并添加新用户 ln -s /usr/bin/vim /usr/bin/vi- - - - - - - - - - - - - - - - 找到该行,去掉 %wheel 前的注释符号 useradd -m -G wheel user passwd user > 配置桌面环境 pacman -S xorg pacman -S wayland xorg-xwayland pacman -S qt5-wayland qt6-wayland glfw-wayland glew-wayland pacman -S sddm vim /etc/sddm.conf.d/ - - - - - - - - - - - - - - - - 修改 Numlock 为 on(选项有 on off none) [General] Numlock=on // SDDM 不会显示 root 用户的登录界面,所以要在使用 SDDM 之前创建一个非 root 用户 pacman -S plasma kde-applications plasma-wayland-session 禁用系统自带的网络服务 systemctl disable netctl 启用显示管理器 SDDM systemctl enable sddm 启动桌面环境用的网络管理 systemctl enable NetworkManager > 配置 Nvidia 显卡驱动(如果你有N卡的话,而且在显卡型号不会太老的情况) cat /sys/module/nvidia_drm/parameters/modesetvim /etc/mkinitcpio.conf - MODULES=() + MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm) sudo vim /etc/default/grub - - - - - - - - - - - - - - - - 在该行的参数内添加 nvidia-drm.modeset=1 如下 - GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" + GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1" grub-mkconfig -o /boot/grub/grub.cfg reboot > 配置蓝牙并自启动蓝牙服务 - - - - - - - - - - - - - - - - 若要蓝牙开机后自动启动,false 修改为 true ,如下 [Policy] - + AutoEnable=true > 安装版本控制工具 Git 和第三方软件包管理器 yay $ sudo pacman -S git $ mkdir ~/builds & cd ~/builds $ git clone https://aur.archlinux.org/yay.git $ cd yay $ makepkg -si > 本地化过程3 $ 安装中文字体(注意这里已经使用普通用户了) Google Noto Fonts 系列 yay -S noto-fonts noto-fonts-cjk noto-fonts-emoji 思源黑体 yay -S adobe-source-han-sans-otc-fonts 文泉驿正黑和微米黑 yay -S wqy-zenhei wqy-microhei 更纱黑体 yay -S ttf-sarasa-gothic > 安装并使用 Z shell(zsh) 和第三方zsh框架 oh my zsh $ yay -S zsh $ 初始配置 zsh 获取配置文件 zsh $ 列出已安装的 shell 路径 chsh -l $ 若要改变默认 shell ,改变以下 shell 路径即可 chsh -s /bin/zsh $ 执行官方安装 oh my zsh 脚本(oh my zsh 会自动更新,无需担心后续的版本更新问题) sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh) " $ 在桌面环境下使用我个人比较喜欢的 Agnoster 主题 (终端环境我推荐使用 ys 主题) vim ~/.zshrc - - - - - - - - - - - - - - - - 修改配置为 ZSH_THEME="agnoster" $ 立即更新配置 source ~/.zshrc> 安装和配置中文输入法 fcitx5 $ 安装软件包 fcitx5 yay -S fcitx5 $ 安装输入法引擎 rime yay -S fcitx5-rime $ 安装对 Qt 和 GTK 程序的支持输入法模块 yay -S fcitx5-qt fcitx5-gtk vim /etc/environment - - - - - - - - - - - - - - - - 添加如下文本后并重新登录(注销用户) GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx GLFW_IM_MODULE=fcitx SDL_IM_MODULE=fcitx XMODIFIERS=@im=fcitx //使用 ~/.pam_environment 配置的环境变量,现已不再推荐使用 $ 安装适用于 Rime 的中文维基词库 yay -S fcitx5-pinyin-zhwiki-rime $ 安装炫酷的 material 主题 yay -S fcitx5-material-color - - - - - - - - - - - - - - - - 从 KDE 桌面程序启动器进入 fcitx5 的配置菜单: 主题选择 Fcitx5 - 附加组件 - 经典用户界面 另外在 Fcitx5 - 中州韻 中可以配置输入法的外观,可以根据自己选择勾选 []同时在程序中显示预编辑文本编辑
进行到这里,系统可以说是能够正常使用的状态了。接下来是一些常用软件的安装和注意事项。
个人常用软件安装和配置 Visual Studio Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 $ 安装微软构建版本 Visual Studio Code 和一个 KDE 的补丁 yay -S visual-studio-code-bin yay -S libdbusmenu-glib //因为 KDE 和 VScode 在密码管理方面的不兼容(截至2021-09-05),现在无法使用 GitHub 登录 VScode 。需要使用其他平台的密码管理器,现有两种方法解决此问题或是等待 VScode 或 KWallet 解决此问题。 一.安装 gnome 的密码管理器,即可解决 1.安装 gnome 密码管理器和其图形前端 yay -S gnome-keyring seahorse 2.添加默认密钥环时,密码与 linux 用户密码相同,这样只需在用户登录 linux 系统时输入一次密码 二.使用 KeePassXC 作为 Secrets Service 1.安装 libsecret 和 KeePassXC yay -S libsecret keepassxc 2.从 KDE 桌面程序启动器启动 KeePassXC 3.新建一个数据库,名称随意,密码自行设置 4.群组-新建群组,名称推荐为 Secret-Service-Integration ,配置默认 5.工具-设置-(应用程序设置)保密服务集成。勾选 在 KeepassXC 中启用 Freedesktop.org 保密服务集成 6.工具-设置-(应用程序设置)保密服务集成-常规-已公开的数据库群组。点击刚刚创建的数据库文件右边 管理 栏目下的铅笔图标 7.保密服务集成-公开条目。勾选 公开此群组下的条目 8.完成设置,现在 VScode 可正常登录 GitHub 9.注意,使用 KeePassXC 时应保持密码数据库处于解锁状态(截至2021-09-05 本人暂无发现无其他更好的方案能与方法一一样无需额外输入密码) 目前在 Wayland 环境下 VScode 仍然默认使用 XWayland ,若要原生使用 Waylang VScode 则使用命令行传递参数启动 code 即可 code --enable-features=UseOzonePlatform --ozone-platform=wayland Arch Wiki 下的方法传递参数好像并不能启动原生 Wayland 但是仍然在这里贴出 $ vim ~/.config/electron-flags.conf - - - - - - - - - - - - - - - - 添加如下文本 --enable-features=UseOzonePlatform --ozone-platform=wayland
Google Chrome 1 2 3 4 5 $ vim ~/.config/chrome-flags.conf - - - - - - - - - - - - - - - - --enable-features=UseOzonePlatform --ozone-platform=wayland
TO BE CONTINUED 1 2 3 4 5 mount -a //按照 fstab 的数据将所有未挂载的磁盘挂载 yay -S mlocate sudo updatedb yay -S google-chrome onedrive-abraunegg reboot
1 2 3 vim /etc/pacman.conf yay -S android-sdk-platform-tools android-udev reboot
放弃 xrdp 的远程桌面方案,也许试一试 kde桌面的? 或者 VNC 的
OneDrive onedrive -logout
Xorg X11 以 Surface Laptop Go 为例 屏幕对角线长度:12.4 inch(英寸) 屏幕分辨率:1536 * 1024
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 $ echo 'scale=5;sqrt(1536^2+1024^2)' | bc 1846.04225 $ echo 'scale=5;(12.4/1846)*1536*25.4' | bc 261.78662 $ echo 'scale=5;(12.4/1846)*1024*25.4' | bc 174.52441 ------------------------------ Section "Monitor" Identifier "<default monitor>" DisplaySize 261 174 EndSection
没时间别研究 refind ,会变得不幸
1 2 3 parted /dev/nvme0n1 print