腾讯云/轻量云 安装ArchLinux的个人记录

腾讯云/轻量云 安装ArchLinux的个人记录

本文仅用于个人学习使用,过阵子再以教程的形式重新发布出来。如果你现在完全按这篇文章操作不一定会成功。

请同时搭配记录我的联想M720Q Arch Sway窗口管理器的安装和配置过程食用。

准备工作

下载镜像

wget https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/2021.08.01/archlinux-2021.08.01-x86_64.iso

编辑/boot/grub/grub.cfg文件,添加下列内容

1
2
3
4
5
6
7
8
9
10
set timeout=60
menuentry 'ArchISO' --class iso {
set isofile=/archlinux-2021.08.01-x86_64.iso
loopback loop0 $isofile
#archisolabel设置archiso文件驻留的文件系统标签。
#img_dev指明archiso文件驻留的设备
#img_loop是archiso文件在img_dev里的绝对位置
linux (loop0)/arch/boot/x86_64/vmlinuz-linux archisolabel=ARCH20210801 img_dev=/dev/vda1 img_loop=$isofile
initrd (loop0)/arch/boot/x86_64/initramfs-linux.img
}

Reboot 选择ArchISO引导项

安装

替换文件

mkdir mnt

mount -o rw /dev/vda1 mnt

mount -o rw,remount mnt

rm -rf mnt/*

pacstrap ./mnt base linux linux-firmware networkmanager sudo openssh

genfstab -U mnt >> mnt/etc/fstab

vim mnt/etc/fstab 将ro修改为rw可读写

切换到Arch

arch-chroot mnt

安装一些可能接下来会用到的包

pacman -S vim bash-completion

剩下还有一些步骤参考记录我的联想M720Q Arch Sway窗口管理器的安装和配置过程

开机自启动一些服务

systemctl enable NetworkManager sshd

如果没有启动NetworkManagersshd这两个服务的话,下次启动时没有网络并且无法ssh远程访问。

添加用户并设置密码

username替换为你要创建的用户名。

useradd -m username

passwd username

配置sudo

usermod -aG wheel username

编辑/etc/sudoers文件允许wheel组中用户使用sudo提权到root级别权限。

一定要将公钥添加到用户家目录的.ssh/authorized_keys文件内,否则重启后只能通过VNC访问这台机器进行后续配置。

安装grub引导
pacman -S grub efibootmgr
grub-install –target=i386-pc /dev/vda
生成grub2配置文件
grub-mkconfig -o /boot/grub/grub.cfg

reboot
重启后将使用本机ssh远程这台Arch轻量云实例,所以需要你在重启前配置好sshd服务并且将本机公钥传入到刚刚创建的用户的家目录

记录一次引导失败插曲:
忘记生成grub2配置文件,好在腾讯轻量云提供了远程VNC。
按照下面的命令,手动引导系统。

1
2
3
4
grub> set root=(hd0,msdos1)
grub> linux /boot/vmliunz-linux root=/dev/vda1
grub> initrd /boot/initramfs-linux.img
grub> boot

进入系统后再生成grub2配置文件grub-mkconfig -o /boot/grub/grub.cfg

后续配置

安装一些常用的包

pacman -S vim bash-completion

设置时区时间

timedatectl set-timezone Asia/Shanghai

hwclock --systohc

设置使用的区域

编辑/etc/locale.gen然后移除需要的 地区 前的注释符号 #

接着执行locale-gen以生成locale信息

编辑/etc/locate.conf配置文件,没有则新建:

文本内输入: LANG=en_US.UTF-8

设置全局区域环境为美国英语环境。

设置主机名

hostnamectl set-hostname 主机名

开启BBR

Kernel 4.9 及以后已经合并了 BBR 的代码,BBR有可能默认安装。
使用modinfo tcp_bbr查看BBR内核模块。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
filename:       /lib/modules/5.13.7-arch1-1/kernel/net/ipv4/tcp_bbr.ko.zst
description: TCP BBR (Bottleneck Bandwidth and RTT)
license: Dual BSD/GPL
author: Soheil Hassas Yeganeh <soheil@google.com>
author: Yuchung Cheng <ycheng@google.com>
author: Neal Cardwell <ncardwell@google.com>
author: Van Jacobson <vanj@google.com>
srcversion: 3ADF6435C60E99C5F186F19
depends:
retpoline: Y
intree: Y
name: tcp_bbr
vermagic: 5.13.7-arch1-1 SMP preempt mod_unload
sig_id: PKCS#7
signer: Build time autogenerated kernel key

查看是否开启BBR:
sysctl net.ipv4.tcp_congestion_control

开启BBR:

sudo sysctl net.ipv4.tcp_congestion_control=bbr

1
2
3
4
5
6
7
8
$ sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic
$ sudo modprobe tcp_bbr
$ lsmod | grep tcp_bbr
tcp_bbr 20480 0
$ sudo sysctl net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_congestion_control = bbr

开启后效果可以立即看到,如果想在重启后依然使用BBR,则需要写入到文件系统:

echo "tcp_bbr" > /etc/modules-load.d/80-bbr.conf

echo "net.ipv4.tcp_congestion_control=bbr" > /etc/sysctl.d/80-bbr.conf