ArchWiki 中 archlinux 的安装
一些知识点
Arch Linux 现在只支持 x86_64(即 amd64) 架构.
Arch Linux 的发布版本只是安装和修复环境,包含 base 元软件包和一些辅助软件,一般每月上旬发布一次。
使用 pacman -Syu
命令升级系统。
新功能通过 pacman -Syu
即可拥有。
pacman -Qs
可用于查找包.
Arch Linux 安装镜像不支持安全启动 (Secure Boot).
虚拟控制台默认的 Shell 是 Zsh.
如果要清除原来的分区信息, 通过创建一个新的分区表, 利用 fdisk
.
BIOS with MBR.
UEFI with GPT.
如果要启动的磁盘已经有一个 EFI 系统分区,不要新建 EFI 分区。
如果要创建一个 EFI 系统分区,使用 mkfs.fat)8
将其格式化为 Fat32.
1 |
|
挂载分区一定要遵循顺序,先挂载 (root) 分区到 (/mnt), 再挂载引导 (boot) 分区到 (/mnt/boot 或 /mnt/efi), 最后再挂载其他分区。
如果创建了交换空间卷,使用 swapon
启动它:
1 |
|
文件 /etc/pacman.d/mirrorlist
定义了软件包会从哪个镜像下载.
安装必需得软件包:
1 |
|
在虚拟机或容器中安装时,可以不安装固件软件包 (即 linux-firmware).
这里安装 base-devel
可能更好。
要生成文件系统表,用于在系统启动时自动挂载分区。
注意b站那个教程装 kde 桌面时,软件包是 kde-applications-meta
.
自己安装的全过程 (综合多个安装教程, 并在虚拟机上实验)
修改命令行字体
修改命令行的字体,其字体文件存放在 /usr/share/kbd/consolefonts
下:
1 |
|
这个字体较大.
修改键盘布局
使用 loadkeys
命令,如:
1 |
|
修改键位
查看所有的 keycode, 使用 dumpkeys
命令:
1 |
|
文件名任意,如 keys.conf
,其目的是写一个键盘的配置文件:
1 |
|
然后用 loadkeys
加载一下配置文件.
1 |
|
查看启动方式
如果不是 UEFI 启动方式则装不了 arch.
1 |
|
连接网络设备
先通过 ip link
查看网络设备, 然后用 ip link set <name> up
连接
这里可能会有 RTNETLINK answers: Operation not possible due to RF-kill
, 原因是网卡被警用,解决方法:
使用 rfkill
命令, 先查看当前状态:
1 |
|
unblock 硬件:
1 |
|
使用 wpa_supplicant
扫描当前 wifi
1 |
|
这里的 wlan0
是设备.
1 |
|
可以列出 wifi 名列表. 这里 ESSID
的含义就是 wifi 名.
连接 wifi
使用 wpa_passphrase
.
格式:
1 |
|
如:
1 |
|
用 wpa_supplicant
利用配置文件连接网络:
1 |
|
-c
选项指定配置文件,-i
选项指定设备. 这里的 &
是放在后台运行.
连接之后需动态获取一个 IP 地址。
使用 iwctl
1 |
|
动态获取 IP 地址
使用 dhcpcd
:
1 |
|
还是放在后台运行.
若无法连接网络
具体情况为 wlan0
这个设备消失了,听 LUG 群里面说是没有安装网卡驱动。
暂时解决方法为,使用启动盘,然后 arch-chroot
上去后操作.
另一个方法就是插网线.
在已经安装好的系统中,iwlist
这个命令用不了,因为没有安装,因此需要:
1 |
|
查看网卡型号
利用 lspci:
1 |
|
比如我的输出为:
1 |
|
这里 Realtek Semiconductor 是公司名. RTL8111/8168/8411
就是网卡型号.
看无线网卡应该为 Network controller
. intel
查看网卡驱动以及版本号
要使 NIC 硬件正常运行,必须给电脑的 NCI 硬件设备安装对应的网卡驱动程序.
使用 dmesg 和 modinfo
使用 dmesg (display message) 命令查看, 这个命令用于显示开机信息,开机的信息也保存在 /var/log
中. 内核在引导期间会加载必要的硬件驱动程序,因此 dmesg 命令的输出中会存在是否安装了以太网卡驱动程序的信息.
1 |
|
使用 modinfo
命令查看版本号, 格式为:
1 |
|
使用 ethtool 查看
可能需要先安装,在 Ubuntu 中:
1 |
|
使用 ethtool (ethernet tool) 来查看网卡名对应的网卡驱动名以及网卡驱动版本号, 格式为:
1 |
|
使用 lshw 命令查看
lshw (list hardware) 可以查询到网卡对应的网卡驱动信息以及网卡驱动版本号:
1 |
|
查看网卡生产商
先下载一些网络诊断工具:
1 |
|
先查看网卡信息:
1 |
|
里面一串格式类似为: 00-00-00-AA-BB-CC
的就是 MAC 地址.
得到一个网卡的 MAC 地址后,打开一个查询工具 (工具) 输入 MAC 地址就可以查到网卡生产商的信息.
这里提一下 MAC 地址的结构,如 A1-B2-C3-D4-E5-F6
, 前三个为厂商唯一,后三个为厂商分配的.
更新系统时间
1 |
|
配置 pacman
pacman -S
中 S
的含义是 “Synchronism”
配置文件为 /etc/pacman.conf
, 其中,去除 #Color
前面的 #
注释符,Color
的意思是在安装软件包时,会给出彩色的提示,而不是黑白.
1 |
|
文件中:
1 |
|
这些都代表 arch 的软件源. 这个 mirrorlist
里面记录的是 arch 软件源服务器的地址.
进入文件后把 China 的放在最顶上,因为 pacman 是从上往下读取.
利用 vim 的宏录制可以干很多重复的工作.
在 vim 中寻找空行为 /^\n
archlinuxcn 中的源很多不是官方编译。
换源
先备份:
1 |
|
添加华为的源和阿里云的源:
1 |
|
更新:
1 |
|
使用 ssh 连接
使用 ssh
连接后安装比较方便, 因此先:
1 |
|
启动 sshd
:
1 |
|
先修改一下 root 密码,方便连接:
1 |
|
然后回到自己的终端进行 ssh 连接:
1 |
|
这个 ip 后面没有端口号.
磁盘分区及格式化
先用 fdisk -l
命令查看磁盘位置, 然后用 fdisk
命令直接分区。如 fdisk /dev/vda
之后格式化磁盘, boot
分区格式化为 fat32
,如 mkfs.fat -F 32 /dev/vda2
/
根目录分区格式化为 ext4
, 如 mkfs.ext4 /dev/vda1
将分区挂载,先挂载 /
根分区到 /mnt
目录:
1 |
|
然后将 boot
分区挂载到 /mnt/boot
, 先得创建一个目录:
1 |
|
安装系统
安装几个工具:
1 |
|
base
包包含 20 来个基础的软件.
linux
是 linux 内核。
linux-firmware
是 linux 的框架.
base-devel
中也同样有重要的 packages, 比如 GCC 和 make.
这里 dhcpcd
是用来动态获取 ip 的。
e2fsprogs
是一个 Ext2 (及 Ext3/4) 文件系统工具,它包含了诸如创建、修复、配置、调试 ext2 文件系统等的标准工具.
iwd
是 iNet Wireless Daemon 项目,旨在基于 Linux 设备提供全面的 Wi-Fi 连接解决方案。
pacstrap 是一个脚本,它会往一个文件夹里面安装你想要的软件,当前未将根目录挂载到 /mnt
时,其所在环境为启动盘所在的位置而不是系统盘. 因此需要把根目录挂载.
生成文件系统表
用于自动挂载分区,不然系统无法正常启动.
1 |
|
执行以下命令进入到我们安装的系统,对系统进行配置:
1 |
|
设置时区
1 |
|
本地化
Local 明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准.
生成 Local 信息
1 |
|
创建 locale.conf 文件,并编辑设定 LANG 变量:
1 |
|
主机名配置:
1 |
|
生成对应 hosts, 将 hostname
换成自己设置的:
1 |
|
设置 root 密码:
1 |
|
安装引导程序
安装 Linux 引导加载程序,才能在安装后启动系统.
安装徽码
1 |
|
其中 intel-ucode
是厂家或程序提供商来为你的电脑 cpu 更新一些驱动.
配置 grub
Arch 使用 grub2 管理引导,安装相关程序:
1 |
|
安装引导
在安装 grub
之前,需要先确认系统架构是什么.
1 |
|
1 |
|
grub2 默认禁用了 os-prober, 如果是选择双系统或多系统安装,需手动开启该选项。
os-prober 可以检查其他硬盘上的其他系统引导, 如果不开启,可能无法识别其他系统.
1 |
|
生成引导配置文件
1 |
|
配置开机启动项
开机后自动连接网络, 需下载联网程序并设置开机自启动:
1 |
|
ARU 添加 ArchlinuxCN
1 |
|
去掉 # Color
前的注释符.
然后更新一下:
1 |
|
若报错则需获取 gpg 密钥:
1 |
|
结束
1 |
|
若 win 和 Ubuntu 的引导记录在 grub 中消失
实际上的引导记录还是存在的,可以通过 /etc/efi
目录下查看.
要找到启动 Ubuntu 和 Win 的方法,可以在 BIOS 中进行顺序的切换.
新建用户
1 |
|
设置用户密码:
1 |
|
赋予用户 sudo 权限, 修改 /etc/sudoers
文件, 去掉 %wheel
行之前的注释. 需要先修改文件权限。
安装 dwm 窗口管理器
参考博客
参考b站
先说一个误会,自己在参考一个视频后拉取了别人的 pwm 仓库,然后安装后不知道如何使用,重新安装原始包即可.
桌面环境与窗口管理器概述
桌面环境会提供很多工具。大多数桌面环境包括一整套整合应用程序和使用工.
窗口管理器仅仅用于管理窗口,安装了窗口管理器之后就可以不用安装桌面环境.
准备工作
有些可能在前面以经安装好了:
1 |
|
acpi
是用来查看电池电量的工具。usbutils
是用来查看系统 USB 设备.pciutils
用来查看系统 PCI 设备。
安装驱动:
1 |
|
这三个好像本就安装好了的,因为我在下载的时候显示的是 reinstall
.
xf86-vedio-intel
是显核的驱动.mesa
是用来配合显卡的另一种上层驱动.xf86-input-libinput
是笔记本触摸板的驱动.
安装X窗口系统的相关服务:
1 |
|
xorg
是 X 服务,用来显示图形界面xorg-xinit
是 X 服务的启动程序xwallpaper
用于更换壁纸picom
窗口渲染,后面做半透明渲染
安装窗口管理器
安装 suckless 全家桶:
1 |
|
分别进入这几个下载下来的目录,并执行 sudo make clean install
.
在家目录下创建 .xinitrc
文件并添加 exec dwm
.
安装亮度控制和 Night Mode
1 |
|
在 .xinitrc
文件中添加 brightnessctl set 20% &
和 redshift -P -O 4800 &
同样在 .xinitrc
中添加 picom &
安装 lightdm 服务
lightdm
是一个 display manager,也就是提供一个登录界面.
1 |
|
其配置文件位置为 /etc/lightdm/lightdm.conf
修改该配置文件,修改 greeter-session
的为 greeter-session=lightdm-webkit2-greeter
.
接着修改 /etc/lightdm/lightdm-webkit2-greeter.conf
将 detect_theme_errors
的值改为 false
. webkit_theme
的值改为 litarvan
.
安装 kde 桌面环境
先安装依赖的 xorg 包.
1 |
|
最小安装 kde 和 plasma 桌面:
1 |
|
之前装的 kde-applications-meta
里面是应用,不是桌面环境. 详情见ArchWiki
sddm 是 kde 使用的登录管理器.
设置 sddm 的开机启动:
1 |
|
下载一些应用:
1 |
|
国内开发的桌面环境有 deepin
1 |
|
这是一个已经配置好的皮肤,附带很多软件.
将 /etc/lightdm/k=lightdm.conf
中 greeter-session
改为:
1 |
|
TLP
用于管理电池.
字体
进入一个 b 站 up 的 github 页面– 主页
网易云
1 |
|