Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
suoyuan666 committed Nov 25, 2024
1 parent 37d3c97 commit 7254a58
Show file tree
Hide file tree
Showing 4 changed files with 620 additions and 19 deletions.
30 changes: 16 additions & 14 deletions content/posts/distroIntro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "面向 beginner: GNU/Linux 发行版浅评与介绍"
author: suo yuan
date: 2023-12-01T03:42:51Z
lastmod: 2024-11-22T13:35:11Z
lastmod: 2024-11-24T13:35:11Z
draft: false
categories:
- Linux_杂谈
Expand Down Expand Up @@ -65,7 +65,7 @@ systemd 是一个广泛应用于各种 GNU/Linux 发行版的 init 系统,init

如果你并不是虚拟机安装 Linux 发行版的话,我认为应该还是要思考该类系统是否符合你的需求再说,当然如果你并不在意就当我没说。

~~现在还不支持 HDR~~(现在有了实验性支持)。浏览器对硬件解码的支持不是很完美。关于视频硬解加速,NVIDIA 有自己的一套 NVDEC,其他显卡用另一套 VAAPI ([nvidia-vaapi-driver](https://github.com/elFarto/nvidia-vaapi-driver) 可以让 NVIDIA 的 NVDEC 以 VAAPI 解码,但只支持解码,编码尚不支持,编码的话就还是用 NVDEC 了)。FireFox 还支持了 VAAPI,但不支持 NVDEC,Chromium 内核的浏览器目前仍然处于实验状态,而且也是只支持 VAAPI,ChromiumOS 和其他 Linux 发行版的文档会有说明可以尝试添加哪些参数启用这个功能。Chromium 内核的浏览器默认还不是 Wayland。
~~现在还不支持 HDR~~(现在有了实验性支持)。浏览器对硬件解码的支持不是很完美。关于视频硬解加速,NVIDIA 有自己的一套 NVDEC,其他显卡用另一套 VAAPI [nvidia-vaapi-driver](https://github.com/elFarto/nvidia-vaapi-driver) 可以让 NVIDIA 的 NVDEC 以 VAAPI 解码,但只支持解码,编码尚不支持。FireFox 还支持了 VAAPI,但不支持 NVDEC,Chromium 内核的浏览器目前仍然处于实验状态,而且也是只支持 VAAPI,ChromiumOS 和其他 Linux 发行版的文档会有说明可以尝试添加哪些参数启用这个功能。Chromium 内核的浏览器默认还不是 Wayland。

我不好评价 GNU/Linux 玩游戏会是怎样的体验。Valve 公司基于 wine 开发了 [Proton](<https://en.wikipedia.org/wiki/Proton_(software)>),只要在 Steam Play 中勾选为所有应用启用 Steam Play 就可以玩那些只支持 Windows 平台的游戏了,但不好评价是否能一定起作用,Steam Deck 上搭载的系统 Steam OS 是基于 Arch Linux 做的,所以使用 GNU/Linux 玩游戏方面也不至于那么难绷。

Expand Down Expand Up @@ -117,9 +117,11 @@ Debian Linux 应该是随版本更新,不过貌似 testing 软件源可以让

官网链接:https://ubuntu.com/

基于 Debian 的 OS,听说号称要做 Linux 中的 Windows,莫非它做到了独裁?我将系统启动慢,软件启动慢归结于 Ubuntu 强推自家 snap 的问题,而且 Ubuntu 是我安装系统时体验最差的操作系统了(不过我也没装过太多回 OS),启动速度慢,安装的速度也不咋地(这个可能是我自己网络的问题),而且默认安装的就是 GNOME 桌面环境,不允许安装的时候做出选择,桌面环境(DE, Desktop Environment)这个后续再谈。当然有使用不同 DE 的 Ubuntu,但得下载对应系统的镜像文件了,比如使用 KDE Plasma 的叫做 KUbuntu。这个 KUbuntu 大抵是比较适合作为一些新手(我指的是从 Windows 换到 GNU/Linux)的,因为 KDE 和 Windows 桌面的使用习惯在我看来是差不多的(甚至 KDE 有一个主题就是旨在模仿 Win11)
基于 Debian 的 OS,听说号称要做 Linux 中的 Windows,莫非它做到了独裁?我将系统启动慢,软件启动慢归结于 Ubuntu 强推自家 snap 的问题。

再解释一下为什么认为 KUbuntu 大抵是比较适合作为一些新手,因为 Debian/Ubuntu 有着大量的用户群体,这里在我国貌似也不例外(可能是这样,我并不知道全国使用 GNU/Linux 发行版的这个具体情况,所以只能说可能是如此)。很多软件如若要有一个针对 GNU/Linux 平台的版本,那么很大概率就是 Debian/Ubuntu 了,而且一些教程如若提到了在 GNU/Linux 平台下该如何操作的话,大多至少都会假定你使用的是 Debian/Ubuntu 发行版。
Ubuntu 是我安装系统时体验最差的操作系统了(印象中,我好久不再安装 Ubuntu),启动速度慢,安装的速度也不咋地(这个可能是我自己网络的问题),而且默认安装的就是 GNOME 桌面环境,不允许安装的时候做出选择,桌面环境 (DE, Desktop Environment) 这个后续再谈。当然有使用不同 DE 的 Ubuntu,但得下载对应系统的镜像文件了,比如使用 KDE Plasma 的叫做 KUbuntu。这个 KUbuntu 大抵是比较适合作为一些新手(我指的是从 Windows 换到 GNU/Linux)的,因为 KDE 和 Windows 桌面的使用习惯在我看来是差不多的(甚至 KDE 有一个主题就是旨在模仿 Win11)。

再解释一下为什么认为 KUbuntu 大抵是比较适合作为一些新手,因为 Debian/Ubuntu 有着大量的用户群体,这里在我国貌似也不例外(可能是这样,我并不知道全国使用 GNU/Linux 发行版的这个具体情况,所以只能说可能是如此)。很多软件如若要有一个针对 GNU/Linux 平台的版本,那么很大概率就是 Debian/Ubuntu 了,而且一些教程如若提到了在 GNU/Linux 平台下该如何操作的话,大多至少都会假定读者使用的是 Debian/Ubuntu 发行版。

![Ubuntu_22.04_LTS_Jammy_Jellyfish](/img/introdistro/Ubuntu_22.04_LTS_Jammy_Jellyfish.png)

Expand All @@ -133,9 +135,9 @@ Ubuntu 认知中是随版本更新。

官网链接:https://www.kali.org/

基于 Debian testing 源的 Kali Linux 安装界面类似 Debian 的系统安装界面,我曾经尝试给我的笔记本安装 Kali Linux,但是体验不是很好,因为我卡在了 no-free firmware,导致网络无法使用(悲),解决办法还是有的,我看 Kali 论坛上有人提出下载好对应的 firmware 再移动到系统安装盘内,不过我懒的整了。Kali Linux 是否是一个可日用的操作系统,我无法评价(因为我没试过),不过对于一些做 CyberSecurity 方面的人来说,也许 Kali Linxu 对他们的诱惑还是有的,这里我想说它对你的诱惑如果仅仅是默认自带的那些配置好的软件的话,大可不必,自己配置不会花太多时间(如果是虚拟机安装当我没说)。Kali Linux 对 DE 做了美化,我认为美化的还是不错的。有一点值得说一下,Kali Linux 不需要更换软件源的网址,大多数 GNU/Linux 发行版因为网络问题都需要更换软件源,除了国内公司搞的(比如 Deepin/UOS 或者 openKylin 之类)或者 Kali Linux、OpenSUSE Linux,其他的貌似都得换源。
基于 Debian testing 源的 Kali Linux 安装界面类似 Debian 的系统安装界面,我曾经尝试给我的笔记本安装 Kali Linux,但是体验不是很好,因为我卡在了 no-free firmware,导致网络无法使用(悲),解决办法还是有的,我看 Kali 论坛上有人提出下载好对应的 firmware 再移动到系统安装盘内,不过我懒的整了。

如果是为了那些软件的话,有一些发行版有针对 CyberSecurity 的衍生发行版,比如 Arch Linux 有个[BlackArch](https://www.blackarch.org/),其搞了很多相关的工具,在 Arch Linux 上加个 blackarch 源就行了
Kali Linux 是否是一个可日用的操作系统,我无法评价(因为我没试过)。Kali Linux 对 DE 做的美化还是不错的。有一点值得说一下,Kali Linux 不需要更换软件源的网址,大多数 GNU/Linux 发行版因为网络问题都需要更换软件源,除了国内公司搞的(比如 Deepin/UOS 或者 openKylin 之类)或者 Kali Linux、OpenSUSE Linux,Fedora Linux,其他的貌似都得换源

机缘巧合之下,我安装了 Kali Linux 虚拟机,故而下边两张 Kali Linux 的桌面截图的第一张就是我截的了。

Expand All @@ -145,11 +147,11 @@ Ubuntu 认知中是随版本更新。

第一张图片是 Xfce 桌面,第二张是 GNOME 桌面,这里没有太表现出来 Kali Linux 中对各家 DE 的美化。不过能看出来 Terminal 中对 Shell 的美化。

你可以和 Debian 的那张图片对比一下就可以发现不同之处。Debian 那个使用的是 bash 并且没有看出有什么美化,尤其是 PS1 变量(就是**debian@debian**那个东西)就是默认的设置,但是 Kali Linux 默认除了 bash 之外还安装了 zsh 并且将 zsh 作为其默认的 shell。并且它对 zsh 做了一些配置,比如那个**kali@kali**,zsh 默认并不是这样的,这是 Kali Linux 自己的配置,而且默认还有对历史命令的猜测和对你输入的命令颜色上的美化,这是靠两个 zsh 的插件实现的。
你可以和 Debian 的那张图片对比一下就可以发现不同之处。Debian 那个使用的是 bash 并且没有看出有什么美化,尤其是 PS1 变量(就是 **debian@debian** 那个东西)就是默认的设置,但是 Kali Linux 默认除了 bash 之外还安装了 zsh 并且将 zsh 作为其默认的 shell。并且它对 zsh 做了一些配置,比如那个 **kali@kali**,zsh 默认并不是这样的,这是 Kali Linux 自己的配置,而且默认还有对历史命令的猜测和对你输入的命令颜色上的美化,这是靠两个 zsh 的插件实现的。

插件[zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)
插件 [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)

插件[zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)
插件 [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)

写到这里突然发现我无法真正确定 Kali Linux 上的 zsh 是通过这两个插件得到的这个效果,但是这俩插件很受欢迎,大多数发行版对都是默认不装 zsh 的,所以你装 zsh,网上的美化教程大多都会提到装上这两个插件。

Expand Down Expand Up @@ -207,7 +209,7 @@ Fedora Linux 是随版本更新。

### Arch 相关

Arch 系使用 pacman 作为软件包管理器。不过 Arch Linux 提供了[AUR,Arch User Reposiory](https://aur.archlinux.org/),这是一个用户软件仓库,提供了 Arch Linux 官方仓库没有的软件,比如 linuxqq,一些国产软件都在 AUR 里可以找到,不过 AUR 不过是一个构建软件的脚本,对应软件得在 AUR 的 PKGBUILD 中写好的网址去拿对应的包。如果是国内软件安装还好说,其他的比如有些从 GitHub 拿的就得配置好网络了。Arch 有个 archlinuxcn 软件仓库,有一些额外的软件可以直接安装,中科大有 archlinuxcn 的软件源。 AUR 应该是 GNU/Linux 平台中软件包数量很多的平台了,能超过它的可能只有 NixOS 的(在我的认知中)。
Arch 系使用 pacman 作为软件包管理器。不过 Arch Linux 提供了 [AUR](https://aur.archlinux.org/),这是一个用户软件仓库,提供了 Arch Linux 官方仓库没有的软件,比如 linuxqq,一些国产软件都在 AUR 里可以找到,不过 AUR 不过是一个构建软件的脚本,对应软件得在 AUR 的 PKGBUILD 中写好的网址去拿对应的包。如果是国内软件安装还好说,其他的比如有些从 GitHub 拿的就得配置好网络了。Arch 有个 archlinuxcn 软件仓库,有一些额外的软件可以直接安装,中科大有 archlinuxcn 的软件源。 AUR 应该是 GNU/Linux 平台中软件包数量很多的平台了,能超过它的可能只有 NixOS 的(在我的认知中)。

#### Arch Linux

Expand Down Expand Up @@ -235,7 +237,7 @@ Arch Linux 是滚动更新。

官网链接:https://manjaro.org

Manjaro 是基于 Arch Linux 做的 OS,比 Arch 仓库的软件推送慢了两周,旨在提供比 Arch 更稳定的软件(这个是听说)。Manjaro 的优势或许就在于它有一个安装界面,可以点点点就开始安装了,不需要输入命令。我看到过一个吐槽 Manjaro Linux 的,认为这降低了 Arch Linux 的门槛,反而让一些因此才使用的用户无法应对使用中可能遇到的问题。当然我并不认为这会有大不了的。我曾经在某年冬天就抱着要装 Manjaro 双系统的想法,当然后来我是 Arch Linux 单系统(逃)。
Manjaro 是基于 Arch Linux 做的 OS,比 Arch 仓库的软件推送慢了两周。Manjaro 的优势或许就在于它有一个安装界面,可以点点点就开始安装了,不需要输入命令。我看到过一个吐槽 Manjaro Linux 的,认为这降低了 Arch Linux 的门槛,反而让一些因此才使用的用户无法应对使用中可能遇到的问题。当然我并不认为这会有大不了的。我曾经在某年冬天就抱着要装 Manjaro 双系统的想法,当然后来我是 Arch Linux 单系统(逃)。

有人说 Manjaro 有一个很好的驱动管理软件。

Expand All @@ -249,7 +251,7 @@ Manjaro Linux 是滚动更新。

官网链接:https://www.opensuse.org/

OpenSUSE Linux 提供了滚动更新和版本更新两种更新方式,这对应它两个版本。有个类似 AUR 的用户软件仓库 OBS,不过我不是很了解 OBS,也不再多说什么了。OpenSUSE Linux 有别的 OS 都没有的 Yast 客户端,这个 GUI 软件可以完成很多特权操作,比如安装软件啥的(我没有太试过 OpenSUSE,我也没有太用过 Yast)。而且 OpenSUSE 的软件源网址貌似可以自动给你选一个近的软件源去下载软件,可以让你使用官方源的时候也保持着还不错的速度。
OpenSUSE Linux 提供了滚动更新和版本更新两种更新方式,这对应它两个版本。有个类似 AUR 的用户软件仓库 OBS,不过我不是很了解 OBS,也不再多说什么了。OpenSUSE Linux 有别的 OS 都没有的 Yast 客户端,这个 GUI 软件可以完成很多特权操作,类似 Windows 的控制面板。而且 OpenSUSE 的软件源网址貌似可以自动给你选一个近的软件源去下载软件,可以让你使用官方源的时候也保持着还不错的速度。

就像上一段开头说的那样,OpenSUSE Linux 提供了滚动更新和依版本更新两种方式,分别是 OpenSUSE Tumbleweed 和 OpenSUSE Leap。

Expand All @@ -267,7 +269,7 @@ Gentoo 使用 portage 软件包管理器,软件大多都是从源码开始安

这个自由是选择的自由

Gentoo Linux 是少数可以让你选择非 systemd 作为系统 init 系统的 Linux 发行版,但在这个世界,使用非 systemd 作为自己桌面操作系统的 init 系统就像用 linux-libre 作为自己的系统内核一样难绷,不过非 systemd 的 init(如 openrc 还算可用,不过我很怀疑 linux-libre 的使用情况
Gentoo Linux 是少数可以让你选择非 systemd 作为系统 init 系统的 Linux 发行版,但在这个世界,使用非 systemd 作为自己桌面操作系统的 init 系统就像用 linux-libre 作为自己的系统内核一样难绷,不过非 systemd 的 init(如 openrc 还算可用,不过我很怀疑 linux-libre 的使用情况。

我不知道你是否对部分发行版打包的策略有意见,比如某些软件你希望直接上 O3 + lto 编译(虽然这些都是理论上的性能提升,用户难以直接感知到变化),但是为了稳定,少有软件会选择这个编译策略,但是 Gentoo Linux 可以让你的想法成真。

Expand Down Expand Up @@ -311,7 +313,7 @@ Nix 靠将每个软件包都安装在 `/nix/store` 文件夹中并附上一个

官网链接:https://nixos.org/

NixOS 提供两种安装方式——图形化安装和手动安装。图形化安装就像 Fedora 这样的发行版一样提供一个带 DE 的 LiveCD 环境,不过这种安装受到我国网络环境的限制,不过都有 DE 了,是否在设置里设定一下代理,或者像 clash 这样的代理工具开 tun 模式可以完成下载软件的步骤 🤔。反正我是手动安装的。该系统的特点是大部分的配置可以写在 `/etc/nixos/configuration.nix`,比如对软件,services,用户的管理等等。在安装软件的时候可能涉及到从诸如 GitHub 之类的网站下载补丁或者源码,所以做好网络环境的配置是必要的。
NixOS 提供两种安装方式——图形化安装和手动安装。图形化安装就像 Fedora 这样的发行版一样提供一个带 DE 的 LiveCD 环境,不过这种安装受到我国网络环境的限制,不过都有 DE 了,是否在设置里设定一下代理,或者像 clash 这样的代理工具开 tun 模式可以完成下载软件的步骤 🤔。反正我是手动安装的。该系统的特点是大部分的配置可以写在 `/etc/nixos/` 中的文件中,比如对软件,services,用户的管理等等。在安装软件的时候可能涉及到从诸如 GitHub 之类的网站下载补丁或者源码,所以做好网络环境的配置是必要的。

但是安装软件的是否可能涉及到从 GitHub 之类的网站下载东西,或者如果你使用 NUR 的话(我不清楚 NUR 是否有国内源),NUR 仓库在 GitHub 上,所以你需要配置好网络环境才行。

Expand Down
Loading

0 comments on commit 7254a58

Please sign in to comment.