利用SSH安装Arch Linux系统
本文最后更新于 2024-11-19,文章内容可能已经过时。
利用SSH安装Arch Linux系统
为什么要用SSH安装Arch
安装Arch Linux涉及到大量命令输入,如果手工输入不仅耗时,还容易出错。利用SSH可以直接复制命令,高效便捷地完成安装过程,避免手动输入的繁琐和错误。
连接网络
若使用无线连接
使用 iwctl
进行连接:
iwctl # 进入交互式命令行
device list # 列出无线网卡设备名,比如无线网卡看到叫 wlan0
station wlan0 scan # 扫描网络
station wlan0 get-networks # 列出所有 wifi 网络
station wlan0 connect wifi-name # 进行连接,注意这里无法输入中文。回车后输入密码即可
exit # 连接成功后退出
ℹ️ 提示
若无线网卡无法显示,请确保你的无线网卡硬件开关处于打开状态。
你可以使用如下命令查看内核是否加载了你的无线网卡驱动。
lspci -k | grep Network
若使用有线连接
正常来说,只要插上一个已经联网的路由器分出的网线(DHCP),就能联网。
可以等待几秒等网络建立连接后再进行下一步测试网络的操作。
若笔记本没有网线接口请使用带网线接口的扩展坞。
测试网络连通性
ping www.wlli.cn
稍等片刻,若能看到数据返回,即说明已经联网。与 Windows 不同的是,需要按下 Ctrl
+ C
手动退出 ping
命令。
安装SSH
在安装和升级软件包前,先同步本地的包数据库和远程的软件仓库。
ArchLinux的软件仓库为我们提供了SSH的开源实现openssh,安装命令如下:
[root@wlli~]# pacman –Syu openssh
设置和启动SSH服务
安装完openssh后,设置root的密码并开启服务
[root@wlli~]# passwd # 设置密码,默认root
[root@wlli~]# systemctl start sshd # 开启服务
查看主机IP
ip a
使用SSH工具连接
ssh root@<目标机器IP>
输入之前设置的root密码,即可通过SSH连接进行远程操作,继续完成Arch Linux的安装。
Arch Linux安装流程
1、1更换国内镜像源
更换国内软件仓库镜像源加快下载速度
使用 vim
编辑器修改 /etc/pacman.d/mirrorlist
文件。将 pacman
软件仓库源更换为国内软件仓库镜像源:
vim /etc/pacman.d/mirrorlist
推荐的镜像源如下:
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 清华大学开源软件镜像站
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch # 华为开源镜像站
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch # 兰州大学开源镜像站
2、分区和格式化
2、1、推荐分区配置。
-
/
根目录:>= 128GB
(和用户主目录在同一个Btrfs
文件系统上) -
/home
用户主目录:>= 128GB
(和根目录在同一个Btrfs
文件系统上) -
/boot
EFI 分区:>=128MB
(系统引导分区,双系统或多系统适量增加,但不要超过1024MB) -
Swap 分区:
>= 电脑实际运行内存的 50%-100%
(设置这个大小是为了配置休眠准备,推荐8GB即可)
ℹ️ 提示
因为采用 Btrfs
文件系统,所以根目录和用户主目录实际在一个分区上,只是在不同的子卷上而已。这里根目录和用户主目录的大小仅为参考,一般来说日常使用的 linux 分配 128GB 已经够用了。
2、2、查看磁盘的分区情况
通过 lsblk
命令,区分要安装 archlinux 的磁盘(通过观察磁盘的大小、已存在的分区情况等判断)并显示当前磁盘的分区情况:
[root@arch arch]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 128M 0 part /boot
├─sda2 8:2 0 8G 0 part [SWAP]
└─sda3 8:3 0 210G 0 part /
三个分区分别代表:
sda1
—— EFI 分区sda2
—— SWAP分区sda3
——/
根目录&&/home
用户主目录(Linux filesystem)
ℹ️ 提示
sda1、sda2、sda3是虚拟机默认的磁盘分区,如果实体机安装请根据实际情况判断(一般的nvme固态是带有nvme0n1标识的,)
2、3、对磁盘分区
☢️ 警告
可能造成数据丢失!
可能造成数据丢失!
可能造成数据丢失!
cfdisk /dev/xxx # 对安装 archlinux 的磁盘分区 xxx为操作磁盘
默认新建的类型是 Linux filesystem
,我们需要将类型更改为 Linux swap
或EFI System
- 操作完成后
[Write]
确认分区操作生效 - 选中操作
[Quit]
以退出cfdisk
分区工具
2、4、格式化分区
<disk>
为你刚才分区时指定的分区,如果忘记可以使用 fdisk -l 查看
格式化boot分区
mkfs.fat -F 32 /dev/<disk>
# 例如:
# mkfs.fat -F 32 /dev/sda1
格式化swap分区:
mkswap /dev/<disk>
# 例如:
# mkswap /dev/sda2
根目录和用户目录
mkfs.ext4 /dev/<disk>
# 例如:
# mkfs.ext4 /dev/sda3
#格式化 Btrfs 分区,timeshift备份减少很多空间
mkfs.btrfs -L myArch /dev/sda3
3、挂载分区
# 假设分区方案为:
# 引导分区 -> /boot -> /dev/sda1
# swap分区 -> 不挂载 -> /dev/sda2
# 根分区 -> / -> /dev/sda3
# Linux分区由根分区开始,所以必须先挂载根目录 才能挂载其他目录,然后创建文件夹,挂载
# 挂载 / 目录
mount /dev/sda3 /mnt
# 创建 /mnt/boot 目录
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot # 挂载 /mnt/boot 目录
# 挂载交换分区
swapon /dev/sda2
使用 df
命令复查挂载情况:
df -h
使用 free
命令复查 Swap 分区挂载情况:
free -h # -h 选项会更利于查看
4、安装系统
往/mnt目录里安装系统,其中最基础的四个包是base base-devel linux linux-firmware
[root@arch arch] # pacstrap /mnt base base-devel linux linux-firmware vim git dhcpcd e2fsprogs iwd
#命令参数说明:
base-devel —— base-devel 在 AUR 包的安装过程中是必须用到的
linux —— 内核软件包,这里建议先不要替换为其它内核
如果用了旧版镜像导致无法下载,一般显示GDP密钥出错,出现“User is unknown trust, installation failed“。
先要安装最新密钥`pacman -S archlinux-keyring`。
如果不是这个问题,就更新一下签名:`pacman-key --refresh-keys`
4、1、生成文件系统表
fstab
用来定义磁盘分区。它是 Linux 系统中重要的文件之一。使用 genfstab
自动根据当前挂载情况生成并写入 fstab
文件。文件系统表主要用于系统启动时自动挂载分区,不然系统无法正常启动!执行以下命令生成
# 生成 fstab文件 (用 `-U` 或 `-L` 选项设置 UUID 或卷标)
# efi + gpt
genfstab -U /mnt >> /mnt/etc/fstab
# biso + mbr
genfstab -p /mnt >> /mnt/etc/fstab
# 查看是否生成
cat /mnt/etc/fstab
进入安装的系统
arch-chroot /mnt
#设置主机名
vim /etc/hostname #加入你想为主机取的主机名,这里比如叫 arch
vim /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
#设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc #将系统时间同步到硬件时间
#设置 Locale
vim /etc/locale.gen
#编辑 /etc/locale.gen,去掉 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8 行前的注释符号(#)
locale-gen #生成 locale
echo 'LANG=en_US.UTF-8' > /etc/locale.conf #向 /etc/locale.conf 输入内容
#为 root 用户设置密码
passwd root
#安装微码
pacman -S intel-ucode # Intel
pacman -S amd-ucode # AMD
安装引导程序
#安装引导程序
pacman -S grub efibootmgr os-prober #安装相应的包
#安装 GRUB 到 EFI 分区
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
#接下来使用 vim 编辑 /etc/default/grub 文件
vim /etc/default/grub
进行如下修改:
去掉 GRUB_CMDLINE_LINUX_DEFAULT 一行中最后的 quiet 参数
把 loglevel 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错
加入 nowatchdog 参数,这可以显著提高开关机速度
#最后生成 GRUB 所需的配置文件
grub-mkconfig -o /boot/grub/grub.cfg
# 下载wifi 管理
pacman -S dhcpcd iwd networkmanager
pacman -S vim sudo bash-completion iproute2 neofetch yay zsh fish
# 设置开机自启动
systemctl enable dhcpcd
systemctl enable iwd
systemctl enable NetworkManager
#新建用户
useradd -m -G wheel -s /bin/bash <username> #为你自己的用户名,登录用,注意用户名必须全小写
passwd <username> # 设置用户密码
#使用 vim 编辑器通过 visudo 命令编辑 sudoers 文件:
EDITOR=vim visudo # 这里需要显式的指定编辑器,因为上面的环境变量还未生效
#找到如下这样的一行,把前面的注释符号 # 去掉:
#%wheel ALL=(ALL) ALL
这里稍微解释一下:
%wheel —— 用户名或用户组,此处则代表是 wheel 组,% 是用户组的前缀
ALL= —— 主机名,此处则代表在所有主机上都生效(如果把同样的 sudoers 文件下发到了多个主机上)
(ALL) —— 用户名,此处则代表可以成为任意目标用户
最后的 ALL —— 代表可以执行任意命令
完成安装
exit # 退回安装环境
umount -R /mnt # 卸载新分区
reboot # 重启
后安装时期
安装图形界面 KDE
systemctl enable --now dhcpcd # 设置开机自启并立即启动 dhcp 服务
ping www.baidu.com # 测试网络连接
1.窗口图形系统 Xorg
执行下面命令安装 Xorg 的一些组件(提示全部回车确认):
sudo pacman -S xorg-server xorg-apps xorg-xinit xorg-xclock xterm
安装完成后,可执行 startx
命令测试 Xorg 是否正常工作。(执行 exit 退出 Xorg 测试界面)
# 执行下面命令安装 KDE Plasma(提示全部回车确认):
sudo pacman -S plasma
# 如果你想一次性安装全部 KDE 应用,可执行下面命令(可选)
sudo pacman -S kde-applications
# 下面是安装个人喜欢的一些 KDE 应用
sudo pacman -S dolphin konsole kate kdeconnect ark gwenview filelight kcalc kdenlive krita kdiskmark
# (KDE 全部应用详见 https://apps.kde.org/zh-cn/)
启用登录管理器 SDDM
# sddm 开机自启
sudo systemctl enable sddm
# 启用 SDDM,进入桌面环境
sudo systemctl start sddm
进入桌面后、可通过Alt + Enter快捷键弹出全局搜索框,可以快速搜索打开想要打开的应用,非常快速便捷!!!
蓝牙
# 安装蓝牙并启动蓝牙服务
sudo pacman -S bluez bluez-utils
sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service
# 安装蓝牙音频
sudo pacman -S pulseaudio-bluetooth
# 蓝牙图形化管理工具安装
sudo pacman -S bluedevil
设置 Timeshift 快照
sudo pacman -S timeshift
安装之后,如果 Timeshift 没有自动备份,需要手动开启cronie
服务
sudo systemctl enable --now cronie.service