# TestDisk Компиляция

### From CGSecurity

english version deutsche Version versión español version française Русская версия

Эта страница документации содержит информацию о том, как собрать 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 может быть скачан с http://libewf.sourceforge.net/. Учтите, что она требует openssl и zlib для компиляции.

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

### Библиотека Iconv

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

### Библиотека Jpeg

Библиотека Libjpeg обычно устанавливается вместе с операционной системой, поэтому скорее всего Вам не придется компилировать ее самостоятельно. В любом случае, Вы всегда можете скачать исходный код libjpeg с ftp://ftp.uu.net/graphics/jpeg/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 можно с linux-ntfs.sf.net

    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 с reiserfs.osdn.org.ua

    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 с upx.sf.net и выполните

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

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

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

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

- DOS
- GNU/Linux
- Win
- Mac OS X

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

- Linux to PowerPC Darwin/Mac OS X кросс-компилятор

Return to TestDisk page

Category: Data Recovery