操作系统推荐:Arch Linux

操作系统推荐:Arch Linux

不适合哪些用户

电脑上平常用来吃饭的工具没有 Linux 版本,或者没有强有力的替代品,或者放在虚拟机/Wine 里性能损失导致不可用或者出现图形错误。
软件跨平台支持 Linux 并不是难事,如果不能跨平台说明是垃圾软件不用也罢。

  • 通用:
    ☒ Adobe 系列
    Matlab, Simulink
    所有主流浏览器
    Blender:开源软件,支持 Linux
    GIMP:PS 的强有力开源替代
    LibreOffice:MS Office 的强有力开源替代,实在不行,虚拟机里跑 MS Office 很流畅,还有网页版的 Microsoft 365、Google Docs 套件可用

常用国产软件的情况可见 Arch 中文 Wiki 中国大陆用户的推荐解决方案

分学科来说:

  • 机械:
    ☒ Solidworks, PRO/E, Autodesk 系列
    OpenSCAD: 开源 CAD 软件,虽然是有这个,但可能如果在工业界会被同事笑掉大牙?
  • 电气
    ☒ 一些电磁仿真工具
    ☒ PCB 设计工具 Altium Designer
    Xilinx 的 FPGA 设计工具有 Linux 支持
    STM32 开发用的 Keil 虽无 Linux 版,但可用功能更强的 CLion 加 arm 的 gcc 工具链
  • 能动:
    OpenFOAM 开源 CFD
  • CS
    在 Linux 上能进行所有编程语言的开发工作(包括 Unity,甚至包括微软的 .NET Framework,在 Linux 上叫 mono)
    JetBrains 系列所有 IDE(Pycharm, CLion, Rider, GoLand, Android Studio)

这样一来劝退了很多人,也说明很多人的工作可以迁移到 Linux 上。

为什么推荐 Arch Linux

Windows 是闭源、付费、商业软件,Linux 是开源、免费、自由软件。
用了 Arch Linux 你就不用担心或者更少担心:

  • 勒索软件加密你的文件、流氓软件盗取你的信息 → 完善的用户权限、访问权限体系,Linux 内核相比 Windows NT 历史安全事故更少
  • 突如其来的蓝屏黑屏、重启 → 通过命令行工具通过内核日志 dmesg,system journal 更方便查错
  • 用久了就卡,总是没重装之后的几天那么快 → 储存使用的众多文件系统:如 Ext4、Btrfs 相比 NTFS 更优,缓存文件位置井井有条易于清理
  • 莫名其妙的风扇狂转、发烫:未知应用程序占满了你的 CPU、未知程序弹窗广告、开机自启动 → 隐匿程序几乎没有存在的可能,通过 ps、top、htop、iotop、iftop、nvtop 的工具查看系统资源使用一清二楚,自启动通过 systemd 统一管理,用户全控
  • 关键时刻 Windows Update 作祟 → 何时更新、更新完全由用户决定,也可以配置定时自动更新
  • 右下角水印“激活你的 Windows“影响视线 → 开源自由软件不存在激活一说
  • 下载安装软件总要去网上搜索,安装包要点击好多步才能完成,有时还驱动还有人工安装 → pacman 软件包管理工具一键搜索、安装、升级、卸载软件

什么是 Arch Linux

Greg Kroah-Hartman:
I have not had any problems with anything on Arch, and their wiki is by far the best resource out there that I have ever seen

Arch Linux 是多如牛毛的 Linux 发行版(Distribution)中的一种,从年龄上说不算老,也不算新。
Linux 是和拥有 OpenBSD、FreeBSD 等变种的 Berkeley Software Distribution 齐名的类 Unix 操作系统。

Linux 本质上是一个内核,所以它的官网是 https://kernel.org。光有内核没法玩,还需要和自由软件基金会开发一系列 GNU 应用程序配套使用,所以一般合称 GNU/Linux。

前面说到 Linux 发行版(Distro)多得 浩如烟海,但由于 Linux 开源免费自由的特性,其实很多 Distro 都是抄来抄去派生于其他 Dsitro,完整关系可见 一张 6MiB 的巨大无比的图,Arch 和 Debian(有名的 Ubuntu 是它儿子)、Fedora 一样,诸多其他 Distro 派生。

Arch 到底强在哪?下面和名声响亮的 Ubuntu 进行对比。

  • 软件包管理器 pacman 易用且强大,更新系统仅需pacman -Syu,相比之下 Ubuntu 需要apt-get update && apt-get upgrade
  • 软件依赖关系清晰,不像 Ubuntu 有时莫名其妙“XX 软件包无法被安装,因为 XX 依赖于 XX,而 XX 将不被安装,请尝试用 apt --fix-install”难被解决
  • pacman 性能高速度快,使用先进的 zstd 压缩格式,而且不像 Ubuntu 啰哩啰嗦的输出一大堆“选中此前未选中的 XXX;正在解包 XXX”;而且 Ubuntu 打包零碎,为了编译某个东西需要装一堆包,还把头文件单独打包加 -dev后缀,现在硬盘都很大,实际这个-dev包大小连 1MiB 都不到。Arch 都放在一起了。Ubuntu 的.deb内部结构混乱,压缩包套压缩包,不像 Arch 的.pkg.zst 按照系统目录组织,井然有序。
  • Arch 拥有极其好用的自行打包工具 Arch Build System(ABS),如果不像编译也可以加非官方软件包源。不像 ubuntu 打包工具难用,一般人只能寄希望于有好心人打包到了 PPA,而 Ubuntu 的 PPA 几年前连 HTTPS 都不支持。别看 Ubuntu 的 Debian 系软件包多,Arch 的 Archlinux User Repository(AUR)有众多志愿者做的 PKGBUILD,可用makepkg -si命令一键编译打包安装。
  • Arch 由强大的开源社区支持,源于 Canada,德国 Hetzner 这家提供服务器租赁的公司赞助了许多服务器。Ubuntu 由商业公司 Canonical 支持。Ubuntu 搞了一个 Snap,企图替代它爹 Debian 的 apt 体系,但两者共存,非常混乱,我试用了一下,很难用。
  • Arch 社区的技术能力很强,开发了 pacmannetctlmkinitcpio 等众多非常实用的工具。
  • Arch 的软件包总是最新的。这一点见仁见智,Arch 希望上游提供更新来修复问题,而 Debian 系喜欢自己打补丁而非从上游拉取更新来修复问题。
  • Debian 系软件包版本混乱,不同的系统版本给一个软件的不同版本打包。而 Arch 官方软件源的包通常只有一个版本(有时 GCC,OpenJDK 有好几个版本,AUR 也可能提供其他版本,或者修改 PKGBUILD 就能自行编译打包某个特定版本),因而有 Rolling 滚动发行版的称号。

总结一下,Arch 拥有简单、强大的特点。

怎么装 Arch

由于 Arch 的安装很简单并且官方教程 Installation guide - ArchWiki 非常详细且被翻译成了 21 种语言,安装 Arch 只能通过命令行的方式。

怎么用 Arch

推荐安装 KDE Plasma 桌面环境 + Wayland + Linux Zen 内核 + Fcitx5 输入法 + zsh (with zsh-autosuggestions, zsh-syntax-highlighting, grml-zsh-config)。

KDE 是和 Gnome 齐名的 Linux 桌面环境双雄之一(其他的 Xfce4, LXQt, LXDE, Mint, Cinnamon 都没这两个功能全面,个人用不习惯 Gnome,觉得它某些方面的功能过于简单,以至于需要 gnome-tweak-tools 这种额外的工具来弥补本来应该有的功能)。

KDE 桌面环境包含窗口管理器 Kwin 在内的图形界面核心程序,和一系列常用软件如 Konsole, Kate,甚至还包含 KDE Connect 这个和手机交互利器(功能不逊于很多电脑组装厂OEM 如专门开发的多屏协作、多设备分享软件)。

KDE 默认界面已经很好看了,有人觉得是抄袭 Windows,但 1996 年建立至今的 KDE 论历史一点不虚 Windows,有些功能比如虚拟桌面谁抄谁还不一定呢。

KDE 可定制度很高,KDE Store 有很多主题(虽然名字是 Store,但里面的东西都是开源自由的),美化后超级 Cool,可见 1, 2。这里剽窃张上面两个链接里的图,原作者 愣生生把 Arch 图形环境改造成 MacOS:

后面有时间再写教程

5 Likes

“由于 Arch 的安装很简单”()

2 Likes

怎么说呢,新手一看见命令行就头痛,殊不知图形工具才是最难用的,例如 Ubuntu 安装工具 Ubiquity,我多年前使用过,经常莫名奇妙得出错不知道错在哪。

而命令行是你一步步敲,知道自己在干嘛,所以更简单啦。我相信 JK 参照事无巨细的 Arch Wiki 都能装起来 :grin:

实在不行可以这样,先拿 Ubuntu 的 ISO 装好,再用 Timothy Mario Redaelli Mario Redaelli / vps2arch · GitLab 把系统转成 Arch,我曾经在多台不提供 Arch 的机器上这样干过。

你说的也有道理。我是只在虚拟机里装过一次 arch,现在想想确实也不是很难,只是可能命令行对于那些对技术本身不感兴趣的纯小白来说,还是会有点劝退吧

1 Like

只用图形 UI,不用命令行,犹如买椟还珠,丧失了使用 Linux 的精髓。不过基本知识还是挺简单的,不会的上 Google 一搜,比如:
@AIBot 怎样在 linux 里通过命令行压缩一个文件夹为 tar.gz,另外,怎么解压?

使用命令行压缩文件夹,可以使用 tar 命令和 gzip 命令进行组合操作:

将文件夹压缩成 tar.gz 格式:

tar -czvf filename.tar.gz folder_name

其中,-c 表示创建新的归档文件,-z 表示使用 gzip 进行压缩,-v 表示输出详细信息,-f 表示指定压缩后的文件名

解压 tar.gz 文件:

tar -xzvf filename.tar.gz

其中,-x 表示提取文件,-z 表示使用 gzip 进行解压缩,-v 表示输出详细信息,-f 表示指定要提取的文件

注意,以上命令需要在命令行中输入,如果不了解 Linux 命令,可以先学习一些基础知识。

1 Like

可以告诉我需要学哪些 Linux 基础知识吗?

当你学习 Linux 的时候,一些基础概念是必须要掌握的,这些知识将帮助你更好地理解 Linux 操作系统。以下是一些你需要学习的 Linux 基础知识:

  1. Shell:Shell 是与操作员进行交互的命令行解释器。Linux 提供了多种 Shell,但 Bash(Bourne-Again Shell)是最常用的 Shell。为了在命令行上执行任务,你需要知道一些基本的 Shell 命令。

  2. 文件系统:Linux 文件系统是一个层次结构,正如 Windows 文件系统中的文件和文件夹一样。在学习 Linux 时,了解文件系统和文件管理命令非常重要。在 Linux 中,所有文件和目录都存在于根目录中。

  3. 用户和权限:在 Linux 中,用户和组是管理文件和目录权限的基本概念。每个文件和目录都有所有者和权限,只有所有者和超级用户才能更改这些权限。

  4. 包管理:Linux 发行版使用包管理器来安装、更新和卸载软件包。你需要学习基本的包管理知识,如使用命令行工具安装和卸载软件包。

  5. 网络基础知识:Linux 和网络有着密不可分的联系。了解 TCP/IP 协议、网络配置和网络工具非常重要。例如,你需要知道如何使用 ping 命令测试主机之间的连接和使用 netstat 命令监视活动的网络连接。

这些是你需要学习的基本 Linux 知识。掌握这些概念后,你可以更加深入地学习 Linux。

1 Like

一直在用 ubuntu,楼主提到的很多 ubuntu 的问题也感同身受,有点想换成 arch。想问问 arch 对一些 CCD 引擎,比如 houdini,blender 之类的支持怎么样呢?就是原本在 ubuntu 上可以正常使用的软件,原理上 arch 会遇到新的坑么?同时比如说一些 CPU 并行计算库,比如 oneTbb,openmp 之类的呢。可能会存在独属于 Arch 的新坑吗?

理论上讲,Ubuntu 上能用的软件 Arch 上不存在不能用的问题。如果软件有苛刻的依赖要求时,从源码编译的时候找头文件、链接.so 什么的时候需要配置$PATH, $LD_LIBRARY_PATH 什么的,这个问题在 Ubuntu 上也少不了。

Blender, openmp, onetbb 都在 Arch 的官方软件源里,不存在任何支持问题。houdini 我没用过不知道。

作为用户基数非常大且用户动手能力极强的 Distro,Arch 应该不会有独有的坑。

linux 科学上网容易吗

Windows 也有命令行啊

但是驱动是闭源的,硬件是闭源的

Windows 的破烂命令行 CMD 和 Powershell 跟 zsh 简直不能比。除此之外,命令行仅仅是一个入口,很多常用命令行工具 Windows 都木有,如

cd/ls/cp/mv/rm
mk/rm-dir
grep
sed
awk
sort
wc
tail
less/more
xargs
echo
find
du
ss
ps
top
kill
ch-own/mod/attr/grp

还有 shell 里常见的环境变量 linux 全存在文件里( Everything is a file 哲学思想),Windows 要用专门工具 regedit。

固件闭源没办法。不过近年来有好新闻,例如 AMD 在推 OpenSIL,来代替现有的 AGESA

有些完全自由 Linux Distro 没有闭源硬件驱动,比如派生于 Arch 的 Parabola GNU/Linux-libre

有不少驱动是开源的,例如 三大厂的图形驱动都有开源的,Intel 更是只有开源版本,被 Linus 竖中指骂它封闭的 NVIDIA 在去年被 LAPSUS 勒索过后良心发现、也开源了 open-gpu-kernel-modules

科学上网可以用 web GUI 的客户端 v2raya,个人感觉简单易用