Bonjour,

mediatomb me retourne ce résultat au lancement:
root@enterprise /home/llaumgui> service mediatomb status
Redirecting to /bin/systemctl  status mediatomb.service
mediatomb.service - UPnP MediaServer
          Loaded: loaded (/usr/lib/systemd/system/mediatomb.service; disabled)
          Active: failed (Result: exit-code) since Mon, 04 Jun 2012 08:12:41 +0200; 1h 55min ago
         Process: 14092 ExecStart=/usr/bin/mediatomb -d -u mediatomb -g mediatomb -P /run/mediatomb.pid -l /var/log/mediatomb -m /etc -f mediatomb -p 50500 -e eth0 (code=exited, status=0/SUCCESS)
         Process: 14085 ExecStartPre=/usr/sbin/ifconfig eth0 allmulti (code=exited, status=255)
         Process: 14082 ExecStartPre=/usr/sbin/route add -net 239.0.0.0 netmask 255.0.0.0 eth0 (code=exited, status=7)
        Main PID: 14093 (code=exited, status=1/FAILURE)
          CGroup: name=systemd:/system/mediatomb.service


Warning: Unit file changed on disk, 'systemctl --system daemon-reload' recommended.
Ce qui est normal car le port et l'interface réseau sont faux. Avant lorsque MediaTomb passait par un script init.d, j'avais un fichier /etc/mediatomb/mediatomb.conf qui me servait a définir mon service :
root@enterprise /home/llaumgui> cat /etc/mediatomb/mediatomb.conf
## This is a sambel configuration file for the MediaTomb daemon script
## used on Fedora Core

## By default the configuration will be created in /etc/mediatomb

## Network interface on which the server will run, you need to edit this!
MT_INTERFACE="eth2"

## User defined command line options that may be passed to the server
MT_OPTIONS=""

## MediaTomb will be started on port 50500
MT_PORT="49152"

## MediaTomb will run as mediatomb
MT_USER="mediatomb"
MT_GROUP="mediatomb"

## Location of the PID file
MT_PIDFILE="/var/run/mediatomb.pid"

## Location of the log file
MT_LOGFILE="/var/log/mediatomb"

## Location of the config file/database
MT_HOME="/etc"
MT_CFGDIR="mediatomb"
Mais ça c'était avant... Maintenant je dois passer par une édition de /usr/lib/systemd/system/mediatomb.service ? Car j'ai modifié ce fichier mais sans succès :
root@enterprise /home/llaumgui> cat  /usr/lib/systemd/system/mediatomb.service
[Unit]
Description=UPnP MediaServer
After=network.target

[Service]
Type=forking
PIDFile=/run/mediatomb.pid
ExecStartPre=-/usr/sbin/route add -net 239.0.0.0 netmask 255.0.0.0 eth2
ExecStartPre=-/usr/sbin/ifconfig eth2 allmulti
ExecStart=/usr/bin/mediatomb -d -u mediatomb -g mediatomb -P /run/mediatomb.pid -l /var/log/mediatomb -m /etc -f mediatomb -p 49152 -e eth2

[Install]
WantedBy=multi-user.target
Tu as bien fait un reload après avoir modifié le fichier .service ?
systemctl --system daemon-reload
15 jours plus tard
salut,

meme souci que toi, resolu en editant le fichier et en remplaçant par la bonne interface.

par contre bien que le demarrage manuel fonctionne correctement, au démarrage du serveur... ca veut pas... voile le status:
systemctl status mediatomb.service 
mediatomb.service - UPnP MediaServer
	  Loaded: loaded (/usr/lib/systemd/system/mediatomb.service; enabled)
	  Active: failed (Result: exit-code) since Tue, 19 Jun 2012 22:47:10 +0200; 38s ago
	 Process: 692 ExecStart=/usr/bin/mediatomb -d -u mediatomb -g mediatomb -P /run/mediatomb.pid -l /var/log/mediatomb -m /etc -f mediatomb -p 50500 -e p6p1 (code=exited, status=0/SUCCESS)
	 Process: 683 ExecStartPre=/usr/sbin/ifconfig p6p1 allmulti (code=exited, status=0/SUCCESS)
	 Process: 669 ExecStartPre=/usr/sbin/route add -net 239.0.0.0 netmask 255.0.0.0 p6p1 (code=exited, status=0/SUCCESS)
	Main PID: 703 (code=exited, status=1/FAILURE)
	  CGroup: name=systemd:/system/mediatomb.service
si quelqu'un a une idée...
5 jours plus tard
Salut,

j'espère que vous suivez toujours le sujet.

J'ai réussi à faire fonctionner Mediatomb en suivant vos indications mais au bout d'un moment, ça ne marche plus et j'ai ce message :
ERROR: ActionRequest::update(): response is nil, code -115
.

Il y a cesi aussi :
[root@zeoli-desktop ~]# systemctl status mediatomb.service
mediatomb.service - UPnP MediaServer
	  Loaded: loaded (/usr/lib/systemd/system/mediatomb.service; disabled)
	  Active: active (running) since Sun, 24 Jun 2012 14:38:29 +0200; 1h 57min ago
	 Process: 1412 ExecStart=/usr/bin/mediatomb -d -u mediatomb -g mediatomb -P /run/mediatomb.pid -l /var/log/mediatomb -m /etc -f mediatomb -p 49152 -e p6p1 (code=exited, status=0/SUCCESS)
	 Process: 1409 ExecStartPre=/usr/sbin/ifconfig p6p1 allmulti (code=exited, status=0/SUCCESS)
	 Process: 1406 ExecStartPre=/usr/sbin/route add -net 239.0.0.0 netmask 255.0.0.0 p6p1 (code=exited, status=0/SUCCESS)
	Main PID: 1413 (mediatomb)
	  CGroup: name=systemd:/system/mediatomb.service
		   1413 /usr/bin/mediatomb -d -u mediatomb -g mediatomb -P...
À loaded, j'ai un disabled alors que vous avez enabled. Mais le serveur a démarré quand même.

Une idée ?

Patrick
2 mois plus tard
Je me réponds à moi meme:

En fait mediatomb ne pouvait etre démarré par systemd dans mon cas car ma baie raid5 qui contient mes partages gérée par mdadm n'avait pas encore démarrée... mediatomb ne trouvait donc pas les dossiers qu'il est sensé partager et donc crachait lamentablement 😃

j'ai donc ajouté un fichier drive.ok à la racine de mon disque raid, monté sur /upnp

Dans le fichier /etc/systemd/system/multi-user.target.wants/mediatomb.service je verifie sa presence avant de lancer le service:

[Unit]
Description=UPnP MediaServer
After=network.target
ConditionPathExists=/upnp/drive.ok
Vala tout fonctionne nickel maintenant 🙂
5 jours plus tard
oups non finalement ca ne suffisait pas.... en fait le pb vient du fait que mon serveur est client dhcp... mediatomb demarrait avant l'obtention de l'adresse...

J'ai donc activé le service qui verifie que NetworkManager a fini de démarrer:
# systemctl enable NetworkManager-wait-online.service
et voici le debut de mon fichier mediatomb.service:

[Unit]
Description=UPnP MediaServer
After=NetworkManager-wait-online.service
ConditionPathExists=/upnp/drive.ok
maintenant tout fonctionne au demarrage 🙂
11 ans plus tard
llaumgui a renommé le titre en Problème avec mediatomb lors du passage à systemd le .