适用于: 内存300-512MB的机器、商家不提供VNC控制台、商家VNC坏了
我随便拿了一台机器进行演示,还是预装了Debian系统
预装其他系统也可以,我还是推荐Debian
准备工作
1. 确定启动方式:传统BIOS还是UEFI?
ls /sys/firmware/efi
如果提示No such file or directory就是传统BIOS启动,否则就是UEFI
我这台机器是UEFI启动
2. 确定当前系统的根分区
使用 df -hT
命令查看
可以看到根分区是 /dev/vda1
,即第一个硬盘的第一个分区
3.确定是DHCP还是静态IP
执行 ip addr
查看网卡
如果活动网卡有dynamic字眼说明是DHCP,否则是静态IP
如果是静态IP,把ip地址,子网掩码以及网关记下来
我这台机器是DHCP
准备安装环境
cd /tmp
wget http://mirrors.edge.kernel.org/archlinux/iso/latest/archlinux-bootstrap-x86_64.tar.zst
zstd -d archlinux-bootstrap-x86_64.tar.zst
tar -xvf archlinux-bootstrap-x86_64.tar --numeric-owner
绑定目录并配置 Pacman 镜像列表
mount --bind /tmp/root.x86_64 /tmp/root.x86_64
为什么要绑定它自己?官方的解释:
不绑定的话系统也会警告:
WARNING: /tmp/root.x86_64/ is not a mountpoint. This may have undesirable side effects.
镜像的话我选择 Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch
sed -i 's/^#Server = https:\/\/mirrors\.kernel\.org\/archlinux\/\$repo\/os\/\$arch/Server = https:\/\/mirrors\.kernel\.org\/archlinux\/\$repo\/os\/\$arch/' /tmp/root.x86_64/etc/pacman.d/mirrorlist
进入 chroot 环境
/tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/
初始化 Pacman 密钥
pacman-key --init
pacman-key --populate archlinux
挂载目标分区
挂载目标分区,也就是原来的根分区
mount /dev/vda1 /mnt
除了/dev、/proc、 /run 、/sys目录都删除,比如:
cd /mnt
rm -rf bin etc initrd.img.old lost+found root srv usr vmlinuz.old home lib media opt var web initrd.img lib64 sbin vmlinuz boot
然后像正常安装 Arch Linux 一样使用 pacstrap 向目标挂载点安装系统基础软件包
cd ..
pacstrap /mnt base linux
生成 fstab 文件
genfstab -U /mnt > /mnt/etc/fstab
步骤五:进入新系统根目录并配置
卸载 resolv.conf 并进入新系统:
umount /etc/resolv.conf
arch-chroot /mnt
配置 DNS
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
安装常用的软件包
pacman -S vim openssh grub bash-completion htop curl wget
设置系统时间和主机名
设置时区和硬件时钟:
bash
复制代码
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
配置主机名和 hosts 文件:
echo "archlinux" > /etc/hostname
cat << EOF > /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 archlinux.localdomain archlinux
EOF
SSH 服务开机自启
systemctl enable sshd
配置 GRUB 引导加载程序(最重要)
根据 BIOS 或 UEFI 配置 GRUB
传统BIOS
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
UEFI
pacman -S efibootmgr
mkdir /boot/efi && mount /dev/sda1 /boot/efi
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
网络配置
根据实际情况配置:
DHCP 配置
cat << EOF > /etc/systemd/network/20-ethernet.network
[Match]
Name=en*
Name=eth*
[Link]
RequiredForOnline=routable
[Network]
DHCP=ipv4
EOF
静态 IP 配置
cat << EOF > /etc/systemd/network/20-ethernet.network
[Match]
Name=en*
Name=eth*
[Link]
RequiredForOnline=routable
[Network]
Address=ip地址/子网掩码网络号位数
Gateway=网关
EOF
网络服务开机自启
systemctl enable systemd-networkd
passwd设置root用户密码
确保每次启动时 DNS 配置正确(个人喜好)
echo "echo 'nameserver 8.8.8.8' > /etc/resolv.conf" >> /etc/profile
至此,Arch Linux 安装和基本配置已完成
接着在VPS控制面板强制重启VPS即可
期间阅读的文档:
https://wiki.archlinuxcn.org/wiki/从现有_Linux_发行版安装_Arch_Linux