Ich möchte heute einmal beschreiben wie ich eine Enterprise 220R eine Frischzellenkur verpasst habe. Dabei habe ich das altertümliche Solaris 9 gegen Solaris Express ausgetauscht.
Probleme
- das DVD-Laufwerk der Enterprise 220R wollte keine gebrannten DVDs lesen
- mein Installserver auf einen 32-Bit x86-Notebook wollte nicht mit der Sun zusammenarbeiten - das kann aber auch an meiner Konfiguration gelegen haben
Lösung
Man kann sich noch Solaris Express Build 98 auf CDs herunter laden. Was ich dann auch gemacht habe. Um von einer CD zu booten muss man Stop + A drücken und dann im OK-Modus: OK> boot cdrom - text eingeben. Zur Zeit kann man zfs als root-Dateisystem nur im Text-Installer wählen. Ich nehme /var immer aus der Wurzel heraus. Im Gegensatz zu x86, wird der Text-Installer in einer Fensterumgebung gestartet. Das hatte mich sehr verwundert und ich war schon dran neu zu booten.
Die Installation läuft jetzt so ab wie man sie kennt, einfach den Anweisungen folgen. Wenn man dann endlich sein Grundsystem installiert hat, loggt man sich erst einmal ein, als root - einen anderen User gibt es ja noch nicht.
Erste Verbesserungen am System
- /opt aus der Wurzel heraus nehmen
Zusätzliche Software installiere ich immer unter /opt. Deswegen ist /opt bei mir ein eigenes Dateisystem. Ich sehe nur Vorteile in der Verwendung eines eigenen Dateisystems:
- Überblick über den Speicherverbrauch (# zfs list)
- Tuning des Dateisystems
- zfs ist es egal wie viele Dateisysteme es hat
NAME USED AVAIL REFER MOUNTPOINT
rpool 15,3G 27,9G 62K /rpool
rpool/ROOT 12,2G 27,9G 18K legacy
rpool/ROOT/snv_98 12,2G 27,9G 6,55G /
rpool/ROOT/snv_98/var 300M 27,9G 172M /var
rpool/dump 1,00G 27,9G 1,00G -
rpool/export 56,7M 27,9G 20,5K /export
rpool/export/home 56,7M 27,9G 56,7M /export/home
rpool/swap 2G 29,9G 25,8M -
# mv /opt{,_org}
# zfs create rpool/ROOT/snv_98/opt
# mv /opt_org/* /opt/
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 15,3G 27,9G 62K /rpool
rpool/ROOT 12,2G 27,9G 18K legacy
rpool/ROOT/snv_98 12,2G 27,9G 6,55G /
rpool/ROOT/snv_98/opt 1,12G 27,9G 585M /opt
rpool/ROOT/snv_98/var 300M 27,9G 172M /var
rpool/dump 1,00G 27,9G 1,00G -
rpool/export 56,7M 27,9G 20,5K /export
rpool/export/home 56,7M 27,9G 56,7M /export/home
rpool/swap 2G 29,9G 25,8M -
Nun ist /opt ein selbstständiges Dateisystem. - Als nächstes sollte man eine Shell einigermaßen benutzerfreundlich konfigurieren. Ich benutze sehr gerne die bash. Dazu stelle ich die Datei /etc/bashrc bereit. Diese binde ich dann je nach Umgebung ein.
# cat /etc/bashrc
#########################
# Definition der Farben #
#########################
RED="\[\e[1;31m\]"
NORMAL="\[\e[0m\]"
GREEN="\[\e[1;32m\]"
BLAU="\[\e[1;34m\]"
if [[ $EUID == 0 ]] ; then
PS1="$RED\u@\h$BLAU \W \$$NORMAL "
else
PS1="$GREEN\u@\h$BLAU \W \$$NORMAL "
fi
###############################
# Fenstertitel ueberschreiben #
###############################
case ${TERM} in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
;;
screen)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'
;;
esac
alias ls="/usr/gnu/bin/ls --color=auto"
alias l="/usr/gnu/bin/ls -al --color=auto"
alias grep="/usr/gnu/bin/grep --color=auto"
Lifeupgrade auf eine neue Version
- Das Solaris-DVD Image herunter laden. Ich gehe jetzt davon aus, das das Image unter /root/sol-nv-b103-sparc-dvd.iso liegt
- Image mounten:
# lofiadm -a /root/sol-nv-b103-sparc-dvd.iso /dev/lofi/1
# mount -F hsfs /dev/lofi/1 /mnt - liveupgrade updaten
# cd /mnt/
# ./installer - neue Boot-umgebung erstellen
# lucreate -n snv_103
Die Dateisysteme der Quell-Boot-Umgebung <snv_103> werden mit den für die
neue Boot-Umgebung angegebenen Dateisystemen verglichen. Es wird
ermittelt, welche Dateisysteme in der neuen Boot-Umgebung enthalten sein
sollten.
BU-Beschreibungsdatenbank wird in allen BUs aktualisiert.
Systemkonfigurationsdateien werden aktualisiert.
Konfiguration für Boot-Umgebung <snv_103> wird erstellt.
Die Ausgangs-BU ist <snv_98>.
Boot-Umgebung <snv_98> wird erstellt.
Cloning file systems from boot environment <snv_98> to create boot environment <snv_103>.
Creating snapshot for <rpool/ROOT/snv_98> on <rpool/ROOT/snv_103@snv_103>.
Creating clone for <rpool/ROOT/snv_98@snv_103> on <rpool/ROOT/snv_103>.
Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/snv_103>.
Creating snapshot for <rpool/ROOT/snv_98/var> on <rpool/ROOT/snv_98/var@snv_103>.
Creating clone for <rpool/ROOT/snv_98/var@snv_103> on <rpool/ROOT/snv_103/var>.
Setting canmount=noauto for </var> in zone <global> on <rpool/ROOT/snv_103/var>.
Kopieren von Daten für Boot-Umgebung <snv_103> erfolgreich abgeschlossen.
Erzeugung der Boot-Umgebung <snv_103> erfolgreich abgeschlossen. - lifeupgrade durchführen, canmount=auto sollte sorgen, dass der Fehler am Ende nicht auftritt
# zfs set canmount=noauto rpool/ROOT/snv_98/opt
# luupgrade -u -n snv_103 -s /mnt/ -l /export/error_log.txt
50763 Blöcke
Miniroot-Dateisystem ist <lofs>
Miniroot wird an </mnt//Solaris_11/Tools/Boot> eingehängt.
Der Inhalt des Mediums </mnt/> wird überprüft.
Das Medium ist ein Standard-Solaris-Medium.
Das Medium enthält ein Image für eine Betriebssystem-Aufrüstung.
Das Medium enthält <Solaris> Version <11>.
Zu verwendendes Upgrade-Profil wird erstellt.
Das Programm für die Aufrüstung des Betriebssystems wird gesucht.
Es wird geprüft, ob frühere eingeplante Live Upgrade-Anforderungen vorliegen.
Das Aufrüstungsprofil für die BU <snv_103> wird erstellt.
Packages für Installation oder Upgrade von BU <snv_103> werden bestimmt.
Aufrüstung des Betriebssystems von BU <snv_103> wird durchgeführt.
VORSICHT: Wenn Sie diesen Prozess unterbrechen, wird die Boot-Umgebung
möglicherweise instabil oder kann nicht gebootet werden.
Solaris wird aufgerüstet: 100% fertig
Installation of the packages from this media is complete.
Betriebssystem-Patches werden in BU <snv_103> eingefügt.
Die Patch-Installation des Betriebssystems ist abgeschlossen.
INFORMATION: Die Datei </var/sadm/system/logs/upgrade_log> in der
Boot-Umgebung <snv_103> enthält ein Upgrade-Protokoll.
INFORMATION: Die Datei </var/sadm/system/data/upgrade_cleanup> in der
Boot-Umgebung <snv_103> enthält ein Protokoll der erforderlichen
Bereinigungsvorgänge.
WARNUNG: <1> Packages wurden auf Boot-Umgebung <snv_103> nicht ordnungsgemäß installiert.
INFORMATION: Die Datei </var/sadm/system/data/upgrade_failed_pkgadds> in
der Boot-Umgebung <snv_103> enthält eine Liste der Packages, die nicht
ordnungsgemäß aktualisiert oder installiert werden konnten.
INFORMATION: Überprüfen Sie die oben aufgeführten Dateien. Beachten Sie,
dass sich alle Dateien in der Boot-Umgebung <snv_103> befinden. Vor dem
Aktivieren der Boot-Umgebung <snv_103> müssen Sie ermitteln, ob eine
zusätzliche Systemwartung erforderlich ist bzw. ob weitere Datenträger aus
dem Distributionspaket installiert werden müssen.
Die Solaris-Aufrüstung der Boot-Umgebung <snv_103> wurde nur teilweise abgeschlossen.
Nachsehen, welche Packte nicht installiert werden konnten
# lumount snv_103
/.alt.snv_103
# cat /.alt.snv_103/var/sadm/system/data/upgrade_failed_pkgadds
SUNWslocate-root
# luumount snv_103
Defektes Packet entfernen
# luupgrade -P -n snv_103 SUNWslocate-root
BU <snv_103> wird eingehängt.
Packages werden aus BU <snv_103> gelöscht.
Folgendes Package ist derzeit installiert:
SUNWslocate-root Finds files on a system via a central database - / filesystem
(sparc) 3.1,REV=110.0.4.2008.11.05.08.13
Wollen Sie dieses Package entfernen? [y,n,?,q] y
## Installierte Package-Version <SUNWslocate-root> wird entfernt
## Prüfen von Abhängigkeiten von Package <SUNWslocate-root> in globaler Zone
## Package-Informationen werden verarbeitet.
## Pfadnamen in Klasse <none> werden entfernt
/a/var/lib/slocate/slocate.db
/a/var/lib/slocate
/a/var/lib <Gemeinsam genutzter Pfadname wurde nicht entfernt>
/a/var <Gemeinsam genutzter Pfadname wurde nicht entfernt>
## Systeminformationen werden aktualisiert.
Entfernen von <SUNWslocate-root> erfolgreich.
BU <snv_103> wird ausgehängt.
Das Entfernen der Packages aus BU <snv_103> ist abgeschlossen.
Entferntes Packet neu installieren
# luupgrade -p -n snv_103 -s /mnt/Solaris_11/Product/ SUNWslocate-root
Der Inhalt des Mediums </mnt/Solaris_11/Product/> wird überprüft.
BU <snv_103> wird eingehängt.
Packages werden in BU <snv_103> eingefügt.
Verarbeite Package-Version <SUNWslocate-root> von </mnt/Solaris_11/Product>
Finds files on a system via a central database - / filesystem(sparc) 3.1,REV=110.0.4.2008.11.05.08.13
Copyright 2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
For the avoidance of doubt, except that if any license choice other
than GPL or LGPL is available it will apply instead, Sun elects to
use only the General Public License version 2 (GPLv2) at this time
for any software where a choice of GPL license versions is made
available with the language indicating that GPLv2 or any later
version may be used, or where a choice of which version of the GPL
is applied is otherwise unspecified.
--------------------------------------------------------------------
Licensing and copyright information for SUNWslocate:
License: GNU General Public License Version 2
You can find more information in the following directory:
/usr/share/doc/SUNWslocate
LICENSE.bz2: GNU GPL
Changelog.bz2: list of all changes and authors of slocate
README: more information about slocate
The sources of slocate-3.1 were downloaded
from http://slocate.trakker.ca/files/slocate-3.1.tar.gz
Verwende </a> als Basis-Verzeichnis für Package.
## Package-Informationen werden verarbeitet.
## Systeminformationen werden verarbeitet.
2-Package-Pfadnamen sind bereits korrekt installiert.
## Benötigter Plattenspeicher wird geprüft.
## Prüfung auf Konflikte mit bereits installierten Packages
## Prüfe auf setuid/setgid-Programme.
Dieses Package enthält Skripts, die während des Installationsvorgangs
mit Superuser-Zugriffsrechten ausgeführt werden.
Wollen Sie mit der Installation von <SUNWslocate-root> fortfahren? [y,n,?] y
Installiere Finds files on a system via a central database - / filesystem als <SUNWslocate-root>
## Installiere Teil 1 von 1.
1 Blöcke
Installation von <SUNWslocate-root> erfolgreich.
BU <snv_103> wird ausgehängt.
Das Hinzufügen der Packages für BU <snv_103> ist abgeschlossen.
Neue Boot-Umgebung aktivieren, Warnung ignorieren - haben uns schon drum gekümmert
# luactivate snv_103
WARNUNG: <1> Packages wurden auf Boot-Umgebung <snv_103> nicht ordnungsgemäß installiert.
INFORMATION: </var/sadm/system/data/upgrade_failed_pkgadds> auf
Boot-Umgebung <snv_103> enthält eine Liste von Packages, die nicht
ordnungsgemäß aktualisiert oder installiert wurden. Überprüfen Sie diese
Datei vor dem Neustart des Systems, um zu ermitteln, ob eine zusätzliche
Systemwartung nötig ist.
**********************************************************************
Die Ziel-Bootumgebung wurde aktiviert. Sie wird beim Neustart verwendet.
HINWEIS: Sie DÜRFEN NICHT die Befehle reboot, halt, oder uadmin verwenden.
Sie MÜSSEN für den Neustart entweder den Befehl init oder den Befehl
shutdown verwenden. Wenn Sie das System nicht mit init oder shutdown neu
starten, wird das System nicht mit der Ziel-BU gestartet.
**********************************************************************
Sollte beim Booten in die Ziel-BU ein Fehler auftreten, gehen Sie wie
folgt vor, um auf die aktuell betriebene Boot-Umgebung zurückzugreifen:
1. Enter the PROM monitor (ok prompt).
2. Boot the machine to Single User mode using a different boot device
(like the Solaris Install CD or Network). Examples:
At the PROM monitor (ok prompt):
For boot to Solaris CD: boot cdrom -s
For boot to network: boot net -s
3. Mount the Current boot environment root slice to some directory (like
/mnt). You can use the following command to mount:
mount -Fzfs /dev/dsk/c0t0d0s0 /mnt
4. Run <luactivate> utility with out any arguments from the current boot
environment root slice, as shown below:
/mnt/sbin/luactivate
5. luactivate, activates the previous working boot environment and
indicates the result.
6. Exit Single User mode and reboot the machine.
**********************************************************************
Boot-Archivierungsdienst wird geändert.
Aktivierung der Boot-Umgebung <snv_103> erfolgreich abgeschlossen.
#
# luactivate snv_98
Die aktuelle Boot-Umgebung <snv_98> wird für den nächsten Neustart aktiviert.
Die aktuelle Boot-Umgebung <snv_98> wurde für den nächsten Neustart aktiviert.
# lumount snv_103
/.alt.snv_103
# rm /.alt.snv_103/var/sadm/system/data/upgrade_failed_pkgadds
# luumount snv_103
# luactivate snv_103
**********************************************************************
Die Ziel-Bootumgebung wurde aktiviert. Sie wird beim Neustart verwendet.
HINWEIS: Sie DÜRFEN NICHT die Befehle reboot, halt, oder uadmin verwenden.
Sie MÜSSEN für den Neustart entweder den Befehl init oder den Befehl
shutdown verwenden. Wenn Sie das System nicht mit init oder shutdown neu
starten, wird das System nicht mit der Ziel-BU gestartet.
**********************************************************************
Sollte beim Booten in die Ziel-BU ein Fehler auftreten, gehen Sie wie
folgt vor, um auf die aktuell betriebene Boot-Umgebung zurückzugreifen:
1. Enter the PROM monitor (ok prompt).
2. Boot the machine to Single User mode using a different boot device
(like the Solaris Install CD or Network). Examples:
At the PROM monitor (ok prompt):
For boot to Solaris CD: boot cdrom -s
For boot to network: boot net -s
3. Mount the Current boot environment root slice to some directory (like
/mnt). You can use the following command to mount:
mount -Fzfs /dev/dsk/c0t0d0s0 /mnt
4. Run <luactivate> utility with out any arguments from the current boot
environment root slice, as shown below:
/mnt/sbin/luactivate
5. luactivate, activates the previous working boot environment and
indicates the result.
6. Exit Single User mode and reboot the machine.
**********************************************************************
Boot-Archivierungsdienst wird geändert.
Aktivierung der Boot-Umgebung <snv_103> erfolgreich abgeschlossen.
# lustatus
Boot-Umgebung Ist Aktiv Aktiv Kann Kopieren
Name Fertig Jetzt Bei Neustart Löschen Status
-------------------------- -------- ------ --------- ------ ----------
snv_98 yes yes no no -
snv_103 yes no yes no -
# init 6
Etwas Gedult, das init 6 dauert recht lange, ich habe mittels prstat verfolgt wie die Prozesse beendet werden, da wird das warten nicht so langweilig
Bei mir gab es nach dem Neustart noch Probleme. Solaris meinte es könne nicht /opt mounten, weil das Verzeichnis nicht leer ist. /opt war aber gemountet als habe ich das Problem wie folgt umgangen:
# svcadm clear svc:/system/filesystem/local:default
# init 6
Nun arbeitet die Enterprise 220R so wie sie soll. Ich hoffe ich habe alles aufgeschrieben. Wenn man sich unsicher ist, einfach die Ausgaben 2 mal lesen und vorher in der manpage nachlesen was die Befehle machen.