安装系统时间:2022年9月18日
镜像版本:archlinux-2022.09.03-x86_64.iso
Linux内核版本:Linux version 5.15.68-1-lts (linux-lts@archlinux) (gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39.0)
1.linux发行版介绍
关于archlinux的介绍,可以简单看看https://archlinux.org/
,关于Linux的发行版有如下几个,最初用的是Ubuntu,后来又用了CentOS,现在试了一下archlinux,感觉还是archlinux还是更好用一点吧,但是安装也复杂一点,我刚装完一次,不小心用root用户登录后删除了share文件夹,导致无法重启了,一气之下又重装了一次。
2.archlinux的启动盘的准备
2.1 下载镜像
https:
2.2 创建USB启动盘
使用Rufus
将下载的.iso
镜像写入到U盘。注意选择FAT32
。
完成后,重启电脑设置一下,由于我是联想电脑,首先,F2
设置一下。
同时还要关闭 BIOS 设置中的 Secure Boot。完成后在Exit
内保存退出,然后F12
,选择利用USB启动盘启动。
3.archlinux的正式安装
成功到此时会出现下面的界面。不同的版本可能不一样。Archlinux官网指导在这里,还有一个安装指导很可以。
网上有人说:
也有人说安装根据系统架构有两种安装方式。
根据官网的安装指导,安装还是有两种方法的。不一定说使用了 ls /sys/firmware/efi/efivars
命令返回目录不存在就是错误的。如果能够输出内容,那么就是UEFI模式。如果提示目录不存在,那就可能以BIOS启动。我的返回的是目录不存在,但是我通过将/dev/sda1
格式化以后,重启电脑,发现 ls /sys/firmware/efi/efivars
是可以输出东西的。
3.1 连接网络
输入iwctl
进入iwd
模式,也就是终端最前方有[iwd]#
字样。
在iwd
模式下输入device list
,回车查询电脑的网卡。记住网卡号,一般是wlan0
或者wlan1
。
在iwd
模式下输入station <网卡号> scan
,然后再输入station <网卡号> get-networks
,显示周围的wifi
的ssid
扫描结果。
在iwd
模式下输入station <网卡号> connect <ssid>
,如果是加密的wifi
,系统会提示输入wifi
密码,如无意外,就连上网了。
验证联网。ctrl+c
退出iwd
模式,回到[root@archiso~]
模式,输入ping www.baidu.com
,如果有返回数据,说明已经连上网了。
更新系统时间。输入timedatectl set-ntp true
。
3.2 磁盘分区
输入fdisk -l
,查看硬盘列表,一般都是/dev/sda
或者/dev/sdb
,如果有nvme
固态硬盘,则可能会显示/dev/nvme0p
之类的。
认准想作为系统盘的硬盘(本人为/dev/sda
)。
这里分区分为两种情况:
- 如果是第一次安装archlinux的话,就需要重新进行分区。
- 如果是第二次装,可以考虑不用重新分区,直接进行分区格式化和初始化。
3.2.1 分区
输入cfdisk /dev/sda
进入伪图形界面进行分区,删除这个硬盘所有分区,然后依次创建4个分区,大小分别1G,250G,5G,和剩下全部空间。
详细参考:
https://blog.csdn.net/love906897406/article/details/126109464
https://arch.icekylin.online/rookie/basic-install.html#_7-1-%E5%88%86%E5%8C%BA
还可以通过命令fdisk /dev/sda
进行分区,回车后如下,选择分区号等,最重要的是设定分区的大小。
https://blog.csdn.net/weixin_44803446/article/details/106456516?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166317844016782425146912%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166317844016782425146912&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~pc_rank_34-7-106456516-null-null.142v47pc_rank_34_1,201v3control_1&utm_term=archlinux%E5%88%86%E5%8C%BA%E6%96%B9%E6%A1%88&spm=1018.2226.3001.4187
大小 | 分区 | 分区挂载点 |
---|
1G | sda1 | /mnt/boot/efi |
250G | sda2 | /mnt/home |
5G | sda4 | swap |
剩下的所有空间 | sda3 | /mnt |
进入伪图形界面以后,利用按键控制,删除之前的分区,直到整个分区变为Free Space
,通过New
创建新的分区,并设定大小,分区类型通过Type
键进行选择:
分区 | 类型 |
---|
sda1 | EFI System |
sda2 | Linux filesystem |
sda3 | Linux filesystem |
sda4 | Linux swap |
3.2.2 分区格式化和初始化
格式化sda1,即系统引导区:
mkfs.fat -F32 /dev/sda1
格式化sda2,即/mnt/home:
mkfs.ext4 /dev/sda2
格式化sda3,即根目录:
mkfs.ext4 /dev/sda3
swap分区使用swap格式:
mkswap /dev/sda4
激活swap分区,不激活不会使用这部分空间:
swapon /dev/sda4
3.2.3 分区挂载
将 / 分区挂载到 live系统中的 /mnt 目录,此时 /mnt 目录就是系统的 / 目录
mount /dev/sda3 /mnt
在新系统的 / 目录中新建 efi 文件夹,-p 参数表示递归创建
mkdir -p /mnt/boot/efi
将 boot 分区挂载到efi文件夹
mount /dev/sda1 /mnt/boot/efi
在新系统的 / 目录中创建home目录
mkdir /mnt/home
将home分区挂载到home目录
mount /dev/sda2 /mnt/home
3.2.4 换源,准备安装内核系统
首先,使用vim /etc/pacman.d/mirrorlist
在文件中进行修改,在第一位置选择下面的任一源即可。
Server = https:
Server = https:
Server = https:
Server = https:
Server = https:
Server = https:
Server = https:
Server = https:
Server = https:
Server = https:
完成后,通过命令pacman -Sy
更新一下源。
3.2.5 安装内核系统
- 普通内核(linux linux-headers)
- lts稳定版内核(linux-lts linux-lts-headers)
- zen内核(linux-zen,linux-zen-headers)
不支持 nvidia 显卡
使用下面两个命令之一即可:
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.
这个问题有两个地方要注意:
- 单词的拼写,注意小写的L与大写的I的区分。
- 如果单词拼写无误,使用
pacman -S archlinux-keyring
命令重新安装archlinux签名,参考这里。
内核系统安装完成后,执行genfstab -U /mnt >> /mnt/etc/fstab
命令,将分区信息存入/etc/fstab
文件中。
然后,使用arch-chroot /mnt
命令进入新系统,将会出现[root@archiso /]#
字样。
3.2.6 安装相关软件
进入新系统后,直接使用下面的命令安装相关软件。
pacman -S neovim iwd ttf-dejavu sudo bluez usbmuxd networkmanager dhcpcd wqy-zenhei
**具体说明:**
1. vim:文本编辑器
2. iwd,networkmanager:用iwd作为nm的backend进行使用。
3. ttf-dejavu:开源字体
4. sudo:用于非root用户暂时获取root权限
5. bluez:蓝牙模块
6. usbmuxd:现在系统中使用的网络来自于live系统,不装这个的话,重启是无法通过usb连接手机共享网络的,根据个人情况选择,建议安装。
7. wqy-zenhei:中文字体
8. dhcpcd:连网线用
注意,neovim
和vim
的启动命令是不一样的,neovim
为nvim
,vim
是vim
。
通过软连接连接起来,通过“vim”“vi”命令也可以启动neovim。
ln -s /bin/nvim /bin/vim
ln -s /bin/nvim /bin/vi
3.2.7 新系统的相关设置
- 设置时区和时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (设置时区为上海)
hwclock --systohc
- 设置语言
通过命令vim /etc/locale.gen
进行编辑。
将locale.gen
文件中en_US.UTF-8 UTF8
和zh_CN.UTF-8 UTF-8
两行取消注释,并使用 locale-gen
令生成 locale。 - 设置root用户的密码
通过命令passwd
连续输入两次密码,即可设定好密码。 - 设置主机名(系统名)
通过命令echo fuhe >> /etc/hostname
设置主机名,这里的fuhe
是主机名。 - 设置网络
通过命令vim /etc/hosts
进行编辑,输入下面的内容,fuhe
是上一步设定的主机名。
127.0.0.1 localhost
::1 localhost
127.0.1.1 fuhe.localdomain fuhe
3.2.8 安装引导并重启系统
- 安装grub
pacman -S grub efibootmgr
- 说明安装位置,注意这里是整个盘sda [这里有坑]
如果是BIOS ,使用 :grub-install --target=i386-pc /dev/sda
如果是UEFI ,使用 :grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=fuheARCH
,--efi-directory=/boot
—— 将 grubx64.efi 安装到之前的指定位置(EFI 分区);--bootloader-id=fuheARCH
—— 取名为 fuheARCH。
两种方式成功以后,都会显示:Installation finished. No error reported.
- 创建grub配置文件
grub-mkconfig -o /boot/grub/grub.cfg
- 重启系统[分三步],在重启之前,去掉
GRUB_CMDLINE_LINUX_DEFAULT
一行中最后的 quiet 参数,把 loglevel 的数值从 3 改成 5,为了后续如果出现系统错误,方便排错。加入 nowatchdog 参数,这可以显著提高开关机速度
4.1 退出新系统,回到live系统:exit
4.2 递归卸载 /mnt 中的磁盘:umount -R /mnt
4.3 重启:reboot
3.2.9 打开联网服务和蓝牙
重启之后登录到root账户,密码为之前设置的。这里可能存在的问题是重启之后,还是回到步骤3.1的位置,这个时候应该先挂载分区,然后检查一下其他的步骤是否有误。
如果登录成功,将进入到[root@AngusPC~]#
模式下。
然后通过下面的命令激活相关服务,并设置为自启动。
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
然后配置网络连接和DNS。
通过命令vim /etc/iwd/main.conf
进行编辑,输入下面的指令到文件中。
[General]
EnableNetworkConfiguration=true
NameResolvingService=systemd
然后配置netwokmanager,如果安装了networkmanager,则需要将backend服务修改为iwd,总体上iwd比wpa好用很多。通过命令vim /etc/NetworkManager/NetworkManager.conf
进行编辑,输入下面的指令。
[device]
wifi.backend=iwd
完成后再通过reboot
命令进行重启。重启后,按照前面的方法进行联网。
3.2.10 安装硬件驱动
- 微码【根据情况选择】
intel的:
pacman -S intel-ucode
amd的:
pacman -S amd-ucode
- 显卡驱动【根据情况选择】
Intel核心显卡驱动
pacman -S xf86-video-intel
nvidia显卡驱动
pacman -S mesa nvidia(-lts) nvidia-settings nvidia-dkms nvidia-utils nvidia-prime
AMD显卡驱动
pacman -S xf86-video-amdgpu
- 安装桌面、终端
pacman -S plasma-meta konsole dolphin # plasma-meta 元软件包、konsole 终端模拟器和 dolphin 文件管理器
systemctl enable sddm
- 安装声音驱动
pacman -S alsa-utils pulseaudio pulseaudio-alsa pulseaudio-bluetooth
然后通过命令vim /etc/modprobe.d/disable_dmic.conf
进行编辑,输入下面的指令。
`options snd_hda_intel dmic_detect=0
- 创建用户和添加管理员权限【必须的步骤】
设置用户名:
useradd -m -G wheel -s /bin/bash fuhe
设置密码:
passwd fuhe
然后再通过命令vim /etc/sudoers
进行编辑,在/etc/sudoers
文件中的root ALL=(ALL:ALL) ALL
行下添加fuhe ALL=(ALL:ALL) ALL
。
- 到此,安装完成,通过命令
reboot
重启,拔掉U盘,即进入archlinux界面。
4.后续
4.1 中文输入法
sudo pacman -S fcitx5-im # 输入法基础包组
sudo pacman -S fcitx5-chinese-addons # 官方中文输入引擎
sudo pacman -S fcitx5-material-color # 输入法主题
然后通过命令vim ~/.pam_environment
进行编辑,输入下面的指令到 /etc/environment
文件中。
INPUT_METHOD DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
QT_IM_MODULE DEFAULT=fcitx5
XMODIFIERS DEFAULT=\@im=fcitx5
SDL_IM_MODULE DEFAULT=fcitx
GLFW_IM_MODULE DEFAULT=ibus
如果输入法无法正常切换,可尝试执行fcitx5-diagnose
命令来诊断问题的原因。由于存在安全性问题,自 2022 年 10 月 21 日起,Arch Linux 默认不再读取 ~/.pam_environment 文件中的设置。然后进入设置>区域设置>输入法
就可以运行Fcitx,然后添加中文输入法。
4.2 添加archlinuxcn源,并配置yay
通过命令vim /etc/pacman.d/mirrorlist
换源,前面已经操作过,如果是正确的的,就不必再更换。但是需要添加 archlinuxcn
源,在 /etc/pacman.conf 文件末尾添加以下两行。
[archlinuxcn]
SigLevel = Optional TrustAll
Server = https:
同时,必须将下面这两行的注释取消:
# [muiltilib]
# Include = /etc/pacman.d/mirrorlist
完成后进行保存,然后通过命令下面的命令安装 archlinuxcn-keyring 包导入 GPG key。
sudo pacman -Syyu
sudo pacman -S archlinuxcn-keyring
并通过命令sudo pacman -S yay
安装yay。
4.3 配置clash
- 下载clash
官网:https://github.com/Dreamacro/clash/releases
wget https://github.com/Dreamacro/clash/releases/download/v1.11.8/clash-linux-amd64-v1.11.8.gz
如果wget
命令没找到,使用pacman -S wget
安装wget
。 - 解压
gunzip clash-linux-amd64-v1.11.8.gz
- 重命名
mv clash-linux-amd64-v1.11.8 clash
- 为
clash
添加可执行权限
chmod u+x clash
- 将
xlash
移动到一个文件夹,例如/usr/local/clash/
。
mv clash /usr/local/clash/
- 首次运行
clash
,~/.config/clash
路径下生成config.yaml
文件和Conntry-mmbd
文件。
./usr/local/clash/clash
Ctrl+C
退出Clash
- 下载自己的
config.yaml
配置文件
- 将下载的
config.yaml
配置文件覆盖掉~/.config/clash
路径下的config.yaml
文件。
mv -i config.yaml ~/.config/clash/config.yaml
9.然后运行clash
./usr/local/clash/clash
10.将 Clash 转变为系统服务,从而使得 Clash 实现常驻后台运行、开机自启动等。
配置 systemd 服务
注意两份文件,一是/usr/local/clash/
下的clash文件。二是~/.config/clash
下的config.yaml
文件和Conntry-mmbd
文件。
使用命令sudo vim /usr/lib/systemd/system/clash.service
创建一个服务,并添加下面的内容。
[Unit]
Description=Clash daemon, A rule-based proxy in Go.
After=network.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/local/clash/clash -d /etc/clash/home/fuhe/.config/clash/
[Install]
WantedBy=multi-user.target
4.4 配置ssh
首先安装openssh
,命令为sudo pacman -S openssh
。
然后启动ssh服务。
sudo systemctl start sshd
设置为自启动
sudo systemctl enable sshd.service
4.5配置frp
这次安装的系统主要在宿舍内,在实验室可能需要远程访问,因此配上了内网穿透。
这里主要参考https://blog.csdn.net/outsider2019/article/details/123384735
。
主要是配置好自启动服务。
4.6 个人常用的软件
-
向日葵远程连接:
yay -S sunloginclient
需要开启服务
systemctl start runsunloginclient.service
设置为自启动
systemctl enable runsunloginclient.service
-
谷歌浏览器
yay -S google-chrome
-
文件管理器
yay -S dolphin
-
Telegram
pacman -S telegram-desktop
-
微信
yay -S com.qq.weixin.deepin
-
linux远程控制windows桌面
yay -S com.qq.weixin.deepin
关于frp
的相关配置见https://blog.csdn.net/outsider2019/article/details/123384735
。
4.7 系统美化
关于系统的美化,网上有很多的方法。可以根据喜好进行美化,不过现在完全不影响使用了。下面这个关于系统的美化比较全面,也可以在Bilibili搜相关。
https://arch.icekylin.online/advanced/beauty-1.html
4.8 安装后的一些问题
1.swap
分区在开机时,出现以下错误:
[FAILED] Failed to activate swap /swapfile.
[DEPEND] Dependency failed for Swap.
使用命令vim /etc/fstab
查看uuid和name是否有问题,我的问题是uuid和/home
分区的uuid重合了,导致name
为none
,然后使用下面的命令重新生成swap分区,得到新的uuid,填入/etc/fstab
即可。
cfdisk /dev/sda
删除原来的swap
分区,再重新生成新的swap
分区即可。
2.在安装yay
时报错(无效或已损坏的软件包)
根据网上的一些教程,在vim /etc/pacman.conf
修改配置文件时,SigLevel = Optional TrustedOnly
会导致无法使用pacman -S yay
,这里应该是SigLevel = Optional TrustAll
。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)