Linux dans une partition 400

Si vos PC sont sous Windows, deux outils vous seront très utiles, particulièrement si votre serveur fonctionne en mode caractères :






vous pouvez alors passer des commandes (vous pouviez aussi ouvrir un terminal X sur la console HMC).

rappels des principales commandes :
L'arborescence linux part toujours de / et ne connait pas la notion d'unité (C: , ...), chaque entité (disque dur, périphériques externes, montage réseau) peut représenter un système de fichier différent (ayant des caractéristiques différentes) et doit être accroché (on dit monté) à un répertoire (souvent /mnt ).

La plupart des systèmes de fichier sont montés au démarrage (voyez /etc/fstab)

les disques virtuels de l'OS/400 sont vus comme des disques SCSI (sda)

le cdrom est  /dev/cdrom  et l'unité bande SCSI en général  /dev/st0 (sauf si vous avez plusieurs unités)

linux400:/home/cm # cat /etc/fstab

/dev/sda3            /                    reiserfs   acl,user_xattr        1 1
/dev/sda2            swap                 swap       pri=42                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
/dev/cdrom           /media/cdrom         subfs      fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0
/dev/cdrom11         /media/cdrom11       subfs      fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0


L'arborescence locale est, en générale, structurée comme suit :

/
Root ou la racine, tout répertoire est rattaché à root, toutes unités confondues
/boot fichiers "static", c'est à dire utilisés par le boot loader.
/dev
fichiers unité
/etc
fichiers de configuration spécifiques à cet hôte
/lib
les fichiers library (équivalent des DLL pour LINUX) les plus importants et les modules du noyau
/mnt
point de montage pour la plupart des systèmes de fichier externes (autres partitions ou systèmes éloignés)
/opt
software additionnels (Client Access, par exemple)
/sbin
les binaires essentiels du système
/tmp
fichiers temporaires
/usr
seconde hiérarchie de fichier proche de root
(ce répertoire peut ne pas exister au démarrage et peut donc être placé sur un serveur et monté)
/var
données variables et souvent temporaires (les spools par exemple)
/home
répertoire des utilisateurs, il doit y avoir un répertoire par utilisateur de cette machine.

commandes de manipulation de fichiers :

dans tous les cas, n'hésitez pas à demander le manuel (man cde-unix) pour plus de détails


Si vous avez installé l'interface X11 et VNC vous pourrez prendre la main avec un client vnc (port 5901)
ou depuis un navigateur avec l'url http://linux400:5801


Sinon, il vous faudra travailler en mode commandes. exemple :



Dans tous les cas, l'outil suivant sera très pratique : WEBMIN

Il permet de réaliser la plupart des opérations d'administration
  1. à distance
  2. dans un navigateur
  3. que l'interface graphique (X11) soit installée ou non sur votre serveur.
Pour cela, lancez puTTY et vérifiez que vous avez perl et le module perl-net_SSLeay en passant la commande :

rpm -qa | grep perl

cherchez une ligne comme :

perl-5.8.3-32.1 qui indique que vous avez perl et son niveau de version
et
perl-net_SSLeay-1.25-25.1 pour le module SSL

si vous ne trouvez pas (par exemple le module SSL)





et recherchez le package manquant (la barre d'espace permet de le choisir)



Vous pouvez aussi installer vos packages "à la main" avec RPM :

rpm -ivh nom-du-package.rpm installe un package

rpm -q nom-du-package vérifie qu'un package est installé (-qa les liste tous)

rpm -e nom-du-package supprime le package


ensuite, allez chercher les sources sur le site http://www.webmin.net


 choisissez le fichier webmin-1.xxx.tar.gz (ici, la version 1.220)

placez ensuite (avec winSCP ou FTP) ce fichier sur votre serveur Linux, dans /usr/local/src

et sous PuTTY, tapez (si votre version est la 1.220) :
cd /usr/local/src

tar -xvf webmin-1.220.tar.gz (cette commande "dézippe" le fichier)

cd webmin-1.220

./setup.sh




Vous pouvez aussi télécharger le RPM et taper :

rpm -ivh webmin-1.390-2.noarch.rpm (ou qqchose comme ca, suivant la version)


et voilà, le service est disponible à l'url : http://linux400:10000 ou https://linux400:10000, si votre serveur s'appelle linux400 ;-)

à la première utilisation en https (comme indiqué dans la fenêtre de terminal) on vous demande de valider un certificat non authentifié.


signez vous


prenez l'option Change Language and Theme


et demandez la langue Française


voilà !



depuis cet outil vous devriez avoir accès à SWAT, qui permet de configurer samba ou a un équivalent.

 Une fois le serveur samba configuré et les partages fait (voyez /etc/samba/smb.conf) relancez le serveur

cd /etc/init.d
./smb stop
./smb start

          pour monter le serveur linux et accèder aux partages samba, utilisez /QNTC sur l'OS/400

        passez la commande MKDIR '/QNTC/LINUX400'
        puis WRKLNK pour manipuler le contenu.

 
• Vous pourriez aussi utiliser NFS.



1/ définissez les répertoires partagés (on dit exportés)  pour NFS

sinon, renseignez le fichier /etc/EXPORTS.

2/ démarrer les services RPC et NFS

3/ montez le répertoire localement par mount (ou enregistrer le montage dans /etc/fstab)



1/ définissez vos exportations sur votre machine Linux (/etc/exports)

2/ utilisez depuis l'AS/400 avec la commande mount
 

                     Ajouter système fichiers monté (MOUNT)                      
                                                                                 
 Indiquez vos choix, puis appuyez sur ENTREE.                                    
                                                                                 
 Type système de fichiers . . . . > *NFS          *NFS, *UDFS, *NETWARE          
 Système de fichiers à monter . . > 'linux400:/data'                               
                                                                                 
 Répertoire à monter  . . . . . . > '/essai'                                       
                                                                                 
 Options de montage . . . . . . .   'rw,suid,retry=5,rsize=8096,wsize=8096,timeo 
=20,retrans=5,acregmin=30,acregmax=60,acdirmin=30,acdirmax=60,hard'              
                                                                                 
                                                                                 
 Page de codes:                                                                  
   Page de codes fichier données    *BINARY       1-32767, *ASCII, *JOBCCSID...  
   Page de codes nom de chemin  .   *ASCII        1-32767, *ASCII, *JOBCCSID     
                                                                                 
                                                                                 
                                                                                 
                                                                                 
                                                                            Fin  
 F3=Exit   F4=Invite   F5=Réafficher   F12=Annuler   F13=Mode d'emploi invite    
 F24=Autres touches                                                              
 
il s'agit ici d'associer le répertoire distant /data (sur la machine linux400 ) au répertoire local /essai
(qui doit exister localement, et qui va être, ensuite, considéré comme distant)




Pour communiquer avec l'OS/400 (et pour transférer des fichiers afin que l'OS/400 les sauvegarde), le plus simple est NFS :

1/ créez un répertoire sur l'AS/400 (mkdir ou operation navigator), dans notre exemple /linux400

2/ démarrez NFS et exportez le répertoire en question


a/ prenez l'option démarrage global (pour démarrer maintenant)

b/ choisissez  propriété et cochez démarrer en même temps que TCP/IP


c/ choisissez Exportations et exportez votre répertoire


3/ du coté linux, créez un répertoire (mkdir) et donnez les droits (chmod)

4/ lancez webmin, option système, puis montages disques et réseaux, ajoutez un montage


Indiquez dans :
    monté sur le nom du répertoire local qui sera mappé
   
nom d'hôte NFS  le nom ou l'adresse ip de votre I5
    répertoire NFS le répertoire OS/400


cela doit générez une nouvelle ligne dans /etc/fstab :
AS400:/linux400  /as400  nfs  suid,dev,exec  0  0 

il vous suffit ensuite de passer les commandes

cd as400
tar pczf sauvegarde.tgz /home

pour sauvegarder la branche /home dans sauvegarde.tgz

(prévoyez ensuite une sauvegarde réelle depuis l'OS/400 de ce fichier,  par la commande SAV)


Sinon, faites une sauvegarde physique sur l'unité bande OS/400 (TAP01)

pour cela,

    du coté 400
    1/ initialiser la bande au format *ASCII :
   
    INZTAP TAP01 NEWVOL(LINUX) CHECK(*NO) CODE(*ASCII) CLEAR(*YES)

    2/ désactivez l'unité (hélas !)

    VRYCFG TAP01 CFGTYPE(*DEV) STATUS(*OFF)     ou WRKCFGSTS puis option 2

    du coté linux

    il faut utiliser les commandes SCSI pour manipuler l'unité bande

    1/ passez la commande sg_map qui vous montre l'association entre les unités génériques et les unités réelles

linux400:/home/cm # sg_map
/dev/sg0  /dev/sda
/dev/sg1  /dev/sr0
/dev/sg2  /dev/sr1
/dev/sg3  /dev/st0

    2/ passez ensuite la commande

           sg_start /dev/sg3 1 

(pour allouer la bande) ou sg3 est l'information retournée par sg_map (ici sg3 en face de st0)

    3/ puis mt -f /dev/st0 status, pour vérifier la disponibilité de la bande

linux400:/home/cm # mt -f /dev/st0 status
drive type = Generic SCSI-2 tape
drive status = 872415744
sense key error = 0
residue count = 0
file number = 0
block number = 0
Tape block size 512 bytes. Density code 0x34 (unknown).
Soft error count since last status=0
General status bits on (41010000):
 BOT ONLINE IM_REP_EN

    4/ vous pouvez ensuite faire une sauvegarde avec tar (par exemple tar -cvf  /dev/st0  /home)


    5/ commandes pour libérer l'unité:

    Pour rembobinner la bande
    mt -f /dev/st0 rewind


    Pour éjecter la bande
    mt -f /dev/st0 eject


    pour libérer l'unité : 
    sg_reset -d /dev/sg3 (cf sg_map)

                la commande VRYCFG TAP01 CFGTYPE(*DEV) STATUS(*ON) doit être possible ensuite du coté OS/400


• Dernier point, Client Access pour Iseries, disponible sous forme de RPM sur le site IBM (ou avec WebAccess V5r3)

Ce dernier doit installer un Driver ODBC 

Ayant les caractéristiques suivantes (dans le fichier /etc/odbcinst.ini)


[Iseries Access ODBC Driver]
Description    = ISeries Access for Linux ODBC Driver
Driver         = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Setup          = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
Threading      = 2
DontDLClose    = 1



vous pourrez alors utiliser quelques commandes :

• cwbping , pour tester la connexion
• rmtcmd , pour exécuter une commande
• rmtodbc, pour exécuter une commande, mais via le canal ODBC.
• isql nom-de-source profil mot-de-passe

   pour se connecter à la source de données ODBC "nom-de-source" en mode commande,
    tapez ensuite un ordre sql valide ou quit pour sortir



 © AF400 2005.