Как запустить Dnscrypt-прокси в Vivid?

Я обновился до Ubuntu Vivid на днях, и теперь у меня проблемы. Я не могу запустить dnscrypt-proxy (среди других программ). Я предполагаю, что это связано с переключателем systemd. Вот что происходит, когда я пытаюсь запустить dnscrypt-proxy:

$ sudo service dnscrypt-proxy start 
[sudo] password for anon:
Failed to start dnscrypt-proxy.service: Unit
dnscrypt-proxy.service failed to load: No such file or directory.

Нет ничего плохого в моем скрипте инициализации или установке, я попытался переустановить, а затем перезагрузить компьютер ... не ходите.

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

3
задан 11 May 2015 в 04:24

4 ответа

Хорошо, я наконец выяснил, чтобы заставить это работать. Я произвел чистку своей текущей установки и удалил ppa, потому что как упомянутое солнцестояние, пакет повреждается. Чем я захватил этот сценарий автоустановки от GitHub. Я скомпилировал пакет, однако настраивать сценарий имеет ошибку, где это правильно не обнаруживает, если systemd присутствует (даже если Вы используете - с - systemd флаг). Для фиксации этого я открылся configure сценарий и набор переменная HAVE_SYSTEMD кому: TRUE вручную. Чем я повторно выполнился, настраивают, чем делают, и наконец sudo делают установку.

Затем, я создал каталог, /etc/systemd/system/dnscrypt-proxy.service и помещенный эти два сценария в тот каталог:

Решение Update:This работало, пока я не перезагрузил, но, чем сервис не запускался. Я закончил тем, что использовал этот сценарий, который теперь работает безупречно. Simclausen является моим героем для записи этого. Благодаря zenester для сообщения мне правильный синтаксис:

/etc/systemd/system/dnscrypt-proxy.service/dnscrypt-proxy.service :

[Unit]
Description=DNSCrypt client proxy
Requires=dnscrypt-proxy.socket

[Install]
Also=dnscrypt-proxy.socket
WantedBy=multi-user.target

[Service]
Type=simple
NonBlocking=true
ExecStart=/usr/local/sbin/dnscrypt-proxy \

- R dnscrypt.eu-nl

По-видимому, это не необходимо:

И также /etc/systemd/dnscrypt-proxy.service/dnscrypt-proxy.socket :

[Unit]
Description=dnscrypt-proxy listening socket
After=network.target

[Socket]
ListenStream=127.0.0.2:53
ListenDatagram=127.0.0.2:53

[Install]
WantedBy=sockets.target

Наконец, я работал,/usr/local/sbin/dnscrypt-proxy запускают-R dnscrypt.eu-nl - локально-адресный 127.0.0.2:53

Программа запущена успешно. Чтобы подтвердить, что, я выполнил эту команду:

dig @127.0.0.2 debug.opendns.com txt

И все выглядит хорошим!

; <<>> DiG 9.9.5-9-Ubuntu <<>> @127.0.0.2 debug.opendns.com txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45692
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;debug.opendns.com.     IN  TXT
;; ANSWER SECTION:
debug.opendns.com.  0   IN  TXT "server 3.otp"
debug.opendns.com.  0   IN  TXT "flags 20 0 70 5950800000000000000"
debug.opendns.com.  0   IN  TXT "originid 0"
debug.opendns.com.  0   IN  TXT "actype 0"
debug.opendns.com.  0   IN  TXT "source xxxxxxxxxx:35164"
debug.opendns.com.  0   IN  TXT "dnscrypt enabled (xxxxxxxxxxxxxx)"
;; Query time: 154 msec
;; SERVER: 127.0.0.2#53(127.0.0.2)
;; WHEN: Fri May 22 17:24:32 EDT 2015
;; MSG SIZE  rcvd: 248

Или правильно зарегистрировать его как услуга:

sudo systemctl enable dnscrypt-proxy.service

И, чем вызов это с sudo service dnscrypt-proxy start Я надеюсь, что это помогает кому-то.

1
ответ дан 11 May 2015 в 04:24

Как Вы устанавливали dnscrypt-прокси ? В ярком нет такого пакета.

Ваш пакет повреждается, поскольку он должен был включать файл systemd .service для выполнения его.

Попытка этот файл и имя это /etc/systemd/system/multi-user.target.wants/dnscrypt-proxy.service

[Unit]
Description=DNSCrypt client proxy
Requires=dnscrypt-proxy.socket

[Install]
Also=dnscrypt-proxy.socket
WantedBy=multi-user.target

[Service]
Type=simple
NonBlocking=true
ExecStart=/usr/sbin/dnscrypt-proxy -R dnscrypt.eu-nl

И этот /etc/systemd/system/sockets.target.wants/dnscrypt-proxy.socket

[Unit]
Description=dnscrypt-proxy listening socket
After=network.target

[Socket]
ListenStream=127.0.0.1:53
ListenDatagram=127.0.0.1:53

[Install]
WantedBy=sockets.target
0
ответ дан 11 May 2015 в 14:24

Я - тот, владеющий PPA Anton + для dnscrypt-прокси. Я учился во время своих отпусков проблемы, влияющей на системы Ubuntu с помощью только systemd по сравнению с выскочкой (или оба) для предыдущих выпусков.

мне просто удалось создать dnscrypt-прокси для Ярких 15.04 сегодня. Это использует systemd.

Однако мне не установили Яркие 15.04 в моих системах. Я все еще использую Надежного человека 14.04 на данный момент.

можно ли протестировать этот новый выпуск в системе? Это - все еще версия 1.5.0. Если тесты будут успешны, то я обеспечу более новую версию 1.6.0.

https://launchpad.net/~anton+/+archive/ubuntu/dnscrypt

, которая Новая тестовая сборка: dnscrypt-проксируйте 1.5.0-1pmo1.8~vivid

, Это должно предусмотреть 2 DNS от dnscrypt.eu

, Связываются со мной через Панель запуска.

Спасибо.

0
ответ дан 11 May 2015 в 14:24
  • 1
    Так же в основном тот же метод, как замечено с апачем и другим программным обеспечением: Вам заблокировали специализированное вниз пользователь, чтобы сделать что-то, что вытягивает что-то к машине: пользователь _apt. – Rinzwind 10 August 2016 в 07:56

В первую очередь, позвольте мне поблагодарить всех тех, которые прокомментировали выше.

ОБНОВЛЕННЫЙ - Это - то, что работало над Помощником Ubuntu 15.10.

Загрузите сценарий Simon Clausen, связанный ниже.

https://github.com/simonclausen/dnscrypt-autoinstall.

Ubuntu 15:10 повреждает сценарий Simon Clausen так, чтобы это только работало, пока Вы не перезагружаете. Это вызвано тем, что Ubuntu 15.10 имеет символьную ссылку от/run/resolvconf/resolv.conf до/etc/resolv.conf. Simon пытается заблокировать вниз/etc/resolv.conf, использующий болтовню +i/etc/resolv.conf, который перестал работать. Для фиксации этого делают следующее прежде, чем запустить его скрипт.

sudo rm /etc/resolv.conf

sudo cp /run/resolvconfig/resolv.conf /etc/resolv.conf

Примечание: Новые версии dnscrypt, загруженного сценарием Simons, принимают systemd во внимание без модификации.

После того как скрипт был запущен и протестирован, я сделал следующее.

Я использовал вышеупомянутое systemd файл, но нуждался в сопоставителе, добавленном к последней строке, в конце концов.

[Unit]
Description=DNSCrypt client proxy
Requires=dnscrypt-proxy.socket

[Install]
Also=dnscrypt-proxy.socket
WantedBy=multi-user.target

[Service]
Type=simple
NonBlocking=true
ExecStart=/usr/local/sbin/dnscrypt-proxy -R dnscrypt.eu-nl

создайте текстовый файл из текста выше и назовите его

dnscrypt-proxy.service

затем поместите свой новый dnscrypt-proxy.service файл в

/etc/systemd/system/

Мы не перезаписываем/lib/systemd сервисные определения по умолчанию, или мы испытаем затруднения, когда пакет будет обновлен. Systemd проверяет/etc/systemd/system сначала прежде / lib, таким образом, Вы - безопасное помещение Ваших специализированных сервисных определений в/etc/systemd.

При выполнении полный путь

/etc/systemd/system/dnscrypt-proxy.service

то же самое - использует/etc/

Затем создайте dnscrypt-proxy.socket файл из образца ниже.

[Unit]
Description=dnscrypt-proxy listening socket
After=network.target

[Socket]
ListenStream=127.0.0.2:53
ListenDatagram=127.0.0.2:53

[Install]
WantedBy=sockets.target

это также входит

/etc/systemd/system/

Полный путь

/etc/systemd/system/dnscrypt-proxy.socket

Активируйте сценарии (который создает символьные ссылки в корректных папках),

sudo systemctl enable /etc/systemd/system/dnscrypt-proxy.socket

sudo systemctl enable /etc/systemd/system/dnscrypt-proxy.service

остановите сервис, таким образом, systemd может запустить его правильно.

sudo /etc/init.d/dnscrypt-proxy stop

необходимо взять все настройки, которые Вы имеете в/init.d/dnscrypt и перемещаете их в/etc/systemd/system/dnscrypt-proxy.service - еще systemd, берет сценарии, найденные в etc/init.d, и делает временное сервисное определение, которое можно найти в/run/systemd/generator/XYZ.service. Если у Вас есть сервис в/etc/с тем же именем как сценарий в init.d, сценарий проигнорирован в пользу сервиса def'n

Вы не должны видеть ошибки при запуске сервиса с.

sudo systemctl start dnscrypt-proxy.service

sudo service dnscrypt-proxy start

Этот метод переживает перезагрузку для меня на Ubuntu 15.10.

Я не опытный пользователь Linux всегда. Я только что запустил. Спасибо переходит к Chev_603 и всем те, которых он поверил, не меня. Я надеюсь, что Вы находите эту справку полной. Любые комментарии об улучшении сценариев ценились бы. Было бы хорошо иметь вторичный сервер DNS. Кто-либо знает как?

2
ответ дан 11 May 2015 в 14:24
  • 1
    That' s нечетный. Я имею 16.04 и 5.6.5. Это даже прежде добавляло PPA бэкпортов. – boileau 12 August 2016 в 02:17

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

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