dpkg 命令命令详解
dpkg -i手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
dpkg --info “软件包名” --列出软件包解包后的包名称.
dpkg -l–列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)
dpkg -l <package_name> 查询软件包的信息
dpkg -l |grep -i “软件包名” --查看系统中与"软件包名"相关联的包.
dpkg -s查询已安装的包的详细信息.
dpkg -L查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)
dpkg -S查询系统中某个文件属于哪个软件包. (类似于rpm -qf)
dpkg -I查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).
dpkg -r卸载软件包.不是完全的卸载,它的配置文件还存在.
dpkg -P全部卸载(但是还是不能解决软件包的依赖性的问题)
dpkg -reconfigure重新配置
deb包的制作
首先建立一个工作目录,比如在/home 目录下建立work目录
root@ubuntu:~# cd /home/
root@ubuntu:/home/hebbe# mkdir work
root@ubuntu:/home/hebbe# cd work/
因为安装软件包的时候默认是将文件释放到根目录下,所以需要设定好它安装的路径,同时还需要建立一个 DEBIAN 目录。
root@ubuntu:/home/work# mkdir -p usr/src
root@ubuntu:/home/work# mkdir -p usr/lib
root@ubuntu:/home/work# mkdir DEBIAN
把需要打包的文件及其库文件拷贝到相应的目录
root@ubuntu:/home/work# cp -a /home/Downloads/Lidar usr/src
root@ubuntu:/home/work# cp -a /home/Downloads/lib/* usr/lib/
在 DEBIAN目录下创建一个control文件,并加入以下内容,内容可自定义:
root@ubuntu:/home/work# vim DEBIAN/control
Package: hello-deb
Version: 1.0.1
Section: utils
Priority: optional
Architecture: i386
Depends:
Installed-Size: 512
Maintainer: xxxx
Description:helo package
然后,就可以使用 dpkg 命令构建 deb包了
root@ubuntu:/home/work# sudo chmod 755 * -R
root@ubuntu:/home/work# dpkg -b . /home/hebbe/hello_1.0.1_i386.deb
注意权限是755 ,否则会报错,例如
dpkg-deb: error: control directory has bad permissions 777 (must be >=0755 and <=0775)
至此,便已打包完成。
control 文件配置项说明
//包名
Package: Internet-of-things
//版本
Version: 1.0.0-2017.05.03
//包分类
Section: tuils
//优先级
Priority: optional
//依赖软件包
Depends:
//建议
Suggests:
//目标机架构
Architecture: i386 | amd64
//安装后大小
Installed-Size:
//维护者
Maintainer: papa
//原维护者
Original-Maintainer: papa
//提供
Provides:
//包描述
Description: 小刘同学++
//软件主页
Homepage: https://blog.csdn.net/qq_43420088?type=blog