LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: herberteuler

请就软件包管理工具发表您的意见

[复制链接]
发表于 2005-4-19 22:27:57 | 显示全部楼层
这是一个内核补丁项目,因此不存在依赖问题。它也不是一个独立的文件系统,而是将两个文件系统合并成一个,一个是原始文件系统,是只读的,另一个是重载文件系统,可以被改写。对于应用程序,只能看到一个文件系统,如果访问到的文件在重载中没有找到,就会从原始文件系统中读取,否则将访问重载文件系统的内容。如果需要对已有的文件进行改写,就会将该文件从原始文件系统拷贝到重载文件系统中,然后允许应用程序改写这个副本。如果需要创建新的文件/目录,就会在重载文件系统中完成这个操作。
回复 支持 反对

使用道具 举报

发表于 2005-4-19 23:12:58 | 显示全部楼层
对于软件包管理的目的,另一个可供选择的是X中的lndir。这个程序可以在目标目录下创建到原始目录的每一个文件的软连接。这样,任何cp、mv、ln等操作都不会影响原始目录的内容。(但是,如果是软件对原始文件进行改写,则lndir无法实现截获)由于make通常只会做这些操作,因此一般来说软件包安装的时候都会在目标目录下进行。

为了保险起见,可以在一个chroot环境内进行软件安装。这样应当能完成绝大多数软件包的安装过程。完成安装后,扫描目录,除了那些到原始文件的连接,剩下的便是安装程序所进行的更改。写一个脚本来记录这些更改并在原始目录下实施这些更改应该没有什么问题。
回复 支持 反对

使用道具 举报

发表于 2005-6-19 13:19:40 | 显示全部楼层
关于 herberteuler 说的 “ 特别的 bash ”  的功能 , 用 Debian 的  fakeroot    就可以实现
回复 支持 反对

使用道具 举报

发表于 2005-6-19 14:29:31 | 显示全部楼层
Post by 懒猫
希望你能实现这个功能:

假设,我要安装stardict-1.0.0-xxxyyyzzz.xxx,同时附带一大堆可能的依赖包,那么我要搜索并安装“星际译王 1.0”,而不是逐个安装那些用文件名来表示的包


yum install 星际译王
要是 spec 里面包含了 Provides: 星际译王,那么这样是可以找到的
不知道模糊匹配可以做到什么程度
回复 支持 反对

使用道具 举报

发表于 2005-6-19 15:24:42 | 显示全部楼层
我觉得gentoo的emerge包管理系统很好。实际上我任务gentoo就是加了包管理工具的lfs!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表