KVM虚拟化VPS如何安装Arch Linux

这篇教程介绍如何在KVM VPS安装Arch Linux。在这里Arch Linux被用作服务器操作系统,所以我只安装服务器所需要的基本软件,不安装图形界面的东西。


第一步:从Arch Linux  ISO镜像文件启动你的VPS


在KVM VPS的控制面板中找到虚拟光驱,将Arch Linux ISO镜像文件插入到虚拟光驱中。然后,在你的电脑上用VNC客户端连接到你的VPS服务器。(一般在控制面板里有VNC登录的账号密码等信息。)建立VNC连接后,在控制面板里启动你的VPS。


KVM虚拟化的VPS默认使用seaBISO作为固件,按ESC或F12键来选择从哪个设备启动VPS,在列表中选择从虚拟光驱启动。


KVM虚拟化VPS如何安装Arch Linux


接下来你就能看见Arch Linux的启动菜单了。选择第一个选项以进入Arch Linux Live环境。(建议服务器使用64位)


KVM虚拟化VPS如何安装Arch Linux


第二步:在Arch Linux live模式下连接互联网


Arch Linux的安装是需要互联网连接的。在KVM VPS中启动Arch Linux Live后你很可能会没有互联网连接。


你的主机商为你的VPS分配了一个固定IP。KVM虚拟机,也就是你的VPS可以与KVM宿主机建立静态的以太网连接,这样你的VPS就能访问互联网了。


Arch Linux建立静态的以太网连接步骤如下。


首先将ethernet-static样板文件复制到/etc/netctl目录下。


cp /etc/netctl/examples/ethernet-static /etc/netctl

然后编辑这个复制好的文件


nano /etc/netctl/ethernet-static

将文件的内容修改成如下。你需要更改红色的文字。ens3是网卡名称,你的可能有所不同,用ifconfig命令查看。KVM宿主机IP一般格式是xx.xx.xx.1,也就是网段中第1个IP。


Interface=ens3
Connection=ethernet
IP=static
Address=('your-vps-public-IP-address')
Netmask=('255.255.255.0')
Gateway=('your-kvm-host-IP')
DNS=('8.8.8.8')

保存文件。然后关闭网卡。


ifconfig ens3 down

加载修改后的ethernet-static网络连接文件。


netctl start ethernet-static

现在可以访问互联网了。用ping命令检查。


ping -c6 baidu.com

第三步:创建硬盘分区


使用parted分区编辑器在/dev/sda硬盘创建MBR分区表的命令:


parted /dev/sda mklabel msdos

这篇教程创建的是GPT分区表。


parted /dev/sda mklabel gpt

然后告诉parted我们将对/dev/sda硬盘进行分区。


parted /dev/sda

如果创建的是GPT分区表,那么我们得创建一个1MiB大小的biso_grub分区,因为KVM虚拟机的默认固件是seaBIOS,不是UEFI。Grub2启动管理器将被安装到这个bios_grub分区。


bios_grub分区必须要从第64个硬盘扇区开始,前63个扇区是MBR代码专用的。但是为了分区对齐,提高硬盘读写性能我们将biso_grub分区设置从硬盘1MiB开始。使用下面的命令创建1MiB大小的分区。


mkpart primary 1MiB 2MiB

将它设为bios_grub分区。


set 1 biso_grub on

然后创建Arch Linux所需要的分区。分区方案有很多种,这篇教程只创建一个root分区。下面的命令从2MiB开始,使用所有剩余的硬盘空间作为root分区。如果你需要更复杂的分区,请自己调整。


mkpart primary 2MiB 100%

现在退出parted分区编辑器。


q

将第二个分区,也就是root分区格式化成ext4文件系统。


mkfs -t ext4 /dev/sda2

将root分区挂载到/mnt目录下。


mount /dev/sda2 /mnt

第四步:安装基本软件包


首先打开mirrorlist文件来选择Arch Linux镜像源。


nano /etc/pacman.d/mirrorlist

找到一个位置近的镜像源,然后复制它的地址,将它粘贴到文件的最上方,这样就能优先从这个镜像源下载软件包了。保存文件。


然后,使用pacstrap将base system安装在/mnt目录下,也就是/dev/sda2 root分区。


pacstrap -i /mnt base

安装完成后,生成一个文件系统表文件(fstab)。


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

chroot进入/dev/sda2根分区。


arch-chroot /mnt

生成locale。


nano /etc/locale.gen

找到en_US.UTF-8 UTF-8 以及zh_CN开头的行。去掉这些行前面的#符号。保存文件。


生成/etc/locale.conf文件,并将en_US.UTF-8设置为默认的locale。


echo LANG=en_US.UTF-8 > /etc/locale.conf

export LANG=en_US.UTF-8

设置Arch Linux服务器的时区为上海。


ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

Arch Linux默认启用了core, extra, community三个软件库。通常你不需要启用其他软件库。如果你真的要添加其他软件库,请编辑 /etc/pacman.conf文件。


nano /etc/pacman.conf

这篇教程不添加其他软件库


现在为root用户设置密码。


nano /etc/pacman.conf

安装grub和os-prober。


pacman -S grub os-prober

将Grub启动器安装到/dev/sda硬盘,它将自动选择bios_grub分区。


grub-install /dev/sda --target=i386-pc

生成Grub启动菜单。


grub-mkconfig -o /boot/grub/grub.cfg

退出chroot环境。


exit

重启KVM VPS。


shutdown -r now

第5步:安装后的配置


在VPS重启后,再建立一次VNC连接,以root用户登录。安装在硬盘上的Arch Linux此时无法访问互联网。所以我们得按照前面的方法建立一个静态的以太网连接。但这次我们需要对ethernet-static做一点调整。


首先将ethernet-static样板文件复制到/etc/netctl目录下。


cp /etc/netctl/examples/ethernet-static /etc/netctl

然后编辑这个复制好的文件


nano /etc/netctl/ethernet-static

硬盘上的Arch Linux网络连接必须使用CIDR,也就是在你的VPS IP地址后面添加/24,并注释掉Netmask那一行。


Interface=ens3
Connection=ethernet
IP=static
Address=('your-vps-public-IP-address/24')
#Netmask=('255.255.255.0')
Gateway=('your-kvm-host-IP')
DNS=('8.8.8.8')

保存文件。然后关闭网卡。


ifconfig ens3 down

加载修改后的ethernet-static网络连接文件。


netctl start ethernet-static

现在可以访问互联网了。用ping命令检查。


ping -c6 baidu.com

创建一个用户,并加入到wheel, storage, power用户组。


useradd -m -g users -G wheel,storage,power -s /bin/bash <username>

设置用户密码。


passwd <username>

安装sudo工具。


pacman -S sudo

然后编辑/etc/sudoers文件。


EDITOR=nano visudo

找到这一行。


# %wheel ALL=(ALL) ALL

去年前面的#符号。保存文件。这表示允许wheel组的用户使用sudo来管理系统。


安装openssh


pacman -S openssh

编辑sshd_config文件。


sudo vi /etc/ssh/sshd_config

在文件末尾添加下面两行文字。将<username>修改成你的用户名。


AllowUsers <username>
PermitRootLogin no

第一行的意思是允许这个用户SSH登录,第二行的意思是禁止root用户SSH登录。这个是Linux服务器的最基本的安全配置。


启动SSH服务器。


systemctl start sshd

让SSH服务器随开机启动。


systemctl enable sshd

现在,在你的电脑上用SSH客户端,尝试SSH登录。你应该可以用普通用户账号登录,root用户应该是不能直接SSH登录的。


用普通账号登录后,使用sudo,升级Arch Linux的软件包。


sudo pacman -Syu

你可能需要安装如下软件包。net-tools工具包提供了ifconfig命令。


sudo pacman -S net-tools wget parted htop

启用NTP时间同步。


timedatectl set-ntp true

好了!我们成功地在KVM VPS安装了Arch Linux来作为服务器操作系统。


本文翻译自 How To Install Arch Linux on KVM VPS



KVM虚拟化VPS如何安装Arch Linux

Comments

Popular posts from this blog

Ubuntu考虑停止支持32位处理器

Linux系统安装WordPress.com Desktop App桌面客户端

使用anaconda安装CentOS7系统的过程