这篇教程介绍如何在KVM VPS安装Arch Linux,你也可以参考借助Evolution Linux的帮助来轻松安装Arch Linux。在这里Arch Linux被用作服务器操作系统,所以我只安装服务器所需要的基本软件,不安装图形界面的东西。
第一步、从Arch Linux ISO镜像文件启动你的VPS 在KVM VPS的控制面板中找到虚拟光驱,将Arch Linux ISO镜像文件插入到虚拟光驱中。然后,在你的电脑上用VNC客户端连接到你的VPS服务器。(一般在控制面板里有VNC登录的账号密码等信息。)建立VNC连接后,在控制面板里启动你的VPS。 KVM虚拟化的VPS默认使用seaBISO作为固件,按ESC或F12键来选择从哪个设备启动VPS,在列表中选择从虚拟光驱启动。
接下来你就能看见Arch Linux的启动菜单了。选择第一个选项以进入Arch Linux Live环境。(建议服务器使用64位)
第二步、在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来作为服务器操作系统。
相关主题 |