Warning: Parameter 1 to behaviorsPagesStatiques::addTplPath() expected to be a reference, value given in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php on line 304

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/public/lib.urlhandlers.php on line 85

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 273
Flyou.net [Dev] : Développements - Tag - AIX 2017-05-04T04:41:02+02:00 Flyounet urn:md5:69f091255befd3717a2b2e45b9aa3688 Dotclear Retrouver ses Librairies urn:md5:faee7a168b5759f3d2fd641a8c8008ab 2012-07-31T09:07:00+02:00 2012-07-31T09:12:40+02:00 Flyounet Outils & Développements AIXbashkshShell <p>Comme bien souvent quand on écrit un script en <a href="http://dev.flyou.net/tag/Shell">Shell</a>, on se pose la question des fichiers de paramètres et régulièrement on en arrive à gérer le petit <code>-c configFile</code> ou <code>-f configFile</code>. Cependant, lorsque des librairies sont à charger on veut être sûr de là où elles sont.</p> <p>Dans mon cas, je mets mes librairies dans un sous répertoire du script à appeler. C'est classic et simple. Par contre, là où ça devient un brin chiant, c'est quand le file system contenant le script est truffé de liens symboliques et que le script est appelé via un lien&nbsp;; une fois sur deux on retrouve pas ses petits.</p> <p>J'ai donc pris l'habitude de commencer chacun de mes scripts avec les lignes suivantes (qui fonctionnent avec un vieux <a href="http://dev.flyou.net/tag/ksh">KSH</a> ou <a href="http://dev.flyou.net/tag/bash">Bash</a> (et même sur <a href="http://dev.flyou.net/tag/AIX">AIX</a>)&nbsp;:</p> <pre> __sName=&quot;${0}&quot;; __pName=&quot;${0}&quot;; if [ -L &quot;${0}&quot; ]; then __=&quot;$(command -v &quot;readlink&quot;)&quot; if [ &quot;readlink&quot; = &quot;${__##*/}&quot; ]; then __sName=&quot;$(readlink -m &quot;${__sName}&quot;)&quot; else __sName=&quot;$(set -- $(LC_ALL=C file &quot;${0}&quot;); echo ${5:1:$((${#5} - 2))})&quot;; __sName=&quot;$(dirname &quot;${__pName}&quot;)/$(dirname &quot;${__sName}&quot;)/${__sName##*/}&quot; fi fi __pName=&quot;$( cd &quot;${__sName%/*}&quot; ; pwd )&quot;; __sName=&quot;${__pName}/${__sName##*/}&quot;; __fName=&quot;${__sName##*/}&quot;</pre> <p>Ainsi, je peux charger ce que j'ai besoin avec un <code>. ${__pName}/lib/F01/common.lib</code></p> <p>Donc&nbsp;:</p> <ul> <li><code>__pName</code> contient le chemin absolu du script (avec les liens suivis et tout et tout),</li> <li><code>__sName</code> contient le chemin complet et nom du script (avec les liens <em>résolus</em>, donc absolu),</li> <li><code>__fName</code> contient le nom final du script (et pas le nom du lien si appelé par un lien).</li> </ul> http://dev.flyou.net/post/2012/07/31/Retrouver-ses-Librairies#comment-form http://dev.flyou.net/feed/atom/comments/43 Comment déterminer les répertoires associés à un disque sur AIX urn:md5:4f8f2b67d68d445b7043ff2b4e28c8fd 2011-09-26T12:50:00+02:00 2011-09-26T13:16:49+02:00 Flyounet Outils & Développements AIXShellUnix <p>Alors qu'il y a peu, je me posais la question inverse, à savoir&nbsp;: <a href="http://dev.flyou.net/post/2011/07/20/Comment-d%C3%A9terminer-un-disque-en-partant-d-un-r%C3%A9pertoire-sur-AIX" hreflang="fr">Comment déterminer un disque en partant d'un répertoire sur AIX</a>, j'ai aujourd'hui la problématique inverse et ça fait chier&nbsp;!</p> <p>Donc pour pas perdre de temps voici comment faire simple&nbsp;:</p> <pre> # r='hdisk5';for vg in $(lsvg); do lsvg -l $vg | tail +3 | awk '{print $1,$NF}' | while read dsk lv; do if lslv -l $dsk|grep $r&gt;/dev/null; then echo &quot;$vg - $lv&quot;; fi;done; done appvg - N/A appvg - /var/mqm appvg - /opt/IBM/ITM appvg - /u01 appvg - /app_nfs </pre> <p>On remplace le <code>r=blabla</code> et on lance en <code>root</code> évidemment.</p> http://dev.flyou.net/post/2011/09/26/Comment-d%C3%A9terminer-les-r%C3%A9pertoires-associ%C3%A9s-%C3%A0-un-disque-sur-AIX#comment-form http://dev.flyou.net/feed/atom/comments/42 Comment déterminer un disque en partant d'un répertoire sur AIX urn:md5:78c5022a9e16aa0c8472ef918d3f73f2 2011-07-20T15:38:00+02:00 2011-09-26T13:17:10+02:00 Flyounet Informations AIXShellUnix <p>Oui, bon alors, il y en a qui vont dire&nbsp;: "Ton titre, il est nul, on ne comprend rien". C'est probable, mais c'est surtout un pense-bête pour moi-même.</p> <p>Donc admettons que nous connaissions le répertoire <code>/opt/WebSphere61</code>, un simple <code>df</code> me donne quelques informations&nbsp;:</p> <pre> # df -k /opt/WebSphere61 Filesystem 1024-blocks Free %Used Iused %Iused Mounted on /dev/was61log 4128768 344040 92% 2370 3% /opt/WebSphere61</pre> <p>Cependant je n'ai toujours par connaissance du disque. Voyons si <code>lsfs</code> peut nous aider&nbsp;:</p> <pre> # lsfs Name Nodename Mount Pt VFS Size Options Auto Accounting /dev/hd4 -- / jfs2 131072 -- yes no /dev/hd1 -- /home jfs2 65536 -- yes no /dev/hd2 -- /usr jfs2 7208960 -- yes no /dev/hd9var -- /var jfs2 1114112 -- yes no /dev/hd3 -- /tmp jfs2 2162688 -- yes no /dev/hd11admin -- /admin jfs2 262144 -- yes no /proc -- /proc procfs -- -- yes no /dev/hd10opt -- /opt jfs2 9699328 -- yes no /dev/was61log -- /opt/WebSphere61 jfs2 14548992 rw yes no /dev/lvcode -- /code jfs2 20971520 rw no no </pre> <p>Donc pas mieux... Mais pas pire non plus...</p> <p>D'où, deux choix, je me farci tous les <acronym title="Volume Group">VG</acronym>s à la main pour déterminer le <acronym title="Logical Volume">LV</acronym> en fonction du répertoire cherché, comme ça&nbsp;:</p> <pre> # lsvg rootvg appvg datavg # lsvg -l rootvg rootvg: ... # lsvg -l appvg appvg: ... # lsvg -l datavg datavg: ... was61log jfs2 63 63 1 open/syncd /opt/WebSphere61 ... </pre> <p>Ou alors, je suis une faignasse et je tape&nbsp;:</p> <pre> # for vg in $(lsvg); do echo &quot;${vg}: &quot;; lsvg -l &quot;${vg}&quot; grep /opt/WebSphere61; done rootvg: appvg: datavg: was61log jfs2 63 63 1 open/syncd /opt/WebSphere61 </pre> <p>Me reste plus qu'un petit <code>lslv</code> et pis c'est tout&nbsp;:</p> <pre> # lslv -l was61log was61log:/opt/WebSphere61 PV COPIES IN BAND DISTRIBUTION hdisk5 063:000:000 100% 000:063:000:000:000 </pre> <p>Donc mon répertoire est sur le disk 5...</p> <p>Bon je suis sympa, il y a plus simple&nbsp;:</p> <pre> # r=&quot;/opt/WebSphere61&quot;;for vg in $(lsvg); do a=$(lsvg -l $vg | awk -vrep=$r '($0 ~ rep){ print $1}'); [[ -z $a ]] || lslv -l $a;done was61log:/opt/WebSphere61 PV COPIES IN BAND DISTRIBUTION hdisk5 063:000:000 100% 000:063:000:000:000 </pre> http://dev.flyou.net/post/2011/07/20/Comment-d%C3%A9terminer-un-disque-en-partant-d-un-r%C3%A9pertoire-sur-AIX#comment-form http://dev.flyou.net/feed/atom/comments/36 Lire une page de man (non installée) en local (sur AIX) urn:md5:3060c6399d71c9e9286ffaa220024d8c 2011-05-04T11:25:00+02:00 2011-05-04T11:29:09+02:00 Flyounet Informations AIXShellUnix <p>Bon comme sur AIX, je me trimballe du Bash 3.0, autant dire que le "parameter expansion" est quasi inexistant. Donc quand on a pas le droit d'installer un Bash 4, on le colle dans un répertoire quelconque. Oui mais pour lire la page de man qui n'est pas installée&nbsp;?</p> <pre>man -m -M ../myAIXBash4/opt/freeware/man/ bash</pre> <pre>-M PATH pour indiquer le path de la page de man. On ne met surtout pas : ../myAIXBash4/opt/freeware/man/man1/ ! -m pour ne chercher que dans le path indiqué par le -M la page cherchée</pre> http://dev.flyou.net/post/2011/05/04/Lire-une-page-de-man-%28non-install%C3%A9e%29-en-local-%28sur-AIX%29#comment-form http://dev.flyou.net/feed/atom/comments/32 Comment savoir si mon AIX ou mon binaire est en 64bits ou 32bits ? urn:md5:9fa1588381a42947bd217b3e63543223 2008-09-10T18:26:00+02:00 2010-04-28T00:18:00+02:00 Flyounet Documentations 32bits64bitsAIXShellUnix <p>Comme je l'ai écrit dans ce billet <q><a href="http://blog.flyounet.net/2008/09/10/bit64-Les-Joies-Du-64-Bits-Sous-Aix-Avec-Websphere" hreflang="fr" title="Mon autre vie">Les joies du 64 bits sous AIX avec WebSphere</a></q> voici quelques commandes à se rappeler&nbsp;:</p> <ul> <li>Savoir si un binaire est compilé en 64 bits&nbsp;?</li> </ul> <pre>$ dump -X64 -H path_to_binary</pre> <ul> <li>Savoir si un binaire est compilé en 32 bits&nbsp;?</li> </ul> <pre>$ dump -X64 -H path_to_binary</pre> <ul> <li>Savoir si mon hardware est en mode 64 bits&nbsp;?</li> </ul> <pre>$ getconf HARDWARE_BITMODE</pre> <ul> <li>Savoir si mon Kernel est en mode 64 bits&nbsp;?</li> </ul> <pre>$ getconf KERNEL_BITMODE</pre> http://dev.flyou.net/post/2008/09/10/Comment-savoir-si-mon-AIX-ou-mon-binaire-est-en-64bits-ou-32bits#comment-form http://dev.flyou.net/feed/atom/comments/13