全部博文(362)
分类: LINUX
2013-01-17 10:34:37
Gentoo 升级系统的标准步骤
#emerge --sync //升级整个portage目录
#emerge portage //如果不是最新的portage,需要按提示执行此操作
#emerge python //如果不是最新的python,需要按提示执行此操作
#emerge --update python //执行完emerge python后执行此操作
#emerge -pvuDN world //按照 /var/lib/portage/world 文件下的包,查看下构建系统会安装哪些安装包
[uninstall ] app-misc/realpath-1.15-r1 USE="nls"
[blocks b ] app-misc/realpath ("app-misc/realpath" is blocking sys-apps/coreutils-8.20)
[blocks b ]
#emerge -avuDN util-linux sysvinit
[uninstall ] sys-apps/module-init-tools-3.16-r2 USE="-static"
[blocks b ] sys-apps/kmod ("sys-apps/kmod" is blocking sys-apps/module-init-tools-3.16-r2)
[blocks b ] sys-apps/module-init-tools ("sys-apps/module-init-tools" is blocking sys-apps/kmod-13-r1)
遇到这个问题则执行
emerge -C module-init-tools && emerge -1 kmod
#emerge -avuDN world //按照 /var/lib/portage/world 文件下的包,重新构建整个系统
参数说明: --ask (-a) 控制Portage显示它要更新的软件包列表,并让您决定是否继续更新
--verbose (-v) 在屏幕上输出完整的文件列表
--update (-u) 更新包的最佳版本
--deep (-D) 更新系统中的每个软件包
--newuse (-N) USE标记变更后,要使Portage检查USE标记的变动是否导致
需要安装新的软件包或者将现有的包重新编译
#emerge -av --depclean //清除不需要(孤立)的软件包
#revdep-rebuild //gentoolkit包里面的一个软件,用来检查系统的依赖关系是否都满足,
自动安装没有满足关系的包
#dispatch-conf //更新系统的配置文件
#emerge -e world //本地重新编译整个系统,USE标记变化不大时不需执行
参数说明: --emptytree (-e)
1. 确认make.conf里有-O2
2.执行 emerge --sync -qv , emerge -qv --update portage python
3.把不需要升级的软件加到package.mask里
4. emege -pvuDN world确认升级软件
5. emege -qvuDN world开始正是升级
6. emege -pv --depclan确认需要清楚的软件
7.revdep-rebuild检查依赖关系
8. dispatch-conf更新/etc/下的配置文件