#1 Le 05/09/2020, à 16:02
- Bherx
Snap minidlna : configuration de l'accès aux dossiers et fichiers
Bonjour,
J'ai installé en juin 2020 la dernière version d'Ubuntu server (20.04) sur une machine vierge en cochant, au cours de la procédure d'installation d'Ubuntu server, l'ajout de minidlna au format snap. Minidlna au format snap est donc proprement installé sur mon serveur. Le serveur minidlna est d'ailleurs bien visible, en réseau local, depuis un ordinateur fonctionnant sous Windows 10. J'en déduis que le service minidlna est bien démarré sur le serveur. Jusque là, tout va bien.
Là où ça se complique, c'est pour configurer minidlna.
Première tentative, j'ai voulu modifier le fichier minidlna.conf dans /snap/minidlna-escoand/19/etc :
root@serveur:/snap/minidlna-escoand/19/etc# dir -l
total 4
-rw-r--r-- 1 root root 3566 Apr 27 2018 minidlna.conf
root@serveur:/snap/minidlna-escoand/19/etc# nano minidlna.conf
Et là, même en root, l'édition du fichier de configuration est impossible :
[ File 'minidlna.conf' is unwritable ]
Quelque peu dérouté, j'ai cherché encore et j'ai trouvé un autre fichier "minidlna.conf", accessible en écriture cette fois-ci :
root@serveur:/var/snap/minidlna-escoand/19# dir -l
total 80
-rw-r--r-- 1 root root 77824 Sep 5 07:57 files.db
-rw-r--r-- 1 root root 3883 Sep 4 20:07 minidlna.conf
root@serveur:/var/snap/minidlna-escoand/19# nano minidlna.conf
1. Première question : lequel de ces deux fichiers "minidlna.conf" détermine la configuration du service minidlna ?
J'ai modifié le seul fichier minidlna.conf des deux que je pouvais modifier (celui dans /var/snap/minidlna-escoand/19) dans l'espoir que ce soit le bon, au niveau de l définition des dossier de médias :
# port for HTTP (descriptions, SOAP, media transfer) traffic
port=8200
# network interfaces to serve, comma delimited
#network_interface=eth0
# specify the user account name or uid to run as
#user=jmaggard
# set this to the directory you want scanned.
# * if you want multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to specific content types, you
# can prepend the types, followed by a comma, to the directory:
# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
# + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera)
# media_dir=/opt
media_dir=P,/var/snap/nextcloud/common/nextcloud/data/UnUtilisateur/files/Albums
J'ai ensuite redémarré le serveur (pour être sûr de redémarrer le service minidlna), puis j'ai été voir à travers Windows quels médias étaient visibles. Et là, patatra, rien n'avait changé, toujours aucun fichier de média visible.
2. Deuxième question : à supposer que le deuxième fichier "minidlna.conf" que je pouvais modifier était bien le bon fichier à modifier pour configurer mon serveur minidlna, mon problème pourrait-il venir de difficultés d'accès en lecture aux médias par le service minidlna ?
J'ai également essayé de redémarrer le service sans redémarrer le serveur :
root@serveur:/var/snap/minidlna-escoand/19# service minidlna restart
Failed to restart minidlna.service: Unit minidlna.service not found.
Et là, surprise : le service n'est pas trouvé ! Je suspecte le fait que minidlna est encapsulé dans un snap. Serait-il trop isolé du reste de l'OS pour être identifié ? Un "force-reload" ne fonctionne pas non plus.
À force de chercher des pistes de résolution, je suis tombé sur d'autres discussions : discussion 1, discussion 2 et discussion 3. Je n'ai pas tout compris à ces discussions en anglais. Mais j'ai l'impression que certaines personnes ayant rencontré les mêmes difficultés que moi ont finalement abandonné la version snap de minidlna pour revenir à une version "à l'ancienne". Je ne voudrais pas en venir là, alors toute aide sera la bienvenue. Par avance, je vous en remercie. Dans l'attente de vos retours, je vous souhaite une bonne journée,
--
Bherx
P.S. : j'ai testé la commande
snap connect minidlna-escoand:removable-media
et ça, ça tourne. Mais je n'ai pas trop compris à quoi ça sert.
[edit]
En lisant le fichier /var/snap/minidlna-escoand/common/minidlna.log, j'espère avoir trouvé une piste :
[2020/09/05 07:57:10] minidlna.c:1048: warn: Starting MiniDLNA version 1.2.1.
[2020/09/05 07:57:10] minidlna.c:348: warn: New media_dir detected; rebuilding...
[2020/09/05 07:57:10] minidlna.c:1089: warn: HTTP listening on port 8200
[2020/09/05 07:57:12] scanner.c:731: warn: Scanning /var/snap/nextcloud/common/nextcloud/data/UnUtilisateur/files/Albums
[2020/09/05 07:57:12] scanner.c:763: warn: Error scanning /var/snap/nextcloud/common/nextcloud/data/UnUtilisateur/files/Albums [Permission denied]
3. Troisième question : Comment régler ces problèmes de permission ?
Dernière modification par Bherx (Le 05/09/2020, à 16:29)
Hors ligne
#2 Le 06/09/2020, à 10:24
- bluc
Re : Snap minidlna : configuration de l'accès aux dossiers et fichiers
Bonjour,
Je serai peut etre a coté de la plaque, mais pour que les snaps puisse voir les fichiers hors du système il faut lui en donner la permission avec la logithèque
Dernière modification par bluc (Le 06/09/2020, à 10:25)
Clevo : Ubuntu 23.10 ❖ Xubuntu 22.10 ❖ Kubuntu 23.10
avec partition data commune Une fraction de seconde Multiboot
En ligne
#3 Le 18/09/2020, à 20:02
- Bherx
Re : Snap minidlna : configuration de l'accès aux dossiers et fichiers
Bonsoir bluc,
Merci beaucoup pour cette première réponse. Et concrètement, qu'est-ce que cela signifie ? J'ignore ce qu'est la "logithèque", surtout sur Ubuntu server.
Mais cette idée d'accorder des permissions d'accès me semble la plus pertinente : ça colle avec le "[Permission denied]" et il me semble que c'est la raison d'être de la commande "snap connect minidlna-escoand:removable-media".
Par avance, je vous remercie pour toute aide supplémentaire.
Hors ligne
#4 Le 18/09/2020, à 21:02
- Bherx
Re : Snap minidlna : configuration de l'accès aux dossiers et fichiers
J'avance lentement (et j'aimerais ajouter : mais sûrement…)
Un logiciel encapsulé dans un snap accède à des ressources extérieures au snap à l'aide d'une interface : https://snapcraft.io/docs/interface-management
Cette interface relie un port entrant (appelé plug) du snap bénéficiaire à un port sortant (appelé slot) d'un fournisseur.
Il existe, de base dans l'univers des snaps, des interfaces permettant de couvrir la plupart des besoins courants (accès à un port physique de la machine, accès à un disque dur externe, accès à l'audio, accès au réseau, etc.) : https://snapcraft.io/docs/supported-interfaces
La commande
snap connect minidlna-escoand:removable-media
permettrait donc de donner au snap minidlna l'accès aux médias amovibles et notamment ceux montés dans /mnt : https://snapcraft.io/docs/removable-media-interface
Je monte donc un disque contenant des vidéos dans /mnt et je vais faire des tests…
Hors ligne
#5 Le 18/09/2020, à 21:26
- Bherx
Re : Snap minidlna : configuration de l'accès aux dossiers et fichiers
Tests concluants !
Mais mon problème n'est pas encore tout à fait résolu puisque je n'ai maintenant plus accès aux dossiers contenus dans le disque depuis /var/snap/nextcloud/common/nextcloud/data/UnUtilisateur/files/Albums , là où j'avais initialement monté mon disque de média…
Je vais donc à présent tenter de mettre des droits d'accès en écriture et lecture au disque monté dans /mnt pour le snap Nextcloud…
Hors ligne
#6 Le 18/09/2020, à 21:37
- Zakhar
Re : Snap minidlna : configuration de l'accès aux dossiers et fichiers
C'est quand même plus simple en installant avec apt pour éviter d'avoir un "snap" !
J'installais déjà souvent en ligne de commande, mais maintenant je fais exclusivement comme cela car je ne veux pas "polluer" mon système d'un gros paquets de snaps...
Le seul intérêt c'est si on vraiment besoin des nouveautés d'une version particulière du logiciel qui n'est pas dans les dépôts pour cause de politique de freeze d'Ubuntu. Exemple, en 16.04 (qui date un peu maintenant !) j'avais pris le snap de VLC pour avoir la VLC 3.x qui lit par exemple les pistes en TrueHD (ce que je faisait pas la 2.X du dépôt 16.04)
Est-ce le cas pour ton besoin minidlna ?
Dernière modification par Zakhar (Le 18/09/2020, à 21:41)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#7 Le 18/09/2020, à 22:29
- Bherx
Re : Snap minidlna : configuration de l'accès aux dossiers et fichiers
C'est quand même plus simple en installant avec apt pour éviter d'avoir un "snap" ! lol
Certes, c'est plus simple quand on n'a pas l'habitude d'autre chose. Mais quand on aura identifié les trois pauvres commandes qui suffisent à faire tourner correctement les snaps, les snaps ne paraîtront pas plus compliqués d'utilisation.
Les snaps, c'est inspiré des containers qui sont de loin les outils de développement web les plus en vogue de nos jours. À tort ou à raison ? L'avenir le dira…
Enfin, ça me paraît instructif de se confronter à la logique des containers.
Le seul intérêt c'est… Est-ce le cas pour ton besoin minidlna ?
J'ignore où en sont les développements des versions paquets. Je voulais une version récente de minidlna et comme la version snap était proposée à l'installation d'Ubuntu, je me suis naïvement dis que ce serait simple à configurer (j'avais le mauvais souvenir d'une grosse difficulté de configuration d'une version paquet il y a quelques années : il fallait écrire soi-même une routine d'automatisation du démarrage d'un service indispensable au lancement de minidlna.)
Hors ligne
#8 Le 19/09/2020, à 08:19
- Zakhar
Re : Snap minidlna : configuration de l'accès aux dossiers et fichiers
Oui, cela a des avantages, mais aussi les inconvénients qui vont avec !..
Avantages des snaps : version plus récentes, containerisation (dans une certaine mesure), moins de contraintes de dépendances, meilleure universalité (le package est davantage indépendant de la distrib Linux utilisée)
Incovnénients : moins de stabilité (conséquence de "récent" = tout n'est pas débuggé), moins bonne intégration à l'environnement de bureau choisi (conséquence de la contenerisation et plus grande universalité), occupation d'espace disque galopante (plusieurs versions, plus duplications des librairies dépendantes)
Ce sont les deux derniers points d'inconvénients qui m'ennuient le plus car ça ressemble de plus en plus furieusement à du W$
Mais la logique suivie par Canonical, comme désormais pas M$, est de considérer plutôt les clients entreprises : les seuls qui vont payer !..
En entreprise les snaps font du sens et la moindre stabilité peut se régler facilement en verrouillant les snaps dans ce cas à un certain niveau, ou en revenant au package debian.
Cela est donc logique que Canonical les favorise, ça va dans son modèle économique.
Pour mon usage personnel, ça me convient pas du tout à cause de ces deux derniers facteurs : je n'ai pas envie que mon Linux devienne un Windows (Will Install Needless Data On Whole System), et la moins bonne intégration (que tu subis) ne me plaît pas non plus.
C'est la raison pour laquelle je n'utilise les snaps que quand j'ai vraiment besoin de l'avantage "nouveautés".
Ce qui est mal expliqué par contre, et qui a fait coulé beaucoup d'encre et de complaintes, c'est que lorsqu'il y a un package debian et un snap, "Ubuntu Software" (outil graphique) installe systématiquement le snap par défaut.
Du coup, si tu n'as pas pris garde et que tu as simplement utilisé le "truc standard", tu vas finir par te retrouver avec une foison de snaps...
C'est pourquoi pour mon usage, je préfère utiliser la ligne de commande. Elle te prévient quand il y a deux packages : snap et debian, et tu maîtrises mieux les choix.
Mais ça ne va sans doute pas aller en s'améliorant côté package debian, certains outils majeurs comme chromium-browser ne sont déjà plus qu'en snap !
$ sudo apt install chromium-browser
(...)
Préparation du dépaquetage de .../chromium-browser_1%3a85.0.4183.83-0ubuntu0.20.04.1_amd64.deb ...
=> Installing the chromium snap
==> Checking connectivity with the snap store
==> Installing the chromium snap
Ou plus précisément, le package debian chromium-browser existe... mais son seul rôle est d'installer le snap correspondant !..
Dernière modification par Zakhar (Le 19/09/2020, à 08:20)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#9 Le 09/10/2020, à 21:08
- Bherx
Re : Snap minidlna : configuration de l'accès aux dossiers et fichiers
Problème résolu.
J'ai donné les droits d'accès au disque monté dans /mnt au snap Nextcloud avec la commande :
snap connect nextcloud:removable-media
Après quoi, j'ai paramétré le disque monté dans /mnt comme un stockage externe dans Nextcloud pour y avoir accès.
Je pense que c'est ce qu'on pouvait faire de plus propre. En résumé, il y avait très peu de commandes à maîtriser. Les snap Nextcloud et Minidlna sont isolés et accèdent tous les deux à un disque dur monté dans /mnt.
En espérant que mes travaux soient utiles à d'autres.
Bonne continuation,
--
Bherx
Hors ligne