Escape command alias “\” – Commande d’échappement d’alias “\”

Escape command alias - Commande d'échappement d'alias

To avoid using an alias instead of the “true” command, the syntax is:

Pour éviter d’utiliser un alias au lieu de la “vraie” commande, la syntaxe est :

\[command]

Example:

# alias
alias la='/bin/ls -laF --color=auto'
alias ll='/bin/ls -laF --color=auto'
alias ls='/bin/ls -laF --color=auto'
alias md='mkdir'
alias rd='rmdir'
alias which='type -P'

For instance, if I try to use “ls -1” in order to list the content of the current directory on 1 column, the result would be overwritten by the alias: “ls -1” would be “ls –laF1” which is the same as “ls –laF”.

Par exemple, si je veux utiliser “ls -1” pour lister le contenu du répertoire courant sur 1 colonne, l’alias prendra le pas : “ls -1” deviendra “ls -laF1” qui est la même chose que “ls -laF”

# ls -1
total 872
drwx------    2 root     root         4096 Oct 10 13:07 ./
drwxr-xr-x    4 root     root         4096 Apr  8  2011 ../
-rw-------    1 root     root        12444 Dec 16  2004 auto.home
-rw-------    1 root     root        12608 Apr  8  2011 group.bygid
-rw-------    1 root     root        12624 Apr  8  2011 group.byname
-rw-------    1 root     root        13027 Apr  8  2011 netgroup
-rw-------    1 root     root        12520 Apr  8  2011 netgroup.byhost
-rw-------    1 root     root        13135 Apr  8  2011 netgroup.byuser
-rw-------    1 root     root        19832 Apr  8  2011 passwd.byname
-rw-------    1 root     root        19541 Apr  8  2011 passwd.byuid
-rw-------    1 root     root       450607 Jan  2  2007 printcap
-rw-------    1 root     root        50425 Feb 27  2007 services.byname
-rw-------    1 root     root       100033 Apr  8  2011 services.byservicename
-rw-------    1 root     root        12702 Apr  8  2011 ypservers

 
If you want the command to react normally you will have to remove the alias:

Si vous voulez que la commande réagisse normalement il faudra supprimer l’alias :

# unalias ls

Or if it’s just a one-time command, use “\”:

Ou si c’est seulement exceptionnel, utilisez “\” :

# \ls -1
auto.home
group.bygid
group.byname
netgroup
netgroup.byhost
netgroup.byuser
passwd.byname
passwd.byuid
printcap
services.byname
services.byservicename
ypservers

 

Managing license with lmf on Tru64

Recently I had to retrieve all the Tru64 licenses (OSF-BASE, OSF_SRV, OSF-USR…) on my old bunch of Apha Servers, in order to save them (in case of need).

Récemment j’ai du récupérer toutes les licences Tru64 (OSF-BASE, OSF_SRV, OSF-USR…) sur mes vieux serveurs Alpha, pour les sauvegarder (en cas de besoin).

This is how you manage Tru64 licenses:

Voici comment administrer les licences Tru64 :

# lmf list
Product                   Status                     Users: Total      Active
OSF-SVR                   active                            unlimited
OSF-BASE                  active                            unlimited
OSF-USR                   active                            4          0

“lmf list full” to get the full information, for instance :

“lmf list full” pour avoir la liste complète des informations sur les licences, par ex :

Product Name: OSF-BASE
Producer: DEC
Issuer: DEC
Authorization Number: XXX-XX-2004MAY18-XXX
Number of units: XX
Version:
Product Release Date:
Key Termination Date:
Availability Table Code: A
Activity Table Code:
Key Options: MOD_UNITS, ALPHA
Product Token:
Hardware-Id:
License status: active
Cancellation Date:
Revision Number: 0
Comment:
Cache Total Units: XX
Activity Charge: 0

To save your licenses on files you need “Product Name”, “Producer” and “Authorization Number” fields.
Then you have to run :

Pour sauvegarder vos licences dans des fichiers il faut les champs “Product Name”, “Producer” and “Authorization Number” et lancer :

lmf issue /tmp/license_file <Product Name> <Producer> <Authorization number>

The license is now in the file. If you run “lmf list” one license will be missing.
So you have to register again the license with the command:

La licence est maintenant contenue dans le fichier. Si vous lancez « lmf list », une des licences est manquante.

Il faut donc enregistrer à nouveau la licence avec la commande :

lmfregister - < /tmp/license_file

and enable the license :

et activer la licence :

lmf reset

This is a quick shell script I wrote in order to save some time.

Voici un shell script que j’ai rapidement écrit pour gagner du temps.

The 3 needed fields for all licenses are extracted in a variable. I use only the first 3 fields of the variable corresponding to a license. With those 3 fields I extract the license in a file (/tmp directory).

I’m doing the extraction until there are no more licenses on the server, then I use the files to register again the licenses and enable them.

J’extrais les 3 champs nécessaires de chaque licence dans une seule variable et je traite les 3 premiers champs qui correspondent à une licence.  Grace aux 3 champs j’extrais la licence dans un fichier dans le répertoire /tmp.

Cette opération est effectuée jusqu’à ce qu’il n’y ait plus de licences sur le serveur. Ensuite j’utilise les fichiers pour remettre les licences et les réactiver.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/ksh
#Initiate the loop
A="-"
while [ "$A" != "" ]
do
# get license list in one line
A=$(lmf list full |grep -E "Product Name|Producer|Authorization Number" |awk -F":" '{print $2}')
# if no license is found it's the end
[[ "$A" = "" ]] &amp;&amp; break
PRODUCT=$(echo $A |awk '{print $1}')
PRODUCER=$(echo $A |awk '{print $2}')
AUTH=$(echo $A |awk '{print $3}')
HST=$(hostname)
echo "License file is /tmp/${HST}_${PRODUCT}_${AUTH}"
#transfert the lisence to the file
lmf issue /tmp/${HST}_${PRODUCT}_${AUTH} ${PRODUCT} ${PRODUCER} ${AUTH}
done
#now the licenses are on files
#then you have to push again the licenses to the system
cd /tmp/
ls -1 `hostname`*|while read LINE
do
echo "-> register of license $LINE"
lmf register - < $LINE
done
#enable the licenses
lmf reset
#end

Send directories with tar

Here is a nice set of commands to send a directory from one server to another, with tar, so you can preserve permission (-p option) and use compression (network optimization).

Voici une petite combinaison de commandes sympathique pour envoyer un répertoire d’un serveur à un autre avec tar, pour conserver les priorités (-p) et utiliser la compression (optimisation du flux réseau).

His commands archive, compress, send and unachive, uncompress the directory on the fly.

La commande archive, compresse, envoie et désarchive, décompresse à la volée le répertoire.

# gtar czvfp - wordpress | ssh myhost1.mydomain "cd /tmp; gtar xzvfp -"

The same thing can be done the other way around (from server target):

Cela fonctionne aussi dans l’autre sens (depuis le serveur cible de la copie) :

# ssh myhost2.mydomain "cd /tmp; gtar czvfp - wordpress " |gtar xzvfp -

ssh can ben replaced with remsh if you have to.

Vous pouvez remplacer ssh par remsh au besoin.

AIX (5.3) NFS tuning

For an AIX migration I needed to maximize my transfer rate on a NFS share (AIX iSCSI is not working with QNAP Turbo NAS).

An AIX expert (one of the name you can read on IBM Redbooks covers) gave a tuning advice:

Pour un migration AIX j’avais besoin de maximiser les taux de transfert vers un partage NFS (comme le iSCSI AIX ne fonctionne pas avec les Turbo NAS QNAP).

Un export AIX (un de ceux qu’on peut lire sur la couverture des Redbook IBM) m’a donné un conseil de tuning assez simple à mettre en place:

To display the current network and nfs settings :

Pour afficher les valeurs actuelles des settings réseau et nfs :

nfso -a
no -a

Set the new parameters:

Mettre en place les paramètres suivants :

nfso -o nfs_use_reserved_ports=1
no -o rfc1323=1
no -o udp_recvspace=262144
nfso -o nfs_v3_pdts=8

(this tuning will be effective only on the next nfs mount)

(ce tuning  ne sera effectif qu’au prochain montage nfs)

then mount your share  :

ensuite, montez vos partages :

mount -o vers=3 qnap1:/Public /mnt

Be sure to run enable rfc1323 before incresing the tcp and udp receiving buffers (tcp_recvspace and udp_recvspace).

Il faut impérativement activer rfc1323 avant d’augmenter les buffers de reception tcp et udp.