aliyun服务器安装archlinux

2020-07-30   21 次阅读


阿里云服务器安装 archLinux

在自己改了一段时间主题模板之后,幡然醒悟,还是 wordpress 比较香(我一个 java 后端程序员,干嘛天天跟前端过不去),于是又开始吧 blog 迁移到 wordpress 上来,然后发现 halo 好像也有了不错的主题,有迁移到 halo,可真是折腾死我了,以后就住 halo 了。
至于 archlinux,这当然是因为我最近一直用这个系统,感觉就这个比较香,于是小小折腾了一下,这里简单做个记录;
ps:因为 archlinux 更新比较激进,我也不知道这套操作啥时候就不管用了
ps:我是在 ubuntu 上操作的,其他系统理论上应该没问题,不过不保证
ps:仅适用与可以使用 vnc 登录的与服务器,比如阿里云(国内阿里云默认好像不是 vnc,不过也是支持的,在连接服务器那里下拉就可以看到)

为阿里云服务器安装 archlinux

安装前的准备(在已有的操作系统基础上操作)

到清华大学镜像站获取最新的系统 ==》清华大学镜像站

# 下载镜像至根目录
cd /
# 这里把url替换为上面获取到的
wget https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/archlinux-2020.05.01-x86_64.iso
#重命名为 arch.iso
mv arch* arch.iso
#编辑GRUB配置文件,加入 arch.iso 启动项(部分系统的该文件路径为 /boot/grub2/grub.cfg )
#编辑 /boot/grub/grub.cfg,在与下面结构类似的第一个 menuentry 前,添加下面的内容。(搜索“menuentry(空格)”的第一个匹配项)
vim /boot/grub/grub.cfg
#配置60秒的GRUB等待时长,“vda1”项根据主机“fdisk -l”命令查看,视情况更改
#花括号内的缩进为一个Tab键
set timeout=60
menuentry "Archlinux Live (x86_64)" {
    insmod iso9660
    set isofile=/arch.iso
    loopback lo0 ${isofile}
    linux (lo0)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_202002 img_dev=/dev/vda1 img_loop=${isofile} earlymodules=loop
    initrd (lo0)/arch/boot/x86_64/archiso.img
}

重启,进入 VNC 界面,配置 ssh

#如果提示“insmod”无法识别,进入原系统在GRUB配置文件中,使用Tab键重新缩进
#配置 arch live 环境
#设置密码
passwd
#自动分配IP
dhcpcd
#开启 ssh 服务
systemctl start sshd
#使用 ssh 连接,摆脱不好用的 VNC 界面
#用户名 root,密码为 passwd 所设置的
#重设磁盘 vda1 的读写权限
mount -o rw,remount /dev/vda1
#进入 vda1 挂载目录 /run/archiso/img_dev
cd /run/archiso/img_dev
#删除原系统文件(除了arch.iso)
rm -rf [b-z]*
#重新挂载 vda1 至 /mnt
mount /dev/vda1 /mnt

正常安装 Arch Linux (跳过分区步骤,此处万万不可随意重启,因为已经没有系统了,也没有 GRUB 了)

编辑软件源

#编辑镜像源,将“China”字样的镜像源复制到镜像首,如“tuna”
#使用文本编辑器“VIM”,打开镜像文件
vim /etc/pacman.d/mirrorlist
    #在该文件中搜索“China”,vim使用符号“/”作为搜索标志,回车后使用“n”/“N”切换搜索“下一个”/“上一个”
    /China(回车)
    #停留在字样“tuna”/“aliyun”处,将其复制下来,vim使用“2yy”表示“复制2行”
    2yy
    #跳转到第6行
    6gg
    #粘贴
    p
    #保存退出
    :wq

安装基础软件包

#使用 pacstrap 脚本,安装 base 软件包和 Linux 内核以及常规硬件的固件,此处我选择长期支持版内核
pacstrap /mnt base linux-lts linux-firmware
#使用 pacstrap 脚本,安装常用软件
pacstrap /mnt base-devel grub openssh intel-ucode vim man dhcpcd

配置系统

#生成 fstab 文件
genfstab -U /mnt >> /mnt/etc/fstab
#将环境变更至新系统下
arch-chroot /mnt
#设置时区(软链接)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#同步时钟
hwclock --systohc
#本地化(语言)
vim /etc/locale.gen
    #移除某些行头的注释符“#”,可通过搜索“en_US”实现
    en_US.UTF-8 UTF-8
    #保存退出
    :wq
#生成 local 信息
locale-gen
#创建 locale.conf
vim /etc/locale.conf
    #编辑 LANG 变量
    LANG=en_US.UTF-8
    #保存退出
    :wq
#创建网络相关文件
vim /etc/hostname
    #写入你想要用的主机名
    arch
vim /etc/hosts
    127.0.0.1   localhost
    ::1         localhost
    127.0.1.1   arch.localdomain   arch

用户信息设置

#设置 root 账户密码
passwd
#创建新用户
useradd -m -G wheel arch
# -m        创建家目录
# -G        用户所属的组
# arch      示例用户名
#设置 arch 用户密码
passwd arch
#修改(arch)用户权限
vim /etc/sudoers        # 编辑sudoer file
# 去掉“%wheel ALL=(ALL) ALL”前面的注释,保存退出

GRUB 配置

#生成 grub 相关文件
grub-install --target=i386-pc /dev/vda
#生成 grub.cfg
grub-mkconfig > /boot/grub/grub.cfg

这里生成之后可以 vim 打开看一下,是不是生成正确,确保万一

使能网络服务,并重启

#使能 dhcpcd
systemctl enable dhcpcd
#使能 sshd
systemctl enable sshd
#退出当前用户
exit
#重启
reboot
另一种网络服务配置
#编辑 systemd-networkd 配置文件
vim /etc/systemd/network/20-wired.network
#写入
[Match]
Name=enp0s*
​
[Network]
DHCP=ipv4
#使能 systemd-networkd
systemctl enable systemd-networkd

arch 到这里就基本安装完成了,剩下的就是按自己的需求配置系统了,这里其实也可以分区,不过我这没必要,就算了,有需求可以自己百度

## 参考文章

腾讯云安装 Arch Linux 过程记录

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

一介死肥宅程序员,希望世界和平