apt-get 与 Wget

Jar*_*man 1 apt wget

所以我用 wget 来安装 winetricks 而不是 apt-get。我注意到当您通过 apt-get 安装东西时,您只需在终端中输入名称(即 winetricks),它就会运行它,与破折号相同。当我通过 wget 安装时,终端告诉我

目前尚未安装 winetricks。您可以通过键入:sudo apt-get install winetricks 来安装它。

当一个程序从 apt-get 注册到操作系统时,你怎么称呼它,这样你就可以从终端/破折号轻松打开它?你如何做到这样才能打开其他程序(比如我从 wget 命令安装的 winetricks)?

Oli*_*Oli 7

当您执行以下操作时:

wget -qO- http://example.com/path/to/script | sh
Run Code Online (Sandbox Code Playgroud)

你只是在运行一个远程脚本。这可以安装一些东西或者只是运行一些东西。它几乎可以做任何事情,因为它是一个脚本,而脚本正是 Ubuntu 的构建基础。

当您使用 apt-get 时:

sudo apt-get install winetricks
Run Code Online (Sandbox Code Playgroud)

您正在为所有用户将其安装到 /usr/bin 中。您正在安装的软件包现在来自 Ubuntu 存储库,这往往意味着有人在照看它并监视正在进入其中的代码。大多数人会认为比在互联网上运行随机脚本要安全得多。


编辑:在您的情况下,您只是在下载一个脚本 - 您并没有像我建议的那样内联运行它。我所说的仍然适用——你只是直接从制作它的人那里下载它,但你没有在系统范围内安装它。

如果你把它放在 ~/bin/ (如果它不存在就创建它)你的用户将能够从任何路径调用它,否则你需要在运行它时预先加上路径,例如 ~/Downloads/winetricks ...


简单回答一下这个问题:

当一个程序从 apt-get 注册到操作系统时,你怎么称呼它,这样你就可以从终端/破折号轻松打开它?

  • 安装包描述了这一点。
  • 有些脚本可以下载和运行(在一个动作中,就像我的第一个例子一样),这也算作安装,但它不是托管包安装。
  • 如果您只是使用 wget 下载脚本,我必须将其称为“下载”。