为什么我需要在 Ubuntu 中使用命令提示符?

e10*_*100 2 command-line vmware-player ubuntu

我想尝试一些 Linux 应用程序,所以在 Windows 中安装了 Ubuntu 作为 VMware 虚拟机。

VMware 提示我安装 VMware 工具,并在 Ubuntu 桌面上放置一个虚拟 CD-rom,其中包含 rpm 和 tar.gz 存档。无法弄清楚如何对 rpm 文件做任何事情,所以我设法将 tar.gz 存档解压缩到桌面上的一个文件夹中,并在 Google 的帮助下,确定我需要打开一个终端窗口,cd进入适当的目录,并使用 sudo 执行 Perl 安装脚本。它工作得很好。

我知道可以通过 Applications > Add/Remove 或其他风格的包管理器轻松安装各种各样的应用程序。并且不可能在这里找到每个应用程序。

在 DOS 时代,我经常使用命令提示符,这就是我猜测 cd 命令的方式。我也明白这样的操作需要提升权限,因此需要 sudo 命令。

我的问题是为什么该操作根本需要使用命令提示符 - 为什么我不能双击安装脚本文件,然后在需要时提示提供额外的凭据?或者右键单击并“以 root 身份运行”,或者在 GUI 中进行其他一些操作?

请不要将此视为“为什么 Linux 不更像 Windows”的咆哮——我对任何答案都非常感兴趣。

gol*_*udo 6

简单的回答

因为无论是谁编写了您下载的软件包,一开始都没有制作如此方便的安装脚本文件。

更复杂的答案

Ubuntu 是围绕 Debian 风格 (.deb) 包设计的。在 Ubuntu 下为此类软件包找到一个方便的点击式软件包安装程序很简单。您的问题是您正在尝试安装属于内置包管理器的包。

命令行可能是 linux 用户的最低公分母。在编写包时,加入额外的脚本以确保它在所有 linux 发行版上“正确”安装是非常重要的,尤其是在定期开发新的分支和发行版的情况下。例如,在 Ubuntu 上完美运行的脚本可能会在 Fedora 或 Slackware 上崩溃和烧毁。因此,发行版特定的安装人员通常留给发行版经理自己,或者愿意做繁重工作的志愿者。

.tar.gz 包脚本通常只为您编译包并将其放入适当的 /bin 目录(或任何地方)。许多可以使用常见的“./configure && make && make install”程序安装,但不是全部。这需要阅读每个包的安装说明以确保正确安装。这种人为干预即使不是不可能,也会使过程自动化变得困难。

请注意,此安装过程可能会也可能不会对您做任何其他有用的事情。您很可能最终没有卸载程序,在您选择的包管理器中没有任何显示为“已安装”,甚至在您选择的窗口管理器中没有适当的桌面图标/应用程序条目/文件关联。这一切都取决于包本身。特定于发行版的软件包通常会尝试解决这些遗漏。

直到所有开源开发人员都可以就所有软件的标准安装过程达成一致之前,这可能是您将获得的最好的结果。要么坚持使用发行版支持的软件包,要么处理命令行。