据我了解,apt 使用 dpkg,是否有一些操作可以用 dpkg 来做,而 apt 做不到?作为 Ubuntu 服务器的新用户,我需要学习有关 dpkg 的任何知识吗?
答案1
apt
并dpkg
执行不同但正交的任务。 dpkg
跟踪当前安装了哪些软件包,并可以安装或删除它们。跟踪 apt
可用的软件包并可以执行诸如下载软件包(及其依赖项)并将它们交给dpkg
安装之类的操作,或者检查是否有已安装的软件包的更新版本,下载它们并将它们交给dpkg
安装。
换句话说,dpkg
处理低级包管理,并apt
通过添加包含您可能想要下载和安装的包的档案概念来构建它。
答案2
简而言之,dpkg 能做的事情比 apt-* 多得多。
Ubuntu 和其他 Debian 衍生产品依赖于 *.deb 包基础设施。
软件包
软件包是处理 *.deb 文件中捆绑应用程序的打包任务的应用程序。您可以使用它执行 apt 可以执行的任何操作,但级别较低。您可以使用它搜索、获取信息、查看文件、提取、安装、删除、配置等。
取消选择
取消选择是 dpkg 的 curses(终端 GUI)前端。
易于
易于是高级打包工具。有了它,您可以自动执行许多步骤,而这些步骤需要手动执行才能使用 dpkg 获得结果。Apt 可以与存储库中找到的 *.deb 包配合使用,以至于您甚至可能不知道这些文件在那里。
资质
资质是 apt-* 的 curses(终端 GUI)前端。
突触
突触是一个 gtk+(桌面 GUI)前端 apt-*。
值得注意的用法软件包:
dpkg -c
- 显示 deb 包的内容。
dpkg -i
- 安装 deb 包。
dpkg -s
- 显示有关已安装包的信息。
dpkg --reconfigure
- 运行您在安装软件包时看到的配置对话框。
值得注意的用法apt-get:
apt-get install
- 从您配置的存储库安装包。
apt-get remove
- 卸载包。
apt-get update
- 更新您的存储库中的包缓存。
apt-get upgrade
- 如果适用,升级您已安装的软件包。
apt-get dist-upgrade
- 用于迁移到最新的发行版本。
apt-get autoremove
- 卸载未明确安装且不需要的软件包。
值得注意的用法apt-缓存:
apt-cache search
- 搜索您的存储库中是否有指定的包。
apt-cache stats
- 提供缓存中的存储库的统计信息。
答案3
据我所知,apt
不能用于从 .deb 文件安装包;您必须使用dpkg -i
它。
否则,不用担心。如果您知道如何使用apt
,请务必使用它。如果您遇到的限制apt
,至少您已经知道要研究dpkg
。:-)