Betriebssysteme Praxis

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme Praxis"

Transkript

1 Betriebssysteme Praxis SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz A Einführung, Linux-Installation in VM Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-1

2 Zur Vorlesung (1) Service / Web-Seite: Folien und Praktikumsaufgaben Vorlesungs-Videos ( test, test ) Probeklausur gegen Semesterende Hilfreiche Vorkenntnisse: Linux-Shell Benutzung der Standard-Shell bash unter Linux Bash-Crashkurs Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-2

3 Praktikum: Systemadministration unter Linux Prüfung und Benotung 1. Lernfortschrittskontrolle (LFK) 2. Klausur über 120 Minuten Fragen: Zur Vorlesung (2) direkt in der Vorlesung (Handzeichen) oder danach oder per Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-3

4 Hans-Georg Eßer Dipl.-Math. (RWTH Aachen, 1997) Dipl.-Inform. (RWTH Aachen, 2005) Über den Dozenten Chefredakteur Linux-Zeitschrift (seit 2000) und Autor diverser Computerbücher LPI-zertifiziert (LPIC-1 und LPIC-2) seit 2006 Dozent (HS München, FH Nürnberg, FOM): Betriebssysteme, Rechnerarchitektur, IT-Infrastrukturen, Informatik-Grundlagen, Systemprogrammierung Seit 2010 Doktorand (Univ. Erlangen-Nürnberg) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-4

5 Einführung und Motivation Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-5

6 Systemadministration Linux-Administration Nutzen von Shell-Befehlen (B) Standard-Datei- und -Verzeichnis-Operationen (B) Editor vi (B) Shell-Variablen, Unix-Filter-Programme (C) Jobs und Prozesse (C) Software-Verwaltung (D) Einrichtung von Festplatten (-Partitionen) (E) Dateisuche, Auskunft (F) Benutzer- und Gruppen-Rechte (G) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-6

7 LPI-Zertifizierung (1) LPI Certified Junior Level Linux Professional Work at the Linux command line Perform easy maintenance tasks: help out users, add users to a larger system, backup & restore, shutdown & reboot Install and configure a workstation (including X) and connect it to a LAN, or a stand-alone PC via modem to the Internet. LPI Certified Advanced Level Linux Professional Administer a small to medium-sized site Plan, implement, maintain, keep consistent, secure, and troubleshoot a small mixed (MS, Linux) network, including a LAN server (samba), Internet Gateway (firewall, proxy, mail, news), Internet Server (webserver, FTP server) Supervise assistants Advise management on automation and purchases Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-7

8 LPI-Zertifizierung (2) LPI Certified Senior Level Linux Professional hauptsächlich: LDAP dazu: verschiedene Spezialisierungen LPI 302: Mixed Environments LPI 303: Security LPI 304: Virtualization and High Availability es kommen vielleicht noch weitere Im Rahmen dieser Vorlesung: teilweise (!) Vorbereitung auf die LPIC-1-Prüfungen 101 und Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-8

9 LPI-Zertifizierung (3) Für die Zertifizierung: Stoff aus dieser Veranstaltung reicht nicht insbesondere: passives Konsumieren reicht nicht Prüfungen sind so gestaltet, dass Administratoren sie leicht bestehen können üben, üben, üben :) Kosten: 145 (+ USt) pro Prüfung (LPIC-1 = 2 Prüfungen) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-9

10 Linux-Administration keine grafischen Werkzeuge auch wenn es welche gibt also: nicht YaST & Co., sondern Kommandozeilentools, Konfigurationsdateien, Shell-Skripte verstehen, was im Hintergrund abläuft Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-10

11 Windows-Administration Windows setzt auch bei der Administration überwiegend auf grafische Tools GUI-Administration leichter (schneller) zu erlernen, bietet aber weniger Möglichkeiten, wenn etwas schief geht Windows ist im Rahmen dieser Vorlesung kein Thema Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-11

12 Linux Etabliertes Standardsystem für sehr viele Plattformen (PC Desktop / Server, Embedded etc.) vor allem auf Servern weit verbreitet Image eines virtuellen Linux-PCs für VMware / VirtualBox Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-12

13 Literatur Grundlagenbuch Linux Grundlagen, Techniken, Lösungen (Eßer, Dölle) Data Becker, 2007 als PDF-Dokument im Campus-System Linux 2011 Debian, Fedora, opensuse, Ubuntu (Kofler) Addison-Wesley, ,80 ; E-Book: 39, Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-13

14 VirtualBox und Debian Linux Praxisteil (Demonstration) Installation VirtualBox auf Ihrem Notebook / Netbook Import einer virtuellen Maschine mit Debian Linux 6 erste Experimente mit dem installierten Linux Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie A-14

15 Betriebssysteme Praxis SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz B Dateien und Verzeichnisse, Editor vi Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-1

16 Einführung in die Linux-Shell Praxisteil (Demonstration) Arbeiten mit der Shell Verzeichnisnavigation, -Listings Dateien kopieren, umbenennen, verschieben Verzeichnisse erstellen, löschen etc. Dateien öffnen Der Editor vi Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-2

17 Shell-Prompt (1) Shell zeigt durch Prompt an, dass sie bereit ist, einen Befehl entgegen zu nehmen Prompts können verschieden aussehen: $ _ > _ : Anwender-Prompt, nicht-privilegiert # _ : Root-Prompt, für den Administrator Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-3

18 Shell-Prompt (2) Vor dem $, >, # meist Hinweise auf Benutzer, Rechner, Arbeitsverzeichnis [esser@macbookpro:bs-praxis]$ root@quad:~# esser, root: Benutzername; individuell macbookpro, quad: Rechnername BS-Praxis, ~: Arbeitsverzeichnis, je nach Prompt- Einstellung auch in voller Länge (z. B. /home/esser/daten/fom/ws2012/bs-praxis) ~ = Home-Verzeichnis des Benutzers Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-4

19 Befehlseingabe (1) Am Prompt Befehl eingeben und mit [Eingabe] abschicken Shell versucht, (in der Regel) erstes Wort als Kommandoname zu interpretieren: Alias? ( später) Shell-interne Funktion? ( nicht in dieser Vorles.) eingebautes Shell-Kommando? (z. B. cd) externes Programm? (Suche in Pfad) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-5

20 Befehlseingabe (2) Beispiel: Aktuelles Arbeitsverzeichnis anzeigen (pwd = print working directory) [esser@quad:~]$ pwd /home/esser [esser@quad:~]$ _ Nach Abarbeiten des Befehls (oft: mit einer Antwort ) erscheint wieder der Prompt Shell ist bereit für nächstes Kommando Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-6

21 Befehlseingabe (3) Mehrere Befehle auf einmal abschicken: mit Semikolon ; voneinander trennen [esser@quad:~]$ pwd; pwd /home/esser /home/esser [esser@quad:~]$ _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-7

22 Befehlseingabe (4) Inhaltsverzeichnis anzeigen: ls (list) bezieht sich immer auf das aktuelle Arbeitsverzeichnis (Alternative: Ort als Parameter angeben) ls bahn pdf bh-win-04-kret.pdf buch_kap08.pdf bv-anleitung.pdf bz2.pdf ls /tmp cvcd kde-esser ksocket-esser orbit-esser ssh-vrunlb1418 virt_1111 _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-8

23 Befehlseingabe (5) Inhalt mit mehr Informationen: ls -l ls -l -rw esser users Nov 09 14:11 bahn pdf -rw-r--r-- 1 esser users Apr bh-win-04-kret.pdf -rw-r--r-- 1 esser users Oct buch_kap08.pdf -rw-r--r-- 1 esser esser Mar 17 20:29 bv-anleitung.pdf -rw-r--r-- 1 esser users Sep bz2.pdf [esser@quad:~]$ _ Ausgabe enthält zusätzlich: Zugriffsrechte (-rw-r--r-- etc.) später Dateibesitzer und Gruppe (esser, users) später Größe und Datum/Zeit der letzten Änderung Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-9

24 Befehlseingabe (6) Leere Datei erzeugen (für Experimente): touch touch Testdatei ls -l Testdatei -rw-r--r-- 1 esser esser 0 Apr 7 13:58 Testdatei [esser@quad:~]$ _ Datei hat Größe Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-10

25 Befehlseingabe (7) Fehlermeldungen: Unbekanntes Kommando fom No command 'fom' found, did you mean: Command 'fim' from package 'fim' (universe) Command 'gom' from package 'gom' (universe) Command 'fop' from package 'fop' (universe) Command 'fdm' from package 'fdm' (universe) Command 'fpm' from package 'fpm2' (universe) [...] fom: command not found _ Meldung kann auch deutschsprachig sein Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-11

26 Dateiverwaltung (1) Grundlagen (1) Linux kennt keine Laufwerksbuchstaben (C:, D: etc.) Wurzelverzeichnis heißt / Pfadtrenner: auch / d. h.: /usr/local/bin ist das Verzeichnis bin im Verzeichnis local im Verzeichnis usr. (wie bei Webadressen) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-12

27 Dateiverwaltung (2) Grundlagen (2) Weitere Datenträger erscheinen in Unterordnern Beispiel: DVD mit Dateien zum Kurs hat Volume- Name BS-ESSER Datei test.txt auf oberster DVD-Verzeichnisebene ist als /media/bs-esser/test.txt erreichbar (Windows: e:\test.txt) Datei Software/index.html der DVD entsprechend als /media/bs-esser/software/index.html (Windows: e:\software\index.html) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-13

28 Dateiverwaltung (3) Grundlagen (3) Für private Nutzerdaten hat jeder Anwender ein eigenes Home-Verzeichnis, das i. d. R. unterhalb von /home liegt, z. B. /home/esser. Die Tilde ~ ist immer eine Abkürzung für das Home-Verzeichnis funktioniert auch in zusammengesetzten Pfaden ~/Daten/brief.txt statt /home/esser/daten/brief.txt Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-14

29 Dateiverwaltung (4) Grundlagen (4) Ausnahme: Das Home-Verzeichnis des Systemadministrators root ist nicht /home/root, sondern /root Der Trick mit der Tilde ~ funktioniert aber auch für root Warum? /home könnte auf einer separaten Partition liegen und bei einem Fehlstart nicht verfügbar sein Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-15

30 Dateiverwaltung (5) Grundlagen (5) Zwei Spezialverzeichnisse in jedem Ordner.. ist das Verzeichnis eine Ebene tiefer (von /usr/local/bin aus ist.. also /usr/local). ist das aktuelle Verzeichnis Pfade kann man absolut und relativ zusammen bauen absoluter Pfad beginnt mit / relativer Pfad nicht; er gilt immer ab dem aktuellen Arbeitsverzeichnis Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-16

31 Dateiverwaltung (6) Verzeichnisnavigation Kommando cd (change directory) wechselt in ein anderes Verzeichnis Zielverzeichnis als Argument von cd angeben wahlweis mit relativem oder absolutem Pfad pwd /home/esser cd /home ; pwd /home [esser@quad:home]$ cd.. ; pwd / [esser@quad:/]$ _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-17

32 Dateiverwaltung (7) Datei kopieren Kommando cp (copy) kopiert eine Datei Reihenfolge: cp Original Kopie ls -l -rw-r--r-- 1 esser wheel 1501 Apr 5 11:37 test.dat [esser@quad:tmp]$ cp test.dat kopie.dat [esser@quad:tmp]$ ls -l -rw-r--r-- 1 esser wheel 1501 Apr 8 12:17 kopie.dat -rw-r--r-- 1 esser wheel 1501 Apr 5 11:37 test.dat [esser@quad:tmp]$ _! Kopie erhält aktuelles Datum/Zeit Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-18

33 Dateiverwaltung (8) Datei umbenennen Kommando mv (move) benennt eine Datei um Reihenfolge: mv AltName NeuName ls -l -rw-r--r-- 1 esser wheel 1501 Apr 5 11:37 test.dat [esser@quad:tmp]$ mv test.dat neu.dat [esser@quad:tmp]$ ls -l -rw-r--r-- 1 esser wheel 1501 Apr 5 11:37 neu.dat [esser@quad:tmp]$ _! Umbennen ändert Datum/Zeit nicht Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-19

34 Dateiverwaltung (9) Datei verschieben Kommando mv (move) verschiebt eine Datei Reihenfolge: mv AltName NeuerOrdner/ ls -l -rw-r--r-- 1 esser wheel 1501 Apr 5 11:37 test.dat [esser@quad:tmp]$ mv test.dat /home/esser/ [esser@quad:tmp]$ ls -l [esser@quad:tmp]$ ls -l /home/esser/ -rw-r--r-- 1 esser wheel 1501 Apr 5 11:37 test.dat [...] [esser@quad:tmp]$ _! Verschieben ändert Datum/Zeit nicht Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-20

35 Dateiverwaltung (10) Datei löschen Kommando rm (remove) löscht eine Datei ls -l -rw-r--r-- 1 esser wheel 1501 Apr 5 11:37 test.dat [esser@quad:tmp]$ rm test.dat [esser@quad:tmp]$ ls -l [esser@quad:tmp]$ _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-21

36 Dateiverwaltung (11) Mehrere Dateien Einige Befehle akzeptieren mehrere Argumente, z. B. mv (beim Verschieben in anderen Ordner) rm Beispiele: mv datei1.txt datei2.txt Ordner/ rm datei3.txt datei4.txt datei5.txt _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-22

37 Dateiverwaltung (12) Wildcards (*,?) Bei Befehlen, die mehrere Argumente akzeptieren, können Sie auch Wildcards verwenden: * steht für beliebig viele (auch 0) beliebige Zeichen? steht für genau ein beliebiges Zeichen Beispiele: [esser@quad:~]$ ls -l?????.pdf -rw-r--r-- 1 esser staff Apr 2 01:18 RegA4.pdf -rw-r--r-- 1 esser staff Apr 4 18:02 paper.pdf [esser@quad:~]$ rm /tmp/* [esser@quad:~]$ _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-23

38 Befehle testen Löschbefehl mit Wildcards zu gewagt? vorher mit echo testen: echo rm *.zip rm Logo_a5_tif.zip Uebung1.zip c32dwenu.zip ct zip ct zip ct zip ct zip ct zip ct zip ix zip ix zip rm *.zip _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-24

39 Wildcard-Auflösung Das letzte Beispiel verrät etwas über das Auflösen der Wildcards Wenn Sie rm *.zip eingeben, startet die Shell nicht rm mit dem Argument *.zip Die Shell sucht im aktuellen Verzeichnis alle passenden Dateien und macht jeden Dateinamen zu einem Argument für den rm-aufruf. Es wird also rm Logo_a5_tif.zip Uebung1.zip c32dwenu.zip ct zip aufgerufen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-25

40 Verzeichnisse (1) Mit Verzeichnissen können Sie ähnliche Dinge tun wie mit Dateien Verzeichnis erstellen (leeres!) Verzeichnis löschen Verzeichnis umbenennen oder verschieben Verzeichnis rekursiv (mit allen enthaltenen Dateien und Unterordnern) löschen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-26

41 Verzeichnisse (2) Verzeichnis erstellen Kommando mkdir (make directory) erzeugt ein neues (leeres) Unterverzeichnis ls -l mkdir unter ls -l drwxr-xr-x 2 esser wheel 68 Apr 8 14:28 unter [esser@quad:tmp]$ cd unter [esser@quad:unter]$ ls -l [esser@quad:unter]$ cd.. [esser@quad:tmp]$ _! Kurzform md für mkdir nicht immer vorhanden vermeiden Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-27

42 Verzeichnisse (3) Verzeichnis löschen Kommando rmdir (remove directory) löscht ein leeres (!) Unterverzeichnis touch unter/datei rmdir unter rmdir: unter: Verzeichnis nicht leer rm unter/datei rmdir unter _! Kurzform rd für rmdir nicht immer vorhanden vermeiden Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-28

43 Verzeichnisse (4) Verzeichnis umbenennen / verschieben funktioniert wie das Umbenennen / Verschieben von Dateien gleicher Befehl: mv, wieder zwei Varianten: mv Verzeichnis NeuerName mv Verzeichnis AndererOrdner/ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-29

44 Verzeichnisse (5) Verzeichnis rekursiv löschen Kommando rm (remove) hat eine Option -r zum rekursiven Löschen: mkdir a; mkdir a/b; mkdir a/b/c touch a/b/c/datei rmdir a rmdir: a: Verzeichnis nicht leer [esser@quad:tmp]$ rm -r a [esser@quad:tmp]$ _! Vorsicht beim rekursiven Löschen: Was weg ist, ist weg Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-30

45 Undelete Undelete = Löschen rückgängig machen gibt es unter Linux nicht Wiederherstellung von gelöschten Dateien mit Profi- Tools möglich, wenn Computer nach dem Löschen sofort ausgeschaltet wurde solche Tools stellen aber sehr viele Dateien wieder her enormer Aufwand, anschließend die gesuchte Datei zu finden; u. a. sind die Dateinamen dauerhaft verloren vor rm -r mehrfach prüfen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-31

46 Optionen und Argumente Argumente: z. B. Dateinamen; beziehen sich oft auf Objekte, die manipuliert werden sollen Optionen: verändern das Verhalten eines Befehls bei den meisten Befehlen zwei Varianten: kurze Optionen: -a, -b, -c, lassen sich kombinieren: -abc = -a -b -c lange Optionen: --ignore, --force, --all etc. Beispiel: -r bei rm Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-32

47 Hilfe: Handbuch Zu den meisten Kommandos gibt es eine sog. Manpage, die Sie über man kommando abrufen Beispiel: man ls Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-33

48 Der Editor vi (1) Standard-Editor auf allen Unix-Systemen (und damit auch Linux): vi (visual editor) gewöhnungsbedürftige Bedienung zwei Betriebsarten Befehlsmodus (nach Start aktiviert; Normalmodus) Bearbeitungsmodus vi aus Versehen gestartet? Verlassen ohne Speichern von Änderungen mit [Esc] :q! Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-34

49 Der Editor vi (2) Warum Umgang mit vi lernen? auf jedem noch so minimalistischen Unix-System ist ein vi installiert (kleines Programm): ls -l /usr/bin/vi /usr/bin/emacs -rwxr-xr-x 1 root root Nov /usr/bin/emacs -rwxr-xr-x 1 root root Oct /usr/bin/vi läuft im Terminal hilfreich bei Remote-Zugriff Bei Problemen (Plattenfehler, nicht alle Dateisysteme verfügbar) sind andere Editoren evtl. nicht erreichbar, vi vielleicht doch gilt leider nicht mehr für aktuelle Linux-Versionen Thema ist LPI-prüfungsrelevant Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-35

50 Der Editor vi (3) Wechseln in den Bearbeitungsmodus: i, I, a, A i: Text vor dem Cursor einfügen a: Text nach dem Cursor einfügen I: Text am Zeilenanfang einfügen A: Text am Zeilenende einfügen Bearbeitungsmodus verlassen: [Esc] Navigieren im Text: k Cursortasten oder: h l j Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-36

51 Der Editor vi (4) Zeichen / Text löschen: im Bearbeitungsmodus mit [Rückschritt] und [Entf], wie aus anderen Editoren bekannt im Befehlsmodus mehrere Möglichkeiten: x löscht Zeichen unter Cursor X löscht Zeichen links von Cursor dw löscht ab Cursor-Position bis Anfang des nächsten Worts dd löscht aktuelle Zeile vorab Zahl: Mehrfachausführung (15dd: 15 Zeilen) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-37

52 Der Editor vi (5) Speichern und beenden Immer zuerst in den Befehlsmodus im Zweifelsfall einmal [Esc] drücken Speichern: :w Speichern (erzwingen): :w! Beenden (klappt nur, wenn Text seit letztem Speichern nicht verändert wurde): :q Beenden erzwingen (ohne speichern): :q! Speichern und beenden: :wq (oder: ZZ ohne : ) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-38

53 Der Editor vi (6) Suche im Text Vorwärtssuche: / und Suchbegriff, dann [Eingabe] Sprung zum nächsten Treffer: n (next) Rückwärtssuche:? und Suchbegriff, dann [Eingabe] Sprung zum nächsten Treffer: n Wechsel zwischen Vorwärts- und Rückwärtssuche: einfach / bzw.?, dann Eingabe und mit n weiter (in neuer Richtung) suchen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-39

54 Der Editor vi (7) Rückgängig machen / wiederherstellen Letzte Änderung rückgängig machen: u (undo) geht auch mehrfach: u, u, u, und mit Mehrfachausführung: 3u macht die letzten drei Änderungen rückgängig Einen Undo-Schritt aufheben: [Strg]+r :redo mehrfaches Redo: z. B. 3 [Strg]+r Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-40

55 Der Editor vi (8) Copy & Paste: Kopieren yw (ab Cursorposition bis Wortende) y$ (ab Cursorposition bis Zeilenende) yy (ganze Zeile) 3yy (drei Zeilen ab der aktuellen) und Einfügen P (fügt Inhalt des Puffers an Cursorposition ein) Cut & Paste Löschen mit dd, dw etc.; dann einfügen mit P Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-41

56 Der Editor vi (9) Copy & Paste mit der Maus Wenn Sie die grafische Oberfläche verwenden, geht es auch mit der Maus: Kopieren: Mauszeiger auf 1. Zeichen, klicken (und gedrückt halten), zum letzten Zeichen ziehen, loslassen Einfügen: Cursor zu Ziel bewegen, dann (im Einfügemodus!) die mittlere Maustaste drücken Bei beiden Schritten muss man je nach vi-version evtl. die [Umschalt]-Taste drücken Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-42

57 Der Editor vi (10) Datei im Editor öffnen: vi Dateiname zweite Datei an Cursorposition hinzuladen: :read Dateiname (im Befehlsmodus!) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-43

58 Praktische Übungen Aufgabenblatt Umgang mit Dateien und Verzeichnissen Editor vi Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie B-44

59 Betriebssysteme Praxis SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz C Topic 103: GNU and Unix commands Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-1

60 Überblick LPIC-1, Prüfung 101 Topic 101: System Architecture Determine and configure hardware settings Boot the system Change runlevels and shutdown or reboot system Topic 102: Linux Installation and Package Management Design hard disk layout Install a boot manager Manage shared libraries Use Debian package management Topic 103: GNU and Unix Commands Work on the command line Process text streams using filters Perform basic file management Use streams, pipes and redirects Create, monitor and kill processes Modify process execution priorities Search text files using regular expressions Perform basic file editing operations using vi Use RPM and YUM package management Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-2

61 Überblick LPIC-1, Prüfung 101 Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard Create partitions and filesystems Maintain the integrity of filesystems Control mounting and unmounting of filesystems Manage disk quotas Manage file permissions and ownership Create and change hard and symbolic links Find system files and place files in the correct location Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-3

62 Topic 103: GNU and Unix Commands Work on the command line Description: Candidates should be able to interact with shells and commands using the command line. The objective assumes the bash shell. Key Knowledge Areas: Use single shell commands and one line command sequences to perform basic tasks on the command line. Use and modify the shell environment including defining, referencing and exporting environment variables. Use and edit command history. Invoke commands inside and outside the defined path. The following is a partial list of the used files, terms and utilities:., bash, echo, env, exec, export, pwd, set, unset, man, uname, history Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-4

63 Topic 103: GNU and Unix Commands Process text streams using filters Description: Candidates should should be able to apply filters to text streams. Key Knowledge Areas Send text files and output streams through text utility filters to modify the output using standard UNIX commands found in the GNU textutils package. The following is a partial list of the used files, terms and utilities: cat, cut, expand, fmt, head, od, join, nl, paste, pr, sed, sort, split, tail, tr, unexpand, uniq, wc Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-5

64 Topic 103: GNU and Unix Commands Create, monitor, and kill processes Description: Candidates should be able to perform basic process management. Key Knowledge Areas: Run jobs in the foreground and background. Signal a program to continue running after logout. Monitor active processes. Select and sort processes for display. Send signals to processes. The following is a partial list of the used files, terms and utilities: &, bg, fg, jobs, kill, nohup, ps, top, free, uptime, killall Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-6

65 Topic 103: GNU and Unix Commands Modify process execution properties Description: Candidates should should be able to manage process execution priorities. Key Knowledge Areas: Know the default priority of a job that is created. Run a program with higher or lower priority than the default. Change the priority of a running process. The following is a partial list of the used files, terms and utilities: nice, ps, renice, top Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-7

66 103.1 Arbeiten in der Shell Aus Einführung und Übungsblatt 1 bereits bekannt: pwd: aktuelles (Arbeits-) Verzeichnis anzeigen cd: Verzeichniswechsel touch: Datei (leer) erzeugen; Zugriffsdatum aktualisieren less: Datei anzeigen.. : nächst höheres Verzeichnis ls: Verzeichnisinhalt anzeigen cp: Datei kopieren vi: Text-Editor mkdir: Verzeichnis erzeugen rmdir: Verzeichnis löschen rm: Datei löschen rm -r: Verzeichnis rekursiv löschen grep: Suchen in Datei head, tail: Anfang und Ende einer Datei man: Hilfe anzeigen dmesg: Systemmeldungen ausgeben wc: word count shutdown: System runter fahren Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-8

67 103.1: Shell-Variablen (1) Die Shell (und auch andere Programme) nutzen Umgebungsvariablen (für Optionen, Einstellungen etc.) set gibt eine Liste aller in dieser Shell gesetzten Variablen aus $ set BASH=/bin/bash BASH_VERSION='3.2.48(1)-release' COLUMNS=156 COMMAND_MODE=unix2003 DIRSTACK=() DISPLAY=/tmp/launch-Lujw2L/org.x:0 EUID=501 GROUPS=() HISTFILE=/home/esser/.bash_history HISTFILESIZE=500 HISTSIZE=500 HOME=/home/esser HOSTNAME=macbookpro.fritz.box Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-9

68 103.1: Shell-Variablen (2) Einzelne Variablen geben Sie mit echo und einem Dollar-Zeichen ($) vor dem Variablennamen aus $ echo $SHELL /bin/bash $ _ zum Ändern / Setzen schreiben Sie var=wert : $ TESTVAR=fom $ echo $TESTVAR fom $ set grep TEST TESTVAR=fom $ _ Sie können Variablen auch exportieren: $ export TESTVAR $ _ nächste Folie Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-10

69 103.1: Shell-Variablen (3) Exportieren? Wert einer Variablen gilt nur lokal in der laufenden Shell. Exportierte Variablen gelten auch in aus der Shell heraus gestarteten Programmen! $ A=eins; B=zwei; export A $ echo "A=$A B=$B" A=eins B=zwei $ bash # neue Shell starten; das ist ein neues Programm! $ echo "A=$A B=$B" A=eins B= $ exit # diese zweite Shell verlassen, zurück zur ersten $ echo "A=$A B=$B" A=eins B=zwei Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-11

70 103.1: Shell-Variablen (4) Liste aller exportierten Variablen gibt export ohne Argument aus allerdings in ungewöhnlicher Syntax $ export declare -x A="1" declare -x Apple_PubSub_Socket_Render="/tmp/launch-CYfDhh/Render" declare -x COMMAND_MODE="unix2003" declare -x DISPLAY="/tmp/launch-Lujw2L/org.x:0" declare -x HOME="/Users/esser" declare -x INFOPATH="/sw/share/info:/sw/info:/usr/share/info" declare -x LOGNAME="esser"... (Hintergrund: declare -x VAR exportiert ebenfalls die Variable VAR, ist also dasselbe wie export VAR ) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-12

71 103.1: History (1) Shell merkt sich die eingegebenen Befehle ( History ) Komplette Ausgabe mit history : $ history 1 df -h 2 ll 3 /opt/seamonkey/seamonkey 4 dmesg tail 5 ping hgesser.de 6 google-chrome 7 killall kded4 Wie viele Einträge? Normal 500: $ echo $HISTSIZE Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-13

72 103.1: History (2) Neben Ausgabe der kompletten History gibt es auch eine intelligente Suche nach alten Kommandos: [Strg-R] $ # Suche nach dem letzten echo-aufruf $ ^R (reverse-i-search)`ech': echo $HISTFILESIZE mit [Eingabe] ausführen weitere [Strg-R] liefern ältere Treffer Außerdem: Mit [Pfeil hoch], [Pfeil runter] durch alte Befehle blättern gefundenes Kommando kann übernommen und überarbeitet werden Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-14

73 103.2: Filter für Text-Streams Idee beim Filter: Standardeingabe in Standardausgabe verwandeln Ketten aus Filtern zusammen bauen: prog1 filter1 filter2 filter3 mit Eingabedatei: prog1 < eingabe filter1 cat, cut, expand, fmt, head, od, join, nl, paste, pr, sed, sort, split, tail, tr, unexpand, uniq, wc Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-15

74 103.2: cat cat steht für concatenate (aneinanderfügen) gibt mehrere Dateien unmittelbar hintereinander aus auf Wunsch auch nur eine Datei Mini-Dateibetrachter Spezialoptionen: -n (Zeilennummern) -T (Tabs als ^I anzeigen) und einige weitere (siehe: man cat) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-16

75 103.2: cut cut kann spaltenweise Text ausschneiden Spalten sind wahlweise definierbar über Zeichenpositionen Trennzeichen (die logische Spalten voneinander trennen) $ cat test.txt abc def ghijklmn r2d Langer Testeintrag c: character; zeichenbasiert $ cut -c3-8 test.txt c def d nger T d: delimiter; Trennzeichen $ cut -d" " -f2,3 test.txt def ghijklmn f: field (Feld) Testeintrag Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-17

76 103.2: fmt fmt (format) bricht Textdateien um keine Umbrüche $ cat test.txt Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fue r einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ei n Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fue r einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ei n Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. $ fmt test.txt Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Das ist mal ein Beispiel fuer einen Satz. Zeilenumbrüche Parameter -w75: Breite 75 (width) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-18

77 103.2: split split kann große Dateien in mehrere Dateien mit angegebener Maximalgröße aufteilen (cat fügt diese anschließend wieder zusammen) $ split ZM_ePaper_18_11.pdf -b1440k ZM_ePaper_18_11.pdf. $ ls -l ZM* -rw-r--r-- 1 esser esser :58 ZM_ePaper_18_11.pdf -rw-r--r-- 1 esser esser :46 ZM_ePaper_18_11.pdf.aa -rw-r--r-- 1 esser esser :46 ZM_ePaper_18_11.pdf.ab -rw-r--r-- 1 esser esser :46 ZM_ePaper_18_11.pdf.ac -rw-r--r-- 1 esser esser :46 ZM_ePaper_18_11.pdf.ad -rw-r--r-- 1 esser esser :46 ZM_ePaper_18_11.pdf.ae -rw-r--r-- 1 esser esser :46 ZM_ePaper_18_11.pdf.af -rw-r--r-- 1 esser esser :46 ZM_ePaper_18_11.pdf.ag -rw-r--r-- 1 esser esser :46 ZM_ePaper_18_11.pdf.ah $ cat ZM_ePaper_18_11.pdf.* > ZM_Kopie.pdf $ ls -l ZM_Kopie.pdf -rw-r--r-- 1 esser esser :48 ZM_Kopie.pdf $ diff ZM_ePaper_18_11.pdf ZM_Kopie.pdf $ _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-19

78 103.2: sort sort ist ein komplexes Sortier-Tool, das Sortierung nach n-ter Spalte alphabetische und numerische Sortierung unterstützt Einfache Beispiele: $ cat test3.txt 13 Autos 5 LKW 24 Fahrraeder 2 Baeume Wohnung Haus Hotel Strasse Allee $ sort test3.txt 13 Autos 2 Baeume 24 Fahrraeder 5 LKW Allee Haus Hotel Strasse Wohnung $ sort -n test3.txt Allee Haus Hotel Strasse Wohnung 2 Baeume 5 LKW 13 Autos 24 Fahrraeder Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-20

79 103.2: uniq uniq (unique, einmalig) fasst mehrere identische (aufeinander folgende) Zeilen zu einer zusammen; entfernt also Doppler Alternative: Beim Sortieren mit sort kann man über die Option -u (unique) direkt Doppler entfernen; statt sort datei uniq also besser sort -u datei Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-21

80 103.2: grep grep (global/regular expression/print) zeigt nur die Zeilen einer Datei, die einen Suchbegriff enthalten oder nicht enthalten (Option -v) $ wc -l /etc/passwd 57 /etc/passwd $ grep esser /etc/passwd esser:x:1000:1000:hans-georg Esser,,,:/home/esser:/bin/bash $ grep /bin/bash /etc/passwd root:x:0:0:root:/root:/bin/bash esser:x:1000:1000:hans-georg Esser,,,:/home/esser:/bin/bash $ grep -v /bin/bash /etc/passwd head -n5 daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-22

81 103.2: sed (1/2) sed (Stream Editor) führt (u. a.) Suchen-/ Ersetzen-Funktionen in einem Text durch $ cat test4.txt Das Wort ist ein Wort, und mehrere Woerter sind der Plural von Wort. Ohne Woerter oder Worte gibt es keinen Satz - wir sind wortlos. $ sed 's/wort/bild/' test4.txt Das Bild ist ein Wort, und mehrere Woerter sind der Plural von Bild. Ohne Woerter oder Bilde gibt es keinen Satz - wir sind wortlos. $ sed 's/wort/fom/g' test4.txt Das FOM ist ein FOM, und mehrere Woerter sind der Plural von FOM. Ohne Woerter oder FOMe gibt es keinen Satz - wir sind wortlos. $ sed 's/wort/fom/gi' test4.txt Das FOM ist ein FOM, und mehrere Woerter sind der Plural von FOM. Ohne Woerter oder FOMe gibt es keinen Satz - wir sind FOMlos. s: substitute (s/.../.../gi) g: global (s/.../.../gi) i: ignore case (s/.../.../gi) Die i-option gibt es nicht in jeder sed-version! Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-23

82 103.2: sed (2/2) sed-optionen: -i: in-place-editing, verändert die angegebene Datei; am besten mit Angabe eines Suffix für eine Backup- Datei: z. B. sed -i.bak 's/wort/bild/g' test4.txt legt erst Sicherheitskopie test4.txt.bak an und verändert dann test4.txt -e: zum Kombinieren mehrerer Ersetzungen; z. B. sed -e 's/1/eins/g' -e 's/2/zwei/g' test.txt weitere Optionen Manpage Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-24

83 103.2: Reguläre Ausdrücke Idee: Allgemeinere Suchbegriffe, vergleichbar mit Wildcards (*,?) bei Dateinamen Muster:. ein beliebiges Zeichen [abcd] eines der Zeichen a, b, c, d [2-8] eines der Zeichen 2, 3, 4, 5, 6, 7, 8 ^ Zeilenanfang $ Zeilenende? vorheriger Ausdruck darf vorkommen, muss aber nicht * vorheriger Ausdruck kann beliebig oft (auch 0 mal) vorkommen $ cat test5.txt Haus Die Hotels Hotels am Wasser Bau-Haus-Objekt Diese Zeile nicht $ grep 'H.*s' test5.txt Haus Die Hotels Hotels am Wasser Bau-Haus-Objekt $ sed 's/h.*s/haus/g' test5.txt HAUS Die HAUS HAUSer Bau-HAUS-Objekt Diese Zeile nicht Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-25

84 103.2: Reguläre Ausdrücke Beispiele für reguläre Ausdrücke (live, in der Shell...) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-26

85 103.5: Vorder-/Hintergrund (1) In der Shell gestartete Anwendungen laufen standardmäßig im Vordergrund d. h., die Shell ist blockiert, solange das Programm läuft, und es nutzt das aktuelle Terminal (-Fenster) für Ein- und Ausgabe Alternativ kann ein Programm im Hintergrund laufen: die Shell kann dann sofort weiter genutzt werden (weitere Kommando eingeben), keine Eingabe möglich, aber Ausgabe (auch ins aktuelle Terminal; besser umleiten Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-27

86 103.5: Vorder-/Hintergrund (2) Typische Vordergrund-Programme Kommandos, die eine Anfrage sofort beantworten Text-Editoren Compiler Typische Hintergrund-Programme manuell gestartete Server (Dienste) unter X Window: grafische Anwendungen (die kein Terminal brauchen, sondern ein eigenes Fenster öffnen) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-28

87 103.5: Vorder-/Hintergrund (3) Programm im Vordergrund starten: einfach den Namen eingeben Bsp.: ls -l Programm im Hintergrund starten: kaufmännisches Und (&, ampersand) anhängen Bsp.: /usr/sbin/apache2 & Wechsel von Vordergrund in Hintergrund: Programm mit [Strg-Z] unterbrechen Programm mit bg in den Hintergrund schicken Wechsel von Hinter- in Vordergrund: fg Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-29

88 103.5: Job-Verwaltung (1) Programme, die aus einer laufenden Shell heraus gestartet wurden, heißen Jobs dieser Shell Anzeige mit: jobs jobs nedit & [1] vi /tmp/test.txt ^Z [2]+ Stopped vi /tmp/test.txt find / > /tmp/ergebnisse.txt & [3] [esser@macbookpro:~]$ jobs [1] Running nedit & [2]+ Stopped vi /tmp/test.txt [3]- Running find / > /tmp/ergebnisse.txt & [esser@macbookpro:~]$ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-30

89 103.5: Job-Verwaltung (2) Zustand des Jobs: - running: aktiv / bereit - stopped: mit ^Z oder kill -STOP angehalten - terminated: beendet, wird nur 1x angezeigt [esser@macbookpro:~]$ jobs [1] Running nedit & [2]+ Stopped vi /tmp/test.txt [3]- Running find / >...& Kommandos 1,2,3, : Job- Nummer + : current job = letzter Job, der - im Vordergrund gestartet und dann unterbrochen - oder im Hintergrund gestartet wurde viele Kommandos (fg, bg, ) ohne Parameter beziehen sich auf den current job : previous job = vorletzter Job mit obiger Eigenschaft Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-31

90 103.5: Job-Verwaltung (3) Jobs gezielt ansprechen: %n (mit n = Job-Nummer) [esser@macbookpro:~]$ jobs [1] Running nedit /tmp/1 & [2] Running nedit /tmp/2 & [3] Running [4]- Running nedit /tmp/3 & nedit /tmp/4 & [5]+ Running nedit /tmp/5 & [esser@macbookpro:~]$ kill %3 [esser@macbookpro:~]$ jobs [1] [2] Running Running nedit /tmp/1 & nedit /tmp/2 & [3] Terminated nedit /tmp/3 [4]- Running [5]+ Running nedit /tmp/4 & nedit /tmp/5 & [esser@macbookpro:~]$ jobs [1] [2] Running Running nedit /tmp/1 & nedit /tmp/2 & [4]- Running nedit /tmp/4 & [5]+ Running nedit /tmp/5 & Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-32

91 103.5: Job-Verwaltung (4) Kommandos zur Job-Verwaltung bg %n: in den Hintergrund bringen fg %n: in den Vordergrund bringen kill %n: beenden kill -SIGNALNAME %n: Signal schicken, siehe nächste Folie disown %n: Verbindung mit der Shell lösen; disown -a: für alle Jobs wait %n: Warten, bis Job beendet ist Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-33

92 103.5: Job-Verwaltung (5) Signale (mit Signalnummer) TERM, 15: terminieren, beenden (mit Aufräumen ); Standardsignal KILL, 9: sofort abbrechen (ohne Aufräumen) STOP, 19: unterbrechen (entspricht ^Z) CONT, 18: continue, fortsetzen; hebt STOP auf HUP, 1: hang-up, bei vielen Server-Programmen: Konfiguration neu einlesen (traditionell: Verbindung zum Terminal unterbrochen) Liste aller Signale: kill -l Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-34

93 103.5: Jobs vs. Prozesse Die Bezeichnung Job bezieht sich immer auf die aktuelle Shell-Sitzung Jobs, die Sie in verschiedenen Shells starten, haben nichts miteinander zu tun Allgemeinerer Begriff: Prozess Tool für die Prozessanzeige: ps Die (Gesamt-) Prozessliste (ps auxw) enthält alle Prozesse auf dem Linux-System Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-35

94 103.5: Prozesse (1) ps (ohne Optionen) zeigt alle Prozesse an, die zur aktuellen Shell-Sitzung gehören das sind dieselben wie in der Ausgabe von jobs: jobs [1]+ Angehalten vi /tmp/test4 ps PID TTY TIME CMD pts/0 00:00:00 bash pts/0 00:00:00 vi pts/0 00:00:00 ps über Optionen (ohne ) lässt sich die Ausgabe von ps anpassen, z. B. ps auxw: a: alle Prozesse (die ein Terminal haben) u: user oriented format x: auch Prozesse ohne Terminal w: wide : Befehlszeilen nicht abschneiden Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-36

95 103.5: Prozesse (2) ps auw USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root tty4 Ss+ Apr17 0:00 /sbin/getty tty4 root tty5 Ss+ Apr17 0:00 /sbin/getty tty5 root tty2 Ss+ Apr17 0:00 /sbin/getty tty2 root tty3 Ss+ Apr17 0:00 /sbin/getty tty3 root tty6 Ss+ Apr17 0:00 /sbin/getty tty6 root tty1 Ss Apr17 0:00 /bin/login -- esser tty1 S Apr17 0:01 -bash esser tty1 S+ Apr17 0:00 /bin/sh /usr/bin/startx esser tty1 S+ Apr17 0:00 xinit /home/esser/.xinitrc -- /etc/x11/x root tty8 Ss+ Apr17 14:56 /usr/bin/x -nolisten tcp :0 -auth /tmp/s esser tty1 S Apr17 0:00 /bin/sh /home/esser/.xinitrc esser tty1 S Apr17 0:00 dbus-launch --sh-syntax --exit-with-sess esser tty1 S Apr17 0:00 /usr/lib/kde4/libexec/start_kdeinit +kcm esser tty1 S Apr17 0:00 kwrapper4 ksmserver esser pts/2 Ss Apr17 0:00 /bin/bash root pts/2 S Apr17 0:00 sudo su root pts/2 S Apr17 0:00 su root pts/2 S+ Apr17 0:00 bash esser pts/6 Sl Apr30 131:17 /usr/lib/opera/opera esser pts/6 S Apr30 0:08 /usr/lib/opera//operapluginwrapper esser pts/6 S Apr30 0:02 /usr/lib/opera//operaplugincleaner esser pts/6 Z Apr30 119:12 [gtk-gnash] <defunct> esser pts/4 Ss Apr17 0:00 /bin/bash root pts/4 S Apr17 0:00 sudo su root pts/4 S Apr17 0:00 su root pts/4 S+ Apr17 0:00 bash esser pts/3 Ss Apr17 0:00 /bin/bash esser pts/6 Ss+ Apr22 0:02 /bin/bash esser pts/3 S+ 19:40 0:00 ssh backup esser pts/5 Ss+ 22:45 0:00 -bash esser pts/0 Ss 22:58 0:00 -bash esser pts/0 R+ 23:42 0:00 ps auw Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-37

96 103.5: Prozesse (3) Spalten in der Ausgabe von ps auw: USER: Benutzer, dem der Prozess gehört PID: Prozess-ID %CPU: CPU-Nutzung in Prozent (Verhältnis Rechenzeit / Lebenszeit) %MEM: RSS / RAM-Größe in Prozent VSZ: Größe des virtuellen Speichers (in KByte) RSS: Resident Set Size, aktuell genutzter Speicher (KByte) TTY: Terminal STAT: Prozess-Status START: Startzeit des Prozesses (ggf. Datum) TIME: bisherige Gesamtlaufzeit COMMAND: Kommando (Aufruf) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-38

97 103.5: Prozesse (4) Signale an beliebige Prozesse schicken wie vorher: Kommando kill aber: nicht kill %n (n=job-id), sondern kill p (p = PID) auch hier Angabe eines Signals möglich killall Name: alle Prozesse beenden, deren ausführbares Programm Name heißt mit killall auch (wie bei kill) andere Signale an alle Prozesse mit passendem Namen schicken Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-39

98 Darstellung der Prozessliste auch in Baumansicht möglich: pstree Jeder Prozess hat einen Vaterprozess identische Teilbäume nur 1x Option -p: Prozess-IDs anzeigen 103.5: Prozesse (5): pstree pstree init-+-networkmanager-+-dhclient `-2*[{NetworkManager}] -acpid -akonadi_control-+-2*[akonadi_contact] -3*[akonadi_ical_re] -akonadi_maildir -akonadi_maildis -akonadi_nepomuk -akonadi_vcard_r -akonadiserver-+-mysqld---23*[{mysqld}] `-15*[{akonadiserver}] `-3*[{akonadi_contro}] -atd -avahi-daemon---avahi-daemon -console-kit-dae---64*[{console-kit-da}] -cron -cupsd [...] -knotify4---6*[{knotify4}] -konsole-+-2*[bash---sudo---su---bash] -bash---ssh -bash---opera-+-operapluginclea -operapluginwrap---gtk-gnash `-6*[{opera}] `-2*[{konsole}] -krunner---11*[{krunner}] -kuiserver -kwalletd -login---bash---startx---xinit-+-.xinitrc---kwrapper4 `-Xorg -upstart-socket- -upstart-udev-br -vpnagentd `-wpa_supplicant Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-40

99 103.5: Hang-up, No Hang-up Wenn Sie sich in der Konsole abmelden (exit) oder unter X Window ein Terminalfenster schließen, erhalten alle in der Shell laufenden Jobs das HUP- Signal (Hang-up). Die Standardreaktion auf HUP ist: beenden Abmelden / Fenster schließen beendet also alle darin gestarteten Programme Auswege: Programme mit nohup starten oder Prozess mit disown von der Shell lösen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-41

100 103.5: nohup nohup hat zwei Funktionen: der gestartete Prozess ignoriert HUP-Signale Ausgaben des Prozesses (auf die Standardausgabe) erscheinen nicht im Terminal, sondern werden in die Datei nohup.out geschrieben nedit /tmp/1 & [1] nohup nedit /tmp/2 & [2] appending output to nohup.out Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-42

101 103.5: top (1) Prozesse nach CPU-Auslastung sortiert anzeigen: top Anzeige wird regelmäßig aktualisiert top - 00:07:30 up 19 days, 6:15, 7 users, load average: 0.00, 0.02, 0.05 Tasks: 194 total, 2 running, 191 sleeping, 0 stopped, 1 zombie Cpu(s): 1.2%us, 0.7%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: k total, k used, k free, k buffers Swap: k total, 0k used, k free, k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3177 esser m 45m 20m S :37.29 knotify esser m 283m 27m S :47.89 opera 3432 esser m 155m 33m S :02.73 seamonkey-bin 1093 messageb R :55.65 dbus-daemon 1576 root S :50.93 python 2076 root S :07.52 udisks-daemon 3238 esser m 64m 35m S :13.69 krunner esser R :00.03 top 1 root S :02.06 init 2 root S :00.73 kthreadd 3 root S :36.46 ksoftirqd/0 6 root RT S :00.00 migration/0 17 root S :00.00 cpuset 18 root S :00.00 khelper 19 root S :00.00 netns 21 root S :02.28 sync_supers 22 root S :00.05 bdi-default 23 root S :00.00 kintegrityd 24 root S :00.00 kblockd 25 root S :00.00 kacpid 26 root S :00.00 kacpi_notify 27 root S :00.00 kacpi_hotplug Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-43

102 103.5: top (2) Sortierung in top anpassbar (Sortierspalte ändern mit < und >) Über der Prozessliste: Informationen zur Gesamtauslastung des Systems umschaltbar auf Anzeige/CPU bzw. /Kern: 1 top - 00:14:22 up 19 days, 6:22, 7 users, load average: 0.05, 0.03, 0.05 Tasks: 194 total, 2 running, 191 sleeping, 0 stopped, 1 zombie Cpu0 : 0.7%us, 0.3%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 1.7%us, 1.0%sy, 0.0%ni, 97.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 3.6%us, 0.7%sy, 0.0%ni, 95.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: k total, k used, k free, k buffers Swap: k total, 0k used, k free, k cached Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-44

103 103.5: free, uptime Weitere Systeminformationen: free (freien Speicher anzeigen) free total used free shared buffers cached Mem: /+ buffers/cache: Swap: uptime (wie lange läuft das System schon?) [esser@quadamd:~]$ uptime 00:34:08 up 19 days, 6:42, 6 users, load average: 0.06, 0.07, Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-45

104 103.6: Prozess-Priorität (1) Jeder Linux-Prozess hat eine Priorität. Diese bestimmt, welchen Anteil an Rechenzeit der Prozess erhält. Priorität ist ein Wert zwischen -20 und 19. Konvention: hohe Priorität = kleiner Wert (also: -20 = maximale Prior., 19 = minimale Prior.) unter Linux/Unix auch als nice value ( Nettigkeit ) bezeichnet: 19 = extrem nett, -20 = gar nicht nett Bei Programmstart Priorität mit nice setzen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-46

105 103.6: Prozess-Priorität (2) nice mit Priorität (Option) und auszuführendem Kommando (folgende Argumente) aufrufen, z. B. nice -5 program & ps -eo user,pid,ni,cmd USER PID NI CMD... root [kworker/2:0] root [kworker/0:1] esser program esser ps -eo user,pid,ni,cmd negative Nice-Werte kann nur Administrator root setzen: [esser@quadamd:~]$ nice --10 vi nice: kann Priorität nicht setzen: Keine Berechtigung Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-47

106 103.6: Prozess-Priorität (3) Alternative Syntax für bessere Lesbarkeit: nice -n Wert (statt nice -Wert) vor allem für negative Werte intuitiver: nice -n -10 (statt nice --10) su Passwort: nice -n -10 program & [1] ps -eo user,pid,ni,cmd USER PID NI CMD [...] root su root bash root program root ps -eo user,pid,ni,cmd Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-48

107 103.6: Prozess-Priorität (4) Genauer: Nice-Wert in nice-aufruf ist relativ zum aktuellen Nice-Level (Standard: 0) angebener Wert wird zum Nice-Wert addiert: nice 0 [esser@quadamd:~]$ nice -n 5 bash [esser@quadamd:~]$ nice 5 [esser@quadamd:~]$ nice -n 10 bash [esser@quadamd:~]$ nice 15 [esser@quadamd:~]$ _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-49

108 103.6: Prozess-Priorität (5) Nice-Wert für laufendes Programm ändern: renice Wert <0 setzen darf nur root in alten Linux-Versionen galt auch: aktuellen Wert verringern darf nur root) program & [5] ps -eo user,pid,ni,cmd USER PID NI CMD esser program [esser@quadamd:~]$ renice : Alte Priorität: 0, neue Priorität: 5 [esser@quadamd:~]$ ps -eo user,pid,ni,cmd USER PID NI CMD esser program [esser@quadamd:~]$ renice : Alte Priorität: 5, neue Priorität: 0 [esser@quadamd:~]$ renice renice: 28937: setpriority: Keine Berechtigung Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie C-50

109 Betriebssysteme Praxis SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz D Topic 102: Package Management / Debian; RPM/YUM Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-1

110 Topic 102: Linux Installation and Package Managment Use Debian package management Description: Candidates should be able to perform package management using the Debian package tools. Key Knowledge Areas: Install, upgrade and uninstall Debian binary packages. Find packages containing specific files or libraries which may or may not be installed. Obtain package information like version, content, dependencies, package integrity and installation status (whether or not the package is installed). The following is a partial list of the used files, terms and utilities: /etc/apt/sources.list, dpkg, dpkg-reconfigure, apt-get, apt-cache, aptitude Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-2

111 Topic 102: Linux Installation and Package Managment Use RPM and YUM package management Description: Candidates should be able to perform package management using RPM and YUM tools. Key Knowledge Areas: Install, re-install, upgrade and remove packages using RPM and YUM. Obtain information on RPM packages such as version, status, dependencies, integrity and signatures. Determine what files a package provides, as well as find which package a specific file comes from. The following is a partial list of the used files, terms and utilities: rpm, rpm2cpio, /etc/yum.conf, /etc/yum.repos.d/, yum, yumdownloader Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-3

112 Grundlagen Paketverwaltung (1) Verschiedene Linux-Distributionen verwenden unterschiedliche Software-Paketformate: *.deb Debian-Paketformat (z. B. Debian, Ubuntu, Knoppix) *.rpm Red-Hat-Paketformat (z. B. OpenSuse, Fedora / Red Hat, Mandriva) weitere (weniger verbreitete Formate), z. B. *.txz (Slackware, xz-komprimiertes tar-archiv) Pakete enthalten die eigentliche Software und Anleitungen für (De-) Installation Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-4

113 Grundlagen Paketverwaltung (2) Die beiden großen Paketformate sind das Debian-Format (*.deb) und das RPM-Format (*.rpm, Red Hat Package Manager) Software-Verwaltung mit deb/rpm-paketen findet immer auf zwei Ebenen statt: auf Ebene einzelner Pakete; Tools: dpkg (Debian Package Manager) rpm (Red Hat Package Manager) auf Ebene von Repositories; Tools: APT (Advanced Packaging Tool / Debian) YUM (Yellowdog Updater, Modified / Red Hat, Fedora) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-5

114 Grundlagen Paketverwaltung (3) Funktionen auf Paketebene Paket installieren / deinstallieren / aktualisieren Paketinhalt anzeigen erkennt Abhängigkeiten und Konflikte, verweigert evtl. (De-) Installation oder Update zu installierter Datei das zugehörige Paket finden Installation / Update benötigt immer eine konkrete Paketdatei Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-6

115 Grundlagen Paketverwaltung (4) Funktionen auf Repository-Ebene (1) Ein Repository (Repo) ist eine Paketquelle, z. B. Installations-CD/DVD Verzeichnis auf einem Web- oder FTP-Server lokales Verzeichnis Repos haben ein Inhaltsverzeichnis mit den wichtigsten Metadaten zu allen vorhandenen Paketen Repos für jede Distributions-Version separat Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-7

116 Grundlagen Paketverwaltung (5) Funktionen auf Repository-Ebene (2) Anlegen / Aktualisieren / Entfernen von Repos ( parallele Nutzung mehrerer Repos möglich) Suche nach Paketen in allen eingetragenen Repos Installation mit automatischem Auflösen von Abhängigkeiten Komplett-Upgrade auf neue Version einer Linux- Distribution Drittanbieter-Repos (z. B. für Multimedia-Pakete, Treiber vom Hardware-Hersteller oder proprietäre Software) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-8

117 Paketebene (1) Optionen -vh erzeugen die Ausgabe ls testpaket i386.rpm rpm -ivh testpaket i386.rpm Preparing... ############################### [100%] 1:testpaket ############################### [100%] _ Paket installieren: ls joe_ _amd64.deb dpkg -i joe_ _amd64.deb Wähle vormals abgewähltes Paket joe. (Lese Datenbank Dateien und Verzeichnisse sind derzeit installiert.) Entpacke joe (aus.../archives/joe_ _amd64.deb)... Richte joe ein ( )... _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-9

118 Paketebene (2) Paket aktualisieren (Update): rpm -ivh dhcpcd i586.rpm Preparing... ################################## [100%] file /sbin/dhcpcd from install of dhcpcd i586 conflicts with file from package dhcpcd i586 rpm -Uvh dhcpcd i586.rpm Preparing... ################################## [100%] 1:dhcpcd ################################## [100%] dpkg -i joe_ _amd64.deb (Update bei Debian auch über Installationsoption -i) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-10

119 Paketebene (3) Paket löschen: benötigt nur Paketnamen, nicht die Versionsnummer rpm -e testpaket e = erase [root@debian:~]# dpkg -r joe (Lese Datenbank Dateien und Verzeichnisse sind derzeit installiert.) Entferne joe... r = remove oder [root@debian:~]# dpkg -P joe (Lese Datenbank Dateien und Verzeichnisse sind derzeit installiert.) Entferne joe... Lösche Konfigurationsdateien von joe... P = purge Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-11

120 Paketebene (4) Paketinhalte: rpm -ql rpm /bin/rpm /etc/init.d/rpmconfigcheck /etc/rpm /usr/bin/gendiff /usr/bin/rpm2cpio /usr/bin/rpmbuild /usr/bin/rpmdb... dpkg -L dpkg /. /var /var/lib /var/lib/dpkg /var/lib/dpkg/updates /var/lib/dpkg/parts /var/lib/dpkg/info joe... ql = query, list L = list Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-12

121 Paketebene (5) Paketinformationen ( ): [root@redhat:~]# rpm -qi rpm Name : rpm Relocations: (not relocatable) Version : Vendor: opensuse Release : 27.1 Build Date: Do 17 Feb :09:21 CET Install Date: Di 15 Mär :01:20 CET Build Host: build24 Group : System/Packages Source RPM: rpm src.rpm Size : License: GPLv2+ Signature : RSA/8, Do 17 Feb :09:42 CET, Key ID b88b2fd43dbdc284 Packager : Summary : The RPM Package Manager Description : RPM Package Manager is the main tool for managing the software packages of the SuSE Linux distribution. RPM can be used to install and remove software packages. With rpm, it is easy to update packages. RPM keeps track of all these manipulations in a central database. This way it is possible to get an overview of all installed packages. RPM also supports database queries. qi = query, info Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-13

122 Paketebene (6) Paketinformationen ( ): [root@debian:~]# dpkg -s dpkg s = status Package: dpkg Essential: yes Status: install ok installed Priority: required Section: admin Installed-Size: 7276 Origin: debian Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org> Architecture: i386 Version: Replaces: manpages-de (<= 0.4-3), manpages-pl (<= ) Pre-Depends: libc6 (>= 2.7-1), coreutils (>= ), lzma Suggests: apt Conflicts: apt (<< 0.7.7), aptitude (<< ), dpkg-dev (<< ) Conffiles: /etc/logrotate.d/dpkg 501f8c90b83c7ea180868ca82e1e82d1 /etc/dpkg/origins/debian fa8ba067262f8ef37882d1e742 /etc/dpkg/dpkg.cfg f4413ffb515f8f753624ae3bb365b81b Description: Debian package management system This package provides the low-level infrastructure for handling the installation and removal of Debian software packages.. For Debian package development tools, install dpkg-dev. Homepage: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-14

123 Paketebene (7) Paketkonvertierung alien wandelt RPM- und DEB-Archiv ineinander um alien --to-rpm nmap_4.62-1_i386.deb Warning: Skipping conversion of scripts in package nmap: postinst prerm Warning: Use the --scripts parameter to include the scripts. nmap i386.rpm generated ls -l -rw-r--r-- 1 root root May 13 20:55 nmap i386.rpm -rw-r--r-- 1 root root May 13 20:54 nmap_4.62-1_i386.deb [root@debian:~]# rpm -qip nmap i386.rpm Name : nmap Relocations: (not relocatable) Version : 4.62 Vendor: (none) Release : 2 Build Date: Fri May 13 20:55: Install Date: (not installed) Build Host: hgesser.com Group : Converted/net Source RPM: nmap src.rpm Size : License: see /usr/share/doc/nmap/copyri Signature : (none) Summary : The Network Mapper Description : Nmap is a utility for network exploration or security auditing. It supports ping scanning (determine which hosts are up), many port Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-15

124 Paketebene (8) Aufbau der Paketnamen nmap_4.62-1_i386.deb nmap i586.rpm Plattformen: i386: Intel i386 i486, i586, i686:... sparc: Sun SPARC ppc: IBM, Apple ppc64: IBM PowerPC axp: DEC Alpha ia64: Intel Itanium x86_64: PC, 64 Bit noarch: übergreifend Paketformat Build- Version Paketname Programmversion Plattform # dpkg-architecture -L armel lpia i386 ia64 alpha amd64 armeb arm Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-16

125 Paketebene (9) Vollständige Paketliste: # rpm -qa gpg-pubkey-3dbdc284-4be1884d bundle-lang-gnome-en noarch translation-update noarch yast2-trans-stats noarch opensuse-release-ftp i586 apparmor-docs r i586 lsscsi i586 libspeex _1.2rc1-9.1.i qa: query, all -l: list # dpkg -l Desired=Unknown/Install/Remove/Purge/Hold Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend / Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) / Name +++-=======================-==================-========================================= Version Description ii adduser add and remove users and groups ii alien 8.72 convert and install rpm and other package ii apache lenny9 Apache HTTP Server metapackage ii apache2-mpm-prefork lenny9 Apache HTTP Server - traditional non-thre ii apache2-utils lenny9 utility programs for webservers ii apache2.2-common lenny9 Apache HTTP Server common files ii apt lenny2 Advanced front-end for dpkg Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-17

126 Paketebene (10) rpm und dpkg werden heute nur noch selten direkt benutzt stattdessen Paketverwaltung mit höheren Tools wie YUM und APT Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-18

127 Abhängigkeiten (1) Ein Paket hat Abhängigkeiten (engl. dependencies), wenn weitere Pakete oder bestimmte Dateien zwingend installiert sein müssen, damit es funktioniert Diese zusätzlich benötigten Pakete / Dateien nennt man die Abhängigkeiten Beispiele: Paket mc (Midnight Commander) benötigt die Bibliothek libc.so.6 Paket openssh-askpass benötigt Paket openssh Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-19

128 Abhängigkeiten (2) Abhängigkeit von Paket meist (relativ) leicht lösbar: Paket suchen und installieren richtige Versionsnummer, Linux-Distribution (und -Version), Plattform beachten! Abhängigkeit von Datei (i.d.r. Bibliothek) oft schwieriger zu beheben Welches Paket enthält die Datei x.y.so.1? Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-20

129 Abhängigkeiten (3) Installation bei nicht erfüllten Abhängigkeiten lässt sich trotzdem erzwingen: rpm -i --nodeps paket.rpm dpkg -i --force-depends paket.deb Ratsam ist das aber nicht; Software wird meist nicht (oder nicht korrekt) arbeiten Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-21

130 Abhängigkeiten (4) Informationen zu Abhängigkeiten: rpm -qp --requires mtools i586.rpm /bin/sh rpmlib(payloadfileshaveprefix) <= rpmlib(compressedfilenames) <= libc.so.6 libc.so.6(glibc_2.0) rpmlib(payloadislzma) <= qp: query package dpkg -f nmap_4.62-1_i386.deb depends libc6 (>= 2.7-1), libgcc1 (>= 1:4.1.1), libpcap0.8 (>= ), libpcre3 (>= 7.4), -f: field libssl0.9.8 (>= 0.9.8f-5), libstdc++6 (>= 4.2.1) Achtung Syntax: Nach -f erst Paketname, dann Feldname depends Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-22

131 Konflikte (1) Zwei Pakete können miteinander in Konflikt stehen, d. h.: Es darf nur eines von beiden installiert sein. Konflikt tritt meist auf, wenn man versucht, ein neues Paket zu installieren, und bereits ein damit in Konflikt stehendes installiert ist. Beispiele: zwei Mail-Server, zwei DHCP-Server (feste Ports) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-23

132 Konflikte (2) Installation bei Konflikten lässt sich trotzdem erzwingen: rpm -i --force paket.rpm dpkg -i --force-conflicts paket.deb Auch das Ignorieren von Konflikten ist nicht ratsam Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-24

133 Repository-Ebene (1) Repository: Sammlung von Software-Paketen für genau eine Distributionsversion (z. B. OpenSuse 11.4 oder Ubuntu 10.10) mit Inhaltsbeschreibungen aller Pakete und Abhängigkeitsinformationen zu allen Paketen Installations-Tool kann Abhängigkeiten damit automatisch auflösen, nötige Zusatzpakete auswählen und diese gleich mit-installieren Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-25

134 Repository-Ebene (2) Paketverwaltung mit Repos: Verwaltung der Repos Eintragen neuer Repos und Löschen von Repos Aktualisieren vorhandener Repos eigentliche Paketverwaltung Installation, Update, Deinstallation von Paketen über die Repo-Tools Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-26

135 APT (1) Debian: APT Advanced Packaging Tool neben Debian auch von Debian-basierten Distributionen genutzt, z. B. Knoppix, Ubuntu Repository-Konfiguration in /etc/apt/sources.list Paketverwaltung mit den Befehlen apt-get und apt-cache Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-27

136 APT (2) Beispiel-Konfigurationsdatei /etc/apt/sources.list: deb cdrom:[debian GNU/Linux 4.0]/ etch contrib main deb etch main non-free deb-src etch main Jede Zeile besteht aus vier Teilen: deb oder deb-src: Handelt es sich um eine Binär- oder Source-Paketquelle? URI zur Quelle, z. B. mit ftp:// oder cdrom:[volume-name] Distributionsversion (etch, sarge, squeeze etc.; alternativ: stable, unstable, testing) einzubindende (Unter-) Repositories: main, contrib, non-free etc Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-28

137 APT (3) Neues Repo anlegen (Web): Zusätzliche Zeile in sources.list eintragen apt-get update ausführen server:~ # apt-get update Hole:1 etch/updates Release.gpg [189B] Hole:2 etch/updates Release [22,5kB] Hole:3 etch Release.gpg [378B] Hole:4 etch Release [58,2kB] Hole:5 etch/updates/main Packages [91,5kB] Hole:6 etch/main Packages [4223kB] Hole:7 etch/updates/contrib Packages [14B] Hole:8 etch/updates/non-free Packages [14B] Hole:9 etch/contrib Packages [50,6kB] Hole:10 etch/non-free Packages [63,9kB] Es wurden 4510kB in 15s geholt (291kB/s) Paketlisten werden gelesen... Fertig Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-29

138 APT (4) Neues Repo (CD/DVD) anlegen: apt-cdrom server:~ # apt-cdrom add Verwendeter CD-ROM-Einbindungspunkt: /media/cdrom0/ Identifizieren... [e1947a0c703f32d960fbfce6c ] Durchsuchen des Mediums nach Index-Dateien... 1 Paketindizes, 0 Quellindizes, 0 Übersetzungsindizes und 0 Signaturen gefunden Dieses Medium heißt:»debian GNU/Linux 6.0.1a _Squeeze_ - Official i386 xfce+lxde-cd Binary :11«Reading Package Indexes... Fertig Schreiben der neuen Quellliste Quelllisteneinträge für dieses Medium sind: deb cdrom:[debian GNU/Linux 6.0.1a _Squeeze_ - Official i386 xfce+lxde-cd Binary :11]/ squeeze main Wiederholen Sie dieses Prozedere für die restlichen Disks Ihres Satzes. erzeugt auch neuen Eintrag in /etc/apt/sources.list Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-30

139 APT (5) Pakete suchen: apt-cache search server:~ # apt-cache search kmenu deskmenu - A root menu for X11 window managers kmenuedit - menu editor for KDE oroborus - A lightweight themeable windowmanager for X tastymenu - replacement K-menu for KDE/Kicker Pakete installieren: apt-get install server:~ # apt-get install lynx Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: lynx-cur The following NEW packages will be installed: lynx lynx-cur 0 upgraded, 2 newly installed, 0 to remove and 6 not upgraded. Need to get 2040kB of archives. After this operation, 4518kB of additional disk space will be used. Do you want to continue [Y/n]? Y Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-31

140 APT (6) Abhängigkeiten apt-get install k3b Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Statusinformationen werden eingelesen... Fertig Die folgenden zusätzlichen Pakete werden installiert: cdparanoia cdrdao dvd+rw-tools exiv2 genisoimage k3b-data kaboom kdebase-runtime kdebase-runtime-data kdelibs-bin kdelibs5-data kdelibs5-plugins kdoctools libao-common libao4 libasyncns0 libattica0 libclucene0ldbl libeggdbus-1-0 libexiv2-9 libflac++6 libgomp1 libgraphicsmagick3 libilmbase6 libiodbc2 libjack-jackd2-0 libk3b6 libk3b6-extracodecs libkcddb4 libkde3support4 libkdecore5 libkdesu5 libkdeui5 libkdnssd4 libkfile4 libkhtml5 libkio5 libkjsapi4 libkjsembed4 libkmediaplayer4 libknewstuff2-4 libknewstuff3-4 libknotifyconfig4 libkntlm4 libkparts4 libkpty4 libkrosscore4 libktexteditor4 libkutils4 libmusicbrainz4c2a libmysqlclient16 libnepomuk4 libnepomukquery4a libopenexr6 libphonon4 libplasma3 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpolkit-qt-1-0 libpulse-mainloop-glib0 libpulse0 libqca2 libqt4-dbus libqt4-designer libqt4-network libqt4-opengl libqt4-qt3support libqt4-script libqt4-sql libqt4-sqlmysql libqt4-svg libqt4-webkit libqt4-xml libqt4-xmlpatterns libreadline5 libsamplerate0 libsndfile1 libsolid4 libsoprano4 libssh-4 libstreamanalyzer0 libstreams0 libthreadweaver4 libvirtodbc0 libvorbisfile3 libwmf0.2-7 libxcbshape0 libxine1 libxine1-bin libxine1-console libxine1-ffmpeg libxine1-misc-plugins libxine1-plugins libxine1-x libxml2-utils libxss1 mysql-common odbcinst odbcinst1debian2 oxygen-icon-theme phonon phonon-backend-xine plasmascriptengine-javascript shared-desktop-ontologies soprano-daemon ttf-dejavu ttf-dejavu-extra vcdimager virtuoso-minimal virtuoso-opensource-6.1-bin virtuoso-opensource-6.1-common wodim xdg-utils Die folgenden NEUEN Pakete werden installiert: cdparanoia cdrdao dvd+rw-tools exiv2 genisoimage k3b k3b-data kaboom kdebase-runtime kdebase-runtime-data kdelibs-bin kdelibs5-data kdelibs5-plugins kdoctools libao-common libao4 libasyncns0 libattica0 libclucene0ldbl libeggdbus-1-0 libexiv2-9 libflac++6 libgomp1 libgraphicsmagick3 libilmbase6 libiodbc2 libjack-jackd2-0 libk3b6 libk3b6-extracodecs libkcddb4 libkde3support4 libkdecore5 libkdesu5 libkdeui5 libkdnssd4 libkfile4 libkhtml5 libkio5 libkjsapi4 libkjsembed4 libkmediaplayer4 libknewstuff2-4 libknewstuff3-4 libknotifyconfig4 libkntlm4 libkparts4 libkpty4 libkrosscore4 libktexteditor4 libkutils4 libmusicbrainz4c2a libmysqlclient16 libnepomuk4 libnepomukquery4a libopenexr6 libphonon4 libplasma3 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpolkit-qt-1-0 libpulse-mainloop-glib0 libpulse0 libqca2 libqt4-dbus libqt4-designer libqt4-network libqt4-opengl libqt4-qt3support libqt4-script libqt4-sql libqt4-sqlmysql libqt4-svg libqt4-webkit libqt4-xml libqt4-xmlpatterns libreadline5 libsamplerate0 libsndfile1 libsolid4 libsoprano4 libssh-4 libstreamanalyzer0 libstreams0 libthreadweaver4 libvirtodbc0 libvorbisfile3 libwmf0.2-7 libxcbshape0 libxine1 libxine1-bin libxine1-console libxine1-ffmpeg libxine1-misc-plugins libxine1-plugins libxine1-x libxml2-utils libxss1 mysql-common odbcinst odbcinst1debian2 oxygen-icon-theme phonon phonon-backend-xine plasmascriptengine-javascript shared-desktop-ontologies soprano-daemon ttf-dejavu ttf-dejavu-extra vcdimager virtuoso-minimal virtuoso-opensource-6.1-bin virtuoso-opensource-6.1-common wodim xdg-utils 0 aktualisiert, 114 neu installiert, 0 zu entfernen und 27 nicht aktualisiert. Es müssen noch 96,2 MB von 99,6 MB an Archiven heruntergeladen werden. Nach dieser Operation werden 238 MB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren [J/n]? J Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-32

141 APT (7) Pakete entfernen server:~ # apt-get remove mc Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: mc 0 upgraded, 0 newly installed, 1 to remove and 6 not upgraded. After this operation, 6402kB disk space will be freed. Do you want to continue [Y/n]? remove: ohne Entfernen der Konfigurationsdateien (wie dpkg -r) server:~ # apt-get purge paketname purge: mit Entfernen der Konfigurationsdateien (wie dpkg -P) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-33

142 APT (8) Alle Pakete aktualisieren: apt-get upgrade server:~ # apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be upgraded: bind9-host dhcp3-client dhcp3-common dnsutils libbind9-50 libdns58 libisc50 libisccc50 libisccfg50 liblwres50 libmozjs1d libnss3-1d libtiff4 mysql-common xulrunner upgraded, 0 newly installed, 0 to remove and 6 not upgraded. Need to get 9825kB of archives. After this operation, 24.6kB of additional disk space will be used. Do you want to continue [Y/n]? Y Get:1 lenny/updates/main dhcp3-client lenny5 [225kB] Get:2 lenny/updates/main dhcp3-common lenny5 [291kB] [...] Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-34

143 APT (9) Umstieg auf neue Distributionsversion: Repository-Einträge in sources.list auf neue Version umstellen Dann apt-get dist-upgrade ausführen Dabei werden evtl. einige Pakete entfernt, für die es in der neuen Version keinen Ersatz gibt Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-35

144 APT (10) Übung: Tragen Sie die Zeile deb squeeze main in die APT-Konfigurationsdatei ein (falls noch nicht vorhanden nicht mit einem ähnlich aussehenden Eintrag für Updates verwechseln!) Aktualisieren Sie die Paketlisten Installieren Sie über die APT-Tools den grafischen Editor nedit Hinweis zum Netzwerk: Wenn das Netzwerk nicht funktioniert, geben Sie in der Shell su (danach das root-passwort), killall dhclient und dhclient eth0 ein danach sollte es gehen. Evtl. ist eine Anmeldung des Rechners im Browser (fom.de) nötig Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-36

145 Repositories für RPM-Systeme In der RPM-Welt gibt es kein einheitliches APT-ähnliches Tool für die Verwaltung von Repositories: Fedora / Red Hat: YUM Mandriva: URPMI Suse: Zypper Wir betrachten hier nur YUM Prinzipien sind dieselben wie bei APT; aber Eintragen der Repos funktioniert anders Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-37

146 YUM (1) Red Hat / Fedora: YUM Yellow Dog Updater, Modified Yellow Dog Linux ist/war eine Linux-Distribution für PowerPC-Prozessoren, z. B. die alten Apple-Macs vor der Intel-Umstellung) YUM war zunächst deren Paketmanager Repository-Konfiguration: einzelne Dateien in /etc/yum.repos.d/ Paketverwaltung mit dem Befehl yum Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-38

147 YUM (2) Beispiel-Konfigurationsdatei für ein Repo: [livna] name=rpm.livna.org for $releasever - $basearch #baseurl= $basearch/ mirrorlist= failovermethod=roundrobin enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-livna anders als bei APT: diese Dateien nicht ändern einfach in den Ordner /etc/yum.repos.d/ kopieren Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-39

148 YUM (3) Neues Repo anlegen: Repo-Anbieter stellt spezielle RPM-Datei zur Verfügung, welche das Repo automatisch einrichtet Installation z. B. mit rpm -i möglich Repos anzeigen: yum repolist all Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-40

149 YUM (4) Pakete suchen: yum search server:~ # yum search mplayer [...] mplayer.i svn.l livna Matched from: mplayer MPlayer is a movie player that plays most MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, [...] Pakete installieren: yum install server:~ # yum install w3m Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package w3m.i386 0: fc7 set to be updated --> Processing Dependency: libgc.so.1 for package: w3m --> Restarting Dependency Resolution with new changes. [...] Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-41

150 YUM (5) Pakete entfernen server:~ # yum remove glibc [...] Transaction Summary ======================================================== Install 0 Package(s) Update 0 Package(s) Remove 989 Package(s) Is this ok [y/n]? n Exiting on user command. Complete! YUM schlägt vor, auch alle abhängigen Pakete automatisch mit zu entfernen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-42

151 YUM (6) Alle Pakete aktualisieren: yum update (vgl.: apt-get upgrade) gleicher Effekt wie bei APT Distributions-Upgrade: RPM-Pakete mit Repo-Informationen der neuen Version einspielen, z. B.: rpm -Uvh ftp://download.fedora.redhat.com/pub/fedora/linux/releas es/8/fedora/i386/os/packages/fedora-release-8-3.noarch.rpm ftp:// download.fedora.redhat.com/pub/fedora/linux/releases/8/fedora/i38 6/os/Packages/fedora-release-notes noarch.rpm dann yum upgrade ausführen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie D-43

152 Betriebssysteme Praxis SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz E Topic 104: Dateisysteme , Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-1

153 Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard Create partitions and filesystems Description: Candidates should be able to configure disk partitions and then create filesystems on media such as hard disks. This includes the handling of swap partitions. Key Knowledge Areas: Use various mkfs commands to set up partitions and create various filesystems such as: ext2, ext3, xfs, reiserfs v3, vfat The following is a partial list of the used files, terms and utilities: fdisk, mkfs, mkswap Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-2

154 Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard Maintain the integrity of filesystems Description: Candidates should be able to maintain a standard filesystem, as well as the extra data associated with a journaling filesystem. Key Knowledge Areas: Verify the integrity of filesystems. Monitor free space and inodes. Repair simple filesystem problems. The following is a partial list of the used files, terms and utilities: du, df, fsck, e2fsck, mke2fs, debugfs, dumpe2fs, tune2fs, xfs tools (such as xfs_metadump and xfs_info) Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-3

155 Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard Control mounting and unmounting of filesystems Description: Candidates should be able to configure the mounting of a filesystem. Key Knowledge Areas: Manually mount and unmount filesystems. Configure filesystem mounting on bootup. Configure user mountable removeable filesystems. The following is a partial list of the used files, terms and utilities: /etc/fstab, /media, mount, umount Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-4

156 Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard Create and change hard and symbolic links Description: Candidates should be able to create and manage hard and symbolic links to a file. Key Knowledge Areas: Create links. Identify hard and/or softlinks. Copying versus linking files. Use links to support system administration tasks. The following is a partial list of the used files, terms and utilities: ln Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-5

157 104.1: Partitionen (1) Linux (und andere BS) unterteilen Festplatten in Partitionen traditionell: vier Partitionen Anfang, Ende, Größe: in Partitionstabelle im MBR (Master Boot Record) Bezeichnung: primäre Partitionen falls mehr nötig: eine der vier Partitionen zur erweiterten Partition machen darin: logische Partitionen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-6

158 104.1: Partitionen (2) Windows vergibt für jede (Windows)-Partition einen Laufwerksbuchstaben (C:, D: etc.) unabhängig von Status primär/logisch Reihenfolge kann wechseln Linux verwendet Bezeichnungen, die sich aus Typ der Platte (IDE, SCSI) Gerätenummer Partitionsnummer zusammensetzen (sda1 = SCSI disk a, part. 1) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-7

159 104.1: Partitionen (3) Festplatten sda, sdb, sdc,...: SCSI und moderne SATA hda, hdb, hdc,...: klassische IDE Partitionen 1, 2, 3, 4: primäre Partitionen 5, 6, 7,...: logische Partitionen (dann muss mind. eine der primären Part. eine erweiterte sein) Zugriff über Gerätedateien: sda3 /dev/sda Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-8

160 104.1: Partitionen (4) Gerätedateien erzeugen moderne Linux- Versionen dynamisch: ls -l /dev/sd* brw-rw root disk 8, 0 2. Jun 17:15 /dev/sda brw-rw root disk 8, 1 2. Jun 17:15 /dev/sda1 brw-rw root disk 8, 2 2. Jun 17:15 /dev/sda2 brw-rw root disk 8, 5 2. Jun 17:15 /dev/sda5 in alten Linux-Versionen: große Mengen an passenden Gerätedateien statisch erzeugt Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-9

161 104.1: Partitionen (5) Typische Partitionierung sda1, Windows NTFS sda5, Linux Swap sda2, erweiterte Partition sda6, Linux Ext4, / sda1: 1. primäre Partition: Windows, NTFS ( Laufwerk C: ) sda2: erweiterte Partition, enthält logische sda5: 1. logische Partition: Linux, Swap sda6: 2. logische Partition: Linux, Ext Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-10

162 104.1: Partitionen (6) Arbeiten mit Gerätedateien head /dev/sda1 gibt Anfang der Partition sda1 aus dd if=/dev/sda1 of=/tmp/image.dat erzeugt 1:1-Kopie der Partition sda1 in Datei, if=input file, of=output file fdisk /dev/sda bearbeitet Partitionstabelle der Festplatte sda mkfs.ext3 /dev/sda7 formatiert Partition sda7 mit Ext3-Dateisystem Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-11

163 104.1: Partitionen (7) Partitionieren unter Linux fdisk: Standard-Tool cfdisk: grafisches Tool sfdisk: für Skript-gesteuertes Partitionieren Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-12

164 104.1: fdisk (1) Partitionsliste anzeigen server:~# fdisk -l Disk /dev/sda: 10.7 GB, bytes 255 heads, 63 sectors/track, 1300 cylinders Units = cylinders of * 512 = bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000ce798 Device Boot /dev/sda1 * Start 1 End 1241 Blocks Id System 83 Linux /dev/sda2 /dev/sda Extended 82 Linux swap / Solaris Platte partitionieren server:~# fdisk /dev/sda Command (m for help): _ Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-13

165 fdisk (2): Kommandoübersicht p zeigt die Partitionstabelle (wie in fdisk -l /dev/sda). n legt eine neue Partition an; fragt Partitionstyp, Nummer der Partition und Größe ab. t Ändert den Typ einer Partition. Nach dem Aufruf des Kommandos erhalten Sie mit dem Kommando L eine Übersicht über die fdisk bekannten Partitionstypen. d Löscht eine Partition. w schreibt die von Ihnen überarbeitete Partitionstabelle. Danach beendet sich fdisk. q Programm beendet sich, ohne die Partitionstabelle zu ändern. m Menü, in dem alle Befehle aufgeführt sind, nur in Englisch und noch ein paar mehr Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-14

166 104.1: fdisk (3) Neue primäre Partition erzeugen Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder ( , default 1241): Using default value 1241 Last cylinder, +cylinders or +size{k,m,g} ( , default 1300): Using default value 1300 Command (m for help): p Disk /dev/sda: 10.7 GB, bytes 255 heads, 63 sectors/track, 1300 cylinders Units = cylinders of * 512 = bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000ce798 Device Boot Start End Blocks Id System /dev/sda1 * Linux /dev/sda Linux Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-15

167 104.1: fdisk (4) Neue erweiterte Partition erzeugen Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 2 First cylinder ( , default 1241): Using default value 1241 Last cylinder, +cylinders or +size{k,m,g} ( , default 1300): Using default value 1300 Command (m for help): p Disk /dev/sda: 10.7 GB, bytes 255 heads, 63 sectors/track, 1300 cylinders Units = cylinders of * 512 = bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000ce798 Device Boot Start End Blocks Id System /dev/sda1 * Linux /dev/sda Extended Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-16

168 104.1: fdisk (5) Neue logische Partition erzeugen Command (m for help): n Auswahl geändert, weil es Command action! jetzt eine erweiterte l logical (5 or over) p primary partition (1-4) Partition gibt! l First cylinder ( , default 1241): Using default value 1241 Last cylinder, +cylinders or +size{k,m,g} ( , default 1300): 1260 Command (m for help): p Disk /dev/sda: 10.7 GB, bytes 255 heads, 63 sectors/track, 1300 cylinders Units = cylinders of * 512 = bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000ce798 Device Boot Start End Blocks Id System /dev/sda1 * Linux /dev/sda Extended /dev/sda Linux Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-17

169 104.1: fdisk (6) Command (m for help): t Partition number (1-5): 1 Hex code (type L to list codes): L Partitionstypen 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 40 Venix OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx 5 Extended 42 SFS 86 NTFS volume set da Non-FS data 6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS /. 7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt 9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT 1e Hidden W95 FAT Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-18

170 104.1: Formatieren (1) Einfaches Anlegen einer neuen Partition macht diese noch nicht benutzbar Partition muss man vor erster Nutzung formatieren (= mit einem Dateisystem versehen) Kommando allgemein: mkfs (make filesystem) mkfs -t TYP /dev/gerät ruft spezialisiertes Tool mkfs.typ (z. B. mkfs.ext3) auf ls /sbin/mkfs* /sbin/mkfs /sbin/mkfs.bfs /sbin/mkfs.ext2 /sbin/mkfs.ext3 /sbin/mkfs.ext4dev /sbin/mkfs.ntfs /sbin/mkfs.minix /sbin/mkfs.vfat /sbin/mkfs.cramfs /sbin/mkfs.ext4 /sbin/mkfs.msdos Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-19

171 104.1: Formatieren (2) mkfs -t ext3 /dev/sda8 mke2fs (17-May-2010) Dateisystem-Label= OS-Typ: Linux Blockgröße=1024 (log=0) Fragmentgröße=1024 (log=0) Stride=0 Blöcke, Stripebreite=0 Blöcke 2560 Inodes, Blöcke 512 Blöcke (5.00%) reserviert für den Superuser Erster Datenblock=1 Maximale Dateisystem-Blöcke= Blockgruppen 8192 Blöcke pro Gruppe, 8192 Fragmente pro Gruppe 1280 Inodes pro Gruppe Superblock-Sicherungskopien gespeichert in den Blöcken: 8193 Schreibe Inode-Tabellen: erledigt Erstelle Journal (1024 Blöcke): erledigt Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt Das Dateisystem wird automatisch nach jeweils 30 Einhäng-Vorgängen bzw. alle 180 Tage überprüft, je nachdem, was zuerst eintritt. Dies kann durch tune2fs -c oder -i geändert werden Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-20

172 104.1: Formatieren (3) Auch Swap-Partition (Bereich, der für das Auslagern von Speicherseiten verwendet wird; Paging) muss formatiert werden Tool heißt mkswap: mkswap /dev/sda5 Setting up swapspace version 1, size = KiB no label, UUID=5c43f2b fde-94a2-f154ffbabb42 Swap-Bereich darf auch Datei sein hilfreich, wenn keine Swap-Partition angelegt werden kann Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-21

173 104.3: Mounten (1) Linux bindet beim Systemstart nicht automatisch alle Dateisysteme (meist: Partitionen) ein, sondern tut dies nur für eine Auswahl, die durch Einträge in einer Konfigurationsdatei festgelegt wird. Ausnahme: Root-Dateisystem /, ohne das kein Systemstart möglich ist. Den Einbindevorgang nennt Linux (wie alle Unix-Systeme) mounten, die umgekehrte Operation, bei der das System nicht länger auf einen Datenträger zugreift, heißt unmounten. Die dafür zuständigen Kommandos heißen mount und umount (nicht unmount!) Automatisches Mounten über Einträge in /etc/fstab Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-22

174 104.3: Mounten (2) Das Mounten stellt eine Verknüpfung zwischen einem Datenträger und einem Verzeichnis her, unter dem dann die Inhalte des Datenträgers erreichbar sind Diese Verzeichnisse (Mount-Points) sind das Gegenstück zu Windows-Laufwerksbuchstaben Linux- (Unix-) Ansatz ist flexibler Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-23

175 104.3: Mounten (3) Datenträger unter Windows und Linux Linux-Partition: nicht sichtbar C: [Win] C:\Windows C:\Windows\System C:\Users C:\Users\Esser C:\Users\Esser\Documents D: [Restore] D:\Restore.Tmp E: [OfficeDVD] E:\Files [Root-Dateisystem /dev/sda6 auf /] /home /usr /etc /var... [/dev/sda1 auf /mnt/win1] /mnt/win1/windows /mnt/win1/windows/system /mnt/win1/users /mnt/win1/users/esser /mnt/win1/users/esser/documents [/dev/sda2 auf /mnt/win2] /mnt/win2/restore.tmp [Office-DVD auf /media/officedvd] /media/officedvd/files Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-24

176 104.3: Mounten (4) Windows Linux C: / home mnt usr media esser win1 win2 office D: E: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-25

177 104.3: Mounten (5) Was braucht man fürs Mounten? Gerätedatei des Datenträgers (Partition o. ä.) Mount-Point (Verzeichnis, muss schon existieren) evtl. Typ des Dateisystems evtl. Optionen fürs Mounten mount -t TYP -o OPTIONS /dev/partition /MOUNTPOINT mount -t ext3 -o ro /dev/sda7 /mnt Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-26

178 104.3: Mounten (6) Dateisystemtyp (-t TYP) ext4: 4 th extended filesystem (Linux, aktuell) ext3: 3 rd extended filesystem (Linux, älter) ext2: 2 nd extended filesystem (Linux, veraltet) reiserfs: Reiser-Dateisystem (Linux, älter) ntfs: New Technology Filesystem (Windows) vfat: Virtual File Allocation Table (DOS, Windows) iso9660: CD-/DVD-Dateisystem udf: DVD-Dateisystem (z. B. Video-DVD) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-27

179 104.3: Mounten (7) Dateisystemtyp (-t TYP) Liste tatsächlich noch länger; Auszug aus Manpage: -t, --types vfstype The argument following the -t is used to indicate the filesystem type. The filesystem types which are currently supported include: adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfsplus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, squashfs, smbfs, sysv, tmpfs, ubifs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs. Welche Dateisysteme unterstützt der Kernel (im Moment)? grep -v nodev /proc/filesystems ext3 fuseblk udf iso9660 ntfs vfat Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-28

180 104.3: Mounten (8) Mount-Optionen (-o OPTIONEN); Auswahl: ro: read-only (nur lesen) rw: read-write (lesen und schreiben; Standard) async, sync: alle Zugriffe asynchron bzw. synchron (sofort schreiben, kein Puffer) ausführen noatime: Zugriffe auf Dateien nicht in Metadaten speichern (u. a. für Flash-Datenträger sinnvoll) nodiratime: wie noatime, für Verzeichnisse noexec: Programme sind nicht ausführbar remount: bereits gemountetes FS nochmal mounten loop: Dateisystem-Image mounten Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-29

181 104.3: Mounten (9) Swap-Partitionen werden nicht gemountet, sondern aktiviert (swapon) oder deaktiviert (swapoff) swapon -v /dev/sda5 swapon on /dev/sda5 swapon: /dev/sda5: found swap signature: version 1, page-size 4, same byte order swapon: /dev/sda5: pagesize=4096, swapsize= , devsize= swapoff -v /dev/sda5 swapoff on /dev/sda5 (ohne Option -v keine Ausgabe) Swap darf auch eine Datei sein Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-30

182 104.3: Mounten (10) Übersicht über aktive Swap-Bereiche cat /proc/swaps Filename Type Size Used Priority /dev/sda5 partition /tmp/swapfile file Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-31

183 104.3: Unmounten (1) Dateisystem wieder aushängen (unmounten) Kommando umount Argument: Wahlweise Name der Gerätedatei (/dev/...) oder Mount-Point Beispiele: umount /dev/sda6 (Gerätedatei) umount /mnt/win1 (Mount-Point) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-32

184 104.3: Unmounten (2) Kommando umount schlägt manchmal fehl: pwd /mnt/tmp umount /mnt umount: /mnt: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) cd / root@dissdevel:/# umount /mnt/ root@dissdevel:/# _ Es darf keine Datei im FS geöffnet sein Es darf keine Shell (oder ein anderes Programm) das aktuelle Arbeitsverzeichnis in diesem FS haben Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-33

185 104.3: Mounten mit /etc/fstab (1) Konfigurationsdatei /etc/fstab (filesystem table) legt fest, welche FS beim Systemstart eingebunden werden Aufbau einer Zeile der Datei: # <fs> <mount point> <type> <options> <dump> <pass> Beispiel: proc /proc proc defaults 0 0 /dev/sda1 / ext3 errors=remount-ro 0 1 /dev/sda5 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-34

186 104.3: Mounten mit /etc/fstab (2) Einige Einträge haben im Optionenfeld die Option noauto Solche Einträge werden nicht automatisch gemountet, können aber einfacher von Hand gemountet werden grep scd0 /etc/fstab /dev/scd0 /media/cdrom udf,iso9660 user,noauto 0 0 root@server:~# mount /media/cdrom Zusatzoption user bedeutet: Mounten auch ohne Root-Rechte möglich Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-35

187 104.3: Mounten mit /etc/fstab (3) Neben /etc/fstab gibt es noch eine Datei /etc/mtab (mount table) Diese enthält Informationen über gemountete Dateisysteme und wird automatisch (vom System) erstellt und aktualisiert cat /etc/mtab /dev/sda1 / ext3 rw,errors=remount-ro 0 0 tmpfs /lib/init/rw tmpfs rw,nosuid,mode= proc /proc proc rw,noexec,nosuid,nodev 0 0 sysfs /sys sysfs rw,noexec,nosuid,nodev 0 0 udev /dev tmpfs rw,mode= tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode= fusectl /sys/fs/fuse/connections fusectl rw 0 0 Daten /media/sf_daten vboxsf gid=1001,rw Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-36

188 104.2: Filesystem Check (1) Dateisysteme werden i. d. R. beim Systemstart auf Konsistenz überprüft (filesystem check) Auf Wunsch auch manuelle Überprüfung möglich Dateisystem darf dabei nicht gemountet sein Generisches Tool: fsck (filesystem check) fsck /dev/sda1 fsck from util-linux-ng e2fsck (17-May-2010) /dev/sda1 ist eingehängt. WARNUNG!!! Die Benutzung von e2fsck auf einem eingehängten Dateisystem führt zu SCHWERWIEGENDEN SCHÄDEN im Dateisystem. Wirklich fortfahren (j/n)? Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-37

189 104.2: Filesystem Check (2) Automatische Überprüfung beim Systemstart: Welche Dateisysteme überprüft werden, legt letzte Spalte in /etc/fstab fest: 1 = prüfen proc /proc proc defaults 0 0 /dev/sda1 / ext3 errors=remount-ro 0 1 /dev/sda5 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-38

190 104.2: Filesystem Check (3) Statt fsck besser direkt das für das Dateisystem passende Tool (fsck.typ) aufrufen dann sind auch individuelle Optionen möglich Beispiel fsck.ext3, Optionen: -f : force, auch als clean erkanntes FS prüfen -p : versuche, Fehler automatisch zu beheben -y : alle Fragen, die fsck.ext3 stellt, automatisch mit y (yes) beantworten -c : Programm badblocks aufrufen (findet defekte Blöcke und trägt diese in Bad Blocks List ein) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-39

191 104.2: Filesystem Check (4) Beispiel fsck auf Ext3-Dateisystem fsck /dev/sda8 fsck from util-linux-ng e2fsck (17-May-2010) /dev/sda8: sauber, 11/65536 Dateien, 12644/ Blöcke (jetzt mit -f erzwingen) fsck -f /dev/sda8 fsck from util-linux-ng e2fsck (17-May-2010) Durchgang 1: Prüfe Inodes, Blocks, und Größen Durchgang 2: Prüfe Verzeichnis Struktur Durchgang 3: Prüfe Verzeichnis Verknüpfungen Durchgang 4: Überprüfe die Referenzzähler Durchgang 5: Überprüfe Gruppe Zusammenfassung /dev/sda8: 11/65536 Dateien (0.0% nicht zusammenhängend), 12644/ Blöcke Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-40

192 104.2: Filesystem Check (5) Beispiel fsck.ext3 mit Fehlern fsck.ext3 -f /dev/sda8 e2fsck (17-May-2010) Durchgang 1: Prüfe Inodes, Blocks, und Größen Durchgang 2: Prüfe Verzeichnis Struktur Eintrag»..«in??? (41972) hat gelöscht/unbenutzt Inode Bereinige<j>? ja Eintrag»..«in??? (42004) hat gelöscht/unbenutzt Inode Bereinige<j>? ja Eintrag»..«in??? (42006) hat gelöscht/unbenutzt Inode Bereinige<j>? ja Durchgang 3: Prüfe Verzeichnis Verknüpfungen Durchgang 4: Überprüfe die Referenzzähler Durchgang 5: Überprüfe Gruppe Zusammenfassung Die Anzahl freier Inodes ist falsch (59759, gezählt=58271). Repariere<j>? ja /dev/sda8: ***** DATEISYSTEM WURDE VERÄNDERT ***** /dev/sda8: 7265/65536 Dateien (0.0% nicht zusammenhängend), 44392/ Blöcke Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-41

193 Alternativnamen mkfs, fsck Die FS-spezifischen mkfs- und fsck-tools sind meist noch unter anderen (kürzeren) Namen erreichbar: mkfs.ext3 = mke2fs fsck.ext3 = e2fsck mkfs.ext4 = mke2fs fsck.ext4 = e2fsck mkfs.vfat = mkdosfs fsck.vfat = dosfsck mkfs.msdos = mkdosfs fsck.msdos = dosfsck Aber: dann bei mk*fs aufpassen, welches das Standard-FS ist (mke2fs: Ext2, also nicht sinnvoll...) mkfs ohne -t: auch Ext2 vfat und msdos sind identische FS Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-42

194 104.2: FS-Informationen, du/df (1) Speicherplatz-Verbrauch df (disk free) zeigt freien Platz auf einem Datenträger (oder auf allen) an du (disk usage) zeigt verwendeten Platz in einem Verzeichnis an für beide Tools: mit Optionen die Ausgabe anpassen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-43

195 104.2: FS-Informationen, du/df (2) df df Dateisystem 1K Blöcke Benutzt Verfügbar Ben% Eingehängt auf /dev/sda5 /dev/sda % / % /mnt/win tmpfs % /lib/init/rw udev tmpfs % /dev 0% /dev/shm -h = human-readable root@dissdevel:/tmp# df -h Dateisystem Size Used Avail Use% Eingehängt auf /dev/sda5 /dev/sda1 9,4G 6,2G 2,8G 70% / 113G 84G 29G 75% /mnt/win tmpfs udev 506M 0 506M 501M 176K 501M 0% /lib/init/rw 1% /dev tmpfs 506M 0 506M 0% /dev/shm root@dissdevel:/tmp# df -h / Dateisystem Size Used Avail Use% Eingehängt auf /dev/sda1 9,4G 6,2G 2,8G 70% / Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-44

196 104.2: FS-Informationen, du/df (3) du du 80./Briefe /BS-Alt./BS-Praxis /BS-Theorie/Klausur /BS-Theorie/Uebung02-Loesungen/aufgabe-b./BS-Theorie/Uebung02-Loesungen/aufgabe-c /BS-Theorie/Uebung02-Loesungen/aufgabe-d./BS-Theorie/Uebung02-Loesungen /BS-Theorie 440./IT-Infrastruktur 4780./Material und Downloads/FOM_IT-Infrastruktur_(REP)_510-r.15_sw /Material und Downloads./Seminar/bearbeitet /Seminar. du -s du -sm s = summary, -m = megabytes Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-45

197 104.2: FS-Informationen, du/df (4) du -s * sort -n esser@dissdevel:~/daten$ ls -d * Anstel Buecher Erlangen FOM FU-Hagen Heise HM LNM privat Promotion esser@dissdevel:~/daten$ du -sm * sort -n 1 3 privat Heise 6 6 Anstel Buecher 9 Erlangen HM FU-Hagen 61 LNM 147 FOM 1715 Promotion sort -n = numerisch sortieren Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-46

198 104.2: debugfs, dumpe2fs, tune2fs (1) Arbeiten am Dateisystem (für Fortgeschrittene) Tools für die Familie der Ext-Dateisysteme (Ext2, Ext3, Ext4) debugfs: Eingriffe in die Interna des Dateisystems dumpe2fs: Ausgabe aller wichtigen Metadaten des Dateisystems tune2fs: Tuning für Ext-Dateisysteme, Einstellen von Optionen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-47

199 104.2: debugfs, dumpe2fs, tune2fs (2) dumpe2fs /dev/sda1 dumpe2fs (17-May-2010) Filesystem volume name: <none> Last mounted on: <not available> Filesystem UUID: 27a7303b ea-8ae8-67f9b Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file Filesystem flags: signed_directory_hash Default mount options: (none) Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: Block count: Reserved block count: Free blocks: Free inodes: First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 608 Blocks per group: Fragments per group: Inodes per group: 8096 Inode blocks per group: 506 Filesystem created: Tue May 3 11:55: Last mount time: Thu Jun 2 17:15: Last write time: Thu Jun 2 17:15: Mount count: 1 Maximum mount count: 20 Last checked: Thu Jun 2 17:15: Check interval: (6 months) Next check after: Tue Nov 29 16:15: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-48

200 104.2: debugfs, dumpe2fs, tune2fs (3) tune2fs Einstellen, was bei FS-Fehler passiert (continue, panic, remount-ro) Intervall zwischen FS-Checks ändern Journal ergänzen oder entfernen ( Journaling, nächste Folie) Volume-Label ändern Größe des reservierten Bereichs ändern dieser Teil des FS kann nur von root verwendet werden für normale Nutzer erscheint das FS ggf. als voll Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-49

201 Journaling Moderne Dateisysteme (z. B. ext3, ext4, ReiserFS) verwenden Journaling Vor jeder Änderung an den Metadaten einer Datei wird in einen Protokollbereich (das Journal) die geplante Änderung geschrieben Ist Änderung erfolgreich abgeschlossen, wird Eintrag aus Journal wieder gelöscht Beschleunigt (nach Absturz) den FS-Check: nur prüfen, welche Einträge im Journal stehen diese wurden evtl. nicht erfolgreich durchgeführt Variante: nicht nur Metadaten, sondern auch Daten Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-50

202 Etwas Theorie (1) Wichtige Konzepte in Linux-Dateisystemen: I-Nodes Dateien und Verzeichnisse Datenblöcke Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-51

203 Etwas Theorie (2) I-Nodes: Wenn eine neue Datei angelegt wird, sucht Linux zunächst einen freien I-Node (Index Node) das ist ein Verwaltungseintrag auf der Partition I-Node enthält Metadaten: Dateigröße, Liste der verwendeten Blöcke Besitzer und Standard-Gruppe Zugriffsrechte, Timestamps () nicht im I-Node: Dateiname und/oder Pfad (!) Danach zu I-Node Eintrag in Verzeichnis anlegen Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-52

204 Etwas Theorie (3) I-Node grafisch: Quelle: _-_System-Administration_-_Dateisysteme Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-53

205 Etwas Theorie (4) Dateien Eine Datei besteht klassisch aus den eigentlichen Nutzdaten, die in Datenblöcken gespeichert sind, einem Dateinamen (mit Pfadangabe) Metadaten (Besitzer, Zugriffsrechte, Größe etc.) Aus Linux-Sicht ist eine Datei zunächst die Sammlung der Datenblöcke + der I-Node (mit Metadaten und Blockliste) Durch Eintragen in ein Verzeichnis (also Zuordnung: Dateiname I-Node) wird die Datei im Dateisystem sichtbar Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-54

206 Etwas Theorie (5) Verzeichnisse sind in Linux-Dateisystemen spezielle Dateien, welche nur Zuordnungen Name I-Node enthalten entspricht der Unix-Philosophie alles ist eine Datei Da Verzeichnis nur eine Datei ist, ist auch ein schnelles Verschieben eines kompletten Ordners mit Unterordnern schnell erledigt: mv /home/esser/videos /tmp/videos benötigt keine messbare Zeit (falls Verschieben innerhalb einer Partition!) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-55

207 Etwas Theorie (6) Datenblöcke Dateisystem verwaltet eine Liste freier / belegter Datenblöcke Beim Löschen einer Datei werden alle verwendeten Datenblöcke als frei gekennzeichnet (und bald wiederverwendet) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-56

208 104.6: Soft Links / Hard Links (1) Grundidee hinter Links: Datei unter mehreren Namen (und ggf. an verschiedenen Orten) ansprechen symbolische Links (soft links): spezielle Dateien, die den Pfad (absolut oder relativ) zu einer anderen Datei speichern können broken sein, also auf etwas zeigen, das es nicht gibt (wie im Web: broken link) Hard Links: Eintrag in einem Verzeichnis, der auf denselben I-Node zeigt Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-57

209 104.6: Soft Links / Hard Links (2) Symbolische Links / Soft Links erstellen mit ln -s (s = soft) funktionieren auch Dateisystem-übergreifen (wenn anderes FS auch eingebunden ist) esser@dissdevel:~$ ls -l /mnt/windows/config.sys -rwxr-xr-x 1 root root Jun 20:08 /mnt/windows/config.sys esser@dissdevel:~$ ln -s /mnt/windows/config.sys config.sys esser@dissdevel:~$ ls -l config.sys lrwxrwxrwx 1 esser esser Jun 20:08 config.sys -> /mnt/windows/config.sys esser@dissdevel:~$ ln -s /mnt/windows/broken broken.txt esser@dissdevel:~$ ls -l broken.txt lrwxrwxrwx 1 esser esser Jun 20:09 broken.txt -> /mnt/windows/broken esser@dissdevel:~$ cat broken.txt cat: broken.txt: Datei oder Verzeichnis nicht gefunden esser@dissdevel:~$ file broken.txt broken.txt: broken symbolic link to `/mnt/windows/windows/broken' Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-58

210 104.6: Soft Links / Hard Links (3) Hard Links erstellen mit ln (ohne Option) Quelle und Ziel zeigen auf gleichen I-Node darum nur innerhalb eines Dateisystems möglich esser@dissdevel:~$ touch datei.txt esser@dissdevel:~$ cp datei.txt kopie.txt esser@dissdevel:~$ ln datei.txt link.txt esser@dissdevel:~$ ls -il *.txt rw-r--r-- 2 esser esser 0 2. Jun 20:16 datei.txt rw-r--r-- 1 esser esser 0 2. Jun 20:16 kopie.txt rw-r--r-- 2 esser esser 0 2. Jun 20:16 link.txt -i : I-Nodes anzeigen rot: link count esser@dissdevel:~$ ln /mnt/windows/config.sys config.sys ln: Erzeuge harte Verknüpfung config.sys /mnt/windows/config.sys : Ungültiger Link über Gerätegrenzen hinweg Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-59

211 104.6: Soft Links / Hard Links (4) Hard Links / Links / Löschen Jeder Eintrag in einem Verzeichnis ist ein Link Das Anlegen eines Hard Links bedeutet also nur: Für die Datei (für den I-Node!) existieren jetzt zwei Einträge in einem (oder mehreren) Verzeichnissen Linux kennt intern keine Lösch -Operation, sondern nur eine Unlink -Operation sie entfernt den ausgewählten Link, also die Zuordnung Dateiname I-Node und zählt den Link Count um 1 runter Wenn Link Count 0 erreicht wird, wird I-Node freigegeben Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie E-60

212 Betriebssysteme Praxis SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz F: Auskunft Topic 101.1: Informationen über das System Topic 104.7: Suche nach Dateien Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-1

213 Auskunft Determine and configure hardware settings Description: Candidates should be able to determine and configure fundamental system hardware. Key Knowledge Areas: Enable and disable integrated peripherals. Configure systems with or without external peripherals such as keyboards. Differentiate between the various types of mass storage devices. Set the correct hardware ID for different devices, especially the boot device. Know the differences between coldplug and hotplug devices. Determine hardware resources for devices. Tools and utilities to list various hardware information (e.g. lsusb, lspci, etc.) Tools and utilities to manipulate USB devices Conceptual understanding of sysfs, udev, hald, dbus The following is a partial list of the used files, terms and utilities: /sys, /proc, /dev, modprobe, lsmod, lspci, lsusb Quelle: ogram/lpic_1/exam_101_detailed_objectives Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-2

214 Auskunft Find system files and place files in the correct location Description: Candidates should be thouroughly familiar with the Filesystem Hierarchy Standard (FHS), including typical file locations and directory classifications. Key Knowledge Areas: Understand the correct locations of files under the FHS. Find files and commands on a Linux system. Know the location and purpose of important file and directories as defined in the FHS. The following is a partial list of the used files, terms and utilities: find, locate, updatedb, whereis, which, type, /etc/updatedb.conf Quelle: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-3

215 101.1 Hardware-Überblick (1) Hardware: Was gibt s im / am Rechner? Prozessor(en) /proc/cpuinfo Festplatten fdisk -l; /proc/partitions Hauptspeicher free; /proc/meminfo PCI-Karten lspci USB-Geräte lsusb SCSI-Geräte /proc/scsi/scsi Drucker (konfiguriert) lpc stat Gesamtüberblick lshw Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-4

216 101.1 Hardware-Überblick (2) CPU: /proc/cpuinfo cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 16 model : 5 model name : AMD Athlon(tm) II X4 640 Processor stepping : 3 cpu MHz : cache size : 512 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legay abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save bogomips : clflush size : 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate processor : 1 vendor_id : AuthenticAMD cpu family : 16 model : 5 model name : AMD Athlon(tm) II X4 640 Processor stepping : 3 cpu MHz : cache size : 512 KB physical id : 0 siblings : 4 core id : 1 [...] Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-5

217 Festplatten: fdisk -l Hardware-Überblick (3) fdisk -l Platte /dev/sda: GByte, Byte 255 Köpfe, 63 Sektoren/Spur, Zylinder Einheiten = Zylinder von * 512 = Bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x7c Gerät boot. Anfang Ende Blöcke Id System /dev/sda HPFS/NTFS /dev/sda f W95 Erw. (LBA) /dev/sda Linux Swap / Solaris /dev/sda4 * Linux /dev/sda b W95 FAT32 Platte /dev/sdb: GByte, Byte 255 Köpfe, 63 Sektoren/Spur, Zylinder Einheiten = Zylinder von * 512 = Bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x2bd2c32a Gerät boot. Anfang Ende Blöcke Id System /dev/sdb1 * HPFS/NTFS /dev/sdb HPFS/NTFS /dev/sdb HPFS/NTFS /dev/sdb Compaq Diagnostics Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-6

218 101.1 Hardware-Überblick (4) Festplatten: /proc/partitions cat /proc/partitions major minor #blocks name ramzswap sda sda sda sda sda sda sdb sdb sdb sdb sdb Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-7

219 101.1 Hardware-Überblick (5) RAM: free; /proc/meminfo free total used free shared buffers cached Mem: /+ buffers/cache: Swap: root@quadamd:/home/esser# cat /proc/meminfo MemTotal: kb MemFree: kb Buffers: kb Cached: kb SwapCached: 0 kb Active: kb Inactive: kb Active(anon): kb Inactive(anon): kb [...] Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-8

220 PCI-Karten: lspci Hardware-Überblick (6) lspci 00:00.0 Host bridge: ATI Technologies Inc RX780/RX790 Chipset Host Bridge 00:02.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (external gfx0 port A) 00:05.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port B) 00:06.0 PCI bridge: ATI Technologies Inc RD790 PCI to PCI bridge (PCI express gpp port C) 00:11.0 SATA controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] 00:12.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:12.1 USB Controller: ATI Technologies Inc SB7x0 USB OHCI1 Controller 00:12.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:13.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:13.1 USB Controller: ATI Technologies Inc SB7x0 USB OHCI1 Controller 00:13.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3c) 00:14.1 IDE interface: ATI Technologies Inc SB7x0/SB8x0/SB9x0 IDE Controller 00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) 00:14.3 ISA bridge: ATI Technologies Inc SB7x0/SB8x0/SB9x0 LPC host controller 00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge 00:14.5 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI2 Controller 00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration 00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Address Map 00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller 00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control 00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Link Control 01:00.0 VGA compatible controller: nvidia Corporation NV43 [GeForce 6600] (rev a2) 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06) 03:00.0 USB Controller: NEC Corporation upd USB 3.0 Host Controller (rev 03) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-9

221 101.1 Hardware-Überblick (7) PCI-Karten: evtl. numerische Angaben besser lspci 00:00.0 Host bridge: ATI Technologi... 00:02.0 PCI bridge: ATI Technologie... 00:05.0 PCI bridge: ATI Technologie... 00:06.0 PCI bridge: ATI Technologie... 00:11.0 SATA controller: ATI Techno... 00:12.0 USB Controller: ATI Technol... 00:12.1 USB Controller: ATI Technol... 00:12.2 USB Controller: ATI Technol... 00:13.0 USB Controller: ATI Technol... 00:13.1 USB Controller: ATI Technol... 00:13.2 USB Controller: ATI Technol... 00:14.0 SMBus: ATI Technologies Inc... 00:14.1 IDE interface: ATI Technolo... 00:14.2 Audio device: ATI Technolog... 00:14.3 ISA bridge: ATI Technologie... 00:14.4 PCI bridge: ATI Technologie... 00:14.5 USB Controller: ATI Technol... 00:18.0 Host bridge: Advanced Micro... 00:18.1 Host bridge: Advanced Micro... 00:18.2 Host bridge: Advanced Micro... 00:18.3 Host bridge: Advanced Micro... 00:18.4 Host bridge: Advanced Micro... 01:00.0 VGA compatible controller:... 02:00.0 Ethernet controller: Realte... 03:00.0 USB Controller: NEC Corpora... lspci -n 00: : 1002: : : 1002: : : 1002:597b 00: : 1002:597c 00: : 1002: :12.0 0c03: 1002: :12.1 0c03: 1002: :12.2 0c03: 1002: :13.0 0c03: 1002: :13.1 0c03: 1002: :13.2 0c03: 1002: :14.0 0c05: 1002:4385 (rev 3c) 00: : 1002:439c 00: : 1002: : : 1002:439d 00: : 1002: :14.5 0c03: 1002: : : 1022: : : 1022: : : 1022: : : 1022: : : 1022: : : 10de:0141 (rev a2) 02: : 10ec:8168 (rev 06) 03:00.0 0c03: 1033:0194 (rev 03) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-10

222 101.1 Hardware-Überblick (8) lspci beherrscht auch kombinierte Ausgabe von Namen und Nummern (über Option -nn) # lspci -nn 01:00.0 VGA compatible controller [0300]: nvidia Corporation NV43 [GeForce 6600] [10de:0141] (rev a2) Ausgabe der benutzten Kernel-Module (-k) # lspci -k 01:00.0 VGA compatible controller: nvidia Corporation NV43 [GeForce 6600] (rev a2) Subsystem: Giga-byte Technology GV-NX66128DP Turbo Force Edition Kernel driver in use: nvidia Kernel modules: nvidia-current, nouveau, nvidiafb Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-11

223 101.1 Hardware-Überblick (9) USB-Geräte: lsusb lsusb Bus 008 Device 002: ID 174c:55aa ASMedia Technology Inc. Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 004: ID 03f0:0e17 Hewlett-Packard LaserJet 1015 Bus 004 Device 003: ID 05e3:0604 Genesys Logic, Inc. USB 1.1 Hub Bus 004 Device 002: ID 046d:c05b Logitech, Inc. Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 003: ID 13d3:3306 IMC Networks Bus 002 Device 002: ID 058f:6360 Alcor Micro Corp. Multimedia Card Reader Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 04a9:2213 Canon, Inc. CanoScan LiDE 50/LiDE 35/LiDE 40 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub mehr Informationen mit Option -v Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-12

224 101.1 Hardware-Überblick (10) SCSI-Geräte: /proc/scsi/scsi Achtung: hier tauchen auch SATA-Platten auf cat /proc/scsi/scsi Attached devices: Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: WDC WD10EACS-22D Rev: 01.0 Type: Direct-Access Host: scsi3 Channel: 00 Id: 00 Lun: 00 ANSI SCSI revision: 05 Vendor: TSSTcorp Model: CDDVDW SH-S223C Rev: me01 Type: CD-ROM ANSI SCSI revision: 05 Host: scsi5 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST AS Type: Direct-Access Rev: CC34 ANSI SCSI revision: 05 Host: scsi8 Channel: 00 Id: 00 Lun: 00 Vendor: Generic Model: CF Card Reader Rev: 1.00 Type: Direct-Access ANSI SCSI revision: 00 Host: scsi8 Channel: 00 Id: 00 Lun: 01 Vendor: Generic Model: SD MS Reader Rev: 1.01 Type: Direct-Access Host: scsi9 Channel: 00 Id: 00 Lun: 00 ANSI SCSI revision: 00 Vendor: ST Model: 5AS Type: Direct-Access Rev: 0002 ANSI SCSI revision: Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-13

225 101.1 Hardware-Überblick (11) Drucker tatsächlich angeschlossene Geräte: lsusb oder Blick ins Systemlog (für Geräte am Parallelport) konfigurierte Geräte: lpc stat lpc stat canon: printer is on device 'tpu' speed -1 queuing is enabled printing is enabled no entries daemon present hp-laserjet-1015: printer is on device 'hp' speed -1 queuing is enabled printing is enabled no entries daemon present mc2430dl: printer is on device 'dnssd' speed -1 queuing is enabled [...] Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-14

226 101.1 Hardware-Überblick (12) Gesamtüberblick: lshw, auch als graf. Tool (lshw-gtk) Betriebssysteme-Praxis, SS 2013, Hans-Georg Eßer Folie F-15

LINUX Gesamtmitschrift

LINUX Gesamtmitschrift LINUX Gesamtmitschrift Martin Rabensteiner, 22.11.2015 Filesystem unter Linux - Keine Laufwerksbuchstaben - ~ Home-Verzeichnis User - Versteckte Dateien.filename Pfade 1. Absoluter Pfad eindeutiger Weg

Mehr

1 Linux-Befehlsübersicht

1 Linux-Befehlsübersicht 1 Linux-Befehlsübersicht 1.1 Dateiverwaltung ls Verzeichnisinhalt anzeigen (list) ls -l ausführliche Darstellung ls -a auch versteckte Dateien auisten ls -h verwende besser lesbare Einheiten (humanreadable,

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Andreas Teuchert 27./28. Juni 2012 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID)

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Benjamin Eberle 22. Januar 2015 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID) jeder

Mehr

Tutorium 1 Systemadministration 2 - Linux Universität Hildesheim

Tutorium 1 Systemadministration 2 - Linux Universität Hildesheim Tutorium 1 Systemadministration 2 - Linux Universität Hildesheim Jens Rademacher 16.06.2014 1. Theorie: Verzeichnisbaum Eine Auswahl einiger Verzeichnisse. / # Root-Verzeichnis /home/ # Enthält alle Home-Verzeichnisse

Mehr

!"#$%"&''('#")" *$+,%'

!#$%&''('#) *$+,%' ?@$3A1$8"'@.23BND "#$%"&''('#")" *$+,%' 675%"&8"9 -+.'/0"1$2345"$ 6%789/:+#;91$)9 A=B+(;-2)D5C?+;EFG*H;>45I+;H30J;-)2BB2)+=;5+;5KL "#$#%"& '()*+(,--.-)(/(01*23+-45675%"&8"945:2;-05?@(*

Mehr

Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs

Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Theorie Linux und Unix Unix bezeichnet eine Familie von Betriebssystemen: HP-UX, AIX, Solaris, Mac OS X, GNU/Linux. Linux ist eine freie und quelloffene

Mehr

Debian GNU/Linux. Unix Grundlagen und Betrieb. Christian T. Steigies

Debian GNU/Linux. Unix Grundlagen und Betrieb. Christian T. Steigies : Betrieb Unix Grundlagen und Betrieb Institut für Experimentelle und Angewandte Physik Christian-Albrechts-Universität zu Kiel Debian crash course 20.02.2007 : Betrieb Unix Grundlagen Konfigurationsdateien

Mehr

Die Architektur von UNIX/Linux- Betriebssystemen. Mag. Lukas Feiler, SSCP lukas.feiler@lukasfeiler.com http://www.lukasfeiler.

Die Architektur von UNIX/Linux- Betriebssystemen. Mag. Lukas Feiler, SSCP lukas.feiler@lukasfeiler.com http://www.lukasfeiler. Die Architektur von UNIX/Linux- Betriebssystemen Mag. Lukas Feiler, SSCP lukas.feiler@lukasfeiler.com http://www.lukasfeiler.com/lectures_brg9 1977: Berkeley Software Distribution/BSD (U.C. Berkeley) 1986:

Mehr

Praktikum RO1 Einführung Linux / Ubuntu / Bash

Praktikum RO1 Einführung Linux / Ubuntu / Bash Praktikum RO1 Einführung Linux / Ubuntu / Bash Ubuntu Ubuntu 10.04 läuft als Gastsystem auf der virtuellen Maschine Virtuel Box. Das vorbereitete Ubuntu liegt auf der Festplatte Daten_1 ( \D:\VM'sUbuntu_10.04

Mehr

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt Literatur Einführung in Unix Introduction to Unix Martin Weissenböck: Linux, 2000, 2. Auflage, Adim Bodo Bauer: SuSE Linux 6.2, Installation, Konfiguration und erste Schritte, 1999, 15. Auflage, SuSE Verlag.

Mehr

Linux Grundlagen. Wolfgang Scheicher 20. Mai 2006. 1 Allgemeines 2 1.1 Bootvorgang... 2 1.2 Verzeichnisstruktur... 2

Linux Grundlagen. Wolfgang Scheicher 20. Mai 2006. 1 Allgemeines 2 1.1 Bootvorgang... 2 1.2 Verzeichnisstruktur... 2 Linux Grundlagen Wolfgang Scheicher 20. Mai 2006 Inhaltsverzeichnis 1 Allgemeines 2 1.1 Bootvorgang........................................... 2 1.2 Verzeichnisstruktur........................................

Mehr

SCI Linux Einführung

SCI Linux Einführung Service Center Informatik bernhardt@cs.uni-kl.de endler@cs.uni-kl.de sci@cs.uni-kl.de 08.10.2015 Die Textkonsole () öffnen Bedienung über den Menüeintrag Terminal mit dem Shortcut strg + alt + t ... und

Mehr

Material zum Grundlagenpraktikum ITS. eine kleine Linux-Befehlsreferenz. Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.

Material zum Grundlagenpraktikum ITS. eine kleine Linux-Befehlsreferenz. Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1. Material zum Grundlagenpraktikum ITS eine kleine Linux-Befehlsreferenz Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.0 Lehrstuhl für Netz- und Datensicherheit Ruhr-Universität Bochum

Mehr

Unix Grundlagen (Teil 1.b)

Unix Grundlagen (Teil 1.b) Unix Grundlagen (Teil 1.b) Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Organisatorisches Folien jetzt unter http://elearn.rvs.uni-bielefeld.de/mainpage/ldk/labor.php

Mehr

Einführung Unix Shell

Einführung Unix Shell Einführung Unix Shell Prof. Dr. Rüdiger Weis Beuth Hochschule Berlin Wintersemester 2012/2013 Prof. Dr. Rüdiger Weis Einführung Unix Shell Beuth Hochschule Berlin 1 Datei Komandos 2 Wildcards 3 Variablen

Mehr

Befehl Beispiel Beschreibung An- und Abmelden: es geht aber auch einfach: reboot. es geht aber auch einfach. halt. Strg + l (kleines L) mkdir --help

Befehl Beispiel Beschreibung An- und Abmelden: es geht aber auch einfach: reboot. es geht aber auch einfach. halt. Strg + l (kleines L) mkdir --help Liste der wichtigsten Linux-Befehle Befehl Beispiel Beschreibung An- und Abmelden: logout shutdown -r now shutdown -h now clear auch möglich Tastenkürzel: Strg + d es geht aber auch einfach: reboot es

Mehr

Betriebssysteme, SS 2015

Betriebssysteme, SS 2015 BS-A Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz A: Einführung Installation der Linux-VM Shell-Grundlagen, Dateiverwaltung Betriebssysteme, SS 2015 Hans-Georg Eßer v1.1,

Mehr

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum /LQX[*UXQGODJHQ, (LQI KUXQJLQGLH6KHOO 'DWHLHQXQG 9HU]HLFKQLVVH :DVLVW]XWXQ" X Anmelden am System X System herunterfahren X Grundlegendes zur Shell X Das Hilfesystem X Dateioperationen X Bewegen im Verzeichnisbaum

Mehr

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck Das Linux-Dateisystem bin usr sbin lib mail / var spool boot lpd Rc0.d etc Rc.d Rc1.d Verzeichnisstruktur / Root- oder Wurzelverzeichnis, das oberste Verzeichnis im kompletten Dateisystem. /bin Programme

Mehr

Kommandos im Unix-Grundkurs Digicomp-UXE. Inhalt

Kommandos im Unix-Grundkurs Digicomp-UXE. Inhalt Kommandos im Unix-Grundkurs Digicomp-UXE Die hier aufgeführten Kommandos sind eine Zusammenfassung aller gezeigten Kommandos im Unix-Grundkurs UXE der Digicomp mit den wichtigsten Optionen.Zu jedem Kommando

Mehr

Linux-Befehlsreferenz

Linux-Befehlsreferenz Grundpraktikum Netz- und Datensicherheit Linux-Befehlsreferenz Lehrstuhl für Netz- und Datensicherheit Ruhr-Universität Bochum Zusammengestellt von: Cornelia Menzel, Endres Puschner Stand: 15. September

Mehr

Technische Praxis der Computersysteme I 3. Vorlesung

Technische Praxis der Computersysteme I 3. Vorlesung Technische Praxis der Computersysteme I 3. Vorlesung Bernhard Lamel Universität Wien, Fakultät für Mathematik WS 2007 Outline 1 Grundlegende Informationen 2 Umgang mit Textdateien 3 Schleifen und Kontrollstrukturen

Mehr

Dateien und Verzeichnisse

Dateien und Verzeichnisse Arbeiten mit und LPI Essentials Hochschule Kaiserlautern 28. Oktober 2015 und Arbeiten mit Table of Contents 1 Einleitung 2 Dateinamen 3 Allgemeines Kommandos für Auflisten von Verzeichnisinhalten Erstellen

Mehr

Betriebssysteme UNIX/Linux Übungsthema 1 Einführung in UNIX/Linux. Dirk Wenzel Dr. Jörg Gruner

Betriebssysteme UNIX/Linux Übungsthema 1 Einführung in UNIX/Linux. Dirk Wenzel Dr. Jörg Gruner Betriebssysteme UNIX/Linux Übungsthema 1 Einführung in UNIX/Linux Dirk Wenzel Dr. Jörg Gruner SS 2006 1. Anmelden und Abmelden bei UNIX-Systemen Als es noch keine graphischen Benutzeroberflächen (GUI's)

Mehr

Einführung in die Angewandte Bioinformatik

Einführung in die Angewandte Bioinformatik Einführung in die Angewandte Bioinformatik Kurzeinführung in Unix und verwandte Betriebssysteme Webseite zur Vorlesung http://bioinfo.wikidot.com/ Sprechstunde Mo 16-17 in OH14, R214 Sven.Rahmann -at-

Mehr

Skripte. Beispiel. http://www.icp.uni-stuttgart.de. M. Fyta Computergrundlagen 73/93

Skripte. Beispiel. http://www.icp.uni-stuttgart.de. M. Fyta Computergrundlagen 73/93 Skripte Wie kann ich mir komplexe Befehle merken? Gar nicht aber der Computer kann es für mich! Einfach die Befehle in eine Textdatei schreiben und ausführbar machen #! (Shebang) in der ersten Zeile bestimmt

Mehr

Installations-Dokumentation, YALG Team

Installations-Dokumentation, YALG Team Installations-Dokumentation, YALG Team Version 8.1 1 Benötigtes Material 2 Vor der Installation 3 Beginn 4 Installation 4.1 Sicherheit 4.2 Partitionierung 4.3 Paketauswahl 4.4 Paketauswahl (fein) 5 Konfiguration

Mehr

Kommandozeilen effizient nutzen und verstehen

Kommandozeilen effizient nutzen und verstehen Kommandozeilen effizient nutzen und verstehen Linuxtag FH Salzburg Alexander Wirt 10. Mai 2006 Übersicht 1 Die Shell Was ist eine Shell Typische Funktionen heutiger Shells 2 Quoting Warum braucht man Quoting

Mehr

Technische Praxis der Computersysteme

Technische Praxis der Computersysteme Zeiten Vorlesung: Wöchentlich, Do. 13:05-14:45, HS02 Ausgenommen: 06.11.2014, 18.12.2014 (vermutlich, nur VO!) Übung: Dezember & Januar, Do. 15:10-19:00, PC-Seminarraum 3 Genaue Termine: 4.12, 11.12, 18.12,

Mehr

Terminal & Shell-Skripte

Terminal & Shell-Skripte Terminal & Shell-Skripte Computerlabor im KuZeB Ubuntu-Workshop 14.1.2008 Kire www.kire.ch Template von Chih-Hao Tsai (chtsai.org) Creative Commons License (by-nc-sa) creativecommons.org/licenses/by-nc-sa/2.5/dee.de

Mehr

L A TEX, Linux, Python

L A TEX, Linux, Python L A TEX, Linux, Python Daniel Borchmann, Tom Hanika, Maximilian Marx 17. Dezember 2014 cba Grundlagen von GNU/Linux Grundlagen von GNU/Linux Eine kurze Geschichte von GNU / Linux Eine kurze Geschichte

Mehr

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr. ls [optionen] [namen]: ls zeigt den Inhalt von Verzeichnissen. Sind keine namen angegeben, werden die Dateien im aktuellen Verzeichnis aufgelistet. Sind eine oder mehrere namen angegeben, werden entweder

Mehr

Informatik I - Einstiegskurs

Informatik I - Einstiegskurs Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13

Mehr

Grafische Oberfläche, Shell Teil 4 Linux-Kurs der Unix-AG

Grafische Oberfläche, Shell Teil 4 Linux-Kurs der Unix-AG Grafische Oberfläche, Shell Teil 4 Linux-Kurs der Unix-AG Klaus Denker 10./16. Mai 2012 Anmelden und abmelden Linux ist ein Mehrbenutzersystem Jeder Benutzer hat einen Benutzernamen und ein Kennwort Nach

Mehr

cs106 Informatiklabor Teil 1: Java-Installation

cs106 Informatiklabor Teil 1: Java-Installation Herbstsemester 2009 cs106 Informatiklabor Teil 1: Java-Installation Florian Zeller Vorgehen und Ziele Wöchentlich eine Übung Unterstützte Bearbeitung während den Übungsstunden Austausch mit älteren Semestern

Mehr

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt Literatur Einführung in Unix Introduction to Unix Martin Weissenböck: Linux, 2000, 2. Auflage, Adim Bodo Bauer: SuSE Linux 6.2, Installation, Konfiguration und erste Schritte, 1999, 15. Auflage, SuSE Verlag.

Mehr

Übung 1: Wichtige Kommandos unter Linux

Übung 1: Wichtige Kommandos unter Linux Übung 1: Wichtige Kommandos unter Linux 1.1 Einige Shell-Kommandos unter Linux Ziel der Übung: Diese Übung dient dazu, einfache Shell-Kommandos unter Linux kennenzulernen. Anmelden am System: Beim Booten

Mehr

Die Linux-Konsole, die Bash, das Terminal, die Kommandozeile, die Shell

Die Linux-Konsole, die Bash, das Terminal, die Kommandozeile, die Shell Die Linux-Konsole, die Bash, das Terminal, die Kommandozeile, die Shell losrobos@users.sourceforge.net Von Windows-Usern gerne als Relikt aus grauer Vorzeit bezeichnet ist die Linux-Konsole doch etwas

Mehr

BBZS, Inf 1b CMD-Befehle Emanuel Duss. Emanuel Duss. CMD-Befehle. DOS-Befehle.doc 31.01.2011 1/8

BBZS, Inf 1b CMD-Befehle Emanuel Duss. Emanuel Duss. CMD-Befehle. DOS-Befehle.doc 31.01.2011 1/8 Emanuel Duss CMD-Befehle DOS-Befehle.doc 31.01.2011 1/8 Navigation, Bedienung CMD CMD Startet eine neue Instanz des Windows-Befehlsinterpreters. Start/Ausführen/CMD CLS Löscht den Bildschirminhalt. cls

Mehr

2.Übung Systemsoftware (SYS) Hochschule Mannheim

2.Übung Systemsoftware (SYS) Hochschule Mannheim Christian Baun 2.Übung Systemsoftware Hochschule Mannheim SS2009 1/20 2.Übung Systemsoftware (SYS) Hochschule Mannheim Christian Baun Forschungszentrum Karlsruhe Institut für Wissenschaftliches Rechnen

Mehr

Grundlegende Kommandos unter UNIX / LINUX

Grundlegende Kommandos unter UNIX / LINUX Fakultät Informatik, HFU Brückenkurs UNIX Einführung 1 Grundlegende Kommandos unter UNIX / LINUX Allgemeine Schreibweise: kommandoname [-opt1 -opt2 ] [objekt1 objekt2 ] Erste Shell Kommandos mkdir directoryname

Mehr

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 1 Telnet und FTP

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 1 Telnet und FTP VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer Kommunikation I (Internet) Übung 1 Telnet und FTP SS 2003 Inhaltsverzeichnis 2. Übungen mit Telnet und FTP...1 2.1. Testen der Verbindung mit ping...1 2.2. Arbeiten

Mehr

Eine kleine Einführung in die BASH (Bourne again Shell) Part 1 Die Grundbefehle einer Shell

Eine kleine Einführung in die BASH (Bourne again Shell) Part 1 Die Grundbefehle einer Shell Eine kleine Einführung in die BASH (Bourne again Shell) Part 1 Die Grundbefehle einer Shell Anmerkung: Dieser Vortrag wurde auf dem 2. Anwendertreffen des Ubuntuusers Forum gehalten, der wie bereits das

Mehr

3. Modul: I/O-Umleitung, Pipes, Prozesse, Netzwerk, X11

3. Modul: I/O-Umleitung, Pipes, Prozesse, Netzwerk, X11 Praktikum: Unix/Linux, Teil 3 Inhalt dieses Praktikums Dieses Praktikum umfasst vier Module zum Thema Unix. Für deren Bearbeitung stehen Ihnen vier Doppellektion im Praktikum zur Verfügung. Es ist wichtig,

Mehr

Eine kurze Einführung in Vim

Eine kurze Einführung in Vim Eine kurze Einführung in Vim Johannes Englisch Universität Leipzig Institut für Linguistik Seminar Sprachwissenschaftliche Elementarkompetenz Johannes Englisch (Uni Leipzig) Vim Sem. wissenschaftl. Arbeiten

Mehr

Arbeiten mit Linux und an der Kommandozeile

Arbeiten mit Linux und an der Kommandozeile Arbeiten mit Linux und an der Kommandozeile AST, Wintersemester 2013/2014 1 Einleitung Es wird hier ein kleiner Einblick zum Arbeiten mit der grafischen Oberfläche KDE und an der Kommandozeile unter Unix

Mehr

Virtualisierung mit Virtualbox

Virtualisierung mit Virtualbox Virtualisierung mit Virtualbox Dies ist kein Howto im herkömmlichen Sinne. Genaue Anleitungen für Virtualbox gibt es im Intenet genug. Zu empfehlen ist auch das jeweils aktuelle Handbuch von Virtualbox

Mehr

GNU/Linux für Neulinge

GNU/Linux für Neulinge GNU/Linux für Neulinge UnFUG SS13 Florian Kreidler 18. April 2013 Florian Kreidler GNU/Linux für Neulinge 1 / 21 Agenda 1 Historie Warum Linux? Einsatzgebiete 2 3 Editoren Virtualisierung Chatmöglichkeiten

Mehr

Vorkurs Linux Grundlagen

Vorkurs Linux Grundlagen Vorkurs Linux Grundlagen Vorkurs Linux / Informatik Sommer Herbst 2010 Dr. Carsten Gnörlich Raum M3 110 / Tel. 2902 Dr. Carsten Gnörlich Tag 1 / 1 Der Sprung ins kalte Wasser... Ein kleines Beispiel worum

Mehr

vi-training Johannes Franken <jfranken@jfranken.de> speichern und beenden, dabei ggf. überschrieben

vi-training Johannes Franken <jfranken@jfranken.de> speichern und beenden, dabei ggf. überschrieben vi-training Johannes Franken Inhalt 1. Konzept 2. Erste Schritte 3. Navigation 4. Einfügen 5. Löschen 6. Undo/Redo 7. Copy/Paste 8. Ändern 9. Suchen 10. Ersetzen 11. Shell-Aufrufe

Mehr

Verzeichnisse unter Linux

Verzeichnisse unter Linux Verzeichnisse unter Linux Autor: Frank Boerner (frank@frank-boerner.de) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GPL Die Linux-Verzeichnisstruktur und das Arbeiten mit

Mehr

Installationsanleitung für die netzbasierte Variante Bis Version 3.5. KnoWau, Allgemeine Bedienhinweise Seite 1

Installationsanleitung für die netzbasierte Variante Bis Version 3.5. KnoWau, Allgemeine Bedienhinweise Seite 1 1 Installationsanleitung für die netzbasierte Variante Bis Version 3.5 Copyright KnoWau Software 2013 KnoWau, Allgemeine Bedienhinweise Seite 1 2 Seite absichtlich leer KnoWau, Allgemeine Bedienhinweise

Mehr

Update Messerli MySQL auf Linux

Update Messerli MySQL auf Linux Update Messerli MySQL auf Linux Einleitung Grundsätzlich wird beim Update der Messerli Software auf einem Linux-Server wie folgt vorgegangen: 1. Vorhandener RMI-MySQL Server wird auf Linux aktualisiert

Mehr

Übung: Kennenlernen der Linux-Benutzeroberfläche

Übung: Kennenlernen der Linux-Benutzeroberfläche Übung: Kennenlernen der Linux-Benutzeroberfläche 1.1 Einige Shell-Kommandos unter Linux Ziel der Übung: Diese Übung dient dazu, einfache Shell-Kommandos unter Linux kennenzulernen. Anmelden am System:

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker Ambit Professional Seminar Series Unix Grundlagen Autor: Prof. J. Anton Illik Diplom-Informatiker unter Mitarbeit von I. Gelrich C. Keefer P. Ott K. Rothemund C. Ruane S. Sahin K-H. Schmidt Ambit Informatik

Mehr

Switching. Übung 2 System Management. 2.1 Szenario

Switching. Übung 2 System Management. 2.1 Szenario Übung 2 System Management 2.1 Szenario In der folgenden Übung werden Sie Ihre Konfiguration sichern, löschen und wieder herstellen. Den Switch werden Sie auf die neueste Firmware updaten und die Funktion

Mehr

SSH-Zugang zu Datenbanken beim DIMDI

SSH-Zugang zu Datenbanken beim DIMDI SSH-Zugang zu Datenbanken beim DIMDI Ab November 2013 entsprechen wir dem Wunsch vieler Nutzer nach mehr Sicherheit bei der Recherche. Dazu ermöglichen wir Ihnen eine bessere Alternative zum bisherigen

Mehr

Kurzanleitung. HTML5-Client. für Cortado Corporate Server 6.0. Cortado AG Alt-Moabit 91 a/b 10559 Berlin Germany/ Alemania

Kurzanleitung. HTML5-Client. für Cortado Corporate Server 6.0. Cortado AG Alt-Moabit 91 a/b 10559 Berlin Germany/ Alemania HTML5-Client für Cortado Corporate Server 6.0 Kurzanleitung Cortado AG Alt-Moabit 91 a/b 10559 Berlin Germany/ Alemania Cortado, Inc. 7600 Grandview Avenue Suite 200 Denver, Colorado 80002 USA/EEUU Cortado

Mehr

Patrick Ditchen 4. Auflage. Shell-Skript Programmierung. Inklusive CD-ROM

Patrick Ditchen 4. Auflage. Shell-Skript Programmierung. Inklusive CD-ROM Patrick Ditchen 4. Auflage Shell-Skript Programmierung Inklusive CD-ROM Über den Autor............................................ 11 1 Einführung............................................... 13 1.1

Mehr

Finder > 'Programme' > 'Dienstprogramme' > 'Terminal'

Finder > 'Programme' > 'Dienstprogramme' > 'Terminal' Kommandozeile Unter bestimmten Umständen kann es sehr nützlich sein, mit der Kommandozeile umgehen zu können, vor allem im Hinblick auf Automatisierungsmöglichkeiten mit Batch-Programmen. Daher werden

Mehr

Einführung in das wissenschaftliche Rechnen

Einführung in das wissenschaftliche Rechnen Übung Einführung in das wissenschaftliche Rechnen Hella Rabus Sommersemester 2016 Inhalte Heute Linux Arbeitsplatz kennen lernen, einrichten erste Python Schritte SoSe16 Linux, Python L A TEX, Mathematica

Mehr

Kurs für Linux Online Kurs Verwalter des Linux System

Kurs für Linux Online Kurs Verwalter des Linux System Kurs für Linux Online Kurs Verwalter des Linux System Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Linux Basis Programm MODUL 1 - Fundamental Einführung in Linux Das Verfahren

Mehr

System- und Netzwerkmanagement

System- und Netzwerkmanagement System- und Netzwerkmanagement Protokollierung mit Syslog-NG Markus Müller (11043150) Sven Nissel (11042398) Roman Pyro (11042289) Christian Fehmer (11042419) Versuchsaufbau - Übersicht Syslog Konfiguration

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,

Mehr

LINUX TUTORIAL. Repolusk Jürgen Technische Universität Wien Security 183.124 WS 2006/2007

LINUX TUTORIAL. Repolusk Jürgen Technische Universität Wien Security 183.124 WS 2006/2007 LINUX TUTORIAL Repolusk Jürgen Technische Universität Wien Security 183.124 WS 2006/2007 Inhalt Was ist Unix / Linux Unix Shells / bash Linux Benutzerbefehle Befehle zur Netzwerkverwaltung Shell Magic

Mehr

Einführung in den Linux-Pool

Einführung in den Linux-Pool Einführung in den Linux-Pool 1. An- und Abmeldung Auf den Linux-Rechnern ist zu Beginn einer Sitzung eine Authentifizierung und an ihrem Ende eine Abmeldung notwendig. Aufgrund des Mehrbenutzerbetriebs

Mehr

Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Wirtschaftsinformatiker

Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Wirtschaftsinformatiker Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Nachfolgend finden Sie die drei Aufgaben, die Sie als Zulassungsvoraussetzung für die Scheinklausur am 18.7.2001

Mehr

vorneweg: Auch unter Unix/Linux gibt es komfortable grafische Benutzerschnittstellen ;)

vorneweg: Auch unter Unix/Linux gibt es komfortable grafische Benutzerschnittstellen ;) Unterschiede zu Windows vorneweg: Auch unter Unix/Linux gibt es komfortable grafische Benutzerschnittstellen ;) Der Verzeichnisbaum: Unix verwendet einen sog. flachen Verzeichnisbaum. Diesem werden Inhalte

Mehr

Shell-Programmierung

Shell-Programmierung Shell-Programmierung Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009 Shell-Programmierung 1/34 2009-04-27 Inhalt Einleitung

Mehr

A) Durchsuchen von Datenbanken im Internet durch Endnote

A) Durchsuchen von Datenbanken im Internet durch Endnote EINLEITUNG/ANWEISUNGEN ZU DIESEM TEXT Wir werden die obere Liste (File/ Edit usw.) benutzen, obwohl die meisten Funktionen auch möglich mit rechtem Mausklick, mit Kombinationen der Tastatur oder mit den

Mehr

Aktualisierungsrichtlinie für die KMnet Admin Versionen 3.x und 2.x

Aktualisierungsrichtlinie für die KMnet Admin Versionen 3.x und 2.x Aktualisierungsrichtlinie für die KMnet Admin Versionen 3.x und 2.x Dieses Dokument beschreibt, wie KMnet Admin aktualisiert wird. Für den Übergang auf KMnet Admin 3.x und 2.x sind Sicherungs- und Wiederherstellungstätigkeiten

Mehr

Linux Systemadministration

Linux Systemadministration Linux Systemadministration Linux ist derzeit das Betriebssystem mit den stärksten Wachstumsraten bei den Marktanteilen. Nicht ohne Grund: Es ist nicht nur lizenzfrei, sondern durch seinen Unix-artigen

Mehr

Wiederholung: Prozesse

Wiederholung: Prozesse Wiederholung: Prozesse ablaufende Programme = Prozesse Typische Operationen: laufende Prozesse anzeigen (ungewünschte) Prozesse beenden Werkzeuge: ps, top, kill, nice Dr. Carsten Gnörlich Tag 4 / 1 Wiederholung:

Mehr

Um Batch programmieren zu lernen, gibt es sicherlich viele Möglichkeiten, doch der Einstieg ist schnell geschafft

Um Batch programmieren zu lernen, gibt es sicherlich viele Möglichkeiten, doch der Einstieg ist schnell geschafft Um Batch programmieren zu lernen, gibt es sicherlich viele Möglichkeiten, doch der Einstieg ist schnell geschafft Batch lernen Einige Grundlagen Die Anfänge in Batch Jede Batch Datei wird im normalen WordPad

Mehr

Dateisystem 2, Suchen & Finden, Manpages

Dateisystem 2, Suchen & Finden, Manpages Dateisystem 2, Suchen & Finden, Manpages Linux-Kurs der Unix-AG Malte Koster 17. Januar 2014 ln ln ( link ) legt Verknüpfungen an, Verwendung wie cp ohne Optionen wird ein zweiter Name für die gleiche

Mehr

LAMP HowTo (Linux Apache MySQL PHP) Zugriff per SSH auf den Server. Servername: gyko.no-ip.info (Lokal: 192.168.2.10)

LAMP HowTo (Linux Apache MySQL PHP) Zugriff per SSH auf den Server. Servername: gyko.no-ip.info (Lokal: 192.168.2.10) LAMP HowTo (Linux Apache MySQL PHP) Zugriff per SSH auf den Server Servername: gyko.no-ip.info (Lokal: 192.168.2.10) Stand: 04-2014 Warum Zugriff auf einen Server per SSH? Zunächst einmal möchte ich, dass

Mehr

Linux basierendes NAS auf Seagate Goflex Net installieren. Christian Eppler 21162, Stefan Möbius 21165

Linux basierendes NAS auf Seagate Goflex Net installieren. Christian Eppler 21162, Stefan Möbius 21165 Linux basierendes NAS auf Seagate Goflex Net installieren Christian Eppler 21162, Stefan Möbius 21165 Inhaltsverzeichnis Wieso das Ganze? Nachteile Pogoplug/Debian Vorteile Pogoplug/Debian Wieso diese

Mehr

Übungen zur Vorlesung. Betriebssysteme

Übungen zur Vorlesung. Betriebssysteme Übungen zur Vorlesung Betriebssysteme Wintersemester 2015 Patrick Kendzo ppkendzo@gmail.com Inhalt Virtuelle Maschine -Eine kleine Einführung Damn Small Linux (DSL) Embedded Eine Einführung Aufgabe 1:

Mehr

OpenVMS/VAX Notizen. Thomas Strathmann. 19. April 2010

OpenVMS/VAX Notizen. Thomas Strathmann. 19. April 2010 OpenVMS/VAX Notizen Thomas Strathmann 19. April 2010 Einleitung Diese Notizen beziehen sich auf OpenVMS 7.2 auf einer VAX Architektur. Im Speziellen basieren sie auf früheren Notizen, die der Autor im

Mehr

Betriebswirtschaftliche Standardsoftware - Made for the WEB. ESS Enterprise Solution Server. Installation. Release 6.

Betriebswirtschaftliche Standardsoftware - Made for the WEB. ESS Enterprise Solution Server. Installation. Release 6. ESS Enterprise Solution Server Installation Release 6.0 Installation 1 Inhaltsverzeichnis 1. Installation... 3 1.1. Lizenzschlüssel für Enterprise Solution Server... 3 1.2. Installationsvorbereitung...

Mehr

Unix Grundlagen (Teil 1)

Unix Grundlagen (Teil 1) Unix Grundlagen (Teil 1) Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Warum Unix/Linux? Multi-User Betriebssystem Linux frei verfügbar und offen Umfangreiche Unterstützung

Mehr

Windows 7 Service Pack 1 ALL IN ONE DVD mit 32 und 64 Bit Versionen erstellen

Windows 7 Service Pack 1 ALL IN ONE DVD mit 32 und 64 Bit Versionen erstellen Windows 7 Service Pack 1 ALL IN ONE DVD mit 32 und 64 Bit Versionen erstellen V 1.1, erstellt am 29.03.2011 2011 by Thomas Lorentz Für Anregungen, Kritik, Verbesserungen bitte Mail an t@t 4.de Vorbereitungen

Mehr

Embedded So)ware. Einrichten der Arbeitsumgebung

Embedded So)ware. Einrichten der Arbeitsumgebung Embedded So)ware Einrichten der Arbeitsumgebung Inhaltsangabe 1. Was ist installiert 2. Was ist zu tun? Einrichten des Raspi! Cross Compiler auf den Arbeitsplatzrechner installieren! Raspi einbinden! Plugin

Mehr

Desktop ade: Me and my shell

Desktop ade: Me and my shell Ein Shelldiskurs Desktop ade: Me and my shell Erkan Yanar erkmerk@gmx.de casus belli Warum auf einem Linuxtag mit Schwerpunkt Desktop? Beherrschung der Shell := freie Wahl des Desktops Beherrschung der

Mehr

Linux - a bit advanced

Linux - a bit advanced Linux - a bit advanced Überblick Rechteverwaltung Dateisystem Shell-Programmierung Remote login Paketsystem Alternativen-System Rechte Drei Benutzerklassen Owner/User Group Others Drei Rechte Ausführen

Mehr

Linux das bessere Windows?

Linux das bessere Windows? Große Übung Programmieren - Linux-Tools - Sebastian Ebers Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/ebers/ Linux das bessere Windows? Ein ganz klares Jein 2 Linux,

Mehr

login: password: exit logout Strg+Alt+Backspace passwd passwd $ passwd Changing password for user (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens

Mehr

Übung: Entwickeln eines Shell-Skripts

Übung: Entwickeln eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung: Entwickeln eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

GDI-Knoppix 4.0.2 - Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006

GDI-Knoppix 4.0.2 - Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006 GDI-Knoppix 4.0.2 - Erste Schritte Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006 Dieses Dokument beschreibt elementare Dinge im Umgang mit Knoppix. Knoppix ist ein "Live-Linux".

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

Computer Algebra Plan der Vorlesung. erstes Drittel: linux, emacs, L A TEX zweites Drittel: Sage als Taschenrechner letztes Drittel: Python für Sage

Computer Algebra Plan der Vorlesung. erstes Drittel: linux, emacs, L A TEX zweites Drittel: Sage als Taschenrechner letztes Drittel: Python für Sage Computer Algebra Nutzung des Computers im Studium: einen Editor (emacs) verwenden Texte (mit L A TEX) setzen ein Computeralgebrasystem (Sage) nutzen etwas programmieren (mit Python) Computer Algebra Plan

Mehr

Installation von AmigaOS 3.9 unter WinUAE

Installation von AmigaOS 3.9 unter WinUAE Seite 1 von 22 Installation von AmigaOS 3.9 unter WinUAE Inhalt Einleitung Vorbereitung Konfiguration Installation Installation der BoingBags Installation von Picasso96 Installation von AHI Einleitung

Mehr

Wichtige UNIX Kommandos

Wichtige UNIX Kommandos Wichtige UNIX Kommandos auf der Grundlage des gleichnamigen Skriptes von Tobias Oetiker und Thomas Gabathuler erstellt von Michael Hoffmann (hoffmann@inf.ethz.ch) überarbeitet von Yves Brise 2009 überarbeitet

Mehr

docker.io Secure And Portable Containers Made Easy Jürgen Brunk München, 30.04.2014

docker.io Secure And Portable Containers Made Easy Jürgen Brunk München, 30.04.2014 Secure And Portable Containers Made Easy Jürgen Brunk München, 30.04.2014 Agenda 1. Was ist Docker? 2. Was sind Container? 3. Warum Docker? 4. Architektur 5. Praxis 6. Docker unter Ubuntu installieren

Mehr

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Einrichtung des Systems...Seite 04 3. Erzeugen eines Backup-Skripts...Seite

Mehr

AristaFlow BPM Suit Installation

AristaFlow BPM Suit Installation AristaFlow BPM Suit Installation 1) AF-BPMSuite-1.0.1.exe und de.aristaflow.adept2.licence_1.0.0.jar von http://194.94.80.90/goumas/aristaflow/ herunterladen. Hinweis: eventuelle Warnungen von Anti-Virus

Mehr