J'ai mis à jour Ubuntu Vivid l'autre jour et j'ai maintenant des problèmes. Je ne parviens pas à démarrer dnscrypt-proxy (entre autres programmes). Je suppose que cela a à voir avec le commutateur systemd. Voici ce qui se passe lorsque j'essaie de démarrer 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.
Il n'y a rien de mal avec mon script ou l'installation init, j'ai essayé de réinstaller puis de redémarrer ... no go.
Je suis sûr qu'il y a une réponse simple à cette question que je néglige. Si quelqu'un pouvait m'aider à comprendre les principales différences entre systemd et ce que je dois faire pour que les services démarrent, je l'apprécierais vraiment.
D'accord, j'ai finalement compris comment faire en sorte que cela fonctionne. J'ai purgé mon installation actuelle et enlevé le ppa, car, comme indiqué dans le document, l'emballage est cassé. Puis j'ai récupéré ce script d'installation automatique depuis github. J'ai compilé le paquet, cependant le script configure a un bogue dans lequel il ne détecte pas correctement si systemd est présent (même si vous utilisez l'indicateur --with-systemd). Pour résoudre ce problème, j'ai ouvert le script configure
et défini la variable HAVE_SYSTEMD
sur TRUE
manuellement. Ensuite, je relance configure, puis make et enfin Sudo make install.
Ensuite, j'ai créé un répertoire, /etc/systemd/system/dnscrypt-proxy.service
, et placé ces deux scripts dans ce répertoire:
Mise à jour: Cette solution a fonctionné jusqu'au redémarrage, mais le service n'a pas démarré. J'ai fini par utiliser ce script qui fonctionne maintenant parfaitement. Simclausen est mon héros pour avoir écrit cela. Merci à zenester de m'avoir dit la syntaxe correcte:
/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
Apparemment, ce n'est pas nécessaire:
Et aussi /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
Enfin, j'ai lancé/usr/local/sbin/dnscrypt-proxy start -R dnscrypt.eu-nl --local-address 127.0.0.2:53
Le programme a démarré avec succès. Pour confirmer cela, j'ai lancé cette commande:
Dig @127.0.0.2 debug.opendns.com txt
Et tout va bien!
; <<>> 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
Ou pour l'enregistrer correctement en tant que service:
Sudo systemctl enable dnscrypt-proxy.service
Et que l'appeler avec Sudo service dnscrypt-proxy start
J'espère que cela aidera quelqu'un.
Tout d'abord, permettez-moi de remercier tous ceux qui ont commenté ci-dessus.
Téléchargez le script de Simon Clausen en lien ci-dessous.
https://github.com/simonclausen/dnscrypt-autoinstall .
Ubuntu 15:10 interrompt le script de Simon Clausen pour qu'il ne fonctionne que jusqu'au redémarrage. En effet, Ubuntu 15.10 a un lien symbolique de /run/resolvconf/resolv.conf vers /etc/resolv.conf. Simon tente de verrouiller le fichier /etc/resolv.conf à l’aide de chattr + i /etc/resolv.conf qui échoue. Pour résoudre ce problème, procédez comme suit avant d'exécuter son script.
Sudo rm /etc/resolv.conf
Sudo cp /run/resolvconfig/resolv.conf /etc/resolv.conf
Remarque: Les nouvelles versions de dnscrypt téléchargées par le script Simons tiennent compte de systemd sans modification.
Une fois le script exécuté et testé, j'ai procédé comme suit.
J'ai utilisé le fichier systemd ci-dessus, mais il fallait après tout ajouter le résolveur à la dernière ligne.
[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
créez un fichier texte à partir du texte ci-dessus et nommez-le
dnscrypt-proxy.service
puis mettez votre nouveau fichier dnscrypt-proxy.service dans
/ etc/systemd/system /
Nous n'écrasons pas les définitions de service par défaut/lib/systemd ou nous aurons des problèmes lors de la mise à jour du paquet. Systemd vérifie/etc/systemd/system d'abord avant/lib afin que vous puissiez mettre en sécurité vos définitions de service personnalisées dans/etc/systemd.
Une fois terminé, le chemin complet est
/etc/systemd/system/dnscrypt-proxy.service
même chose - utilisez/etc /
Créez ensuite le fichier dnscrypt-proxy.socket à partir de l'exemple ci-dessous.
[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
il va aussi dans
/ etc/systemd/system /
Le chemin complet est
/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
Cette méthode survit à un redémarrage pour moi sur Ubuntu 15.10.
Je ne suis en aucun cas un utilisateur avancé de Linux. Je viens de commencer. Merci à Chev_603 et à tous ceux qu'il a crédités, pas à moi. J'espère que vous trouverez cette aide complète. Tout commentaire sur l'amélioration des scripts serait apprécié. Ce serait bien d'avoir un serveur DNS secondaire. Quelqu'un sait comment?
Comment avez-vous installé dnscrypt-proxy ? Il n'y a pas de tel paquet en vif.
Votre paquet est cassé car il aurait dû inclure un fichier systemd . Service pour l'exécuter.
Essayez ce fichier et nommez-le /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
Et celui-ci /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
Je suis celui qui possède le PPA Anton + pour dnscrypt-proxy. Pendant mes vacances, j'ai appris le problème des systèmes Ubuntu en n'utilisant que systemd par rapport à upstart (ou les deux) des versions précédentes.
Je viens de réussir à construire dnscrypt-proxy pour Vivid 15.04 aujourd'hui. Il utilise systemd.
Cependant, Vivid 15.04 n'est pas installé sur mes systèmes. J'utilise toujours Trusty 14.04 pour l'instant.
Pouvez-vous tester cette nouvelle version sur votre système? C'est toujours la version 1.5.0. Si les tests réussissent, je fournirai la nouvelle version 1.6.0.
https://launchpad.net/~anton+/+archive/ubuntu/dnscrypt
La nouvelle version de test est la suivante: dnscrypt-proxy 1.5.0-1pmo1.8 ~ vivid
Il devrait prévoir les 2 DNS de dnscrypt.eu
Contactez-moi via Launchpad.
Merci.