Ошибка при попытке запустить GCCG при загрузке разделяемых библиотек: libjpeg.so.62: невозможно открыть файл общих объектов

Самый простой способ - использовать dd, но общая жалоба заключается в том, что dd не создает индикатор выполнения при копировании большого диска. Вы можете использовать средство просмотра каналов (pv) в сочетании с dd, чтобы показать индикатор выполнения и ETA для завершения. Установите pv с

sudo apt-get install pv

Дисковод, который вы копируете, не нужно монтировать, и если вы восстанавливаете данные с поврежденного диска, это хорошая идея, если он не монтируется в режиме чтения / записи Режим. Все, что вы делаете с диском, может переписать удаленные данные или привести к дальнейшему повреждению файловой системы. [62] В этот момент нужно сделать небольшую копию, чтобы включить восстановление, не подвергая данные дальнейшему риску.

Две вещи, которые вам нужно знать, прежде чем продолжить, - это имя устройства диска, который вы копируете, и его реальный размер. Оба они могут быть найдены путем выдачи команды

sudo fdisk -l

, которая отображает диски, прикрепленные к системе, и их размер в MiB.

В своем простейшем для команды для копирования диск в файл viewer канала (pv) в текущем каталоге:

sudo dd if=/dev/sdx of=rescue.dd

, где / dev / sdx необходимо будет изменить на фактическое имя устройства, которое вы копирование. Вам может потребоваться изменить право собственности на rescue.dd, так как он будет принадлежать root.

Чтобы получить удобный индикатор выполнения и ETA для завершения, пропустите команду dd через pv:

[ f4]

где / dev / sdX - имя устройства, которое вы хотите скопировать, а 99999 - размер устройства в MiB (не MB). У вашего пользователя будет файл rescue.dd, поскольку второй вызов dd, который записывает выходной файл, принадлежит вашему пользователю, а не root. Отображение данных будет представлять собой среднюю скорость передачи данных, индикатор выполнения,% завершен и ETA до завершения.

2
задан 8 May 2012 в 09:06

2 ответа

Может ли исполняемый файл выполнить 32-битный исполняемый файл?

Выход locate показывает, что вы имеете 64-битную версию libjpeg.so.62 (в /usr/lib/x86_64-linux-gnu), , но это невозможно использовать, если исполняемый файл 32-битный.

Вы можете определить, какая архитектура скомпилирована для файла с помощью команды file. Например:

$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x214a38d0db472db559f0dabf0ae97f82fea83e03, stripped

Если он говорит, что у вас 32-битный исполняемый файл, то это ваша проблема.

Вы можете установить 32-битную версию рассматриваемой библиотеки используя следующую команду:

sudo apt-get install libjpeg62:i386
6
ответ дан 25 May 2018 в 11:43
  • 1
    Спасибо много @James Henstridge, действительно, файл был 32-битным исполняемым файлом, но установка libjpeg62: i386 работал как шарм. – JLeonrp 16 May 2012 в 00:03
cd /usr/lib/i386-linux-gnu
sudo ln -s libjpeg.so.8.0.2 libjpeg.so.62 

Теперь вы решите проблему

-1
ответ дан 25 May 2018 в 11:43
  • 1
    Это действительно плохой совет. Две библиотеки не совместимы с бинарными (имеют разные имена), поэтому вы рискуете вызвать segfaults, выполнив это. – James Henstridge 21 March 2014 в 06:00

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

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