〇. 前言
很多地方都有各种各样的鄙视链。比如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。
这篇博客主要讲安装和避坑,美化这一块直接看我的第一篇博客
一. 安装
首先,用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
回车
选择你要连的WIFI,输入密码,回车,退出
新建用户并授权:
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源的注释
保存退出之后同步并安装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服务器设置。设置如下:
4. Deepin-Wine-Wechat
这绝对是个令我非常头疼的问题。最新版的deepin wine微信几乎无法顺利安装,每次的报错都是wechat.exe文件无法通过有效性检查,后来我尝试绕过检查,最后虽然成功安装了却打不开。
解决这个问题,唯一的办法就是安装旧版deepin-wine-wechat。这个在GitHub的release里有,旧版安装方法见GitHub。版本可以选择3.8类的。