电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

类型dpkg详解及例证说明

收藏

编号:342535697    类型:共享资源    大小:40.50KB    格式:DOC    上传时间:2023-01-05
  
3
金贝
分享到微信 分享到微博 分享到QQ空间
关 键 词:
dpkg 详解 例证 说明
资源描述:
Debian 软件包管理系统--dpkg 2007-7-16 16:36| 查看数: 4463 dpkg 是 Debian 软件包管理系统的中流砥柱, 负责安装卸载软件包, 配置, 以及维护已安装的软件包. 也是Debian系统中众多软件包管理工具的后端. 有关 dpkg 的更多介绍请参阅: http://www.dpkg.org dpkg 通过数据库来维护系统中软件, 这包括文件清单, 依赖关系, 软件状态, 等等详细的内容, 通常在/var/lib/dpkg目录下. 并确保系统与数据库的情况相一致.因此,dpkg在处理程序时非常健壮,和优秀. dpkg 在处理软件包时, 首先要判断是否会引起系统的混乱, 当发现可能出现时, dpkg 将拒绝安装此软件, 而不是自作主张将软件装入系统, 然后把烂摊子扔给用户了之. dpkg是一个庞大的家族, 不仅提供了大量的参数选项, 同时也提供了许多子命令比如: dpkg-deb dpkg-divert dpkg-query dpkg-split dpkg-statoverride start-stop-daemon ... 本文档不是 dpkg 的 manpage, 将不会对所有的参数和子命令加以介绍, 同时记住所有参数也是相当痛苦的事情, 在这里只对常用参数和命令做示例性介绍. dpkg 涵盖了 dpkg 家族的大部分功能, 因此dpkg可以作为一个多合一(ALL-IN-ONE)的软件使用,以更好的使用 dpkg 家族的全部功能. 3. deb软件包命名规则: Debian软件包命名遵循下列约定: <软件包名称>_<版本>-<修订号>_<平台>.deb   * 软件包名称(Package Name):   * 版本(Version Number):   * 修订号(Build Number):   * 平台(Architecture):       o i386       o all: 平台无关. 即适用于所有平台.比如文本, 网页, 图片, 媒体, pdf 等. 例如   * nano_1.3.10-2_i386.deb       o 软件包名称: nano       o 版本: 1.3.10       o 修订号: 2       o 平台: i386 4. 软件包处理 (注:本文的中的操作以nano为例) dpkg-deb : 用于处理本地Debian软件包. 可以提取从.deb文件中提取软件包信息和数据. 详细信息,请参阅 dpkg-deb 的联机手册.   * 列出软件包的内容:       tony@tony:~/doc/dpkg$ dpkg-deb -c nano_1.3.10-2_i386.deb |more       drwxr-xr-x root/root       0 2006-02-05 00:29:18 ./       drwxr-xr-x root/root       0 2006-02-05 00:29:07 ./etc/       -rw-r--r-- root/root   11887 2006-02-05 00:29:07 ./etc/nanorc       drwxr-xr-x root/root       0 2006-02-05 00:29:14 ./usr/       drwxr-xr-x root/root       0 2006-02-05 00:29:12 ./usr/share/       drwxr-xr-x root/root       0 2006-02-05 00:29:01 ./usr/share/doc/       drwxr-xr-x root/root       0 2006-02-05 00:29:15 ./usr/share/doc/nano/       -rw-r--r-- root/root     1847 2005-08-30 02:29:02 ./usr/share/doc/nano/AUTHORS       -rw-r--r-- root/root     2338 2005-03-20 05:33:13 ./usr/share/doc/nano/README       -rw-r--r-- root/root     3175 2005-11-21 17:36:11 ./usr/share/doc/nano/THANKS       -rw-r--r-- root/root     2206 2005-06-08 10:28:06 ./usr/share/doc/nano/TODO       -rw-r--r-- root/root     1066 2003-03-24 21:09:26 ./usr/share/doc/nano/UPGRADE       -rw-r--r-- root/root   35996 2005-11-22 05:45:07 ./usr/share/doc/nano/faq.html       ... ...   * 查看软件包的信息       tony@tony:~/doc/dpkg$ dpkg-deb -I nano_1.3.10-2_i386.deb       new debian package, version 2.0.       size 477372 bytes: control archive= 2656 bytes.           12 bytes,   1 lines     conffiles                   714 bytes,   18 lines     control                 3529 bytes,   51 lines     md5sums                   613 bytes,   21 lines   * postinst         #!/bin/sh           160 bytes,   5 lines   * postrm           #!/bin/sh           379 bytes,   20 lines   * preinst         #!/bin/sh           288 bytes,   14 lines   * prerm           #!/bin/sh       Package: nano       Version: 1.3.10-2       Section: editors       Priority: important       Architecture: i386       Depends: libc6 (>= 2.3.5-1), libncursesw5 (>= 5.4-5)       Suggests: spell       Conflicts: nano-tiny (<= 1.0.0-1), pico       Replaces: pico       Provides: editor       Installed-Size: 1108       Maintainer: Jordi Mallach       Description: free Pico clone with some new features         GNU nano is a free replacement for Pico, the default Pine editor. Pine is         copyrighted under a restrictive licence, that makes it unsuitable for         Debian's main section. GNU nano is an effort to provide a Pico-like         editor, but also includes some features that were missing in the original,         such as 'search and replace', 'goto line' or internationalization support.   * 重新构建软件包     比如nano(1.3.10)需要满足以下依赖关系:       $ dpkg-deb -f nano_1.3.10-2_i386.deb depends         //depends 为对应查询段       libc6 (>= 2.3.5-1), libncursesw5 (>= 5.4-5)     当系统不能满足依赖关系, 比如不能满足里来版本, 可以通过下边的方法处理, 当然这种情况下安装的nano并不一定运行正常, 这种方法可以应用于某些软件的变通安装.       $ mkdir nano //创建nano目录       $ dpkg-deb -e ./nano_1.3.10-2_i386.deb ./nano/DEBIAN   //解压控制文件       $ dpkg-deb -x ./nano_1.3.10-2_i386.deb ./nano       //解压程序文件       $ vi ./nano/DEBIAN/control                     //修改控制信息       $ dpkg-deb -b nano nano_1.3.10-2_ill.deb           //重新打包 5. 数据库查询 当前版本的 dpkg 使用文本文件来作为数据库.通称在 /var/lib/dpkg 目录下. 通称在 status 文件中存储软件状态,和控制信息. 在 info/ 目录下备份控制文件, 并在其下的 .list 文件中记录安装文件清单, 其下的 .mdasums 保存文件的 MD5 编码. 体验使用数据库的时刻到了:   $ dpkg -l   Desired=Unknown/Install/Remove/Purge/Hold   | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed   |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)   ||/ Name     Version       Description   +++-===========-================-========================================   ii aalib1   1.4p5-28       ascii art library - transitional package   ii adduser   3.85         Add and remove users and groups   ii alien     .63           install non-native packages with dpkg   ... ... 每条记录对应一个软件包, 注意每条
展开阅读全文
提示  金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:dpkg详解及例证说明
链接地址:https://www.jinchutou.com/shtml/view-342535697.html
关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.