depuis 2011, deux machines sont maintenues
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.
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
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
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.
> 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: 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 (), il faut casser le mirroir (modifier /etc/system et /etc/vfstab)