Arch Linux图文安装教程(2022.08.01)

不算是原创,只是整理了一下。方便自己下次安装,如有补充,可在本帖留言。

参考文章:2022.5 archlinux详细安装过程 - 知乎

参考文章:Arch Linux 才是永远的神!安装图文详解,高级 Linux 用户的选择_分区_sda_dev

1. 下载 Arch Linux 安装镜像

Arch Linux - Downloadshttps://archlinux.org/download/准备好一个2G以上的U盘

安装PE建议使用Ventoy

下载地址:
Ventoy 官网https://links.jianshu.com/go?to=https%3A%2F%2Fwww.ventoy.net%2Fcn%2Findex.html

开始装系统:

正确启动到 Arch ISO 后,您应该会看到类似于下图所示的内容。

选择 Arch Linux install medium (x86_64, UEFI) 选项并点击 Enter 。

更新时间

timedatectl set-ntp true

磁盘分区

列出磁盘:

fdisk -l
  • /dev/sda1 : EFI 系统分区,大小为 1024 MB,FAT32 格式。这为存储引导加载程序和引导所需的其他文件提供了空间。

  • /dev/sda2 : 交换分区,4GB 大小。交换空间用于将虚拟内存扩展到已安装的物理内存 (RAM) 之外,或用于挂起磁盘支持。

    扫描二维码关注公众号,回复: 15428561 查看本文章
  • /dev/sda3 : Linux分区,剩余可用磁盘空间大小,EXT4格式。这是存储我们的 Arch Linux 操作系统、文件和其他信息的根 ( / ) 分区。

创建 EFI 系统分区

cfdisk /dev/sda 

选择 GPT 标签类型并点击 Enter 。

然后 从底部菜单中选择 Free Space 并点击 New 。您可以使用 Tab 或 箭头键浏览菜单选项。

以 MB ( 1024M ) 为单位键入分区大小,然后按 Enter 键。

在 /dev/sda1 分区仍然被选中的情况下,从底部菜单中选择 Type 并选择 EFI System 分区类型。 

 现在,您已完成 EFI 系统分区的配置。

 创建交换分区

现在让我们使用相同的过程创建 Swap 分区。再次选择剩余的 Free space 和 并点击 New 。

以 GB ( 4G ) 为单位键入分区大小,然后按 Enter 键。

在 /dev/sda2 分区仍然被选中的情况下,从底部菜单中选择 Type 并选择 Linux swap 分区类型。

现在,您已经完成了 Swap 分区的配置。

5.3 创建根分区

最后,您需要创建根 ( / ) 分区。再次选择剩余的 Free space 并点击 New 。

对于 ( / ) 大小,保留默认大小值。这意味着,所有剩余的可用空间。按 Enter 键。

在 /dev/sda3 分区仍然被选中的情况下,从底部菜单中选择 Type 并选择 Linux filesystem 分区类型。

现在,您已经完成了根分区的配置。

5.3 将更改写入磁盘

接下来,您需要保存所做的更改。选择 Write 从底部菜单和命中 Enter 。

键入 yes 并按下 Enter 键。

我们到此结束。选择 Quit 并按下 Enter 即可。

6. 创建文件系统

现在您已准备好磁盘分区,是时候在其上创建文件系统了。但是让我们首先通过运行来查看分区表摘要:

fdisk -l

输出如下:

该 /dev/sda 磁盘应该有三个分区( /dev/sda1 , dev/sda2 ,和 /dev/sda3 )类似于上面所示的那些。

EFI分区格式化

mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3

创建swap分区:

mkswap /dev/sda2

swapon /dev/sda2

挂载分区:

mount /dev/sda3 /mnt
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi

查看磁盘分区情况

lsblk -f

更新为国内镜像源

reflector --country China --age 72 --sort rate --protocol https --save /etc/pacman.d/mirrorlist

将最新的镜像源更新为国内的,保存在/etc/pacman.d/mirrorlist目录下

也可以手动替换到/etc/pacman.d/mirrorlistg”

Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch
Server = https://mirror.redrock.team/archlinux/$repo/os/$arch
Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch

安装 Arch Linux

安装基本系统(包括linux内核以及基础软件包),这里相比参考文章多给了几个软件包,因为这些对用户来说还是比较重要的 ,有几种内核可以安装:

  • 普通内核(linux linux-headers)
  • lts稳定版内核(linux-lts linux-lts-headers)
  • zen内核(linux-zen,linux-zen-headers)

按自己的需求安装就可以

这里需要提前说一下,linux-zen 内核不支持 nvidia 显卡,有这个需求的就别装了,如果是原版 linux 内核的话,就要做好随时滚挂的准备,最近的 5.18 内核更新就会导致 nvidia-5.15 版本驱动失效无法开机,如果你希望稳定使用,就选择 linux-lts 内核和linux-lts-headers,并安装相应的 nvidia-lts 驱动(后面会有详细说明),不过不用太担心,即便是系统安装完成,你也可以随时切换自己想要的内核版本。

pacstrap /mnt base linux linux-headers linux-firmware base-devel (普通内核)

pacstrap /mnt base linux-lts linux-lts-headers linux-firmware base-devel (LTS内核)

如安装报错 ERROR: Failed to install packages to new root 

尝试以下命令再继续安装:

pacman -Sy archlinux-keyring

写入分区表:

genfstab -U /mnt >> /mnt/etc/fstab

 使用如下命令进入新系统,进入后会显示[root@archiso /]#

arch-chroot /mnt

配置系统

我解释一下这都是干嘛的。

  1. vim:文本编辑器,可替代有neovim,nano,其中nano对新手比较友好,推荐经验较少或者刚入坑的同志使用。
  2. iwd,networkmanager:用iwd作为nm的backend进行使用。(但是我这样使用在i3下会出现不少问题,比如网络经常自动断,且短时间无法重连等(KDE也会出现,但感觉没有i3频繁,我觉得可能是命令行的原因,安装完成之后卸载掉networkmanager问题解决。另外,如果需要使用网线和usb网络共享,networkmanager必须安装,最好加装一个dhcpcd)
  3. ttf-dejavu:开源字体
  4. sudo:用于非root用户暂时获取root权限
  5. bluez:蓝牙模块
  6. usbmuxd:参考文章没给这个。现在系统中使用的网络来自于live系统,不装这个的话,重启是无法通过usb连接手机共享网络的,根据个人情况选择,建议安装。
  7. wqy-zenhei:中文字体,避免进入系统后无法显示中
  8. dhcpcd:连网线用
pacman -S neovim iwd ttf-dejavu sudo bluez usbmuxd networkmanager dhcpcd wqy-zenhei

 neovim和vim的启动命令是不一样的,neovim为“nvim”,vim是“vim”我一般会通过软链接

ln -s /bin/nvim /bin/vim
ln -s /bin/nvim /bin/vi

 将他们链接起来看,这样的话,通过“vim”“vi”命令也可以启动neovim了。

设置时区和时间

依次输入下面的命令:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

hwclock --systohc

 设置语言

输入“vim /etc/locale.gen”,删除前面的“#”,保存。

输入

locale-gen

echo LANG=zh_CN.UTF-8 >> /etc/locale.conf

设置root用户的密码

输入“passwd”,再输入密码,密码不会显示。

设置主机名

主机名的开头和结尾字符不允许是连字符。 主机名强烈建议不要用数字开头,尽管这一条不是强制的。 用小写字母而不用大写字母。

echo 主机名 >> /etc/hostname

设置网络

编辑 “vim /etc/hosts

127.0.0.1 localhost
::1 localhost
127.0.1.1 主机名.localdomain 主机名

安装引导并重启系统

pacman -S grub efibootmgr   (安装grub)
grub-install /dev/sda    (注意:选择的是整个硬盘)

创建grub配置文件

grub-mkconfig -o /boot/grub/grub.cfg

 重启系统

exit    (退出新系统,回到live系统)
umount -R /mnt    (递归卸载 /mnt 中的磁盘)
reboot    (重启)

重启后登录root,密码是刚才设置的

打开联网服务和蓝牙

1. 首先激活服务

systemctl start iwd.service
systemctl enable iwd.service
systemctl start systemd-resolved.service
systemctl enable systemd-resolved.service
systemctl enable bluetooth.service
systemctl enable NetworkManager
systemctl enable dhcpcd

2. 配置网络连接和DNS

输入“vim /etc/iwd/main.conf”,把下面的文字打进去,保存。

[General]
EnableNetworkConfiguration=true
NameResolvingService=systemd

3. 安装了netwokmanager的配置

如果安装了networkmanager,则需要将backend服务修改为iwd,总体上iwd比wpa好用很多。

输入“vim /etc/NetworkManager/NetworkManager.conf”,把下面的文字打进去,保存。(vim的光标移动、删除和保存退出等命令请另行百度。)

[device]
wifi.backend=iwd

如果只安装networkmanager而不安装iwd的话,是不需要这一步的,nm会使用默认的wpa。(猜测)

安装一些硬件设备

  1. CPU编码
pacman -S intel-ucode    (intel的cpu装这个)
pacman -S amd-ucode    (amd的cpu装这个)

注意是 CPU 编码,不是显卡

2. 显卡驱动

pacman -S xf86-video-intel(Intel核心显卡驱动,用Intel核显就装,否则不用装)
pacman -S mesa nvidia(-lts) nvidia-settings nvidia-dkms nvidia-utils nvidia-prime(nvidia显卡驱动,用nvidia显卡就装,否则不用装)
pacman -S xf86-video-amdgpu (AMD显卡驱动,用amd显卡的就装)

这里举两个例子,我的笔记本,i7-11代,搭配intel核显以及3050显卡,所以安装前两个。我的台式机,e3-1230垃圾CPU,搭配HD6950显卡,所以装第三个。nvidia-dkms 与 nvidia-lts 不兼容,如果装lts驱动的话无需安装dkms 。

注意:nvidia驱动的安装与前面选择的内核有关,如果你安装的是linux-lts内核,那么需要将nvidia更换为nvidia-lts,linux-zen不支持nvidia显卡(务必对号入座)

新建一个用户

useradd -m -G wheel -s /bin/bash 用户名    (添加进入wheel用户组,并将bash作为启动命令)

passwd 用户名

然后输入

visudo

如果报错的话(应该不会),就改为

vim /etc/sudoers

 找到如下内容,取消掉“# %wheel ALL=(ALL:ALL) ALL”前面的“# ”

## User privilege specification
##
root ALL=(ALL:ALL) ALL

## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL:ALL) ALL

## Same thing without a password
# %wheel ALL=(ALL:ALL) NOPASSWD: ALL

这里说一下,取消“# %wheel ALL=(ALL:ALL) NOPASSWD: ALL”前的“# ”也是可以的,区别就在于,取消这一行后,wheel组的用户使用 sudo 就不用输密码了,如果你是新手,不建议这么做,如果你是老鸟,可以考虑取消NOPASSWD 所在的这一行。(我取消的是NOPASWD这行,图方便)

重启系统

reboot

此时的系统已经基本可以使用了,但是还没有配置图形界面,如果你不需要图形界面,就只需登陆用户名就可以使用了。

图形界面安装

!!!注意:从这里开始,如果登陆的是普通用户,则所有的pacman和systemctl都需要 sudo , 如果嫌麻烦,可以先在 ~/.bashrc 中添加 “alias pacman='sudo pacman'和alias systemctl='sudo systemctl'”,我这里就不多写sudo了。如果提示需要权限,同样加sudo即可。所以这部分安装建议登陆root用户。

首先需要选择X11或者是Wayland,现在来看Wayland是比较先进的,但为了方便和兼容性还是用X11吧。

pacman -S xorg

这个是必须安装的,后面的DE和WM都是基于x服务。

安装KDE桌面

特点:美观,比较稳定,自定义功能强大,配置方便(最推荐)

pacman -S plasma sddm konsole dolphin kate ark okular spectacle yay

plasma:桌面环境

sddm:登录管理器,KDE配套的

konsole:kde下的终端,功能多但是比较慢,也可以使用其他终端

(alacritty,kitty)

kate:文本编辑器,很强大,但是资料比较少,需要自己配置。我感觉比vscode好用很多,但是没火起来,很可惜。

(vim,neovim,gvim,nano,gedit,sublime,vscode,atom)(sublime,vscode需要在AUR源或者Clansty源中安装)

ark:解压与压缩

okular:PDF查看器

(wps,edge,chrome,zotero……)

spectacle:截图工具,这三件套配合KDE很方便

安装完成之后,需要启用sddm

systemctl enable sddm

重启即可

安装Gnome桌面

特点:自定义功能丰富(但是被阻隔了),

pacman -S gnome
systemctl enable gdm

重启即可,部分软件仍然可以用上述软件替代

安装i3桌面

pacman -S xorg-xinit xorg-server    (窗口管理器一般不会使用登陆管理器(dm),所以xorg-xinit是必要的)
pacman -S i3    (安装i3,或者i3-gaps)

由于窗口管理器配置比较复杂,所以这里只讲最基本的安装。

后续的配置

KDE,gnome,i3 等桌面环境的配置,就不在这里赘述了,每个人的需求不一样。

中文输入法

推荐使用 fcitx5

sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-gtk fcitx5-qt fcitx5-configtool

然后添加环境变量

sudo vim /etc/environment

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
INPUT_METHOD=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus

然后设置开机启动即可(桌面环境不同,方法也不同),这里提供一个简单的思路。

tty 下面是不需要中文输入法的(也用不了),所以修改 ~/.xinitrc ,添加代码

fcitx5 -d &    (后台运行fcitx5,且开机自启)

wiki上的描述

注意:
如果您使用的桌面环境是兼容 XDG 的(例如 KDE、GNOME、Xfce、LXDE等),则 无需 此步骤(添加自启)。
如果使用i3、awesome等窗口管理器,需要在其脚本中添加 Fcitx5 以实现自启动。例如,如果您使用 i3 或 sway ,可以在配置文件中添加exec --no-startup-id fcitx5 -d
如果使用dwm,则需要添加 autostart 补丁。在 ~/.dwm/autostart.sh 中添加fcitx5 -d

根据需求自取即可。

安装ntfs-3g  gvfs gvfs-mtp,可以挂载U盘.MTP和其他ntfs格式的硬盘

pacman -S ntfs-3g
pacman -S gvfs    #可自动挂载u盘
pacman -S gvfs-mtp    #可自动挂载mtp设备

添加archlinuxcn源,并配置yay

在装系统时我们已经将 /etc/pacman.d/mirrorlist 换为了国内源(有时候会玄学变回国外源,需要自己查看一下),所以只需要添加archlinuxcn即可。

使用方法:在 /etc/pacman.conf 文件末尾添加以下两行:

[archlinuxcn]
SigLevel = Optional TrustAll
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

如果SigLevel 那一行不加,后面安装 archlinuxcn-keyring 时不会报错的话,可以不加,但是我报错了所以加上了。

这里有一个坑,要取消这两行前面的注释,不然有一部分32位包无法安装。

 84 # [muiltilib]
 85 # Include = /etc/pacman.d/mirrorlist

之后安装 archlinuxcn-keyring 包导入 GPG key。

sudo pacman -Syyu
sudo pacman -S archlinuxcn-keyring

yay常规安装方法

$ git clone https://aur.archlinux.org/yay
$ cd yay
$ makepkg -si

通常情况执行完上面所示命令即可安装成功,但是经常会遇到网络错误的情况,主要原因有如下两点

  1. go语言的软件安装源被屏蔽
  2. github访问受限

所以解决思路要么采取科学上网软件,或者采取我以下所说的方法。

解决方案

1. go语言换源

本文采用Goproxy.cn源,官网有换源方法,这里也贴出来

  1. 换源
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
  1. 使更换的源生效
  • 临时生效
$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn
  • 永久生效
$ echo "export GO111MODULE=on" >> ~/.profile
$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
$ source ~/.profile

完成以上步骤以后,可以再次尝试

$ makepkg -si

若还存在网络问题可以继续往下看,修改hosts

2.修改hosts访问github

本文采用的gitee找到的github hosts

github hosts如下:

# GitHub Host Start
​
185.199.108.154              github.githubassets.com
140.82.112.22                central.github.com
185.199.108.133              desktop.githubusercontent.com
185.199.108.153              assets-cdn.github.com
185.199.108.133              camo.githubusercontent.com
185.199.108.133              github.map.fastly.net
199.232.69.194               github.global.ssl.fastly.net
140.82.114.3                 gist.github.com
185.199.108.153              github.io
140.82.113.3                 github.com
140.82.112.5                 api.github.com
185.199.108.133              raw.githubusercontent.com
185.199.108.133              user-images.githubusercontent.com
185.199.108.133              favicons.githubusercontent.com
185.199.108.133              avatars5.githubusercontent.com
185.199.108.133              avatars4.githubusercontent.com
185.199.108.133              avatars3.githubusercontent.com
185.199.108.133              avatars2.githubusercontent.com
185.199.108.133              avatars1.githubusercontent.com
185.199.108.133              avatars0.githubusercontent.com
185.199.108.133              avatars.githubusercontent.com
140.82.112.10                codeload.github.com
52.217.207.1                 github-cloud.s3.amazonaws.com
52.216.78.4                  github-com.s3.amazonaws.com
52.217.194.169               github-production-release-asset-2e65be.s3.amazonaws.com
52.216.131.131               github-production-user-asset-6210df.s3.amazonaws.com
52.216.28.204                github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153              githubstatus.com
64.71.144.202                github.community
185.199.108.133              media.githubusercontent.com
​
# Please Star : https://github.com/ineo6/hosts
# Mirror Repo : https://gitee.com/ineo6/hosts
# Update at: 2021-12-01 08:39:41
​
# GitHub Host End

  1. 修改hosts
$ sudo vim /etc/hosts
  1. 将以上github host内容追加到/etc/hosts文件中
  2. 使更新的hosts立即生效
$ sudo systemctl restart nscd

挂载home到别的磁盘

创建目录

sudo mkdir /media

sudo mkdir /media/home

3.把/dev/sdb1挂载到/media/home

sudo mount /dev/sdb1 /media/home

4.同步/home到/media/home,同步时间根据数据量大小决定,建议在系统空闲时操作

sudo rsync -aXS /home/. /media/home/.

5.同步完成后重命名/home

sudo mv /home /home_old

6.新建/home

sudo mkdir /home

7.取消/dev/sdb1挂载

sudo umount /dev/sdb1

8.重新挂载/dev/sdb1到home

sudo mount /dev/sdb1 /home

9.查看/dev/sdb1的UUID

blkid

10.把UUID复制下来,修改/etc/fstab文件,实现开机自动挂载

sudo gedit /etc/fstab

在文件最后添加如下内容:

# home

UUID=8da46012-ab9c-434f-a855-2484112fd1a7 /home ext4 nodev,nosuid 0 2

11.保存之后重启系统,查看分区的挂载情况

df –h

12.确认一切正常后删除/home_old

sudo rm -rf /home_old

至此,给/home增加空间的工作就完成了。

 补充:

稍微补充一下我按照教程安装的时候遇到的坑和解决方法

安装基本软件包报错 ERROR: Failed to install packages to new root 时,尝试 pacman -Sy archlinux-keyring

如果装双系统要注意:
Grub 2.06 之后不再自动添加其他系统启动项
已经装完 Grub 的情况下
先安装 os-prober
然后在 /etc/default/grub 中把 GRUB_DISABLE_OS_PROBER=false 这一项前边的注释去掉,如果没有这一项自己写上
最后 grub-mkconfig -o /boot/grub/grub.cfg 重新生成一下配置

猜你喜欢

转载自blog.csdn.net/love906897406/article/details/126109464