LINUX.ORG.RU

Почему coreutils не собирают статически?


0

1

Запустил команду emerge -auvDNGK @world
и машина превратилась в тыкву

server /lib64 # cp
cp: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by cp)
server /lib64 # mv
mv: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by mv)
server /lib64 # wget
wget: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

sftp не может приконнектиться к серверу, потому что там библиотек не хватает. В общем, закачать их туда неясно как.

Насколько я понимаю, надо идти 10 километров зимой в мороз в гору и загружаться с DVD (ISO-диска), потом копировать недостающие файлы и перезапускать.

Я считаю, что надо было собрать coreutils и ssh статически. А мейнтейнеры генты так не считают. Они неправы.

★★★★

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

Я считаю, что было собрать coreutils и ssh статически

что мешаел приступить к делу?!

Shushundr ★★★  Вечный нытик

achievement unlocked :)

aol ★★★★★
()

Я считаю, что надо было собрать coreutils и ssh статически. А мейнтейнеры генты так не считают. Они неправы.

Мнение — оно как дырка в жопе. Есть у каждого.

Делай свой дистр с любыми упоротыми решениями. Или не ной. Присоединиться к suckless, где тоже любят всё статически собирать, не предлагаю — там надо уметь кодить (действительно уметь).

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

Она у меня и так (в профиле) слинкована статически:

# emerge -av busybox

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

Calculating dependencies... done!
Dependency resolution took 7.81 s.

[ebuild   R    ] sys-apps/busybox-1.36.1::gentoo  USE="static systemd -debug -livecd -make-symlinks -math -mdev -pam -savedconfig (-selinux) -sep-usr -syslog" 0 KiB

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

USE=«static» - указан

Но что-то я не вижу туториала с названием «как использовать busybox для восстановления Gentoo с неработающим glibc?»

https://wiki.gentoo.org/wiki/Busybox

рекомендует запустить busybox ash, но на обновляемом сервере busybox не установлена, потому что busybox не входит в @system:

$ equery l @system
 * Searching for @system ...
[IP-] [  ] app-admin/eselect-1.4.26:0
[IP-] [  ] app-alternatives/awk-4:0
[IP-] [  ] app-alternatives/bzip2-1:0
[IP-] [  ] app-alternatives/gzip-0:0
[IP-] [  ] app-alternatives/sh-0:0
[IP-] [  ] app-alternatives/tar-0:0
[IP-] [  ] app-arch/bzip2-1.0.8-r4:0/1
[IP-] [  ] app-arch/gzip-1.13:0
[IP-] [  ] app-arch/tar-1.35:0
[IP-] [  ] app-arch/xz-utils-5.4.3:0
[IP-] [  ] app-shells/bash-5.1_p16-r6:0
[IP-] [  ] net-misc/iputils-20221126-r1:0
[IP-] [  ] net-misc/rsync-3.2.7-r2:0
[IP-] [  ] net-misc/wget-1.21.4:0
[IP-] [  ] sec-keys/openpgp-keys-gentoo-release-20230329:0
[IP-] [  ] sys-apps/baselayout-2.14:0
[IP-] [  ] sys-apps/coreutils-9.3-r3:0
[IP-] [  ] sys-apps/diffutils-3.10:0
[IP-] [  ] sys-apps/file-5.45-r1:0
[IP-] [  ] sys-apps/findutils-4.9.0-r2:0
[IP-] [  ] sys-apps/gawk-5.2.2:0
[IP-] [  ] sys-apps/grep-3.11:0
[IP-] [  ] sys-apps/iproute2-6.4.0:0
[IP-] [  ] sys-apps/kbd-2.6.1:0
[IP-] [  ] sys-apps/kmod-30-r1:0
[IP-] [  ] sys-apps/less-633:0
[IP-] [  ] sys-apps/man-pages-6.05.01:0
[IP-] [  ] sys-apps/net-tools-2.10:0
[IP-] [  ] sys-apps/sed-4.9:0
[IP-] [  ] sys-apps/shadow-4.13-r4:0/4
[IP-] [  ] sys-apps/util-linux-2.38.1-r2:0
[IP-] [  ] sys-apps/which-2.21:0
[IP-] [M ] sys-devel/binutils-2.39-r5:2.39
[IP-] [  ] sys-devel/binutils-2.40-r5:2.40
[IP-] [  ] sys-devel/gcc-12.3.1_p20230526:12
[IP-] [  ] sys-devel/gcc-13.2.1_p20230826:13
[IP-] [  ] sys-devel/gnuconfig-20230731:0
[IP-] [  ] sys-devel/make-4.4.1-r1:0
[IP-] [  ] sys-devel/patch-2.7.6-r5:0
[IP-] [  ] sys-fs/e2fsprogs-1.47.0-r2:0
[IP-] [  ] sys-process/procps-3.3.17-r2:0/8
[IP-] [  ] sys-process/psmisc-23.6:0
[IP-] [  ] virtual/dev-manager-0-r2:0
[IP-] [  ] virtual/editor-0-r6:0
[IP-] [  ] virtual/libc-1-r1:0
[IP-] [  ] virtual/man-0-r4:0
[IP-] [  ] virtual/os-headers-0-r2:0
[IP-] [  ] virtual/package-manager-1:0
[IP-] [  ] virtual/pager-0-r1:0
[IP-] [  ] virtual/service-manager-1-r1:0
[IP-] [  ] virtual/ssh-0-r2:0

«Busybox was removed from the system set in 2021-09.»

Ага, ну спасибо.

Поэтому надо её туда как-то залить. Но не написано как.

Мне, кстати, busybox не нравится тем, что там не bash и утилиты с урезанными функциями. А по wiki непонятно, будет ли toybox лучше в этом смысле.

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

Что-то ты офигел в край. Еду за тебя кто жует?

Я пока ещё не нашел виноватого (это не могу быть я по-определению).

Зачем @firkax ставит (🪗)? Наверное намекает, что такой вопрос был рассмотрен ранее и было решение.

Однако ситуация возникла? Возникла. Почему? Потому что неправильные гайды по установке.

поставить NixOS и без автороллбэка больше не деплоить

Я тут внимательно пригляделся к серверу, у него файловая система btrfs и он был подготовлен для того, чтобы перед обновлением сделать снапшот. Но откуда мне об этом было знать? Снапшота, я, конечно, не сделал. По каким причинам в NixOS я не скосячу точно так же?

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

Потому что NixOS не нужны такие квадратно-гнездовые практики прошлого, как снапшоты ФС, чтобы утилита deploy, применив новую конфигурацию и не могучи залогиниться после этого, сделала rollback обратно.

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

Между прочим, если скопировать просто busybox, собранный с USE=«static», то он работать не будет:

# chroot /mnt/gentoo /bin/busybox ash
/bin/busybox: symbol lookup error: /lib64/libc.so.6: undefined symbol: _dl_audit_symbind_alt, version GLIBC_PRIVATE

а вот если докопировать glibc, то работать начинает, но в этом случае начинают работать и системные ls, cp и т.д., и весь смысл копировать busybox теряется…

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)
  1. Собирают, называется busybox.

  2. sftp это не coreutils

  3. Выражай свое «фи» рукожопому хостеру, который собрал нерабочий образ и/или кривой chroot в нем.

harbinger
()