包管理器太多太复杂?试试用 APP 管理你的包
包管理器太多太复杂?试试用 APP 管理你的包
管理 Linux 发行版中的软件包根据发行版的不同而有所不同。所有基于 Debian 的发行版都使用 APT 作为包管理工具。而 Fedora 使用 DNF,openSUSE 则依赖 Zypper 包管理器。
最近,跨发行版的包管理器(如 Snap、Flatpak、AppImage 等)使得场景更加碎片化。
更多的包管理器意味着需要熟悉更多的命令。
如果你在Linux 领域中频繁更换发行版,有一个新应用推荐给你,它叫做 app 😬
App 是一个用 Go 编写的跨平台包管理助手。它实际上是包管理器的封装,为所有支持的发行版提供相同的命令。这意味着你不需要记住每个发行版的包管理命令。
不仅如此,app 会将已安装应用记录在其配置文件中。因此,如果你更换了发行版,只需使用之前的配置文件即可在新发行版中安装相同的软件包。
在我看来,如果你在管理关键基础设施,应该使用官方包管理器,而不是使用该软件。如果你容易感到迷惑或不喜欢解决神秘包管理器问题,不要轻易尝试此类工具。
安装 App 包管理助手
App 提供了一个安装脚本,你可以在任何 Linux 发行版上安装它。打开终端并运行以下命令:
1 |
|
安装 App 程序后,使用以下命令更新到最新版本:
1 |
|
App 背后的工作原理
App 有自己简化的语法。由于该工具在所有发行版中使用相同的语法,你只需记住 App 工具的语法。
当你使用 app
命令安装应用时,它会记录操作。无论是安装还是删除软件包,软件包信息都会存储在
~/.config/app
目录中。
当你想迁移到另一个发行版时,你可以复制该目录并将其粘贴到新发行版的
~/.config
文件夹中以开始安装软件包。我们将在下一节中详细介绍该过程。
为了让 App 正常工作,你需要使用 app 命令安装软件包而不是混杂其他包管理器。只有这样,软件包信息才能在新系统上存储并恢复。
基本的 App 命令
让我们看看使用此工具时需要记住的一些重要命令。
启用/禁用必要的包管理器
默认情况下,Flatpak、Snap、AppImage、Yay、Pip、Go 和 Cargo 等包管理器是禁用的。
你可以使用以下通用语法启用它们:
1 |
|
例如,启用 Flatpak 支持:
1 |
|
要禁用已启用的包管理器,使用命令:
1 |
|
搜索软件包
要使用 App 工具搜索软件包,执行以下操作:
1 |
|
要在其他包管理器(如 Flathub)中搜索软件包,请指定包管理器:
1 |
|
安装软件包
要在系统上安装软件包,运行命令:
1 |
|
从其他包管理器安装应用
例如,要使用 Flatpak 安装应用,运行:
1 |
|
安装 AppImage
首先,进入下载了 AppImage 文件的目录。然后,使用以下命令安装 AppImage 文件:
1 |
|
列出已安装的软件包
你可以使用以下命令列出通过 App 从官方存储库安装的软件包:
1 |
|
删除软件包
要删除软件包,可以使用:
1 |
|
对于其他包管理器,使用:
1 |
|
升级软件包
要升级系统上安装的所有软件包,使用以下命令:
1 |
|
同样,App 也允许单个包管理器升级。为此,使用语法:
1 |
|
在 Ubuntu 中添加 PPA 源
在基于 Ubuntu 的系统中,如果你使用 App 安装软件包,使用以下语法添加 PPA 源:
1 |
|
在另一个发行版中恢复软件包
要迁移到新发行版或复制当前发行版,只需按照以下步骤操作。
你需要先设置 Flatpak、Snap 等额外的包管理器,然后再开始恢复。
首先,在新系统上安装 App 工具。然后复制 ~/.config/app
目录到新系统。接着,打开终端并运行:
1 |
|
就这样,你的软件包将会安装在新系统上。
你可以使用以下命令单独恢复各个包管理器:
1 |
|
结论
如果你经常更换发行版,那么这是一个非常有用的工具。你可以轻松得到自己经常安装的软件包列表,并能在新系统上更轻松地安装这些软件包。
市面上也有一些类似的工具,比如 Nala,它们也试图提供类似的功能。