Компиляция TestDisk

From CGSecurity
Jump to navigation Jump to search

En.png English De.png Deutsch Es.png Español Fr.png Français Ru.png Русский


Эта страница документации содержит информацию о том, как собрать TestDisk и PhotoRec из исходных кодов.

Библиотеки

  • libncurses - Необходима, TestDisk и PhotoRec используют текстовый интерфейс командной строки, библиотека Ncurses и ее исодные коды должны быть установлены.
  • Библиотека Ext2fs - Опциональна, используется TestDisk для работы с ext2/ext3-разделами
  • Библиотека EWF - Опциональна, TestDisk и PhotoRec используют ее для работы с Expert Witness Compression Format (так называемыми Encase файлами)
  • Iconv - Опциональна, используется для работы с файлами, имена которых в Unicode
  • Библиотека Jpeg - Опциональна, используется PhotoRec для более точного восстановления JPEG файлов
  • Библиотека NTFS - Опциональна, используется TestDisk для работы с NTFS-разделами
  • Библиотека Reiserfs - Опциональна, используется TestDisk для работы с ReiserFS-разделами

Библиотека ncurses

Библиотека Ncurses обычно устанавливается вместе с операционной системой, поэтому скорее всего Вам не придется компилировать ее самостоятельно. Если установлена бибилиотека ncursesw, TestDisk и PhotoRec будут ее использовать для отображения символов в Unicode.

Библиотека Ext2fs

Библиотека Ext2fs обычно устанавливается вместе с операционной системой, поэтому скорее всего Вам не придется компилировать ее самостоятельно. В любом случае, Вы всегда можете скачать последнюю версию e2fsprogs с e2fsprogs.sf.net

tar xzf e2fsprogs-1.38.tgz
cd e2fsprogs-1.38
./configure --with-cc=gcc
make libs
make install

Библиотека EWF

Исходный код библиотеки EWF может быть скачан с https://github.com/libyal/libewf. Учтите, что она требует openssl и zlib для компиляции.

tar xzf libewf-beta-20070408.tar.gz
cd libewf-20070408
./configure
make lib
make install

Библиотека Iconv

На большинстве платформ, функции iconv интегрированы с libc, таким образом нет необходимости в дополнительных библиотеках. Для Windows, пакет libiconv доступен на сайте проекта cygwin, Пакет libiconv для DOS/djgpp существует, но эти ОС не поддерживают Unicode впринципе.

Библиотека Jpeg

Библиотека Libjpeg обычно устанавливается вместе с операционной системой, поэтому скорее всего Вам не придется компилировать ее самостоятельно. В любом случае, Вы всегда можете скачать исходный код libjpeg с http://www.ijg.org/files/jpegsrc.v6b.tar.gz

tar xzf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --enable-shared --enable-static
make
sudo make install

Для Mac OS X 10.3 так же существует GNU libtool, но эта библиотека может быть представлена под разными именами. Для запуска Вам возможно потребуется выполнить

ln -s `which glibtool` ./libtool

Как собрать ntfsprogs

Скачать последнюю версию ntfsprogs можно с https://www.tuxera.com/

tar xzf ntfsprogs-1.13.0.tar.gz
cd ntfsprogs-1.13.0
./configure
make libs
make install

Чтобы получить рабочую версию библиотеки под NT 4, используйте configure --disable-default-device-io-ops потому что SetFilePointerEx используемая win32_io.c не экспортирована в DLL под NT 4.

Библиотека ReiserFS

Скачайте progsreiserfs-0.3.1-rc8.tar.gz с https://git.kernel.org/pub/scm/linux/kernel/git/jeffm/reiserfsprogs.git

tar xzf progsreiserfs-*.tar.gz
cd progreiserfs-0.3.1-rc8
./configure --disable-nls
make
make install

Как собрать TestDisk

Обычный способ

Чтобы собрать TestDisk и PhotoRec, запустите

./configure
make

Возможно Вам потребуется указать специальные параметры конфигурации, чтобы узнать подробнее, наберите configure --help.
Например:

./configure
--with-reiserfs-lib=/home/kmaster/perso/testdisk-5.2/progsreiserfs-0.3.1-rc8/libreiserfs/.libs/
--with-reiserfs-includes=/home/kmaster/perso/testdisk-5.2/progsreiserfs-0.3.1-rc8/include/
--with-ntfs-lib=/home/kmaster/perso/testdisk-5.2/ntfsprogs-1.8.5/libntfs/.libs/
--with-ntfs-includes=/home/kmaster/perso/testdisk-5.2/ntfsprogs-1.8.5/include/
--with-ext2fs-lib=/home/kmaster/perso/testdisk-5.2/e2fsprogs-1.34/lib
--with-ext2fs-includes=/home/kmaster/perso/testdisk-5.2/e2fsprogs-1.34/lib

Статично собранная версия

Если у Вас возникла необходимость запустить статично собранную версию TestDisk, например на системе где имеется младшая версия одной из необходимых библиотек, Вы можете сделать это, выполнив

make static

Статично собранная сжатая версия

Если Вам нужно сжать полученный исполняемый файл, например для собственной дистрибуции, скачайте UPX с https://upx.github.io/ и выполните

strip src/testdisk src/photorec
upx src/testdisk src/photorec

Учтите, что Linux UPX распаковывает все файлы программы перед запуском, и поэтому ему нужно для этого свободное место в /tmp. У исполняемого файла UPX в /tmp должны быть права на выполнение (mount -o remount,exec /tmp).

Замечания к операционным системам

Обратите внимание на замечания к Вашей операционной системе:

Кросс-компиляция

Назад к странице TestDisk