我一直在逐页阅读有关使用 YUM 软件包安装程序的好处以及 NOBODY 应该如何从源文件构建安装(这对我来说再次没有意义)但是存储库和源构建器总是以 Tarball 格式打包文件,留下一个大量工作(通常最终会出错)交给个人,而不是为最终用户格式化 SRPM。
世界疯了吗?我觉得我正在服用疯狂的药丸!
我一直在逐页阅读有关使用 YUM 软件包安装程序的好处以及 NOBODY 应该如何从源文件构建安装(这对我来说再次没有意义)但是存储库和源构建器总是以 Tarball 格式打包文件,留下一个大量工作(通常最终会出错)交给个人,而不是为最终用户格式化 SRPM。
世界疯了吗?我觉得我正在服用疯狂的药丸!
嗯,首先,生活不仅仅是 RPM 和 YUM。例如,一个 SRPM 对 Debian 来说(在某种程度上)是无用的。
至于你为什么要使用包存储库而不是自己构建所有东西,我不了解你,但我宁愿只是运行(我使用的是 Ubuntu,所以我有 apt-get 而不是 yum):
# apt-get install firefox
与试图找出所有依赖项以及所有依赖项依赖项相比,请确保我拥有所有内容的正确版本,下载/构建/安装任何我没有的(或过时的:如果更新现有的依赖项,确保较新的版本不会破坏我拥有的任何现有软件,并确保我最终不会得到同一事物的 15 个不同版本),然后才下载/配置/构建/安装 firefox。
然后意识到我还想要 Open Office 或 MySQL 并重新开始!
也就是说,我从源代码安装了一些软件包的最新版本。例如,我在MythTV上运行我的媒体中心,我总是喜欢从 Subversion 构建它的最新版本。但即便如此,使用包管理器,这也很简单:
# apt-get build-dep mythtv
> cd ~/src/mythtv/
> svn co <svn repo of mythtv>
> configure && (etc)
也就是说,包管理软件已经知道 MythTV 的所有依赖项,它可以自动下载和安装它们。为什么要花几个小时手动跟踪它?
最后,在我看来,你可能更喜欢像 Gentoo 这样的发行版……这当然是 Linux 的好处。如果你不喜欢 Fedora/RedHat 发行版中的运行方式,你可以选择一个不同的。
使用打包基础设施(如 yum)有几个原因:
由于自动依赖安装,创建“安装”要容易得多。从简单
百胜安装等等使用 mock/--installroot 或 live CD 等创建 chroot。
管理这些安装。从显而易见的
百胜更新其他更难执行的操作,例如:
百胜——安全更新,
yum --bz=1234 update-minimal,
yum --disablerepo=测试发行版同步.
审核这些安装。这里明显的例子是
百胜历史(在普通的 RHEL-5 atm 中不可用。)和
百胜验证.
...但是速度不是一个因素,例如 Fedora rawhide 的移动速度与 gentoo 一样快。
RHEL-5 没有那么快移动,因为它已经使用了 3 年并且不应该损坏……而不是因为它是使用 yum/rpms 管理的。有第三方提供商,如 iuscommunity,为各种软件包发布可共同安装的较新版本。或者,如果您需要创建自己的。
或者您可以在 Fedora rawhide 或 gentoo 上运行生产服务器,两者都将很快拥有最新的软件包……但我不推荐该选项。
除其他外,tarball 是系统独立的,YUM 似乎是基于 RPM 的,因此大多数情况下只能由 Linux 使用(加上 Netware 和 AIX,正如我所说,仅限 Linux :))