- Status Closed
- Percent Complete
- Task Type Évolution
- Category Services locaux → SMB
- Assigned To No-one
- Operating System Tous
- Severity Low
- Priority Very Low
- Reported Version A PRECISER
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
Opened by idoric - 23/04/2021
Last edited by mmakassikis - 26/04/2021
FS#34633 - Impossible de créer un lien dur (hardlink) sur un disque dur monté via SMB
Bonjour,
La création d'un lien dur (hardlink) ne semble pas possible via le protocole SMB (en version 2 et 3 du moins, je n'arrive plus à activer la version 1 sur ma distribution Linux donc je ne peux pas tester). Cette fonctionnalité m'est réclamée par mon logiciel de backup, qui m'affiche "Failed to initialize repository […] hardlinks not supported […]".
Je précise qu'avec le même disque, via un partage SMB également, cela fonctionne parfaitement sur mon Raspberry Pi avec LibreElec (malheureusement, il surchauffe trop vite pour être utilisable comme NAS de fortune). Après vérification, le format NTFS est censé gérer les liens durs, et j'ai pu constater qu'après reformatage au format ext4, le problème était identique. Par contre, en NTFS comme en ext4, j'arrive à initialiser (et à utiliser) mon dépôt de backup si j'utilise le partage AFP (Partages Mac OS, AirPort): des liens durs sont bel et bien créés.
D'après mes recherches, avec Samba il faut activer les "unix extensions" dans le fichier "smb.conf" (même pour les partitions NTFS malgré la référence à UNIX), mais je ne sais pas si vous utilisez Samba pour SMB2 et SMB3 (SMB2 arrive avec Samba 3.5, or dans les mentions légales de la Freebox vous dites utiliser la version 3.0.37), cette information vous sera donc peut-être inutile.
Je précise que je parle pour la version 4.3 de Freebox OS (le formulaire de rapport de bug ne me propose que 4.2.9 ou à préciser).
Bien à vous.
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
Sur un partage monté avec mount.cifs, la création de hardlink fonctionne (testé en ext4 et xfs):
$ sudo mount -t cifs //192.168.1.254/disk share_smb -o guest,uid=mmakassikis,vers=3.1.1 $ cd share_smb $ touch file1 file2 $ ln file1 link_to_file1 $ ls -li file1 file2 link_to_file1 3145738 -rwxr-xr-x 2 mmakassikis root 0 avril 23 16:58 file1 3145739 -rwxr-xr-x 1 mmakassikis root 0 avril 23 16:58 file2 3145738 -rwxr-xr-x 2 mmakassikis root 0 avril 23 16:58 link_to_file1
La commande 'ln' n'a pas renvoyé d'erreur, et les fichiers file1 et link_to_file1 ont bien le même numéro d'inode (3145738).
Pouvez-vous m'envoyer le résultat de la commande "mount | grep cifs" ?
Pouvez-vous également m'indiquer le logiciel de backup utilisé ?
"mount | grep cifs" ne renvoie rien, et pour cause : le logiciel sous-jacent de backup utilisé est Borg (borgbackup.org), mais c'est Pika Backup (wiki.gnome.org/Apps/PikaBackup) que j'utilise et qui fait office d'interface graphique, et ce dernier accède au partage SMB en faisant appel à GVFS (wiki.gnome.org/Projects/gvfs).
La création de hardlinks fonctionne via smbclient sur la freebox mais aussi sur un serveur samba (sans avoir touché à la configuration pour activer les extensions UNIX).
Ceci me fait penser que le backend SMB de GVFS se fait pas gérer correctement la création de hardlink.
Je vous conseille de monter le disque avec mount.cifs (pour que ce soit fait automatiquement au démarrage, il faut rajouter une entrée dans le fichier /etc/fstab). Par exemple:
//mafreebox.freebox.fr/Disque /mnt/Freebox cifs vers=3.1.1,uid=idoric,user=freebox,password=freebox123 0 0
Remplacer 'Disque' par le nom du disque et adaptez les informations d'authentification. Le répertoire cible (/mnt/Freebox en l'occurrence) doit exister. Le paramètre "uid=idoric" permet à l'utilisateur d'écrire dans le répertoire sans nécessiter les droits root. Enfin, configurer PikaBackup pour stocker les sauvegardes dans /mnt/Freebox.
Je prends bien note.