〇. 前言

很多地方都有各种各样的鄙视链。比如C>C++>JAVA>PHP,嵌入式>桌面软件开发>APP开发。在linux世界中也有一条有意思的鄙视链,据说是这样的:Arch>....>ubuntu>deepin。现在ubuntu和deepin(有其实非常用户友好的国产操作系统deepin)已经成为linux小白的代名词,这两个系统中各种傻瓜式的操作(比如内置非常全面的星火应用商城)让人不敢相信自己是在用linux。

我的第一篇博客写的是manjaro linux的安装和配置,那是个基于Arch的系统,安装配置过程都比较简单,因为manjaro为了提升易用性内置了很多Arch没有的东西。后来我又尝试了ubuntu和deepin,给我的感受不太好,甚至不如manjaro易用,因为debain系linux处理依赖非常繁琐,装个Nvidia闭源驱动要用上一下午研究。。。所以用了一会就格式化掉了。从那之后我一直回归Windows,因为不想折腾了。直到现在,我准备学习C语言,linux对c语言编译非常友好,所以我打算重新开始使用linux。于是,我就挑战了一次安装Arch。

image-20230416102521579

这篇博客主要讲安装和避坑,美化这一块直接看我的第一篇博客

一. 安装

首先,用rufus或者balenaetcher这样的启动盘工具制作一个启动盘,这部分很简单,网上查查就有。接下来,关闭Windows快速启动和bios安全启动,选择启动方式为USB,接着进入Archlinux安装界面。

进入安装界面后第一步就是联网。

输入下面指令:

iwtcl //此时会进入iwtcl模式

输入:

device list

此时你很可能会发现一个设备也检测不到。这是因为无线设备有时候会被禁用,如果你看到Powered字段为off,需要用以下命令启动WIFI:

rfkill list

如果看到blocked:yes,说明无线连接被禁用,需要尝试启用无线连接:

ip link set wlan0 up //这里wlan0是你网卡的名字

接下来输入:

rfkill unblock wifi

现在,你的wifi应该就彻底开启了。重复前两步的过程。

接下来,扫描网络。输入:

station wlan0 get-networks

查看网络名字,假设是A,输入:

station wlan0 connect A

然后输入密码,最后输入:

exit //退出iwd模式

连接成功后,你就可以连接到pacman源了。但是由于一些众所周知的原因,pacman源在国内非常缓慢,因此要换成中国镜像。输入以下命令:

nano /etc/pacman.d/mirrorlist

按下Ctrl-w,输入## China 回车 查找中国所在的镜像源位置

到下面选几个离你家近的镜像站,比如清华、北外、163。

光标移动到对应行之后按下Ctrl-k剪切,然后回到文件顶部Ctrl-u粘贴,并且删除开头的#Ctrl-x输入Y保存,然后回车退出。

接下来是分区环节。这里默认之前已经划分好了分区(注意,你要在windows分区时建立一个Raw分区,不然你还要在命令行里建立分区)。首先,检查硬盘:

lsblk

将分区转换为ext4格式,这里假设分区是nvme0n1p5

mkfs.ext4 /dev/nvme0n1p5

接着,挂载分区:

mount /dev/nvme0n1p5 /mnt

接着,挂载windows EFI分区。这个要在windows里查好,这里假设是nvme0n1p1

建立boot文件夹:

mkdir /mnt/boot

挂载EFI分区:

mount /dev/nvme0n1p1 /mnt/boot

下面就开始安装基本系统了。首先,执行:

pacstrap /mnt base linux linux-firmware nano

生成fstab文件

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

检查文件:

cat /mnt/etc/fstab

下面就开始配置新系统了。

首先,切换到系统:

arch-chroot /mnt

建立swapfile:

fallocate -l 3GB /swapfile

这里分了3G给swapfile

接下来,修改权限:

chmod 600 /swapfile

建立swap空间:

mkswap /swapfile

激活此空间:

swapon /swapfile

修改/etc/fstab文件:

nano /etc/fstab

在文件末尾输入:

/swapfile none swap defaults 0 0

保存退出后,设置时区:

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

同步硬件时钟:

hwclock --systohc

设置localeL:

nano /etc/locale.gen

Ctrl-W 输入 #en_US 回车 找到UTF-8那一行 删掉前面的#(取消注释)

Ctrl-W 输入 #zh_CN 回车 找到UTF-8那一行 删掉前面的#(取消注释)

保存退出

生成locale

locale-gen

创建并写入/etc/locale.conf文件

nano /etc/locale.conf 

填入内容

LANG=en_US.UTF-8

接下来,创建hostname

nano /etc/hostname

假设hostname为B,就在这个文件中写入B

修改host:

nano /etc/hosts

请以以下格式写入文件:

# Static table lookup for hostnames.
# See hosts (5) for details.
127.0.0.1        localhost
::1                localhost
127.0.0.1        arch.localdomain        B //这里输入hostname的内容

检查配置:

cat /etc/hosts/

接下来,为root用户创建密码:

passwd

安装基本包,创建启动器:

pacman -S grub efibootmgr networkmanager network-manager-applet dialog wireless_tools wpa_supplicant os-prober mtools dosfstools ntfs-3g base-devel linux-headers reflector git sudo

如果你是intel CPU,安装intel微码文件:

pacman -S intel-ucode

如果是amd

pacman -S amd-ucode

手动启用os-prober确保Windows可以被识别:

输入

nano /etc/default/grub

在里面找一条空行输入

GRUB_DISABLE_OS_PROBER=false

输入:

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch

生成grub.cfg

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

退出新系统,取消挂载并重启:

exit
umount -a
reboot //记得拔U盘

接下来,激活网络

输入:

systemctl enable --now NetworkManager

设置WiFi

nmtui

image-20230416095303214

回车

选择你要连的WIFI,输入密码,回车,退出

image-20230416095344531

新建用户并授权:

useradd -m -G wheel mahiro //wheel后是用户名,这里假设是mahiro

wheel后面是你的用户名,这里输入的是mahiro

为用户创建密码

passwd mahiro

输入并确认密码

授权

EDITOR=nano visudo

安装显卡驱动:

Nvidia:

pacman -S nvidia nvidia-utils

AMD:

pacman -S xf86-video-amdgpu

安装display server

pacman -S xorg //开源世界最流行

安装display manager

这里需要按你要安装的桌面环境而定,这里没有列出的可以自己去ArchWiki查

Gnome:

pacman -S gdm

KDE:

pacman -S sddm

Xfce || DDE:

pacman -S lightdm lightdm-gtk-greeter

设置开机自动启动,以sddm为例:

systemctl enable sddm

如果是别的请将这里的sddm替换为你安装的那个dm

安装桌面环境:

Gnome:

pacman -S gnome

KDE:

pacman -S plasma kde-applications packagekit-qt5

Xfce:

pacman -S xfce4 xfce4-goodies

DDE:

pacman -S deepin deepin-extra

需要选择时直接回车

接下来,添加archlinux源

nano /etc/pacman.conf

在最后加上下面两行

[archlinuxcn]
Server = https://mirrors.bfsu.edu.cn/archlinuxcn/$arch //这里用的是北外的站

同时取消对multilib源的注释

image-20230416100109282

保存退出之后同步并安装archlinuxcn-keyring

pacman -Syu && pacman -S archlinuxcn-keyring

不要忘记安装中文的字体,如果这一步不装进去图形界面之后还是要装:

pacman -S ttf-sarasa-gothic noto-fonts-cjk //更纱黑体和noto cjk

最后重启

reboot

恭喜,至此你成功安装了号称最高安装难度linux之一的Archlinux!

二. 避坑

虽然说你已经走过了最艰难的部分,但是你在日常使用过程中很可能还是会遇到各种各样的问题。首先就是蓝牙问题。一开始很可能是连不上蓝牙的。

1. 蓝牙

首先,安装蓝牙包

pacman -S bluez bluez-utils

查看蓝牙是否在运行:

sudo systemctl status bluetooth.service

如果服务已经运行,请尝试使用以下命令重新启动蓝牙服务:

sudo systemctl restart bluetooth.service

如果仍然无法连接,请尝试使用以下命令重置蓝牙适配器:

sudo hciconfig hci0 reset

开启开机自启:

systemctl start bluetooth.service
systemctl enable bluetooth.service

2. 声音

可以连接蓝牙了,但是你很可能还是听不到音乐。因为此时各种声卡服务都没有启动。

命令行输入:

lspci -v | grep -A7 -i "audio

检查已安装的声卡驱动

接着输入

sudo pacman -S alsa-utils

安装alsa驱动程序

接着启动alsa服务

sudo systemctl start alsa-restore.service
sudo systemctl enable alsa-restore.service

启动PulseAudio 服务

sudo systemctl start pulseaudio.service
sudo systemctl enable pulseaudio.service

3. Clash

在使用clash for windows科学上网时,有时候会发生无法使用浏览器的问题。遇到这种问题一般是tun模式造成的。解决这个问题需要在tun模式中添加一些Fallback DNS服务器设置。设置如下:

image-20230416101953256

4. Deepin-Wine-Wechat

这绝对是个令我非常头疼的问题。最新版的deepin wine微信几乎无法顺利安装,每次的报错都是wechat.exe文件无法通过有效性检查,后来我尝试绕过检查,最后虽然成功安装了却打不开。

解决这个问题,唯一的办法就是安装旧版deepin-wine-wechat。这个在GitHub的release里有,旧版安装方法见GitHub。版本可以选择3.8类的。

最后修改:2023 年 05 月 03 日
支持一下吧~