在 Azure 上使用 Arch Linux

· 192 words · 1 minute read

众所周知,Azure 没有像 Vultr 一样上传 ISO 的功能(取而代之的是上传 VHD),也没有像 Vultr 一样,可以直接选择 Arch Linux 进行安装的功能。这给在 Azure 上安装 Arch 带来了不小的麻烦,不过我们仍然可以用 vps2arch 安装。

注意!

这不是任何产品的官方文档、帮助或使用说明,仅代表博主个人的经验总结,难免会有疏漏和错误之处。请务必结合官方文档进行阅读,以作补充。

目前我测试过的配置是 Ubuntu 16.04 LTS 镜像 + Gen1(Gen2 UEFI 尚未测试)。Ubuntu 18 会出错(由于已经有 16.04 可用,就不深究了,而且操作一次很麻烦)。同时,内存太低会卡死, 512M 内存就不要使用了 ,或者保证可用内存足够。具体多少我也不太清楚。

注意!

安装 Arch 会删除 VPS 上的 所有内容

注意!

安装 Arch 的过程不能由于任何原因中断,否则系统会 残废

如果你做好了准备,那么就开始吧。

首先,切换到 Root 账户,并设置密码。 因为 vps2arch 会在安装结束后要求重启( sync; reboot -f ),并且在安装后 无法使用 sudo ,所以最好先切换到 Root。同时,务必设置密码,因为 vps2arch 会更改密码到现在的密码(默认值是 vps2arch )。为了保持目前的密码,应该设置一个密码。(Ubuntu 镜像默认是没有 Root 密码的)

其次,执行 vps2arch。按照 vps2arch 官方教程,执行以下命令:

curl -vLO http://tinyurl.com/vps2arch
chmod +x vps2arch
./vps2arch

等待几分钟,会提示转换成功。

重启。 这时,再根据官方教程重启:

sync; reboot -f

请注意,SSH 连接会卡住。按下 Enter + ~. 强制退出。(来源

安装后配置 #

【别人装的 Arch 能用么?】是 Arch Linux CN “广为流传”的一句话。脚本装的 Arch 确实会有一些我们看不到的更改,不过这个脚本的更改似乎不算多,我们可以手工配置。首先,了解一下该脚本做了和没做的事情(对比 Installation guide):

  • 仅保留 Root 账户,密码是安装前的密码(默认 vps2arch
  • 使用 systemd-networkd 等(这里记不清)管理网路
  • 没有设置 Hosts
  • 没有设置 Hostname
  • 没有设置时区
  • 没有设置语言
  • 使用 Grub 进行引导
  • 安装默认内核
  • 安装并启用 sshd ,允许 Root 登录。

根据上面的清单,可以很快进行手工 Post installation 配置,这里以我的为例:

passwd # 更改 Root 密码
hostnamectl set-hostname XXX # 更改主机名
pacman -S vim sudo # 安装 vim 和 sudo
vim /etc/hosts # 修改 Hosts
useradd -G wheel -m sysadmin # 建立管理员账户
EDITOR=/usr/bin/vim visudo # 允许 wheel 组使用 sudo
vim /etc/ssh/sshd_config # 禁止 Root 登录
systemctl reboot # 重启

其他配置,如 SSH 密钥,请自行查阅 Arch Wiki 以了解如何配置。至此,基本 Arch Linux 安装告一段落。