Hairfeti
Mitglied
Thread Starter
- Dabei seit
- 08.11.2003
- Beiträge
- 464
- Reaktionspunkte
- 0
Wichtigkeit, Notwendigkeit, Maßnahmen, Nutzen ...
Ich habe so das Gefühl, daß einige Leute hier sich noch nicht ganz im Klaren darüber sind, im Klaren darüber sein wollen und eine Klarheit darüber vermeiden wollen, was eine Optimierung (Instandhaltung) eines UNIX MAC OS X betrifft.
Ein gewisses Manko an Akzeptanz wie auch an Grundwissen scheint sich hier ungebremst einen Weg bahnen zu wollen. Das möchte ich hier nicht weiter ausufern lassen und verfasse deshalb hier noch einmal einen zusammenhängenden Bericht über dieses Thema.
Die Wichtigkeit und Notwendigkeit einer Optimierung des Systems ergibt sich eigentlich aus der Tatsache, daß ein Betriebssystem mit allen seinen Komponenten und Applicationen ein höchst sensibeles Ergebnis der Programmiertechnik ist, welches von Menschen für Menschen entwickelt und geschaffen wurde.
Und Menschen machen nun mal Fehler. Und jedes System und jedes Programm hat seinen Schwachpunkt und eine Knackstelle. Nichts ist komplett. Viele BUGS, so nennt man das Fehlverhalten solcher Programme, sind allerdings so minimal und unmerkbar, daß man sie vernachlässigen kann. Was aber nicht heißen soll, daß sie in bestimmten Situationen keine Komplikationen auslösen könnten. Im Gegenteil, sie tun es. Und das ständig, ewig und immerzu. Man könnte auch sagen, wir arbeiten zwischen BUG und Feature. Manchmal kann man sogar fast keinen Unterschied feststellen. Nur ein Spezialist kann dann noch entscheiden ob das Ergebnis gewollt ist oder vermieden werden sollte.
So ein BUG, ich komme hier gleich mal zur Sache, ist eine unsauber programmierte Ressource eines Programms, welche ohne Erlaubnis eine Änderung der Zugriffsrechte im Dateisystem vornimmt. Dadurch können wiederum andere Programmbefehle nicht mehr ausgeführt werden, das Programm stellt die Arbeit ein (friert ein) und das System wehrt sich gegen einen vermutlichen Angriff und beendet diese Programmschleife.
Nicht immer macht aber so ein Vorfall so wenig Probleme, es kann auch schlimmer kommen. Dokumente werden nicht abgespeichert, stundenlange Arbeit an einem Projekt war umsonst, wirtschaftliche Verluste kommen zum Tragen.
Das muß nicht sein, denn wir wissen wie wir dem vorbeugen können.
Und eben um Vorbeugung und Vorbereitung geht es bei einer Optimierung. Wenn man regelmäßig Wartungsarbeiten durchführt, so kann man bei der Arbeit fast sicher sein, daß es zu keinen weiteren Komplikationen kommen wird. Und unter regelmäßig verstehe ich:
Jeder 10. Systemstart erfolgt bei mir im Single-User-Mode (Start + Apfeltaste + s). So ermögliche ich dem System in seinem "Rohformat" zu starten. Es werden keinerlei Erweiterungen und Dienste gestartet. Im Terminal gebe ich dann Befehle ein, die zunächst das Disk-Utility auffordert die Hard-Disk auf Fehler zu überprüfen. (fsck -f oder fsck- y) Dann mounte ich das File-System beschreibbar und schaue mir die komplette Datei-Hirarchie an, gehe ins Detail, lasse mir vermutliche Verzeichnisse anzeigen und lösche gegebenfalls sofort Daten die dort nichts verloren haben. (/sbin/mount -uw /) (rm -R Datei oder Verzeichnis) Wer soll es denn bitte tun, wenn ihr es bei euch nicht macht?
Damit entledigt man sich nicht nur unwichtiger Programmreste, sondern man entfernt auch gleich Komponenten die sonst unnötigerweise vom System gestartet würden. Dazu kommen noch Temporäre Daten die nicht täglich entfernt werden und Java-Applicationen aus der letzten Chat-Sitzung im Internet. Solche Ressourcen können vom Benutzer unbemerkt eine Internetverbindung aufbauen und Datenpackete an Systemfremde weiterleiten, können wie gesagt, müssen nicht.
Man lernt das System natürlich nicht von heute auf morgen kennen. Dazu bedarf es schon einiger Übung daß man feststellen kann ob die Sache da nun hingehört oder nicht.
Dazu muß man aber zumindest mal ein Standard-System nach einer Neuinstallation im Terminal gesehen haben.
Dieses Verhältnis zum System, sage ich mal, wird sich von Mal zu Mal festigen und ins Blut eines jeden übergehen. Es wird dann auch nicht mehr als anwenderunfreundlich und lästig emfunden. Es wird eines Tages zu den täglichen Arbeiten einfach mit dazu gehören und zur Selbstverständlichkeit werden.
Unter bis MAC OS 9.2 war das noch nicht nötig gewesen, jetzt aber schon.
Zur weiteren Wartung gehört der System-Dienst CRON, den ich an anderer Stelle schon beschrieben habe. Er sollte grundsätzlich gestartet werden und seine Arbeit ausführen, sei sie auch noch so sinnlos. Ich verweise noch mal darauf daß unser System ein UNIX-System ist und CRON zu seiner Standard-Ausrüstung gehört. Wenn der CRON-Dienst seine Arbeit nicht ausführen kann, wird es vermutlich an den Startzeiten der Dienste liegen. Man kann diese in Bereiche verlagern, wo das System aktiv ist.
Ein weiterer Punkt ist das Abschalten von Diensten und das Schließen von Daten-Ports die nicht benötigt werden. Dazu muß man manche manuell in einer Einstellungsdatei von einem Betrieb ausschließen. Beispiel PostFix: Der Mailserver startet standardmäßig laut Startanweisung in der Datei /etc/hostconfig. Seine Einstellungsdatei allerdings ist unkomplett. Daher verweigert er laut Log-File den Dienst und beendet sich mit einer Fehlermeldung. Das muß nicht sein. Man beseitigt diesen Umstand und das System ist wieder ungestört.
Das Update_prebinding hatten wir auch schon an anderer Stelle im Gespräch. Wir wissen nun alle was es tut und wie es das macht. Nochmal zur Wiederholung: Es stellt die Verbindung von Komponenten zu Komponenten her, damit bei einem Programmstart der Ort der Ressourcen bereits bekannt ist und nicht lange danach gesucht werden muß.
Man kann diesen Vorgang gar nicht oft genug durchführen. Das Binden ist im System mit der Wichtigkeit der Zugriffsrechte gleichzusetzen. Und genausoschnell sind auch die "Bindungen" von Fehlern betroffen und benötigen eine Reparatur. Also wenn ihr gerade mal nichts zu tun habt, führt einfach das Prebinding aus ehe der Rechner gerade 0 macht. Und ihr tut ihm damit einen großen Gefallen und euch auch.
Das System und sein Herz der Mach-Kernel sind nur eine Komponente von vielen die einer Wartung bedürfen. Es gibt reichlich mehr davon, mit denen sicher einige unter uns nie etwas zu tun haben werden.
Viele Möglichkeiten gibt es zur Zeit noch nicht, aber es gibt sie, um ein System schon von der Erstinstallation an so klein und kompakt wie möglich zu gestalten. Die Installer-Software macht es möglich, daß der Benutzer sein System fast selbst zusammenstellen kann, so daß es seinem Nutzen voll gerecht werden kann. Wenn man vorwiegend Anwenderprogramme in der GUI verwendet, so genügt das Minimalsystem und man kann gut auf das BSD-Subsystem, den X11-Server, die Developer-Tools und eine Menge Sprachdateien und Druckertreiber verzichten. das spart nicht nur Platz, sondern verringert den Wartungsaufwand entscheidend. Wer die Dienste Apache, FTP, Sendmail, Postfix, SSH, Filesharing, Samba, Windows-Sharing, PHP und Printer-Sharing nie benötigen wird, kann diese auch entfernen. Doch bedenke man dabei: Sollte man nur einen Dienst später mal verwenden wollen, so bleibt nur die Gesamte Neuinstallation eines Systems. Oder man hat die Developer-Tools, mit denen man sich Software-Packete selbst kompilieren und installieren kann die im Internet frei erhältlich sind.
Benutzt man allerdings auch die Dienste die ich oben erwähnt habe, so empfiehlt sich dafür die Wartungssoftware zu verwenden die dazu geeignet und vielseits im Angebot ist.
Die meißten davon sind sogar kostenlos und frei im Internet erhältlich. Ich nenne hier mal ein Beispiel: MySQL-Datenbank - Server = PHPMyAdmin.
Für solche Zwecke sollte man dann eben ein BSD-Subsystem, die X-Code-Tools und möglichst alle Angebote zur Erweiterung des UNIX-Unterbaus nachrüsten. Diese Tools erweitern die Funktionalität des Systems um einige wichtige Ressourcen, auf die man nicht verzichten kann. So ist man weitgehend unabhängig und kann jederzeit wichtige Komponenten nachinstallieren und selbst zusammenstellen.
Man kann also schon vom ersten Tag an für eine Optimierung des Systems sorgen und hat dann auch lange Freude daran.
Auch ich benutze natürlich vorwiegend die Grafische Benutzeroberfläche von MAC OS X für meine tägliche Arbeit, jedoch habe ich auch mindestens eine Handvoll Hintergrundprozesse in Betrieb die man leider nicht so komfortabel bedienen kann. Ich kann diese aber aufgrund meiner optimalen Konfiguration, Wartung und Pflege ohne weiteres im Hintergrund ihre Arbeit tun lassen, ohne noch einen Finger dafür krumm zu machen. Kontakt mit dem Dienst erfolgt über Terminal oder Wartungs-Tool in der GUI, wenn möglich. Fast alles läuft aber automatisch ab und über etwaige Störungen werde ich per Log-File, E-Mail oder ein Fehlerprotokoll-Tool informiert.
Sicher muß jeder für sich selbst entscheiden wie er mit seinem Computer umgehen möchte. Aber eines haben wir alle Benutzer gemeinsam. Wir möchten zu unserer täglichen Arbeit Programme ausführen, die von einem Betriebssystem sicher und möglichst fehlerfrei durch den Arbeitsablauf geführt werden. Und das gibts leider nicht umsonst. Dafür muß man auch selbst etwas beitragen. Um das zu können, ist ein Allgemeines Grundwissen über diese Prozesse unausweichlich und eine Voraussetzung.
Wer es also nicht für nötig hält, muß nachher nicht jammern daß er was nicht versteht.
Ganz einfach. Daß man es vielleicht nicht muß, da man ja der Anwender einer neuen benutzerfreundlichen, grafischen Betriebsoberfläche ist, ist einfach nur eine dumme Ausrede. Und solche Meinungen wird es immer wieder geben. Davon sollte sich die Mehrheit allerdings nicht beirren lassen.
Ich habe so das Gefühl, daß einige Leute hier sich noch nicht ganz im Klaren darüber sind, im Klaren darüber sein wollen und eine Klarheit darüber vermeiden wollen, was eine Optimierung (Instandhaltung) eines UNIX MAC OS X betrifft.
Ein gewisses Manko an Akzeptanz wie auch an Grundwissen scheint sich hier ungebremst einen Weg bahnen zu wollen. Das möchte ich hier nicht weiter ausufern lassen und verfasse deshalb hier noch einmal einen zusammenhängenden Bericht über dieses Thema.
Die Wichtigkeit und Notwendigkeit einer Optimierung des Systems ergibt sich eigentlich aus der Tatsache, daß ein Betriebssystem mit allen seinen Komponenten und Applicationen ein höchst sensibeles Ergebnis der Programmiertechnik ist, welches von Menschen für Menschen entwickelt und geschaffen wurde.
Und Menschen machen nun mal Fehler. Und jedes System und jedes Programm hat seinen Schwachpunkt und eine Knackstelle. Nichts ist komplett. Viele BUGS, so nennt man das Fehlverhalten solcher Programme, sind allerdings so minimal und unmerkbar, daß man sie vernachlässigen kann. Was aber nicht heißen soll, daß sie in bestimmten Situationen keine Komplikationen auslösen könnten. Im Gegenteil, sie tun es. Und das ständig, ewig und immerzu. Man könnte auch sagen, wir arbeiten zwischen BUG und Feature. Manchmal kann man sogar fast keinen Unterschied feststellen. Nur ein Spezialist kann dann noch entscheiden ob das Ergebnis gewollt ist oder vermieden werden sollte.
So ein BUG, ich komme hier gleich mal zur Sache, ist eine unsauber programmierte Ressource eines Programms, welche ohne Erlaubnis eine Änderung der Zugriffsrechte im Dateisystem vornimmt. Dadurch können wiederum andere Programmbefehle nicht mehr ausgeführt werden, das Programm stellt die Arbeit ein (friert ein) und das System wehrt sich gegen einen vermutlichen Angriff und beendet diese Programmschleife.
Nicht immer macht aber so ein Vorfall so wenig Probleme, es kann auch schlimmer kommen. Dokumente werden nicht abgespeichert, stundenlange Arbeit an einem Projekt war umsonst, wirtschaftliche Verluste kommen zum Tragen.
Das muß nicht sein, denn wir wissen wie wir dem vorbeugen können.
Und eben um Vorbeugung und Vorbereitung geht es bei einer Optimierung. Wenn man regelmäßig Wartungsarbeiten durchführt, so kann man bei der Arbeit fast sicher sein, daß es zu keinen weiteren Komplikationen kommen wird. Und unter regelmäßig verstehe ich:
Jeder 10. Systemstart erfolgt bei mir im Single-User-Mode (Start + Apfeltaste + s). So ermögliche ich dem System in seinem "Rohformat" zu starten. Es werden keinerlei Erweiterungen und Dienste gestartet. Im Terminal gebe ich dann Befehle ein, die zunächst das Disk-Utility auffordert die Hard-Disk auf Fehler zu überprüfen. (fsck -f oder fsck- y) Dann mounte ich das File-System beschreibbar und schaue mir die komplette Datei-Hirarchie an, gehe ins Detail, lasse mir vermutliche Verzeichnisse anzeigen und lösche gegebenfalls sofort Daten die dort nichts verloren haben. (/sbin/mount -uw /) (rm -R Datei oder Verzeichnis) Wer soll es denn bitte tun, wenn ihr es bei euch nicht macht?
Damit entledigt man sich nicht nur unwichtiger Programmreste, sondern man entfernt auch gleich Komponenten die sonst unnötigerweise vom System gestartet würden. Dazu kommen noch Temporäre Daten die nicht täglich entfernt werden und Java-Applicationen aus der letzten Chat-Sitzung im Internet. Solche Ressourcen können vom Benutzer unbemerkt eine Internetverbindung aufbauen und Datenpackete an Systemfremde weiterleiten, können wie gesagt, müssen nicht.
Man lernt das System natürlich nicht von heute auf morgen kennen. Dazu bedarf es schon einiger Übung daß man feststellen kann ob die Sache da nun hingehört oder nicht.
Dazu muß man aber zumindest mal ein Standard-System nach einer Neuinstallation im Terminal gesehen haben.
Dieses Verhältnis zum System, sage ich mal, wird sich von Mal zu Mal festigen und ins Blut eines jeden übergehen. Es wird dann auch nicht mehr als anwenderunfreundlich und lästig emfunden. Es wird eines Tages zu den täglichen Arbeiten einfach mit dazu gehören und zur Selbstverständlichkeit werden.
Unter bis MAC OS 9.2 war das noch nicht nötig gewesen, jetzt aber schon.
Zur weiteren Wartung gehört der System-Dienst CRON, den ich an anderer Stelle schon beschrieben habe. Er sollte grundsätzlich gestartet werden und seine Arbeit ausführen, sei sie auch noch so sinnlos. Ich verweise noch mal darauf daß unser System ein UNIX-System ist und CRON zu seiner Standard-Ausrüstung gehört. Wenn der CRON-Dienst seine Arbeit nicht ausführen kann, wird es vermutlich an den Startzeiten der Dienste liegen. Man kann diese in Bereiche verlagern, wo das System aktiv ist.
Ein weiterer Punkt ist das Abschalten von Diensten und das Schließen von Daten-Ports die nicht benötigt werden. Dazu muß man manche manuell in einer Einstellungsdatei von einem Betrieb ausschließen. Beispiel PostFix: Der Mailserver startet standardmäßig laut Startanweisung in der Datei /etc/hostconfig. Seine Einstellungsdatei allerdings ist unkomplett. Daher verweigert er laut Log-File den Dienst und beendet sich mit einer Fehlermeldung. Das muß nicht sein. Man beseitigt diesen Umstand und das System ist wieder ungestört.
Das Update_prebinding hatten wir auch schon an anderer Stelle im Gespräch. Wir wissen nun alle was es tut und wie es das macht. Nochmal zur Wiederholung: Es stellt die Verbindung von Komponenten zu Komponenten her, damit bei einem Programmstart der Ort der Ressourcen bereits bekannt ist und nicht lange danach gesucht werden muß.
Man kann diesen Vorgang gar nicht oft genug durchführen. Das Binden ist im System mit der Wichtigkeit der Zugriffsrechte gleichzusetzen. Und genausoschnell sind auch die "Bindungen" von Fehlern betroffen und benötigen eine Reparatur. Also wenn ihr gerade mal nichts zu tun habt, führt einfach das Prebinding aus ehe der Rechner gerade 0 macht. Und ihr tut ihm damit einen großen Gefallen und euch auch.
Das System und sein Herz der Mach-Kernel sind nur eine Komponente von vielen die einer Wartung bedürfen. Es gibt reichlich mehr davon, mit denen sicher einige unter uns nie etwas zu tun haben werden.
Viele Möglichkeiten gibt es zur Zeit noch nicht, aber es gibt sie, um ein System schon von der Erstinstallation an so klein und kompakt wie möglich zu gestalten. Die Installer-Software macht es möglich, daß der Benutzer sein System fast selbst zusammenstellen kann, so daß es seinem Nutzen voll gerecht werden kann. Wenn man vorwiegend Anwenderprogramme in der GUI verwendet, so genügt das Minimalsystem und man kann gut auf das BSD-Subsystem, den X11-Server, die Developer-Tools und eine Menge Sprachdateien und Druckertreiber verzichten. das spart nicht nur Platz, sondern verringert den Wartungsaufwand entscheidend. Wer die Dienste Apache, FTP, Sendmail, Postfix, SSH, Filesharing, Samba, Windows-Sharing, PHP und Printer-Sharing nie benötigen wird, kann diese auch entfernen. Doch bedenke man dabei: Sollte man nur einen Dienst später mal verwenden wollen, so bleibt nur die Gesamte Neuinstallation eines Systems. Oder man hat die Developer-Tools, mit denen man sich Software-Packete selbst kompilieren und installieren kann die im Internet frei erhältlich sind.
Benutzt man allerdings auch die Dienste die ich oben erwähnt habe, so empfiehlt sich dafür die Wartungssoftware zu verwenden die dazu geeignet und vielseits im Angebot ist.
Die meißten davon sind sogar kostenlos und frei im Internet erhältlich. Ich nenne hier mal ein Beispiel: MySQL-Datenbank - Server = PHPMyAdmin.
Für solche Zwecke sollte man dann eben ein BSD-Subsystem, die X-Code-Tools und möglichst alle Angebote zur Erweiterung des UNIX-Unterbaus nachrüsten. Diese Tools erweitern die Funktionalität des Systems um einige wichtige Ressourcen, auf die man nicht verzichten kann. So ist man weitgehend unabhängig und kann jederzeit wichtige Komponenten nachinstallieren und selbst zusammenstellen.
Man kann also schon vom ersten Tag an für eine Optimierung des Systems sorgen und hat dann auch lange Freude daran.
Auch ich benutze natürlich vorwiegend die Grafische Benutzeroberfläche von MAC OS X für meine tägliche Arbeit, jedoch habe ich auch mindestens eine Handvoll Hintergrundprozesse in Betrieb die man leider nicht so komfortabel bedienen kann. Ich kann diese aber aufgrund meiner optimalen Konfiguration, Wartung und Pflege ohne weiteres im Hintergrund ihre Arbeit tun lassen, ohne noch einen Finger dafür krumm zu machen. Kontakt mit dem Dienst erfolgt über Terminal oder Wartungs-Tool in der GUI, wenn möglich. Fast alles läuft aber automatisch ab und über etwaige Störungen werde ich per Log-File, E-Mail oder ein Fehlerprotokoll-Tool informiert.
Sicher muß jeder für sich selbst entscheiden wie er mit seinem Computer umgehen möchte. Aber eines haben wir alle Benutzer gemeinsam. Wir möchten zu unserer täglichen Arbeit Programme ausführen, die von einem Betriebssystem sicher und möglichst fehlerfrei durch den Arbeitsablauf geführt werden. Und das gibts leider nicht umsonst. Dafür muß man auch selbst etwas beitragen. Um das zu können, ist ein Allgemeines Grundwissen über diese Prozesse unausweichlich und eine Voraussetzung.
Wer es also nicht für nötig hält, muß nachher nicht jammern daß er was nicht versteht.
Ganz einfach. Daß man es vielleicht nicht muß, da man ja der Anwender einer neuen benutzerfreundlichen, grafischen Betriebsoberfläche ist, ist einfach nur eine dumme Ausrede. Und solche Meinungen wird es immer wieder geben. Davon sollte sich die Mehrheit allerdings nicht beirren lassen.
Zuletzt bearbeitet: