<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Unix on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/unix/</link><description>Recent content in Unix on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Sat, 15 Aug 2015 10:30:51 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/unix/index.xml" rel="self" type="application/rss+xml"/><item><title>Changer la politique d’erreur (ErrorPolicy) sur un imprimante dans CUPS</title><link>https://blog.zwindler.fr/2015/08/15/changer-la-politique-derreur-errorpolicy-sur-un-imprimante-dans-cups/</link><pubDate>Sat, 15 Aug 2015 10:30:51 +0000</pubDate><guid>https://blog.zwindler.fr/2015/08/15/changer-la-politique-derreur-errorpolicy-sur-un-imprimante-dans-cups/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/07/cce_cups.webp" alt="Featured image of post Changer la politique d’erreur (ErrorPolicy) sur un imprimante dans CUPS" /&gt;&lt;p&gt;Lorsque l’imprimante a une erreur « physique » (comprenez « Paper jam », coupure réseau, ouverture du capot, etc), CUPS la met automatiquement en erreur sur les versions récentes. En fait, par défaut le paramètre &lt;strong&gt;ErrorPolicy&lt;/strong&gt; est positionné à &lt;strong&gt;stop-printer&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Du coup, toutes les impressions qui suivent se retrouvent bloquées alors que l’utilisateur a peut être résolu le problème (ou qu’il s’est résolu de lui même&amp;hellip; si si, ça arrive). On peut modifier ce comportement par défaut soit au niveau de l’imprimante elle même, soit de manière globale.&lt;/p&gt;
&lt;h1 id="par-imprimante-via-une-ligne-de-commande"&gt;Par imprimante, via une ligne de commande
&lt;/h1&gt;&lt;p&gt;En temps que root ou un utilisateur privilégié, lancez la commande suivante :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/usr/sbin/lpadmin -p [nom_imprimante] -o printer-error-policy=retry-job
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id="par-imprimante-dans-le-printersconf"&gt;Par imprimante, dans le printers.conf
&lt;/h1&gt;&lt;p&gt;Ouvrez le fichier &lt;strong&gt;printers.conf&lt;/strong&gt; qui contient toutes les imprimantes de CUPS ainsi que leur configuration&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/cups/printers.conf
&amp;lt;Printer &amp;#34;PrinterName&amp;#34;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Modifier la valeur de &lt;strong&gt;ErrorPolicy&lt;/strong&gt; à &lt;strong&gt;retry-job&lt;/strong&gt; puis rechargez CUPS (je préfère le reload plutôt que le restart, mais à votre convenance)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;service cups reload
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id="globalement-dans-la-configuration-decups"&gt;Globalement dans la configuration de CUPS
&lt;/h1&gt;&lt;p&gt;On peut modifier ce paramètre d’un coup pour toutes les imprimantes.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/cups/cupsd.conf
[...]
ErrorPolicy retry-job
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Attention : ça fonctionnera &lt;strong&gt;si&lt;/strong&gt; (et seulement si) il n’est pas déjà défini dans le fichier printers.conf. Et par défaut, les imprimantes déclarées dans CUPS disposent de cette ligne, qu’il faudra donc supprimer.&lt;/p&gt;
&lt;p&gt;Sauvegarder le fichier et recharger CUPS&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;service cups reload
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id="quelques-paramètres-supplémentaires"&gt;Quelques paramètres supplémentaires
&lt;/h1&gt;&lt;p&gt;Mais attention ! Quelque soit la méthode que vous aurez choisi, n’oubliez pas que la méthode retry-job implique, comme son nom l’indique, une politique de « retry » ! Et donc potentiellement un échec si au bout de X retry espacés de Y secondes.&lt;/p&gt;
&lt;p&gt;Soyez donc prudent et sachez bien ce que vous faites si vous modifiez cette politique.&lt;/p&gt;
&lt;p&gt;Pour vous donner un peu plus de flexibilité sur le nombre de retry et la durée entre chaque, voici les paramètres qu’il faut modifier respectivement :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JobRetryInterval seconds #par défaut 30 selon le man ?&lt;/li&gt;
&lt;li&gt;JobRetryLimit count # par défaut 5&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour encore plus d’infos, vous pouvez toujours aller sur la page man de cupsd.conf, aussi disponible &lt;a class="link" href="https://www.cups.org/doc/man-cupsd.conf.html" target="_blank" rel="noopener"
&gt;ici&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Plugin check_mem_ng.sh compatible RHEL 7+</title><link>https://blog.zwindler.fr/2015/07/16/plugin-check_mem_ng-sh-compatible-rhel-7/</link><pubDate>Thu, 16 Jul 2015 12:28:35 +0000</pubDate><guid>https://blog.zwindler.fr/2015/07/16/plugin-check_mem_ng-sh-compatible-rhel-7/</guid><description>&lt;img src="https://blog.zwindler.fr/2010/04/nyanonymous2.webp" alt="Featured image of post Plugin check_mem_ng.sh compatible RHEL 7+" /&gt;&lt;p&gt;Si vous utilisez Nagios(r) ou un des produits compatibles, vous « graphez » probablement l’usage de la RAM sur vos serveurs Linux.&lt;/p&gt;
&lt;p&gt;Il existe plusieurs méthodes pour le faire : via SNMP, via NRPE, &amp;hellip; Un des scripts que j’utilisais en production sur l’ensemble de mes Linux (qui m’avait plu par sa simplicité) était &lt;a class="link" href="https://exchange.nagios.org/directory/Plugins/System-Metrics/Memory/check_mem-2Esh/details" target="_blank" rel="noopener"
&gt;check_mem.sh&lt;/a&gt;. Je l’exécutais à distance à l’aide de NRPE.&lt;/p&gt;
&lt;p&gt;Cependant, depuis la version 7 de RedHat, un changement dans la commande « free » remontait un résultat erroné (changement du nombre de colonnes).&lt;/p&gt;
&lt;p&gt;J’en ai donc profité pour le réécrire, corrigeant ainsi le « bug » et en ajoutant quelques fonctionnalités qui me manquaient, comme des valeurs par défaut, des options supplémentaires et une meilleure gestion des perfdata(*).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/07/graph.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le nouveau mode de graphiques &amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je l’ai laissé compatible avec les installations check_mem.sh existantes. En théorie, vous avez juste à remplacer le script et tout devrait fonctionner comme avant, sans dépendances supplémentaires ou modification de configuration côté client et côté serveur.&lt;/p&gt;
&lt;p&gt;C’est ici que ça se passe :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/zwindler/check_mem_ng" target="_blank" rel="noopener"
&gt;Page Github du plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://exchange.nagios.org/directory/Plugins/System-Metrics/Memory/check_mem_ng-2Esh/details" target="_blank" rel="noopener"
&gt;Page Nagios Exchange&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour rappel, vous trouverez aussi mes autres plugins Nagios dans le &lt;a class="link" href="https://github.com/zwindler" target="_blank" rel="noopener"
&gt;même repository Github&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;(*)pour mon usage. Mais je donne aussi la possibilité de conserver les perfdata historique à l’aide de la variable &lt;strong&gt;PERFDATA_LEGACY&lt;/strong&gt; que vous pouvez positionner à &lt;strong&gt;1&lt;/strong&gt;, ou utiliser l’option &lt;strong&gt;check_mem_ng.sh -l&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/07/graph_legacy.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;hellip; et le mode legacy&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>[En bref] Supprimer un fichier/dossier nommé avec un caractère spécial</title><link>https://blog.zwindler.fr/2014/01/23/supprimer-un-fichier-ou-un-dossier-dans-lequel-il-y-a-un-caractere-special/</link><pubDate>Thu, 23 Jan 2014 08:49:15 +0000</pubDate><guid>https://blog.zwindler.fr/2014/01/23/supprimer-un-fichier-ou-un-dossier-dans-lequel-il-y-a-un-caractere-special/</guid><description>&lt;img src="https://blog.zwindler.fr/2014/01/unix-plate.webp" alt="Featured image of post [En bref] Supprimer un fichier/dossier nommé avec un caractère spécial" /&gt;&lt;h2 id="un-caractère-spécial-et-cest-le-drame"&gt;Un caractère spécial, et c’est le drame
&lt;/h2&gt;&lt;p&gt;Combien de fois avez vous tapé trop vite une commande créant un fichier ou un dossier avec un caractère spécial dans son nom. Et bien sûr vous avez oublié comment le supprimer !&lt;br&gt;
C’est de moins en moins vrai aujourd’hui. Les shells vous aident avec l’auto-complétion et les binaires récents vous proposent une solution lorsque vous tapez la commande « rm ».&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@lol01 ~]# touch &amp;#39;#fichieravecuncaracterebienmarrant&amp;#39;
[root@lol01 ~]# rm #fichieravecuncaracterebienmarrant
rm: opérande manquant
[root@lol01 ~]# touch &amp;#39;\-rires&amp;#39;
[root@lol01 ~]# cat \-rires
cat : option invalide -- &amp;#39;r&amp;#39;
Saisissez &amp;#34;cat --help&amp;#34; pour plus d&amp;#39;informations.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Mais dans le cas où vous seriez sur un système qui date un peu, voici un petit reminder écrit par UnixTutorial pour s’en sortir ;-)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20160315110117/https://www.unixtutorial.org/2008/09/remove-files-and-directories-with-special-characters/" target="_blank" rel="noopener"
&gt;Unix Tutorials (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C’était pas plus compliqué que ça ;-)&lt;/p&gt;
&lt;p&gt;Je recommande d’ailleurs chaudement unixtutorial. Il fait partie de ces sites sur lesquels vous tombez souvent quand vous cherchez quelque chose sur Linux/Unix et que vous ne vous en souvenez plus.&lt;/p&gt;
&lt;p&gt;Je pense que je vais faire une page spéciale avec une liste de ces lectures&amp;hellip;&lt;/p&gt;</description></item></channel></rss>