当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : dpkg 包管理数据库
帖子发表于 : 2008-01-02 19:40 
头像

注册: 2007-03-13 17:26
帖子: 2254
送出感谢: 0 次
接收感谢: 1
代码:
*) deb 文件
  deb 是一个打包文件,可以用 file-roller 打开,
  里面包含 control.tar.gz   data.tar.gz   debian-binary 三个文件,
  分别是 打包的控制文件 ,打包的数据文件, deb文件格式

  控制文件:
    config    有 config 的包,可以用 dpkg-reconfigure packagename 来重新配置一些选项
    templates  包含 dpkg-reconfigure 时的 本地化 文字
    control   包的简介、依赖信息文件,一个包装完后把内容加到 /var/lib/dpkg/status 里去
    md5sums   文件的md5

    preinst   安装包,解压这个包里的文件之前执行
    postinst  安装包,解压这个包里的文件之后执行
    prerm     删除包,准备删除文件时执行
    postrm    删除包,删除文件后执行

    conffiles 文件列表,指明的文件在 apt-get install --reinstall 时也不会解压的文件 [注1]

      [注1] 例如 fontconfig-config 包含文件 /etc/fonts/fonts.conf , 也在 confiles 里列出
          测试 sudo mv /etc/fonts /etc/fonts_test && sudo apt-get install --reinstall fontconfig-config
          恢复 sudo mv /etc/fonts /tmp && sudo mv /etc/fonts_test /etc/fonts

  deb包装好后放到这些文件名前面加上包名放在 info 目录里,
  形成 packagename.md5sums 类似文件,除了 control
  另外生成 packagename.list 文件,列出所有文件



*) /var/lib/dpkg/        dpkg 的数据库

*) /var/lib/dpkg/ 里其它文件目录
  status      这个文件包含所有系统中安装的包的信息
  status-old

  available   这个文件好像包含 以前装过的包的信息,用 apt-get remove --purge 删除的包信息也仍在
  available-old

  diversions  文件转移 [注2]
  diversions-old

  alternatives/   选择配置 [注3]
  info/       包含所有已安装包的控制文件

  lock        锁文件, apt-get synaptic 等不能同时运行

  statoverride
  statoverride-old
  cmethopt
  methods/
  parts/
  triggers/
  updates/

   [注2] 解决不同包提供同名文件问题,如 locate slocate 包提供 /usr/bin/locate 文件,
         slocate 的 preinst 脚本里就有 dpkg-divert 先将 /usr/bin/locate 删除,
         再创建 指向 slocate 的 /usr/bin/locate 链接
   [注3] 用于解决同时安装多个类似功能程序问题,如 gij/sun-java6-bin  gcc-4.1/gcc-4.2
         查看可选文件 update-alternavives --list java  # cc cpp ...
         配置 update-alternavives  --config java
           

*) 其它
  *) apt-get
    apt-get 下载的文件放在 /var/cache/apt/archives/ ,
    apt-get autoclean 可以删除旧版本的 deb 包
    apt-get clean 删除目录里所有 deb 包

*) 创建 deb
  1) 准备 mydeb/usr/bin/???
     创建 mydeb/DEBIAN/ 里的 control md5sums .. 文件
     dpkg -b 包名 程序目录

  2) 安装 devscripts
     下载源码 apt-get source
     用新版源码替换
     到源码目录执行 debuild binary  在上一级目录生成二进制 deb

  3) apt-get build-dep


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译