2gusia (2gusia) wrote,
2gusia
2gusia

Ставим Syncthing

Маркетинговое озарение разработчиков BTSync, объявивших о выпуске платной версии с функционалом, уже доступным в свободной, меня премного огорчило. И заставило обратиться к реально свободной альтернативе, благо есть - syncthing.(Он же, согласно Вике, Pulse, но я так и не понял, почему тогда оба варианта продолжают развиваться. Так что выбрал по названию. Пульс - это ни о чём. А синхронизация вещь +- понятно.)

ВАЖНО. UPD от 9 дек 2014 crest написал расширение Syncthing для nas4free так что этот пост потерял актуальность./UPD Этот пост пока носит характер бета версии, очень вероятно я его буду уточнять. Например, я ещё не решил от какого пользователя правильнее софтину запускать, может измениться вариант демонизации и пр. Так что бездумно - не использовать!

Итак, ставим syncthing на nas4free
1. Создадим папку где-то в месте, которое переживёт ребут. У меня по традиции это в папке Jail на основном пуле. Заходим в командную строку
nas4free ~/ root~$ cd /mnt/Pool/Jail/
nas4free Jail/ root~$ mkdir Syncthing
cd Syncthing


2. Теперь надо найти свежую версию syncthing. В браузере основного компа идём на http://syncthing.net/ и жмём синюю кнопку "загрузить с github"
get_syncthing
По ссылке ищем вариант FreeBSD-amd64 и копируем его адрес. На момент написания это
https://github.com/syncthing/syncthing/releases/download/v0.10.6/syncthing-freebsd-amd64-v0.10.6.tar.gz, потом изменится. Качаем
nas4free Syncthing/ root~$ fetch https://github.com/syncthing/syncthing/releases/download/v0.10.6/syncthing-freebsd-amd64-v0.10.6.tar.gz
Если всё ОК - то качается
syncthing-freebsd-amd64-v0.10.6.tar.gz 100% of 3091 kB 1373 kBps 00m03s

3. Распаковываем архив и смотрим что из него достали
nas4free Syncthing/ root~$ tar xf syncthing-freebsd-amd64-v0.10.6.tar.gz
nas4free Syncthing/ root~$ cd syncthing-freebsd-amd64-v0.10.6
nas4free syncthing-freebsd-amd64-v0.10.6/ root~$ ls
./ ../ AUTHORS.txt LICENSE.txt README.txt syncthing*


4. Мне понадобится исполняемый файл - переносим и даём права на исполнение
nas4free syncthing-freebsd-amd64-v0.10.6/ root~$ cp -a syncthing ../
nas4free syncthing-freebsd-amd64-v0.10.6/ root~$ cd ..
nas4free Syncthing/ root~$ chmod +x syncthing
nas4free Syncthing/ root~$ rm syncthing-freebsd-amd64-v0.10.6.tar.gz

По мере выхода новых версий, вероятно, придётся копировать их сюда.

5. Запускаем
nas4free Syncthing/ root~$ ./syncthing
Если всё нормально, то при первом запуске он выдаёт примерно такие сообщения
[monitor] 14:13:10 INFO: Starting syncthing
14:13:10 INFO: Generating RSA key and certificate...
[NZTQZ] 14:13:13 INFO: syncthing v0.10.6 (go1.3.3 freebsd-amd64 default) jenkins@build.syncthing.net 2014-11-18 12:24:42 UTC
[NZTQZ] 14:13:13 INFO: My ID: NZTQZGH-EFH6PYL-QF8WTNG-AVD7IVI-KF3QVSI-QC45QR2-AUD7XLS
[NZTQZ] 14:13:13 INFO: No config file; starting with empty defaults
[NZTQZ] 14:13:13 INFO: Edit /root/.config/syncthing/config.xml to taste or use the GUI
[NZTQZ] 14:13:13 INFO: Starting web GUI on http://127.0.0.1:8080/
[NZTQZ] 14:13:13 INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file or directory
[NZTQZ] 14:13:13 INFO: Creating new HTTPS certificate
[NZTQZ] 14:13:13 INFO: Generating RSA key and certificate...
[NZTQZ] 14:13:19 INFO: Starting UPnP discovery...
[NZTQZ] 14:13:25 INFO: UPnP discovery complete (found 1 device).
[NZTQZ] 14:13:25 INFO: Created UPnP port mapping for external port 18622 on UPnP device 'ASUS RT-N56U Wireless Router' (192.168.1.1).
[NZTQZ] 14:13:25 INFO: Starting local discovery announcements
[NZTQZ] 14:13:25 INFO: Local discovery over IPv6 unavailable
[NZTQZ] 14:13:25 INFO: Starting global discovery announcements
[NZTQZ] 14:13:25 OK: Ready to synchronize default (read-write)
[NZTQZ] 14:13:25 INFO: Device NZTQZGH-EFH6PYL-QF8WTNG-AVD7IVI-KF3QVSI-QC45QR2-AUD7XLS is "nas4free.local" at [dynamic]
[NZTQZ] 14:13:25 INFO: Completed initial scan (rw) of folder default
[NZTQZ] 14:13:26 INFO: Automatic upgrade: Get https://api.github.com/repos/syncthing/syncthing/releases?per_page=10: x509: failed to load system roots and no roots provided

Видно, что он создаёт в папке /root/.config/syncthing необходимую машинерию - конфиг, ключи, сертификаты.

6. Жмём Ctrl-C и останавливаем софтину.
^C[monitor] 14:17:37 INFO: Signal 2 received; exiting

7. Правим конфиг
nas4free Syncthing/ root~$ cd /root/.config/syncthing
nas4free syncthing/ root~$ ls
./ ../ cert.pem config.xml https-cert.pem https-key.pem index/ key.pem
nas4free syncthing/ root~$ nano config.xml


Находим строку с iP (в теге address, дижок ЖЖ не даёт его привести)
127.0.0.1:8080

и правим её, меняя IP адрес на адрес вашего NAS, а 8080 порт - на свободный. Я сделал
192.168.1.34:18880

Сохраняемся - Ctrl-X, Yes

8. Перезапускаем syncthing
nas4free syncthing/ root~$ cd /mnt/Pool/Jail/Syncthing/
nas4free Syncthing/ root~$ ./syncthing

Обратите внимание - сообщения немного другие

9. Вводим в браузере на основном компе заданный в конфиге адрес, у меня 192.168.1.34:18880
и видим вебгуй
syncthing_initial_wg

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

продолжение будет
Tags: nas, nas4free, syncthing, качать
Subscribe

  • Как провожают жесткие диски

    Сдох у меня жесткий диск в NAS Как видно - из SMART отпахал 70428 часов, то есть если 24/7 - больше 8 лет. И, я вам скажу, он не просто крутился…

  • Как определить, что диск у вас в руках SMR

    На Хабре замечательный пост. Цитата: " Единственный известный мне на данный момент способ «мгновенного» определения использования SMR основан на…

  • SSD в NAS?

    Как я в чем-то техноблоггер, фирма Apacer подогнала мне пару SSD для написания обзора. Но задачу поставила необычную Надо эти SSD полезно…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 2 comments