QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3231|回复: 29

更新MagicInstaller初步解决依赖关系问题

[复制链接]
发表于 2010-8-17 13:48:41 | 显示全部楼层 |阅读模式
  1. 调整之前的顺序
  2. glibc-devel-2.10.1-2mgc25.i686.rpm ---> (0, 914)
  3. bash-completion-20080705-3.20090211git47d0c5b.noarch.rpm ---> (0, 1034)
  4. bash-completion-20080705-3.20090211git47d0c5b.noarch.rpm ---> (0, 1034)
  5. glibc-utils-2.10.1-2mgc25.i686.rpm ---> (0, 1146)
  6. bash-4.0-1mgc25.i686.rpm ---> (0, 3)
  7. glibc-static-2.10.1-2mgc25.i686.rpm ---> (0, 1196)
  8. binutils-devel-2.19.51.0.2-1mgc25.i686.rpm ---> (0, 1319)
  9. binutils-2.19.51.0.2-1mgc25.i686.rpm ---> (0, 911)
  10. coreutils-7.0-7mgc25.i686.rpm ---> (0, 71)
  11. glibc-headers-2.10.1-2mgc25.i686.rpm ---> (0, 913)
  12. glibc-common-2.10.1-2mgc25.i686.rpm ---> (0, 5)

  13. 调整之后的顺序

  14. glibc-devel-2.10.1-2mgc25.i686.rpm ---> (0, 18)
  15. bash-completion-20080705-3.20090211git47d0c5b.noarch.rpm ---> (0, 36)
  16. glibc-utils-2.10.1-2mgc25.i686.rpm ---> (0, 35)
  17. bash-4.0-1mgc25.i686.rpm ---> (0, 2)
  18. glibc-static-2.10.1-2mgc25.i686.rpm ---> (0, 19)
  19. glibc-common-2.10.1-2mgc25.i686.rpm ---> (0, 4)
  20. kernel-headers-2.6.30.10-5mgc25.i686.rpm ---> (0, 16)
  21. binutils-devel-2.19.51.0.2-1mgc25.i686.rpm ---> (0, 15)
  22. glibc-2.10.1-2mgc25.i686.rpm ---> (0, 10)
  23. binutils-2.19.51.0.2-1mgc25.i686.rpm ---> (0, 13)
  24. coreutils-7.0-7mgc25.i686.rpm ---> (0, 88)
  25. glibc-headers-2.10.1-2mgc25.i686.rpm ---> (0, 17)
复制代码
最后一个数字为序列

在 spec/specinfo.py 中增加 basepkg_list 参数
发表于 2010-8-17 18:10:55 | 显示全部楼层
未调整前整个工具链包全散一团,bash 跑到 1034 ,真是汗颜。。。
coreutils-7.0-7mgc25.i686.rpm  的位置还是不够高。

[ 本帖最后由 haulm 于 2010-8-17 18:15 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2010-8-17 18:51:43 | 显示全部楼层
现在还可以向其中增加序列,在排序之前会尽可能的按照这个序列来(是尽可能,因为最后要根据依赖关系来生成顺序)

还发现,在这个功能中 glibc-devel 之类的分包最好不要加入,否则其中的依赖关系会影响这个功能。只能将有最小依赖的包这样排序才可能起作用。
回复

使用道具 举报

发表于 2010-8-18 11:58:49 | 显示全部楼层
怪事,新的MI安装的确慢了很多,我安装花了一小时,早前最快15分钟内就搞定了。
回复

使用道具 举报

 楼主| 发表于 2010-8-18 12:13:00 | 显示全部楼层
MI安装速度问题...我这用vbox测试的...正常
我这没有物理机器可以测试,因为我的机器不能用MI硬盘安装...上次有人问起我说MI硬盘安装可能会失败就是因为我的机器测试会失败...
==================================

coreutils-7.0-7mgc25.i686.rpm  的位置还是不够高。
你可以通过增加 依赖 和减少依赖来提高这个位置

我写了一个工具
你可以使用这个工具来辅助调节
使用方法见README

svn checkout http://rpmdeptool.googlecode.com/svn/trunk/ rpmdeptool-read-only
回复

使用道具 举报

 楼主| 发表于 2010-8-20 23:35:52 | 显示全部楼层
rpm安装速度慢的问题马上就可以解决了,但是安装时每个包的进度条失效了...

经测试共花费
1303.03848004 seconds
21.7分钟

如果有人想要测试请同步rpmdeptools 按照帖子http://www.linuxfans.org/bbs/thread-192786-1-1.html
安装测试,
注意rpmdeptool自带的spec/specinfo.py 中的参数是我按照magiclinux2.5所有包做的依赖调节。在使用python rpm_dep_tool.py sync <MI path> 时别覆盖了...
回复

使用道具 举报

 楼主| 发表于 2010-8-21 23:49:34 | 显示全部楼层
已经提交最新版本 magicinstaller ,呵呵。
安装速度应该是解决了,有条件的麻烦测试一下...
回复

使用道具 举报

发表于 2010-8-22 07:53:44 | 显示全部楼层
不知道是不是 coreutils-7.0-7mgc25.i686.rpm  调节后安装顺序太高了,还是因为依赖调节参数和我的rpm包群不符,coreutils-7.0-7mgc25.i686.rpm提升到第三个位置,结果 coreutils-7.0-7mgc25.i686.rpm  和 initscript 安装出现 256 错误。
去掉减少依赖的设置,coreutils-7.0-7mgc25.i686.rpm 在位置70,测试顺利,速度正常了。
回复

使用道具 举报

 楼主| 发表于 2010-8-22 08:25:35 | 显示全部楼层
(0, 0) : binutils-2.19.51.0.2-1mgc25.i686.rpm
(0, 1) : glibc-2.10.1-2mgc25.i686.rpm
(0, 2) : bash-4.0-1mgc25.i686.rpm
(0, 3) : coreutils-7.0-7mgc25.i686.rpm

这个是标准开头序列阿。因为coreutils中pre需要sh
可以把这几个包的所有依赖去掉并在basepkg_list中指定这个序列就可以了。
回复

使用道具 举报

发表于 2010-8-22 08:37:52 | 显示全部楼层
原帖由 zy_sunshine 于 2010-8-22 08:25 发表
(0, 0) : binutils-2.19.51.0.2-1mgc25.i686.rpm
(0, 1) : glibc-2.10.1-2mgc25.i686.rpm
(0, 2) : bash-4.0-1mgc25.i686.rpm
(0, 3) : coreutils-7.0-7mgc25.i686.rpm

这个是标准开头序列阿。因为coreutils中pre需 ...

查过了,已经按上面这样排序了,但安装失败。
我没有修改过任何配置,新的MI已经对依赖进行了调整设置,小BS一下我太自负在硬盘上先行牺牲了一次了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2010-8-22 09:45:13 | 显示全部楼层
其它都好办,initscripts 要想办法把它放到后面去,它停在85的位置,否则就没办法把置顶列表实施下去。。。看来sunshine不但要有一个置顶列表,还要有一个T到最后的列表了。。。
回复

使用道具 举报

发表于 2010-8-22 09:54:04 | 显示全部楼层
删掉提升glibc的定义
  1.     'glibc-2.10.1-2mgc25.i686.rpm':
  2.         ['glibc-common-2.10.1-2mgc25.i686.rpm',
  3.          'basesystem-25-1mgc25.noarch.rpm',
  4.          'libgcc-4.4.0-5.i686.rpm',
  5.          'nss-softokn-freebl-3.12.4-1mgc25.i686.rpm',
  6.         ],
复制代码
最后修正的依赖控制列表如下
  1. remove_deps = {
  2.     'coreutils-7.0-7mgc25.i686.rpm':
  3.         ['util-linux-ng-2.17.2-2mgc25.i686.rpm',
  4.          'libcap-2.16-1mgc25.i686.rpm',
  5.          'gmp-4.2.4-2mgc25.i686.rpm',
  6.          'ncurses-5.7-2.20090207mgc25.i686.rpm',
  7.          'grep-2.5.3-2mgc25.i686.rpm',
  8.          'pam-1.1.0-2mgc25.i686.rpm',
  9.          'libacl-2.2.47-2mgc25.i686.rpm',
  10.          'info-4.13-3mgc25.i686.rpm',
  11.          'libattr-2.4.43-2mgc25.i686.rpm',
  12.         ],
  13.     'binutils-2.19.51.0.2-1mgc25.i686.rpm':
  14.         ['info-4.13-3mgc25.i686.rpm',
  15.          'bash-4.0-1mgc25.i686.rpm',
  16.          'zlib-1.2.3-19mgc25.i686.rpm',
  17.          'glibc-2.10.1-2mgc25.i686.rpm',
  18.         ],
  19.     'bash-4.0-1mgc25.i686.rpm':
  20.         ['ncurses-libs-5.7-2.20090207mgc25.i686.rpm',
  21.         ],
  22.     }

  23. # For the detail to deal with loop dependencies between packages, refer to
  24. # the comments and code in scripts/PkgArrange.py.


  25. ######################################################################
  26. # basepkg_list is a list content the base tool chain packages order by the
  27. # dependency. MI will put packages in order refer to this list.

  28. basepkg_list = ['binutils',
  29.                 'glibc',
  30.                 'bash',
  31.                 'grep',
  32.                 'info',
  33.                 'coreutils',
  34.                 'sed',
  35.                 'gawk',
  36.                 'shadow-utils',
  37.                 'chkconfig',
  38.              ]
复制代码
终于可以正常工作了。
回复

使用道具 举报

发表于 2010-8-22 10:05:33 | 显示全部楼层
'binutils-2.19.51.0.2-1mgc25.i686.rpm': (0, 0),
'bash-4.0-1mgc25.i686.rpm': (0, 1),
'tzdata-2009f-2mgc25.noarch.rpm': (0, 2),
'glibc-common-2.10.1-2mgc25.i686.rpm': (0, 3),
'setup-2.8.1-1mgc25.noarch.rpm': (0, 4),
'filesystem-2.4.5-1mgc25.i686.rpm': (0, 5),
'basesystem-25-1mgc25.noarch.rpm': (0, 6),
'libgcc-4.4.0-5.i686.rpm': (0, 7),
'nss-softokn-freebl-3.12.4-1mgc25.i686.rpm': (0, 8),
'glibc-2.10.1-2mgc25.i686.rpm': (0, 9),
'ncurses-base-5.7-2.20090207mgc25.i686.rpm': (0, 10),
'ncurses-libs-5.7-2.20090207mgc25.i686.rpm': (0, 11),
'zlib-1.2.3-19mgc25.i686.rpm': (0, 12),
'info-4.13-3mgc25.i686.rpm': (0, 13),
'libstdc++-4.4.0-5.i686.rpm': (0, 14),
'pcre-7.8-2mgc25.i686.rpm': (0, 15),
'grep-2.5.3-2mgc25.i686.rpm': (0, 16),
'coreutils-7.0-7mgc25.i686.rpm': (0, 17),
'sed-4.1.5-8mgc25.i686.rpm': (0, 18),
'gawk-3.1.6-3mgc25.i686.rpm': (0, 19),
'shadow-utils-4.1.2-8mgc25.i686.rpm': (0, 20),
'popt-1.14-1mgc25.i686.rpm': (0, 21),
'chkconfig-1.3.41-1mgc25.i686.rpm': (0, 22),
'ca-certificates-2008-8mgc25.noarch.rpm': (0, 23),
'keyutils-libs-1.2-3mgc25.i686.rpm': (0, 24),
......
'initscripts-8.51-6mgc25.i686.rpm': (0, 91),
......
回复

使用道具 举报

发表于 2010-8-22 10:19:37 | 显示全部楼层
是日志功能有问题还是依赖错误更多了 一堆ERROR
回复

使用道具 举报

 楼主| 发表于 2010-8-22 12:09:49 | 显示全部楼层
已更新log功能,如果再出现错误就不只是错误代码了,还有附加的错误信息。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-22 17:21 , Processed in 0.042917 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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