静看光阴荏苒
不管不顾不问不说也不念

buyvm安装archlinux

buyvm这家的小鸡后台功能挺丰富的,有挂载iso的功能,所以折腾一下装个邪教玩玩?

安装的大部分步骤和官方的wiki差不多,主要是后面的网络配置和一些需要注意的小细节。

理论上支持dhcp,有vnc,有挂载iso功能的小鸡都可以使用这个方法安装archlinux。其实archlinux也可以从现有的linux直接安装,不过本文暂不介绍这种安装方式。

archlinux和其他linux发行版比较起来的话,安装方面是全命令行的,没有图形化界面给你使用。所以在VNC下面也是用命令行,安装步骤较复杂,需要你有一点linux的基础。

首先在buyvm后台挂载iso:

在这里找一个iso直链的地址:

https://www.archlinux.org/download/

例如:

https://mirrors.edge.kernel.org/archlinux/iso/2020.08.01/archlinux-2020.08.01-x86_64.iso

然后上传上去:

把机器的启动顺序改为CDROM在第一位:

重要:把机器关机,再重新启动,否则启动项的顺序无法应用更改。

现在访问VNC正常的话应该可以看到如下内容:

首先测试有没有网络:

ping google.com

buyvm是支持dhcp的,并且archiso里面默认也是使用systemd-networkd来配置dhcp,所以这里肯定是有网络的。

如果你测试没有网络的话,那么就需要配置静态地址了,这里本文不做叙述,具体的步骤可以看官方的wiki。

启用NTP时间同步:

timedatectl set-ntp true
timedatectl status

删除所有分区表:

wipefs -a /dev/vda

开始分区:

fdisk /dev/vda

机器只有20G硬盘,所以这里我只创建2个分区,一个swap,一个/。首先来创建swap分区:

分区类型要改为swap,最后按w保存退出:

接下来再创建一个/分区,划分硬盘剩下的所有空间即可:

创建swap并挂载:

mkswap /dev/vda1
swapon /dev/vda1

创建文件系统并挂载到/mnt:

mkfs.ext4 /dev/vda2
mount /dev/vda2 /mnt

安装基本系统和一些软件:

pacstrap /mnt base linux linux-firmware nano openssh grub

根据你的需要这里还可以安装更多的软件包,个人建议装个nano编辑器/openssh/grub就差不多了。

完成之后生成fstab:

genfstab -U /mnt >> /mnt/etc/fstab

现在你可以chroot到刚装的新系统了:

arch-chroot /mnt

设置root密码:

passwd

设置时区:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

本地化设置:

nano /etc/locale.gen

去掉下面的注释:

en_US.UTF-8 UTF-8

重新生成配置:

locale-gen

创建locale.conf配置文件:

nano /etc/locale.conf

写入如下配置:

LANG=en_US.UTF-8

设置hostname:

echo imlala > /etc/hostname

编辑hosts列表:

nano /etc/hosts

写入如下配置:

127.0.0.1    localhost
::1    localhost
127.0.0.1    imlala

接下来我们还需要配置网络,否则机器重启后是没有网络的。

网络的配置有多种可行的方案,你并不一定需要完全照搬我的配置。

archlinux支持很多网络管理软件,例如netctl/networkmanager/systemd-networkd。这里我选择使用systemd-networkd。

说下原因吧:

1.systemd-networkd无需额外安装,默认就自带了。

2.配置语法很简单。

3.systemd自家的兄弟,就算你用netctl/networkmanager,到时候还是要调用systemd来管理服务。

在开始配置之前,我们要知道:systemd-networkd默认是不会接管你的DNS设置的。(意味着它不会分配DHCP给你的DNS地址)

如果你要让systemd-networkd接管DNS设置的话还需要用到:systemd-resolved

但我个人觉得systemd-resolved有点多余,为了简便不如直接改:

nano /etc/resolv.conf

在里面设置你需要的DNS服务器地址就行了:

nameserver 8.8.8.8
nameserver 8.8.4.4

接下来用ip a看看接口的名字,有ens3和ens4,那就ens3用于外网,ens4用于内网吧:

新建systemd-networkd的配置文件:

nano /etc/systemd/network/ens3.network

之前说过buyvm这家的网络是支持dhcp的,但是他们的ipv6不支持dhcp,所以这里的ipv6配置静态地址,ipv4直接用dhcp。

一个示例配置:

[Match]
Name=ens3

[Network]
DHCP=ipv4
Address=2605:6400:0020:16f0:0008:0008:0008:0008/48
Gateway=2605:6400:20::1

ipv6的网关/子网掩码这些信息都可以通过buyvm的后台查看到:

注意子网掩码,systemd-networkd没有netmask这种配置项,取而代之的是使用掩码位。既上面配置的/48。

同时buyvm不会路由你的整个子网,你需要添加指定的ipv6地址到你的机器内,例如我下图配置的地址:

外网的配置就完成了,buyvm还支持内网通信,默认会给你的机器分配一个内部ip:

所以我们再新建一个systemd-networkd配置文件:

nano /etc/systemd/network/ens4.network

写入如下配置:

[Match]
Name=ens4

[Network]
Address=172.16.x.x/16

为什么掩码位是/16?从buyvm的wiki换算来的:

https://wiki.buyvm.net/doku.php/networking#ipv4_private

设置systemd-networkd的开机启动即可完成网络这块的配置:

systemctl enable systemd-networkd

接下来我们需要对openssh的配置做一点修改。刚才我们安装的openssh默认不允许root登录,所以编辑如下配置文件:

nano /etc/ssh/sshd_config

修改下面的配置:

PermitRootLogin yes

设置openssh的开机自启即可:

systemctl enable sshd

别忘了最后我们还需要安装grub并生成grub配置文件:

grub-install /dev/vda
grub-mkconfig -o /boot/grub/grub.cfg

在完成上述这些步骤后,我们就可以退出这个chroot了:

exit

取消挂载的文件系统然后重启机器就大功告成了:

umount -R /mnt
reboot

使用SSH登录上来简单测试一下系统各方面是不是正常的:

本来我不应该表明自己的立场,但出于善意的提醒,个人不建议使用archlinux在服务器上,尤其是你打算用来跑生产环境的机器。(像我这样随便玩玩的小鸡那当然无所谓)

服务器环境追求的是稳定,而不是追新,archlinux的滚动更新与服务器环境所追求的这个目标显然是格格不入的。

赞(2)
未经允许不得转载:荒岛 » buyvm安装archlinux
分享到: 更多 (0)

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    大佬,有个镜像tiktok的项目,要不要研究一下
    https://github.com/antiops/tiktok-downloader-and-rehoster

    蛤蛤4年前 (2020-08-08) Google Chrome 75.0.3770.100 Google Chrome 75.0.3770.100 Windows 7 x64 Edition Windows 7 x64 Edition回复

分享创造快乐

广告合作资源投稿