Um die zuletzt durchgeführte Installation einer Liefereinheit rückgängig zu machen, wird diese Liefereinheit wieder aus dem System entfernt (wie bei einer Deinstallation). Zusätzlich wird der ursprüngliche Zustand, der vor Installation der Liefereinheit bestand, auf Basis der bei der Installation gesicherten Undo-Dateien wiederhergestellt.
Die Undo-Funktion setzt voraus, dass bei der Installation eine Sicherung mit Erstellung von Undo-Dateien veranlasst wurde. Eine Undo-Datei enthält jeweils die Metadaten über die Deinstallation einer Liefereinheit. Sie wird bei der Installation auf der Arbeitsdateikennung SYSSAG (falls nicht vorhanden unter TSOS) des Ziel-Pubsets mit folgendem Namen angelegt:
:<catid des ziel-pubsets>:$SYSSAG.IMON.UNDO.<name der liefereinheit>
Mit der Undo-Funktion kann nur ein SCI mit dem Standardnamen $TSOS.SYS.IMON.SCI (auf dem Home-Pubset oder einem importierten Pubset) bearbeitet werden.
Der Undo-Prozess wird durch die IMON-Funktion „Bearbeiten: Undo“ bzw. der Anweisung UNDO-SUPPLY-UNITS ausgelöst. Er wird in zwei Phasen aufgeteilt:
| Vorbereitung der Undo-Funktion eigentliche Durchführung |
Vorbereitung der Undo-Funktion
Gibt an, ob nach Durchführung der Voranalyse die eigentlichen Undo-Aktionen ausgeführt werden sollen. Bei der Voranalyse wird überprüft, ob die wichtigsten Voraussetzungen dazu gegeben sind:
Subsysteme, die entfernt werden sollen, müssen angehalten sein.
Dateien, deren Aktivierung rückgängig gemacht werden soll und die nicht bei der UNDO-Verarbeitung rekonstruiert werden, müssen zugreifbar sein.
Testmodus
Die Undo-Funktion kann auch im Testmodus aufgerufen werden (Operand EXECUTION=*NO in der Anweisung UNDO-SUPPLY-UNITS bzw. Direkter Ablauf = 2 (Nein) im Menü-Modus). In diesem Fall wird nur die Voranalyse durchgeführt und das Ergebnis protokolliert.
Eigentliche Durchführung
In dieser Phase werden wie bei der Deinstallation (siehe "Deinstallieren ") folgende Maßnahmen durchgeführt:
Deaktivierung von Dateien
Subsysteme, Syntax- und Meldungsdateien, die bei der entsprechenden Installation aktiviert wurden, werden wieder deaktiviert. Ein aktiviertes POSIX-Item wird aus dem POSIX-System entfernt. Dabei werden die POSIX „remove“-Kommandos in der Datei $SYSROOT.IMON.ACTIONS.REM gespeichert, die automatisch beim nächsten Start des POSIX-Subsystems ausgeführt wird.
Löschen von Dateien
Dateien, die bei der entsprechenden Installation erstellt wurden, werden wieder gelöscht.
Bereinigen des SCI
Einträge, die bei der entsprechenden Installation im SCI erstellt wurden, werden wieder daraus entfernt.
Um den ursprünglichen Zustand wieder herzustellen, werden zusätzlich folgende Maßnahmen durchgeführt:
Aktivierung von Dateien
Subsysteme, Syntax- und Meldungsdateien, die bei der entsprechenden Installation deaktiviert wurden, werden wieder aktiviert. Zusätzlich wird jedes POSIX-Produkt, dass beim Hinzufügen eines neuen Produkts während der Installation entfernt wird, im POSIX-System restauriert. Dabei werden die notwendigen POSIX „add“-Kommandos in der Datei $SYSROOT.IMON.ACTIONS.ADD gespeichert, die beim nächsten Start des POSIX-Subsystems ausgeführt wird.
Rekonstruktion von Dateien
Dateien, die bei der entsprechenden Installation verändert oder gelöscht wurden, werden wieder rekonstruiert.
Konsistenz und Fehlerbehandlung
Um eine konsistente Bearbeitung zu leisten, wird die Undo-Funktion in mehreren Schritten durchgeführt. Jeder Bearbeitungsschritt muss erfolgreich ausgeführt sein, bevor der nächste Schritt begonnen wird.
Tritt während eines Bearbeitungsschritts ein Fehler auf, wird eine Fehlerbehandlung eingeleitet:
Im interaktiven Modus wird die Bearbeitung unterbrochen und eine zu beantwortende
Meldung mit Hinweisen zur Behandlung des Fehlers ausgegeben. Abhängig von der Antwort des Benutzers wird die Undo-Funktion abgebrochen, mit Ignorieren des Fehlers fortgesetzt oder im Test-Modus fortgesetzt.
Im Prozedur- oder Batch-Modus wird die UNDO-SUPPLY-UNITS-Anweisung beim ersten auftretenden Fehler abnormal beendet.