[systemd] .mount qui ne fonctionne pas (Résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

[systemd] .mount qui ne fonctionne pas (Résolu)

Message par PowaBanga »

Bonjour à tous,
j'essaye de monter un disque dur automatiquemenet au démarrage de mon raspberry pi 3b+

Voici mon fichier :

Code : Tout sélectionner

[root@alarm media]# cat /etc/systemd/system/4to.mount
[Unit]
Description=Mount 4to hdd

[Mount]
What=/dev/disk/by-partuuid/1a9b99a2-06a8-4050-85d2-5c9ad30955f1
Where=/media/4to
Type=ext4
Options=defaults

[Install]
WantedBy=multi-user.target
voici ce qu'il se passe au démarrage :

Code : Tout sélectionner

[root@alarm media]# systemctl start 4to.mount 
Failed to start 4to.mount: Unit 4to.mount has a bad unit file setting.
See system logs and 'systemctl status 4to.mount' for details.
et la réponse de status :

Code : Tout sélectionner

[root@alarm media]# systemctl status 4to.mount
* 4to.mount - Mount 4to hdd
     Loaded: bad-setting (Reason: Unit 4to.mount has a bad unit file setting.)
     Active: inactive (dead)
      Where: /media/4to
       What: /dev/disk/by-partuuid/1a9b99a2-06a8-4050-85d2-5c9ad30955f1

Apr 11 11:52:34 alarm systemd[1]: 4to.mount: Where= setting doesn't match unit name. Refusing.
J'ai d'abord essayé avec le dossier /media/4to qui était déjà existant, ensuite je l'ai supprimé, aucun changements... :/

Je ne comprend pas ce qui ne va pas, si quelqu'un pouvait m'aider ça serait super cool :roll: ...
Dernière modification par PowaBanga le sam. 18 avr. 2020, 22:14, modifié 1 fois.
laurent85
Elfe
Messages : 954
Inscription : mar. 16 oct. 2018, 21:05

Re: [systemd] .mount qui ne fonctionne pas

Message par laurent85 »

Bonjour,
Pourquoi tu n'utilises pas /etc/fstab ?
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [systemd] .mount qui ne fonctionne pas

Message par benjarobin »

Je suis d'accord avec laurent85, mais sinon le message d'erreur est assez clair je trouve

Code : Tout sélectionner

4to.mount: Where= setting doesn't match unit name.
Tu peux trouver plein d'exemple dans /run/systemd/generator/

Par exemple cat /run/systemd/generator/media-srvMedia.mount

Code : Tout sélectionner

# Automatically generated by systemd-fstab-generator

[Unit]
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
SourcePath=/etc/fstab
Before=remote-fs.target

[Mount]
Where=/media/srvMedia
What=benjarobin-serv:/home/media
Type=nfs4
Options=users,noauto,fg,retry=1,hard,rsize=32768,wsize=32768,timeo=300,retrans=2,_netdev
Tu dois nommer ton fichier .mount ainsi : media-4to.mount
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

Re: [systemd] .mount qui ne fonctionne pas

Message par PowaBanga »

J'ai renomé 4to.mount en media-4to.mount, et là, tadaa, ça fonctionne, merci beaucoup !

je n'utilise pas /etc/fstab tout simplement parce que je ne sais pas ce que c'est, je suis en train de faire mes premiers services moi même en suivant des tutos. Je n'ai rien trouvé parlant de cela. Si j'ai bien compris, il s'agit de la ligne "SourcePath=/etc/fstab" pourriez vous m'expliquer à quoi cela sert-il ?

aussi, je me suis empressé de tenter un service qui va me monter ma partition luks cette fois. J'ai donc pensé qu'il me suffirait de mettre /dev/mapper/mapartition pour que cela fonctionne, mais non

systemctl start media-500go.mount

Code : Tout sélectionner

[root@alarm powabanga]# systemctl start media-500go.mount
Failed to start media-500go.mount: Unit media-500go.mount has a bad unit file setting.
See system logs and 'systemctl status media-500go.mount' for details.
systemctl status media-500go.mount

Code : Tout sélectionner

[root@alarm powabanga]# systemctl status media-500go.mount
* media-500go.mount - Mount 500go hdd
     Loaded: bad-setting (Reason: Unit media-500go.mount has a bad unit file setting.)
     Active: inactive (dead)
      Where: /media/Mypassport
       What: /dev/mapper/500go
cat /etc/systemd/system/media-500go.mount

Code : Tout sélectionner

[root@alarm powabanga]# cat /etc/systemd/system/media-500go.mount
[Unit]
Description=Mount 500go hdd

[Mount]
What=/dev/mapper/500go
Where=/media/Mypassport
Type=ext4
Options=defaults

[Install]
WantedBy=multi-user.target
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [systemd] .mount qui ne fonctionne pas

Message par benjarobin »

Ah... Alors oublie de suite les fichiers .mount, c'est uniquement pour les utilisateurs ultra avancé pour des besoins très très spécifique.

Tu dois utiliser le fichier fstab, ce fichier à toujours existé que je sache, bien bien avant systemd. Ce fichier est sûrement plus vieux que toi. C'est le fichier qui décrit ce qui doit être monté et où.

Je te conseille vivement de te documenter un peu avant.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
laurent85
Elfe
Messages : 954
Inscription : mar. 16 oct. 2018, 21:05

Re: [systemd] .mount qui ne fonctionne pas

Message par laurent85 »

PowaBanga a écrit : sam. 11 avr. 2020, 16:22 aussi, je me suis empressé de tenter un service qui va me monter ma partition luks cette fois.
Pour ça utilise /etc/crypttab et /etc/fstab
Consulte les wikis FR et EN de Arch pour te documenter.
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

Re: [systemd] .mount qui ne fonctionne pas

Message par PowaBanga »

Ok. Je me permet juste une dernière pour voir si j'ai bien compris.
Si je souhaite qu'un disque monté, soit requit pour l'exécution d'un service systemd (syncthing.service par exemple) est-ce bien correct si j'écri mon fstab de cette manière ?

Code : Tout sélectionner

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
/dev/mmcblk0p1  /boot   vfat    defaults        0       0
uuid=57af5807-ab6a-49d4-8d35-c380de4d5dd9  /media/4to  ext4  x-systemd.requires-mounts-for=syncthing.service  0  0
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [systemd] .mount qui ne fonctionne pas

Message par benjarobin »

Euh, non... Tu prends les choses à l'envers.
Voir la documentation de ce que tu as utilisé : https://www.freedesktop.org/software/sy ... ounts-for=
Le service doit avoir tout simplement comme dépendance le point de montage.
Pour cela tu dois mettre dans le service cette option : https://www.freedesktop.org/software/sy ... MountsFor= avec comme chemin /media/4to
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
laurent85
Elfe
Messages : 954
Inscription : mar. 16 oct. 2018, 21:05

Re: [systemd] .mount qui ne fonctionne pas

Message par laurent85 »

Tu peux voir comment systemd a paramétré l'unit générée à partir de fstab avec :

Code : Tout sélectionner

systemctl list-units '*.mount' --all
systemctl cat <nom_de_l_unit.mount>
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

Re: [systemd] .mount qui ne fonctionne pas

Message par PowaBanga »

finalement j'ai décidé de me servir de fstab comme vous me l'avez recomandé, c'est plus simple.

Merci à tous les deux pour vos recomandations, tout roule comme sur des roulettes grâce à vous !
Répondre