GreatSQL登陆Arch Linux:成功的数据库安装之旅

了解Arch Linux

Arch Linux是一个轻量、灵活、基于x86-64架构的Linux发行版,遵循K.I.S.S.原则。注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。

1.简洁

Arch Linux将简洁定义为:避免任何不必要的添加、修改和复杂增加。简单来说,archlinux 是一个可以让用户自己动手打造的操作系统。从安装到管理,archlinux 放手让用户处理一切。

用户可以自己决定使用哪种桌面环境、安装哪些组件和服务。这种精细化的控制能够赋予你一个精简的操作系统,可以让用户自由选择所需的组件来构建属于用户自己的系统。

2.滚动更新(现代)

滚动更新(rolling update)是指软件开发中经常性将更新发送到软件的概念。相较于滚动发行,有标准版本和小数点版本的版本号开发模式,必需通过重新安装以取代先前的发行版。Arch Linux 是没有版本概念的,它始终保持最新的状态,通俗的理解就相当于把发行版比喻为一部车,ubuntu 更新就是换一部新的,而 Arch Linux就是把车里面旧的配件换成新的。

Arch Linux是一个滚动发行版,这意味着:

  1. 新的内核和应用程序版本一经发布,就会立即向用户推送
  2. 当大多数其它 Linux 发行版还在提供旧的 Linux 内核版本时,Arch Linux会迅速向用户提供最新的内核
  3. 而软件也是如此。如果 Arch Linux仓库中的软件发布了新版本,Arch Linux用户通常会比其他用户先获得新版本
  4. 在滚动发行模式下,一切都是新鲜和前沿的。用户不必把操作系统从一个版本升级到另一个版本,只要使用 pacman
    的升级命令,便会始终保持最新的版本

3.实用

Arch Linux注重实用性,避免意识形态之争。最终的设计决策都是由开发者的共识决定。开发者依赖基于事实的技术分析和讨论,避免政治因素,不会被流行观点左右。

Arch Linux的仓库中包含大量的软件包和编译脚本。用户可以按照需要自由选择。仓库中既提供了开源、自由的软件,也提供了闭源软件(大部分闭源软件在 AUR
仓库中)。实用性大于意识形态。

4.激进的内核更新机制

Arch Linux在更新内核的时候会立即删除旧内核(因为内核也是一个软件包 linux
linux-zen
...,由 pacman
更新)

立即删除旧的内核要求 Arch Linux必须重启来加载新的内核,否则容易发生诡异的问题。这是因为 Linux 所谓的“内核”包含有大量的动态加载模块,如果在某次启动后,某个模块没有被加载过,然后系统内核更新了并且删除了旧的内核,那么这些模块将永远不能被加载了——因为它们随着旧内核被删掉了。除非用户重启系统以完整切换到新的内核以使用新版的动态加载模块。

5.软件包管理体系

不同于 Debian 系列的 apt dpkg
和 Red Hat 系列的 dnf(yum)/ rpm
包管理体系,Arch Linux只用了一个工具 pacman 就解决了获取和安装两个功能。这降低了为 Arch Linux 制作软件包的门槛,这也是 AUR 几乎能涵盖整个 Linux 软件生态的主要原因。但是这也导致 pacman 不支持虚包(virtual package)。

更多介绍前往Arch Linux社区网站:https://www.archlinuxcn.org/

安装Arch Linux

安装Arch Linux过程这里就不再详细介绍了,可前往Arch Linux的官方文档查看详细的安装流程:https://arch-linux.osrc.com/rookie/pre-install.html

下面,我将展示成功安装完成的Arch Linux环境

$ uname -a<br>Linux myarch 6.6.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 29 Nov 2023 00:37:40 +0000 x86_64 GNU/Linux<br><br>$ neofetch<br>root@myarch <br>----------- <br>OS: Arch Linux x86_64 <br>Host: Latitude 5491 <br>Kernel: 6.6.3-arch1-1 <br>Uptime: 17 hours, 39 mins <br>Packages: 187 (pacman) <br>Shell: bash 5.2.21 <br>Resolution: 1920x1080 <br>Terminal: /dev/pts/0 <br>CPU: Intel i7-8850H (12) @ 4.300GHz <br>GPU: Intel CoffeeLake-H GT2 [UHD Graphics 630] <br>Memory: 239MiB / 15787MiB<br><br>$ lcc -version<br>ldd (GNU libc) 2.38<br>