cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

Vous êtes-vous déjà demandé comment modifier un script systemd sous Debian et ces dérivés ?

Cela se fait à l’aide de la commande systemctl edit qui assure le redémarrage, et ne modifie pas le code venant du paquet du mainteneur. Cela vous évitera bien des questions lors de la mise à jour de votre système. De plus, cela met en évidence vos modifications.

systemctl edit NOM_DU_SERVICE

Prenons le script BIND9 systemd comme exemple. Un brouillon des meilleures pratiques chez ISC stipule que, de par sa conception et pour des raisons de sécurité, le mode de défaillance le plus courant pour BIND est la fin intentionnelle du processus lorsque celui-ci rencontre un état incohérent. Un processus d’alerte automatique capable de redémarrer intelligemment BIND est recommandé…

Suite à cette recommandation, on veut s’assurer que BIND est redémarré automatiquement en cas d’échec, ce qui n’est pas le cas par défaut. Pour que systemd redémarre un service de manière automatique, vous devez ajouter la directive Restart= au fichier de configuration du service.

Pour comprendre il faut s’attarder sur la documentation de 5ᵉ niveau de systemd :

man 5 systemd.service

On y trouve ce tableau très intéressant à propos de la clause Restart= :


┌──────────────────────┬────┬────────┬────────────┬────────────┬─────────────┬──────────┬─────────────┐
│Restart settings/Exit │ no │ always │ on-success │ on-failure │ on-abnormal │ on-abort │ on-watchdog │
│causes                │    │        │            │            │             │          │             │
├──────────────────────┼────┼────────┼────────────┼────────────┼─────────────┼──────────┼─────────────┤
│Clean exit code or    │    │ X      │ X          │            │             │          │             │
│signal                │    │        │            │            │             │          │             │
├──────────────────────┼────┼────────┼────────────┼────────────┼─────────────┼──────────┼─────────────┤
│Unclean exit code     │    │ X      │            │ X          │             │          │             │
├──────────────────────┼────┼────────┼────────────┼────────────┼─────────────┼──────────┼─────────────┤
│Unclean signal        │    │ X      │            │ X          │ X           │ X        │             │
├──────────────────────┼────┼────────┼────────────┼────────────┼─────────────┼──────────┼─────────────┤
│Timeout               │    │ X      │            │ X          │ X           │          │             │
├──────────────────────┼────┼────────┼────────────┼────────────┼─────────────┼──────────┼─────────────┤
│Watchdog              │    │ X      │            │ X          │ X           │          │ X           │
└──────────────────────┴────┴────────┴────────────┴────────────┴─────────────┴──────────┴─────────────┘

Comme le DNS est très important dans mon infrastructure, j’ai choisi Restart=always ce qui permet d’assurer un redémarrage du service même s’il est sorti avec succès.

Notez que le service ne redémarrera pas automatiquement si vous utilisez service bind9 stop ou systemctl stop bind9.

Pour ajouter Restart= au problème de fichier de service, utilisons la solution prévue par systemd :

sudo systemctl edit bind9.service

et dans l’éditeur qui a été ainsi ouvert, il suffit d’écrire :

[Service]
Restart=always

Enregistrez et quittez le fichier. Jetez un coup d’œil au service à l’aide de :

systemctl status bind9
● bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/bind9.service.d
           └─override.conf
   Active: active (running) since Tue 2019-07-30 11:20:42 CEST; 23s ago
     Docs: man:named(8)
  Process: 9453 ExecStop=/usr/sbin/rndc stop (code=exited, status=0/SUCCESS)
 Main PID: 9458 (named)
    Tasks: 7 (limit: 4915)
   CGroup: /system.slice/bind9.service
           └─9458 /usr/sbin/named -f -4 -u bind

Vous remarquerez que la section Drop-In contient une référence vers override.conf. Choisissons le PID 9458 (tache named) et tuons le service à l’aide de :

sudo kill -9 9458

Ensuite vérifions l’état du service avec systemctl status bind9 :

● bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/bind9.service.d
           └─override.conf
   Active: active (running) since Tue 2019-07-30 11:22:39 CEST; 34s ago
     Docs: man:named(8)
  Process: 11403 ExecStop=/usr/sbin/rndc stop (code=exited, status=1/FAILURE)
 Main PID: 11408 (named)
    Tasks: 7 (limit: 4915)
   CGroup: /system.slice/bind9.service
           └─11408 /usr/sbin/named -f -4 -u bind

Il a maintenant un nouveau PID.

La commande journalctl -xe donne un peu plus de détails :

Jul 30 11:22:39 framboise10 systemd[1]: bind9.service: Main process exited, code=killed, status=9/KILL
Jul 30 11:22:39 framboise10 rndc[11403]: rndc: connect failed: 127.0.0.1#953: connection refused
Jul 30 11:22:39 framboise10 systemd[1]: bind9.service: Control process exited, code=exited status=1
Jul 30 11:22:39 framboise10 systemd[1]: bind9.service: Unit entered failed state.
Jul 30 11:22:39 framboise10 systemd[1]: bind9.service: Failed with result 'signal'.
Jul 30 11:22:39 framboise10 systemd[1]: bind9.service: Service hold-off time over, scheduling restart.
Jul 30 11:22:39 framboise10 systemd[1]: Stopped BIND Domain Name Server.
-- Subject: Unit bind9.service has finished shutting down
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit bind9.service has finished shutting down.
Jul 30 11:22:39 framboise10 systemd[1]: Started BIND Domain Name Server.
-- Subject: Unit bind9.service has finished start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit bind9.service has finished starting up.
--
-- The start-up result is done.
Jul 30 11:22:39 framboise10 named[11408]: starting BIND 9.10.3-P4-Raspbian <id:ebd72b3> -f -4 -u bind

Notez que systemd a remarqué que BIND a été tué et l’a redémarré.

Bon c’est bien mais comment scripter cela ?

La solution est étonnamment simple…

tmpfile=$( mktemp )
cat <<EOF >"${tmpfile}"
[Service]
Restart=always
EOF

sudo env SYSTEMD_EDITOR="cp ${tmpfile}" systemctl edit bind9.service

Wouhai, bon avec quelques explications se sera plus simple :


Première étape, création d’un fichier temporaire, et on récupère le nom dans la variable tmpfile :

tmpfile=$( mktemp )

La syntaxe $( xxx ) permet d’exécuter la commande xxx et prend comme résultat la sortie standard. On parle de sortie standard pour différencier les affichages qui ne sont pas des messages d’erreurs et qui ne seront pas pris en compte.


Ensuite on initialise le fichier, avec le contenu souhaité :

cat <<EOF >"${tmpfile}"
[Service]
Restart=always
EOF

Ici, la syntaxe cat <<EOF … EOF permet de définir une zone de texte qui sera considérée comme une entrée standard, que l’on redirige vers le fichier à l’aide de >"${tmpfile}". La zone de texte commande après la ligne contenant <<EOF et fini ajuste avant la ligne contenant EOF


Ensuite se trouve l’astuce. Pour comprendre, il faut savoir que systemctl va regarder le contenu de la variable SYSTEMD_EDITOR pour choisir le programme qui sera utilisé pour éditer le fichier. Le lancement de l’éditeur se fera à l’aide : commande_editeur nom_du_fichier_a_editer.

En utilisant la syntaxe SYSTEMD_EDITOR="cp ${tmpfile}", on indique le l’éditeur est la commande cp ${tmpfile}, commande qui sera complétée par le nom du fichier qu’ajoutera systemctl edit.

sudo env SYSTEMD_EDITOR="cp ${tmpfile}" systemctl edit bind9.service

Pour être exhaustif sur la syntaxe de la ligne :

  • La commande sudo indique que l’on souhaite avoir les privilèges administrateurs,
  • ensuite env précise que l’on définit une variable d’environnement (qui n’existera que pour la commande suivante),
  • Après on trouve la définition de la variable, suivant de la commande qui sera effectuée.

Concrètement j'utilise ce code à travers une fonction que j’ai nommée patch_systemd comme suit :

function patch_systemd {
  local tmpfile=

  tmpfile="$( mktemp )"

  cat <<EOF >"${tmpfile}"
[Service]
Restart=always
EOF

  sudo env SYSTEMD_EDITOR="cp ${tmpfile}" systemctl edit bind9.service
}

Il suffit d’appeler la fonction pour mettre à jour la configuration du service.

Références

ᦿ


Ce billet a été édité le : 2019-08-17

Voici quelques pistes et conseils pour créer vos films personnels à partir de vos photos et de vos vidéos de vacances.


Préparation préalable

Idéalement vos vidéos et images brutes doivent sauvegarder sur un disque externe.

Si vous avez assez de place sur votre disque dur local, pour chaque film copiez dans un dossier spécifique les vidéos que vous souhaitez utiliser.

Concernant vos photos, faite la même chose et avant de les incorporer dans une vidéo, retravaillez-les avec un logiciel de tel que Gimp. Reprenez en particulier le cadrage et l’éclairage.


Kdenlive

Kdenlive est un logiciel gratuit, libre et open-source sous les termes de la licence publique générale GNU.

Je vous invite à voir la procédure d'installation de Kdenlive déjà décrite sur ce blog.


OpenShot

OpenShot video editor est un logiciel gratuit, libre et open-source sous les termes de la licence GPL version 3.0.

sudo add-apt-repository ppa:openshot.developers/ppa &&
sudo apt-get update &&

Concrètement cela ajoutera les fichiers /etc/apt/sources.list.d/openshot_developers-ppa-bionic.list dans votre système lui permettant de recevoir les paquets liés à kdenlive. De manière annexe, cela ajoute les clés de sécurité permettant d’authentifier les nouveaux paquets.

Ensuite l’installation se fait par :

sudo apt-get install -y openshot-qt

Kdenlive versus OpenShot

Ces deux produits:

  • sont libres et gratuits,
  • offre une interface en français,
  • permettent une édition non linéaire des vidéos.
Kdenlive OpenShot
Interface très complète Interface simple mais limitée
Support du canal alpha (transparence) ?
Grande richesse des fonctionnalités Le strict minimum, notamment une bibliothèque de titre près à l’emploi
Beaucoup d’effets avec beaucoup d’options Nombre d’effets limité, avec des effets prêts à l’emploi
Gourmand en mémoire Relativement léger en mémoire, mais assez lent
Utilise les différents cœurs du CPU N’utilise pas les différents cœurs du CPU

Je trouve qu’il y a un écart considérable entre les deux produits, peut-être OpenShot est plus simple à utiliser. OpenShot me semble est dans la logique de la marque à la pomme, on fait rapidement ce qui a été prémâché par les développeurs, mais il est impossible de faire ce qu’ils n’ont pas imaginé.

Pour ma part ayant commencé sur Kdenlive, je suis trouve l’utilisation d’OpenShot assez désagréable, je me sent limité par le manque d’options d’OpenShot.


Contraintes

Attention, ce type de programme nécessite beaucoup de ressources. Pour un film de 20 minutes avec 3 bandes vidéo et 2 bandes son, il est probable que cela nécessite près de 8 Go de RAM. En réalité cela dépend énormément de la complexité du montage et des effets choisis.

Lors du montage, on arrive très vite à 3 Go de RAM nécessaire pour les calculs, n’espérez pas faire des miracles avec 4 Go de mémoire sur votre machine. Une bonne machine pour faire de la vidéo doit avoir au minimum 16 Go de mémoire vive et une carte graphique digne de ce nom, pas nécessaire avec de grosses performances en 3D mais avec disons au moins 4 Go de RAM.

La vidéo demande également beaucoup d’espace de stockage, on atteint rapidement 500 Go d’espace disque nécessaire.


Références

ᦿ


Ce billet a été édité le : 2019-08-21

Attention ce billet n’a pas pour vocation à vous détourner du tri, et si vous n’être pas pratiquant je vous encourage à trier, car reste néanmoins une étape indispensable dans une société utilisant des matières premières ayant subi de forte transformations.

Le recyclage c’est bien, c’est écologique… Ah ? Vraiment ? Sans les filaires de recyclage nous aurions des montagnes de déchets à nos portes, c’est certain, mais qu’est-il réellement fait de nos ordures.

Le recyclage, c’est un mensonge, en tout cas tant qu’on nous laisse penser que la majorité des déchets triés sont recyclées.

Jeter dans la bonne poubelle ne suffit pas !

Je vous encourage à aller travailler dans une entreprise chargée du tri de nos déchets, vous savez ceux de notre poubelle verte. Ces entreprises cherchent continuellement de la main d’œuvre, nombre trier des déchets, dans des hangars qui ne sont à l’abri ni du chaud, ni du froid, et ce payé au salaire minimum, cela n’attire pas les foules.

J’ai fait cette expérience, il est facile de se faire embaucher à travers une société d’intérims avec des contrats à la journée (car ou, quand on est prêt à trier des poubelles pour un salaire de merde, on n’aspire pas à pouvoir prévoir ce qui va se passer dans 2 jours). Pour candidature, et suivant votre expérience pensée à fournir un CV super simplifié – sans job à responsabilité ni diplôme supérieur.

Vraiment faite, cette expérience dans le centre tri de votre commune !

Le recyclage nécessaire pour faire accepter le capitalisme…

… mais il n’est pas rentable.

Le recyclage est mis en avant par nos sociétés basées sur la consommation car cela permet avant tout de se donner bonne conscience : En réalité seule une minorité des déchets pourtant partie dans la filaire du recyclage est réellement recyclée. Ayant vu de près ce qu’il se passait, je ne peux pas croire la soupe qui nous est servie.

Une société dont le système de bonne santé est le PIB, dont le travail manuel est sous valorisé. Cela coûte moins cher d’acheter un produit neuf, fabriqué à l’autre bout du monde que de faire réparer localement. Et en attendant que l’ouvrier occidental ait le même salaire que l’ouvrier du Bangladesh, il ne faut pas s’attendre à ce que cela change.

Une société capitaliste impose que le recyclage doit être rentable, c’est une filière qui met avant tout en avant la valorisation. Cependant, dans un même temps, on cherche à faire des emballages qui soit de moins en moins chers.

Nous somme dans une société qui prône le recyclage, mais qui rejette (par son modèle économique) la réparation.

Par ailleurs, il y a un mensonge qui se cache au cœur du mythe du recyclage. On laisse entendre que l’on est capable de refaire des produits du même type avec les déchets. Hors pour des questions notamment d’entropie cela est faux.

Ce logo ♻ est un mensonge !

Ce recyclage, s’il existait, serait une aubaine pour un système basé sur la croissance infinie, puisque cela permet de laisse entendre qu’il n’y a pas de problème de ressources.

Et si très probablement, il est possible de faire des progrès au niveau de la filière du recyclage, c’est surtout sur la chasse aux déchets, quel qu’il soit que nos politiques devraient se pencher.

Cela revient à revoir tout le système de distribution. Les grandes surfaces ne pourrait pas exister sans une surconsommation d’emballages et de suremballages.

En France, nous avons généralement 3 types de poubelles :

  • Poubelle verte
    • Le verre qui est limité aux bouteilles, pots et bocaux,
  • Poubelle jaune
    • Les emballages en papier et carton, briques alimentaires, ainsi que les journaux, papiers et magazines,
    • Les emballages en métal (acier et aluminium)
    • Les bouteilles et flacons en plastique
  • Poubelle grise
    • Le reste dans la mesure où ce sont des déchets ménagés de petite taille. Ce qui ne rentre pas dans cette catégorie devant être apporté en déchetterie.

Seule une minorité des déchets est recyclée.

Lors du passage dans les entreprises de tris, les consigne donnée aux employées sont très strictes. Le tri se fait sur des tapis roulant et ne sont prélevé que les déchets qui seront effectivement triés : au moindre doute on laisse passé et cela part vers les déchets qui seront incinérés, mis en décharge ou envoyé à l’étranger.

Filière du recyclage

Les filières du recyclage semble surtout efficace pour recycle l’influence des gros distributeurs et leur assurer une bonne image de marque  Eco-systèmesEco-systèmes et Récylum

Dans le cahier des charges de eco-systemes pour 2015-2020 https://www.eco-systemes.fr/uploads/documents/1_R%C3%A9glementation/0_Agr%C3%A9ment/0_Cahier%20des%20charges%20agr%C3%A9ment%20DEEE%20m%C3%A9nagers%20pour%20la%20p%C3%A9riode%202015%E2%80%932020/CDC-agrement-EO-DEEE-menagers-final.pdf (lien mort 2020-11-07) on constate que les points qui sont mis en avant sont les suivants :

  • « Contribuer au développement, au fonctionnement efficace et à la pérennisation de la filière » (il s’agit avant d’assurer la pérennité de l’organisation),
  • S’assurer que le taux de collecte atteigne les objectifs,
  • Communiquer,

Pour ma part, je ne vois rien qui assure qu’il y ait obligation de s’occuper concrètement du recyclage. Les objectifs concrets étant sur la collecte et non pas sur le recyclage, pas étonnant que cela qu’une partie non négligeable de ce qui est collecté finissent à l’autre bout du monde.

  • Eco-systèmes en chiffres – On constate qu’il y a une section « Les taux de recyclage et de valorisation » qui se contente d’afficher un joli 81 % mais qui ne dit pas comment est calculés ce taux, et dit que se permet d’obtenir des matières premières : « 81 % c’est le taux de recyclage moyen d’un ancien appareil sous forme de nouvelles matières premières ». Un chiffre qui me semble assez irréaliste et qui laisse penser que le calcul est basé sur le poids des matériaux. Le verre et le fer ayant une densité plus forte que le plastique ou que l’électronique, cela permet de planquer la misère. Cependant en termes de pollution il me semble que la seconde catégorie est nettement plus problématique.

Sur un autre le site propose de trouver les points de collectes près de chez soi. Ayant testé l’outil, ce que je vous invite à faire, j’ai pu constater son inutilité, dans mon cas il me donne un point de collecte dans un village autour de chez moi, mais sans en donner l’adresse.

C’est quoi le problème avec le recyclage au final ?

Le recyclage n’est pas rentable, or dans une société capitaliste, il n’y a pas de plage pour les entreprises non rentables.

En règle générale, une « matière première » issue d’une filière de recyclage coûte beaucoup plus cher que la matière première extraite de son milieu naturel, même lorsque celle-ci est diluée (c’est le cas, entre autre, du cuivre).


Références

ᦿ


167 / Navigation / 6996

Les anciens billets sont également disponibles dans les archives.

ℹ 2006 - 2021 | 🏠 Retour à l'accueil du domaine | 🏡 Retour à l'accueil du blog