轉載自:https://www.bilibili.com/read/cv15713480 https://zhuanlan.zhihu.com/p/472152930
2022 年了,不会还有人没用上 Arch 吧!没有安装也不要紧,今天带你安装Arch,走进Arch的世界。
安装须知:Arch 安装不是最难的,但也不是傻瓜式难度安装(有手就行),安装Arch不仅需要你动动手指,还需要你有一台电脑,有一个U盘,你还必须有可以访问互联网的网络,你还需要有足够的胆量,因为这可能是你第一次安装这个系统,你需要克服恐惧,直面 Arch 。
如果你满足上面这一系列条件,恭喜你,可以继续听我BB了。如果不满足上述条件,那 Arch 可能与你无缘,早点 bye 吧~
好了,不多啰嗦,接下来正是开始 Arch 安装教程:
Arch Linux 是一款基于x86-64架构的Linux发行版。系统主要由自由和开源软件组成,支持社区参与。系统设计以KISS原则(保持简单和愚蠢)为总体指导原则,注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。Arch Linux系统安装、删除和更新软件的软件包管理器叫做 pacman。
Arch Linux 采用滚动发行模式来获取系统更新和软件的最新版本。系统安装映像只简单地包含系统主要组件,所以安装起来比一般发行版要难上一丢丢,但是可定制程度也就更高一些。
Arch Linux以社区Wiki的形式提供文档,称为Arch Wiki。该Wiki经常编有特定主题的最新信息,受到了Linux社区的广泛认可,在使用 ArchLinux 过程中遇到自己不能解决的问题,都应该第一时间到社区Wiki 里面查找,而不是某度,因为 ArchWiki 对于 Arch 用户真的很重要!!!今天的安装教程也是按照ArchWiki最新安装教程进行的。详细介绍可以先看看ArchWiki
https://wiki.archlinux.org/
系统镜像下载
系统镜像下载主要有两个途径,一个是Arch官方提供的下载地址,一个是镜像站下载,地址我放到下面:
Arch官方下载界面:https://archlinux.org/download/
阿里云镜像站下载:https://mirrors.aliyun.com/archlinux/iso/2022.03.01/archlinux-2022.03.01-x86_64.iso
烧录镜像到U盘
对于Windows用户, 建议使用 Rufus 进行镜像烧录,对于 Linux用户,我相信你有办法解决的。由于写这篇教程时我使用的是 ArchLinux,所以对于 Windows 用户,我无法为你们展示图片操作,不过你可以直接到浏览器或者B站搜索 Rufus 烧录镜像。镜像烧录步骤很简单,只需要下载好 Rufus 后打开,插入要写入的U盘,然后选择要烧录系统的U盘,选择要烧录的镜像,分区类型选择ISO写入,目标系统类型选择UEFI,然后点击开始。需要注意的是,烧录镜像默认会格式化U盘,请提前备份好数据,别到时候后悔莫及。
启动到 Live 环境
如果你需要安装双系统,需要在当前电脑硬盘腾出一部分空间用来安装Arch,具体大小由你来定,不过建议大于50G,我自己电脑分了230G给Arch,剩下留给Windows.
根据ArchWiki介绍,Arch是不支持安全启动的,而一般电脑默认开启安全启动,所以需要先到BIOS里面关闭安全启动( Secure Boot ),同时需要先关闭Windows的快速启动(建议自行百度)。
不同品牌电脑进入BIOS的方法不同,一般是按下开机电源键之后马上连按F2或ESC键,保险起见建议百度,进入BIOS界面后如果是中文界面,找到安全启动然后关闭,如果是界面找到Secure Boot 然后选择 Disabled 关闭,根据BIOS操作保存退出。 关于关闭安全启动的教程建议根据自己电脑型号自行百度。设置好以后将刚才烧录的U盘插入电脑,然后开机,进入Live环境。刚开机时应该会显示以下界面
如果不是类似界面,请检查BIOS设置或者U盘烧录是否正确。
接下来选择第一个选项:Arch Linux install medium (X86_64, UEFI),回车
开始加载安装程序:
正式进入 Arch 的 U盘系统:
对于没有怎么接触过Arch的人可能比较惊讶,为什么不是图形界面?没错,Arch 安装镜像只包含了系统一些基础组件,并没有图形界面,需要用户安装好系统之后自行安装,这样虽然麻烦,但是却给了用户更多的选择,可定制化程度更高。
为了接下来的安装更加顺利,你需要先了解一下Linux 终端的最基础知识,并了解一下Linux的文件系统。如果你已经了解了这些知识,你可以直接跳过这一节,转到 正式安装。
所谓终端,简单来说就是一个软件,读取用户输入的命令,解析命令并执行,同时把执行的过程和结果显示到屏幕上,这也是图形界面没有流行前电脑的主要软件。
好了,现在看向你的电脑屏幕最后一行,它显示了以下内容:
root@archiso ~#
我用几个不同颜色标记了不同部分,其中 root 表示当前使用终端的用户名,其中root用户是Linux系统中的大哥大,其他用户都是它的小弟,由于ArchLinux安装很重要,所以默认给我们派了一个大哥大,虽然它是大哥大很厉害,但是 能力越大,责任越大,让大哥大办事情的时候,都需要三思而后行,不要因为一时的失误酿成大错!在Linux系统中,还有另外一个最常用的东西,叫做 sudo ,大哥大很厉害,但我们作为普通人,平时还是永不到大哥的,但是却不能没有大哥,怎么办呢,sudo 就出来了,sudo 就像大哥的令牌,可以利用sudo做大哥才能做的事,有些事情以普通人的身份不能做,但是只要亮出大哥的令牌,就可以临时获得大哥的权限,然后去做一些更高权限的事。其中 archiso 表示当前系统主机名,也就是计算机当前名字,这个可以自定义,待会儿安装Arch时再具体介绍如何自定义。其中 ~ 表示当前所在目录,就相当于Windows文件管理器中的文件夹路径,这里的~是用户根目录的别名,相当于Windows里面的 C:\windows\用户名\。其中 # 是当前用户的提示符,如果是大哥就是 # , 如果是小弟会显示为 $ 。
Linux 系统存在许多命令,在终端输入命令,回车之后就可以执行,并且显示执行结果,比如显示当前目录下的所有文件可以输入:
ls -al
接下来简单了解一下Linux的文件系统,Linux下一切皆文件,了解文件系统是必须的,Linux下文件系统不同Windows,Linux下文件不分盘符,也就没有所谓的 C盘、D盘这些。Linux下文件系统有点像一棵树,由树根树干到枝叶,沿着树根下上寻找,如果路径正确总能找到对应文件。其中根目录 / 就相当于树干和树根,是整个文件系统的根,其他路径都在根目录下面,根目录下面又分了很多枝,借用一张网上的图:
关于文件系统,还有一个重要概念是挂载,Linux系统一切皆文件,对于外部设备,比如U盘,如果要在Linux中访问,就需要 “挂载”U盘,而挂载就相当于在Linux中创建了一个文件夹,里面是U盘的内容,U盘里面的数据和文件夹会被Linux虚拟成一个新的目录树,U盘目录树的根就是我们挂载的文件夹。
正式安装
ArchLinux 只支持UEFI模式启动的电脑,所以第一步便是检查当前电脑是否为UEFI启动,在终端输入以下命令
ls /sys/firmware/efi/efivars
如果出现我下面图片类似情况,则为UEFI启动,如果不是这样,那你的电脑可能不支持安装ArchLinux。
配置网络
ArchLinux安装需要下载一些软件,需要保证网络通畅,ArchLinux不会默认连接网络,建议手机开热点电脑连接,如果在学校,不要使用校园网,校园网需要认证,终端是没法认证的!
防止网卡被禁用,使用以下命令解除网卡禁用:
rfkill unblock all
输入 iwctl 进入wifi连接界面:
iwctl
-------------下面为iwctl界面,不同于终端-----------
[iwd] help // 输入help回车可以查看使用说明
[iwd] device list // 回车后可以查看当前网卡设备,一般为 wlan0
[iwd] station <device> scan // <device>替换为上面的网卡设备,这条命令可以让网卡扫描wifi设备
[iwd] station <device> get-networks // 会车后可以显示当前可连接网络
[iwd] station <device> connect <wifi name> // 连接wifi, <wifi name> 为上面获取的wifi名称
password: // 如果wifi为加密wifi,输入密码回车
[iwd] quit // 退出 wifi 连接界面
--------------------------------------------------
测试网络是否连接成功:
ping www.baidu.com -n
如果有数据不断输出,说明连接成功,输入 Ctrl + C 可以停止该程序。
更新系统时间
更新系统时间是有必要的,因为下载软件是服务器会验证系统时间,如果时间不正确,可能出现下载失败的情况,输入以下命令同步系统时间为准确时间:
timedatectl set-ntp true // 同步时间
timedatectl status // 查看系统时间状态
换源
为保证安全与方便Linux系统绝大多数软件都是在官方网站下载的,但是ArchLinux官方网站在国外,国内访问的话有点慢,国内有专门的镜像站,可以直接从国内服务器下载软件包,就相当于在官网下载的,并且镜像站都是每天更新,软件包也是最新的。
这里推荐两个镜像站,一个是阿里巴巴的镜像站,一个是华为的镜像站
备份原来的配置文件
cp -a /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
编辑配置文件
vim /etc/pacman.d/mirrorlist
# ---------------下面为vim操作,不同于终端-------------
输入 i 进入编辑模式
找到第一个 Server=... 的行
在该行上一行写入以下内容
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
// 上面第一个为华为云镜像站,第二个为阿里云镜像站
输入 ESC 退出到普通模式
输入 :wq 回车就会保存文件并且退出 vim
# -----------------------------------------------------
更新软件包
pacman -Syy
硬盘分区
分区就是为了上面讲到的挂载,不同分区有不同的大小,呈现在文件系统里面就是不同目录有不同大小,下面是我安装 ArchLinux 时的分区情况:
boot分区: 2G 挂载目录: /boot 作用:引导文件存放
/分区: 50G 挂载目录: / 作用:存放系统其他文件
swap分区: 8G 挂载目录:无 作用:系统恢复分区,系统挂起或内存不足时可能会被当作 ROM 使用
/home分区: 120G 挂载目录:/home 作用:存放用户文件,/home/用户名 为指定用户根目录
自己可以根据自己的具体情况合理分配,不过我还是建议 /boot 分区不小于500M,/分区不小于30G。这是Arch官方推荐情况:
https://wiki.archlinux.org/title/Partitioning_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E5%B8%83%E5%B1%80%E7%A4%BA%E4%BE%8B
下面命令用来查看系统的分区情况:
fdisk -l
下面是我当前系统输出信息:
如上图,我的ArchLinux安装到 /dev/nvmeon1 (后面的p1 p2这些就是分区,外接U盘一般为/dev/sdx1 /dev/sdx2等),输入 cfdisk /dev/nvme0n1 进入分区界面(我这里以/dev/nvme0n1举例,实际情况请根据自己电脑来定)
cfdisk /dev/nvme0n1
# ----------------------cfdisk界面---------------------
# cfdisk 是图形化的分区,比fdisk简单很多
# 下面有一行操作文件,通过左右方向键可以移动到不同选项。上下方向键可以选择不同分区进行操作
# [New]选项为新建分区,将方向键选择到未分配的分区,选择[New]选项,回车后会提示新分区大小,输入大小即可创建一个新的分区
# [Quit]可以退出 cfdisk ,并且不保存修改,也就是之前做的操作一律作废
# [Help]选项可以查看 cfdisk 帮助
# [Write]选项才是真的执行写入操作,使用后会对操作的磁盘执行写入,以前做的修改会生效
# [Type]选项可以改变分区类型,boot分区选择EFI分区类型,根分区和home分区选ext4类型,swap分区选择Linux swap类型
分区可以按照我上面列出的方案,swap可以不要,但是 boot分区、根分区和home分区是必须的。分好后记得选择 [Write] 写入之后再选择 [Quit] 退出,分区错误可以选择 [Delete] 删除分区之后重新分配,写入前请再三检查,特别是选择双系统安装的,不要把其他系统数据删除了。分区完成后输入 fdisk -l 查看分区 大致像我下面这样:
格式化分区
上面的操作只是分区,需要进行格式化,不同分区需要不同的格式。格式化分区会删除所有数据,千万小心操作!!!
格式化boot分区:
引导分区采用的是FAT格式,使用以下命令格式化
# <disk> 为你刚才分区时指定的分区,如果忘记可以使用 fdisk -l 查看,不要格式化错了!!!
mkfs.fat -F 32 /dev/<disk>
# 例如:
# mkfs.fat -F 32 /dev/nvme0n1p0
格式化根分区和home分区
根分区和home分区都是Linux常见的 ext4 格式,使用以下命令格式化
mkfs.ext4 /dev/<disk>
# 例如:
# mkfs.ext4 /dev/nvme0n1p1
# mkfs.ext4 /dev/nvme0n1p2
格式化swap分区
交换分区不需要挂载,采用特定格式
mkswap /dev/<device>
# 例如:
# mkswap /dev/nvme0n1p3
挂载分区
根据上面的分区方案,将不同分区挂载到不同目录
# 假设分区方案为:
# 根分区 -> / -> /dev/nvme0n1p0
# boot分区 -> /boot -> /dev/nvme0n1p1
# home分区 -> /home -> /dev/nvme0n1p2
# swap分区 -> 不挂载 -> /dev/nvme0n1p3
# Linux分区由根分区开始,所以先挂载根分区,然后创建文件夹,挂载
mount /dev/nvme0n1p0 /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
mkdir /mnt/home
mount /dev/nvme0n1p2 /mnt/home
swapon /dev/nvme0n1p3
安装系统
主要安装基本系统和几个待会需要用到的工具
pacstrap /mnt base base-devel linux linux-firmware vim git dhcpcd e2fsprogs iwd
等待安装完成,如果没有报错可以进行下一步
生成文件系统表
文件系统表主要用于系统启动时自动挂载分区,不然系统无法正常启动!执行以下命令生成
genfstab -U /mnt >> /mnt/etc/fstab
# 查看是否生成
cat /mnt/etc/fstab
到这一步基本系统安装已经完成,但是还没有对系统进行配置,所以现在还没到关机重启的时候。
执行以下命令进入到我们安装的系统,对系统进行配置
arch-chroot /mnt
设置时区
设置上海为时区,并同步硬件时钟
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 同步硬件时钟
hwclock --systohc
本地化
程序和库如果需要本地化,需要依赖 Local ,Local明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。
生成 Local 信息
# 取消注释 /etc/locale.gen,其中 en_US.UTF-8 表示英文,zh_CN.UTF-8 表示中文
sed -i 's/^#en_US.UTF-8/en_US.UTF-8/' /etc/locale.gen
sed -i 's/^#zh_CN.UTF-8/zh_CN.UTF-8/' /etc/locale.gen
# 生成 Local
locale-gen
创建 locale.conf 文件,并 编辑设定 LANG 变量
# echo 用来向终端输出信息, >> 将信息重定向到 /etc/locale.conf ,相当于向这个文件写内容
echo "LANG=en_US.UTF-8" >> /etc/locale.conf
# 这里不建议将 en_US.UTF-8 改为zh_CN.UTF-8 ,这样会导致终端乱码!
主机名配置
# 这里可以换成自己想要的名字
echo "ArchLinux" >> /etc/hostname
生成对应 hosts
# 将 下面hostname换成自己的主机名,与 /etc/hostname 里面的名字一样
echo -e "127.0.0.1 localhost\n::1 localhost\n127.0.1.1 hostname.localdomain hostname" >> /etc/hosts
设置root密码
虽然现在可以使用root大哥,但是新系统里面我们还不知道root大哥的密码,使用下面的命令更改root密码
passwd root
# 或则直接 passwd
会提示输入两次密码,关乎系统安全,请牢记 root 密码!
安装引导程序
需要安装 Linux 引导加载程序,才能在安装后启动系统。
安装微码
# amd 电脑安装
pacman -S amd-ucode
# intel 电脑安装
pacman -S intel-ucode
配置grub
Arch使用grub2管理引导,安装相关程序
pacman -S grub efibootmgr efivar os-prober
安装引导
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch --recheck
# --bootloader-id=name 其中 name 可以更改为自己想要的名称,建议简短明确
注:grub2默认禁用了 os-prober ,如果你是选择的双系统或多系统安装,需要手动开启该选项,os-prober 可以检查其他硬盘上的其他系统引导,如果不开启,可能无法识别其他系统,如果你是全盘单系统安装,可以忽略这个选项
# 需要开启 os-prober 执行下面命令
echo "GRUB_DISABLE_OS_PROBER=false" >> /etc/default/grub
生成引导配置文件
grub-mkconfig -o /boot/grub/grub.cfg
如果出现错误,请回头检查命令是否输入错误或者配置是否出错,安装时的一点错误都可能成为你无法开机的原因或者以后使用时的bug。
如果检查没有问题,那么我们就可以进行最后的一点设置了。
配置开机启动项
ArchLinux 使用 systemd 管理后台服务,我们希望开机之后自动连接网络,所以需要下载联网程序并设置开机自启动:
# 下载wifi 管理
pacman -S dhcpcd iwd networkmanager
# 设置开机自启动
systemmctl enable dhcpcd
systemctl enable iwd
systemctl enable NetworkManager
结束
到了这里,ArchLinux的安装也就到了尾声,接下来你只需要退出安装程序,然后取消挂载分区,重启选择Arch系统就可以进入ArchLinux了
# 退出arch root 安装环境
exit
# 取消挂载
umount -R /mnt
# 重启
reboot
ArchLinux的安装其实并没有网上传的那么难,只要你肯动手,真正需要敲的命令也不多,重点在于理解Linux系统的基本概念和一些常用系统配置文件,以及一些重要且常用命令的使用。
可选
以下内容为可选内容,如果你只需要最基本ArchLinux的安装,后面的内容可以不用看了。
新建用户
开机之后会显示一个终端的登陆界面,由于我们刚才安装时没有新建用户,默认只有一个root用户,所以我们直接使用 root 和 root 密码登录。
运行以下命令新建用户
useradd -m -G wheel -s /bin/bash <username>
# <username> 为你自己的用户名,登录用,注意用户名必须全小写
设置用户密码
passwd <username>
# <username> 为用户名
赋予用户 sudo 权限,就是给普通用户大哥的令牌,可以临时使用 root 权限
vim /etc/sudoers
--------------------
# 找到
# Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
# 上面这两行,然后输入 i 进入编辑模式,删掉 %wheel行前的 "#" 号
# 删除后如下:
# Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL
# 保存退出
ESC
:wq
关于桌面环境
可能到这里你已经厌恶了终端,你可以选择安装桌面环境,让我们的电脑看起来舒服一点。
Linux下桌面环境很多,不像Windows只有默认桌面,主流桌面环境主要有下面几个
KDE -> https://wiki.archlinux.org/title/KDE
XFCE -> https://wiki.archlinux.org/title/Xfce
GNOME -> https://wiki.archlinux.org/title/GNOME
Mate -> https://wiki.archlinux.org/title/MATE
Cinnamon -> https://wiki.archlinux.org/title/Cinnamon
上面给出了对应桌面环境的ArchLinux WiKi ,由于我只使用过KDE和XFCE,这里简单介绍一下KDE桌面环境的安装。
必须需要提一句,安装桌面环境需要在普通用户下安装,如果你刚创建完用户,还请重启后用普通用户登录在进行接下来的教程。当然你也可以不听劝,只是会出啥莫名其妙问题我就不知道了,毕竟坑是要自己踩的。
根据wiki说明,kde依赖 xorg ,先安装 xorg软件包
sudo pacman -S xorg xorg-server
由于 wayland 目前在Linux 还不太成熟,先用 x11 吧。
安装 plasma 桌面,如果你非常喜欢 kde 自带的软件,就安装kde全家桶,否则只需要最小化安装即可,因为全部安装会多出一对不咋用的小软件
# 最小化安装
sudo pacman -S plasma-meta kde-applications-meta sddm
# 疯狂全家桶安装
sudo pacman -S plasma kde-application sddm
上面这步有亿丢丢慢,安装完之后再来几个常用软件吧,不然进入系统啥软件都没有可不行
sudo pacman -S konsole alacritty dolphin ark gwenview lolcat sl neofetch
# konsole 和 alacritty 都是终端
# dolphin 是文件管理器
# ark 是归档管理器,就是解压缩的
# gwenview 是看图片的
# lolcat neofetch 和 sl 是防止你打开终端没事干
# sl | lolcat
# neofetch | lolcat
设置 sddm 开机自启动,sddm 是kde使用的登录管理器,这东西出问题就没有图形化的登录界面了
sudo systemctl enable sddm
接下来就可以重启看看效果了,别忘了重启命令是 reboot, 关机命令是 shutdown, 要加 sudo!
# 重启
sudo reboot
# 立刻关机
sudo shutdown now
作者:cc小谭 https://www.bilibili.com/read/cv15713480 出处:bilibili
[Arch] 解决初次启动中文乱码
原因
没有安装中文字体,默认的UTF-8是拥有的情况。
下载字体
sudo pacman -S wqy-microhei wqy-microhei-lite wqy-bitmapfont wqy-zenhei ttf-arphic-ukai ttf-arphic-uming adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts noto-fonts-cjk