Как скомпилировать и установить DNScrypt

Очевидно, что для установки DNScrypt нет пакетов .deb. Поэтому я вынужден скомпилировать и установить.

Я скачал пакет отсюда http://download.dnscrypt.org/dnscrypt-proxy/

, следуя инструкциям здесь http://dnscrypt.org /

после распаковки я захожу в каталог, ./configure, а затем, когда набираю make, получаю:

No targets specified and no make file found.

Что происходит? Как мне установить dnscrypt?

6
задан 13 December 2013 в 23:55

3 ответа

Бьюсь об заклад, вы забыли библиотеку libsodium:

checking for library containing sodium_init... no
configure: error: libsodium not found

Цитирование руководства по установке:

Установите libsodium. Для вашей операционной системы уже может быть готовый двоичный пакет.

К сожалению, нет пакетов libsodium для Ubuntu. Итак, вы должны скачать, собрать и установить libsodium следующим образом:

  1. Загрузите новый архив tar с https://download.libsodium.org/libsodium/releases/ (вы также можете получить репозиторий git из https://github.com/jedisct1/libsodium ). Если вы загрузили файл tar.gz, , вы должны проверить хэш-сумму :

    $ dig +dnssec +short txt libsodium-0.4.2.tar.gz.download.libsodium.org
    "1a7901cdd127471724e854a8eb478247dc0ca67be549345c75fc6f2d4e05ed39"
    $ shasum -a 256 libsodium-0.4.2.tar.gz
    1a7901cdd127471724e854a8eb478247dc0ca67be549345c75fc6f2d4e05ed39  libsodium-0.4.2.tar.gz
    

    Как мы видим, оба идентичны . Вы также можете использовать файл .sig.

  2. Следуйте ритуалу:

    tar xzf libsodium-0.4.2.tar.gz
    cd libsodium-0.4.2/
    ./configure
    make && make check && sudo make install
    

    Вам следует подумать о debianize пакете, чтобы вам было легче удалить / обновить позже. Есть много руководств по этому поводу.

  3. После установки вам необходимо перезагрузить / перестроить компоновщики GNU. Достаточно простого sudo ldconfig.

  4. Теперь запустите ./configure, и он должен сгенерировать make-файл. (Я предполагаю, что у вас установлен как минимум пакет build-essentials).

    checking for library containing sodium_init... -lsodium
    .....
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    

    Это конечные строки ./configure.

Не забывайте внимательно следить за обновлениями и ошибками для обоих пакетов, поскольку могут быть уязвимости , которые должны быть исправлены с хлопотами.

0
ответ дан 13 December 2013 в 23:55

На самом деле проблема в том, что инструкция на dnscrypt.org на самом деле неверна. Прежде чем делать ./configure вы должны сделать ./autogen.sh.

  1. ./autogen.sh
  2. ./configure.sh (с libsodium, как указано выше. Подсказка: sudo apt-get install checkinstall)
  3. make
  4. sudo checkinstall [ 118]
0
ответ дан 13 December 2013 в 23:55

Для любого, кто получит подобную ошибку в будущем, может случиться так, что у вас не установлено libsodium-dev. Установка его позволит dnscrypt успешно скомпилироваться. Конечно, проще всего использовать скрипт dnscrypt-autoinstall.

0
ответ дан 13 December 2013 в 23:55

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

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