一、Ubuntu 系统软件包管理概览

在 Ubuntu 中,常见的软件包管理主要包括两层:

  • apt:更常用的高级包管理工具,负责安装、更新和依赖处理。
  • dpkg:底层包管理工具,负责直接管理 .deb 软件包。

二、配置 APT 源

2.1 选择镜像源

以 Ubuntu 18.04(bionic)为例,可以访问阿里云 Ubuntu 镜像站,根据自己的系统版本选择匹配的源配置。

image-20231219143540300

一个常见的源配置如下:

deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

2.2 修改 /etc/apt/sources.list

可以使用 vim 编辑源配置文件:

$ vim /etc/apt/sources.list

原始笔记中的操作建议是:进入文件后按 gg 回到首行,再按 dG 删除原有内容,然后把新镜像源配置粘贴进去。

2.3 更新本地缓存

修改完源之后,执行下面的命令生成本地 apt 缓存:

$ apt update

三、使用 apt 安装软件

安装软件并测试:

$ apt install -y cmatrix lolcat

这类命令的特点是:

  • 可以直接从配置好的源下载软件包。
  • 会自动解决依赖关系。
  • 更适合日常系统维护和批量安装。

四、使用 dpkg 管理 deb 软件包

从安装、查看和删除三个角度看,dpkg 常用命令如下:

dpkg 命令选项 命令说明
dpkg -l 显示已安装的软件包列表
dpkg -i 包名 安装指定软件包
dpkg -L 包名 查看与软件包关联的文件
dpkg -r 包名 删除软件包

4.1 安装

安装指定的 .deb 软件包:

$ dpkg -i File.deb

4.2 查看

列出当前已经安装的软件列表:

$ dpkg -l

查看软件包内容:

$ dpkg -L File.deb

4.3 删除

卸载指定的软件包:

$ dpkg -r File.deb

五、Debian 系列 VS 红帽系列

如果你需要在 Ubuntu 和 CentOS 之间切换,下面这张表很适合做速查:

功能 Debian / Ubuntu 红帽系列(CentOS、麒麟等)
检查是否安装 dpkg -l rpm -qa
安装 dpkg -i rpm -ivh
检查软件包内容 dpkg -L rpm -ql
删除 dpkg -r rpm -e

六、小结

在 Ubuntu 中,建议优先使用 apt 进行日常安装和更新;当你已经拿到一个具体的 .deb 文件时,再使用 dpkg 做底层安装和检查。理解 aptdpkg 的分工后,处理 Ubuntu 软件包问题会更顺手。