文章目录
目录
前言
好多年不在csdn写文章记录了。习惯了平时在网上白嫖,最后发现很多东西不总结、不记录、不回顾永远不能真正称为自己的。所以想开始慢慢在csdn记录自己学习内容。
因为在很多公众号、平台、社区都经常看见Arch linux身影,但自己从未安装、体验过,故最近突然想尝试自己动手安装体验一番。
一、Arch linux简介
Arch linux因为没有中文社区,以及高度自定义的安装方式,导致对没有一定经验的新手安装起来异常困难,问题不断。
关于Arch的详细介绍就不写了,通过自己体验,个人不觉得这不是一个适用于数据中心服务端的一个发行版,当然它本身也不是一个具有专门公司维护的一个商业发行版,只是和Debian一样由社区来维护的版本,它追求前沿的新技术理念,注定了没有稳定性可言。
二、安装前准备
系统ISO包下载:archlinux-iso安装包下载_开源镜像站-阿里云
系统环境:win11+ work station 16.2.4 (16.0.0在win11上会导致关机异常,建议升级到16.2.4)
网络:Arch linux IP:192.168.180.66 虚拟机NAT模式
本次安装信息情况:
项目 | 信息 | 备注 |
内存 | 2G | |
硬盘 | 20G | |
swap | 2G | |
桌面 | 不安装 | |
文件系统 | xfs | |
存储分区方式 | LVM |
三、安装步骤
1.创建虚拟机
详细步骤跳过,配置如下:
2.安装过程
选第一项进入类似windows pe的arch系统。
(1)配置临时系统的网络
ip addr add 198.168.180/24 dev ens33
配置默认网关和DNS
ip route add default via192.168.180.2
echo nameserver 223.5.5.5 >> /etc/resolv.conf
因为vmware workstation里面操作不方便,我们网络配置好后切换到MobaXtrerm远程ssh上去进行后面的安装。
(2)配置时间和时区
timedatectl set-ntp 1
timedatectl set-timezone Asia/Shanghai ##注意大小写
(3)配置软件源
重启下软件更新程序。reflector相当于red hat的yum更新软件。
systemctl restart reflector
查找中国内按速率排序的,在24小时内同步过的源,并保存到/etc/pacman.d/mirrorlist中。
然后同步软件包数据库。
reflector -c China -a 24 --sort rate --save /etc/pacman.d/mirrorlist
pacman -Sy
(4)配置硬盘和xfs文件系统
分区方案:
swap:2G
/ :10G
/home:5G
boot:500m
/var:剩余所有空间
查看当前系统下硬盘信息,找到分配的20G容量的硬盘。
fdisk -l
物理盘基础划分
利用cfdisk是一个简易的硬盘图形配置工具,考虑arch都使用的比较新,我们选择GPT类型的分区表。并将硬盘按下图配置(按自己实际需求调整),需要注意图中Type栏类型。/(根目录)、/home(家目录)、/var(日志目录)我们一会儿在LVM中进行详细配置。
退出cfdisk工具后,利用fdisk工具在查看确认下配置信息:
LVM逻辑卷配置:
采用逻辑卷配置home、/(根目录)、var目录,是因为方便后面扩展分区的容量。建议在实际生产环境,尽量都采用lvm方式方便后期扩展。
pvcreate /dev/sda3 /dev/sda4 /dev/sda5
vgcreate -n roots /dev/sda3
vgcreate -n homes /dev/sda4
vgcreate -n vars /dev/sda5
lvcreate -n root -l 100%free roots
lvcreate -n home -l 100%free homes
lvcreate -n var -l 100%free vars
结果如下:
格式化文件系统:
mkfs.fat -F32 /dev/sda1
mkswap /dev/sda2
mkfs.xfs /dev/mapper/roots-root
mkfs.xfs /dev/mapper/homes-home
mkfs.xfs /dev/mapper/vars-var
挂载文件系统
###执行命令###
mkdir /mnt/boot
mkdir /mnt/home
mkdir /mnt/var
mount /dev/sda1 /mnt/boot
swapon /dev/sda2
mount /dev/mapper/roots-root /mnt
mount /dev/mapper/homes-home /mnt/home
mount /dev/mapper/vars-var /mnt/var
查看挂载结果
(5)加载系统基础环境和必要软件
pacstrap /mnt linux linux-firmware linux-headers base base-devel bash-completion vim networkmanager lvm2 openssh xfsprogs
- 其中base、linux、linux-firmware是必须的系统基础环境
- linux-headers、base-devel、bash-completion是保障后续软件环境能正常运行的额外包,分别是内核头文件库、bash开发环境包、bash命令补全工具。
- networkmanager是网络管理软件。如果执行的时候这个报错,可以暂时先去除,后续在安装也行。
- lvm2是逻辑卷,很重要、很重要、很重要。重要的事说三遍,因为我们这次安装挂载的存储是基于lvm的,不安装系统挂载不了硬盘存储也就不能启动系统。
- xfsgrogs是xfs文件系统,很重要、很重要、很重要。不安装系统识别不了xfs文件系统。
- vim是文本编辑器。
- openssh是远程连接工具。
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab
3. 配置系统
首先切换根目录:
arch-chroot /mnt
(1)安装必要的软件
切换完之后,相当于已经在我们安装系统的环境下了。可以先补全下基本软件
pacman -S grub sudo networkmanager efibootmgr xfsprogs
- 如果前面下载基础环境的时候,有些软件提示失败,可以在此进行安装。本次安装的时候networkmanager前面失败了,在这里在此尝试安装。
- efibootmgr是EFI应道管理工具。
- grub是启动管理工具。
- sudo是普通用户提权工具。
- 配置一些开机启动的软件,比如网络、ssh。
systemctl enable NetworkManager sshd
(2)配置root用户密码
passwd root
(3)配置LVM文件系统支持和grub信息:
vim /etc/mkinitcpio.conf ##在HOOKS=".....添加 lvm2"
vim /etc/default/grub ## grub加载lvm模块
(4)配置grub启动相关信息
- echo "GRUB_DISABLE_OS_PROBER=false" >> /etc/default/grub
- grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux202208 --recheck
- grub-mkconfig -o /boot/grub/grub.cfg
- 开启可以识别其他的操作系统。
- 配置EFI方式启动信息
- 生成新的配置grub.cfg
(5)(参考可选)****如果执行到这里出现以下报错:
1、你的物理机太久,不支持EFI启动
2、虚拟机没有开启EFI启动。
我这里是虚拟机没有开启EFI,所以关机,在vmware workstation里面修改启动配置。如下:
重启后,需要重新执行:配置网络-->挂载分区-->切换根目录arch-chroot。回到之前的配置界面,在执行命令,成功会显示如下:
(6)设置语言
vim /etc/locale.gen
把里面的en_US.UTF-8
和zh_CN.UTF-8
前注释去掉
locale-gen
配置完后exit退出chroot环境,reboot重启
四、重启后配置系统基础环境
通过nmtui命令设置IP
重启NetworkManager。
systemctl restart NetworkManager
通过ssh连接安装的操作系统。
Arch的包管理软件为pacman,修改软件源为国内源:
1、添加之前首先备份原文件
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
2、编辑/etc/pacman.d/mirrorlist配置文件
vim /etc/pacman.d/mirrorlist
添加:
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
3、更新下源数据
pacman -Sy
截止目前基础环境全部搭建完毕,本文不在讨论安装桌面登录其他应用。
总结
本次安装中遇到很多坑,比如中间发现vmware虚拟机默认配置是bois启动方式,当然Arch本身是可以用bois方式启动的,但是和起初计划的EFI方式不一样,加上重启之前忘记配置加载xfs模块支持,导致重启失败,反复重启多次才解决上述的问题,最终正常启动起来。