系统极客一直在努力
专注操作系统及软件使用技能

UPT:Linux 万能包管理神器,告别繁琐操作

Linux

在 Linux 和其他基于 Unix 的系统中,软件包管理的生态系统错综复杂,每个系统都有自己的独特的包管理方式,这就给跨平台工作的用户带来了不少麻烦。

Linux 生态里的包管理工具种类繁多,主要如下表所示:

发行版包管理工具简介
Arch Linux 及其衍生版Pacman界面简洁、易用,自动处理软件依赖问题。
AlpineAlpine Package Keeper (APK)轻量级设计,实现软件包的快速安装和更新。
Debian 及其衍生版Advanced Package Tool (APT)功能全面,支持多源管理和丰富的命令行操作。
Debian 及其衍生版AptitudeAPT 的前端,操作更直观。
Ubuntu 及其衍生版SnapcraftCanonical 打造,支持沙盒化安全性和跨平台兼容。
基于 RPM 的系统Yellowdog Updater, Modified (Yum)自动处理依赖,配置管理功能强大。
SlackwareSlackpkg以简洁的配置和命令行界面著称。
GentooEmerge支持从源代码编译安装,提供高度自定义选项。
Guixguix 命令命令行工具,用于构建、管理软件包和系统配置。
NixOSnix-env支持声明式配置和原子更新,依赖管理能力出众。

其它的还有 FreeBSD 上的 pkg、macOS 上的 Homebrew,以及 Windows 上的 Scoop 和 Winget(好像混入了什么奇奇怪怪的东西😁)。

这些工具都有自己独特的命令和逻辑,这就让我们不得不学习多种操作方法来完成相同的任务。

总之,这简直是一团糟……还是说,事情或许有转机?

UPT:一站式 Linux 包管理解决方案

一位名叫 sigoden 的开发者创建了一款名为 Universal Package-management Tool(通用包管理工具,简称 UPT)的强大工具,可以解决 Linux 包管理的纷繁复杂。有了 UPT,就再也不用牢记各种包管理工具的独有「使用哲学」了。

UPT 采用 Rust 编写的,需要先在你的 Ubuntu 或其他 Linux 发行版上安装 Rust 和 Cargo。macOS、Linux 或其他类 Unix 系统,推荐下载 Rustup 安装和管理 Rust 环境。

使用 Cargo 安装 UPT

## 使用 rustup 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

## 安装 upt 命令行工具
cargo install upt

## 复制 upt 文件
sudo cp $HOME/.cargo/bin/upt /usr/local/bin
使用 Cargo 安装 UPT 工具
使用 Cargo 安装 UPT 工具

如果你不想使用 Cargo 安装,也可以直接在 Github 下载编译好的可执行文件。

使用 UPT 管理软件包

UPT 命令速查表

命令功能
sudo upt update更新软件源
sudo upt install package_name安装软件包
sudo upt upgrade package_name升级单个软件包
sudo upt upgrade升级所有软件包
sudo upt remove package_name卸载软件包
sudo upt search package_name搜索软件包
sudo upt list列出所有已安装的软件包
sudo upt info package_name显示软件包的详细信息
sudo upt clean清除缓存文件
sudo upt help显示帮助信息
使用 UPT 工具
使用 UPT 工具

软件源优先级

如果多个软件源都提供同一个软件包(如 apt、Snap、Flatpak 等),UPT 会根据你设置的优先级来选择。比如要优先使用 Snap,可以使用UPT_TOOL环境变量:

export UPT_TOOL='snap' 

以安装 VLC 为例:

upt install vlc # 不要使用 sudo
通过 UPT 工具安装 Snap 软件包
通过 UPT 工具安装 Snap 软件包

UPT 会提示输入密码,并自动选择安装 VLC 的 Snap 版本。


虽然安装和使用 UPT 包管理工具需要一些准备工作,但对于熟悉 Linux 的用户来说,应该不是什么难题。

需要注意的是:尽管 UPT 提供了统一的操作命令,但它仍然只是对底层包管理工具的前端封装,并没有统一不同系统中各软件包的名称。也就是说,你还是需要知道不同系统中相应软件包的名称。

比如安装 Python 开发工具包,在不同系统中的命令是这样的:

# 在 Alpine、Debian 和 Ubuntu 上
upt install python3-dev

# 在基于 RPM 的系统上:
upt install python3-devel

# 在 Arch Linux 上
upt install python

如果你使用的是 Ubuntu,也许还会对另一个类似工具 Nala 感兴趣。希望你喜欢这些有趣的命令行工具!

赞(1) 赞赏

评论 抢沙发

微信赞赏