Linux dpkg 和 apt-get

一、dpkg 命令

dpkg 是 Debian package 的缩写,和 rpm 一样,也是一个软件安装包管理器,Debian 发行版系列的都是使用这个命令来安装管理软件的,Ubuntu、Deepin 也是其中的一员。

  • 1. .deb 文件名详解,例如:baidunetdisk_2.0.1-2+deepin_amd64.deb
1
2
3
4
软件包名称(Package Name):  baidunetdisk
版本(Version Number): 2.0.1
修订号(Build Number): 2
平台(Architecture): 64
  • 2. dpkg 常用参数汇总如下:

安装

1
2
3
4
dpkg -i typora.deb    # 安装 typora.deb 包
dpkg --unpack typora.deb # 解开 typora.deb 包的内容
dpkg --configure typora.deb # 配置 typora.deb 包
dpkg -c typora.deb # 列出 typora.deb 包的内容

删除

1
2
3
4
# --remove  删除 python
dpkg -r python
# --purge 删除 python(不保留配置文件)
dpkg -P python

查询

1
2
3
4
5
6
7
8
9
10
11
12
# --listfiles  列出与 python 包关联的文件
dpkg -L python
# --list 显示 python 包的版本
dpkg -l python
# --status 查找 python 包的详细信息
dpkg -s python
# --search 搜索所属的包内容
dpkg -S keyword
# --print-avail 显示包的具体信息
dpkg -p package-name
# 列出当前已安装的包
dpkg -l

系统安装软件一般在 /usr/share,可执行的文件在 /usr/bin,配置文件可能安装到了 /etc 下等:

1
2
3
4
文档一般在   /usr/share
可执行文件 /usr/bin
配置文件 /etc
lib 文件 /usr/lib
  • 3. dpkg 配置文件信息如下:
1
2
3
4
5
/etc/dpkg/dpkg.cfg         dpkg 的配置文件
/var/log/dpkg.log dpkg 的日志文件
/var/lib/dpkg/available 系统所有安装过的软件包信息
/var/lib/dpkg/status 系统现在所有安装软件的状态信息
/var/lib/dpkg/info 安装软件包控制目录的控制信息文件

二、apt 命令

和 yum 类似,apt 是基于 deb 包管理,能够从指定的服务器自动下载 deb 包并且安装,自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

注意: 现代 Debian/Ubuntu 系统推荐使用 apt 代替 apt-get,apt 整合了 apt-get 和 apt-cache 的常用功能,输出更友好。例如 apt install、apt update、apt search 等。

  • 1. apt-get 命令汇总如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 更新
sudo apt-get update # 更新源
sudo apt-get dist-upgrade # 升级系统到相应的发行版(根据 source.list 的配置)
sudo apt-get upgrade # 更新已安装的包
# 安装
sudo apt-get install python # 安装包
sudo apt-get install package --reinstall # 重新安装包
sudo apt-get -f install # 修复安装
sudo apt-get build-dep package # 安装相关的编译环境
# 删除
sudo apt-get remove package # 删除包
sudo apt-get --purge remove package # 删除包,包括配置文件等
# 其他
apt-get check # 检查是否有损坏的依赖
sudo apt-get source package # 下载该包的源代码
apt-get autoclean # 删除你已经删掉的软件的 deb 包
apt-get clean # 删除所有的 deb 包,包括已经安装的软件包
  • 2. apt-cache 命令汇总如下:
1
2
3
4
5
sudo apt-cache search package  # 搜索软件包
sudo apt-cache show package # 获取包的相关信息,如说明、大小、版本等
sudo apt-cache showpkg packagename # 显示软件包的大致信息
sudo apt-cache depends package # 了解该包依赖哪些包
sudo apt-cache rdepends package # 查看该包被哪些包依赖
  • 3. apt 配置文件
1
2
3
4
/var/lib/dpkg/available     软件包的描述信息, 其中包括当前系统中已安装的和未安装的软件包
/etc/apt/sources.list 记录软件源的地址,修改此文件可配置软件源
/var/cache/apt/archives 已经下载到的软件包都放在这里( apt-get install 安装软件时,软件包临时存放路径)
/var/lib/apt/lists 使用 apt-get update 命令会从/etc/apt/sources.list中下载软件列表,并保存到该目录
  • 4. apt-get update 执行过程
  • 5. apt-get install 执行过程
  • 6. 修改软件源 /etc/apt/sources.list

Deepin 桌面版可以直接通过 GUI 设置界面切换镜像源,然后 sudo apt-get update 更新源即可。通过终端修改源如下:

1)备份原先的 source.list 文件,方便回滚

1
2
3
cd /etc/apt
mkdir backup
cp sources.list backup/

2)修改 sources.list 文件,内容如下:

sources.list 配置

3)sudo apt-get update 更新源即可

apt-get 更新源