Arch Linux
这里主要是面向新手向的文档,主要包含这些内容:
- Linux的现状
- Arch Linux与其他发行版的比较
- 如何准备和安装Arch Linux
可以参考的信息
arch linux 官网
arch linux 中文wiki
arch linux 中文社区
前言
你可能已经在很多地方听说过Arch的大名,也听说过Arch滚挂,难用,之类的传说。
你可能依旧认为Linux是开发者和服务器专享的操作系统,它不好上手,使用困难,缺乏许多Windows平台下的软件,无法作为日常的操作系统使用
但是现在,在2024年,以上这些都已经是错误的刻板印象。
- 许多软件都已经有Linux的适配版本,包括但不限于原生支持Linux平台,通过wine进行运行(特别是在游戏领域)
- 开源社区的持续进步,使得不少过去Windows上的专有软件可以有了平替,它们很有可能有更强的功能和更新颖的特性,绝对足够满足日常使用(如果你不相信这里有一份Archlinux的软件列表,记录了方方面面的可用软件)
- 现代化的,被广泛接受的GUI。Linux同样拥有非常现代化的图形化用户界面,甚至有更多的可供选择。(我们会在将来仔细讨论一下这些内容)
- 简单的自动化,脚本化的安装,可以带来近乎开箱即用的体验。
以上这些还只是在讨论Linux的改进,我们还没有开始讨论Linux的优势:
- 完全控制与用户组系统:root 权限允许你对于系统做任何的修改(是的,这会带来风险,但同时也意味着不会有任何不能被删除的捆绑软件和对于任意文件的访问权限)。用户组和文件权限控制则可以保护各种文件不被意外破坏。
- 热更新机制:在Linux上,重新启动在绝大多数情况下都是不必要的。即使你对系统做出了非常大范围的修改,你也只需要重新加载Shell之类的程序的配置即可。
- 不会有广告:绝大多数发行版都没有任何内置广告
- (同等条件下)更低的资源占用
- 稳定性和安全性:Linux被如此广泛地运用于服务器,嵌入式和边缘设备,可以长时间的稳定工作证明了这些系统的稳定可靠。
- 社区支持和丰富的文档:你可以找到绝大多数现代软件的使用,开发文档,甚至获得及时的社区支持,开发者也同样需要你回报问题!
但是同样的,我们还是得聊一聊Linux的缺点:
- 依旧有一部分软件(例如Adobe,Autodesk,Halcon系列的软件,但Linux下有支持部分功能的平替)无法在Linux下运行。由于部分反作弊软件不支持Linux(如easyAnticheat)导致使用该软件的游戏也无法在Linux下运行。
你可以另外安装一个Windows系统来解决这个问题
- 需要有一部分基本的软件知识:你必须了解如何制作引导盘,如何安装操作系统,以及基本的Shell命令(学习这些知识并不困难,而且我认为这是一笔稳赚不赔的买卖)
- 完全的控制权带来的风险:谨慎使用Root权限!
但整体上,切换到Linux下是完全可行的,不需要舍弃和妥协任何的体验。而且,从统计结果上来讲,Linux在PC桌面端的占比始终在缓慢的增加,考虑到PC的绝对数量的逐年增长,Linux实际上正在变得越来越流行。在2024年4月的统计数据中显示,Linux在桌面端的占比已经达到了4%,而在Steam硬件统计中,占比为1.94%(增量为0.11%,大部分来源于SteamDeck)
Arch Linux有什么特点?与其他发行版相比有什么优缺点?
在回答这个问题之前,我们需要先解释以下的概念:
Linux内核、GUNLinux 与Linux发行版
内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。而Linux内核是一种类Unix的开源操作系统内核。它是操作系统中最核心的部分。
而一般的,当我们提到Linux
,实际上指的是GNULinux
,即使用了Linux内核的GNU操作系统。
而Linux发行版则是更进一步的,包含了GNULinux,GNU工具集合以及其他的应用软件。安装发行版不需要从源码开始编译,只需要设置完成就可以开始使用。
虽然都是GNULinux的分支,但不同的发行版之间存在的差异还是巨大的。由于开发的目的,指导思想,开发者背景和历史原因,它们支持的硬件体系,更新方式,包管理器等方面都会存在差异。
Arch Linux也是一个Linux发行版。其他的主要的发行版包括Debian系列,RedHat系列,SUSE系列
Arch Linux有什么特点?
与其他发行版相比,Arch Linux
在了解了这些基本概念后我们就可以开始比较Arch与其他发行版的不同
其他主要的Linux分支相比的优缺点
-
Debian GNULinux
与Arch相比的优势:- Debian是目前社区最大的Linux发行版,提供了海量的软件列表,有更为详尽的文档和更多的社区支持
- Debian支持海量的硬件平台,而Arch只为 x86_64 提供支持
- 稳定版本的软件都经过了严格的测试,且提供长达5年的官方支持,另有测试和不稳定的两个分支可选
- 更贴近“开箱即用”的桌面端部署,包含了更多的预置软件和工具
与Arch相比的劣势
- 稳定版内的软件版本较旧,包括内核版本。Arch采用滚动更新,几乎立刻可以使用最新版本软件带来的最新特性
- 虽然Arch的官方软件仓库内的软件数量不如debian,但是AUR(Arch用户仓库)可以弥补这个缺点
总的来讲,如果你的硬件平台不是X86,或者需要一个更加稳定的系统,即使软件不是最新的,Debian可能是一个更好的选择。基于debian的Ubuntu也是一个著名的新手友好型的系统,部署起来更为简单。
但同时如果你有更新的X86硬件(发布时间在一年以内)Arch有更新的内核的优势反而会让这些新硬件运行起来更为稳定。 -
Fedora GNULinux
1. 准备安装Arch
所需的材料:
- 一个U盘
- 互联网连接
- 一台x86平台的主机
2. 进入Live环境
2.1 连接网络
等待系统启动,之后首先连接网络。
ArchLinux需要网络连接来下载对应的软件包。
如果使用有线网络,一般会自动获得IP地址
如果使用无线网络首先需要进行连接
- 输入
iwctl
进入iwctl shell - 输入
station wlan0 connect SSID
(将SSID 替换为你的网络名称) - 输入网络密码(如果有的话)
- 输入
exit
回到命令行界面- 如果你不知道网络的SSID可以输入
station wlan0 get-networks
列出所有的网络 - 无线网卡的名称可能不是 wlan0 ,可以使用
device list
列出网卡设备
- 如果你不知道网络的SSID可以输入
2.2 Archinstall 脚本安装
输入
archinstall
等待系统检查网络和系统版本后进入安装选项的列表
- Archinstall language
安装界面语言,跳过,修改为中文会乱码 - Mirrors
镜像设置,设置为China(按下/,输入China来筛选) - Locals
设置为 zh_cn.utf8 - Disk configuration
配置磁盘配额,如果是全新安装,直接选择自动配置即可,文件系统选择为ext4 - Disk encryption 磁盘加密,Bootloader 引导程序,Swap 交换空间 保持默认即可
- Hostname
主机名,可以改成自己喜欢的名字 - 设置Root账户密码
该密码不会回显,重复输入一次来确认 - User account 添加账户
输入账户名,密码。选择yes给予账户sudo权限,确认并退出 - Profile
选择安装类型,这里我们选择Desktop,选择自己喜欢的桌面环境(一般是Gnome和KDE,或者轻量化的xfce),根据硬件选择对应的驱动程序。 - Network configuration
Use Network……(如果使用了GNOME和KDE桌面则需要选择这个) - Audio
选择pipware - Timezone
设置为shanghai(+8)
完成这些设置后就可以 Install 了,再按下一次回车来确定
2.3 安装完成后
系统到这里其实已经可以使用了,但推荐先安装安装汉语的字体,不然重启后会是方块。
pacman -S noto-fonts-cjk
可选的中文字体
adobe-source-han-sans-cn-fonts
adobe-source-han-serif-cn-fonts
noto-fonts-cjk
wqy-microhei
wqy-microhei-lite
wqy-bitmapfont
wqy-zenhei
ttf-arphic-ukai
ttf-arphic-uming
完成之后
exit
reboot
记得拔掉安装介质或者调整引导顺序让电脑进入新安装的操作系统。
支持原生中文输入和配置
If your shell is Bash or a Bourne variant, enable conda for the current user with
$ echo "[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh" >> ~/.bashrc
or, for all users, enable conda with
$ sudo ln -s /opt/miniconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh