我完全理解我需要像 yum 或 apt 这样的包管理系统的目的:
要创建一个稳定的系统。它是完美的,或者是一个服务器,然而,在台式机上,我认为 Unix 初学者更容易安装完整的设置,如 windows 设置(著名的安装程序)。
优点:
- 您可以轻松安装同一程序的多个版本
- 没有依赖问题,因为软件包中有它需要的一切
- 简单删除:只需删除文件夹
我看到的唯一问题是硬盘空间,但今天这个可以忽略不计。
一个简单的例子:
Windows 上的 XAMPP 安装固定的apache、php、mysql、perl 和其他工具的版本位于单个文件夹中。您可以移动、删除它,然后在其旁边安装一个 lder 版本。
那么为什么没有标准的 Linux 安装格式,让我可以下载、运行,并且它只包含我需要的所有依赖项,而且它们将安装在一个文件夹中?
请注意,我并没有忽略包管理,我希望同时拥有这两种选择,但我认为这种单一设置方法肯定存在严重问题,但我看不到它。
答案1
因为包管理是好多了。
没有火狐浏览器?sudo apt-get install firefox
那么文本编辑器怎么样?apt-get search text editor
新版本的...我不知道,什么?sudo apt-get update something
它是应用程序安装的一站式商店,并且肯定比安装程序简单,而且它将要自动安装依赖项。
如果您确实想要一个 setup.exe 样式的安装程序,您可以使用仅调用 apt-get 的脚本?:P
答案2
你真的会通过删除文件夹来删除 Windows 上的软件吗?你的注册表现在看起来一定像一只臃肿的蟾蜍 ;-) 这些卸载程序的存在是有原因的!使用包管理器,这也比在 Windows 上容易得多。
现在,如果我想拥有同一款软件的两个版本,我总是可以选择手动安装(例如自己构建)。使用 Linux 我可以选择,使用 Windows 则不能。
答案3
也许你应该看看 Linux Mint。简而言之,它不是 *nix 的方式。捆绑一切很容易导致停滞和对过时版本的库的依赖,更不用说 WinSxS 文件夹的大小了(你认为你有多少份 VC2003/5/8 运行时?)。这当然是可能的按照您建议的方式去做(事实上,您自己安装的很多软件包都会在 /usr/local 中这样做),但系统软件包管理器却不会。
答案4
你错了。完全错了。原因如下:
您可以轻松安装同一程序的多个版本
这在很大程度上取决于程序。只需用 IE 试试。此外:你为什么要这么做?
没有依赖问题,因为软件包中有它需要的一切
Linux 软件包不存在依赖问题。软件包知道自己需要什么,软件包管理器知道如何获取任何依赖项。而在 Windows 上,软件包永远不会是自包含的,因为任何类型的程序都严重依赖于系统库。
简单删除:只需删除文件夹
这在 Windows 和 Linux 上都是很可怕的胡说八道,有多难aptitude purge package
?我想说,没什么难的。
有一点你忘了:更新怎么办?在 Linux 上,所有内容都有一个来源,并且有一个系统更新管理器,它了解你所有的软件包。在 Windows 上,有多个“让我保持最新”任务栏应用程序争夺资源,而且还有许许多多的程序需要你自行更新。