betriebssysteme
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| betriebssysteme [2025-09-01 09:41:27] – manfred | betriebssysteme [2025-09-01 09:42:10] (aktuell) – [KolibriOS] manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Betriebssysteme ====== | ||
| + | |||
| + | * **[[https:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | |||
| + | ===== Betriebssystemauswahl ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | * **[[BSD]]** (aus dem Ur - // | ||
| + | * **[[Linux]]** (freier // | ||
| + | * [[http:// | ||
| + | * [[Android]] | ||
| + | * **[[https:// | ||
| + | * [[https:// | ||
| + | * [[HURD]] - " | ||
| + | * [[MenuetOS]] - [[http:// | ||
| + | * [[http:// | ||
| + | * [[OS/2]] - ich habe nur auf Linux und später auf BSD umgestellt, weil die Verbreitung, | ||
| + | * [[Solaris]] / [[OpenSolaris]] (aus einem frühen // | ||
| + | * **[[Inferno]]** (Verlauf der [[http:// | ||
| + | * [[ReactOS]] (freier // | ||
| + | * [[Windows]] | ||
| + | |||
| + | |||
| + | ===== Systemwerkzeuge verschiedener Betriebssysteme ===== | ||
| + | |||
| + | __**[[:: | ||
| + | |||
| + | |||
| + | ===== Bücher ===== | ||
| + | |||
| + | für Einsteiger: | ||
| + | * ISBN-10: 3-639-09900-1 (UNIX für Einsteiger - Grundlagen von UNIX und Linux von Leibner Peter) | ||
| + | * ISBN-13: 978-3828710269 (Das Einsteigerseminar Unix von Frank Gehrke, Günter Klappheck und Matthias Wrigge) | ||
| + | |||
| + | für Fortgeschrittene: | ||
| + | * ISBN-10: 3827313627 (Linux- Unix Kurzreferenz. Unix und seine Werkzeuge von Helmut Herold) | ||
| + | |||
| + | |||
| + | ===== UEFI Secure Boot Modus ===== | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | Die Idee hinter "UEFI Secure Boot" ist, dass nur vertrauenswürdige Software, die signiert sein muss, auf die Hardware zugreifen darf. Damit will man Viren zu Leibe rücken, die es schaffen, am Betriebssystem vorbei, sich in den Bootsektor einzupflanzen. Bootet der Rechner nur noch vertrauenswürdige Betriebssysteme, | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | ===== dynamisch vergrößerndes Image ===== | ||
| + | |||
| + | ein sich dynamisch vergrößerndes Image (Startgröße => 1MB), | ||
| + | welches sich auf eine maximale Größe von bis zu 10GB vergrößern kann, | ||
| + | kann man so erstellen: | ||
| + | # dd if=/ | ||
| + | |||
| + | |||
| + | ===== UMASK ===== | ||
| + | |||
| + | Vor //Ubuntu 11.10// stand die Standard-UMASK auf ''" | ||
| + | |||
| + | * [[https:// | ||
| + | |||
| + | '' | ||
| + | '' | ||
| + | '' | ||
| + | '' | ||
| + | '' | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | ^ Mögliche Werte für: ^^^^^ | ||
| + | ^ ^ chmod (octal) ^ umask (octal) ^ Symbolisch ^ Binäre Entsprechung ^ | ||
| + | | Lesen, schreiben und ausführen | 7 | 0 | '' | ||
| + | | Lesen und Schreiben | ||
| + | | Lesen und Ausführen | ||
| + | | Nur lesen | 4 | 3 | '' | ||
| + | | Schreiben und Ausführen | ||
| + | | Nur Schreiben | ||
| + | | Nur Ausführen | ||
| + | | Keine Rechte | ||
| + | |||
| + | Die '' | ||
| + | - ''/ | ||
| + | - ''/ | ||
| + | - '' | ||
| + | |||
| + | zum Beispiel so: | ||
| + | > echo "umask 0022" >> ~/.profile | ||
| + | |||
| + | |||
| + | ===== bind-mount ===== | ||
| + | |||
| + | Will man ein Verzeichnis woanders hin mounten, geht das bei Linux mit: | ||
| + | # mount -o bind /home/gross / | ||
| + | |||
| + | Bei FreeBSD geht das mit: | ||
| + | # mount -t nullfs /home/gross / | ||
| + | |||
| + | |||
| + | ===== cat - tac ===== | ||
| + | |||
| + | Das UNIX-Kommando " | ||
| + | |||
| + | Das ist oft sehr nützlich, leider gibt es dieses Kommando nur in Linux jedoch nicht in FreeBSD. | ||
| + | In FreeBSD kann man exakt das gleiche Ergebnis erreichen, wenn man statt dessen **" | ||
| + | |||
| + | |||
| + | ===== ngrep (Netz-Grep) ===== | ||
| + | |||
| + | die SMTP Verbindung beobachten: | ||
| + | # ngrep -d eth0 port 25 | ||
| + | |||
| + | |||
| + | ===== Dump und Restore ===== | ||
| + | |||
| + | * [[Dump und Restore]] (FreeBSD) | ||
| + | |||
| + | |||
| + | ===== stat ===== | ||
| + | |||
| + | |||
| + | ==== FreeBSD ==== | ||
| + | |||
| + | alle Statusangeben anzeigen: | ||
| + | # stat -x test.txt | ||
| + | File: " | ||
| + | Size: 10 | ||
| + | Mode: (0644/ | ||
| + | Device: 227, | ||
| + | Access: Sun Oct 23 16:08:13 2011 | ||
| + | Modify: Sun Oct 23 16:08:13 2011 | ||
| + | Change: Sun Oct 23 16:08:13 2011 | ||
| + | |||
| + | # stat -s test.txt | ||
| + | st_dev=3155813346 st_ino=525336 st_mode=0100644 st_nlink=1 st_uid=1002 st_gid=1000 st_rdev=4294967295 st_size=10 st_atime=1319378893 st_mtime=1319378893 st_ctime=1319378893 st_birthtime=1319378893 st_blksize=4096 st_blocks=2 st_flags=0 | ||
| + | |||
| + | |||
| + | Zugriffsrechte anzeigen: | ||
| + | # stat -f ' | ||
| + | 100644 | ||
| + | |||
| + | Access (letzter Zugriff): | ||
| + | # stat -f ' | ||
| + | Oct 23 16:08:13 2011 | ||
| + | |||
| + | Modify (letzte Veränderung des Inhaltes): | ||
| + | # stat -f ' | ||
| + | Oct 23 16:08:13 2011 | ||
| + | |||
| + | Change (letzte Veränderung des Dateinamens): | ||
| + | # stat -f ' | ||
| + | Oct 23 16:08:13 2011 | ||
| + | |||
| + | |||
| + | ==== Linux ==== | ||
| + | |||
| + | alle Statusangeben anzeigen: | ||
| + | # stat test.txt | ||
| + | File: „test.txt“ | ||
| + | Size: 10 Blocks: 24 IO Block: 4096 | ||
| + | Device: 17h/23d Inode: 12338 | ||
| + | Access: (0644/ | ||
| + | Access: 2011-10-23 16: | ||
| + | Modify: 2011-10-23 16: | ||
| + | Change: 2011-10-23 16: | ||
| + | |||
| + | |||
| + | Zugriffsrechte anzeigen: | ||
| + | # stat -c ' | ||
| + | 644 | ||
| + | |||
| + | Access (letzter Zugriff): | ||
| + | # stat -c ' | ||
| + | 2011-10-23 16: | ||
| + | |||
| + | Modify (letzte Veränderung des Inhaltes): | ||
| + | # stat -c ' | ||
| + | 2011-10-23 16: | ||
| + | |||
| + | Change (letzte Veränderung des Dateinamens): | ||
| + | # stat -c ' | ||
| + | 2011-10-23 16: | ||
| + | |||
| + | |||
| + | ===== Bit-Breite ===== | ||
| + | |||
| + | Es ist möglich, die Bit-Breite mit einem einzigen kleinen Aufruf zu ermitteln: | ||
| + | |||
| + | getconf LONG_BIT | ||
| + | 64 | ||
| + | |||
| + | Allerdings hat diese Angabe nichts mit der CPU zu tun, sondern mit dem Betriebssystem. | ||
| + | |||
| + | Mit //uname// wird gezielt die Hardwareunterstützung durch das Betriebssystem abgefragt. | ||
| + | |||
| + | uname -m | ||
| + | x86_64 | ||
| + | |||
| + | Allerdings wird hier ein 32-Bit-Betriebssystem auch auf einer 64-Bit-Maschine nur " | ||
| + | |||
| + | |||
| + | ===== bei einer hohen Load die Übeltäter protokollieren ===== | ||
| + | |||
| + | Diese Script läuft unendlich lange und protokolliert bei einer Load ab //LOGLOAD// die ersten 30 Zeilen der TOP-Ausgabe im /// | ||
| + | |||
| + | #!/bin/sh | ||
| + | | ||
| + | LOGLOAD=" | ||
| + | | ||
| + | while true | ||
| + | do | ||
| + | if [ " | ||
| + | top -b -n 1 | head -n30 > / | ||
| + | fi | ||
| + | sleep 1 | ||
| + | done | ||
| + | |||
| + | |||
| + | ===== too many open files ===== | ||
| + | |||
| + | Die relevanten Werte können hiermit eingesehen und geändert werden. | ||
| + | |||
| + | betreffend der Shell bzw. den Benutzer (/ | ||
| + | # ulimit -n | ||
| + | |||
| + | diese Kerneloptionen gelten global (/ | ||
| + | # sysctl fs.file-max | ||
| + | |||
| + | |||
| + | ==== geöffnete Dateien finden ==== | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | was hat ein Programm geöffnet: | ||
| + | # lsof -c sendmail | ||
| + | |||
| + | welche Programme hängen am SMTP-Port: | ||
| + | # lsof -i :25 | ||
| + | |||
| + | welche Programme haben Logfiles geöffnet: | ||
| + | # lsof +D /var/log | ||
| + | |||
| + | Anzeige aller Prozesse, die gerade auf die Datei "/ | ||
| + | # lsof / | ||
| + | |||
| + | Anzeige aller Prozesse, die gerade auf die CD-ROM-Gerätedatei "/ | ||
| + | # lsof /dev/sdc | ||
| + | |||
| + | Beenden aller Prozesse, die noch auf ein ins CD-ROM-Laufwerk eingelegtes Medium zugreifen: | ||
| + | # kill $(lsof -t /cdrom) | ||
| + | |||
| + | Anzeige aller offenen Dateien des Prozesses mit der PID 2326: | ||
| + | # lsof -p 2326 | ||
| + | |||
| + | Anzeige aller offenen Dateien im Verzeichnis "/ | ||
| + | # lsof +D /tmp | ||
| + | |||
| + | Anzeige aller vom Benutzer " | ||
| + | # lsof -u max | ||
| + | |||
| + | Anzeige aller offenen Dateien, die nicht der Benutzer " | ||
| + | # lsof -u ^root | ||
| + | |||
| + | Anzeige einer ähnlichen Prozessliste wie ps aux durch Auflisten der Einträge mit Dateideskriptoreintrag " | ||
| + | # lsof -d txt | ||
| + | |||
| + | Anzeige aller gelöschten Dateien, die noch geöffnet sind und daher Plattenplatz verbrauchen, | ||
| + | # lsof +L1 | ||
| + | |||
| + | Anzeige aller netzwerkrelevanten Dateien: | ||
| + | # lsof -i | ||
| + | |||
| + | Anzeige aller netzwerkrelevanten Dateien, ohne die Portnummern als Dienstbezeichnung auszuschreiben und ohne die Hostnamen aufzulösen (daher deutlich schneller): | ||
| + | # lsof -i -P -n | ||
| + | |||
| + | Anzeige aller IPv6-bezogenen Dateien: | ||
| + | # lsof -i6 | ||
| + | |||
| + | Anzeige aller aktiven Verbindungen: | ||
| + | # lsof -i | grep ' | ||
| + | |||
| + | Anzeige aller derzeit vom Benutzer " | ||
| + | # lsof -a -i -u www-data | ||
| + | |||
| + | |||
| + | ===== Meine BS-Erfahrungen ===== | ||
| + | |||
| + | |||
| + | ==== Stand Ende 2000 ==== | ||
| + | |||
| + | In [[http:// | ||
| + | Besonders FreeBSD kann durch die große Anzahl an portierten Programmen | ||
| + | sehr gut als Arbeitsplatzbetriebssystem eingesetzt werden. | ||
| + | Wenn unter *BSD ein " | ||
| + | in *BSD einfacher als unter Linux, da der " | ||
| + | die Patches und andere Besonderheiten, | ||
| + | da diese Informationen bereits im " | ||
| + | |||
| + | Bei den bekanntesten Vertretern der BSD-Reihe handelt es sich um drei Betriebssysteme, | ||
| + | die jeweils auf einem anderen Gebiet spezialisiert sind: | ||
| + | - NetBSD => saubere Programmierarbeit; | ||
| + | - FreeBSD => Intel-Plattform so gut wie möglich unterstützen; | ||
| + | - OpenBSD => SICHERHEIT; viele Plattformen unterstützen; | ||
| + | |||
| + | Das selbst die //GNU// nicht ganz zufrieden mit dem // | ||
| + | daran, dass sie (trotz Kritik) das Projekt //HURD// nie eingestellt haben | ||
| + | und sogar Portierungen der Debian GNU-Pakete auf die // | ||
| + | (z.B. // | ||
| + | Linux ist eben mehr Marketing als Brillants. //Linuz Torwalds// (der Initiator des Kernels //Linux//) sagte einmal sinngemäß, | ||
| + | |||
| + | |||
| + | Presse: Meine Erfahrungen decken sich mit diesen | ||
| + | (doch teilweise recht aufwendig betriebenen) Test' | ||
| + | |||
| + | Linux 2.4 vs. FreeBSD 4.1.1: | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | |||
| + | === Fazit === | ||
| + | |||
| + | Ich bin von NetBSD, FreeBSD und OpenBSD gleichermassen begeistert, jedes fasziniert auf seine eigene Art. Doch werde ich in meinem privaten Umfeld (ersteinmal) nur FreeBSD einsetzen, da am Arbeitsplatz (Workstation) die Anzahl der verfügbaren Software sehr wichtig ist und die speziellen Unterschiede der drei Produkte hier eine geringere Rolle spielen. Nach dieser Wertung heisst der Kandidat auf Platz 2 " | ||
| + | |||
| + | |||
| + | ==== Stand 2008 ==== | ||
| + | |||
| + | //Linux// verwendet seit dem Kernel 2.6 endlich wieder ein brauchbares Speichermanagement | ||
| + | und weil bei FreeBSD der Desktop immer noch recht stiefmütterlich behandelt wird, | ||
| + | setze ich auf meinen Desktop-Rechnern (auch Laptop) seit 2005 //Linux// ein. | ||
| + | |||
| + | //FreeBSD// wird allerdings auf meinem Server bleiben! | ||
| + | |||
| + | Für diesen Zweck hatte ich verschiedene Betriebssysteme ([[http:// | ||
| + | getestet. | ||
| + | Aber leider hatte jedes dieser Betriebssysteme eigene lobenswerte Vorteile aber auch irgendeine Schwäche, mit der ich auf meinem Server nicht leben wollte. | ||
| + | Und so wird //FreeBSD// auch in Zukunft auf meinem Server bleiben. | ||
| + | |||
| + | diese Schwächen haben mich besonders gestört: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | * '' | ||
| + | |||
| + | |||
| + | ==== Stand Ende 2011 ==== | ||
| + | |||
| + | Linux hat mächtig aufgeholt, so das ich jetzt nicht mehr sagen kann, dass [[http:// | ||
| + | |||
| + | Aber anders ist es immer noch: | ||
| + | * [[http:// | ||
| + | |||
| + | |||
| + | ===== KolibriOS ===== | ||
| + | |||
| + | KolibriOS ist ein grafisches 64-Bit-Betriebssystem, | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
