2008年5月20日 星期二

Gentoo emerge 套件發現 blocking 時的安全解法

今天在更新幾台機器,發現了一堆 blocking,重點如下:

[blocks B ] sys-apps/setarch (is blocking sys-apps/util-linux-2.13.1.1)
[blocks B ] sys-apps/mktemp (is blocking sys-apps/coreutils-6.10-r2)
[blocks B ] >=sys-apps/coreutils-6.10 (is blocking sys-apps/mktemp-1.5)

因為是重要的 packages,所以不能隨便先移除再安裝 (否則再安裝時會找不到需要用的命令)

emerge --buildpkgonly --nodeps util-linux && emerge -C setarch && emerge --usepkgonly util-linux
emerge --buildpkgonly --nodeps coreutils && emerge -C mktemp && emerge --usepkgonly coreutils


不過呢,之前其實有另一個問題

# emerge portage
Calculating dependencies... done!
[ebuild U ] sys-apps/portage-2.1.4.4 [2.1.2.2] USE="-build -doc -epydoc (-selinux)" LINGUAS="-pl" 0 kB
[ebuild U ] app-shells/bash-3.2_p33 [3.1_p17] USE="nls -afs -bashlogger -plugins% -vanilla" 0 kB
[blocks B ] <sys-apps/portage-2.1.4_rc1 (is blocking app-shells/bash-3.2_p33)

# emerge bash
Calculating dependencies... done!
[ebuild U ] app-shells/bash-3.2_p33 [3.1_p17] USE="-plugins%"
[blocks B ] <sys-apps/portage-2.1.4_rc1 (is blocking app-shells/bash-3.2_p33)

解法是把 bash 先加到 /etc/portage/package.mask 中,這樣 emerge portage 就會過
然後再把 /etc/portage/package.mask 中的 =app-shells/bash-3.2_p33 拿掉,再 emerge bash

0 意見: