Перейти к содержанию

bash⚓︎

Усовершенствованная и модернизированная вариация командной оболочки Bourne shell. Этот пакет выполняет требования стандарта LSB Core для обеспечения интерфейса Bourne Shell в системе. Он был выбран из числа других оболочек из-за широкого распространения и возможностей, которые выходят далеко за пределы базовых функций программ-оболочек.

Версия: 5.1.8

Размер: 10.05Mb

Приоритет: Необходимый

Оригинальное расположение: https://ftp.gnu.org/gnu/bash/bash-5.1.8.tar.gz

Ссылка для загрузки: https://lx4u.ru/downloads/packages/bash-5.1.8.tar.gz

MD5: 23eee6195b47318b9fd878e590ccb38c

Домашняя страница: https://www.gnu.org/software/bash

SBU (Сборка временной системы): 0.3

SBU: 0.3

Подготовка⚓︎

Для многоядерных процессоров внесите исправление, которое устраняет проблему "состояния гонки" при использовании нескольких ядер.

sed -i  '/^bashline.o:.*shmbchar.h/a bashline.o: ${DEFDIR}/builtext.h' Makefile.in

Настройка⚓︎

./configure --prefix=/usr                    \
            --without-bash-malloc            \
            --with-installed-readline

Значения параметров⚓︎

--without-bash-malloc - этот параметр отключает использование функции выделения памяти (malloc) Bash, которая вызывает ошибки сегментации. Отключив эту опцию, Bash будет использовать функции malloc из libc, которые более стабильны.

--with-installed-readline - указывает на то, что следует задействовать ранее установленную библиотеку readline, вместо использования внутренней.

Сборка⚓︎

make

Тестирование⚓︎

Для корректного выполнения тестов, сделайте пользователя tester владельцем каталога и запустите тесты от пользователя tester

chown -Rv tester .
su tester << EOF
PATH=$PATH make tests < $(tty)
EOF

Установка⚓︎

make install

При раздельной структуре каталогов⚓︎

Создайте ссылку на нужный бинарный файл.

mv -vf /usr/bin/bash /bin

bash должен находиться в /bin. Для упрощённой структуры этого делать не требуется.

Запуск новой сессии⚓︎

Запустите bash (заменив тот, который в настоящее время выполняется):

exec /bin/bash --login +h
Back to top