Arch Linux的可视化软件包管理器-Shelly
从一般意义上来讲,pacman作为Arch Linux的包管理器,已经十分的优秀,它和Debian系的apt、红帽系的dnf,一样成为了自身Linux发行版分支,最重要的组件之一。但是在Linux桌面环境日益扩张的今天,依然有很多可视化的软件包管理器层出不穷,而Arch Linux上就出现了 Shelly。Shelly 在Arch Linux上提供了一个非常友好的可视化操作界面,能够用于软件包的日常管理,还能支持像 AUR和Flathub这样的第三方软件仓库。从某种程度上来看,Shelly 甚至可以做为取代pacman的存在,这不是玩笑,因为Shelly 可不是pacman的可视化界面,或者从技术的的角度来说也不是对pacman的封装。Shelly是直接对接了libalpm库,以此提供了一种更精准更快速的软件包管理体验,因此有时候也许我们看到Shelly的名字会被叫做Shelly-ALPM。和现代桌面的发展脚步是同频的,Shelly采用的GTK4工具包,并且原生支持Wayland这个已经被众多Linux发行版作为默认显示协议的选手。即便如此,Shelly依然是支持终端命令行的。但是显然对于那些刚刚用上Arch Linux的用户,基于GTK4可视化操作的体验,能让这些用户更快地搞定软件管理的事情。从主界面上看,Shelly提供了直观的展示,可以看到关于最近软件包的操作行为,比如最近安装了什么,有哪些软件包可以升级。还可以使用它通过名称搜索指定软件包进行安装升级卸载等操作。虽然Shelly是支持AUR和Flathub的,但是默认没有开启,用户需要在设置页手动开启。在设置也中,还能管理一些常见的软件包管理设置项,比如周期更新软件数据库、是否开启并发下载等。其实AUR和Flathub从概念上来讲是完全不同的两个东西,虽然它们都和软件包有关。AUR,全称 Arch User Repository,是一个社区驱动的Arch Linux 软件源,提供了比官方软件源中更多的软件和更多的版本。这个软件的优点是极大的软件可用范围,几乎所有的Linux软件都能在AUR中找到。但是缺点也随之而来,由于是用户打包和提交的,且软件包的质量可能不那么理想,在实际使用过程中需要用户能够客观的看待。Flathub是一种格式为Flatpak的软件包的“应用商店”,这种软件包的主要特点是可以任意移植,因为其提供了一个沙箱机制,软件运行是和实际的操作系统隔离开来的。这种方式的优势,是一次打包之后,就能将软件分发到所有支持Flatpak的Linux发行版中,但是很明显,这种软件包严重依赖沙箱,因此安装占用的空间大,速度也会有欠缺。