<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>howto on head /dev/log</title>
    <link>https://www.lamy.im/tags/howto/</link>
    <description>Recent content in howto on head /dev/log</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 22 Sep 2011 16:24:50 +0000</lastBuildDate><atom:link href="https://www.lamy.im/tags/howto/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>RHEL extension de LUN</title>
      <link>https://www.lamy.im/posts/rhel-extension-de-lun/</link>
      <pubDate>Thu, 22 Sep 2011 16:24:50 +0000</pubDate>
      
      <guid>https://www.lamy.im/posts/rhel-extension-de-lun/</guid>
      <description>On me dit que je suis mort et qu’il ne se passe rien ici, que nenni !
Pour la peine, je post ici un bloc note qui pourra servir à certains.. ou pas.
Ça peut être pratique de procéder a une extension de LUN si la baie de stockage le gère correctement. Par exemple, une VNX toute neuve fait cela très bien.
Coté systeme, il faut gerer le resize des disques pour chaque chemin et du device « multipathé ».</description>
      <content>&lt;p&gt;On me dit que je suis mort et qu’il ne se passe rien ici, que nenni !&lt;/p&gt;
&lt;p&gt;Pour la peine, je post ici un bloc note qui pourra servir à certains.. ou pas.&lt;/p&gt;
&lt;p&gt;Ça peut être pratique de procéder a une extension de LUN si la baie de stockage le gère correctement. Par exemple, une &lt;a href=&#34;http://www.emc.com/storage/vnx/vnx-series.htm&#34;&gt;VNX &lt;/a&gt;toute neuve fait cela très bien.&lt;/p&gt;
&lt;p&gt;Coté systeme, il faut gerer le resize des disques pour chaque chemin et du device « multipathé ».&lt;/p&gt;
&lt;p&gt;&lt;code&gt;for i in &lt;/code&gt;multipath -ll mpathX  | awk &amp;lsquo;/sd./ {print $3}&amp;rsquo;&lt;code&gt;; do blockdev --rereadpt /dev/$i ; done&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Puis, il faut rescanner les chemins, soit avec en lancant simplement &lt;code&gt;multipath&lt;/code&gt; soit en utilisant le démon multipathd &lt;code&gt;multipathd -k&amp;quot;resize multipath mpathX&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ensuite, il suffit de retailler le FS s’il est directement sur le device ou le physical volume si vous utilisez LVM.&lt;/p&gt;
&lt;p&gt;Ce sera tout merci.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Gentoo cleaning</title>
      <link>https://www.lamy.im/posts/gentoo-cleaning/</link>
      <pubDate>Fri, 08 Aug 2008 15:39:37 +0000</pubDate>
      
      <guid>https://www.lamy.im/posts/gentoo-cleaning/</guid>
      <description>Je continue de migrer les pages du wiki. Celle la avait été pondue par Trapamoosch, merci à lui :-)
Avec le temps, il n’est pas rare de voir sa Gentoo s’encrasser : paquets inutiles, dépendances inutiles, fichier world contenant des entrées invalides… Un bon coup de ménage s’impose !
Prérequis Quelques outils sont nécessaires pour faire un bon nettoyage : gentoolkit et le script dep.
emerge -av app-portage/gentoolkit app-portage/udept
Vous devez aussi, par sécurité, faire une copie de secours de votre fichier world :</description>
      <content>&lt;p&gt;&lt;strong&gt;Je continue de migrer les pages du wiki. Celle la avait été pondue par Trapamoosch, merci à lui :-)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Avec le temps, il n’est pas rare de voir sa Gentoo s’encrasser : paquets inutiles, dépendances inutiles, fichier world contenant des entrées invalides… Un bon coup de ménage s’impose !&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Prérequis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Quelques outils sont nécessaires pour faire un bon nettoyage : &lt;em&gt;gentoolkit&lt;/em&gt; et le script &lt;em&gt;dep&lt;/em&gt;.&lt;br&gt;
&lt;code&gt;emerge -av app-portage/gentoolkit app-portage/udept&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Vous devez aussi, par sécurité, faire une copie de secours de votre fichier world :&lt;br&gt;
&lt;code&gt;cp /var/cache/edb/world /var/cache/edb/world.bak&lt;/code&gt;&lt;br&gt;
ou (pour Portage à partir de la version 2.0.51)&lt;br&gt;
&lt;code&gt;cp /var/lib/portage/world /var/lib/portage/world.bak&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Pour gagner du temps, revoyez vos flags USE dès cette étape, cela vous évitera trop de recompilations plus tard.&lt;br&gt;
De même, désinstallez tous les softs dont vous ne voulez plus dès maintenant.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nettoyage du fichier world&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le fichier world (&lt;code&gt;/var/cache/edb/world&lt;/code&gt; ou &lt;code&gt;/var/lib/portage/world&lt;/code&gt; à partir de Portage 2.0.51) recense tous les paquets que l’utilisateur à volontairement installé, sans les dépendances (qui sont, elles, toujours calculées à la volée par emerge). Or, il n’est pas rare de recompiler un paquet soi-même en tapant juste &lt;em&gt;emerge le-paquet&lt;/em&gt;. Imaginez que vous compiliez un paquet A qui dépend d’un autre paquet B. La compilation de B échoue, pour une raison quelconque, vous arrangez ça et pour tester, vous lancer la commande : &lt;em&gt;emerge B&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Erreur !&lt;/strong&gt; Désormais, B ne sera plus considéré par emerge comme une dépendance mais bien comme un paquet à part entière que les scripts de nettoyage omettront alors de « nettoyer ».&lt;/p&gt;
&lt;p&gt;Dans notre cas, il aurait fallu taper &lt;code&gt;emerge --oneshot B&lt;/code&gt;, qui compile et installe le paquet mais sans l’inscrire dans le fichier world. Utlisez cette option pour toute recompilation de dépendances !&lt;/p&gt;
&lt;p&gt;Utiliser un utilitaire comme &lt;em&gt;regenworld&lt;/em&gt; (qui permet de reconstruire le fichier world s’il a été altéré ou détruit) peut aussi conduire à un fichier world contenant des redondances.&lt;/p&gt;
&lt;p&gt;La première étape du nettoyage va donc consister à nettoyer le fichiers world pour en retirer toutes les dépendances qui n’ont rien à faire là et qu’emerge peut très bien recalculer tout seul. Dans ce cas, on considèrera donc comme entrée inutile tout paquet qui a au moins une dépendance sur lui. Le script dep fait cela relativement bien : &lt;code&gt;dep -pw&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;– Utilisez toujours dep avec parcimonie, et toujours avec l’option -p (pretend)&lt;br&gt;
– dep est assez efficace, mais très lent. Soyez patients !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;dep va alors lister tous les paquets inscrits dans votre fichier world, et vous indiquer ceux qu’il estime être redondants. Ils vous suffit ensuite de les retirer de votre fichier world, toujours en vérifiant bien que ce n’est pas un paquet que vous n’aimeriez pas voir être désinstallé sans votre avis.&lt;/p&gt;
&lt;p&gt;Exemple :&lt;/p&gt;
&lt;p&gt;Vous installez un paquet A volontairement.&lt;br&gt;
Vous installez un paquet B volontairement et qui dépend de A.&lt;br&gt;
dep va considérer A comme redondant car il y a un paquet qui le considère comme dépendance (paquet B), alors que vous l’avez réellement voulu.&lt;/p&gt;
&lt;p&gt;C’est le point faible qui fait que l’on ne peut pas laisser un nettoyeur de fichier world travailler automatiquement.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Désinstallation des paquets inutile&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Les dépendances inutiles:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une fois le fichier world propre, il est temps de retirer toutes les dépendances inutiles. On définit une dépendance inutile comme un paquet installé non inscrit dans le fichier world et sur lequel aucun autre paquet n’a de dépendance. Pour cela, très simple et toujours avec le script dep : &lt;code&gt;dep -ps&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;dep est plus stable et surtout plus fiable que l’option –depclean d’emerge. Peut-être cela changera-t-il dans les prochaines versions de Portage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les slots inutiles:&lt;/strong&gt;&lt;br&gt;
Certaines librairies, comme gtk+ ou qt, utilisent le système de slot qui permet de faire cohabiter plusieurs versions en même temps. Avec le temps, certaines versions deviennent inutiles. Pour retrouver les paquets « slottés » inutiles, toujours dep : &lt;code&gt;dep -pP&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dans les deux étapes précédentes, analysez bien la liste des paquets proposés pour la suppression afin de ne pas retirer des paquets voulus. Une fois ceci fait, désinstallez-les.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fiabilisation du système&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans tous les cas, si vous désinstallez beaucoup de paquets d’un coup, il faut contrôler que vous n’avez pas cassé de dépendances : &lt;code&gt;emerge -NDua world &amp;amp;&amp;amp; revdep-rebuild -a&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Cela permettra de recompiler tous les paquets qui ont été touchés de près ou de loin par le remaniement du système. Une fois ceci fait, votre système doit être stable et sans problème.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quelques gains de place&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vous pouvez nettoyer votre dossier &lt;code&gt;/usr/portage/distfiles&lt;/code&gt; avec &lt;em&gt;eclean&lt;/em&gt;. Cet outil permet de retirer toutes les archives de sources qui n’ont plus d’intérêt. Il garde toutes les archives des paquets installés, pour que vous n’ayez pas à les retélécharger au cas où vous voudriez les recompiler. &lt;code&gt;eclean -d distfiles &amp;amp;&amp;amp; eclean -d packages&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Pensez que lorsque emerge désinstalle les sources d’un kernel, il ne retire pas tout. Pensez à nettoyer votre &lt;code&gt;/usr/src&lt;/code&gt; pour retirer tous les dossiers inutiles des versions de kernels que vous avez désinstallées.&lt;/p&gt;
&lt;p&gt;Vous pouvez aussi nettoyer le dossier &lt;code&gt;/lib/modules&lt;/code&gt; pour retirer tous les modules des versions de kernels que vous avez désinstallés.&lt;/p&gt;
&lt;p&gt;Il peut être utile également de vider de temps en temps les dossiers temporaires comme &lt;code&gt;/tmp&lt;/code&gt; et &lt;code&gt;/var/tmp&lt;/code&gt;.&lt;/p&gt;
</content>
    </item>
    
  </channel>
</rss>
