Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

6.54.1. Установка Coreutils

POSIX требует, чтобы программы Coreutils правильно распознавали границы символов даже в многобайтовых языковых стандартах. Следующий патч исправляет это несоответствие и другие ошибки, связанные с интернационализацией.


патч -Np1 -i ../coreutils-8.31-i18n-1.patch

патч -Np1 -i ../coreutils-8.31-i18n-1.patch


Внимание

В прошлом в этом патче было обнаружено много ошибок. Сообщая разработчикам Coreutils о новых ошибках, сначала проверьте, воспроизводятся ли они без этого патча.

Внимание

В прошлом в этом патче было обнаружено много ошибок. Сообщая разработчикам Coreutils о новых ошибках, сначала проверьте, воспроизводятся ли они без этого патча.

изображение

Подавить тест, который на некоторых машинах может повторяться бесконечно:


sed -i '/test.lock/s/^/#/' gnulib-tests / gnulib.mk

sed -i '/test.lock/s/^/#/' gnulib-tests / gnulib.mk

Теперь подготовим Coreutils к компиляции:


autoreconf -fiv FORCE_UNSAFE_CONFIGURE = 1 ./configure \

--prefix = / usr \

--enable-no-install-program = kill, время безотказной работы

autoreconf -fiv FORCE_UNSAFE_CONFIGURE = 1 ./configure \

--prefix = / usr \

--enable-no-install-program = kill, время безотказной работы

Значение параметров настройки:

автореконф

Эта команда обновляет сгенерированные файлы конфигурации в соответствии с последней версией automake.

FORCE_UNSAFE_CONFIGURE = 1

Эта переменная среды позволяет создать пакет от имени пользователя root.

--enable-no-install-program = kill, время безотказной работы

Назначение этого переключателя - предотвратить установку Coreutils двоичных файлов, которые позже будут установлены другими пакетами.

Скомпилируйте пакет:


сделать

сделать

Перейдите к пункту «Установить пакет», если вы не запускаете набор тестов.

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


сделать NON_ROOT_USERNAME = никто не проверяет root

сделать NON_ROOT_USERNAME = никто не проверяет root

Мы собираемся запустить оставшиеся тесты как никто Пользователь. Однако некоторые тесты требуют, чтобы пользователь был членом более чем одной группы. Чтобы эти тесты не пропускались, добавим временную группу и заставим пользователя никто его часть:


echo "пустышка: x: 1000: никто" >> / etc / group

echo "пустышка: x: 1000: никто" >> / etc / group


Исправьте некоторые разрешения, чтобы пользователь без полномочий root мог компилировать и запускать тесты:


chown -Rv никто.

chown -Rv никто.

Теперь запустим тесты. Убедитесь, что ПУТЬ в su среда включает / tools / bin.


su никто -s / bin / bash \

-c "ПУТЬ = $ ПУТЬ сделать RUN_EXPENSIVE_TESTS = да проверить"

su никто -s / bin / bash \

-c "ПУТЬ = $ ПУТЬ сделать RUN_EXPENSIVE_TESTS = да проверить"

Известно, что тестовая программа test-getlogin не работает в частично созданной системной среде, такой как здесь chroot-среда, но проходит, если запускается в конце этой главы. Известно также, что тестовая программа tty.sh завершилась неудачно.

Удалите временную группу:


sed -i '/ фиктивный / d' / и т. д. / группа

sed -i '/ фиктивный / d' / и т. д. / группа

Установите пакет:


сделать установку

сделать установку

Переместите программы в места, указанные FHS:


mv -v / usr / bin / {cat, chgrp, chmod, chown, cp, date, dd, df, echo} / bin mv -v / usr / bin / {false, ln, ls, mkdir, mknod, mv, pwd, rm} / bin

mv -v / usr / bin / {rmdir, stty, sync, true, uname} / bin mv -v / usr / bin / chroot / usr / sbin

mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 sed -is / \ "1 \" / \ "8 \" / 1 / usr / share / man /man8/chroot.8

mv -v / usr / bin / {cat, chgrp, chmod, chown, cp, date, dd, df, echo} / bin mv -v / usr / bin / {false, ln, ls, mkdir, mknod, mv, pwd, rm} / bin

mv -v / usr / bin / {rmdir, stty, sync, true, uname} / bin mv -v / usr / bin / chroot / usr / sbin

mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 sed -is / \ "1 \" / \ "8 \" / 1 / usr / share / man /man8/chroot.8

Некоторые сценарии в пакете LFS-Bootscripts зависят от , хороший, спатьи трогать. Так как / USR могут быть недоступны на ранних и поздних этапах загрузки, эти двоичные файлы должны находиться в корневом разделе для обеспечения соответствия FHS:


mv -v / usr / bin / {голова, приятно, спать, прикоснуться} / bin

mv -v / usr / bin / {голова, приятно, спать, прикоснуться} / bin


Лучшие облачные вычисления для ОС в OnWorks: