solaris

Ceci est une ancienne révision du document !


Distributions utilisées sur les machines du labo

Outils d'admin

Infodocs

Discover The Sun Memory Error Discovery Tool (Discover) is used by software developers to detect programming errors related to the allocation and use of program memory at runtime.

Tips

Avant le boot zfs, il suffisait de booter sur un cd, de monter la partition ufs contenant le /. Avec zfs, il faut récupérer le pool, et accéder à /rpool/boot/grub/menu.lst

Lorsqu'on boote sur le LiveCD, on a:

jack@opensolaris:~$ pfexec zpool import
  pool: rpool
    id: 7697179275706784463
 state: ONLINE
status: The pool was last accessed by another system.
action: The pool can be imported using its name or numeric identifier and
	the '-f' flag.
   see: http://www.sun.com/msg/ZFS-8000-EY
config:

	rpool	    ONLINE
	  c3d0s0    ONLINE
jack@opensolaris:~$ pfexec zpool import -f rpool
cannot mount '/opt/jdsbld': failed to create mountpoint
cannot mount '/usr/local': failed to create mountpoint
jack@opensolaris:~$ zfs list
NAME                        USED  AVAIL	 REFER	MOUNTPOINT
rpool			   17.7G  1.84G	   50K	/rpool
rpool/ROOT		   10.5G  1.84G	   18K	legacy
rpool/ROOT/opensolaris	   6.37M  1.84G	 8.72G	/
rpool/ROOT/opensolaris-5    196M  1.84G	 8.72G	/
rpool/ROOT/opensolaris-nv  10.3G  1.84G	 8.72G	/
rpool/dump		    511M  1.84G	  511M	-
rpool/export		   5.51G  1.84G	   19K	/export
rpool/export/home	   5.51G  1.84G	 24.3M	/export/home
rpool/export/home/henry	   5.49G  1.84G	 5.49G	/export/home/henry
rpool/jdsbld			18K  1.84G	   18K	/opt/jdsbld
rpool/local		    719M  1.84G	  719M	/usr/local
rpool/swap		    557M  1.84G	  557M	-

/rpool est donc directement accessible:

jack@opensolaris:~$ cat /rpool/boot/grub/menu.lst
splashimage /boot/grub/splash.xpm.gz
background 215ECA
timeout 30
default 3
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
#---------------------END BOOTADM--------------------

title Windows
	rootnoverify (hd0,0)
	chainloader +1

# Unknown partition of type 5 found on /dev/rdsk/c3d0p0 partition: 2
# It maps to the GRUB device: (hd0,1) .
title opensolaris-5
findroot (pool_rpool,2,a)
bootfs rpool/ROOT/opensolaris-5
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive
#============ End of LIBBE entry =============
title opensolaris
findroot (pool_rpool,2,a)
bootfs rpool/ROOT/opensolaris
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive
#============ End of LIBBE entry =============
title opensolaris-nv
findroot (pool_rpool,2,a)
bootfs rpool/ROOT/opensolaris-nv
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive
#============ End of LIBBE entry =============

par contre, pour accéder à passwd/shadow, il faut monter manuellement le dataset zfs correspondant.

en cas de problème, et qu'on soit obligé de faire un break (STOP <A>), il vaut mieux générer un core du kernel pour analyse ultérieure à la hotline sun:

sc> break -c
Are you sure you want to send a break to the system [y/n]? y
Enter
SC Alert: SC Request to send Break to host.
#. to return to ALOM.
Debugging requested; hardware watchdog suspended.
Type  'go' to resume
{1b} ok sync

panic[cpu27]/thread=2a101901cc0: sync initiated

sched: software trap 0x7f
pid=0, pc=0xf0246438, sp=0x2a101900ec1, tstate=0x4400001402, context=0x0
g1-g7: 10528d0, 1, 186c400, 0, 0, 0, 2a101901cc0

00000000fee79cd0 unix:sync_handler+144 (1822400, 1f, 0, 1, 1, 108d800)
  %l0-3: 0000000001856e88 000000000188f340 000000000188f000 000000000000017f
  %l4-7: 0000000001872c00 0000000000000000 000000000186c400 000000000000001f
00000000fee79da0 unix:vx_handler+80 (fee7b958, 182fed0, a, 1822400, 182ffd8, f025a159)
  %l0-3: 000000000182ffd8 0000000000000000 0000000000000001 0000000000000001
  %l4-7: 0000000001822c00 00000000f0200000 0000000001000000 000000000101b59c
00000000fee79e50 unix:callback_handler+20 (fee7b958, f01221c0, 0, 0, 0, 0)
  %l0-3: 0000000000000016 00000000fee79701 00000000f0200000 00000000fff78000
  %l4-7: 0000000001009008 0000000000000000 0000000000000000 00000000f01237f0

syncing file systems... done
dumping to /dev/md/dsk/d1, offset 1718288384, content: kernel
  5% done

la commande sync déclenche le dump du kernel à l'endroit prévu

à partir de fssnap:

ufsdump 0f - /dev/fssnap/0 | gzip -c | ssh xxx 'cat - > /export/home/backup/server/rs790-zones.ufs.gz

Commandes pour changer la configuration du serveur X (Ultra5, 10, SB100)

m64config -propt # pour connaitre la configuration actuelle m64config -res \? # les configs possibles m64config -res 1024x768x76 -now # change la config Attention si la config choisie n'est pas supportee il faudra se logger a distance pour revenir a la config precedente m64config -depth 8 # pour changer la profondeur

Autre commande: xdpyinfo (serveur X existe sur toutes les plateformes) fbconfig -list # pour connaitre la liste des devices graphiques. Par exemple sur une Ultra10 de base:

Device-Filename              Specific Config Program
---------------              -----------------------
/dev/fbs/m640                SUNWm64_config

Une comparaison des outils entre Linux et Solaris

Outils de compilation

SFE

on récupère les spec files de la communauté (contrib):

"spec-files-extra is another repository, on sourceforge.net, for packages that are not available in OpenSolaris.
http://pkgbuild.sourceforge.net/spec-files-extra/
It contains over 500 community contributed spec files!!
http://pkgbuild.svn.sourceforge.net/viewvc/pkgbuild/spec-files-extra/trunk/"
> svn co https://pkgbuild.svn.sourceforge.net/svnroot/pkgbuild/spec-files-extra/trunk SFE

donc les SFExxx.spec sont dans le répertoire SFE, il y en a aussi dans le répertoire archive et

voir PKGTOOL_documentation.02.odt ou local, et aussi Lien externe

Les archives téléchargées sont dans le dossier /local/apps/packages/SOURCES/ (modifiable avec un .pkgtoolrc)

> source /opt/dtbld/bin/env.csh
> cd SFE/
> pkgtool build --download SFEfltk.spec
INFO: Copying %use'd or %include'd spec files to SPECS directory
INFO: Processing spec files
INFO: Finding sources
INFO: Downloading source http://ftp.easysw.com/pub/fltk/1.1.7/fltk-1.1.7-source.tar.bz2
INFO: Running pkgbuild -ba [...] SFEfltk.spec (SFEfltk)
INFO: SFEfltk PASSED
INFO: Installing SFEfltk
INFO: Installing SFEfltk-devel

Summary:

                         package |      status | details
---------------------------------+-------------+-------------------------------
                         SFEfltk |      PASSED | 

On peut vérifier dans /tmp/SFEfltk.log que tout s'est bien passé.
donc fltk est installé dans /:

/usr/sbin/pkgchk -v SFEfltk
NOTE: Couldn't lock the package database.
/usr/bin
/usr/bin/fluid
/usr/lib
/usr/lib/libfltk.so
/usr/lib/libfltk.so.1.1
/usr/lib/libfltk_forms.so
/usr/lib/libfltk_forms.so.1.1
/usr/lib/libfltk_gl.a
/usr/lib/libfltk_gl.so
/usr/lib/libfltk_gl.so.1.1
/usr/lib/libfltk_images.so
/usr/lib/libfltk_images.so.1.1
/usr/share
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/fltk-config.1
/usr/share/man/man1/fluid.1

on essaie avec le paquet Tix.

  • on crée le fichier SFEtix.spec dans ~/packages/SPECS
  • on le teste avec la commande: pkgtool -vv build-only SFEtix.spec
  • on regarde les logs: /local/apps/packages/LOGS/SFEtix.log
  • une fois compilé, on peut l'installer, le pkg est dans ~/packages/PKGS/
> pfexec pkgadd -d ~/packages/PKGS/SFEtix-8.4.3.i386.pkg

Ne pas oublier pfexec!

s'il contient:

devel1@nemo:~/src/SFE$ cat ~/.pkgbuildmacros
%_basedir /local/apps/test1234

installra les packages dans /local/apps/test1234 (Attention, il faut sourcer ce fichier à chaque modif, en se reloggant par exemple)

SVM

SVM: Solaris Volume Manager, utilisé essentiellement pour faire du mirroir (RAID1 logiciel)

en cas de problème, on ne peut pas réparer en single-user (FIXME), il faut casser le mirroir (modifier /etc/system et /etc/vfstab)

  • solaris.1234958910.txt.gz
  • Dernière modification : 2017/08/25 09:55
  • (modification externe)