Domyślnie Opera na Solarisie nie widzi zainstalowanej wtyczki flash.
Aby używać flash pod Operą najlepiej (najszybciej) skopiować plugin od Firefoxa:
# cp /usr/lib/firefox/plugins/libflashplayer.so /usr/local/lib/opera/plugins/
Testowane na Solaris Express (SXCE).
niedziela, 28 grudnia 2008
piątek, 5 grudnia 2008
Crossbow w b105
Dzisiaj wielki dzień, Crossbow jest włączone (przynajmniej wstępnie) do źródeł ON.
$ hg log -r 8275
changeset: 8275:7c223a798022
tag: tip
user: Eric Cheng
date: Thu Dec 04 18:16:10 2008 -0800
summary: PSARC/2006/357 Crossbow - Network Virtualization and Resource Management
$ hg log -r 8275
changeset: 8275:7c223a798022
tag: tip
user: Eric Cheng
date: Thu Dec 04 18:16:10 2008 -0800
summary: PSARC/2006/357 Crossbow - Network Virtualization and Resource Management
czwartek, 4 grudnia 2008
Hello ASM World
> cat /etc/release
Solaris Express Community Edition snv_103 X86
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 17 November 2008
> cat my01.s
.data
str:
.string "Hello OpenSolaris!!! :)\n"
.text
.globl main
main:
# WRITE
movl $4, %eax
pushl $24
pushl $str
pushl $1
pushl $1
int $0x91
# EXIT
movl $1, %eax
pushl %eax
int $0x91
> as my01.s -o my01.o && ld my01.o -o my01 && strip my01
> file my01
my01: ELF 32-bit LSB executable 80386 Version 1, dynamically linked, stripped
> ldd my01
> dis my01
disassembly for my01
section .text
0x8050408: b8 04 00 00 00 movl $0x4,%eax
0x805040d: 6a 18 pushl $0x18
0x805040f: 68 04 05 06 08 pushl $0x8060504
0x8050414: 6a 01 pushl $0x1
0x8050416: 6a 01 pushl $0x1
0x8050418: cd 91 int $0x91
0x805041a: b8 01 00 00 00 movl $0x1,%eax
0x805041f: 50 pushl %eax
0x8050420: cd 91 int $0x91
> ./my01
Hello OpenSolaris!!! :)
Solaris Express Community Edition snv_103 X86
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 17 November 2008
> cat my01.s
.data
str:
.string "Hello OpenSolaris!!! :)\n"
.text
.globl main
main:
# WRITE
movl $4, %eax
pushl $24
pushl $str
pushl $1
pushl $1
int $0x91
# EXIT
movl $1, %eax
pushl %eax
int $0x91
> as my01.s -o my01.o && ld my01.o -o my01 && strip my01
> file my01
my01: ELF 32-bit LSB executable 80386 Version 1, dynamically linked, stripped
> ldd my01
> dis my01
disassembly for my01
section .text
0x8050408: b8 04 00 00 00 movl $0x4,%eax
0x805040d: 6a 18 pushl $0x18
0x805040f: 68 04 05 06 08 pushl $0x8060504
0x8050414: 6a 01 pushl $0x1
0x8050416: 6a 01 pushl $0x1
0x8050418: cd 91 int $0x91
0x805041a: b8 01 00 00 00 movl $0x1,%eax
0x805041f: 50 pushl %eax
0x8050420: cd 91 int $0x91
> ./my01
Hello OpenSolaris!!! :)
wtorek, 11 listopada 2008
Zdjęcia z konferencji OpenSolaris 2008 - Szczecin
Kilkanaście zdjęć robionych telefonem ;)
http://picasaweb.google.com/estseg/KonferencjaOpenSolaris2008Szczecin#
http://picasaweb.google.com/estseg/KonferencjaOpenSolaris2008Szczecin#
wtorek, 28 października 2008
Open HA Cluster w Szczecinie
Na konferencji w Szczecinie miałem przyjemność mówić o technologiach wysokiej dostępności w systemach Solaris i OpenSolaris.
Mowa oczywiście o Sun Cluster i projekcje Open HA Cluster.
Dla wszystkich, którzy są zainteresowani moją prezentacją, można ją pobrać ze strony technicznych prezentacji projektu Open HA Cluster.
Bezpośredni link do prezentacji znajduje się tutaj.
Mowa oczywiście o Sun Cluster i projekcje Open HA Cluster.
Dla wszystkich, którzy są zainteresowani moją prezentacją, można ją pobrać ze strony technicznych prezentacji projektu Open HA Cluster.
Bezpośredni link do prezentacji znajduje się tutaj.
Konferencja OpenSolaris 2008
Minęła długo zapowiadana konferencja OpenSolaris w Szczecinie.
Pomimo wszelkich problemów odbyła się :) i będą następne!
Dlatego też eksperymentalnie założyliśmy bloga dotyczącego Polskich Konferencji OpenSolaris.
Póki co są tam na razie linki do zdjęć i inne ...
plosug.blogspot.com
Pomimo wszelkich problemów odbyła się :) i będą następne!
Dlatego też eksperymentalnie założyliśmy bloga dotyczącego Polskich Konferencji OpenSolaris.
Póki co są tam na razie linki do zdjęć i inne ...
plosug.blogspot.com
niedziela, 26 października 2008
Długie hasła w {Open}Solaris
W Solarisie i OpenSolaris ze względów historycznych (wsteczna kompatybilność)
maksymalna długość hasła w systemie wynosi 8 znaków.
Aby to zmienić, należy wyedytować plik /etc/security/policy.conf
Trzeba zmienić wartość zmiennej CRYPT_DEFAULT np:
CRYPT_DEFAULT=2a
Po edycji pliku należy zmienić hasło za pomocą 'passwd'.
maksymalna długość hasła w systemie wynosi 8 znaków.
Aby to zmienić, należy wyedytować plik /etc/security/policy.conf
Trzeba zmienić wartość zmiennej CRYPT_DEFAULT np:
CRYPT_DEFAULT=2a
Po edycji pliku należy zmienić hasło za pomocą 'passwd'.
sobota, 18 października 2008
Instalacja Beep Media Player / LWS na SXCE
# cat /etc/release
Solaris Express Community Edition snv_98 X86
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 08 September 2008
# pkgadd -G -d http://lifewithsolaris.jp/uploads/pkg/LWSpkg-admin-0.2.pkg
## Downloading...
........25%.......50%.......75%.......100%
## Download Complete
The following packages are available:
1 LWSpkg-admin Package Admin Tool for lifewithsolaris.jp
(i386) 0.2
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:
Processing package instance from
Package Admin Tool for lifewithsolaris.jp(i386) 0.2
Using as the package base directory.
## Processing package informa tion.
## Processing system information.
2 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of [y,n,?] y
Installing Package Admin Tool for lifewithsolaris.jp as
## Installing part 1 of 1.
16 blocks
Installation of was successful.
# /opt/LWS/bin/pkg-admin list
Getting catalog from http://lifewithsolaris.jp/uploads/pkg/5.11/i386 ... done.
LWSa52dec 0.7.4 ATSC A/52 Streams Decode Library
LWSbmpx 0.40.14 BMPx Media Player
LWSboost 1.36.0 Boosts C++ Library
LWSbzr 1.5 Bazaar Version Control
LWScairomm 1.4.8 CAIRO C++ Interface
LWSctypes 1.0.2 ffi (Foreign Function Interface) Package for Python
LWSfaac 1.26 Free Advanced Audio Coder
LWSfaad2 2.6.1 Free Ad vanced Audio Decoder
LWSffmpeg 0.4.9 FFmpeg Video/Audio Converter
LWSfftw3 3.1.2 C Routines for Discrete Fourier Transform
LWSfox 1.6.32 FOX C++ Toolkit
LWSglibmm 2.14.2 GLIB C++ Interface
LWSgoggles 0.9.1 Goggles DVD Player
LWSgoom 2k4-0 What a GOOM!
LWSgst-ffmpeg 0.10.5 GStreamer FFmpeg Plugins
LWSgst-plugins-bad 0.10.8 GStreamer Bad Plugins
LWSgst-plugins-base 0.10.20 GStreamer Base Plugins
LWSgst-plugins-good 0.10.10 GStreamer Good Plugins
LWSgst-plugins-ugly 0.10.9 GStreamer Ugly Plugins
LWSgstreamer 0.10.20 Open Source Multimedia Framework
LWSgtkmm 2.12.7 GTK C++ Interface
LWSlame 3.97 MPEG Aud io Layer III (MP3) Encoder
LWSlibcddb 1.3.0 CDDB Server Access Library
LWSlibcdio 0.80 GNU Compact Disc Input and Control Library
LWSlibdiscid 0.2.1 Disc ID Generating Library
LWSlibdvdcss 1.2.9 DVD DeCSS Library
LWSlibdvdnav 0.1.10 Library for DVD Navigation
LWSlibdvdread 0.9.7 DVD-Video Read Library
LWSlibglademm 2.6.6 LIBGLADE C++ Interface
LWSlibid3tag 0.15.1b ID3 Tag Manipulation Library
LWSlibmad 0.15.1b MPEG Audio Decoder
LWSlibmms 0.4 Microsoft Media Streaming (MMS) Protocol Library
LWSlibmpeg2 0.5.1 MPEG-2 Video Stream Decoder
LWSlibofa 0.9.3 Open Fingerprint Architecture Library
LWSliboil 0.3.15 Library for CPU Optimized Functions
LWSlibsexy 0.1.11 GTK+ Widgets Collection
LWSlibsexymm 0.1.9 LIBSEXY C++ Interface
LWSlibsigc++ 2.0.18 Callback Framework for C++
LWSlibsoup 2.2.104 HTTP Client/Server Library
LWSlibvisual 0.4.0 Library for Audio Visualisation
LWSlibvisual-plugins 0.4.0 Plugins for libvisual
LWSmutagen 1.14 Python Audio Meta-Data Handling Module
LWSogle 0.9.2 Ogle DVD Player
LWSpicard 0.10 MusicBrainz Picard
LWSpyqt 4.4.2 Python Bindings for Qt
LWSqt4 4.4.0 C++ Application Development Framework
LWSsip 4.7.6 Python C/C++ Bindings Generator
LWSsqlite3 3.5.9 An Embeddable SQL Database Engine
LWStaglib 1.5 TagLib Audio Meta-Data Library
LWSvlc 0.9.3 VLC Media Player
LWSwxwidgets 2.6.4 Cross-Platform GUI Library
LWSxine-lib 1.1.15 Xine Video Player
LWSxine-ui 0.99.5 Xine Video Player (Frontend)
LWSxvidcore 1.1.3 MPEG4 Decoding/Encoding Library
Pakiety LWS są instalowane w /opt/LWS, podobnie jak Blastwave są niezależne od paczek i bibliotek systemowych.
# /opt/LWS/bin/pkg-admin install LWSbmpx
Getting catalog from http://lifewithsolaris.jp/uploads/pkg/5.11/i386 ... done.
==============================================================
pkg-admin tries to upgrade packages to same version even if it
already exists.
Let pkg-admin installing them, since there might occur package
upgrade for same version due to other package upgrade.
==============================================================
Downloading LW Sbmpx (0.40.14) ... done.
Transferring package instance
Downloading LWSa52dec (0.7.4) ... done.
Transferring package instance
[...]
Installing BMPx Media Player as
## Installing part 1 of 1.
89947 blocks
Installation of was successful.
Dodatkowo musimy jeszcze doinstalować jedną paczkę jeśli mamy build systemu nowszy niż b93:
# /opt/LWS/bin/pkg-admin install LWSlibsoup
Getting catalog from htt p://lifewithsolaris.jp/uploads/pkg/5.11/i386 ... done.
==============================================================
pkg-admin tries to upgrade packages to same version even if it
already exists.
Let pkg-admin installing them, since there might occur package
upgrade for same version due to other package upgrade.
==============================================================
Downloading LWSlibsoup (2.2.104) ... done.
Transferring package instance
Processing package instance from
HTTP Client/Server Library(i386) 2.2.104
Using as the package base directory.
## Processing package information.
## Processing system information.
8 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
Installing HTTP Client/Server Library as
## Installing part 1 of 1.
2859 blocks
Installation of was successful.
# ls -alh /opt/LWS/bin/bmp2
lrwxrwxrwx 1 root root 19 paź 18 10:20 /opt/LWS/bin/bmp2 -> beep-media-player-2
Solaris Express Community Edition snv_98 X86
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 08 September 2008
# pkgadd -G -d http://lifewithsolaris.jp/uploads/pkg/LWSpkg-admin-0.2.pkg
## Downloading...
........25%.......50%.......75%.......100%
## Download Complete
The following packages are available:
1 LWSpkg-admin Package Admin Tool for lifewithsolaris.jp
(i386) 0.2
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:
Processing package instance
Package Admin Tool for lifewithsolaris.jp(i386) 0.2
Using
## Processing package informa
## Processing system information.
2 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of
Installing Package Admin Tool for lifewithsolaris.jp as
## Installing part 1 of 1.
Installation of
# /opt/LWS/bin/pkg-admin list
Getting catalog from http://lifewithsolaris.jp/uploads/pkg/5.11/i386 ... done.
LWSa52dec 0.7.4 ATSC A/52 Streams Decode Library
LWSbmpx 0.40.14 BMPx Media Player
LWSboost 1.36.0 Boosts C++ Library
LWSbzr 1.5 Bazaar Version Control
LWScairomm 1.4.8 CAIRO C++ Interface
LWSctypes 1.0.2 ffi (Foreign Function Interface) Package for Python
LWSfaac 1.26 Free Advanced Audio Coder
LWSfaad2 2.6.1 Free Ad
LWSffmpeg 0.4.9 FFmpeg Video/Audio Converter
LWSfftw3 3.1.2 C Routines for Discrete Fourier Transform
LWSfox 1.6.32 FOX C++ Toolkit
LWSglibmm 2.14.2 GLIB C++ Interface
LWSgoggles 0.9.1 Goggles DVD Player
LWSgoom 2k4-0 What a GOOM!
LWSgst-ffmpeg 0.10.5 GStreamer FFmpeg Plugins
LWSgst-plugins-bad 0.10.8 GStreamer Bad Plugins
LWSgst-plugins-base 0.10.20 GStreamer Base Plugins
LWSgst-plugins-good 0.10.10 GStreamer Good Plugins
LWSgst-plugins-ugly 0.10.9 GStreamer Ugly Plugins
LWSgstreamer 0.10.20 Open Source Multimedia Framework
LWSgtkmm 2.12.7 GTK C++ Interface
LWSlame 3.97 MPEG Aud
LWSlibcddb 1.3.0 CDDB Server Access Library
LWSlibcdio 0.80 GNU Compact Disc Input and Control Library
LWSlibdiscid 0.2.1 Disc ID Generating Library
LWSlibdvdcss 1.2.9 DVD DeCSS Library
LWSlibdvdnav 0.1.10 Library for DVD Navigation
LWSlibdvdread 0.9.7 DVD-Video Read Library
LWSlibglademm 2.6.6 LIBGLADE C++ Interface
LWSlibid3tag 0.15.1b ID3 Tag Manipulation Library
LWSlibmad 0.15.1b MPEG Audio Decoder
LWSlibmms 0.4 Microsoft Media Streaming (MMS) Protocol Library
LWSlibmpeg2 0.5.1 MPEG-2 Video Stream Decoder
LWSlibofa 0.9.3 Open Fingerprint Architecture Library
LWSliboil 0.3.15 Library for CPU Optimized Functions
LWSlibsexy 0.1.11 GTK+ Widgets Collection
LWSlibsexymm 0.1.9 LIBSEXY
LWSlibsigc++ 2.0.18 Callback Framework for C++
LWSlibsoup 2.2.104 HTTP Client/Server Library
LWSlibvisual 0.4.0 Library for Audio Visualisation
LWSlibvisual-plugins 0.4.0 Plugins for libvisual
LWSmutagen 1.14 Python Audio Meta-Data Handling Module
LWSogle 0.9.2 Ogle DVD Player
LWSpicard 0.10 MusicBrainz Picard
LWSpyqt 4.4.2 Python Bindings for Qt
LWSqt4 4.4.0 C++ Application Development Framework
LWSsip 4.7.6 Python C/C++ Bindings Generator
LWSsqlite3 3.5.9 An Embeddable SQL Database Engine
LWStaglib 1.5 TagLib Audio Meta-Data Library
LWSvlc 0.9.3 VLC Media Player
LWSwxwidgets 2.6.4 Cross-Platform GUI Library
LWSxine-lib 1.1.15 Xine Video Player
LWSxine-ui 0.99.5 Xine Video Player (Frontend)
LWSxvidcore 1.1.3
Pakiety LWS są instalowane w /opt/LWS, podobnie jak Blastwave są niezależne od paczek i bibliotek systemowych.
# /opt/LWS/bin/pkg-admin install LWSbmpx
Getting catalog from http://lifewithsolaris.jp/uploads/pkg/5.11/i386 ... done.
==============================================================
pkg-admin tries to upgrade packages to same version even if it
already exists.
Let pkg-admin installing them, since there might occur package
upgrade for same version due to other package upgrade.
==============================================================
Downloading LW
Transferring
Downloading LWSa52dec (0.7.4) ... done.
Transferring
[...]
Installing BMPx Media Player as
## Installing part 1 of 1.
89947 blocks
Installation of
Dodatkowo musimy jeszcze doinstalować jedną paczkę jeśli mamy build systemu nowszy niż b93:
# /opt/LWS/bin/pkg-admin install LWSlibsoup
Getting catalog from htt
==============================================================
pkg-admin tries to upgrade packages to same version even if it
already exists.
Let pkg-admin installing them, since there might occur package
upgrade for same version due to other package upgrade.
==============================================================
Downloading LWSlibsoup (2.2.104) ... done.
Transferring
Processing package instance
HTTP Client/Server Library(i386) 2.2.104
Using
## Processing package information.
## Processing system information.
8 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
Installing HTTP Client/Server Library as
## Installing part 1 of 1.
2859 blocks
Installation of
# ls -alh /opt/LWS/bin/bmp2
lrwxrwxrwx 1 root root 19 paź 18 10:20 /opt/LWS/bin/bmp2 -> beep-media-player-2
środa, 1 października 2008
Milax i IPS
Minidystrybucja Milax korzysta już z nowego systemu paczek OpenSolaris IPS.
Przykład instalacji Samby:
# pkg image-create -F -a blastwave=http://blastwave.network.com:10000/ /
# pkg -R / install IPSsamba
DOWNLOAD PKGS FILES XFER (MB)
Completed 28/28 1839/1839 107.74/107.74
PHASE ACTIONS
Install Phase 3461/3461
PHASE ITEMS
Reading Existing Index 8/8
Indexing Packages 28/28
Przykład instalacji Samby:
# pkg image-create -F -a blastwave=http://blastwave.network.com:10000/ /
# pkg -R / install IPSsamba
DOWNLOAD PKGS FILES XFER (MB)
Completed 28/28 1839/1839 107.74/107.74
PHASE ACTIONS
Install Phase 3461/3461
PHASE ITEMS
Reading Existing Index 8/8
Indexing Packages 28/28
poniedziałek, 29 września 2008
Life With Solaris
Jak dla mnie absolutna rewelacja :)
Paczki dla Solaris 10, Solaris Nevada oraz OpenSolaris 2008.05 zawierające:
- Beep Media Player
- Goggles/Ogle DVD Player
- MusicBrainz Picard
- VLC Media Player
- Xine Video Player
http://lifewithsolaris.jp/modules/about/
Paczki dla Solaris 10, Solaris Nevada oraz OpenSolaris 2008.05 zawierające:
- Beep Media Player
- Goggles/Ogle DVD Player
- MusicBrainz Picard
- VLC Media Player
- Xine Video Player
http://lifewithsolaris.jp/modules/about/
niedziela, 28 września 2008
OpenSolaris ON b100 - bfu, hostid
Najnowszy build snv100 zawiera wiele ciekawych nowości i zmian np:
- Migracja źródeł ON do Sun Studio 12. SS12 jest niezbędny do kompilacji!
- Wirtualne konsole tekstowe!
- Fast Reboot.
- PowerTOP
- Obsługa procesora Rock.
- OpenLDAP
Jedna z nowości to "Hostid for X86 systems".
Problem pojawia się, gdy chcemy zaktualizować system do najnowszej wersji poprzez 'bfu'.
Dotychczas aby to zrobić trzeba było wyeksportować 3 zmienne: FASTFS, BFULD oraz GZIPBIN.
Teraz potrzebna jest najnowsza paczka SUNWonbld, która zawiera program 'extract_hostid'.
Dodatkowo należy wyeksportować zmienną EXTRACT_HOSTID:
# export EXTRACT_HOSTID=/opt/onbld/bin/i386/extract_hostid
- Migracja źródeł ON do Sun Studio 12. SS12 jest niezbędny do kompilacji!
- Wirtualne konsole tekstowe!
- Fast Reboot.
- PowerTOP
- Obsługa procesora Rock.
- OpenLDAP
Jedna z nowości to "Hostid for X86 systems".
Problem pojawia się, gdy chcemy zaktualizować system do najnowszej wersji poprzez 'bfu'.
Dotychczas aby to zrobić trzeba było wyeksportować 3 zmienne: FASTFS, BFULD oraz GZIPBIN.
Teraz potrzebna jest najnowsza paczka SUNWonbld, która zawiera program 'extract_hostid'.
Dodatkowo należy wyeksportować zmienną EXTRACT_HOSTID:
# export EXTRACT_HOSTID=/opt/onbld/bin/i386/extract_hostid
poniedziałek, 8 września 2008
SXCE97 i czcionki w mplayer
Informacja dla tych, którzy używają SXCE na desktopie i jednocześnie oglądają filmy za pomocą mplayera (z blastwave).
W SXCE97 zmieniła się czcionka i ta, z której korzysta mplayer jest niedostępna:
/usr/openwin/lib/X11/fonts/TrueType/Arial.ttf
Dzięki temu zniknęły napisy w mplayerze. Można to jednak szybko naprawić linkując inną czcionkę lub tą z poprzedniej wersji SXCE:
# ls -alh /opt/csw/share/mplayer/subfont.ttf
lrwxrwxrwx 1 root root 26 wrz 8 19:42 /opt/csw/share/mplayer/subfont.ttf -> /usr/local/fonts/Arial.ttf
Oto czcionka, z której dotychczas korzystał mplayer:
# ls -alh /usr/local/fonts/Arial.ttf
-rw-r--r-- 1 root root 146K wrz 8 19:41 /usr/local/fonts/Arial.ttf
W SXCE97 zmieniła się czcionka i ta, z której korzysta mplayer jest niedostępna:
/usr/openwin/lib/X11/fonts/TrueType/Arial.ttf
Dzięki temu zniknęły napisy w mplayerze. Można to jednak szybko naprawić linkując inną czcionkę lub tą z poprzedniej wersji SXCE:
# ls -alh /opt/csw/share/mplayer/subfont.ttf
lrwxrwxrwx 1 root root 26 wrz 8 19:42 /opt/csw/share/mplayer/subfont.ttf -> /usr/local/fonts/Arial.ttf
Oto czcionka, z której dotychczas korzystał mplayer:
# ls -alh /usr/local/fonts/Arial.ttf
-rw-r--r-- 1 root root 146K wrz 8 19:41 /usr/local/fonts/Arial.ttf
sobota, 6 września 2008
OpenSolaris Power Management
Temat niezbyt oczywisty, tak więc ten krótki post powinien być użyteczny.
OpenSolaris wspiera zarządzanie częstotliwością procesorów tylko najnowszych procesorów Intel oraz AMD. Jest to spowodowane architekturą jądra Solarisa oraz budową starszych procesorów.
Możemy sprawdzić, czy nasz procesor jest wspierany za pomocą kstat:
$ kstat -m cpu_info -s supported_frequencies_Hz
module: cpu_info instance: 0
name: cpu_info0 class: misc
supported_frequencies_Hz 800000000:1200000000:1600000000:2000000000:2400000000:2401000000
module: cpu_info instance: 1
name: cpu_info1 class: misc
supported_frequencies_Hz 800000000:1200000000:1600000000:2000000000:2400000000:2401000000
Jeśli nie jest wspierany, możemy spróbować użyć pakietu frkit.
Gdy CPU jest wspierany należy wyedytować konfigurację zarządzania zasilania:
$ tail -3 /etc/power.conf
S3-support enable
cpupm enable
cpu-threshold 15s
Uaktualniamy konfigurację:
# /usr/sbin/pmconfig
Sprawdzamy, czy działa:
$ kstat -m cpu_info -s current_clock_Hz;
module: cpu_info instance: 0
name: cpu_info0 class: misc
current_clock_Hz 800000000
module: cpu_info instance: 1
name: cpu_info1 class: misc
current_clock_Hz 800000000
Jak obciążymy procesor, zmienia się częstotliwość CPU:
$ kstat -m cpu_info -s current_clock_Hz;
module: cpu_info instance: 0
name: cpu_info0 class: misc
current_clock_Hz 2401000000
module: cpu_info instance: 1
name: cpu_info1 class: misc
current_clock_Hz 2401000000
Jeśli chodzi o Suspend/Resume, to jest szansa, że sprzęt jaki posiadamy (i sterowniki) poprawnie wspierają Power Management.
Na dzień dzisiejszy działa Suspend to RAM. Obsługa Suspend to Disk nie jest jeszcze dostępna.
Jako, iż testowałem Suspend/Resume na ręcznie przekompilowanym systemie,
moja wersja jest gdzieś pomiędzy snv98, a snv99. Tak więc na snv99 powinno to działać, gdyż w tych buildach są naprawione problemy z Suspend/Resume na niektórym sprzęcie.
Jak uśpić komputer? Można poprzez GDM (uśpij), albo poprzez 'uadmin':
# uadmin 3 20
Warto mieć również profile zabezpieczeń takie jak:
Suspend To RAM
Suspend To Disk
CPU Power Management
OpenSolaris wspiera zarządzanie częstotliwością procesorów tylko najnowszych procesorów Intel oraz AMD. Jest to spowodowane architekturą jądra Solarisa oraz budową starszych procesorów.
Możemy sprawdzić, czy nasz procesor jest wspierany za pomocą kstat:
$ kstat -m cpu_info -s supported_frequencies_Hz
module: cpu_info instance: 0
name: cpu_info0 class: misc
supported_frequencies_Hz 800000000:1200000000:1600000000:2000000000:2400000000:2401000000
module: cpu_info instance: 1
name: cpu_info1 class: misc
supported_frequencies_Hz 800000000:1200000000:1600000000:2000000000:2400000000:2401000000
Jeśli nie jest wspierany, możemy spróbować użyć pakietu frkit.
Gdy CPU jest wspierany należy wyedytować konfigurację zarządzania zasilania:
$ tail -3 /etc/power.conf
S3-support enable
cpupm enable
cpu-threshold 15s
Uaktualniamy konfigurację:
# /usr/sbin/pmconfig
Sprawdzamy, czy działa:
$ kstat -m cpu_info -s current_clock_Hz;
module: cpu_info instance: 0
name: cpu_info0 class: misc
current_clock_Hz 800000000
module: cpu_info instance: 1
name: cpu_info1 class: misc
current_clock_Hz 800000000
Jak obciążymy procesor, zmienia się częstotliwość CPU:
$ kstat -m cpu_info -s current_clock_Hz;
module: cpu_info instance: 0
name: cpu_info0 class: misc
current_clock_Hz 2401000000
module: cpu_info instance: 1
name: cpu_info1 class: misc
current_clock_Hz 2401000000
Jeśli chodzi o Suspend/Resume, to jest szansa, że sprzęt jaki posiadamy (i sterowniki) poprawnie wspierają Power Management.
Na dzień dzisiejszy działa Suspend to RAM. Obsługa Suspend to Disk nie jest jeszcze dostępna.
Jako, iż testowałem Suspend/Resume na ręcznie przekompilowanym systemie,
moja wersja jest gdzieś pomiędzy snv98, a snv99. Tak więc na snv99 powinno to działać, gdyż w tych buildach są naprawione problemy z Suspend/Resume na niektórym sprzęcie.
Jak uśpić komputer? Można poprzez GDM (uśpij), albo poprzez 'uadmin':
# uadmin 3 20
Warto mieć również profile zabezpieczeń takie jak:
Suspend To RAM
Suspend To Disk
CPU Power Management
wtorek, 12 sierpnia 2008
Open HA Cluster
W najbliższym czasie będę prezentować na dwóch konferencjach czym jest Open HA Cluster Project.
Konferencje to Unixalia.pl oraz Polska Konferencja OpenSolaris.
Informacje o wydarzeniach mamy na stronie HA Clusters Community.
Konferencje to Unixalia.pl oraz Polska Konferencja OpenSolaris.
Informacje o wydarzeniach mamy na stronie HA Clusters Community.
sobota, 9 sierpnia 2008
OpenSolaris audiohd
Garrett D'Amore pracuje nad nowym sterownikiem dźwiękowym do OpenSolarisa
audiohd.
Jak na razie sterownik ten jest eksperymentalny, mimo to jest stabilny i działa.
Dlaczego go użyłem?
Dlatego, iż niektóre laptopy mają problemy ze sterownikami OpenSound i przy ładowaniu systemu słychać głośny pisk z głośniczka.
Sterownik wystarczy wrzucić do /kernel/drv/amd64/ i nadpisać istniejący plik.
Nowy audiohd nie współpracuje z OpenSound, więc przed podmianą obecnego sterownika należy odinstalować OSS.
Więcej informacji na blogu Garreta.
audiohd.
Jak na razie sterownik ten jest eksperymentalny, mimo to jest stabilny i działa.
Dlaczego go użyłem?
Dlatego, iż niektóre laptopy mają problemy ze sterownikami OpenSound i przy ładowaniu systemu słychać głośny pisk z głośniczka.
Sterownik wystarczy wrzucić do /kernel/drv/amd64/ i nadpisać istniejący plik.
Nowy audiohd nie współpracuje z OpenSound, więc przed podmianą obecnego sterownika należy odinstalować OSS.
Więcej informacji na blogu Garreta.
środa, 6 sierpnia 2008
Solaris ON w Mercurial po drugiej stronie Sunowskiego firewalla
Wraz z buildem 97 źródła ON są przeniesione do Mercurial i całe repozytorium nie jest już w SWANie (wewnętrzna sieć Suna).
W chwili gdy to piszę, trwają ostatnie prace nad ukończeniem migracji, wszystkie commity są zawieszone do oficjalnego otwarcia repozytorium.
Od tego momentu wszystkie zmiany w repozytorium będą nanoszone poprzez Mercurial do oficjalnego (zęwnętrznego) repozytorium, wyjątkiem jest jeszcze xvm-gate.
W późniejszym czasie planowana jest również migracja do zewnętrznego repozytorium Mercurial całego Open HA Cluster (Solaris Cluster Express).
W chwili gdy to piszę, trwają ostatnie prace nad ukończeniem migracji, wszystkie commity są zawieszone do oficjalnego otwarcia repozytorium.
Od tego momentu wszystkie zmiany w repozytorium będą nanoszone poprzez Mercurial do oficjalnego (zęwnętrznego) repozytorium, wyjątkiem jest jeszcze xvm-gate.
W późniejszym czasie planowana jest również migracja do zewnętrznego repozytorium Mercurial całego Open HA Cluster (Solaris Cluster Express).
ONNV na Sun Studio 12
Od builda 99 źródła ON (OS/Net - rdzeń systemu Solaris) będą przystosowane do kompilacji na Sun Studio 12.
Obecnie można skompilować ON na Sun Studio 12 lecz trzeba wykonać dodatkowe operacje i dlatego zalecane jest użycie Sun Studio 11.
Ciekawy jestem kiedy ON dostarczane w Solaris Nevada będzie skompilowane w Sun Studio 12 oraz kiedy Solaris Cluster Express będzie również przystosowany do nowego Sun Studio.
Solaris Cluster Express do kompilacji wymaga starszego SS11.
Obecnie można skompilować ON na Sun Studio 12 lecz trzeba wykonać dodatkowe operacje i dlatego zalecane jest użycie Sun Studio 11.
Ciekawy jestem kiedy ON dostarczane w Solaris Nevada będzie skompilowane w Sun Studio 12 oraz kiedy Solaris Cluster Express będzie również przystosowany do nowego Sun Studio.
Solaris Cluster Express do kompilacji wymaga starszego SS11.
sobota, 26 lipca 2008
Sun Java Communication Suite 6 w akcji
Zrobiłem kilka screenów nowych commsów.
Sun Convergence - nowy webmail łączący pocztę, kalendarz, kontakty oraz komunikator korporacyjny.
(komunikatora akurat nie ma na screenach)
Sun Java Communication Suite to potężny system pracy grupowej, na który składa się między innymi:
serwer LDAP, serwer aplikacji, serwer webowy, serwer mailowy, serwer kalendarza, serwer XMPP oraz Convergence AJAX client.
Sun Convergence - nowy webmail łączący pocztę, kalendarz, kontakty oraz komunikator korporacyjny.
(komunikatora akurat nie ma na screenach)
Sun Java Communication Suite to potężny system pracy grupowej, na który składa się między innymi:
serwer LDAP, serwer aplikacji, serwer webowy, serwer mailowy, serwer kalendarza, serwer XMPP oraz Convergence AJAX client.
wtorek, 22 lipca 2008
piątek, 11 lipca 2008
Wersja finalna OpenDS 1.0.0
Otwarty serwer usług katalogowych OpenDS ma już numerek 1.0.0.
OpenDS jest napisany w Javie, ma prosty graficzny instalator, można go zainstalować i skonfigurować
w zaledwie kilka minut!
OpenDS jest niezwykle skalowalny, zarówno jeśli chodzi o duże obciążenie jak i o urządzenia wbudowane.
Więcej informacji: link.
OpenDS jest napisany w Javie, ma prosty graficzny instalator, można go zainstalować i skonfigurować
w zaledwie kilka minut!
OpenDS jest niezwykle skalowalny, zarówno jeśli chodzi o duże obciążenie jak i o urządzenia wbudowane.
Więcej informacji: link.
sobota, 5 lipca 2008
Firefox na Solarisie
poniedziałek, 23 czerwca 2008
xVM SXCE91 CentOS 5.1 pvm
W najnowszym SXCE91 jest problem jeśli chcemy zainstalować domenę pvm z systemem CentOS 5.1.
Problem występuje, jeśli podamy jako źródło instalacji obraz płyty z CentOS, instalator linuxa nie widzi dysku twardego...
Aby to ominąć można podać jako źródło instalacji zasób NFS.
# virt-install -n centos -r 256 -f /dev/zvol/dsk/data/centos -p --nographics -l nfs:192.168.20.30:/export/centos
Wcześniej w /export/centos należy zamontować obraz płyty CentOS i wyeksportować katalog po NFS.
Problem występuje, jeśli podamy jako źródło instalacji obraz płyty z CentOS, instalator linuxa nie widzi dysku twardego...
Aby to ominąć można podać jako źródło instalacji zasób NFS.
# virt-install -n centos -r 256 -f /dev/zvol/dsk/data/centos -p --nographics -l nfs:192.168.20.30:/export/centos
Wcześniej w /export/centos należy zamontować obraz płyty CentOS i wyeksportować katalog po NFS.
środa, 18 czerwca 2008
DTrace IP Provider
# dtrace -l | awk '{if ($2 == "ip") print $0}'
1492 ip ip ip_wput_local_v6 receive
1493 ip ip ip_rput_v6 receive
1494 ip ip ip_wput_local receive
1495 ip ip ip_input receive
1514 ip ip ip_inject_impl send
1515 ip ip udp_xmit send
1516 ip ip tcp_lsosend_data send
1517 ip ip tcp_multisend send
1518 ip ip tcp_send_data send
1519 ip ip ip_multicast_loopback send
1520 ip ip ip_xmit_v6 send
1521 ip ip ip_wput_ire_v6 send
1522 ip ip ip_xmit_v4 send
1523 ip ip ip_wput_ipsec_out send
1524 ip ip ip_wput_ipsec_out_v6 send
1525 ip ip ip_wput_frag send
1526 ip ip ip_wput_frag_mdt send
1527 ip ip ip_wput_ire send
1528 ip ip ip_fast_forward send
# dtrace -n 'ip:::send {@[execname]=count()}'
dtrace: description 'ip:::send ' matched 15 probes
^C
bonobo-activatio 1
esd 1
gconf-sanity-che 1
gdmprefetch 1
iiimx-settings-i 1
ksh 1
rm 1
run-mozilla.sh 1
nfsmapid 2
nscd 2
quota 2
gconftool-2 3
gnome-vfs-daemon 3
dbus-daemon 4
dtsearchpath 4
nfs4cbd 4
md5sum 6
dtappgather 7
firefox 7
sdt_shell 8
iiim-xbe 9
xmbind 9
mv 10
Xorg 11
bash 11
xscreensaver 13
xdg-user-dirs-up 15
dbus-launch 16
xsetroot 16
touch 18
echo 22
mkfontdir 22
iiimx 23
gdm-binary 38
gnome-volume-man 43
clock-applet 47
metacity 61
gnome-terminal 72
Xsession 82
gnome-settings-d 178
mixer_applet2 386
battstat-applet- 390
wnck-applet 405
gam_server 441
nautilus 620
gnome-panel 656
gnome-session 681
gconfd-2 1190
firefox-bin 2815
sched 21545
# dtrace -n 'ip::tcp_send_data: {@[execname]=count();}'
dtrace: description 'ip::tcp_send_data: ' matched 1 probe
^C
sshd 1
firefox-bin 31
sched 34
gam_server 68
# dtrace -n 'ip:::'
dtrace: description 'ip:::' matched 19 probes
CPU ID FUNCTION:NAME
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
^C
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
1492 ip ip ip_wput_local_v6 receive
1493 ip ip ip_rput_v6 receive
1494 ip ip ip_wput_local receive
1495 ip ip ip_input receive
1514 ip ip ip_inject_impl send
1515 ip ip udp_xmit send
1516 ip ip tcp_lsosend_data send
1517 ip ip tcp_multisend send
1518 ip ip tcp_send_data send
1519 ip ip ip_multicast_loopback send
1520 ip ip ip_xmit_v6 send
1521 ip ip ip_wput_ire_v6 send
1522 ip ip ip_xmit_v4 send
1523 ip ip ip_wput_ipsec_out send
1524 ip ip ip_wput_ipsec_out_v6 send
1525 ip ip ip_wput_frag send
1526 ip ip ip_wput_frag_mdt send
1527 ip ip ip_wput_ire send
1528 ip ip ip_fast_forward send
# dtrace -n 'ip:::send {@[execname]=count()}'
dtrace: description 'ip:::send ' matched 15 probes
^C
bonobo-activatio 1
esd 1
gconf-sanity-che 1
gdmprefetch 1
iiimx-settings-i 1
ksh 1
rm 1
run-mozilla.sh 1
nfsmapid 2
nscd 2
quota 2
gconftool-2 3
gnome-vfs-daemon 3
dbus-daemon 4
dtsearchpath 4
nfs4cbd 4
md5sum 6
dtappgather 7
firefox 7
sdt_shell 8
iiim-xbe 9
xmbind 9
mv 10
Xorg 11
bash 11
xscreensaver 13
xdg-user-dirs-up 15
dbus-launch 16
xsetroot 16
touch 18
echo 22
mkfontdir 22
iiimx 23
gdm-binary 38
gnome-volume-man 43
clock-applet 47
metacity 61
gnome-terminal 72
Xsession 82
gnome-settings-d 178
mixer_applet2 386
battstat-applet- 390
wnck-applet 405
gam_server 441
nautilus 620
gnome-panel 656
gnome-session 681
gconfd-2 1190
firefox-bin 2815
sched 21545
# dtrace -n 'ip::tcp_send_data: {@[execname]=count();}'
dtrace: description 'ip::tcp_send_data: ' matched 1 probe
^C
sshd 1
firefox-bin 31
sched 34
gam_server 68
# dtrace -n 'ip:::'
dtrace: description 'ip:::' matched 19 probes
CPU ID FUNCTION:NAME
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
^C
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
0 1495 ip_input:receive
0 1495 ip_input:receive
0 1518 tcp_send_data:send
0 1518 tcp_send_data:send
piątek, 13 czerwca 2008
OpenDS 1.0.0 Release Candidate
Właśnie wyszedł RC wersji 1.0.0 otwartego serwera usług katalogowych OpenDS :)
OpenDS możemy pobrać stąd.
Link prowadzi do wersji 1.0.0-build016, właśnie ta wersja jest oznaczona jako RC.
OpenDS możemy pobrać stąd.
Link prowadzi do wersji 1.0.0-build016, właśnie ta wersja jest oznaczona jako RC.
wtorek, 10 czerwca 2008
niedziela, 8 czerwca 2008
Polska klawiatura w OpenSolaris
Już wiele osób o tym pisało, ale dodam to jeszcze raz ...
Jak ustawić polską klawiaturę w Solaris/OpenSolaris.
Czyli jak ustawić układ polski programisty, aby np "z" było "z", a nie "y"...
Należe wyedytować plik /etc/X11/xorg.conf, który domyślnie nie jest tworzony.
W tym celu należy wyłączyć GDM lub cde-login (w zależności od wersji systemu).
Aby zobaczyć jaka usługa jest włączona:
# svcs gdm cde-login
Zakładająć, że używamy GDM, musimy go wyłączyć:
# svcadm disable -t gdm
Tworzymy plik xorg.conf:
/usr/X11/bin/Xorg -configure
Musimy go przenieść do /etc/X11/xorg.conf
W sekcji klawiatury dopisujemy:
Option "XkbLayout" "pl_dev"
Sekcja może wyglądać tak:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "pl_dev"
EndSection
Na końcu uruchamiamy GDM lub cde-login:
# svcadm enable gdm
Klawiatura powinna działać poprawnie.
Jak ustawić polską klawiaturę w Solaris/OpenSolaris.
Czyli jak ustawić układ polski programisty, aby np "z" było "z", a nie "y"...
Należe wyedytować plik /etc/X11/xorg.conf, który domyślnie nie jest tworzony.
W tym celu należy wyłączyć GDM lub cde-login (w zależności od wersji systemu).
Aby zobaczyć jaka usługa jest włączona:
# svcs gdm cde-login
Zakładająć, że używamy GDM, musimy go wyłączyć:
# svcadm disable -t gdm
Tworzymy plik xorg.conf:
/usr/X11/bin/Xorg -configure
Musimy go przenieść do /etc/X11/xorg.conf
W sekcji klawiatury dopisujemy:
Option "XkbLayout" "pl_dev"
Sekcja może wyglądać tak:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "pl_dev"
EndSection
Na końcu uruchamiamy GDM lub cde-login:
# svcadm enable gdm
Klawiatura powinna działać poprawnie.
sobota, 7 czerwca 2008
lofi mount
Od buildu 91 nie trzeba używać lofiadm, aby zamontować obraz płyty CD/DVD.
Wystarczy samo mount:
# mount -F hsfs -o ro /mnt/new/sxce90.iso /mnt/x
# ls /mnt/x/
autorun.inf JDS-THIRDPARTYLICENSEREADME
autorun.sh License
boot README.txt
Copyright sddtool
DeveloperTools Solaris_11
installer Sun_HPC_ClusterTools
#
# mount | grep /mnt/x
/mnt/x on /mnt/new/sxce90.iso read only/nosetuid/nodevices/noglobal/maplcase/rr/traildot/dev=2400001 on So cz 7 09:17:28 2008
Wystarczy samo mount:
# mount -F hsfs -o ro /mnt/new/sxce90.iso /mnt/x
# ls /mnt/x/
autorun.inf JDS-THIRDPARTYLICENSEREADME
autorun.sh License
boot README.txt
Copyright sddtool
DeveloperTools Solaris_11
installer Sun_HPC_ClusterTools
#
# mount | grep /mnt/x
/mnt/x on /mnt/new/sxce90.iso read only/nosetuid/nodevices/noglobal/maplcase/rr/traildot/dev=2400001 on So cz 7 09:17:28 2008
czwartek, 5 czerwca 2008
Live Upgrade w 25 sekund!
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes no no yes -
be_zfs_b90 yes yes yes no -
# lucreate -n be_zfs_test
Checking GRUB menu...
System has findroot enabled GRUB
Analyzing system configuration.
Comparing source boot environment file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
Creating configuration for boot environment.
Source boot environment is.
Creating boot environment.
Cloning file systems from boot environment to create boot environment .
Creating snapshot for on .
Creating clone for on .
Setting canmount=noauto for > in zone on .
No entry for BE in GRUB menu
Population of boot environment successful.
Creation of boot environment successful.
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes no no yes -
be_zfs_b90 yes yes yes no -
be_zfs_test yes no no yes -
# time lucreate -n be_zfs_bfu
Checking GRUB menu...
System has findroot enabled GRUB
Analyzing system configuration.
Comparing source boot environment file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
Creating configuration for boot environment.
Source boot environment is.
Creating boot environment.
Cloning file systems from boot environment to create boot environment .
Creating snapshot for on .
Creating clone for on .
Setting canmount=noauto for > in zone on .
No entry for BE in GRUB menu
Population of boot environment successful.
Creation of boot environment successful.
real 0m25.099s
user 0m3.195s
sys 0m4.602s
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes no no yes -
be_zfs_b90 yes yes yes no -
# lucreate -n be_zfs_test
Checking GRUB menu...
System has findroot enabled GRUB
Analyzing system configuration.
Comparing source boot environment
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
Creating configuration for boot environment
Source boot environment is
Creating boot environment
Cloning file systems from boot environment
Creating snapshot for
Creating clone for
Setting canmount=noauto for > in zone
No entry for BE
Population of boot environment
Creation of boot environment
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes no no yes -
be_zfs_b90 yes yes yes no -
be_zfs_test yes no no yes -
# time lucreate -n be_zfs_bfu
Checking GRUB menu...
System has findroot enabled GRUB
Analyzing system configuration.
Comparing source boot environment
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
Creating configuration for boot environment
Source boot environment is
Creating boot environment
Cloning file systems from boot environment
Creating snapshot for
Creating clone for
Setting canmount=noauto for > in zone
No entry for BE
Population of boot environment
Creation of boot environment
real 0m25.099s
user 0m3.195s
sys 0m4.602s
Live Upgrade, BUGi i ZFS
W Solaris Express Comminity Edition b90 (SXCE90) doszła
obsługa głównego systemu plików jako ZFS.
Co ciekawe oprócz instalatora (próbowałem tylko tekstowego) obsługę /
jako ZFS mają również narzędzia od Live Upgrade.
Dodatkowo można zmigrować obecny system zainstalowany na UFS
na dodatkową pulę ZFS.
Wszystko ładnie i pięknie, ale jest niestety BUG (6707013), który utrudnia życie...
Na potrzeby testów usunąłem jedno środowisko uruchomieniowe,
w jego miejsce zrobiłem nową pulę ZFS:
# zpool create rpool c0d0s4
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c0d0s4 contains a ufs filesystem.
# zpool create -f rpool c0d0s4
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
data 23,2G 4,78G 18,5G 20% ONLINE -
rpool 11,7G 95,5K 11,7G 0% ONLINE -
Tworzymy nowe środowisko uruchomieniowe na nowej puli ZFS:
# lucreate -n be_zfs_b90 -p rpool
Checking GRUB menu...
This system contains only a single GRUB menu for all boot environments. To
enhance reliability and improve the user experience, live upgrade requires
you to run a one time conversion script to migrate the system to multiple
redundant GRUB menus. This is a one time procedure and you will not be
required to run this script on subsequent invocations of Live Upgrade
commands. To run this script invoke:
/usr/lib/lu/lux86menu_propagate /path/to/new/Solaris/install/image
where /path/to/new/Solaris/install/image is an absolute
path to the Solaris media or netinstall image from which you installed the
Live Upgrade packages.
System musi zaktualizować /boot/grub/menu.lst ...
W tym celu montujemy płytkę z SXCE90:
# lofiadm -a /mnt/new/sxce90.iso
/dev/lofi/1
# mount -F hsfs -o ro /dev/lofi/1 /mnt/x/
Nie wiem dlaczego, ale musiałem usunąć inne BE, aby Live Upgrade zadziałało...
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes yes yes no -
be1_snv89 yes no no yes -
# ludelete -n be1_snv89
This system contains only a single GRUB menu for all boot environments. To
enhance reliability and improve the user experience, live upgrade requires
you to run a one time conversion script to migrate the system to multiple
redundant GRUB menus. This is a one time procedure and you will not be
required to run this script on subsequent invocations of Live Upgrade
commands. To run this script invoke:
/usr/lib/lu/lux86menu_propagate /path/to/new/Solaris/install/image
where /path/to/new/Solaris/install/image is an absolute
path to the Solaris media or netinstall image from which you installed the
Live Upgrade packages.
Unable to delete boot environment.
Usunąłem je ręcznie:
# vi /etc/lutab
# cat /etc/lutab
# DO NOT EDIT THIS FILE BY HAND. This file is not a public interface.
# The format and contents of this file are subject to change.
# Any user modification to this file may result in the incorrect
# operation of Live Upgrade.
1:be0_snv90:C:0
1:/:/dev/dsk/c0d0s0:1
1:boot-device:/dev/dsk/c0d0s0:2
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes yes yes no -
Kontynuujemy migrację wpisów bootloadera:
# /usr/lib/lu/lux86menu_propagate /mnt/x/
Validating the contents of the media .
The media is a standard Solaris media.
The media contains a Solaris operating system image.
The media contains version <11>.
Installing latest Live Upgrade packages from media
Updating Live Upgrade packages on all BEs
Successfully updated Live Upgrade packages on all BEs
Successfully extracted GRUB from media
Extracted GRUB menu from GRUB slice
Installing GRUB bootloader to all GRUB based BEs
stage1 written to partition 1 sector 0 (abs 29398950)
stage2 written to partition 1, 264 sectors starting at 50 (abs 29399000)
System does not have an applicable x86 boot partition
install GRUB to all BEs successful
Converting root entries to findroot
Generated boot signature for BE
Converting GRUB menu entry for BE
Added findroot entry for BE to GRUB menu
No more bootadm entries. Deletion of bootadm entries is complete.
Changing GRUB menu default setting to <8>
Done eliding bootadm entries.
No x86 boot partition
File propagation successful
Menu propagation successful
No x86 boot partition
File deletion successful
Successfully deleted GRUB_slice file
No x86 boot partition
File deletion successful
Successfully deleted GRUB_root file
Propagating findroot GRUB for menu conversion.
No x86 boot partition
File propagation successful
No x86 boot partition
File propagation successful
No x86 boot partition
File propagation successful
Deleting stale GRUB loader from all BEs.
No x86 boot partition
File deletion successful
No x86 boot partition
File deletion successful
No x86 boot partition
File deletion successful
Conversion was successful
Tworzymy nowe środowisko na ZFS, pulę podajemy po parametrze "-p":
# lucreate -n be_zfs_b90 -p rpool
Checking GRUB menu...
System has findroot enabled GRUB
Analyzing system configuration.
Comparing source boot environment file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
The device is not a root device for any boot environment; cannot get BE ID.
Creating configuration for boot environment.
Source boot environment is.
Creating boot environment.
Creating file systems on boot environment.
Creating file system for in zone on .
Populating file systems on boot environment.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point .
Copying.
[...]
{na innej konsoli:
> df -h | egrep 'c0d0|rpool'
/dev/dsk/c0d0s0 12G 6,4G 5,0G 57% /
rpool 12G 19K 3,3G 1% /rpool
rpool/ROOT 12G 18K 3,3G 1% /rpool/ROOT
rpool/ROOT/be_zfs_b90 12G 6,3G 3,3G 66% /.alt.tmp.b-Wzb.mnt
}
[...]
Creating shared file system mount points.
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Creating compare databases for boot environment.
Creating compare database for file system .
Updating compare databases on boot environment.
Making boot environment bootable.
Updating bootenv.rc on ABE.
ERROR: File not found in top level dataset for BE
ERROR: Failed to copy file from top level dataset to BE
ERROR: Unable to delete GRUB menu entry for boot environment.
ERROR: Cannot make file systems for boot environment.
No i zaczyna się :) Nie mam zarówno czasu, ani chęci szukać co poszło nie tak,
jednak szybko patrząc w core widzę, że jakiś system plików był już zamontowany.
System na ZFS się nie uruchomi, trzeba zrobić jeszcze małą sztuczkę ...
# zfs set mountpoint=legacy rpool/ROOT/be_zfs_b90
# cd /etc/lu
(powinienem mieć ICF.2, jednek LU go nie utworzył...)
# cp ICF.1 ICF.2
# vi ICF.2
# cat ICF.2
be_zfs_b90:-:/dev/dsk/c0d0s1:swap:2104515
be_zfs_b90:/:rpool/ROOT/be_zfs_b90:zfs:0
# lumount -n be_zfs_b90
/.alt.be_zfs_b90
# luumount -n be_zfs_b90
# luactivate -n be_zfs_b90
System has findroot enabled GRUB
Generating boot-sign, partition and slice information for PBE
Generating boot-sign for ABE
ERROR: File not found in top level dataset for BE
Generating partition and slice information for ABE
Boot menu exists.
Generating direct boot menu entries for PBE.
Generating xVM menu entries for PBE.
Generating direct boot menu entries for ABE.
Generating xVM menu entries for ABE.
No more bootadm entries. Deletion of bootadm entries is complete.
GRUB menu default setting is unaffected
Done eliding bootadm entries.
**********************************************************************
The target boot environment has been activated. It will be used when you
reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You
MUST USE either the init or the shutdown command when you reboot. If you
do not use either init or shutdown, the system will not boot using the
target BE.
**********************************************************************
In case of a failure while booting to the target BE, the following process
needs to be followed to fallback to the currently working boot environment:
1. Boot from Solaris failsafe or boot in single user mode from the Solaris
Install CD or Network.
2. Mount the Parent boot environment root slice to some directory (like
/mnt). You can use the following command to mount:
mount -Fufs /dev/dsk/c0d0s0 /mnt
3. Run utility with out any arguments from the Parent boot
environment root slice, as shown below:
/mnt/sbin/luactivate
4. luactivate, activates the previous working boot environment and
indicates the result.
5. Exit Single User mode and reboot the machine.
**********************************************************************
Modifying boot archive service
Activation of boot environment successful.
# cat /etc/bootsign
BE_be0_snv90
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes yes no no -
be_zfs_b90 yes no yes no -
# lumount -n be_zfs_b90
/.alt.be_zfs_b90
# cat /.alt.be_zfs_b90/etc/bootsign
cat: cannot open /.alt.be_zfs_b90/etc/bootsign: No such file or directory
# echo "be_zfs_b90" > /.alt.be_zfs_b90/etc/bootsign
# cat /.alt.be_zfs_b90/etc/bootsign
be_zfs_b90
# luumount -n be_zfs_b90
W zasadzie, to chyba wszystko, po 'init 6' pojawi się nowe menu w GRUBie.
# init 6
[...]
# uname -srv
SunOS 5.11 snv_90
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes no no yes -
be_zfs_b90 yes yes yes no -
# df -h | head -2
Filesystem size used avail capacity Mounted on
rpool/ROOT/be_zfs_b90 12G 6,7G 2,8G 71% /
# swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 182,2 8 2105336 2105336
#
obsługa głównego systemu plików jako ZFS.
Co ciekawe oprócz instalatora (próbowałem tylko tekstowego) obsługę /
jako ZFS mają również narzędzia od Live Upgrade.
Dodatkowo można zmigrować obecny system zainstalowany na UFS
na dodatkową pulę ZFS.
Wszystko ładnie i pięknie, ale jest niestety BUG (6707013), który utrudnia życie...
Na potrzeby testów usunąłem jedno środowisko uruchomieniowe,
w jego miejsce zrobiłem nową pulę ZFS:
# zpool create rpool c0d0s4
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c0d0s4 contains a ufs filesystem.
# zpool create -f rpool c0d0s4
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
data 23,2G 4,78G 18,5G 20% ONLINE -
rpool 11,7G 95,5K 11,7G 0% ONLINE -
Tworzymy nowe środowisko uruchomieniowe na nowej puli ZFS:
# lucreate -n be_zfs_b90 -p rpool
Checking GRUB menu...
This system contains only a single GRUB menu for all boot environments. To
enhance reliability and improve the user experience, live upgrade requires
you to run a one time conversion script to migrate the system to multiple
redundant GRUB menus. This is a one time procedure and you will not be
required to run this script on subsequent invocations of Live Upgrade
commands. To run this script invoke:
/usr/lib/lu/lux86menu_propagate /path/to/new/Solaris/install/image
where /path/to/new/Solaris/install/image is an absolute
path to the Solaris media or netinstall image from which you installed the
Live Upgrade packages.
System musi zaktualizować /boot/grub/menu.lst ...
W tym celu montujemy płytkę z SXCE90:
# lofiadm -a /mnt/new/sxce90.iso
/dev/lofi/1
# mount -F hsfs -o ro /dev/lofi/1 /mnt/x/
Nie wiem dlaczego, ale musiałem usunąć inne BE, aby Live Upgrade zadziałało...
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes yes yes no -
be1_snv89 yes no no yes -
# ludelete -n be1_snv89
This system contains only a single GRUB menu for all boot environments. To
enhance reliability and improve the user experience, live upgrade requires
you to run a one time conversion script to migrate the system to multiple
redundant GRUB menus. This is a one time procedure and you will not be
required to run this script on subsequent invocations of Live Upgrade
commands. To run this script invoke:
/usr/lib/lu/lux86menu_propagate /path/to/new/Solaris/install/image
where /path/to/new/Solaris/install/image is an absolute
path to the Solaris media or netinstall image from which you installed the
Live Upgrade packages.
Unable to delete boot environment.
Usunąłem je ręcznie:
# vi /etc/lutab
# cat /etc/lutab
# DO NOT EDIT THIS FILE BY HAND. This file is not a public interface.
# The format and contents of this file are subject to change.
# Any user modification to this file may result in the incorrect
# operation of Live Upgrade.
1:be0_snv90:C:0
1:/:/dev/dsk/c0d0s0:1
1:boot-device:/dev/dsk/c0d0s0:2
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes yes yes no -
Kontynuujemy migrację wpisów bootloadera:
# /usr/lib/lu/lux86menu_propagate /mnt/x/
Validating the contents of the media .
The media is a standard Solaris media.
The media contains a Solaris operating system image.
The media contains
Installing latest Live Upgrade packages from media
Updating Live Upgrade packages on all BEs
Successfully updated Live Upgrade packages on all BEs
Successfully extracted GRUB from media
Extracted GRUB menu from GRUB slice
Installing GRUB bootloader to all GRUB based BEs
stage1 written to partition 1 sector 0 (abs 29398950)
stage2 written to partition 1, 264 sectors starting at 50 (abs 29399000)
System does not have an applicable x86 boot partition
install GRUB to all BEs successful
Converting root entries to findroot
Generated boot signature
Converting GRUB menu entry for BE
Added findroot entry for BE
No more bootadm entries. Deletion of bootadm entries is complete.
Changing GRUB menu default setting to <8>
Done eliding bootadm entries.
No x86 boot partition
File
Menu propagation successful
No x86 boot partition
File
Successfully deleted GRUB_slice file
No x86 boot partition
File
Successfully deleted GRUB_root file
Propagating findroot GRUB for menu conversion.
No x86 boot partition
File
No x86 boot partition
File
No x86 boot partition
File propagation successful
Deleting stale GRUB loader from all BEs.
No x86 boot partition
File deletion successful
No x86 boot partition
File deletion successful
No x86 boot partition
File deletion successful
Conversion was successful
Tworzymy nowe środowisko na ZFS, pulę podajemy po parametrze "-p":
# lucreate -n be_zfs_b90 -p rpool
Checking GRUB menu...
System has findroot enabled GRUB
Analyzing system configuration.
Comparing source boot environment
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Updating system configuration files.
The device
Creating configuration for boot environment
Source boot environment is
Creating boot environment
Creating file systems on boot environment
Creating
Populating file systems on boot environment
Checking selection integrity.
Integrity check OK.
Populating contents of mount point
Copying.
[...]
{na innej konsoli:
> df -h | egrep 'c0d0|rpool'
/dev/dsk/c0d0s0 12G 6,4G 5,0G 57% /
rpool 12G 19K 3,3G 1% /rpool
rpool/ROOT 12G 18K 3,3G 1% /rpool/ROOT
rpool/ROOT/be_zfs_b90 12G 6,3G 3,3G 66% /.alt.tmp.b-Wzb.mnt
}
[...]
Creating shared file system mount points.
Segmentation Fault - core dumped
Segmentation Fault - core dumped
Creating compare databases for boot environment
Creating compare database for file system
Updating compare databases on boot environment
Making boot environment
Updating bootenv.rc on ABE
ERROR: File
ERROR: Failed to copy file
ERROR: Unable to delete GRUB menu entry for boot environment
ERROR: Cannot make file systems for boot environment
No i zaczyna się :) Nie mam zarówno czasu, ani chęci szukać co poszło nie tak,
jednak szybko patrząc w core widzę, że jakiś system plików był już zamontowany.
System na ZFS się nie uruchomi, trzeba zrobić jeszcze małą sztuczkę ...
# zfs set mountpoint=legacy rpool/ROOT/be_zfs_b90
# cd /etc/lu
(powinienem mieć ICF.2, jednek LU go nie utworzył...)
# cp ICF.1 ICF.2
# vi ICF.2
# cat ICF.2
be_zfs_b90:-:/dev/dsk/c0d0s1:swap:2104515
be_zfs_b90:/:rpool/ROOT/be_zfs_b90:zfs:0
# lumount -n be_zfs_b90
/.alt.be_zfs_b90
# luumount -n be_zfs_b90
# luactivate -n be_zfs_b90
System has findroot enabled GRUB
Generating boot-sign, partition and slice information for PBE
Generating boot-sign for ABE
ERROR: File
Generating partition and slice information for ABE
Boot menu exists.
Generating direct boot menu entries for PBE.
Generating xVM menu entries for PBE.
Generating direct boot menu entries for ABE.
Generating xVM menu entries for ABE.
No more bootadm entries. Deletion of bootadm entries is complete.
GRUB menu default setting is unaffected
Done eliding bootadm entries.
**********************************************************************
The target boot environment has been activated. It will be used when you
reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You
MUST USE either the init or the shutdown command when you reboot. If you
do not use either init or shutdown, the system will not boot using the
target BE.
**********************************************************************
In case of a failure while booting to the target BE, the following process
needs to be followed to fallback to the currently working boot environment:
1. Boot from Solaris failsafe or boot in single user mode from the Solaris
Install CD or Network.
2. Mount the Parent boot environment root slice to some directory (like
/mnt). You can use the following command to mount:
mount -Fufs /dev/dsk/c0d0s0 /mnt
3. Run
environment root slice, as shown below:
/mnt/sbin/luactivate
4. luactivate, activates the previous working boot environment and
indicates the result.
5. Exit Single User mode and reboot the machine.
**********************************************************************
Modifying boot archive service
Activation of boot environment
# cat /etc/bootsign
BE_be0_snv90
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes yes no no -
be_zfs_b90 yes no yes no -
# lumount -n be_zfs_b90
/.alt.be_zfs_b90
# cat /.alt.be_zfs_b90/etc/bootsign
cat: cannot open /.alt.be_zfs_b90/etc/bootsign: No such file or directory
# echo "be_zfs_b90" > /.alt.be_zfs_b90/etc/bootsign
# cat /.alt.be_zfs_b90/etc/bootsign
be_zfs_b90
# luumount -n be_zfs_b90
W zasadzie, to chyba wszystko, po 'init 6' pojawi się nowe menu w GRUBie.
# init 6
[...]
# uname -srv
SunOS 5.11 snv_90
# lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
-------------------------- -------- ------ --------- ------ ----------
be0_snv90 yes no no yes -
be_zfs_b90 yes yes yes no -
# df -h | head -2
Filesystem size used avail capacity Mounted on
rpool/ROOT/be_zfs_b90 12G 6,7G 2,8G 71% /
# swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 182,2 8 2105336 2105336
#
wtorek, 3 czerwca 2008
pbackup na Solarisie
Kiedyś napisałem programik w /bin/sh do tworzenia kopii plików, katalogów oraz surowych partycji.
Jako mały trening przeportowałem go na Solaris, jednak nie próbowałem go jeszcze uruchamiać na innych systemach, więc mogą i pewnie są jeszcze gdzieś BUGi.
Podam mały przykład jak zrobić kopię pliku (to może być również dysk, partycja, itp).
pbackup w trybie 'RAW' tnie plik źródłowy na 100MB kawałki, kompresuje je, robi sumy kontrolne i zapisuje informacje do logów.
Zrobimy kopię pliku 'source.raw', zamiast pliku to może być partycja lub cały dysk.
-bash-3.2$ ls -lh
total 66
-rw-r--r-- 1 pbackup-usr other 1,0K cz 3 20:30 local.cshrc
-rw-r--r-- 1 pbackup-usr other 1002 cz 3 20:30 local.login
-rw-r--r-- 1 pbackup-usr other 1019 cz 3 20:30 local.profile
-rwxr-xr-x 1 pbackup-usr root 23K cz 3 22:58 pbackup
-rwxr-xr-x 1 pbackup-usr root 1,5K cz 3 20:30 pbackup_cut
-rwxr-xr-x 1 pbackup-usr root 1,7K cz 3 23:12 pbackup_raw_restore
-rwxr-xr-x 1 pbackup-usr other 23K cz 3 22:29 pbackup_v3.4
-rw------- 1 pbackup-usr other 400M cz 3 22:44 source.raw
-bash-3.2$ ./pbackup -r -M -c /export/home/pbackup-usr/my_backup -T /export/home/pbackup-usr/source.raw
pbackup version current
new backup directory: /export/home/pbackup-usr/my_backup/2008_06_03__23-13_52-full
Date of backup: 2008_06_03__23-13_52
##################################################
Use suffix: *.tar.gz
##################################################
Raw partitions:
Using file /export/home/pbackup-usr/my_backup/2008_06_03__23-13_52-full/__tmp_raw
raw_bs=1000000 raw_count=100
*** partition: /export/home/pbackup-usr/source.raw => raw____export___home___pbackup-usr___source.raw
status: 1 - copying, 2 - compressing, 3 - checking
raw____export___home___pbackup-usr___source.raw
skip: 0 file: raw____export___home___pbackup-usr___source.raw.1000 1 2 3 md5 ... ok
skip: 100 file: raw____export___home___pbackup-usr___source.raw.1001 1 2 3 md5 ... ok
skip: 200 file: raw____export___home___pbackup-usr___source.raw.1002 1 2 3 md5 ... ok
skip: 300 file: raw____export___home___pbackup-usr___source.raw.1003 1 2 3 md5 ... ok
skip: 400 file: raw____export___home___pbackup-usr___source.raw.1004 1 2 3 md5 ... ok
Compressing /export/home/pbackup-usr/my_backup/2008_06_03__23-13_52-full/log ... ok
Done
-bash-3.2$
Tak wygląda kopia:
-bash-3.2$ ls -alh my_backup/
total 25
drwxr-x--- 3 pbackup-usr other 3 cz 3 23:13 .
drwx------ 3 pbackup-usr other 13 cz 3 23:13 ..
drwxr-x--- 2 pbackup-usr other 13 cz 3 23:14 2008_06_03__23-13_52-full
-bash-3.2$ ls -alh my_backup/2008_06_03__23-13_52-full/
total 68
-rw-r----- 1 pbackup-usr other 36 cz 3 23:13 __tmp_raw
drwxr-x--- 2 pbackup-usr other 13 cz 3 23:14 .
drwxr-x--- 3 pbackup-usr other 3 cz 3 23:13 ..
-rw-r----- 1 pbackup-usr other 0 cz 3 23:14 .all_done
-rw-r----- 1 pbackup-usr other 9 cz 3 23:13 date
-rw-r----- 1 pbackup-usr other 371 cz 3 23:14 log.gz
-rw-r----- 1 pbackup-usr other 372 cz 3 23:14 log~.gz
-rw-r----- 1 pbackup-usr other 95K cz 3 23:13 raw____export___home___pbackup-usr___source.raw.1000.gz
-rw-r----- 1 pbackup-usr other 95K cz 3 23:13 raw____export___home___pbackup-usr___source.raw.1001.gz
-rw-r----- 1 pbackup-usr other 95K cz 3 23:14 raw____export___home___pbackup-usr___source.raw.1002.gz
-rw-r----- 1 pbackup-usr other 95K cz 3 23:14 raw____export___home___pbackup-usr___source.raw.1003.gz
-rw-r----- 1 pbackup-usr other 18K cz 3 23:14 raw____export___home___pbackup-usr___source.raw.1004.gz
-rw-r----- 1 pbackup-usr other 450 cz 3 23:14 raw.md5
-bash-3.2$
Teraz przywrócimy kopię w inne miejsce.
Na początku pbackup sprawdza sumy kontrolne kopii, dopiero potem przywraca dane:
-bash-3.2$ ./pbackup_raw_restore my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw my_restored
pbackup_raw_restore version 0.3
source=my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw
destination=my_restored
Checking source:
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1000.gz ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1001.gz ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1002.gz ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1003.gz ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1004.gz ... ok
DD_RAW_BS=1000000 DD_RAW_COUNT=100
Restoring my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.* to my_restored ...
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1000.gz seek: 0 ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1001.gz seek: 100 ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1002.gz seek: 200 ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1003.gz seek: 300 ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1004.gz seek: 400 ... ok
ok
-bash-3.2$ ls -lh
total 70
-rw-r--r-- 1 pbackup-usr other 1,0K cz 3 20:30 local.cshrc
-rw-r--r-- 1 pbackup-usr other 1002 cz 3 20:30 local.login
-rw-r--r-- 1 pbackup-usr other 1019 cz 3 20:30 local.profile
drwxr-x--- 3 pbackup-usr other 3 cz 3 23:13 my_backup
-rw-r--r-- 1 pbackup-usr other 400M cz 3 23:18 my_restored
-rwxr-xr-x 1 pbackup-usr root 23K cz 3 22:58 pbackup
-rwxr-xr-x 1 pbackup-usr root 1,5K cz 3 20:30 pbackup_cut
-rwxr-xr-x 1 pbackup-usr root 1,7K cz 3 23:12 pbackup_raw_restore
-rwxr-xr-x 1 pbackup-usr other 23K cz 3 22:29 pbackup_v3.4
-rw------- 1 pbackup-usr other 400M cz 3 22:44 source.raw
-bash-3.2$
Pliki są identyczne:
-bash-3.2$ cmp source.raw my_restored
-bash-3.2$
Pbackup wyświetla ustawione zmienne:
-bash-3.2$ ./pbackup -H
pbackup version current
Variables:
DIR_NEW_BACKUP=2008_06_03__23-19_24
DIR_BACKUP=/home/BACKUP
DIR_BR=
DIR_RAW=
DIR_DIRS=
FILE_MD5=md5
FILE_LOG=log
FILE_DIRS=/export/home/pbackup-usr/.pbackup_dirs
FILE_DIRS_EXCLUDE=/export/home/pbackup-usr/.pbackup_dirs_exclude
FILE_BR=/export/home/pbackup-usr/.pbackup_br
FILE_RAW=/export/home/pbackup-usr/.pbackup_raw
FILE_BACKUP_TYPE=dirs_type
FILE_TMP_LOG=__tmp_log
FILE_TMP_DIRS=__tmp_dirs
FILE_TMP_DIRS_EXCLUDE=__tmp_dirs_exclude
FILE_TMP_BR=__tmp_br
FILE_TMP_RAW=__tmp_raw
DEBUG=NO
VERBOSE=NO
BACKUP_DIRS=YES
BACKUP_BR=NO
BACKUP_RAW=NO
USE_BZIP2=NO
USE_DIRS_EXCLUDE=NO
SHOW_DIRS_EXCLUDE=YES
SHOW_FIND_LAST=YES
DD_BR_BS=1000
DD_BR_COUNT=64
DD_RAW_BS=1000000
DD_RAW_COUNT=100
UMASK=0027
INCR_LAST=NO
INCR_NEWER=NO
-bash-3.2$
Oraz wszystkie dostępne parametry:
-bash-3.2$ ./pbackup -h
pbackup version current
Usage: ./pbackup [OPTIONS]
OPTIONS:
-a backup type = full
-b use bzip2
-B use gzip
-c /my_backup set DIR_BACKUP
-C new_backup set DIR_NEW_BACKUP
-d my_file_dirs.txt set FILE_DIRS
-D "~/bin /opt" list of directories
-e dirs_exclude.txt path to FILE_DIRS_EXCLUDE
-E "*.old" exclude from backup
-g DEBUG=YES
-G DEBUG=NO
-h show help
-H show variables
-m BACKUP_DIRS=YES
-M BACKUP_DIRS=NO
-n 20050720 incremental, newer than 2005-07-20
-N 5 incremental, last 5 days
With this option, exclude file doesn't work!!!
-p br.txt path to FILE_BR
-P "/dev/hda /dev/hdb" list of boot records
-q quiet
-r BACKUP_RAW=YES
-R BACKUP_RAW=NO
-s BACKUP_BR=YES
-S BACKUP_BR=NO
-t my_partitions.txt path to FILE_RAW
-T "/dev/hda4 /dev/hdb2" list of partitions
-v verbose
-V show version
-x USE_DIRS_EXCLUDE=YES
-X USE_DIRS_EXCLUDE=NO
-y SHOW_DIRS_EXCLUDE=YES
-Y SHOW_DIRS_EXCLUDE=NO
-z SHOW_FIND_LAST=YES
-Z SHOW_FIND_LAST=NO
license: CDDL
author: Piotr Jasiukajtis / estibi
-bash-3.2$
Jako mały trening przeportowałem go na Solaris, jednak nie próbowałem go jeszcze uruchamiać na innych systemach, więc mogą i pewnie są jeszcze gdzieś BUGi.
Podam mały przykład jak zrobić kopię pliku (to może być również dysk, partycja, itp).
pbackup w trybie 'RAW' tnie plik źródłowy na 100MB kawałki, kompresuje je, robi sumy kontrolne i zapisuje informacje do logów.
Zrobimy kopię pliku 'source.raw', zamiast pliku to może być partycja lub cały dysk.
-bash-3.2$ ls -lh
total 66
-rw-r--r-- 1 pbackup-usr other 1,0K cz 3 20:30 local.cshrc
-rw-r--r-- 1 pbackup-usr other 1002 cz 3 20:30 local.login
-rw-r--r-- 1 pbackup-usr other 1019 cz 3 20:30 local.profile
-rwxr-xr-x 1 pbackup-usr root 23K cz 3 22:58 pbackup
-rwxr-xr-x 1 pbackup-usr root 1,5K cz 3 20:30 pbackup_cut
-rwxr-xr-x 1 pbackup-usr root 1,7K cz 3 23:12 pbackup_raw_restore
-rwxr-xr-x 1 pbackup-usr other 23K cz 3 22:29 pbackup_v3.4
-rw------- 1 pbackup-usr other 400M cz 3 22:44 source.raw
-bash-3.2$ ./pbackup -r -M -c /export/home/pbackup-usr/my_backup -T /export/home/pbackup-usr/source.raw
pbackup version current
new backup directory: /export/home/pbackup-usr/my_backup/2008_06_03__23-13_52-full
Date of backup: 2008_06_03__23-13_52
##################################################
Use suffix: *.tar.gz
##################################################
Raw partitions:
Using file /export/home/pbackup-usr/my_backup/2008_06_03__23-13_52-full/__tmp_raw
raw_bs=1000000 raw_count=100
*** partition: /export/home/pbackup-usr/source.raw => raw____export___home___pbackup-usr___source.raw
status: 1 - copying, 2 - compressing, 3 - checking
raw____export___home___pbackup-usr___source.raw
skip: 0 file: raw____export___home___pbackup-usr___source.raw.1000 1 2 3 md5 ... ok
skip: 100 file: raw____export___home___pbackup-usr___source.raw.1001 1 2 3 md5 ... ok
skip: 200 file: raw____export___home___pbackup-usr___source.raw.1002 1 2 3 md5 ... ok
skip: 300 file: raw____export___home___pbackup-usr___source.raw.1003 1 2 3 md5 ... ok
skip: 400 file: raw____export___home___pbackup-usr___source.raw.1004 1 2 3 md5 ... ok
Compressing /export/home/pbackup-usr/my_backup/2008_06_03__23-13_52-full/log ... ok
Done
-bash-3.2$
Tak wygląda kopia:
-bash-3.2$ ls -alh my_backup/
total 25
drwxr-x--- 3 pbackup-usr other 3 cz 3 23:13 .
drwx------ 3 pbackup-usr other 13 cz 3 23:13 ..
drwxr-x--- 2 pbackup-usr other 13 cz 3 23:14 2008_06_03__23-13_52-full
-bash-3.2$ ls -alh my_backup/2008_06_03__23-13_52-full/
total 68
-rw-r----- 1 pbackup-usr other 36 cz 3 23:13 __tmp_raw
drwxr-x--- 2 pbackup-usr other 13 cz 3 23:14 .
drwxr-x--- 3 pbackup-usr other 3 cz 3 23:13 ..
-rw-r----- 1 pbackup-usr other 0 cz 3 23:14 .all_done
-rw-r----- 1 pbackup-usr other 9 cz 3 23:13 date
-rw-r----- 1 pbackup-usr other 371 cz 3 23:14 log.gz
-rw-r----- 1 pbackup-usr other 372 cz 3 23:14 log~.gz
-rw-r----- 1 pbackup-usr other 95K cz 3 23:13 raw____export___home___pbackup-usr___source.raw.1000.gz
-rw-r----- 1 pbackup-usr other 95K cz 3 23:13 raw____export___home___pbackup-usr___source.raw.1001.gz
-rw-r----- 1 pbackup-usr other 95K cz 3 23:14 raw____export___home___pbackup-usr___source.raw.1002.gz
-rw-r----- 1 pbackup-usr other 95K cz 3 23:14 raw____export___home___pbackup-usr___source.raw.1003.gz
-rw-r----- 1 pbackup-usr other 18K cz 3 23:14 raw____export___home___pbackup-usr___source.raw.1004.gz
-rw-r----- 1 pbackup-usr other 450 cz 3 23:14 raw.md5
-bash-3.2$
Teraz przywrócimy kopię w inne miejsce.
Na początku pbackup sprawdza sumy kontrolne kopii, dopiero potem przywraca dane:
-bash-3.2$ ./pbackup_raw_restore my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw my_restored
pbackup_raw_restore version 0.3
source=my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw
destination=my_restored
Checking source:
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1000.gz ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1001.gz ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1002.gz ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1003.gz ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1004.gz ... ok
DD_RAW_BS=1000000 DD_RAW_COUNT=100
Restoring my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.* to my_restored ...
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1000.gz seek: 0 ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1001.gz seek: 100 ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1002.gz seek: 200 ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1003.gz seek: 300 ... ok
my_backup/2008_06_03__23-13_52-full/raw____export___home___pbackup-usr___source.raw.1004.gz seek: 400 ... ok
ok
-bash-3.2$ ls -lh
total 70
-rw-r--r-- 1 pbackup-usr other 1,0K cz 3 20:30 local.cshrc
-rw-r--r-- 1 pbackup-usr other 1002 cz 3 20:30 local.login
-rw-r--r-- 1 pbackup-usr other 1019 cz 3 20:30 local.profile
drwxr-x--- 3 pbackup-usr other 3 cz 3 23:13 my_backup
-rw-r--r-- 1 pbackup-usr other 400M cz 3 23:18 my_restored
-rwxr-xr-x 1 pbackup-usr root 23K cz 3 22:58 pbackup
-rwxr-xr-x 1 pbackup-usr root 1,5K cz 3 20:30 pbackup_cut
-rwxr-xr-x 1 pbackup-usr root 1,7K cz 3 23:12 pbackup_raw_restore
-rwxr-xr-x 1 pbackup-usr other 23K cz 3 22:29 pbackup_v3.4
-rw------- 1 pbackup-usr other 400M cz 3 22:44 source.raw
-bash-3.2$
Pliki są identyczne:
-bash-3.2$ cmp source.raw my_restored
-bash-3.2$
Pbackup wyświetla ustawione zmienne:
-bash-3.2$ ./pbackup -H
pbackup version current
Variables:
DIR_NEW_BACKUP=2008_06_03__23-19_24
DIR_BACKUP=/home/BACKUP
DIR_BR=
DIR_RAW=
DIR_DIRS=
FILE_MD5=md5
FILE_LOG=log
FILE_DIRS=/export/home/pbackup-usr/.pbackup_dirs
FILE_DIRS_EXCLUDE=/export/home/pbackup-usr/.pbackup_dirs_exclude
FILE_BR=/export/home/pbackup-usr/.pbackup_br
FILE_RAW=/export/home/pbackup-usr/.pbackup_raw
FILE_BACKUP_TYPE=dirs_type
FILE_TMP_LOG=__tmp_log
FILE_TMP_DIRS=__tmp_dirs
FILE_TMP_DIRS_EXCLUDE=__tmp_dirs_exclude
FILE_TMP_BR=__tmp_br
FILE_TMP_RAW=__tmp_raw
DEBUG=NO
VERBOSE=NO
BACKUP_DIRS=YES
BACKUP_BR=NO
BACKUP_RAW=NO
USE_BZIP2=NO
USE_DIRS_EXCLUDE=NO
SHOW_DIRS_EXCLUDE=YES
SHOW_FIND_LAST=YES
DD_BR_BS=1000
DD_BR_COUNT=64
DD_RAW_BS=1000000
DD_RAW_COUNT=100
UMASK=0027
INCR_LAST=NO
INCR_NEWER=NO
-bash-3.2$
Oraz wszystkie dostępne parametry:
-bash-3.2$ ./pbackup -h
pbackup version current
Usage: ./pbackup [OPTIONS]
OPTIONS:
-a backup type = full
-b use bzip2
-B use gzip
-c /my_backup set DIR_BACKUP
-C new_backup set DIR_NEW_BACKUP
-d my_file_dirs.txt set FILE_DIRS
-D "~/bin /opt" list of directories
-e dirs_exclude.txt path to FILE_DIRS_EXCLUDE
-E "*.old" exclude from backup
-g DEBUG=YES
-G DEBUG=NO
-h show help
-H show variables
-m BACKUP_DIRS=YES
-M BACKUP_DIRS=NO
-n 20050720 incremental, newer than 2005-07-20
-N 5 incremental, last 5 days
With this option, exclude file doesn't work!!!
-p br.txt path to FILE_BR
-P "/dev/hda /dev/hdb" list of boot records
-q quiet
-r BACKUP_RAW=YES
-R BACKUP_RAW=NO
-s BACKUP_BR=YES
-S BACKUP_BR=NO
-t my_partitions.txt path to FILE_RAW
-T "/dev/hda4 /dev/hdb2" list of partitions
-v verbose
-V show version
-x USE_DIRS_EXCLUDE=YES
-X USE_DIRS_EXCLUDE=NO
-y SHOW_DIRS_EXCLUDE=YES
-Y SHOW_DIRS_EXCLUDE=NO
-z SHOW_FIND_LAST=YES
-Z SHOW_FIND_LAST=NO
license: CDDL
author: Piotr Jasiukajtis / estibi
-bash-3.2$
Replikacja ZFS za pomocą: est-repl
Jakiś czas temu napisałem proste narzędzie do zdalnej replikacji ZFS między dwoma hostami.
Widzę, że nadal nie ma tego typu narzędzi dostępnych w systemie,
więc postanowiłem wypuścić 'est-repl' na świat :)
est-repl - główne narzędzie, replikuje przyrostowo system plików
est-repl.config - konfiguracja
est-repl_initial - tworzy pełną replikę - nie przyrostową
est-repl_initial_CREATE - tworzy pełną replikę, usuwa zdalny system plików - uruchamiane do inicjacji zdalnego systemu plików
est-repl_initial_RECURSIVELY - tworzy pełną replikę, usuwa zdalny system plików rekurencyjnie!
Konfiguracja jest banalna:
-bash-3.00$ cat est-repl_0.1/est-repl.config
#! /bin/sh
#
# est-rep.config
#
# AUTHOR: Piotr Jasiukajtis / estibi
# VERSION: 0.1
# destination host and user
DEST_HOST="my-remote-host"
DEST_USER="my-remote-user"
# what to replicate
REPL_FS="my/dataset/to/replicate"
#DEBUG="1"
# EOF
Użytkownik na lokalnym jak i zdalnym systemie musi mieć odpowiednie uprawnienia:
-bash-3.00$ grep my-remote-user /etc/user_attr
my-remote-user::::type=normal;profiles=ZFS File System Management
Dodatkowo komunikacja między hostami odbywa się za pomocą kluczy SSH bez hasła!
A sama replikacja wygląda tak:
-bash-3.00$ ./est-repl ./est-repl.config
Using config file: ./est-repl.config
Used filesystem: data/zones_data/mail1_maildirs
NAME USED AVAIL REFER MOUNTPOINT
data/zones_data/mail1_maildirs 231M 4.77G 49.4M /zones_data/mail1_maildirs
Checking remote snapshots ...
Trying Latest remote snapshot: data/zones_data/mail1_maildirs@backup_080603_18-35-28
data/zones_data/mail1_maildirs@backup_080603_18-35-28
Restoring remote data/zones_data/mail1_maildirs ...
Latest remote snapshot: data/zones_data/mail1_maildirs@backup_080603_18-35-28
Creating snapshot ...
Creating incremental snapshot ...
Sending snapshot to host remote-host ...
inc_snap_080603_18-5 100% |*********************************************************************************************************************************| 2888 KB 00:00
Receiving snapshot ...
receiving incremental stream of data/zones_data/mail1_maildirs@backup_080603_18-55-47 into data/zones_data/mail1_maildirs@backup_080603_18-55-47
received 2.82Mb stream in 2 seconds (1.41Mb/sec)
Deleting temporary files ...
OK, done
Można go dodać to do crona, aby replikował system plików co np 5 minut:
5 * * * * /usr/est-repl /config.repl
To jest wstępna wersja, jest wiele niedociągnięć itp.
Proszę używać go na własną odpowiedzialność.
Widzę, że nadal nie ma tego typu narzędzi dostępnych w systemie,
więc postanowiłem wypuścić 'est-repl' na świat :)
est-repl - główne narzędzie, replikuje przyrostowo system plików
est-repl.config - konfiguracja
est-repl_initial - tworzy pełną replikę - nie przyrostową
est-repl_initial_CREATE - tworzy pełną replikę, usuwa zdalny system plików - uruchamiane do inicjacji zdalnego systemu plików
est-repl_initial_RECURSIVELY - tworzy pełną replikę, usuwa zdalny system plików rekurencyjnie!
Konfiguracja jest banalna:
-bash-3.00$ cat est-repl_0.1/est-repl.config
#! /bin/sh
#
# est-rep.config
#
# AUTHOR: Piotr Jasiukajtis / estibi
# VERSION: 0.1
# destination host and user
DEST_HOST="my-remote-host"
DEST_USER="my-remote-user"
# what to replicate
REPL_FS="my/dataset/to/replicate"
#DEBUG="1"
# EOF
Użytkownik na lokalnym jak i zdalnym systemie musi mieć odpowiednie uprawnienia:
-bash-3.00$ grep my-remote-user /etc/user_attr
my-remote-user::::type=normal;profiles=ZFS File System Management
Dodatkowo komunikacja między hostami odbywa się za pomocą kluczy SSH bez hasła!
A sama replikacja wygląda tak:
-bash-3.00$ ./est-repl ./est-repl.config
Using config file: ./est-repl.config
Used filesystem: data/zones_data/mail1_maildirs
NAME USED AVAIL REFER MOUNTPOINT
data/zones_data/mail1_maildirs 231M 4.77G 49.4M /zones_data/mail1_maildirs
Checking remote snapshots ...
Trying Latest remote snapshot: data/zones_data/mail1_maildirs@backup_080603_18-35-28
data/zones_data/mail1_maildirs@backup_080603_18-35-28
Restoring remote data/zones_data/mail1_maildirs ...
Latest remote snapshot: data/zones_data/mail1_maildirs@backup_080603_18-35-28
Creating snapshot ...
Creating incremental snapshot ...
Sending snapshot to host remote-host ...
inc_snap_080603_18-5 100% |*********************************************************************************************************************************| 2888 KB 00:00
Receiving snapshot ...
receiving incremental stream of data/zones_data/mail1_maildirs@backup_080603_18-55-47 into data/zones_data/mail1_maildirs@backup_080603_18-55-47
received 2.82Mb stream in 2 seconds (1.41Mb/sec)
Deleting temporary files ...
OK, done
Można go dodać to do crona, aby replikował system plików co np 5 minut:
5 * * * * /usr/est-repl /config.repl
To jest wstępna wersja, jest wiele niedociągnięć itp.
Proszę używać go na własną odpowiedzialność.
piątek, 30 maja 2008
Solaris Cluster otwarty!!!
No i nastąpił ten wielki dzień!
Wczoraj (a właściwie dzisiaj w nocy) otwarto Solaris Cluster Core! :)
http://dlc.sun.com/osol/ohac/downloads/current/
Wczoraj (a właściwie dzisiaj w nocy) otwarto Solaris Cluster Core! :)
http://dlc.sun.com/osol/ohac/downloads/current/
czwartek, 29 maja 2008
Zone update on attach
Wyśmienite!!! :)
Nawet działają wszystkie usługi bez żadnych modyfikacji!
Ta strefa działała na starym SXDE 9/07,
została przeniesiona na SXCE89 (swoją drogą pracujące pod xVM jako domU).
# zoneadm -z ns2 attach -u
Getting the list of files to remove
Removing 515 files
Remove 264 of 264 packages
Installing 2542 files
Add 1216 of 1216 packages
Updating editable files
The file within the zone contains a log of the zone update.
#
Nawet działają wszystkie usługi bez żadnych modyfikacji!
Ta strefa działała na starym SXDE 9/07,
została przeniesiona na SXCE89 (swoją drogą pracujące pod xVM jako domU).
# zoneadm -z ns2 attach -u
Getting the list of files to remove
Removing 515 files
Remove 264 of 264 packages
Installing 2542 files
Add 1216 of 1216 packages
Updating editable files
The file within the zone contains a log of the zone update.
#
sobota, 24 maja 2008
Konfiguracja sieci w OpenSolaris.
Konfiguracja sieci systemu OpenSolaris wygląda podobnie jak w systemie Solaris 10.
W podanym przykładzie konfigurujemy kartę Realtek z następującymi ustawieniami:
konfiguracja statyczna - bez DHCP
interfejs karty sieciowej: rtls0
ip: 10.1.1.125
maska: 255.255.255.0
brama: 10.1.1.1
system nazewniczy: DNS
domena dns: moja.domena
serwer dns: 10.1.1.230
Na początek wyłączamy automatyczną konfigurację NWAM.
# svcadm disable svc:/network/physical:nwam
Uruchamiamy domyślną konfigurację interfejsów sieciowych.
# svcadm enable svc:/network/physical:default
Musimy wiedzieć jakie mamy karty sieciowe w systemie:
# dladm show-dev
LINK STATE SPEED DUPLEX
ath0 unknown 0Mb unknown
rtls0 up 100Mb full
Jeśli 'dladm' nie pokazuje naszej karty sieciowej, może warto zajrzeć na stronę http://homepage2.nifty.com/mrym3/taiyodo/eng/ i pobrać odpowiedni sterownik.
Chcemy skonfigurować kartę Realtek.
Usuwamy obecną konfigurację karty z systemu:
# ifconfig rtls0 unplumb
Włączamy kartę z zerowymi ustawieniami:
# ifconfig rtls0 plumb
Podnosimy interfejs i dajemy mu adres 10.1.1.125 w masce 24bitowej (255.255.255.0):
# ifconfig rtls0 up 10.1.1.125/24
Usuwamy konfigurację rutowania:
# route flush
Konfigurujemy domyślną bramkę w systemie:
# route add default 10.1.1.1
add net default: gateway 10.1.1.1
Konfigurujemy DNS jako domyślny system nazewniczy:
# cp /etc/nsswitch.dns /etc/nsswitch.conf
Upewniamy się, że mamy odpowiednio skonfigurowane DNSy:
# cat /etc/resolv.conf
domain moja.domena
nameserver 10.1.1.230
search moja.domena
W tym momencie powinniśmy mieć działające połączenie sieciowe.
Aby system miał takie ustawienia po restarcie, musimy jeszcze zrobić kilka czynności.
W tym celu upewniamy się, że mamy skonfigurowaną maskę naszej podsieci:
# tail -1 /etc/netmasks
10.1.1.0 255.255.255.0
Powinniśmy ustawić domyślną bramkę:
# cat /etc/defaultrouter
10.1.1.1
Bardzo ważna jest konfiguracja nazwy maszyny:
# cat /etc/nodename
myhost
Nazwa maszyny musi się znajdować w /etc/hosts
# grep myhost /etc/hosts
10.1.1.230 myhost.doja.domena myhost loghost
Aby interfejs rtls0 był skonfigurowany z ustawieniami maszyny 'myhost',
musimy wpisać nazwę 'myhost' do pliku /etc/hostname.rtls0.
Upewniamy się, że to zrobiliśmy:
# cat /etc/hostname.rtls0
myhost
Teraz ustawienia powinny przetrwać restart systemu.
Można również zrobić to restartując usługę svc:/network/physical:default:
# svcadm restart svc:/network/physical:default
W podanym przykładzie konfigurujemy kartę Realtek z następującymi ustawieniami:
konfiguracja statyczna - bez DHCP
interfejs karty sieciowej: rtls0
ip: 10.1.1.125
maska: 255.255.255.0
brama: 10.1.1.1
system nazewniczy: DNS
domena dns: moja.domena
serwer dns: 10.1.1.230
Na początek wyłączamy automatyczną konfigurację NWAM.
# svcadm disable svc:/network/physical:nwam
Uruchamiamy domyślną konfigurację interfejsów sieciowych.
# svcadm enable svc:/network/physical:default
Musimy wiedzieć jakie mamy karty sieciowe w systemie:
# dladm show-dev
LINK STATE SPEED DUPLEX
ath0 unknown 0Mb unknown
rtls0 up 100Mb full
Jeśli 'dladm' nie pokazuje naszej karty sieciowej, może warto zajrzeć na stronę http://homepage2.nifty.com/mrym3/taiyodo/eng/ i pobrać odpowiedni sterownik.
Chcemy skonfigurować kartę Realtek.
Usuwamy obecną konfigurację karty z systemu:
# ifconfig rtls0 unplumb
Włączamy kartę z zerowymi ustawieniami:
# ifconfig rtls0 plumb
Podnosimy interfejs i dajemy mu adres 10.1.1.125 w masce 24bitowej (255.255.255.0):
# ifconfig rtls0 up 10.1.1.125/24
Usuwamy konfigurację rutowania:
# route flush
Konfigurujemy domyślną bramkę w systemie:
# route add default 10.1.1.1
add net default: gateway 10.1.1.1
Konfigurujemy DNS jako domyślny system nazewniczy:
# cp /etc/nsswitch.dns /etc/nsswitch.conf
Upewniamy się, że mamy odpowiednio skonfigurowane DNSy:
# cat /etc/resolv.conf
domain moja.domena
nameserver 10.1.1.230
search moja.domena
W tym momencie powinniśmy mieć działające połączenie sieciowe.
Aby system miał takie ustawienia po restarcie, musimy jeszcze zrobić kilka czynności.
W tym celu upewniamy się, że mamy skonfigurowaną maskę naszej podsieci:
# tail -1 /etc/netmasks
10.1.1.0 255.255.255.0
Powinniśmy ustawić domyślną bramkę:
# cat /etc/defaultrouter
10.1.1.1
Bardzo ważna jest konfiguracja nazwy maszyny:
# cat /etc/nodename
myhost
Nazwa maszyny musi się znajdować w /etc/hosts
# grep myhost /etc/hosts
10.1.1.230 myhost.doja.domena myhost loghost
Aby interfejs rtls0 był skonfigurowany z ustawieniami maszyny 'myhost',
musimy wpisać nazwę 'myhost' do pliku /etc/hostname.rtls0.
Upewniamy się, że to zrobiliśmy:
# cat /etc/hostname.rtls0
myhost
Teraz ustawienia powinny przetrwać restart systemu.
Można również zrobić to restartując usługę svc:/network/physical:default:
# svcadm restart svc:/network/physical:default
sobota, 10 maja 2008
2008.05 i xVM
Instalujemy serwer xVM na OpenSolaris 2008.05 w 32bitach bez akceleracji sprzętowej.
# cat /etc/release
OpenSolaris 2008.05 snv_86_rc3 X86
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 26 April 2008
Tworzymy nowe środowisko uruchomieniowe:
# beadm create os_test
Edytujemy wpisy bootloadera, plik znajduje się tu:
/rpool/boot/grub/menu.lst
Modyfikujemy sekcję aby wyglądała podobnie do tej:
title os_test
bootfs rpool/ROOT/os_test
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive
#============ End of LIBBE entry =============
Instalujemy dodatkowe paczki.
W moim przypadku już wcześniej zainstalowałem xvm, stąd ten komunikat:
# pkg install SUNWxvm
Nothing to install in this image (is this package already installed?)
#pkg info SUNWxvm
Name: SUNWxvm
Summary: Hypervisor Header Files
State: Installed
Authority: opensolaris.org (preferred)
Version: 3.1
Build Release: 5.11
Branch: 0.86
Packaging Date: Sat Apr 26 18:25:06 2008
Size: 11.1 MB
FMRI: pkg:/SUNWxvm@3.1,5.11-0.86:20080426T182506Z
# pkg install SUNWvirtinst
DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 14/14 0.18/0.18
PHASE ACTIONS
Install Phase 24/24
Do prawidłowego działania potrzebujemy jeszcze:
# pkg install SUNWurlgrabber
DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 16/16 0.28/0.28
PHASE ACTIONS
Install Phase 26/26
# pkg install SUNWlibvirt
DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 13/13 2.10/2.10
PHASE ACTIONS
Install Phase 42/42
Uruchamiamy ponownie system i wybieramy środowisko 'os_test' w grubie.
Po uruchomieniu powinniśmy mieć jądro działające na architekturze xen.
Chodzi nam o i86xpv:
# uname -srvmpi
SunOS 5.11 snv_86 i86pc i386 i86xpv
Sprawdzamy, czy usługi xvm są uruchomione, jeśli nie, to musimy je ręcznie uruchomić:
# svcs -a | grep xvm
online 14:37:20 svc:/system/xvm/store:default
online 14:37:26 svc:/system/xvm/xend:default
online 14:37:45 svc:/system/xvm/console:default
online 14:37:49 svc:/system/xvm/domains:default
Zainstalujmy SXCE86 jako system gość :)
Tworzymy dysk dla nowego systemu:
# zfs create rpool/export/xvm
# zfs create rpool/export/xvm/snv86
# zfs create -V 8g rpool/export/xvm/snv86/disk
# ls /dev/zvol/dsk/rpool/export/xvm/snv86/disk
/dev/zvol/dsk/rpool/export/xvm/snv86/disk
Aby zadziałał xVM musimy jeszcze dodać obsługę zdarzeń XEN:
# /usr/sbin/syseventadm list -R / -c EC_xendev
Jeśli to nic nie zwraca, to wpisujemy:
# /usr/sbin/syseventadm add -R / -c EC_xendev /usr/lib/xen/scripts/xpvd-event 'action=$subclass' 'domain=$domain' 'vdev=$vdev' 'device=$device' 'devclass=$devclass' 'febe=$fob'
# /usr/sbin/syseventadm list -R / -c EC_xpvsys
Jeśli to nic nie zwraca, to wpisujemy:
# /usr/sbin/syseventadm add -R / -c EC_xpvsys /usr/lib/xen/scripts/xpvsys-event 'subclass=$subclass' 'shutdown=$shutdown'
Uruchamiamy ponownie usługę:
# /usr/sbin/syseventadm restart
Instalujemy SXCE86 w xVM korzystając z parawirtualizacji (bez sprzętowej akceleracji HVM):
# virt-install -n nv86_01 -f /dev/zvol/dsk/rpool/export/xvm/snv86/disk --paravirt --nographics --ram=400 -l /mnt/x/sol-nv-b86-x86-dvd.iso
v3.1.2-xvm chgset 'Mon Mar 17 23:11:31 2008 -0700 15633:727210f4a544'
SunOS Release 5.11 Version snv_86 32-bit
Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Configuring /dev
-
1. Solaris Interactive Text (Console session) (default)
2. Apply driver updates
3. Single user shell
Enter the number of your choice.
Timed out, continuing.
Solaris Interactive Text (Console session)
Using install cd in /dev/dsk/c0d1p0
Using RPC Bootparams for network configuration information.
Attempting to configure interface xnf0...
Skipped interface xnf0
Reading ZFS config: done.
Po wstępnej konfiguracji zaczyna się instalować :)
Solaris Initial Install
MBytes Installed: 0.04
MBytes Remaining: 317.08
Installing: Core Kernel Architecture i86xpv, (Root)
-
| | | | | |
0 20 40 60 80 100
Po instalacji w systemie dom0 widzimy nowy system:
2# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 603 1 r----- 214.1
nv86_01 5 400 1 ------ 86.1
W systemie gość:
# uname -a
SunOS snv86-01 5.11 snv_86 i86pc i386 i86xpv
# cat /etc/release
OpenSolaris 2008.05 snv_86_rc3 X86
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 26 April 2008
Tworzymy nowe środowisko uruchomieniowe:
# beadm create os_test
Edytujemy wpisy bootloadera, plik znajduje się tu:
/rpool/boot/grub/menu.lst
Modyfikujemy sekcję aby wyglądała podobnie do tej:
title os_test
bootfs rpool/ROOT/os_test
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive
#============ End of LIBBE entry =============
Instalujemy dodatkowe paczki.
W moim przypadku już wcześniej zainstalowałem xvm, stąd ten komunikat:
# pkg install SUNWxvm
Nothing to install in this image (is this package already installed?)
#pkg info SUNWxvm
Name: SUNWxvm
Summary: Hypervisor Header Files
State: Installed
Authority: opensolaris.org (preferred)
Version: 3.1
Build Release: 5.11
Branch: 0.86
Packaging Date: Sat Apr 26 18:25:06 2008
Size: 11.1 MB
FMRI: pkg:/SUNWxvm@3.1,5.11-0.86:20080426T182506Z
# pkg install SUNWvirtinst
DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 14/14 0.18/0.18
PHASE ACTIONS
Install Phase 24/24
Do prawidłowego działania potrzebujemy jeszcze:
# pkg install SUNWurlgrabber
DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 16/16 0.28/0.28
PHASE ACTIONS
Install Phase 26/26
# pkg install SUNWlibvirt
DOWNLOAD PKGS FILES XFER (MB)
Completed 1/1 13/13 2.10/2.10
PHASE ACTIONS
Install Phase 42/42
Uruchamiamy ponownie system i wybieramy środowisko 'os_test' w grubie.
Po uruchomieniu powinniśmy mieć jądro działające na architekturze xen.
Chodzi nam o i86xpv:
# uname -srvmpi
SunOS 5.11 snv_86 i86pc i386 i86xpv
Sprawdzamy, czy usługi xvm są uruchomione, jeśli nie, to musimy je ręcznie uruchomić:
# svcs -a | grep xvm
online 14:37:20 svc:/system/xvm/store:default
online 14:37:26 svc:/system/xvm/xend:default
online 14:37:45 svc:/system/xvm/console:default
online 14:37:49 svc:/system/xvm/domains:default
Zainstalujmy SXCE86 jako system gość :)
Tworzymy dysk dla nowego systemu:
# zfs create rpool/export/xvm
# zfs create rpool/export/xvm/snv86
# zfs create -V 8g rpool/export/xvm/snv86/disk
# ls /dev/zvol/dsk/rpool/export/xvm/snv86/disk
/dev/zvol/dsk/rpool/export/xvm/snv86/disk
Aby zadziałał xVM musimy jeszcze dodać obsługę zdarzeń XEN:
# /usr/sbin/syseventadm list -R / -c EC_xendev
Jeśli to nic nie zwraca, to wpisujemy:
# /usr/sbin/syseventadm add -R / -c EC_xendev /usr/lib/xen/scripts/xpvd-event 'action=$subclass' 'domain=$domain' 'vdev=$vdev' 'device=$device' 'devclass=$devclass' 'febe=$fob'
# /usr/sbin/syseventadm list -R / -c EC_xpvsys
Jeśli to nic nie zwraca, to wpisujemy:
# /usr/sbin/syseventadm add -R / -c EC_xpvsys /usr/lib/xen/scripts/xpvsys-event 'subclass=$subclass' 'shutdown=$shutdown'
Uruchamiamy ponownie usługę:
# /usr/sbin/syseventadm restart
Instalujemy SXCE86 w xVM korzystając z parawirtualizacji (bez sprzętowej akceleracji HVM):
# virt-install -n nv86_01 -f /dev/zvol/dsk/rpool/export/xvm/snv86/disk --paravirt --nographics --ram=400 -l /mnt/x/sol-nv-b86-x86-dvd.iso
v3.1.2-xvm chgset 'Mon Mar 17 23:11:31 2008 -0700 15633:727210f4a544'
SunOS Release 5.11 Version snv_86 32-bit
Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Configuring /dev
-
1. Solaris Interactive Text (Console session) (default)
2. Apply driver updates
3. Single user shell
Enter the number of your choice.
Timed out, continuing.
Solaris Interactive Text (Console session)
Using install cd in /dev/dsk/c0d1p0
Using RPC Bootparams for network configuration information.
Attempting to configure interface xnf0...
Skipped interface xnf0
Reading ZFS config: done.
Po wstępnej konfiguracji zaczyna się instalować :)
Solaris Initial Install
MBytes Installed: 0.04
MBytes Remaining: 317.08
Installing: Core Kernel Architecture i86xpv, (Root)
-
| | | | | |
0 20 40 60 80 100
Po instalacji w systemie dom0 widzimy nowy system:
2# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 603 1 r----- 214.1
nv86_01 5 400 1 ------ 86.1
W systemie gość:
# uname -a
SunOS snv86-01 5.11 snv_86 i86pc i386 i86xpv
piątek, 9 maja 2008
poniedziałek, 5 maja 2008
piątek, 2 maja 2008
Wymuszony upgrade...
Dzisiaj postanowiłem się zmierzyć z najnowszym patchem jądra 127128-11.
Łatka ta aktualizuje jądro Solaris 10 do wersji jaka się znajduje w najnowszej
aktualizacji (piątej) Solaris 10u5.
Problem z tą łatką uniemożliwia uruchomienie 32bitowego systemu
na starym procesorze (w moim przypadku - Celeron 733Mhz).
Brakuje jakichkolwiek informacji na ten temat w internecie - jedynie co
znalazłem, to szczątkowe informacje, iż problem taki wystąpił u kilku osób.
Jest to bardzo stary sprzęt, jednak pełni u mnie rolę serwera archiwizacji.
Nie wyobrażam sobie trzymać danych lub kopii na innym systemie plików
niż ZFS, więc postanowiłem zobaczyć, czy problem występuje również
na najnowszej dostępnej wersji Solaris Nevada.
Jako iż używam LiveUpgrade nie muszę się martwić, że coś się nie
powiedzie przy aktualizacji (swoją drogą tak właśnie testowałem łatki
do Solaris 10).
Po zaktualizowaniu Solaris 10 do Solaris Nevada (snv87) system się
uruchomił :) co oznacza, że był to tylko problem z łatką (127128-11).
Mam cały czas 3 środowiska uruchomieniowe, jednak myślę, że zostanę
już przy OpenSolaris na tym sprzęcie. Zawsze nowsza technologia i
dostępny kod źródłowy, co daje większe możliwości rozwiązania
problemów.
Łatka ta aktualizuje jądro Solaris 10 do wersji jaka się znajduje w najnowszej
aktualizacji (piątej) Solaris 10u5.
Problem z tą łatką uniemożliwia uruchomienie 32bitowego systemu
na starym procesorze (w moim przypadku - Celeron 733Mhz).
Brakuje jakichkolwiek informacji na ten temat w internecie - jedynie co
znalazłem, to szczątkowe informacje, iż problem taki wystąpił u kilku osób.
Jest to bardzo stary sprzęt, jednak pełni u mnie rolę serwera archiwizacji.
Nie wyobrażam sobie trzymać danych lub kopii na innym systemie plików
niż ZFS, więc postanowiłem zobaczyć, czy problem występuje również
na najnowszej dostępnej wersji Solaris Nevada.
Jako iż używam LiveUpgrade nie muszę się martwić, że coś się nie
powiedzie przy aktualizacji (swoją drogą tak właśnie testowałem łatki
do Solaris 10).
Po zaktualizowaniu Solaris 10 do Solaris Nevada (snv87) system się
uruchomił :) co oznacza, że był to tylko problem z łatką (127128-11).
Mam cały czas 3 środowiska uruchomieniowe, jednak myślę, że zostanę
już przy OpenSolaris na tym sprzęcie. Zawsze nowsza technologia i
dostępny kod źródłowy, co daje większe możliwości rozwiązania
problemów.
niedziela, 27 kwietnia 2008
Milax cd...
Milax to bardzo okrojona dystrybucja wzorowana na Solaris Nevada.
Chciałem tylko dodać, że jako jedyna (oprócz Solaris 9)
uruchomiła się (i działała) na bardzo starym sprzęcie (celeron
466Mhz/256MB ram).
Chciałem tylko dodać, że jako jedyna (oprócz Solaris 9)
uruchomiła się (i działała) na bardzo starym sprzęcie (celeron
466Mhz/256MB ram).
OpenSolaris 2008.5 RC
Już niedługo zobaczymy binarną dystrybucję 'OpenSolaris 2008.5',
jednak już teraz można pobrać wersję RC2a stąd.
OpenSolaris 2008.5 (indiana) jest wzorowany na Ubuntu,
więc mamy livecd z możliwością instalacji na dysku.
Nie ma jeszcze obsługi języka polskiego, ale całość się dobrze prezentuje.
Instalator ma już możliwość partycjonowania dysków,
czego nie widzieliśmy w poprzednich wersjach (developer preview).
Co najważniejsze - wszystko jest w systemie graficznym (oprócz
wyboru języka).
Został zmieniony również motyw graficzny - bardzo ładny swoją drogą.
jednak już teraz można pobrać wersję RC2a stąd.
OpenSolaris 2008.5 (indiana) jest wzorowany na Ubuntu,
więc mamy livecd z możliwością instalacji na dysku.
Nie ma jeszcze obsługi języka polskiego, ale całość się dobrze prezentuje.
Instalator ma już możliwość partycjonowania dysków,
czego nie widzieliśmy w poprzednich wersjach (developer preview).
Co najważniejsze - wszystko jest w systemie graficznym (oprócz
wyboru języka).
Został zmieniony również motyw graficzny - bardzo ładny swoją drogą.
piątek, 25 kwietnia 2008
Milax na OpenSolaris.org
Minidystrybucja Milax znalazła już swoje miejsce jako projekt na opensolaris.org.
http://www.opensolaris.org/os/project/milax
http://www.opensolaris.org/os/project/milax
środa, 23 kwietnia 2008
Damn Small Solaris == Milax
Milax - mini dystrybucja livecd oparta na Solaris Express
ma już wersję 0.3.
Ta wersja oparta jest o build 85. Zajmuje 107MB!
milax
ma już wersję 0.3.
Ta wersja oparta jest o build 85. Zajmuje 107MB!
milax
Solaris 10 update 5 i Live Upgrade
Ci, którzy myślą o aktualizacji Solarisa 10 do wersji u5 korzystając z
Live Upgrade, muszą jeszcze trochę poczekać na odpowiednie łatki...
Tzn łatka istnieje (137322-01), ale trzeba mieć wykupiony support aby
ją pobrać.
Można jednak to trochę obejść ... ;)
Na Solaris 10u4 usuwamy paczkę SUNWbzip:
# pkgrm SUNWbzip
The following package is currently installed:
SUNWbzip The bzip compression utility
(i386) 11.10.0,REV=2005.01.08.01.09
Do you want to remove this package? [y,n,?,q] y
## Removing installed package instance
## Verifying package dependencies in global zone
WARNING:
The package depends on the package
currently being removed.
Dependency checking failed.
Do you want to continue with the removal of this package [y,n,?,q] y
## Processing package information.
## Removing pathnames in class
/usr/lib/llib-lbz2.ln
/usr/lib/llib-lbz2
/usr/lib/libbz2.so.1
/usr/lib/libbz2.so
/usr/lib/amd64/llib-lbz2.ln
/usr/lib/amd64/libbz2.so.1
/usr/lib/amd64/libbz2.so
/usr/lib/amd64
/usr/lib
/usr/include/bzlib.h
/usr/include
/usr/bin/bzmore
/usr/bin/bzless
/usr/bin/bzip2recover
/usr/bin/bzip2
/usr/bin/bzgrep
/usr/bin/bzfgrep
/usr/bin/bzegrep
/usr/bin/bzdiff
/usr/bin/bzcmp
/usr/bin/bzcat
/usr/bin/bunzip2
/usr/bin
/usr
## Updating system information.
Removal of was successful.
Następnie instalujemy paczkę SUNWbzip z płyty od Solaris 10u5 :)
# pkgadd -d . SUNWbzip
Processing package instance from
The bzip compression utility(i386) 11.10.0,REV=2005.01.08.01.09
[ pełno zbędnych informacji ]
Installing The bzip compression utility as
## Installing part 1 of 1.
/usr/bin/7z
/usr/bin/7za
/usr/bin/7zr
/usr/bin/bzdiff
/usr/bin/bzgrep
/usr/bin/bzip2
/usr/bin/bzip2recover
/usr/bin/bzmore
/usr/bin/p7zip
/usr/include/bzlib.h
/usr/lib/7z/7z.so
/usr/lib/7z/Codecs/Rar29.so
/usr/lib/amd64/libbz2.so
/usr/lib/amd64/libbz2.so.1
/usr/lib/amd64/llib-lbz2.ln
/usr/lib/libbz2.so
/usr/lib/libbz2.so.1
/usr/lib/llib-lbz2
/usr/lib/llib-lbz2.ln
/usr/share/man/man1/7z.1
/usr/share/man/man1/7za.1
/usr/share/man/man1/7zr.1
/usr/share/man/man1/p7zip.1
[ verifying class ]
/usr/bin/bunzip2
/usr/bin/bzcat
/usr/bin/bzcmp
/usr/bin/bzegrep
/usr/bin/bzfgrep
/usr/bin/bzless
Installation of was successful.
Teraz synchronizujemy nowe BE:
# time lumake -n be2_s10u5
Creating configuration for boot environment.
Source boot environment is.
Determining the split file systems of >.
Determining the merge point of >.
Determining the size and inode count for the split filesystem of >.
Creating boot environment.
Checking for GRUB menu on boot environment.
The boot environment does not contain the GRUB menu.
Creating file systems on boot environment.
Creating file system for > in zone on .
Mounting file systems for boot environment.
Calculating required sizes of file systems for boot environment.
Populating file systems on boot environment.
Checking selection integrity.
Integrity check OK.
Populating contents of mount point >.
Copying.
[ itd, itp ]
Dalej można już standardomo (luupgrade, luactivate).
Dlaczego takie obejście?
Ponieważ system potrzebuje 7zip do aktualizacji do Solaris 10 update 5.
Live Upgrade, muszą jeszcze trochę poczekać na odpowiednie łatki...
Tzn łatka istnieje (137322-01), ale trzeba mieć wykupiony support aby
ją pobrać.
Można jednak to trochę obejść ... ;)
Na Solaris 10u4 usuwamy paczkę SUNWbzip:
# pkgrm SUNWbzip
The following package is currently installed:
SUNWbzip The bzip compression utility
(i386) 11.10.0,REV=2005.01.08.01.09
Do you want to remove this package? [y,n,?,q] y
## Removing installed package instance
## Verifying package
WARNING:
The
currently being removed.
Dependency checking failed.
Do you want to continue with the removal of this package [y,n,?,q] y
## Processing package information.
## Removing pathnames in class
/usr/lib/llib-lbz2.ln
/usr/lib/llib-lbz2
/usr/lib/libbz2.so.1
/usr/lib/libbz2.so
/usr/lib/amd64/llib-lbz2.ln
/usr/lib/amd64/libbz2.so.1
/usr/lib/amd64/libbz2.so
/usr/lib/amd64
/usr/lib
/usr/include/bzlib.h
/usr/include
/usr/bin/bzmore
/usr/bin/bzless
/usr/bin/bzip2recover
/usr/bin/bzip2
/usr/bin/bzgrep
/usr/bin/bzfgrep
/usr/bin/bzegrep
/usr/bin/bzdiff
/usr/bin/bzcmp
/usr/bin/bzcat
/usr/bin/bunzip2
/usr/bin
/usr
## Updating system information.
Removal of
Następnie instalujemy paczkę SUNWbzip z płyty od Solaris 10u5 :)
# pkgadd -d . SUNWbzip
Processing package instance
The bzip compression utility(i386) 11.10.0,REV=2005.01.08.01.09
[ pełno zbędnych informacji ]
Installing The bzip compression utility as
## Installing part 1 of 1.
/usr/bin/7z
/usr/bin/7za
/usr/bin/7zr
/usr/bin/bzdiff
/usr/bin/bzgrep
/usr/bin/bzip2
/usr/bin/bzip2recover
/usr/bin/bzmore
/usr/bin/p7zip
/usr/include/bzlib.h
/usr/lib/7z/7z.so
/usr/lib/7z/Codecs/Rar29.so
/usr/lib/amd64/libbz2.so
/usr/lib/amd64/libbz2.so.1
/usr/lib/amd64/llib-lbz2.ln
/usr/lib/libbz2.so
/usr/lib/libbz2.so.1
/usr/lib/llib-lbz2
/usr/lib/llib-lbz2.ln
/usr/share/man/man1/7z.1
/usr/share/man/man1/7za.1
/usr/share/man/man1/7zr.1
/usr/share/man/man1/p7zip.1
[ verifying class
/usr/bin/bunzip2
/usr/bin/bzcat
/usr/bin/bzcmp
/usr/bin/bzegrep
/usr/bin/bzfgrep
/usr/bin/bzless
Installation of
Teraz synchronizujemy nowe BE:
# time lumake -n be2_s10u5
Creating configuration for boot environment
Source boot environment is
Determining the split file systems of >.
Determining the merge point of >.
Determining the size and inode count for the split filesystem of >.
Creating boot environment
Checking for GRUB menu on boot environment
The boot environment
Creating file systems on boot environment
Creating
Mounting file systems for boot environment
Calculating required sizes of file systems for boot environment
Populating file systems on boot environment
Checking selection integrity.
Integrity check OK.
Populating contents of mount point >.
Copying.
[ itd, itp ]
Dalej można już standardomo (luupgrade, luactivate).
Dlaczego takie obejście?
Ponieważ system potrzebuje 7zip do aktualizacji do Solaris 10 update 5.
sobota, 12 kwietnia 2008
Wszystko się rozwija.
Najbliższe kilka miesięcy będzie bardzo interesujące.
- Już za kilka dni będzie można pobrać piąty update Solarisa 10.
- W buildzie 89 Solaris Navada będzie wspierany ZFS root w instalatorze.
- W najbliższym czasie planowane jest włączenie szyfrowania ZFS do głównego kodu.
- Niebawem zostanie wydana dystrybucja 'OpenSolaris Developer' (Indiana).
- Pojawi się nowe Communication Suite.
- Pojawiły się pierwsze źródła SAM-QFS, czekamy na oficjalne paczki.
- Już za kilka dni będzie można pobrać piąty update Solarisa 10.
- W buildzie 89 Solaris Navada będzie wspierany ZFS root w instalatorze.
- W najbliższym czasie planowane jest włączenie szyfrowania ZFS do głównego kodu.
- Niebawem zostanie wydana dystrybucja 'OpenSolaris Developer' (Indiana).
- Pojawi się nowe Communication Suite.
- Pojawiły się pierwsze źródła SAM-QFS, czekamy na oficjalne paczki.
środa, 19 marca 2008
Linki na dzień 2008-03-19
Heads Up: Changing home directory for the root user at OpenSolaris.org
The Flask Security Architecture: System Support for Diverse Security Policies
The Flawed Assumption of Security in Modern Computing Environments
http://del.icio.us/estibi/080319
The Flask Security Architecture: System Support for Diverse Security Policies
The Flawed Assumption of Security in Modern Computing Environments
http://del.icio.us/estibi/080319
wtorek, 18 marca 2008
niedziela, 16 marca 2008
Zmiany na blogu.
Dodałem trochę linków w kategorii "Inne".
Część z nich dotyczy produktów SUNa, ale nie tylko ...
Część z nich dotyczy produktów SUNa, ale nie tylko ...
środa, 12 marca 2008
Otwarcie kodu SAM / QFS!
Otwarcie kodu SAM oraz QFS jest planowane pod
koniec przyszłego tygodnia! Wspaniała wiadomość! :))))
koniec przyszłego tygodnia! Wspaniała wiadomość! :))))
wtorek, 4 marca 2008
Fine Grained Access Policy
piątek, 29 lutego 2008
OpenDS milestone 1
Projekt OpenDS osiągnął status milestone 1.
Milestone 1 w pełni wspiera standard LDAPv3 oraz
dodatkowe rozszerzenia.
Wydanie wersji oficjalnej 1.0 jest planowane w maju.
Milestone 1 w pełni wspiera standard LDAPv3 oraz
dodatkowe rozszerzenia.
Wydanie wersji oficjalnej 1.0 jest planowane w maju.
Clearview poprzez BFU + LiveUpgrade
Więc chcemy potestować Clearview ..., jeśli nie chcemy czekać
minimum 6 miesięcy, aż będzie włączone do źródeł ON,
możemy zainstalować najnowsze binaria oparte na buildzie 83.
Mamy już przygotowane specjalne środowisko uruchomieniowe:
# lucurr
be2_snv82_bfu_cv83
# uname -srv
SunOS 5.11 snv_82
Musimy rozpakować pobrane binaria:
# bzcat cv_83-SUNWonbld-20080219.i386.tar.bz2 | tar xvf -
# bzcat cv_83-bfu-20080219.i386.tar.bz2 | tar xvf -
Jeśli mamy zainstalowaną paczkę SUNWonbld, należy ją odinstalować!
Instalujemy paczkę SUNWonbld dostarczoną przez clearview:
# pkgadd -d /export/home/estibi/cv_83/onbld SUNWonbld
Processing package instance from
OS-Net Build Tools(i386) 11.11,REV=2008.02.19.14.29
Copyright 2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Using as the package base directory.
## Processing package information.
## Processing system information.
1 package pathname is already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of [y,n,?] y
Installing OS-Net Build Tools as
## Installing part 1 of 1.
/opt/onbld/bin/Install
/opt/onbld/bin/SampleLinks
/opt/onbld/bin/SamplePkgLinks
/opt/onbld/bin/acr
/opt/onbld/bin/bfu
/opt/onbld/bin/bfudrop
/opt/onbld/bin/bindrop
/opt/onbld/bin/bldenv
/opt/onbld/bin/bringovercheck
/opt/onbld/bin/build_cscope
/opt/onbld/bin/cddlchk
/opt/onbld/bin/check_fnames
/opt/onbld/bin/check_rtime
/opt/onbld/bin/checkpaths
/opt/onbld/bin/checkproto
/opt/onbld/bin/cstyle
/opt/onbld/bin/ctfcvtptbl
/opt/onbld/bin/ctffindmod
/opt/onbld/bin/elfcmp
/opt/onbld/bin/flg.flp
/opt/onbld/bin/genoffsets
/opt/onbld/bin/get_depend_info
/opt/onbld/bin/hdrchk
/opt/onbld/bin/i386/abi_audit
/opt/onbld/bin/i386/aw
/opt/onbld/bin/i386/bfuld
/opt/onbld/bin/i386/codereview
/opt/onbld/bin/i386/cpiotranslate
/opt/onbld/bin/i386/cscope-fast
/opt/onbld/bin/i386/ctfconvert
/opt/onbld/bin/i386/ctfdump
/opt/onbld/bin/i386/ctfmerge
/opt/onbld/bin/i386/ctfstabs
/opt/onbld/bin/i386/cw
/opt/onbld/bin/i386/elfextract
/opt/onbld/bin/i386/fastfs
/opt/onbld/bin/i386/findunref
/opt/onbld/bin/i386/install
/opt/onbld/bin/i386/lintdump
/opt/onbld/bin/i386/mbh_patch
/opt/onbld/bin/i386/ndrgen
/opt/onbld/bin/i386/ndrgen1
/opt/onbld/bin/i386/pmodes
/opt/onbld/bin/i386/protocmp
/opt/onbld/bin/i386/protolist
/opt/onbld/bin/intf_check
/opt/onbld/bin/jstyle
/opt/onbld/bin/keywords
/opt/onbld/bin/make_pkg_db
/opt/onbld/bin/makebfu
/opt/onbld/bin/mkacr
/opt/onbld/bin/mkbfu
/opt/onbld/bin/mkclosed
/opt/onbld/bin/mkreadme_osol
/opt/onbld/bin/mktpl
/opt/onbld/bin/nightly
/opt/onbld/bin/onblddrop
/opt/onbld/bin/protocmp.terse
/opt/onbld/bin/sccscheck
/opt/onbld/bin/sccscp
/opt/onbld/bin/sccshist
/opt/onbld/bin/sccsmv
/opt/onbld/bin/sccsrm
/opt/onbld/bin/sdrop
/opt/onbld/bin/signit
/opt/onbld/bin/signproto
/opt/onbld/bin/validate_flg
/opt/onbld/bin/validate_paths
/opt/onbld/bin/wdiff
/opt/onbld/bin/webrev
/opt/onbld/bin/ws
/opt/onbld/bin/wsdiff
/opt/onbld/bin/wx
/opt/onbld/bin/xref
/opt/onbld/bin/xref.mk
/opt/onbld/env/developer
/opt/onbld/env/gatekeeper
/opt/onbld/etc/abi/ABI_i386.db
/opt/onbld/etc/abi/ABI_sparc.db
/opt/onbld/etc/abi/exceptions
/opt/onbld/gk/.cshrc
/opt/onbld/gk/.login
/opt/onbld/lib/i386/libdwarf.so.1
/opt/onbld/man/man1/Install.1
/opt/onbld/man/man1/acr.1
/opt/onbld/man/man1/bldenv.1
/opt/onbld/man/man1/bringovercheck.1
/opt/onbld/man/man1/cddlchk.1
/opt/onbld/man/man1/check_rtime.1
/opt/onbld/man/man1/checkpaths.1
/opt/onbld/man/man1/codereview.1
/opt/onbld/man/man1/cstyle.1
/opt/onbld/man/man1/cw.1
/opt/onbld/man/man1/flg.flp.1
/opt/onbld/man/man1/get_depend_info.1
/opt/onbld/man/man1/intf_check.1
/opt/onbld/man/man1/lintdump.1
/opt/onbld/man/man1/make_pkg_db.1
/opt/onbld/man/man1/mkacr.1
/opt/onbld/man/man1/nightly.1
/opt/onbld/man/man1/sccscheck.1
/opt/onbld/man/man1/sccscp.1
/opt/onbld/man/man1/sccsmv.1
/opt/onbld/man/man1/sccsrm.1
/opt/onbld/man/man1/signit.1
/opt/onbld/man/man1/signproto.1
/opt/onbld/man/man1/webrev.1
/opt/onbld/man/man1/ws.1
/opt/onbld/man/man1/wsdiff.1
/opt/onbld/man/man1/wx.1
/opt/onbld/man/man1/xref.1
[ verifying class ]
/opt/onbld/bin/i386/install.bin
Eksportujemy niezbędne do BFU zmienne:
# export BFULD=/opt/onbld/bin/i386/bfuld
# export FASTFS=/opt/onbld/bin/i386/fastfs
# export GZIPBIN=/usr/bin/gzip
# export PATH=${PATH}:/opt/onbld/bin
Uwaga, użycie BFU spowoduje, iż nie będzie działać upgrade systemu
do nowszej wersji (np sxce82 -> sxce83)!!!
Nie robimy poniższych kroków, jeśli nie mamy pełnej kopii systemu
(dump0) lub nie używamy LiveUpgrade!!! ;)
Uruchamiamy binarną aktualizację systemu BFU, od tej chwili
bieżący system jest w rękach BFU, przerwanie tego procesu
spowoduje niespójny system.
Zamykamy wszystkie programy/usługi itp.
# /opt/onbld/bin/bfu /export/home/estibi/cv_83/archives-nightly-osol/i386
Copying /opt/onbld/bin/bfu to /tmp/bfu.1037
Executing /tmp/bfu.1037 /export/home/estibi/cv_83/archives-nightly-osol/i386
Loading /export/home/estibi/cv_83/archives-nightly-osol/i386 on /
Creating bfu execution environment ...
/tmp/bfu.1037[2850]: /net/onnv.eng/export/gate/public/bin/acr: cannot open
chmod: WARNING: can't access /tmp/bfubin/acr
Verifying archives ...
Performing basic sanity checks ...
/etc/svc/repository.db: passed integrity check
Disabling kernel module unloading ... moddebug: 0 = 0x20000
Unmounting /lib/libc.so.1 ...
Disabling sendmail temporarily ...
Disabling remote logins ...
Disabling syslog temporarily ...
Killing httpd ...
Disabling fmd temporarily ...
Killing nscd ...
Turning on delayed i/o ...
Filesystem Mode
/ safe
/usr safe
Saving configuration files in /bfu.child ... 6144 blocks
Removing init.d links ... done.
Removing obsolete rc.d scripts ... done.
Extracting ufs modules for boot block ... 3260 blocks
Extracting generic.usr ... 400289 blocks
Extracting i86pc.usr ... 3260 blocks
Extracting i86xpv.usr ... 900 blocks
Extracting generic.lib ... 52265 blocks
Extracting generic.sbin ... 2820 blocks
Extracting generic.kernel ... 180505 blocks
Extracting generic.root ... 10500 blocks
Extracting i86pc.root ... 13510 blocks
Extracting i86xpv.root ... 12050 blocks
Extracting i86hvm.root ... 820 blocks
Extracting i86pc.boot ... 2750 blocks
Removing duplicate kernel binaries ...
Simulating SUNWcry* installation...
Cleaning up old Kerberos GSS-API mechanisms...
Cleaning up old RBAC profiles...
Restoring configuration files.
NEW conflict: boot/solaris/bootenv.rc
restore: boot/solaris/devicedb/master
NEW conflict: etc/acct/holidays
restore: etc/auto_home
NEW conflict: etc/crypto/kcf.conf
update: etc/crypto/pkcs11.conf
NEW conflict: etc/default/init
restore: etc/devlink.tab
restore: etc/driver_aliases
NEW conflict: etc/driver_classes
update: etc/ftpd/ftpusers
NEW conflict: etc/group
NEW conflict: etc/inet/hosts
restore: etc/inet/inetd.conf
restore: etc/inet/netmasks
NEW conflict: etc/inet/services
restore: etc/inet/sock2path
restore: etc/inittab
NEW conflict: etc/iu.ap
restore: etc/krb5/krb5.conf
NEW conflict: etc/logadm.conf
NEW conflict: etc/minor_perm
NEW conflict: etc/name_to_major
NEW conflict: etc/nsswitch.conf
NEW conflict: etc/pam.conf
NEW conflict: etc/passwd
NEW conflict: etc/path_to_inst
NEW conflict: etc/power.conf
update: etc/profile
NEW conflict: etc/remote
NEW conflict: etc/security/audit_event
NEW conflict: etc/security/auth_attr
NEW conflict: etc/security/device_policy
NEW conflict: etc/security/exec_attr
restore: etc/security/extra_privs
NEW conflict: etc/security/prof_attr
NEW conflict: etc/security/tsol/devalloc_defaults
NEW conflict: etc/shadow
update: etc/syslog.conf
update: etc/ttysrch
NEW conflict: etc/user_attr
update: etc/uucp/Dialers
NEW conflict: etc/vfstab
restore: kernel/drv/mpt.conf
update: kernel/drv/scsi_vhci.conf
restore: kernel/drv/sd.conf
preserve: kernel/misc/amd64/sysinit
preserve: kernel/misc/amd64/usbs49_fw
preserve: kernel/misc/sysinit
preserve: kernel/misc/usbs49_fw
preserve: var/adm/utmpx
preserve: var/adm/wtmpx
preserve: var/log/syslog
preserve: var/saf/zsmon/log
restore: var/spool/cron/crontabs/root
updating /platform/i86pc/amd64/boot_archive
updating /platform/i86pc/boot_archive
For each file in conflict, your version has been restored.
The new versions are under /bfu.conflicts.
MAKE SURE YOU RESOLVE ALL CONFLICTS BEFORE REBOOTING.
To install resolved changes required for reboot in the boot
archive, invoke 'bootadm update-archive'
Removing obsolete smf services ...
Disabling unneeded inetd.conf entries ...
Connecting platform and name service profiles ...
Marking converted services as enabled ...
cp: cannot access /net/greenline.eng/meta0/smf/post-5090532/sysidtool.xml
bfu: could not copy /net/greenline.eng/meta0/smf/post-5090532/sysidtool.xml
cp: cannot access /net/greenline.eng/meta0/smf/post-5090532/kdmconfig.xml
bfu: could not copy /net/greenline.eng/meta0/smf/post-5090532/kdmconfig.xml
Upgrade of amilo took 5:13.
Turning off delayed i/o and syncing filesystems ...
Filesystem Mode
/ safe
/usr safe
Entering post-bfu protected environment (shell: ksh).
Edit configuration files as necessary, then reboot.
bfu#
Teraz jesteśmy w specjalnej powłoce :)
Musimy uruchomić program 'acr' aby naprawić zależności ...
bfu# /opt/onbld/bin/acr
Getting ACR information from /export/home/estibi/cv_83/archives-nightly-osol/i386... ok
Processing global zone:
FILE ACTION STATUS
etc/crypto/kcf.conf i.kcfconfbase ok
etc/driver_classes i.kclasses ok
etc/minor_perm i.minorperm ok
etc/name_to_major i.nametomajor ok
etc/security/device_policy i.devpolicy ok
etc/iu.ap i.iuap ok
etc/path_to_inst i.preserve ok
etc/shadow i.shadow ok
etc/security/audit_event i.renamenew ok
etc/logadm.conf i.logadmconf ok
etc/passwd i.passwd ok
etc/inet/hosts i.hosts ok
etc/default/init i.definit ok
etc/remote i.etcremote ok
etc/nsswitch.conf i.nsswitch ok
etc/group i.group ok
etc/pam.conf i.pamconf ok
etc/inet/services i.services ok
etc/security/auth_attr i.rbac ok
etc/security/exec_attr i.rbac ok
etc/security/prof_attr i.rbac ok
etc/user_attr i.rbac ok
etc/vfstab i.vfstab ok
etc/acct/holidays i.preserve ok
etc/power.conf i.powerconf ok
boot/solaris/bootenv.rc i.bootenvrc ok
etc/security/tsol/devalloc_defaults i.devallocdefs ok
updating //platform/i86pc/amd64/boot_archive
updating //platform/i86pc/boot_archive
Finished. See /tmp/acr.L6aq6o/allresults for complete log.
Uruchamiamy ponownie system.
UWAGA, musimy wydać polecenie 'reboot'!!!
Nie możemy użyć w tym przypadku 'shutdown' ani 'init'.
bfu# reboot
Po restarcie mamy zaktualizowany system wraz
z nowym Clearview:
# uname -srv
SunOS 5.11 cv_83
minimum 6 miesięcy, aż będzie włączone do źródeł ON,
możemy zainstalować najnowsze binaria oparte na buildzie 83.
Mamy już przygotowane specjalne środowisko uruchomieniowe:
# lucurr
be2_snv82_bfu_cv83
# uname -srv
SunOS 5.11 snv_82
Musimy rozpakować pobrane binaria:
# bzcat cv_83-SUNWonbld-20080219.i386.tar.bz2 | tar xvf -
# bzcat cv_83-bfu-20080219.i386.tar.bz2 | tar xvf -
Jeśli mamy zainstalowaną paczkę SUNWonbld, należy ją odinstalować!
Instalujemy paczkę SUNWonbld dostarczoną przez clearview:
# pkgadd -d /export/home/estibi/cv_83/onbld SUNWonbld
Processing package instance
OS-Net Build Tools(i386) 11.11,REV=2008.02.19.14.29
Copyright 2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Using as the package base directory.
## Processing package information.
## Processing system information.
1 package pathname is already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of
Installing OS-Net Build Tools as
## Installing part 1 of 1.
/opt/onbld/bin/Install
/opt/onbld/bin/SampleLinks
/opt/onbld/bin/SamplePkgLinks
/opt/onbld/bin/acr
/opt/onbld/bin/bfu
/opt/onbld/bin/bfudrop
/opt/onbld/bin/bindrop
/opt/onbld/bin/bldenv
/opt/onbld/bin/bringovercheck
/opt/onbld/bin/build_cscope
/opt/onbld/bin/cddlchk
/opt/onbld/bin/check_fnames
/opt/onbld/bin/check_rtime
/opt/onbld/bin/checkpaths
/opt/onbld/bin/checkproto
/opt/onbld/bin/cstyle
/opt/onbld/bin/ctfcvtptbl
/opt/onbld/bin/ctffindmod
/opt/onbld/bin/elfcmp
/opt/onbld/bin/flg.flp
/opt/onbld/bin/genoffsets
/opt/onbld/bin/get_depend_info
/opt/onbld/bin/hdrchk
/opt/onbld/bin/i386/abi_audit
/opt/onbld/bin/i386/aw
/opt/onbld/bin/i386/bfuld
/opt/onbld/bin/i386/codereview
/opt/onbld/bin/i386/cpiotranslate
/opt/onbld/bin/i386/cscope-fast
/opt/onbld/bin/i386/ctfconvert
/opt/onbld/bin/i386/ctfdump
/opt/onbld/bin/i386/ctfmerge
/opt/onbld/bin/i386/ctfstabs
/opt/onbld/bin/i386/cw
/opt/onbld/bin/i386/elfextract
/opt/onbld/bin/i386/fastfs
/opt/onbld/bin/i386/findunref
/opt/onbld/bin/i386/install
/opt/onbld/bin/i386/lintdump
/opt/onbld/bin/i386/mbh_patch
/opt/onbld/bin/i386/ndrgen
/opt/onbld/bin/i386/ndrgen1
/opt/onbld/bin/i386/pmodes
/opt/onbld/bin/i386/protocmp
/opt/onbld/bin/i386/protolist
/opt/onbld/bin/intf_check
/opt/onbld/bin/jstyle
/opt/onbld/bin/keywords
/opt/onbld/bin/make_pkg_db
/opt/onbld/bin/makebfu
/opt/onbld/bin/mkacr
/opt/onbld/bin/mkbfu
/opt/onbld/bin/mkclosed
/opt/onbld/bin/mkreadme_osol
/opt/onbld/bin/mktpl
/opt/onbld/bin/nightly
/opt/onbld/bin/onblddrop
/opt/onbld/bin/protocmp.terse
/opt/onbld/bin/sccscheck
/opt/onbld/bin/sccscp
/opt/onbld/bin/sccshist
/opt/onbld/bin/sccsmv
/opt/onbld/bin/sccsrm
/opt/onbld/bin/sdrop
/opt/onbld/bin/signit
/opt/onbld/bin/signproto
/opt/onbld/bin/validate_flg
/opt/onbld/bin/validate_paths
/opt/onbld/bin/wdiff
/opt/onbld/bin/webrev
/opt/onbld/bin/ws
/opt/onbld/bin/wsdiff
/opt/onbld/bin/wx
/opt/onbld/bin/xref
/opt/onbld/bin/xref.mk
/opt/onbld/env/developer
/opt/onbld/env/gatekeeper
/opt/onbld/etc/abi/ABI_i386.db
/opt/onbld/etc/abi/ABI_sparc.db
/opt/onbld/etc/abi/exceptions
/opt/onbld/gk/.cshrc
/opt/onbld/gk/.login
/opt/onbld/lib/i386/libdwarf.so.1
/opt/onbld/man/man1/Install.1
/opt/onbld/man/man1/acr.1
/opt/onbld/man/man1/bldenv.1
/opt/onbld/man/man1/bringovercheck.1
/opt/onbld/man/man1/cddlchk.1
/opt/onbld/man/man1/check_rtime.1
/opt/onbld/man/man1/checkpaths.1
/opt/onbld/man/man1/codereview.1
/opt/onbld/man/man1/cstyle.1
/opt/onbld/man/man1/cw.1
/opt/onbld/man/man1/flg.flp.1
/opt/onbld/man/man1/get_depend_info.1
/opt/onbld/man/man1/intf_check.1
/opt/onbld/man/man1/lintdump.1
/opt/onbld/man/man1/make_pkg_db.1
/opt/onbld/man/man1/mkacr.1
/opt/onbld/man/man1/nightly.1
/opt/onbld/man/man1/sccscheck.1
/opt/onbld/man/man1/sccscp.1
/opt/onbld/man/man1/sccsmv.1
/opt/onbld/man/man1/sccsrm.1
/opt/onbld/man/man1/signit.1
/opt/onbld/man/man1/signproto.1
/opt/onbld/man/man1/webrev.1
/opt/onbld/man/man1/ws.1
/opt/onbld/man/man1/wsdiff.1
/opt/onbld/man/man1/wx.1
/opt/onbld/man/man1/xref.1
[ verifying class
/opt/onbld/bin/i386/install.bin
Eksportujemy niezbędne do BFU zmienne:
# export BFULD=/opt/onbld/bin/i386/bfuld
# export FASTFS=/opt/onbld/bin/i386/fastfs
# export GZIPBIN=/usr/bin/gzip
# export PATH=${PATH}:/opt/onbld/bin
Uwaga, użycie BFU spowoduje, iż nie będzie działać upgrade systemu
do nowszej wersji (np sxce82 -> sxce83)!!!
Nie robimy poniższych kroków, jeśli nie mamy pełnej kopii systemu
(dump0) lub nie używamy LiveUpgrade!!! ;)
Uruchamiamy binarną aktualizację systemu BFU, od tej chwili
bieżący system jest w rękach BFU, przerwanie tego procesu
spowoduje niespójny system.
Zamykamy wszystkie programy/usługi itp.
# /opt/onbld/bin/bfu /export/home/estibi/cv_83/archives-nightly-osol/i386
Copying /opt/onbld/bin/bfu to /tmp/bfu.1037
Executing /tmp/bfu.1037 /export/home/estibi/cv_83/archives-nightly-osol/i386
Loading /export/home/estibi/cv_83/archives-nightly-osol/i386 on /
Creating bfu execution environment ...
/tmp/bfu.1037[2850]: /net/onnv.eng/export/gate/public/bin/acr: cannot open
chmod: WARNING: can't access /tmp/bfubin/acr
Verifying archives ...
Performing basic sanity checks ...
/etc/svc/repository.db: passed integrity check
Disabling kernel module unloading ... moddebug: 0 = 0x20000
Unmounting /lib/libc.so.1 ...
Disabling sendmail temporarily ...
Disabling remote logins ...
Disabling syslog temporarily ...
Killing httpd ...
Disabling fmd temporarily ...
Killing nscd ...
Turning on delayed i/o ...
Filesystem Mode
/ safe
/usr safe
Saving configuration files in /bfu.child ... 6144 blocks
Removing init.d links ... done.
Removing obsolete rc.d scripts ... done.
Extracting ufs modules for boot block ... 3260 blocks
Extracting generic.usr ... 400289 blocks
Extracting i86pc.usr ... 3260 blocks
Extracting i86xpv.usr ... 900 blocks
Extracting generic.lib ... 52265 blocks
Extracting generic.sbin ... 2820 blocks
Extracting generic.kernel ... 180505 blocks
Extracting generic.root ... 10500 blocks
Extracting i86pc.root ... 13510 blocks
Extracting i86xpv.root ... 12050 blocks
Extracting i86hvm.root ... 820 blocks
Extracting i86pc.boot ... 2750 blocks
Removing duplicate kernel binaries ...
Simulating SUNWcry* installation...
Cleaning up old Kerberos GSS-API mechanisms...
Cleaning up old RBAC profiles...
Restoring configuration files.
NEW conflict: boot/solaris/bootenv.rc
restore: boot/solaris/devicedb/master
NEW conflict: etc/acct/holidays
restore: etc/auto_home
NEW conflict: etc/crypto/kcf.conf
update: etc/crypto/pkcs11.conf
NEW conflict: etc/default/init
restore: etc/devlink.tab
restore: etc/driver_aliases
NEW conflict: etc/driver_classes
update: etc/ftpd/ftpusers
NEW conflict: etc/group
NEW conflict: etc/inet/hosts
restore: etc/inet/inetd.conf
restore: etc/inet/netmasks
NEW conflict: etc/inet/services
restore: etc/inet/sock2path
restore: etc/inittab
NEW conflict: etc/iu.ap
restore: etc/krb5/krb5.conf
NEW conflict: etc/logadm.conf
NEW conflict: etc/minor_perm
NEW conflict: etc/name_to_major
NEW conflict: etc/nsswitch.conf
NEW conflict: etc/pam.conf
NEW conflict: etc/passwd
NEW conflict: etc/path_to_inst
NEW conflict: etc/power.conf
update: etc/profile
NEW conflict: etc/remote
NEW conflict: etc/security/audit_event
NEW conflict: etc/security/auth_attr
NEW conflict: etc/security/device_policy
NEW conflict: etc/security/exec_attr
restore: etc/security/extra_privs
NEW conflict: etc/security/prof_attr
NEW conflict: etc/security/tsol/devalloc_defaults
NEW conflict: etc/shadow
update: etc/syslog.conf
update: etc/ttysrch
NEW conflict: etc/user_attr
update: etc/uucp/Dialers
NEW conflict: etc/vfstab
restore: kernel/drv/mpt.conf
update: kernel/drv/scsi_vhci.conf
restore: kernel/drv/sd.conf
preserve: kernel/misc/amd64/sysinit
preserve: kernel/misc/amd64/usbs49_fw
preserve: kernel/misc/sysinit
preserve: kernel/misc/usbs49_fw
preserve: var/adm/utmpx
preserve: var/adm/wtmpx
preserve: var/log/syslog
preserve: var/saf/zsmon/log
restore: var/spool/cron/crontabs/root
updating /platform/i86pc/amd64/boot_archive
updating /platform/i86pc/boot_archive
For each file in conflict, your version has been restored.
The new versions are under /bfu.conflicts.
MAKE SURE YOU RESOLVE ALL CONFLICTS BEFORE REBOOTING.
To install resolved changes required for reboot in the boot
archive, invoke 'bootadm update-archive'
Removing obsolete smf services ...
Disabling unneeded inetd.conf entries ...
Connecting platform and name service profiles ...
Marking converted services as enabled ...
cp: cannot access /net/greenline.eng/meta0/smf/post-5090532/sysidtool.xml
bfu: could not copy /net/greenline.eng/meta0/smf/post-5090532/sysidtool.xml
cp: cannot access /net/greenline.eng/meta0/smf/post-5090532/kdmconfig.xml
bfu: could not copy /net/greenline.eng/meta0/smf/post-5090532/kdmconfig.xml
Upgrade of amilo took 5:13.
Turning off delayed i/o and syncing filesystems ...
Filesystem Mode
/ safe
/usr safe
Entering post-bfu protected environment (shell: ksh).
Edit configuration files as necessary, then reboot.
bfu#
Teraz jesteśmy w specjalnej powłoce :)
Musimy uruchomić program 'acr' aby naprawić zależności ...
bfu# /opt/onbld/bin/acr
Getting ACR information from /export/home/estibi/cv_83/archives-nightly-osol/i386... ok
Processing global zone:
FILE ACTION STATUS
etc/crypto/kcf.conf i.kcfconfbase ok
etc/driver_classes i.kclasses ok
etc/minor_perm i.minorperm ok
etc/name_to_major i.nametomajor ok
etc/security/device_policy i.devpolicy ok
etc/iu.ap i.iuap ok
etc/path_to_inst i.preserve ok
etc/shadow i.shadow ok
etc/security/audit_event i.renamenew ok
etc/logadm.conf i.logadmconf ok
etc/passwd i.passwd ok
etc/inet/hosts i.hosts ok
etc/default/init i.definit ok
etc/remote i.etcremote ok
etc/nsswitch.conf i.nsswitch ok
etc/group i.group ok
etc/pam.conf i.pamconf ok
etc/inet/services i.services ok
etc/security/auth_attr i.rbac ok
etc/security/exec_attr i.rbac ok
etc/security/prof_attr i.rbac ok
etc/user_attr i.rbac ok
etc/vfstab i.vfstab ok
etc/acct/holidays i.preserve ok
etc/power.conf i.powerconf ok
boot/solaris/bootenv.rc i.bootenvrc ok
etc/security/tsol/devalloc_defaults i.devallocdefs ok
updating //platform/i86pc/amd64/boot_archive
updating //platform/i86pc/boot_archive
Finished. See /tmp/acr.L6aq6o/allresults for complete log.
Uruchamiamy ponownie system.
UWAGA, musimy wydać polecenie 'reboot'!!!
Nie możemy użyć w tym przypadku 'shutdown' ani 'init'.
bfu# reboot
Po restarcie mamy zaktualizowany system wraz
z nowym Clearview:
# uname -srv
SunOS 5.11 cv_83
czwartek, 28 lutego 2008
Odświeżone Clearview
W najbliższym czasie będzie dostępne do pobrania nowe Clearview
(skompilowane z nowszą wersją ON).
Na razie można pobrać wersję skompilowaną (oraz źródła)
pod build 74 (download).
Projekt Clearview pozwala na:
- Obserwację całego ruchu IP włączając w to grupy IPMP, tunele itp.
- Obserwację ruchu sieciowego między strefami (ZONES).
- Możliwość administracji wszelkimi interfejsami sieciowymi
za pomocą 'dladm'.
- Używanie VLANów oraz agregacji na wszystkich dostępnych w
OpenSolaris kartach sieciowych.
- Użycie IPMP z DHCP i protokołami routingu.
- Wiele wiele innych.
(skompilowane z nowszą wersją ON).
Na razie można pobrać wersję skompilowaną (oraz źródła)
pod build 74 (download).
Projekt Clearview pozwala na:
- Obserwację całego ruchu IP włączając w to grupy IPMP, tunele itp.
- Obserwację ruchu sieciowego między strefami (ZONES).
- Możliwość administracji wszelkimi interfejsami sieciowymi
za pomocą 'dladm'.
- Używanie VLANów oraz agregacji na wszystkich dostępnych w
OpenSolaris kartach sieciowych.
- Użycie IPMP z DHCP i protokołami routingu.
- Wiele wiele innych.
Nexenta po polsku
Patryk Kuźmicz (jamzed) stworzył serwis http://nexenta.pl/
poświęcony Nexencie - dystrybucji OpenSolarisa bazującej
na jądrze Solarisa i narzędziach Debiana/Ubuntu.
Gratulacje! :)
poświęcony Nexencie - dystrybucji OpenSolarisa bazującej
na jądrze Solarisa i narzędziach Debiana/Ubuntu.
Gratulacje! :)
piątek, 22 lutego 2008
JASS w OpenSolaris
OpenSolaris będzie rozwijać JASS, który nie jest już rozwijany przez SUNa.
Powstał nowy projekt, na razie ma status ukryty.
Link do wątku:
http://www.opensolaris.org/jive/thread.jspa?threadID=52830&tstart=0
Powstał nowy projekt, na razie ma status ukryty.
Link do wątku:
http://www.opensolaris.org/jive/thread.jspa?threadID=52830&tstart=0
Subskrybuj:
Posty (Atom)