Как заставить установку измененного файла.bin?

Я изменил.bin-файл для программного обеспечения ELAN, чтобы путь к одной из моих библиотек был правильным (после установки ELAN не может найти библиотеку, потому что путь не правильный). Поэтому я использовал Emacs, чтобы исправить это.

Но когда я использую команды для установки.bin-файла:

sudo chmod +x ELAN_440_linux_novm_install.bin
./ELAN_440_linux_novm_install.bin

Я получаю сообщение об ошибке:

Preparing to install...
Extracting the installation resources from the installer archive...
The size of the extracted files to be installed are corrupted.  Please try to download the installer again and make sure that you download using 'binary' mode.  
Please do not attempt to install this currently downloaded copy.

Вероятно, это связано с тем, что я добавил несколько символов в проблемную строку.

Есть ли способ форсировать установку, поскольку я знаю, что файл не был поврежден до того, как я его отредактировал?

1 ответ

Решение

В большинстве случаев манипулирование установочными файлами - плохая идея. Как вы уже заметили, это нарушило контрольную сумму (поддерживается, чтобы никто не вмешивался в нее и, возможно, не вводил вредоносный код). Гораздо лучшая идея состоит в том, чтобы решать такие проблемы снаружи, либо путем настройки переменных пути (которые не будут работать в этом случае), либо с помощью символических ссылок.

В вашем случае решение так же просто, как

ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6

Так что при поиске /lib/libc.so.6двоичный файл находит символическую ссылку и "перенаправляется" на /lib/i386-linux-gnu/libc.so.6 (чтобы выразить это простыми словами - как это работает точно, вы можете прочитать на связанной странице Википедии; но для вашего понимания достаточно думать об этом как об особом виде "закладки" - так что даже если сам файл получает заменено, символическая ссылка остается действительной, указывая на обновленный файл).

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