fed71 писал: ↑07.09.2018 16:42
И чем так смущает install.sh?
Да всем. Скачал вот, глянул — всё то же, с чем я имел дело раньше, внутри пакеты rpm и deb. Каким образом скрипт решает, что ему ставить? Очень просто:
Круто. Вот в той самой системе, с которой я сейчас пишу, эта проверка вернёт истину, хотя это Debian. Ну поставил я себе rpm, нужен он мне для работы. А ещё автор скрипта определённо не в курсе, что в некоторых дистрибутивах (не будем показывать пальцем) which
всегда возвращает 0. В данном случае это не страшно, потому что по совпадению именно эти дистрибутивы — rpm-based, но мало ли где там ещё подобные проверки могут встретиться, — я весь скрипт не смотрел. Я его только открыл и проверил первое, что мне пришло в голову.
А что же мы видим в самих пакетах, которые лежат в "64-bit_Driver"?
Shell
% file usr/bin/*
usr/bin/c3pldrv: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.5, stripped
usr/bin/cngplp: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.0, stripped
usr/bin/cnjatool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.0, stripped
usr/bin/cnpkbidi: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.9, stripped
usr/bin/cnpkmoduleufr2: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.9, stripped
usr/bin/cnsetuputil: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.0, stripped
Гениально! Ровно половина блобов — 32-битные. Так же, как и раньше, хотя я надеялся, что за столько лет Canon мог бы исправиться. Помнится, поскольку эти блобы требуют библиотеки, которые в зависимостях пакета не прописаны, мне пришлось делать из системы multiarch, посредством ldd искать, какие библиотеки нужны, и доустанавливать соответствующие пакеты вручную. Развлекалово то ещё. Возможно, то же самое должен делать означенный install.sh, но запускать его после увиденного никакого желания ни сейчас нет, ни тогда не возникло.