Arch linux 202208版本安装实录

发布于:2023-01-18 ⋅ 阅读:(717) ⋅ 点赞:(0)

文章目录

目录

文章目录

前言

一、Arch linux简介

二、安装前准备

三、安装步骤

1.创建虚拟机

2.安装过程

(1)配置临时系统的网络

 (2)配置时间和时区

 (3)配置软件源

  (4)配置硬盘和xfs文件系统

(5)加载系统基础环境和必要软件

3. 配置系统

(1)安装必要的软件

 (2)配置root用户密码

 (3)配置LVM文件系统支持和grub信息:

 (5)(参考可选)****如果执行到这里出现以下报错:

 (6)设置语言

 四、重启后配置系统基础环境

总结


前言

     好多年不在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启动相关信息

  1. echo "GRUB_DISABLE_OS_PROBER=false"  >> /etc/default/grub
  2. grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux202208 --recheck
  3. 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-8zh_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模块支持,导致重启失败,反复重启多次才解决上述的问题,最终正常启动起来。