.deb
这个问题非常基本。但我没有在这里找到答案。通过以下方式安装文件和安装包有什么区别sudo apt-get install
当我要下载例如 ;OSMC这里,它们都有可供选择的选项。选择其中一个有什么好处吗?技术上有什么区别?
答案1
文件.deb
是包裹包含应用程序所需的所有文件,以及一些用于安装/删除等的实用程序文件。
这些是通过dpkg
“Debian 软件包管理器”安装的。
apt-get
是前端dpkg
(原样,,apt
... aptitute
)。简单地说apt
下载来自.deb
已知的存储库源并dpkg
在后台调用以对其执行操作(即安装、删除、清除等)。
但这还不是全部!apt
家人还为你做了很多额外的事情。
- 它确保存储库缓存是最新的(
apt update
),因此它将始终安装适用于您的操作系统的“最新”版本。 - 它会自动为你解决依赖关系,因此你不必在网上搜索要
.deb
安装的正确文件(以及它们的正确的版本.deb
)来满足您想要安装的依赖关系。 - 相同的依赖解析可以帮助你消除一个包。
apt
建议您安装哪些其他包作为依赖项(或者您可以指示它自动删除它们)。
通常,您将希望使用apt
,因为它可以保持(或至少会尽力)您的系统清洁和正常运行。在某些情况下,“.deb
手动下载文件并通过 安装”dpkg
是更好的选择。
显然,如果软件包维护者没有在官方存储库或任何 PPA 上发布它,也没有提供存储库的兴趣。在这种情况下仅有的选项是下载 + dpkg
。
或者,也许你以某种非标准方式定制了你的系统,所以你需要手动安装和管理包,因为它apt
会“混乱”并且无法解决冲突/依赖关系/等等...
答案2
deb 文件是一种用于打包 Linux 程序的格式 - 特定于基于 Debian 的发行版(就像 Windows 中的“exe”文件一样)。您可以将其下载到您的计算机上并进行安装。
安装可以
- 手动(您提到的选项之一),当您下载 deb 然后使用专门的程序进行安装时,或者
- 自动(deb 由程序下载并安装)。
在可以管理安装的程序(GUI 或 CLI)中,一些
可以同时做这两件事(GUI:Ubuntu 软件中心,发现;CLI:
apt
,apt-get
;只能从本地 deb 文件安装(GUI:Gdebi、Qapt;CLI
dpkg
:,是这里提到的所有其他工具的基础- 作为在另一个答案中说(英文):只能自动下载和安装(仅是 GUI:Synaptic、Apper、Muon)。
因此,apt
或者apt-get
(像它们的 GUI 对应项 Ubuntu 软件中心和 Discover)可以在安装之前下载 deb 包如果具体软件源(或“存储库”)是已经注册到您的系统或者如果你自己添加 或者他们可以安装程序来自 deb 文件您已经拥有了。
选择其中一个有什么好处吗?技术上有什么区别?
主要的区别不在于两种情况下的安装方式,而在于起源deb 文件的版本。就像您可以从互联网上受信任或不太受信任的来源下载文件一样,存储库也有不同的类别。主要区别在于官方的系统源(Ubuntu 提供的)和第三方。
从本地文件安装以下程序是没有意义的可在存储库中使用除非你没有网络连接,或者你想安装程序版本这不在存储库中。
通常,添加新的 repo 或从本地文件安装的主要原因是 repo 中缺少某个程序或某个程序的某个版本。
记住:在 Ubuntu 上,sudo apt install
命令从 deb 安装反正。区别在于您的计算机上是否已经有 deb,或者安装程序是否会为您下载。在后一种情况下,deb 文件是下载在/var/cache/apt/archives
。
Deb 文件不仅可以在互联网上找到,在某些情况下,它们也可以从来源创建或从其他格式转换而来(即来自rpm
包- 特定于基于 RedHat/Fedora 的发行版)。