1

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

 1 month ago
source link: https://www.sysgeek.cn/upt-universal-package-manager-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

发布日期:2024-03-14 分类:Linux 阅读(27) 评论(0)
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 感兴趣。希望你喜欢这些有趣的命令行工具!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK