Blog

Bienvenue...

...sur mon blog, j'utilise ce site pour noter les petites choses qui me sont utiles, que ça soit informatique ou autre :)

Il y a 9 années 3 mois

Je tentais un yum update sur une VM lorsque subitement impossible de me connecter au proxy...

*grmbl* je me connecte donc à la VM du proxy, et là forcément le FS / à 100%, ça va moins bien marcher...

un p'tit

du -hs *

sur / et je vois que tout est bouffé par /var et donc en poussant le vice /var/log/maillog qui était à 2.2G...

Bref j'effectue une purge-a-la-porcasse (echo > /var/log/maillog) histoire de... et là bim ça défile a bloc dans /var/log/maillog

Donc déjà correction de la conf postfix (/etc/postfix/main.cf) vu que ça tentait la connexion sur de l'ipv6, modif de :

inet_protocols = all

en

inet_protocols = ipv4

Pis là je reload le service postfix et ça continue de défiler avec des messages genre "blocked to avoid spam", je check donc la file d'attente :

postqueue -p

+38000 messages en attente... *gni* je check le contenu, globalement la plupart de messages inutiles, bref re-purge de porcasse :

mailq | tail -n +2 | awk 'BEGIN { RS = "" } / kagoun@gmail\.com$/ { print $1 }' | tr -d '*!' | postsuper -d -

Et voilà !!

Il y a 9 années 7 mois

netcat, un p'tit outil qu'il est bien :

Ouvrir un process qui écoute sur le port concerné sur le serveur de destination :

nc -lv <Numero de port>

Executer un test de connexion depuis le serveur client :

nc -zv <IP de destination> <Numéro de port>

Ce qui donne un truc du genre :

[kacy@SRVDEST:/]$ nc -lv <Numéro de port>
Connection from <IP du client> port <Numéro de port> [tcp/*] accepted
[kacy@SRVDEST:/]$ 
[kacy@SRVCLI:/]$ nc -zv <IP du SRVDEST> <Numéro de port> <Numéro de port>
Connection to <IP du SRVDEST> <Numéro de port> port [tcp/*] succeeded!
[kacy@SRVCLI:/]$ 
Il y a 9 années 8 mois

J'ai remarqué, et subit, le fait que Plex ne remet pas a jour correctement la bibliothèque, particulièrement quand on ajoute des fichier de sous-titres ou autres modifs.

En gros la majorité des opérations de modifs/maj sont zappées, du coup on passe deux plombes a essayer de faire activer le fichier de sous-titre ou le film ajouté...

Bref, ça m'a gavé, du coup j'ai décidé de jeter un oeil à ce qu'il était possible de faire en mode ligne de commande, j'ai découvert avec surprise qu'il existait des choses qui permettaient de faire les manips pour lesquelles je galerais (vu que le refresh de librairie n'est pas géré dans le client iOS/Android, obligé de passer par l'interface web, bref le gros boxon je trouve).

D'autant plus que j'avais coché les p'tites options qui vont bien pour scanner les librairies tous les jours, mais qui ne marchent pas visiblement...

Bref, c'est super simple en fait :

Nativement Plex pose ses executable dans /usr/lib/plexmediaserver. Donc on a deux choses 'Plex Media Server' et 'Plex Media Scanner', oui avec des espaces, le truc relou en mode ligne de commande.

J'ai donc décidé de faire un p'tit raccourci pour le lancer en une commande sans espace, après moult essais j'ai réussi en passant par un script qui fait ça :

sudo touch /usr/local/bin/plexmediascanner.sh
sudo chmod +x /usr/local/bin/plexmediascanner.sh
sudo vi /usr/local/bin/plexmediascanner.sh
 
#!/bin/sh
PLEX_RUNNABLE="`which Plex\ Media\ Scanner`"
sudo LD_LIBRARY_PATH=${LD_LIBRARY_PATH} -u plex "${PLEX_RUNNABLE}" $@

Et pour faire propre on met aussi le server :

sudo touch /usr/local/bin/plexmediaserver.sh
sudo chmod +x /usr/local/bin/plexmediaserver.sh
sudo vi /usr/local/bin/plexmediaserver.sh
 
#!/bin/sh
PLEX_RUNNABLE="`which Plex\ Media\ Server`"
sudo LD_LIBRARY_PATH=${LD_LIBRARY_PATH} -u plex "${PLEX_RUNNABLE}" $@

Tout ça combiné à un PATH enrichi d'un script qui va bien dans le profile.d :

sudo touch /etc/profile.d/plex.sh
sudo chmod +x /etc/profile.d/plex.sh
sudo vi /etc/profile.d/plex.sh
 
#!/bin/sh
#on set le home de plex
PLEX_PATH=/usr/lib/plexmediaserver
#on ajoute le home dans le libpath
export LD_LIBRARY_PATH=${PLEX_PATH}
#on ajoute le home au PATH
pathmunge ${PLEX_PATH}

Du coup il est maintenant possible avec un user autorisé en SUDO NOPASSWD (oui OK c'est moche mais je m'en tape ma VM ne fait que media server... j'améliorerais ça plus tard :P ) de lancer la commande plexmediascanner --list et ça marche ;)

EDIT : bon alors pour la problématique du sudo, j'ai réussi à faire marcher le biniou avec un p'tit coup de conf SUDO, lancer visudo et ajouter les infos suivantes :

Defaults    env_keep += "LD_LIBRARY_PATH"
Defaults    env_keep += "PLEX_PATH"
[...]
%ungroupe      ALL=(ALL)       NOPASSWD: /usr/lib/plexmediaserver/Plex\ Media\ Scanner
%ungroupe      ALL=(ALL)       NOPASSWD: /sbin/service plexmediaserver*

Avec ça, le passage de LD_LIBRARY_PATH dans la commande est autorisé, et mon user a le droit de lancer plexmediascanner et de faire des arrêts relance du service plexmediaserver sans mot de passe. Pour le reste, il faut le mot de passe...

Il y a 9 années 8 mois

Plutot que d'éditer /etc/profile, j'ai trouvé une methode plus "propre"

# echo 'pathmunge /usr/lib/plexmediaserver' > /etc/profile.d/plex.sh
# chmod +x /etc/profile.d/plex.sh

Ce qui permet de tracer les modifs plus simplement...

Bon accessoirement j'ai ajouté quelques petites choses pour que ça marche mieux, mais c'est très spécifique a Plex

PLEX_PATH=/usr/lib/plexmediaserver
export LD_LIBRARY_PATH=${PLEX_PATH}
pathmunge ${PLEX_PATH}
Il y a 9 années 8 mois

J'ai remis un peu le nez dans la conf' histoire de faire le tour de la sécurisation des flux SSL suite aux differentes vulnérabilités détectées...

J'ai trouvé quelques sites pas mal pour générer une conf' et trouver de l'info sur le pourquoi du comment de l'option qui va bien :

Et pour ce qui est de générer un certif SSL RSA, un p'tit tuto qu'il est bien dispo ici (mis en attachement au billet)

Pour tester du coup y'a SSLLabs qui me paraît pas mal du tout :)

Pages