Systèmes

From All4Dev

Contents

Guide de survie Solaris pour linuxien

Lorsqu'on vient du monde libre et qu'on est habitué à GNU/Linux on est parfois déstabilisé face à d'autres systèmes, aussi POSIX soient-ils. Ce petit guide devrait permettre de gagner un peu de temps aux pauvres ères forcés d'utiliser Solaris.

Archives compressées

GNU/Linux
$ tar zcvf monarch.tar.gz monrep/
$ tar zxvf monarch.tar.gz
Solaris
$ tar -cvf - monrep | gzip -c > monarch.tar.gz
$ gzip monarch.tar.gz -c | tar -xvf -

Shell

Lorsque vous vous loguez sur un compte, faite un:

$ bash --login

Et si jamais les touches permettant d'aller directement en début et en fin de ligne ne fonctionnent pas correctement, utiliser les combinaisons suivantes:

Action Combinaison
Début de ligne CTRL+a
Fin de ligne CTRL+e

Ceci n'est pas propre à Solaris (il s'agit de Bash), mais on est un peu plus amené à s'en servir sur ce système...

Suppression

Si vous voulez utiliser rm et qu'il existe un alias pour cette commande vous aurez la surprise de voir que la priorité des options -i et -f est différente sous Solaris et GNU/Linux. Ce qui veut dire que si un alias rm -i a été mis en place il est impossible de le surcharger en faisant un:

$ rm -rf monrep/

Pour que la surcharge fonctionne il faut indiquer le chemin complet vers la commande rm. En l'occurence:

/usr/bin/rm -rf monrep

Ordre des arguments

Je suis habitué à préciser les arguments a passer à une commande en fin de ligne. Surtout pour les commandes "dangereuses", comme rm:

$ rm monrep/ -rf

Ca permet d'éviter la casse tant que la ligne n'est pas complètement terminée.

Cette façon de faire est souvent impossible sous Solaris. Les arguments doivent être passés avant les éléments à traiter:

$ rm -rf monrep/

Recherches

La commande find

Ne pas oublier de préciser systématiquement un chemin de recherche. Sous GNU/Linux il est possible de faire une recherche dans le répertoire courant comme suit:

$ find -name "*fichier*"

Sous Solaris il faut préciser:

$ find ./ -name "*fichier*"
La commande grep

TODO


Désactiver le "xdm" cde

dtconfig -d

Configurer le réseau

Dans /etc/hosts

10.0.0.79 nom.fqdn nom

Dans /etc/hostname.eri0 (eri0 = nom de l'iface)

nom.fqdn

Dans /etc/netmasks

10.0.0.79 255.255.255.128

Dans /etc/defaultrouter

10.0.0.1

Dans /etc/nodename

nom

Dans /etc/resolv.conf

search fqdn
nameserver 10.0.0.20
nameserver 10.0.0.2

Lister les packages installés

pkginfo -i

Infos sur un package

pkginfo -l package

Désactiver inetd

Commenter la ligne en bas de /etc/init.d/inetsvc

Lister les fichiers d'un package

pkgchk -v package

Trouver le package dont provient un fichier

pkgchk -l -p /full_path_to/file

Logs

Par defaut dans /var/adm/messages

Partitions

/etc/vfstab

Desactiver rpcbind

Utile essentiellement pour X,nfs, nis

mv /etc/rc2.d/SXXrpc /etc/rc2.d/KXXrpc

Tips

Filtrage IP

(bien installer les deux, dabord 64bit puis 32bit)

conf dans /etc/opt/ipf/ipf.conf

Afficher les processus

ps -Alf

Installer un package

pkgadd -d package.pkg

Terminal avec couleur en ssh avec xterm/rxvt/linux/...

Dans /etc/profile

if [[ $TERM != "" -a $TERM != "sun-color" ]
then
   export TERM=dtterm
fi

Un equivalent de strace

apptrace


Mettre à jour les packages systèmes

Install de patchpro (pour les mises à jour sécu)

Mise à jour


Compilation de modules perl

Si on utilise gcc, il est souvent necessaire de remplacer "-KPIC" (cc de Sun) en "-fPIC" (gcc) et supprimer les -x... dans OPTIMIZE


Chrooter snort

Voir l'article paru sur securityfocus: Chrooted Snort on Solaris