Page 1 sur 1

[systemctl] Pas de réseau en démarrant (résolut)

Publié : dim. 24 janv. 2016, 19:59
par pepit
Bonjour,

Tout fonctionnait parfaitement de de ce coté depuis l'installation de mon système Arch sur cette machine (plusieurs mois).
Et depuis quelques jours, sans intervention de ma part je n'ai plus ma connections réseau au lancement.
un

Code : Tout sélectionner

sudo systemctl start network
résous le problème jusqu'au démarrage suivant.
J'ai essayé un

Code : Tout sélectionner

disable
suivit d'un nouvel

Code : Tout sélectionner

enable
, le lien est bien installé et ne retourne aucune erreur main ne fonctionne pas mieux. j'ai regardé dans les news et rien trouvé s'y rapportant.

Quelqu'un à une idée?

Re: [systemctl] Pas de réseau en démarrant

Publié : dim. 24 janv. 2016, 20:05
par benjarobin
Bonjour,
Il n'existe pas de service "network.service" par défaut, donc tu as surement du en créer un toi même (via Wiki ou autre). Il serait intéressant de connaitre son contenu.
Quelle est la sortie de la commande (commande à installer via pacman -S tree) :

Code : Tout sélectionner

tree /etc/systemd/system
Utilises tu une IP fixe ou c'est une obtention via DHCP ?

Re: [systemctl] Pas de réseau en démarrant

Publié : lun. 25 janv. 2016, 13:50
par pepit
Oui, c'est moi qui l'ai fait (a partir de wiki bien sur)!
Voici une commande qui me rappelle mes débuts sous DOS:

Code : Tout sélectionner

[pepit@wawa ~]$ tree /etc/systemd/system
/etc/systemd/system
├── dbus-org.freedesktop.Avahi.service -> /usr/lib/systemd/system/avahi-daemon.service
├── display-manager.service -> /usr/lib/systemd/system/xdm.service
├── getty.target.wants
│   └── getty@tty1.service -> /usr/lib/systemd/system/getty@.service
├── multi-user.target.wants
│   ├── avahi-daemon.service -> /usr/lib/systemd/system/avahi-daemon.service
│   ├── network.service -> /etc/systemd/system/network.service
│   ├── ntpd.service -> /usr/lib/systemd/system/ntpd.service
│   ├── org.cups.cupsd.path -> /usr/lib/systemd/system/org.cups.cupsd.path
│   └── remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
├── network.service
├── printer.target.wants
│   └── org.cups.cupsd.service -> /usr/lib/systemd/system/org.cups.cupsd.service
└── sockets.target.wants
    ├── avahi-daemon.socket -> /usr/lib/systemd/system/avahi-daemon.socket
    └── org.cups.cupsd.socket -> /usr/lib/systemd/system/org.cups.cupsd.socket
Et il est fonctionnel depuis plusieurs année sur le Dell, un autre PC arch et plusieurs mois sur ce PC. Il resemble à ça:

Code : Tout sélectionner

[Unit]
Description=Network Connectivity
Wants=network.target
Before=network.target
  
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network
ExecStart=/sbin/ip link set dev ${interface} up
ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface}
ExecStart=/sbin/ip route add default via ${gateway}
ExecStop=/sbin/ip addr flush dev ${interface}
ExecStop=/sbin/ip link set dev ${interface} down
  
[Install]
WantedBy=multi-user.target

Re: [systemctl] Pas de réseau en démarrant

Publié : lun. 25 janv. 2016, 14:57
par benjarobin
Le service que tu donnes est faux, c'est un miracle que cela fonctionne... Si c'est dans le Wiki c'est à supprimer (du Wiki) !
Le service ne vérifie même pas que l'interface réseau à été chargé. Ton service doit se lancer avant que le kernel est une connaissance de ta carte réseau.

De plus je ne vois aucun intérêt d'avoir un fichier de configuration (/etc/conf.d/network) supplémentaire alors que tout pourrait être mit dans ce fichier (qui est aussi un fichier de configuration). D'ailleurs ce service n'est pas conçu pour gérer plusieurs interface réseau, tu dois le copier-coller pour autant d'interface réseau que tu as en modifiant juste la ligne du fichier de configuration...

J'utilise donc personnellement quelque chose comme ceci (avec "gestion" du DNS), bien remplacer eth0 par le nom de ton interface

Code : Tout sélectionner

[Unit]
Description=Network Connectivity
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-eth0.device
After=sys-subsystem-net-devices-eth0.device

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip link set dev eth0 up
ExecStart=/sbin/ip addr add 192.168.1.42/255.255.255.0 broadcast 192.168.1.255 dev eth0
ExecStart=/sbin/ip route add default via 192.168.1.254
ExecStart=-/usr/bin/cp -f /etc/resolv.conf.static /etc/resolv.conf
ExecStop=/sbin/ip addr flush dev eth0
ExecStop=/sbin/ip link set dev eth0 down

[Install]
WantedBy=multi-user.target
Tu peux supprimer la ligne gérant le /etc/resolv.conf si tu n'en as pas besoin.
Si tu utilises un tel service alors /etc/conf.d/network doit être supprimé car caduque

Re: [systemctl] Pas de réseau en démarrant

Publié : lun. 25 janv. 2016, 15:04
par oktoberfest
Ce script était disponible sur le wiki anglais (il n'y est plus maintenant). Je le sais car c'est le script que j'utilise pour un de mes pc.
Tu peux donc au choix :
- regarder via systemctl status network pourquoi ton service ne démarre pas.
- te tourner vers une autre méthode pour démarrer ton réseau (netctl, systemd-networkd ou autre méthode, cf wiki).

Re: [systemctl] Pas de réseau en démarrant

Publié : lun. 25 janv. 2016, 15:06
par benjarobin
L'erreur retournée devrait être du style : Cannot find device "..."

Re: [systemctl] Pas de réseau en démarrant

Publié : lun. 25 janv. 2016, 20:48
par pepit
Merci pour vos réponses :mrgreen: .

Quand je pense aux heures de recherche de solution via internet et aux heures passées à mettre au point cette connexion la première fois (écriture manuscrite du fameux fichier). Plus les autres fichiers de config associé, après l'avoir copié sur un bout de papier navigant d'un PC à l'autre pour corriger les inévitables erreurs car tout en ligne de commande. Plus la rédaction d'un fichier texte d'installation personnalisé d’installation d'Archlinux pour pas tout refaire à chaque nouvelle configuration (copié collé en chroot). Tous ca, pour m'entendre dire aujourd'hui que ma config. c'est de la "m---e" complètement obsolète de plus! Qui pourtant fonctionne depuis longtemps et sur au moins 3 PC, Drôle de hasard non?
Le seul tort que j'ai eu est de suivre les wiki officiel de préférence en français lorsqu’ils existaient.
Mais bon, sans eux pas d'Archlinux
Ne le prenez pas mal, c'est pas un reproche envers des développeurs passionnés et bénévoles, encore moins envers vous qui tentez de m'aider avec brio en plus, Je tire particulièrement mon chapeau à benjarobin qui est présent sur presque tout les post et aide sans compter les heures. Faut dire qu'avec ce système il y a tant à faire...
Mais avouez qu'il y a quand même de quoi se poser quelques questions! Fo vraiment aimer ce système pour continuer.
Quand je pense que WIN10 est là juste de l'autre coté du DD... Mais rebelle je suis et rebelle je reste, sortir des sentier battu est ma seconde nature.
Alors:

Code : Tout sélectionner

[pepit@wawa ~]$ systemctl status network
● network.service - Network Connectivity
   Loaded: loaded (/etc/systemd/system/network.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since lun. 2016-01-25 20:02:36 CET; 2min 8s ago
  Process: 867 ExecStart=/sbin/ip link set dev ${interface} up (code=exited, status=1/FAILURE)
 Main PID: 867 (code=exited, status=1/FAILURE)

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
Est-ce réparable ou je passe à autre chose (nouvelle recherche, apprentissage, maj de mon texte d'install, des autres pc, etc) comme conseillé par "oktoberfest"? :?

Re: [systemctl] Pas de réseau en démarrant

Publié : lun. 25 janv. 2016, 21:21
par benjarobin
Non, mais je t'ai donné la solution au problème... Je t'ai même expliqué la raison de ton souci.

Re: [systemctl] Pas de réseau en démarrant

Publié : mar. 26 janv. 2016, 09:40
par oktoberfest

Code : Tout sélectionner

$ systemctl status network
● network.service - Network Connectivity
   Loaded: loaded (/etc/systemd/system/network.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since lun. 2016-01-25 20:02:36 CET; 2min 8s ago
  Process: 867 ExecStart=/sbin/ip link set dev ${interface} up (code=exited, status=1/FAILURE)
 Main PID: 867 (code=exited, status=1/FAILURE)

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
Relance la commande en root, je pense qu'elle sera plus bavarde (EDIT : je ne pense pas). A moins que tu n'ais pas de journal...

Re: [systemctl] Pas de réseau en démarrant

Publié : mar. 26 janv. 2016, 10:19
par benjarobin
Systemd indique qu'il faut regarder dans le journal car ce dernier à tourné...

Code : Tout sélectionner

journalctl -b -u network

Re: [systemctl] Pas de réseau en démarrant

Publié : mar. 26 janv. 2016, 17:04
par pepit
Ok, J'ai configuré comme toi, sauf la ligne resolv.conf, copie inutile car mon fichier est gravé dans le marbre avec un "chattr +i"
Je viens de relancer ma connexion avec le nouveau fichier, ça semble bon, on verra au prochain démarrage :wink:

Re: [systemctl] Pas de réseau en démarrant (résolut)

Publié : mer. 27 janv. 2016, 15:07
par pepit
Bravo benjarobin, vive les Lyonnais!! :wink:

Et Merci à tous pour votre aide et conseils précieux. :D

Re: [systemctl] Pas de réseau en démarrant (résolut)

Publié : mar. 02 févr. 2016, 19:15
par burrich
Merci benjarobin, j'avais le même problème ! :wink: