[TOC]


0x01 dpkg 命令快速入门

描述:dpkg是软件包管理基础工具“Debian Packager ”的简写,为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除,dpkg命令与rpm有异曲同工之妙;
使用方法:

1
2
3
dpkg --help
dpkg –licence #显示dpkg的Licence
dpkg –version #显示dpkg的版本号

使用案例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#示例1.安装/删除/更新/读取软件
dpkg -i <.deb file name> #安装指定deb软件包
dpkg -R /usr/local/src #安装一个目录下面所有的软件包
dpkg -r avg71flm #删除软件包(保留其配置信息)
dpkg -P avg71flm # 删除一个包(包括配置信息),完全清除一个已安装的包。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。
dpkg –update-avail <Packages-file> #替代软件包的信息
dpkg –merge-avail <Packages-file> #合并软件包信息
dpkg –forget-old-unavail #丢失所有的Uninstall的软件包信息
dpkg –clear-avail #删除软件包的Avaliable信息
dpkg -b direc×y [filename] #建立一个deb文件
dpkg -c filename #显示一个Deb文件的目录


#示例2.信息读取
dpkg -A package_file #从软件包里面读取软件的信息
dpkg -L package #查看软件安装在什么地方,显示一个包安装到系统里面的文件目录信息
dpkg -C #查找只有部分安装的软件包信息
dpkg -l package-name-pattern #列出软件版本软件名,已安装包
dpkg -p package-name #显示包的具体信息小写
dpkg -S filename-search-pattern #搜索指定包里面的文件(模糊查询)
dpkg -I filename [control-file] #显示一个Deb的说明,搜索Deb包
dpkg -s package-name #报告指定包的状态信息

#示例3.搜索Deb包:
命令行:[dpkg -s|-L|-p] package-name
示例:dpkg -s ssh
示例:dpkg -L apache2
示例:dpkg -p cacti

#示例4.查看具体某个包是否安装
dpkg --get-selections | grep - debianinstallname

#释放软件包,但是不进行配置
dpkg –unpack avg71flm_r28-1_i386.deb # 如果和-R一起使用,参数可以是一个目录


#安装一个目录下面所有的软件包
dpkg –configure avg71flm_r28-1_i386.deb # #如果和-a一起使用,将配置所有没有配置的软件包
dpkg -reconfigure xxx #重新配置软件,具体的应用此处不赘述。


#比较同一个包的不同版本之间的差别
dpkg –compare-versions ver1 op ver2

#有些软件很难卸载,而且还阻止了别的软件的应用,就能够用这个,但是有点冒险
dpkg --force-all --purge packagename


#64位得安装32位兼容库:
dpkg --add-architecture i386

# 忽略依赖安装
sudo dpkg --ignore-depends=kubernetes-cni -i kubeadm_1.13.5-00_amd.deb