6. Ubuntu 软件包管理工具

本文详细介绍了Ubuntu中的包管理工具dpkg和APT的常用命令。dpkg由Debian开发,是较为底层的包管理系统,APT则作为dpkg的前端,能够自动下载、配置和安装软件包,并解决依赖关系。文章列举了dpkg和APT的具体使用方法,包括安装、卸载、更新、清理及搜索等功能。

Ubuntu 软件包管理工具 dpkg, APT 的一些命令

Dpkg

dpkg 是由 Debian 开发的包管理系统,是一个比较底层的工具,它的最常见的前端是 APT

  • 常用的命令
    • dpkg -i debFileName - 安装一个 deb 的包
    • dpkg -I debFileName - 查看一个包的信息
    • dpkg -r packageName - 删除包(保留配置文件)
    • dpkg -P packageName - 彻底删除包(包括配置文件等)
    • dpkg -l [packageName] - 查看己安装包,常与 grep 搭配使用
    • dpkg -L packageName - 查看包所拥有的文件
  • 下载某个工具的源代码,例如 top
    1. dpkg -S $(which top) 或者 dpkg -S $(whereis top) - 查看文件所属的包
      procps: /usr/bin/top
    2. apt-get source -d procps - 获取这个包的源码,不解包,之后你需要自己解包
      dpkg-source -x foo_version-revision.dsc 或者
      apt-get source procps - 获取源码并解包

APT

在 Debian 类系统中作为 dpkg 的前端,可以自动下载,配置,安装软件包,还能解决包的依赖关系

APT 的软件源地址在 /etc/apt/sources.list
还可以在 /etc/apt/sources.list.d 目录中添加更多源

  • 一些参数
    • -h - 帮助
    • -q - 输出到日志,无提示
    • -qq - 什么都不输出,错误除外
    • -d - 不安装或解压归档文件
    • -s - 不实际安装,只模拟执行命令
    • -y - 所有的询问选是,不提示
    • -f - 当没有通过完整性测试时,仍然尝试继续执行
    • -m - 当有包归档无法找到时,仍然尝试继续执行
    • -u - 同时显示更新软件包的列表
    • -b - 获取源码包后编译
    • -V - 显示详细的版本号
    • -c=? - 读取指定的配置
    • -o=? - 设定任意指定的配置选项,例如 -o dir::cache=/tmp
  • 更新/升级
    • apt-get update - 更新软件源索引
    • apt-get upgrade - 升级所有软件包,并重新分析依赖关系并安装相关的包
    • apt-get dselect-upgrade - 根据 dselect(一个传统的前端包管理工具)的选择对软件包进行升级
    • apt-get dist-upgrade - 升级系统及所有软件包,慎用
  • 安装/卸载
    • apt-get install pkg - 安装软件包
    • apt-get build-dep pkg - 安装该包的所有依赖
    • apt-get remove pkg - 卸载软件包
    • apt-get purge pkg - 彻底卸载软件包(包括配置文件等)
    • apt-get remove --purge pkg - 和上面的命令等价,彻底卸载软件包(包括配置文件等)
    • apt-get autoremove - 清理因依赖关系而被安装,而后又不需要的包
  • 清理/维护
    • apt-get clean - 清除下载的包
    • apt-get autoclean - 只清除过时的包
    • apt-get check - 检查是否有不正确的依赖关系
  • 搜索/下载
    • apt-cache search pkg - 搜索包
    • apt-cache show pkg - 显示包的信息
    • apt-cache showpkg pkg - 显示包的信息
    • apt-cache depends pkg - 显示包所依赖的包
    • apt-cache rdepends pkg - 显示该包被哪项包依赖
    • apt-cache stats - 显示统计信息
    • apt-get download pkg - 下载软件包
    • apt-get source pkg - 下载源码包并解包
    • apt-get source -d pkg 只下载源码包
  • 彩蛋
    • apt-get moo
<think>好的,我现在需要帮助用户了解Ubuntu下的软件包管理工具,特别是apt、dnf和yum。首先,我得回忆一下相关引用内容。根据引用[2]和[4],Ubuntu主要使用apt作为包管理器,而dnf和yum更多用于Red Hat系的系统,比如Fedora或CentOS。用户可能混淆了不同Linux发行版的包管理工具。 接下来,我需要明确各个工具的区别。apt是Debian/Ubuntu的,处理.deb包;yum和dnf是RPM系的,用于Red Hat系列。引用[3]和[5]提到APT、YUM、DNF是不同发行版的工具,所以Ubuntu下不应该有dnf和yum,除非手动安装,但一般不推荐。 用户的问题可能源于听说其他包管理器,想知道Ubuntu是否支持。需要指出在Ubuntu中,应主要使用apt,并解释为什么不用dnf/yum。同时,可能需要提供apt的常用命令,如安装、更新、卸载等,如引用[5]中的示例。 另外,需要确认是否有特殊情况,比如某些软件源可能需要其他工具,但这种情况极少。最后,生成相关问题,帮助用户深入理解,比如如何添加软件源或处理依赖问题。</think>Ubuntu系统的软件包管理主要通过$apt$工具实现,以下是对相关工具的系统性说明: ### 一、Ubuntu原生工具:$apt$ 1. **功能定位** $apt$(Advanced Package Tool)是专为Debian/Ubuntu设计的包管理系统,用于管理.deb格式软件包,具备依赖解析、版本控制和自动化安装能力[^2][^4]。 2. **核心命令** ```bash sudo apt update # 更新软件源列表[^5] sudo apt upgrade # 升级已安装的软件包[^5] sudo apt install <包名> # 安装指定软件包[^5] sudo apt remove <包名> # 卸载软件包(保留配置文件) sudo apt autoremove # 清理无用依赖[^5] ``` 3. **优势特性** - 整合了早期$apt-get$、$apt-cache$等工具的功能 - 提供彩色终端输出和安装进度条 - 默认启用重要安全更新推送 ### 二、其他工具对比 1. **$dnf$与$yum$** - 隶属RPM系包管理系统,主要用于Fedora/CentOS等Red Hat系发行版 - Ubuntu原生系统不包含这些工具,需通过复杂手动安装且易引发兼容性问题 - 典型差异对比: $$ \begin{array}{|l|c|c|} \hline \text{功能} & apt(.deb) & dnf/yum(.rpm) \\ \hline \text{依赖文件} & control & spec \\ \text{包签名} & gpg & pgp \\ \text{事务回滚} & 不支持 & 支持 \\ \hline \end{array} $$ 2. **特殊情况处理** 若需管理.rpm包,可通过$alien$工具转换格式后使用$apt$安装,但存在稳定性风险: ```bash sudo apt install alien alien -i package.rpm ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值