Je voudrais savoir quelle est la bonne méthode pour redémarrer le service réseau dans Debian Jessie. Je sais que je peux utiliser:
service networking restart
ou
/etc/init.d/networking restart
qui m'a de toute façon causé des problèmes de connexion ssh, ou
invoke-rc.d networking restart
et deux autres méthodes avec systemctl et avec ifup/ifdown.
Mais quelle est la bonne façon de procéder?
J'utiliserais la commande service
car elle est plus cohérente sur différentes distributions. Donc, parmi les commandes que vous avez mentionnées, la variante que j'opterais est la suivante:
service networking restart
Et je l'exécuterais certainement dans une session screen
ou par d'autres moyens m'assurer qu'il ne manquerait pas de se terminer au cas où vous perdriez la connexion avec le Shell dans lequel vous l'avez tapé. (J'ai essayé de perdre la connectivité à une machine en me connectant avec ssh
puis en redémarrant le réseau uniquement pour que la connexion ssh se termine alors que le réseau était en panne et envoyer un HUP à service
de telle sorte qu'il ne ramènerait pas le réseau à nouveau.)
Dans le passé, il y avait des systèmes où service
était un simple wrapper autour des scripts dans /etc/init.d
et les deux premières de vos commandes feraient exactement la même chose. Mais de nos jours, il existe des systèmes où service
fera parfois quelque chose de différent, et en général service
sait mieux quoi faire sur votre distribution particulière. Et invoke-rc.d
dépend également de la distribution.
Bien que service
soit la plus similaire entre les distributions, il est toujours possible que les noms de service soient différents. Par exemple, il existe des distributions où le service est nommé network
et d'autres où il est nommé networking
. Et dans certaines configurations, il peut être plus approprié de redémarrer network-manager
plutôt que networking
.