Более простой ответ - использовать соответствующий ld-linux.so
для запуска соответствующего приложения и указать PATH
и LD_LIBRARY_PATH
соответственно. ld-linux.so
обычно указывает на файл .so загрузчика solid dynamici c.
В качестве примера, продолжайте использовать пространство имен в моем вопросе выше, чтобы проиллюстрировать, как это будет работать:
При просмотре в пространстве имен мы сохраним двоичные файлы для старых system в каталоге /opt
и установите все новое для системы FC30 в обычный root.
Измените приведенную выше команду копирования cp -a /bin /sbin /lib /usr ./
на:
mkdir opt
cp -a /bin /sbin /lib /usr ./opt/
Внутри пространства имен все бинарные файлы старой версии по-прежнему доступны, добавив измененные PATH
и LD_LIBRARY_PATH
, и ld-*.so
.
Первый шаг - запустить оболочку, используя старую версию в пространстве имен:
LD_LIBRARY_PATH=/opt/lib:/opt/usr/lib PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin \
/opt/lib/ld-2.24.so /opt/bin/sh
В этой используемой оболочке установите пакеты для bash для запуска для версии FC25:
/opt/lib/ld-2.24.so /opt/bin/rpm -i bash-4.3.43-4.fc25.armv7hl.rpm
/opt/lib/ld-2.24.so /opt/bin/rpm -i file-5.28-4.fc25.armv7hl.rpm
/opt/lib/ld-2.24.so /opt/bin/rpm -i file-libs-5.28-4.fc25.armv7hl.rpm
/opt/lib/ld-2.24.so /opt/bin/rpm -i glibc-2.24-10.fc25.armv7hl.rpm
/opt/lib/ld-2.24.so /opt/bin/rpm -i glibc-common-2.24-10.fc25.armv7hl.rpm
/opt/lib/ld-2.24.so /opt/bin/rpm -i ncurses-base-6.0-6.20160709.fc25.noarch.rpm
/opt/lib/ld-2.24.so /opt/bin/rpm -i ncurses-libs-6.0-6.20160709.fc25.armv7hl.rpm
/opt/lib/ld-2.24.so /opt/bin/rpm -i libgcc-6.4.1-1.fc25.armv7hl.rpm
После установки этих пакетов версию FC25 bash можно нормально использовать после следующей команды:
LD_LIBRARY_PATH=/lib:/usr/lib PATH=/bin:/sbin:/usr/bin:/usr/sbin /usr/bin/bash
Процедура установки двоичных файлов FC30 и других пакетов одинакова , После установки достаточного количества пакетов инструментов можно использовать инструменты версии F C для установки большего количества пакетов. Старая версия под /opt
в пространстве имен может быть удалена.