+ -
当前位置:首页 → 问答吧 → 工具箱中新增神器 pax-utils (lddtree.sh)

工具箱中新增神器 pax-utils (lddtree.sh)

时间:2009-10-08

来源:互联网

官方主页
http://www.gentoo.org/proj/en/hardened/pax-utils.xml
下载地址
http://dev.gentoo.org/~vapier/dist/pax-utils-0.1.19.tar.bz2

昨天 gentoo 版主 zhllg 介绍此神器。
相见恨晚,建议大伙常备一份备用。

请尽可能用新版本,如当前 debian sid 中版本为 pax-utils-0.1.16,没有包含 lddtree.sh.
请不要与 gnu 的 paxutils 混淆,不是同一个软件包。

pax-utils 提供一组工具,lddtree.sh 大伙会更感兴趣:
lddtree.sh 可以类似 ldd 列出 程序 或 共享库 依赖,并以树型显示依赖层次。


偶自己包管理一直很简陋:
一组支持 fakeroot 方式 配置、编译、打包、安装 的脚本,
一组软件包构建信息文件,
一组软件包依赖关系列表文件,
一组协助升级 软件包构建系统文件 和 软件包依赖关系列表文件 的脚本,
打包的文件备份在安全地方备用,安装新系统、校验、生成软件包文件列表……

轻巧、高效。
不过,升级软件包时,麻烦多多。

现在有 lddtree.sh 帮助,我们有能力生成每个 ELF 可执行程序 和 共享库 的最上层依赖列表。
简单扫描列表,可以列出受影响的软件包,方便升级软件包时参考。
简单扫描列表,可以方便生成 chroot 环境。

可以使用文件保存这些信息,用简单的脚本解决问题。
或者可以使用小型的关系数据库协助完成更多功能,sqlite 是不错的选择。
大概列下需要的几张表,权当草稿:
HTML 代码:
软件包源代码、补丁列表 source (有签名的,验证由脚本完成;邮件列表中的补丁保存为本地文件;可以考虑多添加一种校验和增强安全性)
软件包名 版本 官方主页 下载地址 源代码包md5校验和

软件包列表 package (可以考虑多添加一种校验和增强安全性)
软件包名 版本 二进制软件包md5校验和

软件包依赖列表 depends (不区别编译依赖 和 运行时依赖)
软件包名 版本 依赖的软件包名 依赖的软件包版本

系统文件列表 system (可以考虑多添加一种校验和增强安全性)
软件包名 版本 文件名 文件类型 文件权限位 文件md5校验和

可执行文件和库依赖关系列表 depends_file
软件包名 版本 文件名 依赖文件

作者: 聚焦深空   发布时间: 2009-10-08

swori不是也在做这个吗?和他联系一下,看看可不可以合并一下,文件信息获取部分已经写完了,正在处理md5校验部分。

作者: pinkme005   发布时间: 2009-10-08

您来做吧。

偶不是做包管理器,况且自己简陋的包管理已够用了。准备做的是查询工具。
再一个,思想差距太远,偶个人是不会用 c 去解决 脚本 能简单解决的问题,况且效率不是问题。

作者: 聚焦深空   发布时间: 2009-10-08

。。。。。还是等swori算了。。。

作者: pinkme005   发布时间: 2009-10-08

对不住,偶很懒。

刚刚又找到两个 bt 的东东,可以把脚本编译成 ELF 格式的可执行文件,效率问题可以忽略啦。
谁无聊的话,可以考虑把启动脚本统统编译成 ELF 可执行文件,提高开机启动速度。
shc 开源软件 http://www.datsi.fi.upm.es/~frosal/
ccsh 有限使用 http://www.comeaucomputing.com/tryccsh/

作者: 聚焦深空   发布时间: 2009-10-08

引用:
作者: 聚焦深空
对不住,偶很懒。

刚刚又找到两个 bt 的东东,可以把脚本编译成 ELF 格式的可执行文件,效率问题可以忽略啦。
谁无聊的话,可以考虑把启动脚本统统编译成 ELF 可执行文件,提高开机启动速度。
shc 开源软件 http://www.datsi.fi.upm.es/~frosal/
ccsh 有限使用 http://www.comeaucomputing.com/tryccsh/
Interesting!

虽然很有兴趣干点无聊的事,但现在太忙了,待有空玩玩也不错,嘿嘿~~

作者: d00m3d   发布时间: 2009-10-10