1 

Présentation de Solaris 9



 Résumé

      Bienvenue sur cet article de présentation de SUN Solaris 9. Ici nous feront ensemble un rapide tour sur le dernier OS de Sun Microsystem.

 Sommaire

  Introduction

  1. Présentation
    1.1. Premières remarques
    1.2. Différence avec Unix

  2. Architecture
    2.1. Arborescence
    2.2. Logiciels & commandes utiles

  3. Configuration
    3.1. Configuration des interfaces réseau
    3.2. Configuration de inetd

  4. Administration
    4.1. Configurez Apache
    4.2. Test réseau

  Conclusion

  Introduction

      Pour commencer voici quelques caractéristiques des machines Sun :

        Architecture 64 bits
        Cache CPU important ( 2Mo, 4Mo ou 8 Mo)
        Beaucoup de RAM
        OBP (OpenBootProm)
        Pas forcement PCI (souvent SCSI)
        Interface Graphique (CDE)
        UNIX powered

Vue éclatée d'une unitée SUN Blade 100


 1. Présentation

      Pour faire fonctionner convenablement Solaris 9 vous devez disposer au minimum :

        Un processeur UltraSparc/SPARC 32 (fonctionne aussi sur des x86 & AMD Opteron)
        2,3 Go d'espace disque
        68 MB voir 128 MB de ram

  1.1. Premières remarques

      Même si une partie de l'installation se passe dans un shell Solaris 9 (aka SunOS 2.9) dispose d'une interface graphique (CDE/Gnome) permettant de facilement installer et prendre en main le serveur.


      Les habitués de Linux ne seront pas dépaysés, Solaris est un UNIX mais avec quelques petites subtilités :

        Un peu de BSD
        Une touche de SystemV
        Nommage des partitions propre à Solaris
        Pas d'autocomplétion dans la console

  1.2. Différence avec Unix

      Quelques unes des différence avec UNIX :

        Pas de recompilation de kernel (système de patchs et de modules)
        Les paramètres du noyau sous peu souvent modifiés
        /etc/vfstab équivalent de fstab linux

      Vous trouvez les similitudes avec vos OS préféré et le cas échéant les équivalents des principales commandes sur unixporting.com.


 2. Architecture

      La commande man permet d'afficher le manuel des commandes de shell, pour de plus amples informations sur le système de fichier tapez la commande man -s5 filesystem.

  2.1. Arborescence

      Chaque fichier possède un nom associé à un inode composé de 2 parties :

        Des informations sur le fichier (UID,GID,permissions,taille)
        Des pointeurs vers les blocs de données associés au fichier

    2.1.1. Différents types de fichiers

        Fichiers ordinaires
      • Répertoires (d)
      • Liens symboliques (l)

        Fichiers spéciaux
        Les fichiers spéciaux permettent l'accès aux périphériques. Ils sont crées sous Solaris 9 avec la commande devsadm qui vérifie la présence de nouveaux périphériques et crée des fichiers spéciaux pour eux.

        Mode bloc " b " Dans le cas d'un disque dur, les fichiers spéciaux en mode bloc invoquent des opérations d'I/O selon une taille de bloc définie (pour UFS : 8ko)

        Mode caractère " c " Dans le cas d'un disque dur, les fichiers spéciaux en mode caractère invoquent des opérations d'I/O selon la plus petite unité adressable d'un disque, à savoir un secteur (512 octets)


    2.1.2. Présentation du filesystem

      / La racine du filesystem.
      /bin Lien vers /usr/bin
      /platform Les modules noyaux dépendants de la plateforme
      /opt Les applications supplémentaires
      /kernel Contient les modules noyaux
      /tmp est par défaut un répertoire en ram (tmpfs)

      /dev contient des liens vers d'autres dans /devices
      /dev/dsk/ Disques en mode bloc
      /dev/rdsk/ Disques en mode raw
      /dev/fd/ Descripteurs de fichier
      /dev/md/ Périph de gestion de LVM
      /dev/rmt/ Lecteurs de bande

      /etc/init.d/ Scripts de démarrage et d'arrêt
      /etc/vfstab équivalent de /etc/fstab
      /etc/lib/ Bibliothèques dynamiques
      /etc/dfs/ Fichiers de configuration de NFS
      /etc/default/ Informations par défaut de différents programmes

      /usr/ccs/ Bibliothèques et programmes de compilation C
      /usr/dt/ Interface graphique CDE
      /usr/kernel/ Modules du noyau non nécessaires lors du démarrage
      /usr/opt/ Informations de configuration des packages
      /usr/java/

  2.2. Logiciels

      Il existe 3 types de composants logiciel :
    • Les packages
    • Les clusters (groupe de packages)
    • Les groupes, aka métaclusters (groupe de clusters)


      Pour vous renseigner sur les package déja installés utilisez la commande Pkginfo. Sous Solaris les commandes sont semblables à celle de UNIX, de nombreux logiciels sont portés et peuvent être compilé pour Solaris (top, wmaker, mc, nmap, DooM ;), de plus en plus de libs sont portés et on parle même d'ourir le code source depuis quelques temps...

      Pour obtenir des informations sur les packages essayez aussi les commandes showrev -p et patchadd -p.

      Voici maintenant un petit tour des commandes utiles sous cet OS.

Format


Comme son nom l'indique cette commande permet de formater, sous Solaris le premier secteur du disque ouù est stockée la table de partition s'appelle la VTOC (Volume Table of Content).

Fsck


Permet de vérifier l'intégrité du filesystem (ne jamais le faire sur un filesystem monté)

# fsck /dev/rdsk/c0t0d0s7

Mount


Commande nécessaire pour pouvoir utiliser une partition ou partage réseau. Permet de monter un device sur un point de montage. tapez mount -v pour afficher les montage en cours.

Newfs


Permet de formater une partition en UFS, le format de donnée de Solaris.

# newfs /dev/rdsk/c1t3d0s0

Fstyp


Affiche des informations concernant la partition passée en argument.

# Fstyp -v /dev/rdsk/c0t0d0s0

Tunefs


Cet utilitaire permet modifier les attributs dynamique d'une partition.

Du, df, quot


Ces commandes permettent de surveiller l'utilisation d'un système de fichier, espace utilisé, espace libre, utilisation d'un répertoire ...

cat


Affiche le contenu d'un fichier dans un shell

smc


Solaris Managemant Console, il s'agit d'un en Java permettant de configurer un serveur sous Solaris.


 3. Configuration

      Dans cette partie nous verrons comment sont attribué les adresses aux différentes interfaces réseau, nous apprendrons à changer le hostname par défaut ainsi qu'à configurer le démon inetd.

  3.1. Configuration des interfaces réseau

      Sous Solaris on on peut afficher l'adresse IP et MAC d'une interface avec la commande ifconfig -a, on utilise également cette commande pour attribuer une adresse et un masque de sous-réseau à une interface, ajouter une passerelle...

      Le répertoire /etc/ contient un ou plusieurs fichiers hostname.* en fonctions du nombre d'interfaces réseau, par exemple une fichier /etc/hostname.dnet0 pour l'interface dnet0, un autre fichier /etc/hostname.hme0 pour l'interface hme0, etc...
    Chacun de ces fichiers contient une entrée qui configure une interface correspondante :

    # cat /etc/hostname.dnet0
    172.16.0.42


        Comment changer le Hostname (unknown)

      Normallement la commande hostname nom_du_serveur fonctionne, mais lors du prochaine reboot elle ne sera plus effective.

      Vous pouvez aussi utiliser les commandes Solaris sys-unconfig ou sysidconfig, la commande sys-unconfig permet de supprimer la configuration de la machine et de la reconfigurer, la machine redémarre après l'utilisation de cette commande.

      Sinon vous pouvez aussi éditer les fichiers suivants (tous) et modifier le hostname ;

      /etc/hostname.[nom de l'interface interface ( dnet0, hme0, le0, ...)]
      /etc/nodename
      /etc/defaultrouter
      /etc/netmasks

        Problème de Hostname en DHCP

      Si en DHCP vous n'obtenez pas le bon hostname localisez les lignes suivantes dans le fichier /etc/rcS.d/S30network.sh :

      if [ -z "$hostname" ]; then
          hostname="unknown"
      fi

      et modifiez le ainsi pour utiliser le hostname spécifié dans /etc/nodename :

      if [ -z "$hostname" ]; then
          hostname="unknown"
        if [ -f /etc/nodename ]; then
          hostname="`shcat /etc/nodename 2>/dev/null`"
        fi
      fi

  3.2. Configuration de inetd

      L'installation ouvre par défaut des services potentiellements dangereux, votre première action sera donc d'éditer le fichier /etc/inetd.conf et de commentrer les services dont vous n'avez pas d'utilité cas ils peuvent éventuellement être exploité par des personnes mailveillantes pour attaquer votre serveur.

      Pour ce faire entrez les commandes suivantes dans un shell :
     
     # cd /etc/
     # cp inetd.conf inetd.conf.old
     # gedit inetd.conf
      Vous devriez avoir un affichage similaire ...
      Modifiez le fichier en ajoutant des # devant tous les services dont vous n'avez pas besoin (telnet, in.fingerd..) puis fermez gedit et redémarrez inetd :
    # Pkill -HUP inetd
     


 4. Administration

      Cette partie concerne la configuration du serveur apache et les différents test de la configuration réseau.

  4.1. Configuration de Apache

      Le célèbre serveur apache est normallement installé par défaut dans Solaris 9, nous allons nous intérresser ici à son fonctionnement.

      Le fichier de configuration du serveur, httpd.conf devrais se trouver dans le dossier /usr/local/apache/conf/, si vous navez jamais configuré ce serveur auparavant le fichier de conf doit s'appeller http.conf-dist. Nous allons le renommer, l'éditer et lancer le serveur.

      Dans un shell tapez les commandes suivantes :
     # cd /usr/local/apache/conf/ # cp httpd.conf.dist httpd.conf
     # gedit httpd.conf
     
      Normallement vous n'avez pas grand chose à modifier dans ce fichier, la variable trés importante est sans doutes DocumentRoot qui désigne l'emplacement de vos fichiers à placer sur le serveur Web. Faites en sorte qu'elle désigne le répertoire qui doit être la racine de votre site web. Vous pouvez définir un emplacement différent pour les fichier de log access_log et error_log qui ont tendance à grossir rapidement sur des sites actifs.
      Une fois que votre fichier de configuration vous conviens sauvez le puis retournez dans la console et déplacez vous dans le répertoire des binaires d'apache et repérez le script apachectl. Vous pouvez tester votre configuration en tapant apachectl configtest et si aucune erreur n'est renvoyé vous pouvez lancer le serveur avec la commande :
     # ./usr/local/apache/bin/apachectl start
     

  4.2. Test Réseau

      Pour afficher la table de routage entrez la commande netstat -r. On utilise aussi la commande netstat -a pour visualiser les connexions réseau en cours et en attente.

      Le ping, commande universelle pour tester la connexion au réseau existe aussi sous Solaris, ainsi la commande ping ceasar renverra ceasar is alive si votre configuration est opérationelle et que le serveur ceasar répond aux requêtes ICMP.

      La commande snoop est équivalente au tcpdump de Linux, pour obtenir encore plus d'informations ajoutez le flag -v (verbose) :
     
     # snoop solaris9 gw1
     
      Cela affichera tous les échanges réseaux entre les machines 'solaris9' et 'gw1'.


 Conclusion

     Même si les performances globales ne sont pas toujours importantes, les machines Sun se caractérisent par une grande disponibilité et une montée en charge importante.

     Une des choses les plus sympathique est comme dans la plupart des architectures multi-processeurs, on a la possibilité d'allouer n processeurs à un processus spécifique et de créer des serveurs virtuels...

    sun.com   Présentation de Solaris 9
    www.sunfreeware.com   Téléchargez les derniers freeware pour Solaris
    www.sunstuff.org   Online Sun Information ArcHive
    everythingsolaris.org   Site assez complet traitant de Solaris
    sysunconfig.net   Des tonnes de tips pour Solaris



1 

Retrouvez ci-dessous les autres sections du Laboratoire Sun
Evènements
Java Sun Net Talk LIVE CHAT le 2 Avril à 16h303/29/08
SolarisSunDécouvrez les nouveaux Sun Fire sous Intel10/11/07
JavaValtech Days10/9/07
JavaApacheCon du 1 au 4 mai à Amsterdam2/13/07

Exemples de code
JavaManipuler les looks and feel (lister et affecter)10/15/07
JavaFaire sa propre injection de dépendance avec les annotations5/9/06
JavaSplash screen avec progress Bar5/5/06
JavaFaire un splash screen en swing5/5/06

Actualités
SunProjet Kenai: une nouvelle forge open source10/3/08
SunSun Microsystems en forme !8/4/08
SunOpenDS un ldap 100% java7/24/08
SunSun et Fujitsu annoncent un nouveau Sparc647/16/08
SunVisualVM, un outil de surveillance des applications Java7/10/08

Tips du laboratoire
EclipseVisual Editor avec Eclipse Europa, c'est possible3/28/08
EclipseGérer les projets dans un workspace.10/16/07
JavaManager votre server d'application avec Eclipse4/21/07
JavaVue des sub-packages avec Eclipse4/21/07
JavaGlisser-déposer avec Eclipse4/21/07

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée