LINUX.ORG.RU

Не обновляется portage (sandbox)

 , ,


0

1

Уважаемые коллеги, имеется очень старая система linux gentoo, занимающая важное место в логической работе сети, по сему взять и переставить просто нет возможности. При попытке обновить систему emerge portgage
* ERROR: sys-apps/sandbox-2.10-r1::gentoo failed (compile phase):
* (no error message)
*
* Call stack:
* ebuild.sh, line 93: Called src_compile
* environment, line 2592: Called sb_foreach_abi
'sb_compile'
* environment, line 2557: Called sb_compile
* environment, line 2538: Called die
* The specific snippet of code:
* emake || die
*
* If you need support, post the output of `emerge --info
'=sys-apps/sandbox-2.10-r1::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-apps/sandbox-2.10-r1::gentoo'`.
* If configure failed with a 'cannot run C compiled programs' error, try this:
* FEATURES='-sandbox -usersandbox' emerge sandbox
* The complete build log is located at '/var/tmp/portage
/sys-apps/sandbox-2.10-r1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage
/sys-apps/sandbox-2.10-r1/temp/environment'. * Working directory: '/var/tmp/portage/sys-apps/sandbox-2.10-r1/work/build-x86'
* S: '/var/tmp/portage/sys-apps/sandbox-2.10-r1/work/sandbox-2.10'

Failed to emerge sys-apps/sandbox-2.10-r1, Log file:

Прошу помощи и консультацию, как правильно обновить систему, какие зависимости стоит учесть. За ранее благодарю.
gcc обновился , а вот glibc нет

Installing (1 of 5) sys-apps/gentoo-functions-0.10

* This package will overwrite one or more files that may belong to other
* packages (see list below). You can use a command such as `portageq
* owners / <filename>` to identify the installed package that owns a
* file. If portageq reports that only one package owns a file then do
* NOT file a bug report. A bug report is only useful if it identifies at
* least two or more packages that are known to install the same file(s).
* If a collision occurs and you can not explain where the file came from
* then you should simply ignore the collision since there is not enough
* information to determine if a real problem exists. Please do NOT file
* a bug report at http://bugs.gentoo.org unless you report exactly which
* two packages install the same file(s). See
* http://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how to
* solve the problem. And once again, please do NOT file a bug report
* unless you have completely understood the above message.
*
* Detected file collision(s):
*
* /usr/share/man/man1/consoletype.1.bz2
* /sbin/consoletype
*
* Searching all installed packages for file collisions...
*
* Press Ctrl-C to Stop
*
* sys-apps/baselayout-1.12.13:0::gentoo
* /sbin/consoletype
* /usr/share/man/man1/consoletype.1.bz2
*
* Package 'sys-apps/gentoo-functions-0.10' NOT merged due to file
* collisions. If necessary, refer to your elog messages for the whole
* content of the above message.

Failed to install sys-apps/gentoo-functions-0.10, Log file:


'/var/tmp/portage/sys-apps/gentoo-functions-0.10/temp/build.log'


* Messages for package sys-apps/gentoo-functions-0.10:

* This package will overwrite one or more files that may belong to other
* packages (see list below). You can use a command such as `portageq
* owners / <filename>` to identify the installed package that owns a
* file. If portageq reports that only one package owns a file then do
* NOT file a bug report. A bug report is only useful if it identifies at
* least two or more packages that are known to install the same file(s).
* If a collision occurs and you can not explain where the file came from
* then you should simply ignore the collision since there is not enough
* information to determine if a real problem exists. Please do NOT file
* a bug report at http://bugs.gentoo.org unless you report exactly which
* two packages install the same file(s). See
* http://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how to
* solve the problem. And once again, please do NOT file a bug report
* unless you have completely understood the above message.
*
* Detected file collision(s):
*
* /usr/share/man/man1/consoletype.1.bz2
* /sbin/consoletype
*
* Searching all installed packages for file collisions...
*
* Press Ctrl-C to Stop
*
* sys-apps/baselayout-1.12.13:0::gentoo
* /sbin/consoletype
* /usr/share/man/man1/consoletype.1.bz2
*
* Package 'sys-apps/gentoo-functions-0.10' NOT merged due to file
* collisions. If necessary, refer to your elog messages for the whole
* content of the above message.

* GNU info directory index is up-to-date.

!!! existing preserved libs:

package: dev-libs/gmp-6.0.0a

* - /usr/lib/libgmp.so.3
* - /usr/lib/libgmp.so.3.5.2
* used by /usr/lib/php5/lib/php/extensions/no-debug-non-zts-20060613/gmp.so (dev-lang/php-5.2.13)
* used by /usr/libexec/gcc/i686-pc-linux-gnu/4.4.3/cc1 (sys-devel/gcc-4.4.3-r2)
* used by /usr/libexec/gcc/i686-pc-linux-gnu/4.4.3/cc1plus (sys-devel/gcc-4.4.3-r2)
* used by /usr/libexec/gcc/i686-pc-linux-gnu/4.4.3/f951 (sys-devel/gcc-4.4.3-r2)

package: sys-libs/ncurses-5.9-r99

* - /lib/libncursesw.so.5
* - /lib/libncursesw.so.5.7
* used by /bin/nano (app-editors/nano-2.2.4)
* used by /usr/bin/aspell (app-text/aspell-0.60.6-r1)
* used by /usr/bin/ftptop (net-ftp/proftpd-1.3.3a)
* used by 2 other files

package: dev-libs/mpfr-3.1.3_p4

* - /usr/lib/libmpfr.so.1
* - /usr/lib/libmpfr.so.1.2.0
* used by /usr/libexec/gcc/i686-pc-linux-gnu/4.4.3/cc1 (sys-devel/gcc-4.4.3-r2)
* used by /usr/libexec/gcc/i686-pc-linux-gnu/4.4.3/cc1plus (sys-devel/gcc-4.4.3-r2)
* used by /usr/libexec/gcc/i686-pc-linux-gnu/4.4.3/f951 (sys-devel/gcc-4.4.3-r2)
Use emerge @preserved-rebuild to rebuild packages using these libraries


Ответ на: комментарий от stage3

Portage 2.2.8-r2 (hardened/linux/x86, gcc-4.4.3, glibc-2.10.1-r1, 2.6.34-gentoo-r1 i686)
=================================================================
System uname: Linux-2.6.34-gentoo-r1-i686-Intel-R-_Xeon-TM-_CPU_3.00GHz-with-gentoo-1.12.13
KiB Mem: 3114928 total, 329752 free
KiB Swap: 4192760 total, 4185572 free
Timestamp of tree: Tue, 27 Sep 2016 15:00:01 +0000
ld GNU ld (GNU Binutils) 2.20.1.20100303
app-shells/bash: 4.0_p37
dev-lang/perl: 5.12.3-r1
dev-lang/python: 2.6.4-r1, 3.1.2-r3
dev-util/cmake: 2.8.4-r1
dev-util/pkgconfig: 0.28-r2
sys-apps/baselayout: 1.12.13
sys-apps/sandbox: 1.6-r2
sys-devel/autoconf: 2.69
sys-devel/automake: 1.10.3, 1.11.1, 1.15
sys-devel/binutils: 2.20.1-r1
sys-devel/gcc: 4.4.3-r2, 4.9.3
sys-devel/gcc-config: 1.7.3
sys-devel/libtool: 2.4.6
sys-devel/make: 3.81
sys-kernel/linux-headers: 4.3 (virtual/os-headers)
sys-libs/glibc: 2.10.1-r1
Repositories: gentoo
ACCEPT_KEYWORDS=«x86»
ACCEPT_LICENSE=«* -@EULA»
CBUILD=«i686-pc-linux-gnu»
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CHOST=«i686-pc-linux-gnu»
CONFIG_PROTECT=«/etc /usr/lib/fax /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/bind /var/spool/fax/etc»
CONFIG_PROTECT_MASK=«/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo»
CXXFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
DISTDIR=«/usr/portage/distfiles»
EMERGE_DEFAULT_OPTS="--autounmask=n"
FCFLAGS="-march=i686 -O2 -pipe"
FEATURES=«assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news
parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync»
FFLAGS="-march=i686 -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR=«/usr/portage/packages»
PORTAGE_CONFIGROOT=«/»
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR=«/var/tmp»
PORTDIR=«/usr/portage»
PORTDIR_OVERLAY=«»
USE=«acpi ads apache2 bash-completion berkdb bitmap-fonts build bzip2 clamav freetype ftp gpm internal-glib ipc
kerberos ldap lm_sensors logrotate mbox mmx mysql ncurses nls php pie postfix python sample server shadow smbclien sse sse2 ssl ssp tls truetype-fonts vhosts x86 xml zlib» ABI_X86=«32» APACHE2_MODULES=«cgi cgid actions alias
auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile
authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires
ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite
setenvif speling status unique_id userdir usertrack vhost_alias» APACHE2_MPMS=«prefork» ELIBC=«glibc»
KERNEL=«linux» PYTHON_TARGETS="(-pypy) python2_7 python3_4 python3_5" USERLAND=«GNU»
Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS,
PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON

zema
() автор топика
Ответ на: комментарий от zema

тогда обновляй сначала @system, а потом мир

Deleted
()
Ответ на: комментарий от zema

Целый парк серверов на генте? И без локального бинхоста?

Deleted
()

sys-apps/baselayout-1.12

Уууу, древность, да.

Обновляйся потихоньку, конфликты разруливай force-ом там где надо, конфликтующие пакеты потом еще раз пересобери, чтобы убедиться что конфликтов больше нет

Для начала обнови тулчейн(gcc/binutils/glibc), а потом уже берись за остальной @system

gcc обновился
Portage 2.2.8-r2 (hardened/linux/x86, gcc-4.4.3, glibc-2.10.1-r1, 2.6.34-gentoo-r1 i686)

4.4.3 - это не обновился. Или ты забыл переключить активный gcc.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

Благодарю, буду заниматься!

zema
() автор топика

Обновление старой генты это тот ещё цирк.
Удачи, бро. Она тебе пригодится.
В Генте не очень заботятся об обновлении со старых версий.

Я бы сделал так:
Сначала советую сделать полный бекап.
Потом можно развернуть на /usr/portage не самое новое дерево, а где-то примерно старое + 1 год. Срезы портежей можно найти в системе контроля версий на сайте.
Обновиться полностью, исправить все косяки, почитать все eselect news read... Процесс повторять пока не дойдёшь до текущего состояния дерева.

Nao ★★★★★
()
Последнее исправление: Nao (всего исправлений: 1)

Ещё можно попробовать развернуть новую систему (например в виртуалке) скопировать туда старые конфиги:
/etc/portage/
/etc/make.conf
/var/lib/portage/world
(вроде больше ничего важного не забыл)
Убедиться что в make.conf не стоит оптимизация march/mtune = native.
Cобрать новую систему с помощью emerge --buildpkg @world.

Натравить старую систему на место где лежат бинарные пакеты или скопировать их на старую систему. На старой системе указать PORTAGE_BINHOST в make.conf

Короче смотри тут:
https://wiki.gentoo.org/wiki/Binary_package_guide/ru

Это по крайней мере избавит тебя от ошибок при сборке.

Nao ★★★★★
()
Последнее исправление: Nao (всего исправлений: 3)
Ответ на: комментарий от Nao

в процессе обновления :
-bash: error while loading shared libraries: libncurses.so.5:
cannot opens hared object file: No such file or directory
Теперь нет доступа локально и по ssh (((
Получиться ли восстановить libncurses.so.5 и как это лучше сделать?

zema
() автор топика
Ответ на: комментарий от zema

Ты вот это читал:

Use emerge @preserved-rebuild to rebuild packages using these libraries

в частности команду:

emerge @preserved-rebuild
выполнял?

Теперь меняй свой shell в /etc/passwd в установленной системе посредством LiveCD, либо если другой оболочки нет, то делай chroot, а в качестве оболочки вызывай /bin/busybox sh, т.е.

chroot /mnt/gentoo /bin/busybox sh
далее выполняй указанную команду.

Так же заместо неё можно вызывать revdep-rebuild из пакета app-portage/gentoolkit.

kostik87 ★★★★★
()
Ответ на: комментарий от zema

Пока есть какой-либо доступ и там есть сеть, возьми бинарный пакет какого-нибудь калькулейта нужных времён, либо поищи stage3 и скопируй битые файлы вручную, это вполне вариант исправить систему со сломанными libz/libreadline/libcurses/libgmp etc. (те либы, без которых ты ничего не сможешь сделать, может быть только шаманство с чрутами поможет, но это куда проще и надёжней) и предоставить возможность исправить косяки при пересборке.

Правда, если проблема не была устранена, пойдёт дальше в разнос, и оживить потом будет сложнее. Например, придётся загружаться с ливсд и копировать все либы из stage3 в рут убитой системы, потом пытаться чрутнуться и обновиться, но это уже экстрим. Как заставить портаж игнорировать при установке уже существующие на диске левые файлы и искать никому не принадлежащие ошмётки я рассказывать не буду.

anonymous
()
Ответ на: комментарий от zema

А, если там hardened, особенно с включёнными RBAC'ами, то это RIP, без вариантов. Разворачивай бэкап.

anonymous
()
Ответ на: комментарий от anonymous

Потом попробуй начать с emerge -eav @system и обновляй пакеты из @system поштучно, по очереди.

anonymous
()
Ответ на: комментарий от anonymous

Ладно, что касается проблемы из ОП, то чтобы портаж затирал коллизии молча, можно попробовать вызвать emerge как FEATURES="-collision-protect" emerge, должно сработать в принципе. Или добавить FEATURES="${FEATURES} -collision-protect" в make.conf. Да, это плохая идея так-то, но не помню чтобы хоть раз портаж ловил что-либо адекватное с помощью этой фичи, только приходится удалять файлы вручную регулярно.

anonymous
()
Ответ на: комментарий от zema

Поднял старый бэкап : /dev/evms/boot /boot ext2 noauto,noatime 1 2
/dev/evms/root / ext3 noatime 0 1
/dev/evms/home /home ext3 noatime 0 1
/dev/evms/tmp /tmp ext3 noatime 0 1
/dev/evms/usr /usr ext3 noatime 0 1
/dev/evms/var /var ext3 noatime 0 1
Подскажите как правильно примонтировать такую конфигурацию с live-cd ?
Планирую попробовать решить проблему копированием недостающих файлов, но опять таки смогу ли я примонтировать нужный раздел. Огромное спасибо за подробные изложения и помощь.

zema
() автор топика
Ответ на: комментарий от zema
vgchange -ay
mkdir /mnt/gentoo
mount /dev/evms/root /mnt/gentoo -t ext3
mount /dev/evms/home /mnt/gentoo/home -t ext3
mount /dev/evms/tmp /mnt/gentoo/tmp -t ext3
mount /dev/evms/usr /mnt/gentoo/usr -t ext3
mount /dev/evms/var /mnt/gentoo/var -t ext3

если далее нужен chroot, то:

mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev

kostik87 ★★★★★
()
Ответ на: комментарий от zema

cennot execute «/sbin/rc» entering runlevel : 3
система не грузится после ребута

zema
() автор топика

К чему вообще эти страдания? Если там генту 2005 года, можно попробовать поочерёдно подсовывать снапшоты портажа за 2007, 2009, 2011 и далее годы. Исправлять все возникающие проблемы поочерёдно. Не далее чем полгода назад у меня вполне успешно обновилась стейбл-гента-харденед 2014 года на серванте, вообще без проблем. Но не проще ли сдёрнуть список пакетов из world файла и перечень никому не принадлежащих файлов, а также все конфиги (которые в любом случае могут и окажутся недействительными после обновки) и развернуть начисто?

Если так хочется пойти трудным путём, то стоит начать с обновления тулчейна и ядра, потом уже софт.

anonymous
()
Ответ на: комментарий от anonymous

В случае hardened всё несколько интересней, наверно начать лучше с ядра, иначе тулчейн просто не соберётся. А вот соберётся ли актуальное ядро древним компилятором, сказать не могу.

anonymous
()
Ответ на: комментарий от zema

На выбор: откатить бэкапы или загрузиться с ливсд.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.