миграция (не устанавливающий) 32-разрядное неясное программное обеспечение прежней версии на 64-разрядных 16.04 LTS

У меня есть очень старое (8 лет!) сервер, который был недавно поврежден скачком питания, когда высоковольтный понижающий трансформатор в здании "прекратил быть". Это больше не будет загружаться от жесткого диска, никакой путь не как. Этот сервер выполнял Slackware 13 и подавал пакет бухгалтерских программ, записанный на языке PVX. Целая система является 32-разрядной. Я сумел загрузить систему от USB с помощью Ubuntu 16.04 LTS, вручную установленный, затем запустился, различное программное обеспечение набега, требуемое поднять один из массивов, уклонился от набора символьных ссылок, восстановил несколько .ssh каталогов и вуаля! у нас есть псевдостабильная машина, которая вручала бухгалтерское программное обеспечение в продуктивной среде. Я задерживаю свое дыхание, что нет никаких перебоев в питании, которые переживают UPS, поскольку целой системой является LiveCD.

Тем временем я настроил новый сервер из того же изображения, используемого для начальной загрузки старой машины (16.04 LTS), конечно, это является 64-разрядным. Я скопировал по программному обеспечению и каталогам данных со старого сервера, все полномочия и местоположения корректны. У меня первоначально были проблемы, получающие PVX слушающие демоны запуститься, поскольку они не были даже распознаны как исполняемый файл, пока я вручную не добавил некоторые i386 пакеты (libc6, libc5, libncurses5, и т.д. поскольку ему было нужно/lib/ld-linux.so.2). Теперь сценарии запуска будут работать, слушающие демоны слушают, клиенты ПК могут соединиться, но они не могут войти в систему..., ошибка возвращается, что другой программе PVX (ВХОД В СИСТЕМУ) не удается работать. Это нечетно мне, что "попытка, Ubuntu" LiveCD запустит программное обеспечение очень хорошо без модификаций безотносительно (т.е. никакая ручная установка 32-разрядных пакетов), но чистая установка на новой машине, испытывает недостаток во многих библиотеках. Кроме того, на установке LiveCD существует ~90 библиотек на верхнем уровне / каталога lib, тогда как на чистой установке существует только один: ld-linux.so.2. все другие библиотеки находятся в/lib/i386-linux-gnu и/lib/x86_64-linux-gnu подкаталоги. Я мог просто генерировать соответствующие ссылки в / lib, которые указывают на файлы в i386 и i86_64 директорах, но я не решаюсь начинать делать путаницу...

Любая справка ЗНАЧИТЕЛЬНО ценится.

0
задан 17 August 2016 в 22:32

1 ответ

Вы получили первый шаг, получив установленный загрузчик на 32 бита (Ваш/lib/ld-linux.so.2 от пакета libc6-x32), таким образом, вывод ldd на Вашем исполняемом файле на 32 бита должен быть разумным (т.е. не требующий "не динамический исполняемый файл"), и можно определить, где программа ожидает находить библиотеки и добавлять необходимое для него. Мне не также было трудно заставить старые 32 бита progs выполнять тот путь.

0
ответ дан 28 September 2019 в 16:45

Другие вопросы по тегам:

Похожие вопросы: