dpkg说明

dpkg与centos中的rpm相似,被用于安装,卸载及查询deb包信息。下面简单介绍基础命令。
已有安装包:test.deb。
安装命令:
dpkg -i test.deb 安装test.deb软件包
dpkg -c test.deb #查看test.deb软件包中包含的文件结构
安装后查询命令:
dpkg -I test查看已安装的test.deb软件包的详细信息,包括软件名称、版本等
dpkg -L test #查看已安装test.deb软件包安装的所有文件
dpkg -s test #查看test.deb软件包的详细信息
dpkg -S filepath#查看某个文件属于哪个deb包
dpkg-query -S filepath #查看某个文件属于哪个deb包
dpkg -X test.deb directory#提取deb包中的文件
dpkg -e test.deb directory #提取deb包的控制信息
更新软件包命令:
dpkg -update-avail test.deb
卸载命令:
dpkg -r test #卸载test.deb软件包 (保留配置信息)
dpkg -P test #卸载test.deb软件包 (包括配置信息)
注:dpkg命令无法自动解决依赖关系。


如何获得命令属于的包

有时候,一个包里面包含非常多的命令,比如coreutils,包含很多有用的命令工具,如果我们看到一个命令,比如ls,应该如果知道他属于哪个包呢?

/bin$ which ls -l
/bin/ls
/bin$ dpkg-query -S /bin/ls 
coreutils: /bin/ls

如何获得包源码

最直接的做法,搜索引擎找这个包,可以找到
www.gnu.org/software/coreutils
再进到网站去下载对应的源码,但是其实apt命令已经帮我们实现了这个路径。

$ apt source coreutils

dpkg编译:

  1. deb源码包由以下文件组成:.debian.tar.xz 文件 .dsc文件和.tar.gz文件。
    得到这三个文件之后,执行dpkg-source -x xxx.dsc ,可生成源码目录
  2. xz -d xx.debian.tar.xz 生成xx.debian.tartar -xvf xx.debian.tar可生成补丁文件。
    路径为:debian/patches/
  3. 编译包:dpkg-buildpackage -us -uc // dpkg-buildpackage -b -rfakeroot -us -uc
  4. 安装包: dpkg -i 包名.deb
使用apt-get 安装以下工具:dh-make ,devscripts。
使用apt-get install dh-make 将安装 debhelper dh-make html2text三个包。
使用apt-get install devscripts ,这个是使用debuild所需要的。

问题1:
dpkg-source: 错误: can’t build with source format ‘3.0 (quilt)’: no upstream tarball found at …/caja_1.24.0.orig.tar.{bz2,gz,lzma,xz}

 rm ./debian/source/format 

在这里插入图片描述

quilt改为native
vim debian/source/format
在这里插入图片描述

可以把format文件中的quilt改为native,否则在未添加quilt的patch文件之前修改代码文件构建源码包会报错(quilt表示上游包,native表示自建包):

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值