我正在尝试熟悉 Linux。
我目前遇到的一件事是管理包。
如果我想要最新版本,本机 Linux 包管理器需要繁琐的工作。
(查找并添加 PPA 或存储库、更新,...)
我尝试过 Linuxbrew,但它是容易出错与 macOS 上的 Homebrew 不同。
您如何管理您的包裹,特别是如果您想要的话最新?
我正在运行 Kubuntu 和 openSUSE Tumbleweed,以便从 macOS 迁移到 Linux。
PPA 的情况您满意吗?或者 Linuxbrew 适合你吗?或者 ...
你们如何在 Linux 上管理软件包?难道就没有更好的选择了吗?或者 ...
任何意见、意见、建议、您的经验……欢迎!
答案1
许多 Linux(和 BSD)版本都有自己的内置包管理器,不需要您接触源文件或使用 PPA 文件。
例如,Linux Mint 有一个“软件管理器”,其中有数以万计的应用程序,只需单击几下即可安装。
我已经在一些程序中使用了 PPA,但我也可能使用软件管理器。
我不使用Ubuntu或Kubuntu,但我相信有“软件中心”用于安装应用程序。也不应该有必要触及 PPA。
为了使 Linux Mint 保持最新状态,桌面面板上有一个“更新管理器”,它会告诉您何时需要更新。我猜 Kubuntu 也会有类似的东西。
编辑:如果您想要某个软件应用程序发布之日的“前沿”或“最新版本”,您可能需要遵循 PPA,但情况并非总是如此。在大多数情况下,使用包管理器安装的测试版本将通过包管理系统进行更新。通常很少需要在发布当天就拥有最新版本 - 至少对我来说:]
例如,Firefox(在 Linux Mint 上)通过软件管理器进行更新,并且更新非常紧密地遵循主分支。
答案2
如果我想要最新的版本(或者如果没有可用的包),我自己编译源代码。如果你想要的话,除了编译之外别无选择最新的版本——与当前存储库相比,所有软件包都有一些滞后,并且有些软件仅在 github 等上,并且尚未将其放入软件包中。
我在 下安装编译的包/usr/local
,并使用 管理它们stow
。
请注意,您只想对少数几个您确实需要的软件执行此操作,真的需要它,因为当前版本提供了打包版本中尚未提供的功能。否则,只需使用我的发行版提供的软件包。
如果您只是因为它“很酷”而想要最新的软件包,而您实际上并不需要它:请不要打扰。
答案3
警告:我真的不是这方面的专家,也从未真正使用过 Arch Linux
确实,Linux 比 macOS 拥有更多的包管理器(但这很有价值!),因此更难找到一个拥有与自制软件一样多的软件。 (顺便说一句,macOS 也有多种的不同的包裹经理人实际上)。
我认为架构Linux如果您想要的是几乎所有内容的最新软件包,这可能是一个不错的选择。您可能会特别发现它的用处尿素尿率(Arch User Repository)系统(类似于基于 Ubuntu 的发行版上的 PPA)。但很难说 (Arch Linux) AUR 社区比 (Ubuntu) PPA 社区更大还是更小。
折断,弗莱帕克和应用图像包裹也是你会遇到的东西。这三个版本都适用于大多数 Linux 发行版,往往更安全,但比本机发行版软件包占用更多 RAM 和磁盘空间。 (如果我对这种情况总是错误的,请纠正我!)。
警告:尽管较新的软件包意味着您可以访问最新的错误修复和最新的功能。这通常也意味着您可以访问最新的安全(和其他)错误。稳定/旧软件的优点是在您使用它之前有更多的人尝试和测试过它。并且您的包管理器仅在发现安全漏洞并且新包已经过一定程度的测试时才更新包。
就我个人而言,我懒得尝试不同的系统,也懒得去冒险处理前沿软件包可能出现的问题,所以我坚持使用 Ubuntu,因为它对我来说已经足够好了。我确实使用多个 PPA 来查找丢失的软件(非常非常少的情况也用于获取更新的软件)。我还使用了几个 flatpak、snap 和 appimage 软件包 - 几乎完全是因为缺少软件而不是更新的软件。