Я обновился до 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 и что мне нужно сделать, чтобы запустить сервисы, я был бы очень признателен.
Хорошо, я наконец выяснил, чтобы заставить это работать. Я произвел чистку своей текущей установки и удалил 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
Я надеюсь, что это помогает кому-то.
Как Вы устанавливали 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
Я - тот, владеющий 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
, Связываются со мной через Панель запуска.
Спасибо.
В первую очередь, позвольте мне поблагодарить всех тех, которые прокомментировали выше.
Загрузите сценарий 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
sudo /etc/init.d/dnscrypt-proxy stop
sudo systemctl start dnscrypt-proxy.service
sudo service dnscrypt-proxy start
Этот метод переживает перезагрузку для меня на Ubuntu 15.10.
Я не опытный пользователь Linux всегда. Я только что запустил. Спасибо переходит к Chev_603 и всем те, которых он поверил, не меня. Я надеюсь, что Вы находите эту справку полной. Любые комментарии об улучшении сценариев ценились бы. Было бы хорошо иметь вторичный сервер DNS. Кто-либо знает как?