LINUX.ORG.RU

не собирается systemd после systemd-usrmerge

 , , ,


0

1

Привет всем! Помогите осилить обновление systemd. Что случилось: после установки sys-apps/merge-usr, выполнения скрипта и переключения на новый профиль - не собирается новая версия systemd и система грузится странно (на многих этапах долго думает и не запускает графику, хотя gdm в статусе «running»). При сборке ошибка что каталоги не являются символьными ссылками. Скрипт что-то не доделал? Пишу из соседней убунты, могу чрутануться и посмотреть что-то, если мало информации


При запуске merge-usr --dryrun были сообщения об ошибках и конфликтах?

emerge -uDN @world после переключения профиля выполнен?

Что показывает вывод команды tree -L 1? Утилита tree ставится отдельно.

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

ошибок не было. Обновление выполнил, всё кроме sytemd обновилось.

tree -L 1
.
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── link
├── media
├── mnt
├── opt
├── pamyatka
├── proc
├── root
├── run
├── sbin -> usr/bin
├── srv
├── sys
├── tmp
├── usr
└── var

19 directories, 2 files
Ebnmrj
() автор топика

вру, собирается и не устанавливается, но это не меняет сути.

 >>> Installing (1 of 1) sys-apps/systemd-251.8::gentoo
 * checking 1795 files for package collisions
>>> Merging sys-apps/systemd-251.8 to /
 * '/usr/sbin' is not a symbolic link.
 * Migration to system layout with merged directories must be performed before
 * installing sys-apps/systemd with USE="-split-usr" to avoid run-time breakage.
 * ERROR: sys-apps/systemd-251.8::gentoo failed (preinst phase):
 *   System layout with split directories still used
 * 
 * Call stack:
 *     ebuild.sh, line 136:  Called pkg_preinst
 *   environment, line 3999:  Called die
 * The specific snippet of code:
 *               die "System layout with split directories still used";
 * 
 * If you need support, post the output of `emerge --info '=sys-apps/systemd-251.8::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/systemd-251.8::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-apps/systemd-251.8/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/systemd-251.8/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-apps/systemd-251.8/empty'
 * S: '/var/tmp/portage/sys-apps/systemd-251.8/work/systemd-stable-251.8'
!!! FAILED preinst: 1

>>> Failed to install sys-apps/systemd-251.8, Log file:

>>>  '/var/tmp/portage/sys-apps/systemd-251.8/temp/build.log'

 * Messages for package sys-apps/systemd-251.8:

 * '/usr/sbin' is not a symbolic link.
 * Migration to system layout with merged directories must be performed before
 * installing sys-apps/systemd with USE="-split-usr" to avoid run-time breakage.
 * ERROR: sys-apps/systemd-251.8::gentoo failed (preinst phase):
 *   System layout with split directories still used
 * 
 * Call stack:
 *     ebuild.sh, line 136:  Called pkg_preinst
 *   environment, line 3999:  Called die
 * The specific snippet of code:
 *               die "System layout with split directories still used";
 * 
 * If you need support, post the output of `emerge --info '=sys-apps/systemd-251.8::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/systemd-251.8::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-apps/systemd-251.8/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/systemd-251.8/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-apps/systemd-251.8/empty'
 * S: '/var/tmp/portage/sys-apps/systemd-251.8/work/systemd-stable-251.8'
 * 
 * The following package has failed to build, install, or execute postinst:
 * 
 *  (sys-apps/systemd-251.8:0/2::gentoo, ebuild scheduled for merge), Log file:
 *   '/var/tmp/portage/sys-apps/systemd-251.8/temp/build.log'
Ebnmrj
() автор топика
Ответ на: комментарий от Ebnmrj

die «System layout with split directories still used»;

Оно тебе человеческим языком даже предлагает installing sys-apps/systemd with USE="-split-usr" to avoid run-time breakage

А вот что конкретно ему не нравиццо:
‘/usr/sbin’ is not a symbolic link

Roy-Batty
()
Последнее исправление: Roy-Batty (всего исправлений: 1)
Ответ на: комментарий от Roy-Batty

а не хочет оно, собака, так собирать. Ты был прав, но не хочет

USE="split-usr" emerge -1av systemd

These are the packages that would be merged, in order:

Calculating dependencies            ... done!  
[ebuild     U  ] sys-apps/systemd-251.8:0/2::gentoo [251.7:0/2::gentoo] USE="acl dns-over-tls gcrypt kmod lz4 openssl pam pcre policykit resolvconf seccomp sysv-utils zstd -apparmor -audit -cgroup-hybrid -cryptsetup -curl -elfutils -fido2 -gnuefi -gnutls -homed -http -idn -importd -iptables -lzma -pkcs11 -pwquality -qrcode (-selinux) (-split-usr*) -test -tpm -vanilla -xkb" ABI_X86="32 (64) (-x32)" 0 KiB

Total: 1 package (1 upgrade), Size of downloads: 0 KiB

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

Я взял не с потолка

>>> Installing (1 of 1) sys-apps/systemd-251.8::gentoo
 * checking 1795 files for package collisions
>>> Merging sys-apps/systemd-251.8 to /
 * '/usr/sbin' is not a symbolic link.
 * Migration to system layout with merged directories must be performed before
 * installing sys-apps/systemd with USE="-split-usr" to avoid run-time breakage.
 * ERROR: sys-apps/systemd-251.8::gentoo failed (preinst phase):
 *   System layout with split directories still used
 * 
Roy-Batty
()
Ответ на: комментарий от Roy-Batty

дык да, я тоже вижу. Скрипт отработал ещё раз. Руками всё переносить? Я же правильно понимаю, что символьная ссылка вроде существует, но недоперенеслось что-то?

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

Мне кажется, что его нужно отрубить наоборот. Хотя это должно профилем подтягиваться. Остальные пакеты обновлены, зависящие от этого флага?

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

Я не знаю, что там со скриптами. Systemd это не отдельный профиль, а отдельный stage3 для установки. Уж больно много измененений.

Если ставишь - ставь с нуля. Если переходишь с openrc, тогда сразу возникает вопрос, что за WM, потому как один профит - wayland сессия работает без танцев. В остальном смысла нет и больше зависимостей/компилирования.

Roy-Batty
()
Ответ на: комментарий от Roy-Batty

сейчас отдельный профиль для перехода

eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/17.1 (stable)
  [2]   default/linux/amd64/17.1/selinux (stable)
  [3]   default/linux/amd64/17.1/hardened (stable)
  [4]   default/linux/amd64/17.1/hardened/selinux (stable)
  [5]   default/linux/amd64/17.1/desktop (stable)
  [6]   default/linux/amd64/17.1/desktop/gnome (stable)
  [7]   default/linux/amd64/17.1/desktop/gnome/systemd (stable)
  [8]   default/linux/amd64/17.1/desktop/gnome/systemd/merged-usr (stable) *
  [9]   default/linux/amd64/17.1/desktop/plasma (stable)
  [10]  default/linux/amd64/17.1/desktop/plasma/systemd (stable)
  [11]  default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr (stable)
  [12]  default/linux/amd64/17.1/desktop/systemd (stable)
  [13]  default/linux/amd64/17.1/desktop/systemd/merged-usr (stable)
  [14]  default/linux/amd64/17.1/developer (exp)
  [15]  default/linux/amd64/17.1/no-multilib (stable)
  [16]  default/linux/amd64/17.1/no-multilib/hardened (stable)
  [17]  default/linux/amd64/17.1/no-multilib/hardened/selinux (stable)
  [18]  default/linux/amd64/17.1/no-multilib/systemd (dev)
  [19]  default/linux/amd64/17.1/no-multilib/systemd/merged-usr (dev)
  [20]  default/linux/amd64/17.1/no-multilib/systemd/selinux (exp)
  [21]  default/linux/amd64/17.1/no-multilib/systemd/selinux/merged-usr (exp)
  [22]  default/linux/amd64/17.1/systemd (stable)
  [23]  default/linux/amd64/17.1/systemd/merged-usr (stable)
  [24]  default/linux/amd64/17.1/systemd/selinux (exp)
  [25]  default/linux/amd64/17.1/systemd/selinux/merged-usr (exp)
  [26]  default/linux/amd64/17.1/clang (exp)
  [27]  default/linux/amd64/17.1/systemd/clang (exp)
  [28]  default/linux/amd64/17.1/systemd/clang/merged-usr (exp)
  [29]  default/linux/amd64/17.0/x32 (dev)
  [30]  default/linux/amd64/17.0/x32/systemd (exp)
  [31]  default/linux/amd64/17.0/x32/systemd/merged-usr (exp)
  [32]  default/linux/amd64/17.0/musl (dev)
  [33]  default/linux/amd64/17.0/musl/clang (exp)
  [34]  default/linux/amd64/17.0/musl/hardened (exp)
  [35]  default/linux/amd64/17.0/musl/hardened/selinux (exp)

Ebnmrj
() автор топика
Ответ на: комментарий от Roy-Batty

дело в том, что портеджу совершенно не интересно, с каким явно указанным флагом я пытаюсь обновиться, причём он игнорирует как указание USE= перед emerge, так и указание флага в package.use

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

Я бы прошелся по списку файлов которые конфликтные (ERROR), удалил их из /usr/bin и перезапустил merge-usr чтоб он отработал без ошибок.

Странно что появились бесхозные дубли, то ли скрипт не отработал правильно, то ли был прерван.

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

Вот странно, что в https://wiki.gentoo.org/wiki/Merge-usr Об этом не упоминается.

Но вообще передподобными манипуляциями рекомендуют сначала обновить систему.

Лучше, конечно, ТСу создать баг с подробным описанием, либо набратиться на канал #gentoo в liberachat - там быстрее помогут. Вряд ли здесь много пользователей systemd в gentoo.

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

оформление багов - не самая сильная сторона меня))) Система была обновлена, там же написано было в новости, что обнови, мол, систему сначала. Я сначала пройдусь по файлам, ка выше советуют. Только попозже - работа, а там внимательно надо, да и то я их лучше забэкаплю, чем в /dev/null сразу

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

У меня ноут с mint на systemd есть. А в gentoo накатил openrc по привычке, чтобы с другими ранее установленными одинаково было. Максимум, что я делал - добавлял в автозапуск, после чего годами не трогал ничего. Поэтому преимуществ никаких одного перед другим для меня нет, если б кто переключил у меня системы с одного на другое, то я б и не заметил.

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

Поэтому преимуществ никаких

Таки есть с openrc, если цель убрать лишнее. Systemd требует больше умолчательных ненужных (ну, это для кого как) вещей. И тупо больше компилировать. Если система на WM - меньше ест памяти при старте и не требует манипуляций по правам с доп утилитами, ИМО.

Повторю, профит заметен только на Wayland WM окружении, которое стремится к Wayland native (и при должном трахе почти-почти).

Roy-Batty
()
Последнее исправление: Roy-Batty (всего исправлений: 1)