【Ubuntu】软件包管理工具

Ubuntu常用的软件包管理工具主要是apt,dpkg。
apt:这是Ubuntu中最常用的软件包管理工具,它是Advanced Packaging Tool的缩写。apt可以自动处理软件包之间的依赖关系,并提供安装、更新、升级和删除软件包的功能。

dpkg:dpkg是Debian Package的缩写,是Ubuntu底层的软件包管理工具。它主要用于安装、删除和管理.deb软件包,但无法自动解决依赖关系,需要用户手动处理。

apt

在 Ubuntu 中,apt 替代了早期版本的 apt-get 和其他相关工具,成为了一个更加统一和简化的前端。虽然 apt-get 仍然可用,并且在许多系统上仍然被广泛使用,但 apt 命令旨在提供更友好和更直观的用户体验。

以下是 apt 的一些常用命令:
sudo apt update:更新软件包列表,以便您可以安装最新版本的软件包及其依赖项,如果计算机没有连接到互联网,这个命令将无法成功执行。
sudo apt install package_name:安装名为 package_name 的软件包及其依赖项。您可以将 package_name 替换为您要安装的实际软件包的名称。
sudo apt remove package_name:删除名为 package_name 的软件包,但保留其配置文件。如果您还希望删除配置文件,可以使用 sudo apt purge package_name。
sudo apt upgrade:升级所有已安装的软件包到最新版本,同时解决依赖关系。
sudo apt autoremove:删除不再需要的软件包和依赖项,通常是在您手动删除了某些软件包后使用。

这些命令只是 apt 提供的功能的一部分。apt 还具有其他命令和选项,可以用于更复杂的软件包管理任务。您可以通过在终端中输入 apt --help 或查看 apt 的手册页(通过输入 man apt)来获取更多信息。
请注意,在使用 apt 命令时,通常需要具有管理员权限(通过使用 sudo 命令)。这是因为软件包管理涉及到系统级别的更改,需要相应的权限才能执行。

dpkg

以下是 dpkg 的一些基本用法:
安装软件包:

sudo dpkg -i package_name.deb
其中 package_name.deb 是你要安装的 .deb 文件的名称。
  1. 删除软件包:
sudo dpkg -r package_name

这将会删除名为 package_name 的软件包,但不会删除其配置文件。如果你想连同配置文件一起删除,可以使用:

sudo dpkg --purge package_name

或者简写为:

sudo dpkg -P package_name

列出已安装的软件包:

dpkg -l
这会显示系统上所有已安装的软件包的列表。
  1. 查看软件包的详细信息:
dpkg -s package_name
这将显示名为 package_name 的软件包的详细信息,包括其版本、安装状态、依赖关系等。
  1. 修复损坏的软件包:
    如果某个软件包安装过程中出现问题,你可以尝试使用以下命令来修复它:
sudo dpkg --configure -a

或者,如果只是想修复特定的软件包:

sudo dpkg --configure package_name

处理未解决的依赖关系:
当你尝试安装一个 .deb 文件并且遇到依赖问题时,dpkg 本身不会解决这些依赖关系。在这种情况下,通常推荐使用 apt-get 或 apt(它们是更高级的软件包管理工具)来安装软件包,因为它们会自动处理依赖关系。例如:

sudo apt install ./package_name.deb

这条命令会尝试安装 package_name.deb 并自动解决其依赖关系。
注意:直接使用 dpkg 安装 .deb 文件可能不会解决所有的依赖关系,因此有时在安装后需要运行 sudo apt-get install -f 来修复任何未解决的依赖关系。然而,在实践中,直接使用 apt 或 apt-get 来安装软件包通常是更好的选择,因为它们会处理这些依赖关系。

apt 支持.deb软件包吗

apt支持.deb软件包。apt是一个命令行实用程序,被设计用于处理交互式的软件包管理任务。尽管apt主要是用于从远程软件源安装和管理软件包,但它也支持安装本地的.deb软件包。当使用apt安装本地.deb软件包时,需要为apt指定.deb软件包的相对路径或绝对路径。此外,与dpkg不同,apt会自动处理软件包之间的依赖关系。

查看所有已安装的软件包

要查看Ubuntu中所有已安装的软件包,你可以使用dpkg命令的-l选项,它会列出系统上安装的所有软件包。这里是如何做的:

dpkg -l

这个命令会输出一个列表,其中包含每个软件包的名称、版本号、安装状态(例如ii表示已安装)以及简短的描述。
如果你想要更详细的输出,或者想要以易于阅读的格式查看这些信息,你可以结合使用grep和less(或more)命令来过滤和分页显示结果:

dpkg -l | grep -v '^un' | less

这里的grep -v '^un’会过滤掉那些未安装的软件包(它们的状态行以un开头),然后less命令允许你分页浏览结果。

另外,虽然apt本身没有直接列出所有已安装软件包的命令,但你可以使用apt list命令配合–installed选项来达到类似的效果:

apt list --installed

这个命令会列出所有已安装的软件包及其版本号。不过请注意,与dpkg -l相比,apt list --installed的输出格式略有不同,并且它可能还包含一些额外的信息,如自动安装的软件包等。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值