Handbuch Linux 30. Dezember 2012 von Stefan Baireuther & Michael Petri ====================================================================== Kapitel 1 Einleitung ====================================================================== Dieses Linuxhandbuch ist unsere persönliche Übersicht über Linux. Sie beruht auf unserer Erfahrung mit SuSE 9.0-10.0, Knoppix, Kubuntu. und Debian. Unsere ersten Versuche mit Linux haben wir mit Knoppix, dann mit SuSE 9.0 gemacht. Nach SuSE 10.0 sind wir zu Ubuntu bzw. Kubuntu gewechselt und sind mittlerweile bei Debian (LMDE) angelangt. Außerdem ist nach wie vor die System-Rescue-CD ein unentbehrliches Hilfsmittel für (fast) alle Probleme. Dieses Handbuch soll keine Einführung oder gar ein vollständiges Nachschlagewerk über Linux sein. Es ist einfach ein Handbuch, in dem man mal schnell die Funktionsweise eines Befehls nachschlagen kann. Alle Befehle, die uns im Laufe der Zeit begegnen, werden hier festgehalten. Wir übernehmen keinerlei Verantwortung für Vollständigkeit oder Richtigkeit der hier aufgeführten Befehlsbeispiele. Stefan Baireuther & Michael Petri Dieses Dokument wurde mit UDO6 (Quelltext, HTML, ASCII und RTF) und TeX (PDF) erstellt. Onlineversion und Download unter: http://lhb.baireuther.de ====================================================================== Kapitel 2 Hilfe ====================================================================== 2.1 help ========= --help gibt eine kurze Anleitung zum aus 2.2 man ======== Gibt die Anleitung (Manualpage) von Programmen und von Konfigurationsdateien aus: man man Suche mit / , weitersuchen mit n , Beenden mit q 2.3 info ========= Kurzinfo zu einem Befehl info mit beenden 2.4 whatis =========== Kurzinfo zu einem Befehl whatis 2.5 apropos ============ Hilfe zu einem Schlüsselwort suchen, das selbst kein Befehl ist. apropos ====================================================================== Kapitel 3 Dateien & Verzeichnisse ====================================================================== 3.1 Verzeichnisse ================== 3.1.1 pwd ---------- gibt den aktuellen Pfad aus 3.1.2 cd --------- cd führt ins Home-Verzeichnis cd ~ wechselt ins Home von User cd - oder cd .. wechselt ein Verzeichnis zurück 3.1.3 mkdir ------------ mkdir legt einen Ordner mit an. mkdir -p /home/ich/oben/mitte/unten legt Verzeichnisse samt Unterverzeichnissen an. 3.1.4 rmdir ------------ rmdir das Verzeichnis wird gelöscht 3.1.5 dircmp ------------- Vergleichen zweier Verzeichnisse 3.1.6 basename --------------- liefert den letzten Ordner des Pfades (siehe auch dirname) 3.1.7 dirname -------------- liefert den Pfad bis zum letzten Ordner des angegebenen Pfades (siehe auch basename) 3.2 Navigation & Pfadangaben ============================= Man kan sehr schnell durch Pfade navigieren, wenn man die Autovervollständigung durch die TAB-Taste nutzt. Es genügt, den Anfang eines Pfades anzugeben und dann vervollständigt die TAB-Taste automatisch. Ebenso kann man sich die History der Shell zunutze machen. Mit der holt man vergangene Befehle wieder. Mit der holt man vergangene Befehle wieder, von denen man den Anfang wieder getippt hat. (siehe Eingabe- History aktivieren) 3.2.1 ~ -------- Die Angabe von ~ bewirkt den Sprung ins eigene Homeverzeichnis. 3.2.2 . -------- Die Angabe eines Punktes symbolisiert das aktuelle Verzeichnis. 3.2.3 .. --------- Die Angabe von zwei Punkten verweist auf das übergeordnete Verzeichnis. 3.3 Ausgabe ============ 3.3.1 cat ---------- Dateianzeige ohne Unterbrechungen cat datei*.txt > datei.txt cat kopiert eine Reihe von als Parameter übergegebenen Dateien in die Standard-Ausgabe. Mit Hilfe einer Umleitung »>« können Sie so mehrere Dateien zusammenkopieren: Beispiel: cat Teil1 Teil2 Teil3 > Gesamt Werden gar keine Dateinamen angegeben, so wird die Standard-Eingabe verwendet. Es folgen einige nützliche Optionen: . -b In ASCII-Dateien wird jede (nicht-leere) Zeile mit einer Zeilennummer versehen. . -n In ASCII-Dateien wird jede Zeile mit einer Zeilennummer versehen. . -E Zeige in ASCII-Dateien ein »$«-Zeichen am Ende jeder Zeile an (so können Sie Leerzeichen am Ende einer Zeile erkennen). 3.3.2 less ----------- less zeigt den Inhalt einer Datei an (Beenden mit q ) 3.3.3 zless ------------ zless zeigt den Inhalt eines Archivs an (Beenden mit q ) 3.3.4 more ----------- more Seitenweise Textausgabe 3.3.5 head ----------- head gibt die erste Zeile aus 3.3.6 tail ----------- Die letzten 10 Zeilen einer Datei auf Standardausgabe ausgeben tail -f verfolgt die Änderungen in einer Datei (gut für Log-Files) tail -n xx gibt die letzten xx-Zeilen aus 3.3.7 nl --------- Datei mit Zeilennummern ausgeben: nl 3.3.8 watch ------------ watch cat überwacht eine Datei und zeigt die Veränderungen an. 3.4 Auflisten & Analysieren ============================ 3.4.1 ls --------- ls -lh listet den Inhalt des aktuellen Verzeichnisses auf (wie dir ). . -a zeige alle Dateien und Verzeichnisse an; auch die versteckten, deren Namen mit einem Punkt beginnen. . -A wie -a, nur ohne die Einträge . und ... . -B Keine Dateien, die auf ~ enden, anzeigen. . -R rekursiv alle Unterverzeichnisse anzeigen. . -i zeige auch die Inode-Nummern an. . -l langes Format: Es werden neben dem Dateinamen auch Größe, Besitzer, Gruppe und Zugriffsrechte angezeigt. . -f wie -l, aber ohne Gruppen-Informationen. . -s zeigt nur Dateinamen und Größen in Kilobyte an. . --color farbige Ausgabe nur Unterscheidung verschiedener Dateitypen. . -F hänge an bestimmte Dateien ein zusätzliches Zeichen an, um auf den Dateityp hinzuweisen (z.B.: / für Verzeichnisse; * für ausführbare Dateien, @ für symbolische Links) . --full-time vollständige Zeitangaben ausgeben (nur zusammen mit -l) . -n User- und Gruppen-IDs anstelle der Namen ausgeben. . -S sortiert der Größe nach ls -lR | sort +4nr listet Dateien der Größe nach sortiert auf. ls -sort=size -lhr ergibt die Größe eines einzelnen Verzeichnisses 3.4.2 lsattr ------------- lsattr zeigt Dateiattribute an 3.4.3 file ----------- file gibt den Dateityp an 3.4.4 type ----------- type gibt den Speicherort des Befehls aus 3.4.5 test ----------- Mit test ausdruck bzw. [ ausdruck ] kann man eine Bedingung prüfen und den Exit-Status true oder false erhalten. . -f file file ist eine Datei . -d file .... ein Verzeichnis . -r file .... lesbar . -w file .... schreibbar . -x file .... ausführbar . -s file .... nicht leer . -z string Zeichenkette ist leer . -n string .... nicht leer . string1 = string2 Zeichenketten sind gleich . string2 != string2 .... ungleich . n1 -eq n2 Zahlen sind gleich . n1 -ne n2 .... ungleich . n1 -lt n2 (-le, -gt, -ge) Zahl 1 ist kleiner (kleiner oder gleich, grösser, grösser oder gleich) Zahl 2 . ( ausdruck ) Klammerung von Teilausdrücken . ! ausdruck Negation . -a AND . -o OR test -f prüft, ob eine Datei vorhanden ist. test -f && echo "gefunden" test -f || echo "Nicht gefunden" 3.4.6 wc --------- zählt Wörter in Dateien 3.4.7 sum ---------- ermittelt die MD5-Checksumme von Dateien sum oder auch md5sum 3.4.8 du --------- schätzt Platzverbrauch von Dateien . du -h Anzeige "human-readable" in Kilo, Mega, Gigabyte . du -s ohne Unterverzeichnisse . du --max-depth=1 -m ~ | sort -rn | less Verzeichnisse mit Platzverbrauch geordnet anzeigen 3.5 Kopieren, Umbenennen und Löschen ===================================== 3.5.1 cp --------- cp kopiert Dateien Schalter: . -d Links bleiben als Links erhalten . -f existierende Zieldateien werden überschrieben . -i Nachfrage vor Überschreiben . -r Dateien werden rekursiv kopiert . -R Ordner werden rekursiv kopiert . -u existierende Zieldateien werden überschrieben, wenn Quelldatei neuer ist . -p erhält die Dateiattribute 3.5.2 mv --------- mv verschiebt Dateien 3.5.3 mmv ---------- mmv -v "*.htm" "#1.html" bennet alle Dateien mit der Endung htm in die Endung html um. 3.5.4 ln --------- ln erstellt einen harten Link (der Link entspricht der Zieldatei. Achtung: wird der Link mit rm gelöscht, so wird auch die Datei gelöscht!) ln -s erstellt einen Soft-Link 3.5.5 rm --------- rm löscht die Datei rm -r /pfad/ rekursives Löschen. Achtung: * sehr gefährlich! * 3.5.6 rename ------------- Dateien umbenennen rename 3.5.7 convmv ------------- convmv --upper --notest -r . konvertiert rekursiv alle Dateinamen in Großschreibung convmv --lower --notest -r . konvertiert rekursiv alle Dateinamen in Kleinschreibung convmv -f iso-8859-15 -t utf-8 -r . konvertiert rekursiv alle Dateinamen in von iso-8859-15 nach utf-8 3.5.8 iconv ------------ Konvertiert den * Inhalt * einer ASCII-Datei. Eine DOS-Datei in eine UTF-8-Datei umwandeln: iconv -f CP1250 -t UTF-8 -o out.txt input.txt (Konvertieren des Dateinamens mit recode) 3.5.9 basename --------------- basename liefert den Dateinamen ohne Pfad und ohne Dateiendung. 3.6 Suchen =========== 3.6.1 find ----------- find -name sucht nach der Datei find . -name bild.jpg sucht nach bild.jpg. Der Punkt weist find an, alle Ordner ab dem aktuellen Verzeichnis zu durchsuchen. find /mnt/cdrom/bilder -name bild.jpg Dieser Befehl durchsucht das Verzeichnis bilder einer nach /mnt/cdrom gemounteten CD. Weiß man nicht mehr, ob die Datei groß oder kleingeschrieben war hilft iname: find . -iname holmes.jpg Mit Wildcards: find . -name "blo*" Große Dateien: find . -size +1000k zeigt alles an, was größer als 1000 KB ist. Lässt man das Pluszeichen weg, sucht find nach Dateien mit genau der angegebenen Größe, mit einem Minuszeichen (zum Beispiel -50k) setzt man einen Maximalwert. Zeit: -mtime ("modification time"=Änderungszeit). find . -mtime 0 präsentiert alles, was sich in den letzten 24 Stunden geändert hat, -mtime 2 die geänderten Dateien der letzten zwei Tage. find . -mmin -5 findet alle Dateien, die in den letzten 5 Minuten geändert wurden. Nur Verzeichnisse oder nur Dateien anzeigen? Mit -type beschränkt man die Suche auf bestimmte Typen: find . -type d für Verzeichnisse ("directory"), f für Dateien ("file") oder l für symbolische Links. find . -name "*.txt" -exec less "{}" ";" über gibt alle gefundenen Dateien an less zur Anzeige find -name "*.jpeg" -print0 -exec cp \{\} /home/stefan/temp/ \; sucht alle Dateien mit der Endung jpeg und kopiert diese in das Verzeichnis temp find -name ".*" -exec rm -rf {} \; löscht rekursiv alle versteckten Dateien - * Achtung: Dieser Befehl ist sehr gefährlich, die Dateien* *können nicht wiedergeholt werden! * find . -size +100M -exec ls -lh '{}' \; sucht Dateien größer 100MB tree -ifs -noreport .|sort -n -k2 alle Dateien der Größe nach aufsteigend 3.6.2 locate ------------- sucht indizierte Dateien (sehr schnell - aber erst nach Indizierung) Update der Datenbank mit updatedb 3.6.3 grep ----------- grep -r haus documents/texte/ sucht rekursiv in texte nach dem Wort haus grep -l -r suchwort /home/stefan/bin/* durchsucht ab dem Verzeichnis /bin/ alle Dateien rekursiv (-r) nach dem Inhalt "Suchwort" und gibt nur die Dateinamen aus (-l) grep -i ROot /etc/passwd sucht nach "root" ohne Beachtung der Groß- und Kleinschreibung Suchmuster Passt auf Tiger Die Zeichenkette Tiger ^Tiger Tiger am Zeilenanfang. Tiger$ Tiger am Zeilenende. ^Tiger$ Tiger ist das einzige Wort auf der Zeile. [tT]iger tiger oder Tiger. T[aeiou]ger 5 Zeichen, davon 4 wie angegeben. Das zweite Zeichen ist ein beliebiger Vokal. T[^aeiou]ger 5 Zeichen, davon 4 wie angegeben. Das zweite Zeichen ist jedes Zeichen außer einem Vokal. ^...$ Jede Zeile, die genau drei Zeichen enthält. ^\. Jede Zeile, die mit einem Punkt beginnt. Der \ maskiert wie gewohnt. ^[^.] Jede Zeile, die nicht mit einem Punkt beginnt. Tiger.* Tiger, gefolgt von einer auch leeren beliebigen Zeichenfolge: Tiger, Tigerin, Tigerhöhle... [A-Z][A-Z]* Ein oder mehrere Großbuchstaben [A-Z].* Ein Großbuchstabe, gefolgt von einer auch leeren, beliebigen Zeichenfolge. [A-Z]* Eine auch leere Folge von Großbuchstaben. 3.6.4 which ------------ which sucht den vollständigen Pfad zu einem Befehl 3.6.5 whereis -------------- whereis sucht alle zum Befehl gehörenden Dateien (Pfad, Quelldatei und man-Datei) 3.6.6 ldd ---------- Mit ldd kann man nach benötigten Libraries suchen: ldd /usr/bin/mc zeigt alle von Midnight Commander benötigten Libraries an. 3.6.7 sed ---------- Suchen und ersetzen von Text in Dateien: sed 's/Suchtext/Ersetztext/g' quelldatei.txt > zieldatei.txt Ist im zu bearbeitenden Text ein Slash / , so muss dieser mit \/ angegeben werden. Leerzeichen in Dateinamen in Unterstriche umwandeln: for a in *; do mv "$a" "$(echo $a | sed 's/ /_/g')"; done 3.7 Vergleichen, Aufteilen und Sortieren & Co ============================================== 3.7.1 diff ----------- diff Vergleichen von zwei Textdateien sdiff Vergleichen von zwei Textdateien nebeneinander 3.7.2 comm ----------- comm Vergleichen sortierter Textdateien 3.7.3 cmp ---------- cmp Vergleichen von zwei Dateien 3.7.4 join ----------- join Zusammenführen von zwei Dateien 3.7.5 sort ----------- sort sortiert die Zeilen der Datei1 in Datei2 3.7.6 fold ----------- fold --width=72 -s Datei bricht alle Zeilen der Datei nach spätestens 72 Zeichen an einem Leerzeichen um. Ohne -s wird immer bei genau 72 Zeichen umbrochen. 3.7.7 tr --------- Zeichen in Dateien ersetzen Option Bedeutung -d Entfernt die Zeichen in Satz1 aus der Zeichenfolge -s Entfernt mehrfache Vorkommen der Zeichen in Satz1 -c Ersetzt die Zeichen, die nicht in Satz1 vorkommen Beispiele: cat file1 | tr altes_Wort neues_Wort > NeueDatei tr -d ':' neue_datei löscht alle Zeilenumbrüche 3.7.8 expand ------------- expand Tabulatoren in Leerzeichen verwandeln 3.7.9 recode ------------- ändert die Zeichenkodierung des Dateinamens recode quellcode..zielcode recode ibmpc..lat1 konvertiert von DOS nach UNIX _ Zeichensätze: _ . ISO-8859-1 ohne Euro . ISO-8859-15 mit Euro . UTF8 universeller Zeichensatz . windows-1252 . cp1252 . cp850 . codepage=850 (Konvertieren des Dateininhalts mit iconv) 3.7.10 uniq ------------ Identische, aufeinanderfolgende Zeilen nur ein mal ausgeben. 3.7.11 cut ----------- Herausschneiden von Spalten oder Feldern aus einer Datei. 3.7.12 split ------------- Große Dateien aufteilen: split -b 1440k QuellDatei BasisName Mit -b gibt man an, dass die Datei nicht zeilenweise sondern byteweise betrachtet werden soll. 1440k bestimmt die Größe der einzelnen aufgeteilten Dateien. QuellName ist natürlich der Name der aufzuteilenden Datei und BasisName ist der Name der als ,Basis' für die Namen der erzeugten kleineren Dateien verwendet wird. Um eine derart aufgeteilte Datei später wieder zusammenzusetzen verwendet man den ,cat' Befehl: cat BasisName* > NamederZieldatei 3.8 Archive ============ 3.8.1 zip ---------- zip archiv.zip dateien packt Dateien in ein Archiv. Mit -r wird rekursiv gepackt. unzip archiv.zip entpackt wieder. 3.8.2 gzip ----------- gzip *.txt entpacken: gunzip oder gzip -d *.tar.gz 3.8.3 bzip ----------- tar -xjvf entpackt die Datei 3.8.4 tar ---------- tar -xzvf entpackt die Datei tar -czvf /home /etc sichert die Verzeichnisse /home und /etc in das Archiv backup Dateibäume in ein Archiv schreiben _ Dateien mit Rechten kopieren _ cd tar cf - . | (cd ;tar xvf -) _ Kopie über das Netzwerk: _ tar -cz * | ssh server "cat - > /backups/backup.tgz" _ Aufteilen auf mehrere Disketten: _ tar cMvf /dev/fd0 * sichert alle Dateien im Verzeichnis auf mehrere Disketten tar xMvf /dev/fd0 * packt diese wieder aus siehe auch: Archive mit mehr als 1 GB 3.8.5 unzip ------------ mehrere Dateien entpackt man mit unzip "*.zip" 3.8.6 cabextract ----------------- cabextract entpackt Windowsprogramme 3.8.7 Archive mit mehr als 1 GB -------------------------------- tar cvf - | gzip > tar xzvf 3.9 Dateirechte ================ -rwxrwxrwx \_/\_/\_/ u g o u=user g=group o=others r: read w: write x: execute s: Setuid-Bit (an Position 3); Setgid-Bit (an Position sechs) t: Sticky-Bit (an Position 9) . Lesen Der Benutzer darf aus der Datei lesen oder, im Falle eines Verzeichnisses, seinen Inhalt auslesen, allerdings keine Dateirechte dieser Dateien erfahren. Dieses Recht wird oft durch den Buchstaben "r" für englisch read ("lesen") dargestellt und daher auch R-Bit genannt. . Schreiben Der Benutzer darf in die Datei schreiben bzw. Dateien und Unterverzeichnisse in dem Verzeichnis erstellen, bearbeiten, umbenennen, löschen und deren Dateirechte verändern. Dieses Recht wird oft durch den Buchstaben "w" für englisch write ("schreiben") dargestellt und daher auch W-Bit genannt. . Ausführen Der Benutzer darf die Datei als Programm ausführen bzw. in das Verzeichnis wechseln und dort Dateien oder Unterverzeichnise erreichen. Ohne das Lesen-Recht darf der Verzeichnisinhalt jedoch nicht ausgelesen werden. Dieses Recht wird oft durch den Buchstaben "x" für englisch execute ("ausführen") dargestellt und daher auch X-Bit genannt. . Setuid Wird eine Datei, die das Setuid-Bit gesetzt hat, ausgeführt, dann wird der Prozess mit der effektiven User ID des Dateieigentümers laufen. . Setgid Wird eine Datei, die das Setgid-Bit gesetzt hat, ausgeführt, dann wird der dadurch erzeugte Prozess mit der effektiven Group ID der Inhabergruppe der Datei laufen. . Sticky bit Wird eine Datei, die das Sticky Bit gesetzt hat, ausgeführt, wird der Programmcode nach Ausführen im Arbeitsspeicher gehalten. Mehr Verwendung findet das Bit allerdings bei temporären Verzeichnissen, wo Benutzer nicht Dateien von anderen Benutzern löschen können. _ an der ersten Stelle steht: _ . - Datei . d Directory . c Special Device Charakter . b Block device . s Socket . p Pipe . l Link Oktalwerte von rwx: Read = 4 Write = 2 Execute = 1 Die Werte werden jeweils addiert. 3.9.1 chmod ------------ Zugriffsrechte ändern chmod +x macht eine Datei ausführbar chmod u=rwx, g=rx, o=r macht die Datei für den Besitzer schreib-, les- und ausführbar, für die Gruppe les- und ausführbar und für alle anderen lesbar chmod g=+rwx tausch/ macht das Verzeichnis tausch für die Gruppe les-, schreib- und ausführbar chmod 7 5 1 gibt dem Eigentümer alle Rechte, die Gruppe darf lesen und ausführen, alle anderen nur lesen find -type f -exec chmod a-x "{}" ";" ändert nur Dateien, keine Ordner. Die Werte können auch mit Oktalzahlen angegeben werden. 3.9.2 chown ------------ Besitzer ändern chown : chown -R /pfad/ ändert rekursiv die Besitzrechte 3.9.3 chgrp ------------ chgrp -hR gruppeneu /gruppe ändert die Gruppe gruppe in gruppeneu 3.9.4 chattr ------------- ändert Dateiattribute 3.9.5 touch ------------ Datei erstellen - Attribute setzen touch datei.txt erstellt eine leere Textdatei. 3.9.6 umask ------------ umask ergibt die Zugriffsrechte für neue Dateien Als root kann in der Datei /etc/profile ein umask-Wert eingetragen werden. Der Wert 0077 lässt für neue Dateien nur deren Besitzer zu. 3.10 Daten-Backup ================== Mit dem Programm BackInTime lassen sich sehr komfortabel Datenbackups machen. Um dies jedoch zeitgesteuert zu machen ist folgendes notwendig: Mit dem Programm Anacron lassen sich Aktionen ausführen, auch wenn der rechner zum Ausführungszeitpunkt ausgeschaltet war. Dann holt Anacron dies nach dem nächsten Start nach. Da Anacron das Programm als Root ausführt,[1] muss BiT im folgenden Beispiel über "Systemwerkzeuge -> Back in Time (root)" aufgerufen und konfiguriert werden. Ohne Root- Rechte gemachte Einstellungen werden von Anacron nicht umgesetzt! Um Anacron auch ohne Root-Rechte zu nutzen, siehe die Links unter: Cron. Zunächst wird über "Systemwerkzeuge -> Back in Time (root)" die gewünschte Sicherung eingestellt, "Zeitplan" bleibt deaktiviert. Anschließend muss ein Startskript für Anacron in einem der Verzeichnisse /etc/cron.daily/ (für tägliche Sicherung), /etc/cron.weekly/ (wöchentliche Sicherung) oder /etc/cron.monthly/ (monatliche Sicherung) angelegt werden. Es wird also beispielsweise die Datei /etc/cron.daily/1backintime in einem Editor mit Root-Rechten erstellt und mit folgendem Inhalt gefüllt: #!/bin/bash export HOME=/root backintime -b > /dev/null 2>&1 Die im Namen vorangestellte Ziffer "1" ist fakultativ: Sie rückt das Skript an die Spitze der von Anacron sequenziell abzuarbeitenden Aufgaben, so dass das Backup nicht durch langwierige Prozesse verzögert werden kann. Die Datei wird gespeichert und schließlich ausführbar gemacht:[7] sudo chmod +x /etc/cron.daily/1backintime Im Beispiel sollte Back in Time nun täglich mit Anacron ausgeführt werden. Ein Eintrag in der Crontab oder eine Einstellung bei "Zeitplan" ist nicht mehr nötig. ====================================================================== Kapitel 4 Postscript & PDF ====================================================================== 4.1 GhostScript ================ Konvertieren von PostScript und PDF-Dokumenten _ GhostScript-Devices _ MS-DOS displays (note: not usable with Desqview/X): MS-DOS EGA and VGA: ega EGA (640x350, 16-color) vga VGA (640x480, 16-color) MS-DOS SuperVGA: * ali SuperVGA using Avance Logic Inc. chipset, 256-color modes * atiw ATI Wonder SuperVGA, 256-color modes * cirr SuperVGA using Cirrus Logic CL-GD54XX chips, 256-color modes * s3vga SuperVGA using S3 86C911 chip (e.g., Diamond Stealth board) svga16 Generic SuperVGA in 800x600, 16-color mode * tseng SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes * tvga SuperVGA using Trident chipset, 256-color modes ****** NOTE: The vesa device does not work with the Watcom (32-bit MS-DOS) ****** compiler or executable. vesa SuperVGA with VESA standard API driver Other displays: MS Windows: mswindll Microsoft Windows 3.1 DLL [MS Windows only] mswinprn Microsoft Windows 3.0, 3.1 DDB printer [MS Windows only] mswinpr2 Microsoft Windows 3.0, 3.1 DIB printer [MS Windows only] OS/2: * os2pm OS/2 Presentation Manager [OS/2 only] * os2dll OS/2 DLL bitmap [OS/2 only] * os2prn OS/2 printer [OS/2 only] Unix and VMS: ****** NOTE: For direct frame buffer addressing under SCO Unix or Xenix, ****** edit the definition of EGAVGA below. * lvga256 Linux vgalib, 256-color VGA modes [Linux only] + vgalib Linux vgalib, 16-color VGA modes [Linux only] x11 X Windows version 11, release >=4 [Unix and VMS only] x11alpha X Windows masquerading as a device with alpha capability x11cmyk X Windows masquerading as a 1-bit-per-plane CMYK device x11cmyk2 X Windows as a 2-bit-per-plane CMYK device x11cmyk4 X Windows as a 4-bit-per-plane CMYK device x11cmyk8 X Windows as an 8-bit-per-plane CMYK device x11gray2 X Windows as a 2-bit gray-scale device x11gray4 X Windows as a 4-bit gray-scale device x11mono X Windows masquerading as a black-and-white device x11rg16x X Windows with G5/B5/R6 pixel layout for testing. x11rg32x X Windows with G11/B10/R11 pixel layout for testing. Printers: + atx23 Practical Automation ATX-23 label printer + atx24 Practical Automation ATX-24 label printer + atx38 Practical Automation ATX-38 label printer + deskjet H-P DeskJet and DeskJet Plus djet500 H-P DeskJet 500; use -r600 for DJ 600 series + fs600 Kyocera FS-600 (600 dpi) + laserjet H-P LaserJet + ljet2p H-P LaserJet IId/IIp/III* with TIFF compression + ljet3 H-P LaserJet III* with Delta Row compression + ljet3d H-P LaserJet IIID with duplex capability + ljet4 H-P LaserJet 4 (defaults to 600 dpi) + ljet4d H-P LaserJet 4 (defaults to 600 dpi) with duplex + ljetplus H-P LaserJet Plus lj5mono H-P LaserJet 5 & 6 family (PCL XL), bitmap: see below for restrictions & advice lj5gray H-P LaserJet 5 & 6 family, gray-scale bitmap; see below for restrictions & advice * lp2563 H-P 2563B line printer * oce9050 OCE 9050 printe (pxlmono) H-P black-and-white PCL XL printers (LaserJet 5 and 6 family) (pxlcolor) H-P color PCL XL printers (e.g. Color LaserJet 4500) Fax file format: ****** NOTE: all of these drivers normally adjust the page size to match ****** one of the three CCITT standard sizes (U.S. letter with A4 width, ****** A4, or B4). To suppress this, use -dAdjustWidth=0. faxg3 Group 3 fax, with EOLs but no header or EOD faxg32d Group 3 2-D fax, with EOLs but no header or EOD faxg4 Group 4 fax, with EOLs but no header or EOD tiffcrle TIFF "CCITT RLE 1-dim" (= Group 3 fax with no EOLs) tiffg3 TIFF Group 3 fax (with EOLs) tiffg32d TIFF Group 3 2-D fax tiffg4 TIFF Group 4 fax High-level (vector) file formats epswrite EPS output (like PostScript Distillery) pdfwrite PDF output (like Adobe Acrobat Distiller) pswrite PostScript output (like PostScript Distillery) pxlmono Black-and-white PCL XL pxlcolor Color PCL XL Other raster file formats and devices bit Plain bits, monochrome bitrgb Plain bits, RGB bitcmyk Plain bits, CMYK bmpmono Monochrome MS Windows .BMP file format bmpgray 8-bit gray .BMP file format bmpsep1 Separated 1-bit CMYK .BMP file format, primarily for testing bmpsep8 Separated 8-bit CMYK .BMP file format, primarily for testing bmp16 4-bit (EGA/VGA) .BMP file format bmp256 8-bit (256-color) .BMP file format bmp16m 24-bit .BMP file format bmp32b 32-bit pseudo-.BMP file format cgmmono Monochrome (black-and-white) CGM (--) LOW LEVEL OUTPUT ONLY cgm8 8-bit (256-color) CGM(--)DITTO cgm24 24-bit color CGM(--)DITTO jpeg JPEG format, RGB output jpeggray JPEG format, gray output miff24 ImageMagick MIFF format, 24-bit direct color, RLE compressed pcxmono PCX file format, monochrome (1-bit black and white) pcxgray PCX file format, 8-bit gray scale pcx16 PCX file format, 4-bit planar (EGA/VGA) color pcx256 PCX file format, 8-bit chunky color pcx24b PCX file format, 24-bit color (3 8-bit planes) pcxcmyk PCX file format, 4-bit chunky CMYK color pbm Portable Bitmap (plain format) pbmraw Portable Bitmap (raw format) pgm Portable Graymap (plain format) pgmraw Portable Graymap (raw format) pgnm Portable Graymap (plain format), optimizing to PBM if possible pgnmraw Portable Graymap (raw format), optimizing to PBM if possible pnm Portable Pixmap (plain format) (RGB), optimizing to PGM or PBM if possible pnmraw Portable Pixmap (raw format) (RGB), optimizing to PGM or PBM if possible ppm Portable Pixmap (plain format) (RGB) ppmraw Portable Pixmap (raw format) (RGB) pkm Portable inKmap (plain format) (4-bit CMYK => RGB) pkmraw Portable inKmap (raw format) (4-bit CMYK => RGB) pksm Portable Separated map (plain format) (4-bit CMYK => 4 pages) pksmraw Portable Separated map (raw format) (4-bit CMYK => 4 pages) * plan9bm Plan 9 bitmap format pngmono Monochrome Portable Network Graphics (PNG) pnggray 8-bit gray Portable Network Graphics (PNG) png16 4-bit color Portable Network Graphics (PNG) png256 8-bit color Portable Network Graphics (PNG) png16m 24-bit color Portable Network Graphics (PNG) psmono PostScript (Level 1) monochrome image psgray PostScript (Level 1) 8-bit gray image psrgb PostScript (Level 2) 24-bit color image tiff12nc TIFF 12-bit RGB, no compression tiff24nc TIFF 24-bit RGB, no compression (NeXT standard format) tifflzw TIFF LZW (tag = 5) (monochrome) tiffpack TIFF PackBits (tag = 32773) (monochrome) 4.2 a2pdf ========== Umwandeln von Text in PostScript 4.3 pdf2ps =========== Umwandeln von PDF in PostScript 4.4 pdf2jpg ============ Folgendes Skript konvertiert PDF-Dokumente in JPG-Dateien, wobei die Auflösung der JPG-Datei frei gewählt werden kann. Standard ist 300 dpi. #!/bin/bash #pdf2jpg - konvertiert PDF/PS-Dateien nach JPG # function err_text { while [ $# -gt 0 ] ; do echo "$1" 1>&2 # Ausgabe auf stderr shift done echo "`basename $0` [-r resolution] [-o outfile] infile[.pdf|.ps]" 1>&2 // # Ausgabe auf stderr exit 1 } # Sortieren der Parameter set--`getopt "r:o:" "$@"` || err_text # Startwerte definieren outres=300 # Parameter abfragen while : ; do case "$1" in -r) shift; outres=$1;; -o) shift; outfile=$1;; --) break;; esac shift [ $# -eq 0 ] && break # Fehler in den angegebenen Parametern done shift [ $# -lt 1 ] && err_text # kein Dateiname wurde übergeben while [ $# -ge 1 ] ; do if [ -f "$1" ] ; then gs -sDEVICE=jpeg -sOutputFile="${outfile:-`basename "$1"`}_%03d.jpg" // -r$outres -dNOPAUSE -dBATCH "$1" else err_text "`basename $0` - Datei '$1' existiert nicht" fi shift done 4.5 pdf2bmp ============ Folgendes Skript konvertiert PDF-Dokumente in BMP-Dateien, wobei die Auflösung der BMP-Datei frei gewählt werden kann. Standard ist 300 dpi. #!/bin/bash #pdf2bmp - konvertiert PDF/PS-Dateien nach BMP # function err_text { while [ $# -gt 0 ] ; do echo "$1" 1>&2 # Ausgabe auf stderr shift done echo "`basename $0` [-r resolution] [-o outfile] infile[.pdf|.ps]" 1>&2 // # Ausgabe auf stderr exit 1 } # Sortieren der Parameter set--`getopt "r:o:" "$@"` || err_text # Startwerte definieren outres=300 # Parameter abfragen while : ; do case "$1" in -r) shift; outres=$1;; -o) shift; outfile=$1;; --) break;; esac shift [ $# -eq 0 ] && break # Fehler in den angegebenen Parametern done shift [ $# -lt 1 ] && err_text # kein Dateiname wurde übergeben while [ $# -ge 1 ] ; do if [ -f "$1" ] ; then gs -sDEVICE=bmp16m -sOutputFile="${outfile:-`basename "$1"`}_%03d.bmp" -r$outres // -dNOPAUSE -dBATCH "$1" else err_text "`basename $0` - Datei '$1' existiert nicht" fi shift done 4.6 html2ps ============ Umwandeln von HTML in PostScript 4.7 dvips ========== DVI-Dateien in PostScript umwandeln 4.8 ps2pdf =========== Umwandeln von PostScript in PDF Beispiele: . Optimieren, für schnelle Anzeige: ps2pdf -dOptimize=true datei.ps . Schriften einbinden: ps2pdf -dEmbedAllFonts=true datei.ps . Komprimieren: ps2pdf -dUseFlatCompression=true datei.ps . Auflösung: ps2pdf -dPDFSETTINGS=/printer datei.ps Parameter (schlecht -> gut): /screen /ebook /printer /prepress 4.9 ps2ascii ============= Umwandeln von PostScript in ASCII 4.10 psutils ============= Manipulation von PostScript-Dateien 4.11 pdftk =========== Manipulation von PDF-Dateien Beispiele: Mehrere PDFs verschmelzen: pdftk eins.pdf zwei.pdf drei.pdf cat output einszweidrei.pdf Einzelne Seiten von PDFs in ein neues PDF extrahieren: pdftk A=eins.pdf B=zwei.pdf cat A1-7 B1-5 A8 output kombiniert.pdf Ein mehrseitiges PDF in Einzelseiten zerlegen: pdftk beispiel.pdf burst 4.12 psnup =========== psnup -2 eingabe-ps ausgabe.ps fasst zwei Seiten auf einer zusammen. psnup -4 eingabe-ps ausgabe.ps fasst vier Seiten auf einer zusammen. 4.13 psresize ============== psresize -Pa4 -pa5 eingabe.ps ausgabe.ps verkleinert ein A4-Blatt auf A5. 4.14 psselect ============== psselect -e eingabe.ps ausgabe.ps schreibt alle geraden Seiten in eine neue Datei. Mit -o werden die ungeraden Seiten gespeichert. Für die Seiten 1 und 3-5 gibt man psselect -p1.3-5 eingabe.ps ausgabe.ps an. Die Umgekehrte Reihenfolge erhält man mit -r 4.15 psbook ============ Sortiert Seiten für den Büchlein-Druck Parameter: . -q unterdrückt die Ausgabe von Seitennummern . -s Anzahl der Seiten, bis ein neues Büchlein beginnt 4.16 geschützte PDF ==================== In der Datei /usr/share/ghostscript/*/lib/gs_pdfwr.ps oder auch /usr/share/gs-esp/8.15/lib/gs_pdfwr.ps steht gegen Ende folgender Eintrag: % Patch 'where' so that the distiller operators are only visible % if the pdfwrite device is the current one. { currentdevice .devicename /pdfwrite eq { .where Dieser muss in { currentdevice .devicename /pdfwritexyz eq { abgeändert werden. Danach ist es möglich mit ps2pdf geschützte Dateien umzuwandeln. 4.17 Adobe Reader Fehler ========================= Das Programm erkundigt sich beim Start nach der Datei: "libgzkembedmoz" Abhilfe: In den Einstellungen von acroread den Ordner /usr/lib/firefox angeben. ====================================================================== Kapitel 5 Drucken ====================================================================== 5.1 lpr ======== lpr druckt einen Text bzw. Datei (Postscript) direkt aus 5.2 lpadmin ============ _ Drucker von Hand einer PPD-Datei zuweisen: _ . USB-Port des Druckers ermitteln: lpinfo -v . PPD-Datei dem Drucker zuweisen: lpadmin -p -E -v -P z.B. lpadmin -p DCP7010 -E -v usb://Brother/DCP-7010 -P // /usr/share/cups/model/brdcp7010_cups.ppd 5.3 lpinfo =========== Hardware/Netzwerk-Ports der Druckers ermitteln: lpinfo -v 5.4 lpc ======== lpc startet die Druckerstatusabfrage status: gibt den Druckstatus aus help: gibt Befehlsliste aus exit: verlässt die Druckerabfrage 5.5 lprm ========= löscht alle Druckaufträge 5.6 klpq ========= klpq Klpq reicht beim Start die Datei automatisch an den Line Printer Daemon weiter und öffnet ein Fenster, in dem alle aktuellen Druckaufträge aufgeführt sind. In diesem Fenster kann man Druckaufträge löschen oder ihre Reihenfolge verändern: Sehr praktisch, falls einmal etwas Falsches gedruckt wird. 5.7 kprinter ============= kprinter druckt eine Datei kprinter *.pdf druckt alle PDF-Dateien im aktuellen Verzeichnis -Pname wählt Drucker mit dem Namen "name" aus --nodialog Direktdruck ohne Druckdialog 5.8 lppasswd ============= Mit lppasswd -g sys -a root wird ein spezielles Passwort für die Druckereinstellungen vergeben. 5.9 CUPS ========= 5.9.1 CUPS-PDF --------------- Einstellungen ändern: Die Datei /etc/cups/cups-pdf.conf enhält alle Einstellungen, die für den PDF-Druck verantwortlich sind. Unter LinuxMint befindet sich diese Datei unter /usr/share/ linuxmint/adjustments/cups-pdf 5.9.2 CUPS-Server einrichten ----------------------------- CUPS kann sehr komfortabel über die HTML-Schnittstelle http://localhost:631/admin konfiguriert werden. Alle Einstellungen werden in der Konfiguratinsdatei /etc/cups/cupsd.conf gespeichert. Damit der CUPS-Server auf Anfragen reagiert, müssen die entsprechenden Schnittstellen (normalerweise auf Port 631) freigeschalten werden. Standardmäßig wird nur auf lokale Anfragen reagiert: Listen localhost:631 Sollen auch andere Rechner aus dem Netzwerk zugriff haben, so muss unter Listen die IP-Adresse der entsprechenden Netzwerkkarte eingetragen werden. Wenn die entsprechende IP-Adresse des Servers 192.168.1.50 lautet, so muß folgender Eintrag ergänzt werden: Listen 192.168.1.50:631 Jetzt müssen noch die einzelnen Clients freigeschalten werden. Dies geschieht unter : # Restrict access to the server... Order allow,deny Allow localhost Allow @LOCAL Allow 192.168.1.* In diesem Beispiel wurden zusätzlich alle Rechner im Netzwerk 192.168.1.* freigeschalten. 5.9.3 CUPS-Client einrichten ----------------------------- Ein CUPS-Client kann auf zwei unterschiedliche Arten konfiguriert werden. * Cups-Server des eingenen Rechners wird verwendet und Netzwerkdrucker* *werden eingebunden. * In diesem Fall wird der gewünschte Netzwerkdrucker in der Druckerkonfiguration über Hinzufügen -> Drucker/Klasse hinzufügen -> CUPS-Server (IPP/HTTP) auf Fremdrechner -> hinzugefügt. Hierzu muss der entsprechnede Treiber (PPD-Datei) auf dem Client installiert sein. * Direkter Zugriff auf den CUPS-Server * In der Datei /etc/cups/client.conf kann ein Serfer angegeben werden, an den alle lokalen Anfragen weitergeleitet werden. Der Eintrag ServerName 192.168.1.50 leitet alle Anfragen auf den Rechner 192.168.1.50 weiter. Wird dieser Rechner nicht gefunden, so folgt (nach dem Timeout und einer Fehlermeldung) die Weiterleitung an den lokalen CUPS-Server des Client-Rechners. Bei dieser Konfiguration müssen die Drucker des Servers lokal nicht erneut installiert werden, da die Anfragen ja direkt auf den entsprechenden Server weitergeleitet werden, sondern erscheinen direkt auf dem Client-Rechner. 5.10 Druck umleiten ==================== Wenn man einen Druckauftrag in eine PDF-Datei an einen bestimmten Ort oder auf einen FTP-Server umleiten will, bietet sich folgendes Script an, das in kprinter mit /usr/bin/printtotausch.sh %psl %in aufgerufen wird: #! /bin/bash outfile=/tmp/Druck_`users`_`date +%d_%m_%Y`_um_`date +%H_%M_%S`.pdf ps2pdf -sPAPERSIZE=$1 $2 "$outfile" ncftpput 192.168.178.1 "$outfile" ====================================================================== Kapitel 6 Benutzer & Gruppen ====================================================================== 6.1 adduser ============ adduser legt einen Benutzer inklusive kompletter Verzeichnisstruktur an 6.2 useradd ============ useradd -m legt einen Benutzer an 6.3 passwd =========== passwd ändert ein Passwort siehe auch: neues Rootpasswort 6.4 chage ========== chage Haltbarkeit des Passworts 6.5 userdel ============ löscht einen Benutzer userdel -r löscht auch das Home- Verzeichnis 6.6 deluser ============ löscht einen Benutzer deluser --remove-home mit seinem Home- Verzeichnis deluser mike sudo löscht den Benutzer mike aus der Gruppe sudo 6.7 usermod ============ Änderung der Benutzereigenschaften. Mit usermod -L kann der Zugang gesperrt werden. usermod -U hebt die Sperre wieder auf. 6.8 groupadd ============= legt ein neue Gruppe an 6.9 groupdel ============= Löscht eine Gruppe 6.10 groupmod ============== Gruppenname oder ID ändern 6.11 addgroup ============== addgroup fügt einen Benutzer einer Gruppe zu 6.12 id ======== id gibt die Gruppenzugehörigkeit aus id -Gn gibt nur die Namen der Gruppen aus 6.13 groups ============ groups Ausgeben der Gruppenzugehörigkeit eines Benutzers. 6.14 finger ============ finger -l Infos über eingeloggte User 6.15 who ========= who ermittelt wer angemeldet ist 6.16 w ======= w ermittelt wer angemeldet ist und gibt die jeweils gestarteten Prozesse aus 6.17 whoami ============ oder auch logname gibt den Anmeldenamen an 6.18 last ========== gibt die Liste der zuletzt eingeloggten User aus 6.19 lastlog ============= gibt die Liste aller User mit letzem Einlogdatum aus 6.20 exit ========== Beenden (auch oder logout ) 6.21 Voreinstellungen für neue Benutzer ======================================== In /etc/skel/ stehen alle Ordner, die für einen neuen Benutzer angelegt werden sollen 6.22 neues Rootpasswort ======================== 1. Möglichkeit . System von einer Linux-Live-CD booten . mkdir /mnt/linux . mount /dev/sda1 /mmnt/linux . chroot /mnt/linux . passwd . reboot 2. Möglichkeit . System von einer Linux-Boot-CD starten . Root-Partition mounten . /etc/passwd auf der Zielfestplatte mit vim öffnen . Zeile root:x:0:0:root:/root:/bin/bash ersetzen durch root::0:0:root:/root:/bin/bash . Rechner neu starten . Root ohne Passwort einloggen . neues Passwort mit passwd setzen 3. Möglichkeit . In grub als Bootoption init=/bin/bash eingeben . mount -no remount,rw / . passwd root . sync . mount -no remount,ro / . reboot ====================================================================== Kapitel 7 Prozessverwaltung ====================================================================== 7.1 Auflisten und Beenden ========================== 7.1.1 ps --------- Prozessanzeige . ps -x alle eigenen Prozesse . ps -ax alle Prozesse . ps -aux alle Prozesse mit Userangabe . ps -ef alle Prozesse in einer Tabelle 7.1.2 pgrep ------------ pgrep gibt die ID eines Programms aus 7.1.3 pstree ------------- zeigt Prozesse und deren Zugehörigkeiten in einer Baumstruktur an 7.1.4 top ---------- Auflistung aller Prozesse in Echtzeit incl. Prozessorauslastung etc. 7.1.5 nmon ----------- nmon gibt verschiedene Werte zur Systemauslastung an. Nach dem Start gelten folgende Tasten: . c CPU-Auslastung . m Speicherauslastung . d Festplatte . t Prozesse, die eine hohe Auslastung haben . n Netzwerk . k Kernelbeanspruchung 7.1.6 lsof ----------- lsof | less Anzeige, welche Prozesse auf welche Dateien zugreifen. lsof /dev/hdc zeigt, welche Prozesse auf das CD-Laufwerk zugreifen lsof +D /home/user/Verzeichnis zeigt, welche Dateien im Verzeichnis geöffnet sind lsof -i -P zeigt alle Internetverbidnungen an 7.1.7 fuser ------------ zeigt alle Prozesse an, die auf den unter mountpunkt eingehängen Datenträger zugreifen fuser -v 7.1.8 time ----------- Zeitmessung von Prozessen 7.1.9 timeout -------------- timeout 60 lässt einen Befehl für 60 Sekunden lang ausführen und beendet ihn dann. 7.1.10 kill ------------ kill PID löscht Prozess mit PID-Nummer kill -l PID löscht hängende Prozesse kill -9 PID löscht den Prozess auf jeden Fall pkill beendet ein Programm xkill beendet das Fenster, auf das nach der Eingabe des Befehls geklickt wird. 7.1.11 killall --------------- killall löscht alle Prozesse, die zu gehören 7.2 Hintergrundprozesse & Zeitsteuerung ======================================== 7.2.1 & -------- wird das & an einen Befehl angehängt, so wird dieser im Hintergrund gestartet 7.2.2 jobs ----------- zeigt alle Hintergrundprozesse an 7.2.3 bg --------- Job in den Hintergrund stellen 7.2.4 fg --------- Job in den Vordergrund holen 7.2.5 Prozesse beenden - unterbrechen -------------------------------------- +c beendet den laufenden Prozess +z unterbricht den laufenden Prozess 7.2.6 cron ----------- Zeitsteuerung (Einträge in /etc/crontab) . crontab -l zeigt alle Jobs . crontab -r löscht alle Crontabs . crontab -e öffnet einen Editor . Format: Minuten Stunden Tage Monate Wochentage Befehl (ein * gilt für jeweils alle) . Beispiele: - Kommando jede Minute ausführen: * * * * * Befehl - Jeden Tag um 22.00 h ausführen: 0 22 * * * Befehl - Jeden Sa. um 22:00 h ausführen: 0 22 * * 6 Befehl - Befehl alle 5 min ausführen: */5 * * * * Befehl - Befehl alle 2 Stunden ausführen: 00 */2 * * * Befehle . Man kann auch einen Alias eintragen: @reboot einmalig nach dem booten @yearly einmal im Jahr - "0 0 1 1 *" @monthly einmal im Monat - "0 0 1 * *" @weekly einmal in der Woche - "0 0 * * 0" @daily einmal am Tag - "0 0 * * *" @hourly einmal in der Stunde - "0 * * * *" Diese Aliase ersetzen die Zeitangaben in den ersten 5 Feldern! . kcron bietet eine gute grafische Oberfläche 7.2.7 at --------- at 15:14 öffnet den Editor um den Befehl einzugeben, der um 15:14 Uhr ausgeführt wird. Der Editor wird mit beendet. echo "play /pfad/zu/musik.mp3" | at 7:00 24.12.2004 spielt Musik um 7.00 Uhr ab. echo "halt" | at 17:00 (als root) fährt den Rechner um 17.00 Uhr herunter. Mit atq werden alle anstehenden at-Kommandos aufgerufen. 7.2.8 anacron -------------- Wie cron, aber es werden Prozesse nachgeholt, falls der Rechner aus war. 7.2.9 nohup ------------ Prozesse nach Sitzungsende weiterlaufen lassen. 7.2.10 sleep ------------- sleep x wartet x Sekunden 7.3 Programme als anderer Benutzer ausführen ============================================= 7.3.1 su --------- als Superuser (root) anmelden. Das Admin-Passwort wird abgefragt. Mit exit wieder beenden. 7.3.2 gksu ----------- gksu startet ein Programm z.B. in der Eingabemaske (Alt- F2) mit Superuserrechten 7.3.3 sudo ----------- Ein Befehl wird als root ausgeführt: sudo Unter ubuntu ist es üblich alle administrativen Aufgaben mittels sudo vorzunehmen (da der Benutzer Root standardmäßig nicht exisitert). _ Programme immer mit superuser-Rechten starten. _ Eintrag in /etc/sudoers: User_Alias NAME=stefan Cmnd_Alias BACKUP=/usr/bin/multicd NAME ALL = BACKUP * Achtung: Die Dateien /etc/sudoers stets mit visudo editieren * _ Beispieldatei: _ # /etc/sudoers # This file MUST be edited with the 'visudo' command as root. # See the man page for details on how to write a sudoers file. Defaults env_reset # Host alias specification # User alias specification # Cmnd alias specification Cmnd_Alias ISOFILM = /bin/mkdir /media/ISO-Film, /bin/rm -r /media/ISO-Film Cmnd_Alias ISOFILE = /bin/mkdir /media/ISO-File, /bin/rm -r /media/ISO-File Cmnd_Alias BURN = /usr/bin/cdrecord, /usr/bin/cdrdao # User privilege specification root ALL=(ALL) ALL petri ALL=(ALL) ALL petri ALL=NOPASSWD: /bin/mount,/bin/umount,ISOFILM,ISOFILE 7.4 Prioritäten ändern ======================= 7.4.1 nice ----------- Einen Prozess mit anderer Priorität laufen lassen. 7.4.2 renice ------------- Die Priorität eines laufenden Prozesses ändern. 7.5 Dienste starten ==================== /etc/init.d/samba start | stop | restart cups, network, nfs, squid... 7.6 strace =========== strace verfolgt Systemcalls und Signale eines Prozesses ====================================================================== Kapitel 8 Dateisysteme ====================================================================== 8.1 Wo befindet sich was? ========================== -------------+------------------------------------ /bin | ausführbare Systemdateien /boot | Kernel und Bootmanager /dev | Geräte /etc | globale Konfigurationsdateien /home | persönliche Verzeichnisse /lib | Systembibliotheken /media | Unterverzeichnisse für Dateiträger /mnt | Unterverzeichnisse für Dateiträger /opt | Software /proc | Infos zu aktiven Prozessen /sbin | Systemdateien /tmp | temporäre Dateien /usr/bin | Programme /usr/lib | Bibliotheken /var | Log-Dateien, Spooler... /lost+found | wiederhergestellte Dateien -------------+------------------------------------ Laufwerke finden sich, ja nach Distribution, unter verschiedenen Bezeichnungen. Festplatten sind meist /dev/hda1 oder /dev/sda1. a ist dabei die erste Festplatte und 1 die erste Partition darauf. So wäre /dev/sdb2 die zweite Festplatte und die zweite Partition darauf. CD- bzw. DVD-Laufwerke sind meist /dev/scd0 oder /dev/sr0. Die 0 bezeichnet das erste Laufwerk, das zweite wäre dann die 1. 8.2 fstab ========== In der Datei /etc/fstab stehen die Zuordnungen zwischen Dateisystemen und deren Mountpunkten. Diese Dateisysteme können beim Systemstart automatisch gemountet werden. Die Spalten enthalten folgende Meldungen: Gerätedatei - Mountpoint - Dateisystemtyp - Mount-Optionen - dump- Infos - fsck-Infos _ Mount-Optionen:_ ----------+------------------------------------------------------------------ async | asynchroner Dateizugriff atime | ändern des Datums beim letzten Zugriff auto | automatisches Mounten mit -a möglich defaults | Standardeinstellungen (rw, suid, dev, exec, auto, nouser, async) dev | zeichen- und blockorientierte Geräte exec | ermöglicht Ausführung von Dateien noatime | keine Datumsaktualisierung noauto | kein automatisches Mounten mit -a möglich nosuid | s-Bit hat keine Wirkung nouser | normale User dürfen nicht mounten remount | erneutes Einhängen möglich ro | read-only rw | read-write suid | s-Bit kann verwendet werden sync | synchroner Zugriff users | jeder darf dieses System mounten user | der am Desktop angemeldete user darf mounten ----------+------------------------------------------------------------------ _ dump/pass:_ "Dump" legt fest, ob die Partition von dem Backupprogramm Dump gesichert werden soll. "Pass" legt fest, ob und in welcher Reihenfolge die Partitionen auf Fehler überprüft werden sollen. Bei der Root- Partition sollte 1 stehen, bei allen anderen zu überprüfenden Partitionen eine 2. Wenn hier eine 0 eingetragen wird, wird die Platte nicht geprüft. Diese werden dann gleichzeitig getestet (evtl. hier nach physikalischen Festplatten trennen). _ Beispiel einer fstab: _ # proc /proc proc defaults 0 0 ## Festplatte 1 /dev/hda /dev/hda1 none swap sw 0 0 /dev/hda2 / ext3 defaults 0 1 /dev/hda3 /mnt/hda3 ext3 defaults 0 2 ## Festplatte 2 /dev/hdb /dev/hdb1 /mnt/hdb1 ext3 defaults 0 2 /dev/hdb2 /mnt/hdb2 ext3 defaults 0 2 /dev/hdb3 /mnt/hdb3 ext3 defaults 0 2 ## CD-Laufwerke /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/hdd /media/cdrom1 udf,iso9660 user,noauto 0 0 ## Diskette /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 ## USB-Einbindung mit DevMode 0666 none /proc/bus/usb usbfs auto,devmode=0666 0 0 Mit mount -a wird die fstab wieder neu eingelesen. 8.3 Einhängen ============== 8.3.1 mount ------------ hängt ein Laufwerk in das System ein . mount gibt alle eingehängten Datenträger an . CD-ROM: mount -t iso9660 -o ro /dev/hdc /mnt/cdrom . Diskette: mount -t auto -o ro /dev/fd0 /mnt/floppy . Netzwerk: mount 196.168.0.2:/home /mnt/home/ . ISO-Abbild einbinden: mount -t iso9660 -o loop cdrom.iso /mnt/tmp . Eine Partition ist nur lesbar und nicht schreibbar (ro) gemountet. Soll sie nun doch schreibbar sein gibt man als root folgendes ein: mount /dev/hda1 -o remount,rw 8.3.2 umount ------------- umount /media/cdrom hängt das Laufwerk aus. Bei Hängern hilft umount -l /media/cdrom 8.3.3 sync ----------- gepufferte Daten auf die Festplatte/Diskette schreiben (bevor man einen Datenträger aushängt) 8.3.4 swap ----------- Auslagerungsdatei, deren Größe der doppelte Arbeitsspeicher, aber max. 512MB sein sollte. swapon und swapoff swap-Partition an/ausschalten -a alle Swap-Partitionen aus der fstab -s Auslastung der Swap-Partitionen anzeigen 8.3.5 ISO-Abbild einbinden --------------------------- * in der fstab: * Dateiname.iso /mnt/image1 iso9660 ro,loop,auto 0 0 * als Konsolenbefehl: * mount -t iso9660 -o loop Dateiname.iso /mnt/tmp 8.4 Partitionieren, Formatieren und Kopieren ============================================= 8.4.1 fdisk ------------ Plattengröße anzeigen fdisk -l /dev/hda 8.4.2 sfdisk ------------- ??? siehe fdisk 8.4.3 parted ------------- Anlegen, vergrößern, verkleinern und verschieben von Partitionen Einfacher geht das mit der grafischen Oberfläche von qtparted (System-Rescue-CD oder Knoppix) 8.4.4 mkdosfs -------------- MSDOS-Dateisystem erzeugen (z.B. ein FAT32-System auf einem USB-Stick) 8.4.5 mkfs ----------- Einrichten von Dateisystemen mke2fs ext2- oder ext3-Dateisystem einrichten mkreiserfs Reiser-Dateisystem einrichten mkswap Swap-Dateisystem einrichten. ( swapon - swapoff ) Leichter geht das mit der grafischen Oberfläche von qtparted (System- Rescue-CD oder Knoppix) mkdosfs -F 32 -v /dev/sda1 8.4.6 dd --------- 8.4.6.1 Bootsektor (MBR) sichern dd if=/dev/hda of=hda.mbr bs=512 count=1 dd if=hda.mbr of=/dev/hda count=1 * Achtung: ein falscher Syntax beim Wiederherstellen kann den Inhalt* *der gesamten Festplatte löschen! * 8.4.6.2 CD sichern dd if=/dev/cdrom of=cd.iso 8.4.6.3 Festplatte sicher löschen Folgendes Skript löscht die Daten auf einer Festplatte unwiederruflich. ** *Achtung: Es gibt keine Möglihckeit so gelöschte Daten wieder* *herzustellen! * device=/dev/sda dd if=/dev/zero of=$device bs=10240 conv=noerror dd if=/dev/urandom of=$device bs=10240 conv=noerror dd if=/dev/zero of=$device bs=10240 conv=noerror cat $device | strings Im ersten Schritt wird das zu löschende Device angegeben (z.B. /dev/sda). In den nächsten drei Schritten wird das gesamte Device zunächst mit Nullen, dann mit Zufallszahlen und anschließend wieder mit Nullen beschrieben. Im letzten Schritt wird das gesamte Device nach einer Zeichenkette durchsucht. Wenn alles funktioniert hat darf dieser Aufruf keinerlei Ausgaben produzieren. 8.4.6.4 Festplatte kopieren dd if=/dev/hda of=/dev/hdc 8.4.6.5 CD in ISO-Image kopieren dd if=/dev/cdrom of=./pfad/zum/iso.image -> siehe auch mkisofs 8.4.6.6 Gesamte Platte sichern dd if=/dev/hda bs=1024 | gzip -c | split -b 700m - backup_ liest die ganze Platte (hda) ein, komprimiert und teilt in Dateien zu 700 MB auf. Zurückschreiben geht mit cat backup_* | gzip -d | dd of=/dev/hda bs=1024 Der Bootblock wird so gesichert: dd if=/dev/hda of=/dev/fd0/bootblock bs=521 count=1 Und zurück: dd if=/dev/fd0/bootblock of=/dev/hda bs=521 count=1 8.4.6.7 Löschen einer Platte dd if=/dev/zero of=/dev/hda 8.4.6.8 dd_rescue dd_rescue dient zur Datenrettung. Es bricht nicht ab wie dd. 1. Daten auslesen: ddrescue -n /dev/sda1 /mnt/backup/image.iso logdatei.log 2. Defekte Blöcke werden nochmals getestet: ddrescue -RT /dev/sda1 /mnt/backup/image.iso logdatei.log 8.4.7 MBR erstellen -------------------- Einen neuen MasterBootRecord (MBR) erstellt man mit install-mbr /dev/sda 8.4.8 partimage ---------------- partimage -z1 -b -d save /dev/hda1 /mnt/home/image.img.gz sichert hda1 nach . partimage restore /dev/hda1 /mnt/home/image.img.gz stellt die Sicherung wieder her. Für die Wiederherstellung des Master Boot Record (MBR) schreibt man partimage restmbr /mnt/home/image.img.gz Das Programm partimage kann aber auch einfach so gestartet werden. _ Beispielskript zur automatischen Erstellung eines Backups _ (z.B. von der System-Rescue-CD aus) #! /bin/bash # Startwerte setzen src_part=hda2 # Partition, die gesichert werden soll dst_part=hdb3 # Partition, auf die das Backup geschrieben werden soll path="backup/sysbackup" # in diesen Pfad auf der Zielpartition (dst_part) wird das Backup geschrieben # Zielpartition mounten mkdir /mnt/$dst_part mount /dev/$dst_part /mnt/$dst_part echo Wait for /dev/$dst_part to be mounted ... while [ ! -d "/mnt/$dst_part/$path" ]; do sleep 1 done # Backup starten datum=`date +%y%m%d` partimage -z1 (--)volume 2085888 -b -f3 save /dev/$src_part /mnt/$dst_part/$path/sysbackup_$datum # Zielpartition unmounten echo Wait for /dev/$dst_part be unmounted ... while [ -d "/mnt/$dst_part/$path" ]; do umount /dev/$dst_part sleep 1 done rm -rf /mnt/$dst_part # System neu starten echo Restarting system ... reboot 8.4.9 Bootfähigen USB-Stick erstellen -------------------------------------- 1. USB-Stick mounten mount /dev/sda1 /media/usbstick 2. System auf USB-Stick kopieren (z. B. Feather-Linux) 3. USB-Stick unmounten umount /dev/sda1 4. Bootloader installieren syslinux /dev/sda1 8.4.9.1 mehrere Systeme auf einen Stick 1. ISOs auf Stick kopieren, 2. Jeweils die kernel/initrds aus den ISOs in /boot auf den Stick packen (evtl. umbenennen) 3. passenden booteintrag in /boot/grub/menu.lst erzeugen (fromiso=/ iso-pfad-und-name als boot-Parameter angeben) 4. grub installieren 8.5 Verschlüsseltes Dateisystem (encfs) ======================================== Einbindung eines verschlüsselten Dateisystems mit Hilfe von encfs . * Voraussetzungen: * Kernelmodul fuse muß vorhanden sein. Alle Benutzer, die encfs benutzen sollen müssen der Gruppe fuse zugeordnet werden! apt-get install encfs Es wird die Gruppe fuse angelegt, dann den eigenen User in /etc/group dort mit aufnehmen. Anschließend zwei Ordner erstellen. In den versteckten Ordner werden die Dateien verschlüsselt abgespeichert und über den nicht versteckten Ordner kann man darauf zugreifen: mkdir /home/user/.secure mkdir /home/user/secure Filesystem einhängen mit: encfs -raw /home/user/.secure /home/user/secure Beim ersten Start mit Enter die Standard-Konfiguration wählen. Filesystem aushängen mit: fusermount -u /home/user/secure * Skript mountsafe zum automatischen mounten/unmounten des* *Dateisystems * Skript starten über: mountsafe /home/user/.secure /home/user/secure Und jetzt das Skript: #!/bin/sh # Mounts/unmounts encFS path # Source (encFS encrypted path) SRC=$1 # Destination (mount point for encrypted path) DST=$2 if [ "$(cat /proc/mounts | grep encfs | grep $DST)" != "" ]; then $(kdialog --title "encFS: unmount $DST..." --warningyesno "encFS: should $DST be unmounted?") if [ $? == 0 ] then fusermount -u $DST & else konqueror $DST & fi else kdialog --title "encFS: Enter passphase..." --password "Enter passphrase for [$DST]" | encfs $SRC $DST && konqueror $DST fi 8.6 Prüfen & Reparieren ======================== 8.6.1 fsck ----------- überprüft und repariert das Filesystem 8.6.2 badblocks ---------------- Physikalische Überprüfung des Datenträgers 8.6.3 smartctl --------------- smartctl -t short /dev/sda smartctl -t long /dev/sda Logs Auslesen: smartctl -l error /dev/sda smartctl -l selftest /dev/sda Eine gute Anleitung findet sich unter http://wiki.ubuntuusers.de/Festplattenstatus 8.6.4 /dev/null reparieren --------------------------- . System von Linux-Boot-CD booten . entsprechnede Festplatte mounten (z.B. nach /mnt/hda1) . rm /mnt/hda1/dev/null . mknod /mnt/hda1/dev/null c 1 3 . Rechner neu starten 8.6.5 Daten retten ------------------- 8.6.5.1 testdisk mit testdisk von z.B. der System-Rescue-CD lassen sich zerstörte Partitionsbelegungen wiederherstellen. 8.6.5.2 photorec Daten von der Digitalkamera retten 8.6.5.3 foremost Gelöschte Daten wiederherstellen 8.6.5.4 magicrescue Gelöschte Daten wiederherstellen 8.6.6 df --------- zeigt die Belegung aller gemounteten Medien an df -h .; echo; du -m -max-depth=1 . 2>/dev/null | sort -nr | head -10 zeigt den freien Platz auf der aktuellen Partition plus die zehn vollsten Unterverzeichnisse des aktuellen Verzeichnisses 8.7 Disketten ============== 8.7.1 fdformat --------------- fdformat /dev/fd0 formatiert die Diskette 8.7.2 Disketten kopieren ------------------------- Diskette in Image-Dateien kopieren: dd if=/dev/fd0 of= Eine exakte Kopie der Diskette wird unter abgelegt. und wieder zurück: dd if=floppyimage of=/dev/fd0 8.7.3 Floppy mounten --------------------- udisks --mount /dev/fd0 ====================================================================== Kapitel 9 Netzwerk ====================================================================== 9.1 Serverinstallation ======================= * Am Beispiel eines ubuntu-Servers: * Download von ubuntu-server-64bit: http://www.ubuntu.com/start-download?distro=server&bits=64&release=lts Das heruntergeladene ISO-File entweder auf CD brennen oder mit http://www.pendrivelinux.com auf einen USB-Stick installieren. Installation: 1. Von CD oder USB-Stick booten 2. "Server installieren" anwählen 3. deutsche Sprache auswählen (auch wenn die Übersetzung nicht vollständig ist, das System nimmt dann eben englisch) 4. Tastaturbelegung deutsch 5. Server-Namen vergeben 6. Benutzerkonto: dieser Benutzer hat root-Rechte! Erst vollständiger Name, dann Anmeldename. 7. Passworteingabe für Benutzer 8. Verschlüsselung: nein 9. Zeitzone wählen 10. Partitionierung: Geführt, gesamte Platte und LVM (Logical Volume Manager) einrichten ist meist das Beste . Platte wählen . in der Regel die gesamte Volume Group verwenden . Änderungen auf die Festplatten schreiben 11. Das Grundsystem wird nun installiert 12. Proxy (falls benötigt) festlegen 13. die Paketverwaltung (apt) wird konfiguriert 14. Sicherheitsaktualisierungen automatisch installieren 15. Serverauswahl: . OpenSSH server (für Fernzugriff) . DNS server . LAMP server (Apache, MySQL, PHP) . Mail server . PostgreSQL database . Print server . Samba file server . Tomcat Java server . Virtual Machine host 16. Die ausgewählte Software wird nun installiert 17. evtl. neues Passwort für MySQL root-Benutzer vergeben - nur bei Installation von LAMP 18. Der GRUB-Bootloader wird installiert. In der Regel in den MBR (Master Boot Record) installieren. 19. Die Installation ist nun abgeschlossen. Es wird automatisch neu gebootet. Bootmedium entfernen. . Nach dem ersten Start des neuen Systems sollte zunächst ein Update ausgeführt werden. - sudo apt-get update - sudo apt-get upgrade . evtl. eine einfache grafische Oberfläche installieren: sudo apt-get install xfce4 Die grafische Oberfläche wird mit startx aufgerufen. Über das Anwendungsmenü kann die grafische Oberfläche wieder beendet werden. Sollten in der grafischen Oberfläche einmal die Taskleisten verschwunden sein, so macht man einen Rechtsklick auf den Desktop, ruft den Terminal auf und gibt folgenden Befehl ein: xfce4-panel & . Tipp: Für die Arbeit in der Konsole ist der mc (midnight commander -ein Norton Commander Clone - 2-Fenster-Modus) sehr praktisch: sudo apt-get install mc . Um mittels Webinterface arbeiten zu können, muss noch ein Browser für die grafische Oberfläche installiert werden: sudo apt-get install firefox . Will man einen guten Überblick über zu installierende Pakete haben, installiert man synaptic für die grafische Oberfläche: sudo apt-get install synaptic 9.2 IP-Adressen ================ Intranet: . 10.0.0.0 - 10.255.255.255 (A-Netz) . 169.254.0.0 - 169.254.255.255 (Automatic Private IP Adressing) . 172.16.0.0 - 172.31.255.255 (B-Netz) . 192.168.0.0 - 192.168.255.255 (C-Netz) Masken zur Darstellung von IP-Bereichen: IP-Adressen können mit einer Maske versehen werden, die die signifikannten Bits der Adresse angibt. Diese Maske wird als Bitmaske realisiert und einfach mit einem Slash (/) hinten an die Adresse angehängt. Die Adressangabe 192.168.100.123/24 bedeutet, dass die ersten 24 Bit der Adressangabe mit der gefundenen Adresse übereinstimmen müssen, damit die Regel greift. In diesem Beispiel sind das also alle Adressen gemeint, die vorne 192.168.100 (8 Bit + 8 Bit + 8 Bit) stehen haben. Eine Maske /32 bedeutet also, dass die Adresse exakt übereinstimmen muß, eine Maske /0 bedeutet, daß kein Bit übereinstimmen muss, also alle Adressen gemeint sind. Dafür ist auch die Abkürzung any/0 zulässig. Beispiele: Wie oben beschrieben sind die ersten 24 bit für die ersten drei Zahlenblöcke, d. h. der letzte Zahlenblock wird über die Bits 25 bis 32 definiert (siehe Tabelle unten). wird jetzt z. B. /26 angehängt, so werden von der letzten Zahl die ersten beiden führenden Bits mit der angegebenen Maske vergleichen. Im ersten Beispiel unten steht die Zahl 63 in der Maske. Die ersten beiden Bits dieser Zahl sind 0 0 . Beim vergleich der IP werden nur diese ersten beiden führenden Bits verglichen, d. h. alle Zahlen zwischen 0 und 63 sind erlaubt. . 192.168.1.63/26 IP-Bereich 192.168.1.0 bis 192.168.1.63 . 192.168.1.0/26 IP-Bereich 192.168.1.0 bis 192.168.1.63 . 192.168.1.95/27 IP-Bereich 192.168.1.64 bis 192.168.1.95 . 192.168.1.135/29 IP-Bereich 192.168.1.128 bis 192.168.1.135 ------+------+------------------------------------------ | * 25 * | * 26 * * 27 * * 28 * * 29 * * 30 * * 31 * * 32 * ------+------+------------------------------------------ * 0* | 0 | 0 0 0 0 0 0 0 * 1* | 0 | 0 0 0 0 0 0 1 * 2* | 0 | 0 0 0 0 0 1 0 * 3* | 0 | 0 0 0 0 0 1 1 * 4* | 0 | 0 0 0 0 1 0 0 * 5* | 0 | 0 0 0 0 1 0 1 * 6* | 0 | 0 0 0 0 1 1 0 * 7* | 0 | 0 0 0 0 1 1 1 * 8* | 0 | 0 0 0 1 0 0 0 * 9* | 0 | 0 0 0 1 0 0 1 * 10* | 0 | 0 0 0 1 0 1 0 * 11* | 0 | 0 0 0 1 0 1 1 * 12* | 0 | 0 0 0 1 1 0 0 * 13* | 0 | 0 0 0 1 1 0 1 * 14* | 0 | 0 0 0 1 1 1 0 * 15* | 0 | 0 0 0 1 1 1 1 * 16* | 0 | 0 0 1 0 0 0 0 * 17* | 0 | 0 0 1 0 0 0 1 * 18* | 0 | 0 0 1 0 0 1 0 * 19* | 0 | 0 0 1 0 0 1 1 * 20* | 0 | 0 0 1 0 1 0 0 * 21* | 0 | 0 0 1 0 1 0 1 * 22* | 0 | 0 0 1 0 1 1 0 * 23* | 0 | 0 0 1 0 1 1 1 * 24* | 0 | 0 0 1 1 0 0 0 * 25* | 0 | 0 0 1 1 0 0 1 * 26* | 0 | 0 0 1 1 0 1 0 * 27* | 0 | 0 0 1 1 0 1 1 * 28* | 0 | 0 0 1 1 1 0 0 * 29* | 0 | 0 0 1 1 1 0 1 * 30* | 0 | 0 0 1 1 1 1 0 * 31* | 0 | 0 0 1 1 1 1 1 * 32* | 0 | 0 1 0 0 0 0 0 * 33* | 0 | 0 1 0 0 0 0 1 * 34* | 0 | 0 1 0 0 0 1 0 * 35* | 0 | 0 1 0 0 0 1 1 * 36* | 0 | 0 1 0 0 1 0 0 * 37* | 0 | 0 1 0 0 1 0 1 * 38* | 0 | 0 1 0 0 1 1 0 * 39* | 0 | 0 1 0 0 1 1 1 * 40* | 0 | 0 1 0 1 0 0 0 * 41* | 0 | 0 1 0 1 0 0 1 * 42* | 0 | 0 1 0 1 0 1 0 * 43* | 0 | 0 1 0 1 0 1 1 * 44* | 0 | 0 1 0 1 1 0 0 * 45* | 0 | 0 1 0 1 1 0 1 * 46* | 0 | 0 1 0 1 1 1 0 * 47* | 0 | 0 1 0 1 1 1 1 * 48* | 0 | 0 1 1 0 0 0 0 * 49* | 0 | 0 1 1 0 0 0 1 * 50* | 0 | 0 1 1 0 0 1 0 * 51* | 0 | 0 1 1 0 0 1 1 * 52* | 0 | 0 1 1 0 1 0 0 * 53* | 0 | 0 1 1 0 1 0 1 * 54* | 0 | 0 1 1 0 1 1 0 * 55* | 0 | 0 1 1 0 1 1 1 * 56* | 0 | 0 1 1 1 0 0 0 * 57* | 0 | 0 1 1 1 0 0 1 * 58* | 0 | 0 1 1 1 0 1 0 * 59* | 0 | 0 1 1 1 0 1 1 * 60* | 0 | 0 1 1 1 1 0 0 * 61* | 0 | 0 1 1 1 1 0 1 * 62* | 0 | 0 1 1 1 1 1 0 * 63* | 0 | 0 1 1 1 1 1 1 * 64* | 0 | 1 0 0 0 0 0 0 * 65* | 0 | 1 0 0 0 0 0 1 * 66* | 0 | 1 0 0 0 0 1 0 * 67* | 0 | 1 0 0 0 0 1 1 * 68* | 0 | 1 0 0 0 1 0 0 * 69* | 0 | 1 0 0 0 1 0 1 * 70* | 0 | 1 0 0 0 1 1 0 * 71* | 0 | 1 0 0 0 1 1 1 * 72* | 0 | 1 0 0 1 0 0 0 * 73* | 0 | 1 0 0 1 0 0 1 * 74* | 0 | 1 0 0 1 0 1 0 * 75* | 0 | 1 0 0 1 0 1 1 * 76* | 0 | 1 0 0 1 1 0 0 * 77* | 0 | 1 0 0 1 1 0 1 * 78* | 0 | 1 0 0 1 1 1 0 * 79* | 0 | 1 0 0 1 1 1 1 * 80* | 0 | 1 0 1 0 0 0 0 * 81* | 0 | 1 0 1 0 0 0 1 * 82* | 0 | 1 0 1 0 0 1 0 * 83* | 0 | 1 0 1 0 0 1 1 * 84* | 0 | 1 0 1 0 1 0 0 * 85* | 0 | 1 0 1 0 1 0 1 * 86* | 0 | 1 0 1 0 1 1 0 * 87* | 0 | 1 0 1 0 1 1 1 * 88* | 0 | 1 0 1 1 0 0 0 * 89* | 0 | 1 0 1 1 0 0 1 * 90* | 0 | 1 0 1 1 0 1 0 * 91* | 0 | 1 0 1 1 0 1 1 * 92* | 0 | 1 0 1 1 1 0 0 * 93* | 0 | 1 0 1 1 1 0 1 * 94* | 0 | 1 0 1 1 1 1 0 * 95* | 0 | 1 0 1 1 1 1 1 * 96* | 0 | 1 1 0 0 0 0 0 * 97* | 0 | 1 1 0 0 0 0 1 * 98* | 0 | 1 1 0 0 0 1 0 * 99* | 0 | 1 1 0 0 0 1 1 * 100* | 0 | 1 1 0 0 1 0 0 * 101* | 0 | 1 1 0 0 1 0 1 * 102* | 0 | 1 1 0 0 1 1 0 * 103* | 0 | 1 1 0 0 1 1 1 * 104* | 0 | 1 1 0 1 0 0 0 * 105* | 0 | 1 1 0 1 0 0 1 * 106* | 0 | 1 1 0 1 0 1 0 * 107* | 0 | 1 1 0 1 0 1 1 * 108* | 0 | 1 1 0 1 1 0 0 * 109* | 0 | 1 1 0 1 1 0 1 * 110* | 0 | 1 1 0 1 1 1 0 * 111* | 0 | 1 1 0 1 1 1 1 * 112* | 0 | 1 1 1 0 0 0 0 * 113* | 0 | 1 1 1 0 0 0 1 * 114* | 0 | 1 1 1 0 0 1 0 * 115* | 0 | 1 1 1 0 0 1 1 * 116* | 0 | 1 1 1 0 1 0 0 * 117* | 0 | 1 1 1 0 1 0 1 * 118* | 0 | 1 1 1 0 1 1 0 * 119* | 0 | 1 1 1 0 1 1 1 * 120* | 0 | 1 1 1 1 0 0 0 * 121* | 0 | 1 1 1 1 0 0 1 * 122* | 0 | 1 1 1 1 0 1 0 * 123* | 0 | 1 1 1 1 0 1 1 * 124* | 0 | 1 1 1 1 1 0 0 * 125* | 0 | 1 1 1 1 1 0 1 * 126* | 0 | 1 1 1 1 1 1 0 * 127* | 0 | 1 1 1 1 1 1 1 * 128* | 1 | 0 0 0 0 0 0 0 * 129* | 1 | 0 0 0 0 0 0 1 * 130* | 1 | 0 0 0 0 0 1 0 * 131* | 1 | 0 0 0 0 0 1 1 * 132* | 1 | 0 0 0 0 1 0 0 * 133* | 1 | 0 0 0 0 1 0 1 * 134* | 1 | 0 0 0 0 1 1 0 * 135* | 1 | 0 0 0 0 1 1 1 * 136* | 1 | 0 0 0 1 0 0 0 * 137* | 1 | 0 0 0 1 0 0 1 * 138* | 1 | 0 0 0 1 0 1 0 * 139* | 1 | 0 0 0 1 0 1 1 * 140* | 1 | 0 0 0 1 1 0 0 * 141* | 1 | 0 0 0 1 1 0 1 * 142* | 1 | 0 0 0 1 1 1 0 * 143* | 1 | 0 0 0 1 1 1 1 * 144* | 1 | 0 0 1 0 0 0 0 * 145* | 1 | 0 0 1 0 0 0 1 * 146* | 1 | 0 0 1 0 0 1 0 * 147* | 1 | 0 0 1 0 0 1 1 * 148* | 1 | 0 0 1 0 1 0 0 * 149* | 1 | 0 0 1 0 1 0 1 * 150* | 1 | 0 0 1 0 1 1 0 * 151* | 1 | 0 0 1 0 1 1 1 * 152* | 1 | 0 0 1 1 0 0 0 * 153* | 1 | 0 0 1 1 0 0 1 * 154* | 1 | 0 0 1 1 0 1 0 * 155* | 1 | 0 0 1 1 0 1 1 * 156* | 1 | 0 0 1 1 1 0 0 * 157* | 1 | 0 0 1 1 1 0 1 * 158* | 1 | 0 0 1 1 1 1 0 * 159* | 1 | 0 0 1 1 1 1 1 * 160* | 1 | 0 1 0 0 0 0 0 * 161* | 1 | 0 1 0 0 0 0 1 * 162* | 1 | 0 1 0 0 0 1 0 * 163* | 1 | 0 1 0 0 0 1 1 * 164* | 1 | 0 1 0 0 1 0 0 * 165* | 1 | 0 1 0 0 1 0 1 * 166* | 1 | 0 1 0 0 1 1 0 * 167* | 1 | 0 1 0 0 1 1 1 * 168* | 1 | 0 1 0 1 0 0 0 * 169* | 1 | 0 1 0 1 0 0 1 * 170* | 1 | 0 1 0 1 0 1 0 * 171* | 1 | 0 1 0 1 0 1 1 * 172* | 1 | 0 1 0 1 1 0 0 * 173* | 1 | 0 1 0 1 1 0 1 * 174* | 1 | 0 1 0 1 1 1 0 * 175* | 1 | 0 1 0 1 1 1 1 * 176* | 1 | 0 1 1 0 0 0 0 * 177* | 1 | 0 1 1 0 0 0 1 * 178* | 1 | 0 1 1 0 0 1 0 * 179* | 1 | 0 1 1 0 0 1 1 * 180* | 1 | 0 1 1 0 1 0 0 * 181* | 1 | 0 1 1 0 1 0 1 * 182* | 1 | 0 1 1 0 1 1 0 * 183* | 1 | 0 1 1 0 1 1 1 * 184* | 1 | 0 1 1 1 0 0 0 * 185* | 1 | 0 1 1 1 0 0 1 * 186* | 1 | 0 1 1 1 0 1 0 * 187* | 1 | 0 1 1 1 0 1 1 * 188* | 1 | 0 1 1 1 1 0 0 * 189* | 1 | 0 1 1 1 1 0 1 * 190* | 1 | 0 1 1 1 1 1 0 * 191* | 1 | 0 1 1 1 1 1 1 * 192* | 1 | 1 0 0 0 0 0 0 * 193* | 1 | 1 0 0 0 0 0 1 * 194* | 1 | 1 0 0 0 0 1 0 * 195* | 1 | 1 0 0 0 0 1 1 * 196* | 1 | 1 0 0 0 1 0 0 * 197* | 1 | 1 0 0 0 1 0 1 * 198* | 1 | 1 0 0 0 1 1 0 * 199* | 1 | 1 0 0 0 1 1 1 * 200* | 1 | 1 0 0 1 0 0 0 * 201* | 1 | 1 0 0 1 0 0 1 * 202* | 1 | 1 0 0 1 0 1 0 * 203* | 1 | 1 0 0 1 0 1 1 * 204* | 1 | 1 0 0 1 1 0 0 * 205* | 1 | 1 0 0 1 1 0 1 * 206* | 1 | 1 0 0 1 1 1 0 * 207* | 1 | 1 0 0 1 1 1 1 * 208* | 1 | 1 0 1 0 0 0 0 * 209* | 1 | 1 0 1 0 0 0 1 * 210* | 1 | 1 0 1 0 0 1 0 * 211* | 1 | 1 0 1 0 0 1 1 * 212* | 1 | 1 0 1 0 1 0 0 * 213* | 1 | 1 0 1 0 1 0 1 * 214* | 1 | 1 0 1 0 1 1 0 * 215* | 1 | 1 0 1 0 1 1 1 * 216* | 1 | 1 0 1 1 0 0 0 * 217* | 1 | 1 0 1 1 0 0 1 * 218* | 1 | 1 0 1 1 0 1 0 * 219* | 1 | 1 0 1 1 0 1 1 * 220* | 1 | 1 0 1 1 1 0 0 * 221* | 1 | 1 0 1 1 1 0 1 * 222* | 1 | 1 0 1 1 1 1 0 * 223* | 1 | 1 0 1 1 1 1 1 * 224* | 1 | 1 1 0 0 0 0 0 * 225* | 1 | 1 1 0 0 0 0 1 * 226* | 1 | 1 1 0 0 0 1 0 * 227* | 1 | 1 1 0 0 0 1 1 * 228* | 1 | 1 1 0 0 1 0 0 * 229* | 1 | 1 1 0 0 1 0 1 * 230* | 1 | 1 1 0 0 1 1 0 * 231* | 1 | 1 1 0 0 1 1 1 * 232* | 1 | 1 1 0 1 0 0 0 * 233* | 1 | 1 1 0 1 0 0 1 * 234* | 1 | 1 1 0 1 0 1 0 * 235* | 1 | 1 1 0 1 0 1 1 * 236* | 1 | 1 1 0 1 1 0 0 * 237* | 1 | 1 1 0 1 1 0 1 * 238* | 1 | 1 1 0 1 1 1 0 * 239* | 1 | 1 1 0 1 1 1 1 * 240* | 1 | 1 1 1 0 0 0 0 * 241* | 1 | 1 1 1 0 0 0 1 * 242* | 1 | 1 1 1 0 0 1 0 * 243* | 1 | 1 1 1 0 0 1 1 * 244* | 1 | 1 1 1 0 1 0 0 * 245* | 1 | 1 1 1 0 1 0 1 * 246* | 1 | 1 1 1 0 1 1 0 * 247* | 1 | 1 1 1 0 1 1 1 * 248* | 1 | 1 1 1 1 0 0 0 * 249* | 1 | 1 1 1 1 0 0 1 * 250* | 1 | 1 1 1 1 0 1 0 * 251* | 1 | 1 1 1 1 0 1 1 * 252* | 1 | 1 1 1 1 1 0 0 * 253* | 1 | 1 1 1 1 1 0 1 * 254* | 1 | 1 1 1 1 1 1 0 * 255* | 1 | 1 1 1 1 1 1 1 ------+------+------------------------------------------ 9.3 Nameserver-Konfiguration ============================= cat /etc/resolv.conf 9.4 Anzeige erreichbarer WLAN-Netze ==================================== !(T) iwlist scan !(t) 9.5 Netzwerk einrichten ======================== 9.5.1 Einrichtung Client ------------------------- . nis und nfs müssen installiert werden. . in /etc/passwd muss der installierende user gelöscht werden, da sonst die ID-Nummer nicht mit dem Server übereinstimmt . in der fstab muss das neue home-Verzeichnis auf dem Server eingetragen werden: 192.168.0.1:/home /home nfs defaults 0 0 . an die Datei /etc/passwd muss +:::::: angehängt werden . an die Datei /etc/group muss +::: angehängt werden . an die Datei /etc/shadow muss +:::::::: angehängt werden . an die Datei /etc/gshadow muss +::: angehängt werden . wenn kein Nameserver gefunden wird fehlt in der Datei /etc/resolv.conf der Eintrag nameserver 192.178.168.1 9.5.2 /etc/hosts ----------------- In dieser Datei können IP-Adressen die entsprechnenden Rechnernamen zugeordnet werden: 192.168.1.50 Arbeitszimmer.tuxnet Arbeitszimmer Ebenso können Server gesperrt werden: 127.0.0.1 ads.server.com 9.5.3 /etc/network/interfaces ------------------------------ * statische Netzwerkadresse einrichten * # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.1.50 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 * dynamische Netzwerkadresse einrichten * # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet dhcp 9.5.4 dhclient --------------- Startet einen DHCP-Client und somit die Konfiguration eine lokalen Netzwerkkarte durch einen DHCP-Server. dhclient als root ausführen 9.5.5 ifconfig --------------- eigene IP ermitteln: ifconfig IP-Konfiguration: ifconfig ethXX NeueIPAdresse Netzmaske (nur als root). Als ethXX gibt man dabei das Interface an, für das die Änderung durchgeführt werden soll. Meist ist das also eth0. Deaktivieren mit ifconfig eth0 down (siehe auch ifdown) Aktivieren mit ifconfig eth0 up (siehe auch ifup) 9.5.6 ifup ----------- Netzwerkverbindung aufbauen 9.5.7 ifdown ------------- Netzwerkverbindung beenden 9.5.8 route ------------ _ Routing ändern _ route add 192.168.1.1 eth0 9.5.9 DNS-Server ----------------- In der Datei /etc/resolv.conf sind die DNS-Server eingetragen. Freie (ungefilterte) DNS-Server sind: . 85.214.73.63 (anonymisierungsdienst.foebud.org) . 204.152.184.76 (f.6to4-servers.net, ISC, USA) . 2001:4f8:0:2::14 (f.6to4-servers.net, IPv6, ISC) . 194.150.168.168 (dns.as250.net; anycast DNS!) . 213.73.91.35 (dnscache.berlin.ccc.de) . 80.237.196.2 . 194.95.202.198 (Quelle: http://www.ccc.de/censorship/dns-howto/index.xml#how-tos ) 9.5.10 Gerätenamen der Netzwerkschnittstelle ändern ---------------------------------------------------- Die Gerätenamen der Netzwerkschnittstellen können geändert werden. Hierzu benötigt man den Befehl ip aus dem Paket iproute2: ip link set name Typische Namen für Netzwerkschnittstellen: eth0, eth1, eth2, ... 9.6 Netzwerk neu starten ========================= /etc/init.de/networking restart 9.7 rdate ========== Uhrzeit mit Zeitserver synchronisieren rdate -s timeserver _ Deutsche Timeserver _ . ptbtime1.ptb.de . ptbtime2.ptb.de . ntp1.t-online.de . ntp0.fau.de . ntps1-0.cs.tu-berlin.de . ntps1-1.cs.tu-berlin.de . rustime01.rus.uni-stuttgart.de . de.pool.ntp.org 9.8 Prüfen, Analysieren und Informationen ========================================== 9.8.1 ping ----------- ping prüft, ob ein Rechner erreichbar ist ping www.heise.de testet eine Verbindung zu www.heise.de. IP von Heise: 193.99.144.80 IP von Belwue: 129.143.232.10 Abbruch mit 9.8.2 hostname --------------- liefert den Rechnername 9.8.3 host ----------- IP bzw. Name suchen host 62.245.157.216 sucht Domain 9.8.4 dig ---------- IP bzw. Name suchen: dig host.name.com any 9.8.5 curl ----------- curl ifconfig.me/ip IP nach "draußen" 9.8.6 traceroute ----------------- traceroute zeigt den Weg durchs Netz zur angegebenen Adresse. unter Suse gibt es statt traceroute mtr 9.8.7 mtr ---------- mtr zeigt den Weg durchs Netz zur angegebenen Adresse 9.8.8 nslookup --------------- nslookup www.heise.de liest die IP aus DNS-Server aus 9.8.9 nmap ----------- nmap adresse.com führt einen Portscan durch (Achtung: nur bei eigenen Servern machen!) nmap 192.168.178.* listet alle Rechner im heimischen Netzwerk auf 9.8.10 netstat --------------- netstat -at welche Verbindungen sind ins Netz? Ausführlich: netstat -pa oder netstat -tulpan netstat -t -c gibt fortlaufende Meldungen aus. 9.8.11 nethogs --------------- sudo nethogs zeigt an welche Prozesse wie viele Daten übertragen 9.8.12 tcpdump --------------- tcpdump port 80 protokolliert alles, was über den http-Port geht tcpdump host 192.168.0.1 überwacht einen bestimmten Rechner 9.8.13 whois ------------- whois www.heise.de Sucht die Registrierungsdaten einer Domain 9.8.14 MAC-Adressen ermitteln (arp) ------------------------------------ Mit arp lassen sich Rechnernamen und MAC-Adressen ermitteln. ip li | grep ether | awk '{print $2}' ermittelt die MAC-Adresse 9.9 Dateitransfer / Synchronisieren ==================================== 9.9.1 ftp ---------- Zugriff auf einen ftp-Server 9.9.2 ncftp ------------ Hochladen von Dateien: ncftpput -u server -p passwort anmeldename Zielverzeichnis Quelldatei 9.9.3 wget ----------- Spiegelung von Servern . wget -r -p -k lädt rekursiv eine Webseite herunter und konvertiert die Links in lokale Links. . wget -r -p -k -E lädt rekursiv eine Webseite herunter, benennt die Endungen in html um und konvertiert die Links in lokale Links. . wget -r -A pdf lädt alle PDF-Dateien einer Webseite herunter. . wget -r -l2 -np rekusiv, zwei Ebenen wechselt nicht in übergeordnete Ebene . wget -r p -l3 --user-agent="Andererbrowser/6.0" http:// www.irgend-eine-seite.de lädt bis zum 3. Level, getarnt als ein anderer Browser, Webseiten herunter . Linkliste checken: wget -nv --spider --force-html -i .opera/opera6.html (200 bedeutet OK - ohne -nv gibt es ausführliche Infos ) 9.9.4 fish ----------- Login auf einem entfernten Rechner im konqueror: fish://name@rechner 9.9.5 scp ---------- scp user@192.168.1.162:/home/user/datei.tar . kopiert die Datei datei.tar über das Netzwerk auf das lokale Verzeichnis 9.9.6 webdav ------------- WebDAV (Web-based Distributed Authoring and Versioning) ist ein offener Standard zur Bereitstellung von Dateien im Internet. . GMX im Konqueror: webdav: webdav://mediacenter.gmx.net oder in der Konsole: cadaver http://mediacenter.gmx.net . Strato im Konqueror webdav: webdav://webdav.strato.de/ oder in der Konsole: cadaver http://webdav.strato.de/ WebDAV mounten: sudo mount.davfs http://127.0.0.1:2000/X /media/tausch/ 9.9.7 rsync ------------ rsync synchronisiert immer nur in einer Richtung. Für einen gegenseitigen Abgleich müssen also zwei Aufrufe erfolgen: . rsync /verzeichnis1/* /verzeichnis2/ . rsync /verzeichnis2/* /verzeichnis1/ rsync -au /verzeichnis1/* /verzeichnis2/ Synchronisation mit Atttributerhaltung, rekursiv und Update rsync -aeu ssh name@rechner /verzeichnis/ 9.9.8 unison ------------- Synchronisation mit GUI Aufruf: unison [profil] Synchronisation ohne Beachtung der Berechtigungen: unison [profil] -perms 0 9.9.9 sitecopy --------------- Mit sitecopy können Websites mit lokalen Verzeichnissen synchronisiert werden. 1. Installation Zuerst muss die zentrale Konfigurationsdatei ( touch .sitecopyrc; chmod 600 .sitecopyrc ) sowie ein Verzeichnis für den Versions-Tracker ( mkdir -m 700 .sitecopy ) im Home- Verzeichnis angelegt werden. 2. Konfiguration Die Konfigurationsdatei besteht aus einer oder mehreren Sektionen (eine pro Website) mit folgender Syntax: site beispiel ~~~~~~~~~~~~~~~~ # Projektname server ftp.beispielseite.ch ~~ # Der FTP Server für Up- und Downloads username webmaster ~~~~~~~~~~~ # Username für FTP Zugriff password soginet ~~~~~~~~~~~~~ # Passwort für FTP Zugriff local !~/public_html/beispiel/ ~# Lokales Verzeichnis remote !~/html/ ~~~~~~~~~~~~~~~ # Entferntes Verzeichnis (auf dem FTP Server) # "!~/" steht hier für das login Verzeichnis des FTP Servers. site beispiel2 # Projektname einer weiteren Webseite [...] Es gibt noch eine Vielzahl weiterer Optionen, z. B. für den Umgang mit Links, Exclude-/Include-Filter, Proxys, usw. Diese sind auf der manpage (man sitecopy) detailliert beschrieben. 3. Erster Aufruf Es gibt drei mögliche Situationen vor dem ersten Aufruf von Sitecopy; für jede muss individuell vorgegangen werden: . Remote- und lokale Dateien sind synchron. Aufruf von sitecopy --catchup beispiel , um das Programm zu initialisieren. . Keine lokale Kopie vorhanden. Aufruf von sitecopy --synchronize beispiel , um eine lokale Kopie zu erstellen. . Keine Kopie auf dem FTP Server vorhanden. Aufruf von sitecopy --init beispiel . Die lokalen Dateien werden dann beim nächsten Aufruf hochgeladen. 4. Tägliche Benutzung Nachdem das Programm nun betriebsbereit ist, kann es sehr einfach benutzt werden. Ein Aufruf von sitecopy --update beispiel lädt alle modifizierten oder neuen Dateien, inklusive Unterverzeichnissen, auf den FTP und löscht auch alle Dateien, die lokal entfernt wurden. Wenn mehrere Sites in der Konfigurationsdatei definiert sind, können diese mit sitecopy -- update beispiel beispiel2 in einem Rutsch synchronisiert werden. sitecopy -u -a aktualisiert alle Sites, die in der Datei .sitecopyrc stehen. 9.10 Heimnetzwerk über einen Proxy mit Squid und Dansguardian absichern ======================================================================== Anleitung nach http://wiki.ubuntuusers.de/Router und http://wiki.ubuntuusers.de/WLAN_Router Diese Anleitung zeigt, wie man einen Proxy mit WLAN-Router installiert. 1. Debian Serversystem installieren . grafische Oberfläche abwählen . ssh-Server auswählen . sources-list erweitern: deb http://ftp.de.debian.org/debian squeeze main contrib non-free deb http://ftp.de.debian.org/debian squeeze-updates main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free . apt-get update . apt-get upgrade 2. Programme installieren . apt-get install squid dansguardian ssh . apt-get install hostapd dnsmasq 3. die Datei /etc/default/hostapd bearbeiten DAEMON_CONF="/etc/hostapd.conf" RUN_DAEMON=yes 4. Die Datei /etc/hostapd.conf mit folgendem Inhalt erstellen: # Schnittstelle und Treiber interface=wlan0 driver=nl80211 # WLAN-Konfiguration ssid=WLAN_AP-SSID channel=1 # ESSID sichtbar ignore_broadcast_ssid=0 # Ländereinstellungen country_code=DE ieee80211d=1 # Übertragungsmodus hw_mode=g # Optionale Einstellungen # supported_rates=10 20 55 110 60 90 120 180 240 360 480 540 # Draft-N Modus aktivieren / optional nur für entsprechende Karten # ieee80211n=1 # Übertragungsmodus / Bandbreite 40MHz # ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40] # Beacons beacon_int=100 dtim_period=2 # MAC-Authentifizierung macaddr_acl=0 # max. Anzahl der Clients max_num_sta=255 # Größe der Datenpakete/Begrenzung rts_threshold=2347 fragm_threshold=2346 # hostapd Log Einstellungen logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=2 # temporäre Konfigurationsdateien dump_file=/tmp/hostapd.dump ctrl_interface=/var/run/hostapd ctrl_interface_group=0 # Authentifizierungsoptionen auth_algs=3 # wmm-Funktionalität wmm_enabled=0 # Verschlüsselung / hier rein WPA2 wpa=2 rsn_preauth=1 rsn_preauth_interfaces=wlan0 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP # Schlüsselintervalle / Standardkonfiguration wpa_group_rekey=600 wpa_ptk_rekey=600 wpa_gmk_rekey=86400 # Zugangsschlüssel (PSK) / hier in Klartext (ASCII) wpa_passphrase=1234567890abcdefghijklmn 5. Konfiguration der /etc/network/interfaces: # loopback-Interface nicht löschen auto lo iface lo inet loopback # LAN / automatische Konfiguration über DHCP auto eth0 iface eth0 inet dhcp # WLAN mit statischer Konfiguration auto wlan0 iface wlan0 inet static address 192.168.3.1 netmask 255.255.255.0 broadcast 192.168.3.255 # vorhandene Regeln und Ketten zuerst löschen (Restart-Funktionalität) up /sbin/iptables -F up /sbin/iptables -X up /sbin/iptables -t nat -F # Maskieren der LAN-Schnittstelle, Port-Forwarding & Nat aktivieren up iptables -A FORWARD -o eth0 -i wlan0 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT up iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE up sysctl -w net.ipv4.ip_forward=1 # hostapd und dnsmasq neu starten up /etc/init.d/hostapd restart up /etc/init.d/dnsmasq restart 6. Die Datei /etc/dnsmasq.conf mit folgendem Inhalt erstellen. # DHCP-Server aktiv für Interface interface=wlan0 # DHCP-Server nicht aktiv für Interface no-dhcp-interface=eth0 # IP-Adressbereich / Lease-Time dhcp-range=interface:wlan0,192.168.3.20,192.168.3.200,infinite 7. Squid einrichten . Konfiguration des Squid: /etc/squid/squid.conf - aktivieren der Apache log emulation (zur Zugriffs Überwachung): emulate httpd log on - setze den Hostnamen: visible hostname localhost - ändere die Zeile http port 3128 folgendermaßen: http port 3128 transparent . Konfiguration des Dansguardian: /etc/dansguardian/dansguardian.conf UNCONFIGURED auskommentieren: # UNCONFIGURED . In der Datei: /etc/dansguardian/dansguardianf1.conf setze naughtynesslimit = 130 . Erstelle die Datei /etc/init.d/transparentproxy , die folgende Zeile enthält: iptables -t nat -A PREROUTING -i wlan0 -p tcp -dport 80 -j -to-port 8080 . mache die Datei ausführbar mit chmod a+x /etc/init.d/transparentproxy . erstelle startup Links: update-rc.d transparentproxy defaults 8. reboot 9.11 NFS ========= 9.11.1 NFS-Server ------------------ * /etc/hosts * 127.0.0.1 localhost 127.0.1.1 Arbeitszimmer.TuxNet Arbeitszimmer 192.168.1.51 Laptop.TuxNet Laptop * /etc/exports * # Der Ordner /exportdir wird mit den Schreibrechten (rw) synchron exportiert. # Der Rechner Laptop kann darauf zugreifen. /exportdir Laptop(rw,sync) # Der Ordner /exportdir wird mit den Schreibrechten (rw) synchron exportiert. # Der Rechner Laptop kann darauf zugreifen. # Es werden stets die Rechte des User mit der UID 1001 und der GID 100 vergeben. /exportdir Laptop(rw,sync,all_squash,anonuid=1001,anongid=100,no_subtree_check) Es können auch IP-Bereiche definiert werden. Siehe hierzu das Kapitel IP-Adressen. * Server neu starten * /etc/init.d/nfs-common restart /etc/init.d/nfs-kernel-server restart * exportierte Verzeichnisse kontrollieren * Die exportiereten Verzeichznisse können mit showmount -e kontrolliert werden. 9.11.2 NFS-Client ------------------ * /etc/hosts * 127.0.0.1 localhost 127.0.1.1 laptop.TuxNet laptop 192.168.1.50 Arbeitszimmer.TuxNet arbeitszimmer * /etc/fstab * (Beispiele) Arbeitszimmer:/home/petri/Documents /home/arbeitszimmer nfs user,noauto,rw 0 0 192.168.1.2:/data/ /mnt/nfs/data nfs _netdev,noauto,user 0 0 Erklärung der Mountparameter: . _netdev: das Dateisystem wird erst eingebunden, sobald eine Netzwerkverbindung steht . user: auch normale Benutzer können das Dateisystem einhängen . noauto: das Dateisystem wird nicht automatisch eingebunden (wichtig, da ansonsten der Rechner beim booten ewig hängt, sofern die NFS-Freigabe nicht vorhanden ist . rw: das Dateisystem wird schreibbar eingehängt Die fstab mit mount -a neu einlesen. Unter Xfce werden die Freigaben bim Login automatisch eingebunden, wenn folgende Datei erstellt wird: /.config/autostart/mountnfs.desktop [Desktop Entry] Encoding=UTF-8 Name=NFS-Laufwerk einbinden Exec=mount /mount-pfad-aus-fstab Terminal=false 9.11.3 showmount ----------------- Der Befehl showmount zeigt alle NFS-Netzwerkfreigaben an. * Anzeige der Freigaben * showmount -e * Anzeige der gemounteten Freigaben * showmount 9.11.4 NFS von Hand starten ---------------------------- _ Vorraussetzungen bei NFS von Hand: _ Die Datei /etc/exports wurde bereits editiert und die zu exportierenden Verzeichnisse freigegeben. Portmapper starten /etc/init.d/portmap start Nun den Mount-Daemon starten. Nun werden die exportierten Verzeichnisse ("shares") für die anderen sichtbar. rpc.mountd Starten des NFS-Daemon für den eigentlichen Filezugriff rpc.nfsd Mit rpcinfo kann jederzeit die Verfügbarekit der NFS-Dienste überprüft werden: rpcinfo -p server 9.12 ssh ========= Login auf einem entfernten Rechner: ssh -l oder ssh name@rechner ssh -X user@rechner mit X-Oberfläche einloggen ssh -XC user@rechner mit X-Oberfläche und Kompression einloggen ssh user@rechner -X startet ein Programm auf dem entfernten Rechner und leitet die X-Ausgabe auf den lokalen Rechner um. Wenn der gespeicherte Fingerabdruck des anzumeldenden Rechners nicht mehr stimmt (neue Hardware oder Neuinstallation) muss die Datei known_hosts bearbeitet werden und der betreffende Rechner gelöscht werden. 9.12.1 openssh konfigurieren ----------------------------- Zur Konfiguration von openssh gibt es folgende Dateien: . /home/user/.ssh/config Konfigurationsdatei des ssh-Clients für den entsprechenden User. . /etc/ssh/ssh_config Konfigurationsdatei des ssh-Clients für alle User. . /etc/ssh/sshd_config globale Konfigurationsdatei des ssh-Servers _ Server _ /etc/ssh/sshd_config anpassen /etc/init.d/ssh restart Öffentlicher Teil des User-Keyfile (siehe Client einrichten) hinzufügen: cat id_dsa.pub >> ~/.ssh/authorized_keys Die Datei "authorized_keys" muss die Dateirechte 600 haben!) _ Client _ /etc/ssh/ssh_config anpassen /home/user/.ssh/config anpassen Keypaar (id_rsa und id_rsa.pub) mit ssh-keygen -b 2048 -t rsa generieren und öffentlichen Key id_rsa.pub auf den Server kopieren und dort der authorized_keys hinzufügen (s.o.) * Achtung: * Der Login über Publickey ist nur möglich, wenn das Home- Verzeichnis des Users die Rechte 700 hat! 9.12.1.1 config /home/user/.ssh/config # Bezeichnung des Zielrechners Host Zielrechner # Zielrechner Hostname 192.168.1.50 # Username auf Zielrechner User petri # immer eine X11-Verbindung aufbauen ForwardX11 yes # Kompression aktivieren Compression yes # Port für Verbindung Port 22 9.12.1.2 ssh_config /etc/ssh/ssh_config # This is the ssh client system-wide configuration file. See # ssh_config(5) for more information. This file provides defaults for # users, and the values can be changed in per-user configuration files # or on the command line. # Configuration data is parsed as follows: # 1. command line options # 2. user-specific file # 3. system-wide file # Any configuration value is only changed the first time it is set. # Thus, host-specific definitions should be at the beginning of the # configuration file, and defaults at the end. # Site-wide defaults for some commonly used options. For a comprehensive # list of available options, their meanings and defaults, please see the # ssh_config(5) man page. Host * # ForwardAgent no # ForwardX11 no # ForwardX11Trusted yes # RhostsRSAAuthentication no # RSAAuthentication yes # PasswordAuthentication yes # HostbasedAuthentication no # BatchMode no # CheckHostIP yes # AddressFamily any # ConnectTimeout 0 # StrictHostKeyChecking ask # IdentityFile ~/.ssh/identity # IdentityFile ~/.ssh/id_rsa # IdentityFile ~/.ssh/id_dsa # Port 22 # Protocol 2,1 # Cipher 3des # Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc # EscapeChar ~ # Tunnel no # TunnelDevice any:any # PermitLocalCommand no SendEnv LANG LC_* HashKnownHosts yes GSSAPIAuthentication yes GSSAPIDelegateCredentials no 9.12.1.3 sshd_config /etc/ssh/sshd_config # Package generated configuration file # See the sshd(8) manpage for details # What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 768 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords PasswordAuthentication no # Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Allow client to pass locale environment variables AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes #ForceCommand ssh-login 9.13 dyndns ============ Zuordnung eines Domainnamens an eine dynamische IP-Adresse. Anmeldung bei: http://www.dyndns.com /etc/init.d/ddclient startet den Dyndns- Client 9.14 Fernwartung ================= Um auf einen entfernten PC zuzugreifen, der hinter einer Firewall (Router) sitzt, verwendet man am besten "Reverse-VNC". Das bedeutet, dass der Hilfesuchende einen VNC-Server startet und man selbst per Client und Portforwarding im eigenen Router auf den Rechner zugreift. Das ganze geht so: Der Hilfesuchende muss einen VNC-Server starten. Dies geht unter Windows/Mac am besten mit einem kleinen Programm, das man sich unter http://www.heise.de/netze/tools/fernwartung erzeugen lassen kann. Es ist dazu notwendig am eigenen Router eine dyndns-Adresse zu haben. Als Port gibt man am besten 55000 an. Unter Linux genügt es, wenn der Hilfesuchende mit sudo apt-get install x11vnc den VNC-Server installiert und dann mit x11vnc -connect dyndns.example.com:55000 startet. Selbst startet man den Viewer mit vncviewer -listen 49500 (Die Zahl 49500 ergibt sich aus der Differenz von 55000 und 5500, was die Voreinstellung ist.) in der Konsole. Will man auf einen Windows/ Mac-Rechner zugreifen, muss man unter http://www.realvnc.com/cgi- bin/download.cgi oder hier RealVNC herunterladen, ausführbar machen und dann mit ./vnc- E4_5-x86_linux_viewer -listen 55000 -Protocol3.3 starten. Es ist wichtig, dass man zuerst bei sich im Router Portforwarding für Port 55000 anschaltet und dann erst der Server beim Hilfesuchenden gestartet wird. Außerdem sollte man für Windows/Mac das Serverprogramm von heise.de nicht per E-Mail verschicken, sondern zum Download anbieten, da es meist als Virus erkannt und vom E-Mail-Provider gelöscht wird. Hier nun das Ganze noch einmal schrittweise: 1. Zugriff auf Windows/Mac (a) Der Helfer muss eine feste IP oder einen dyndns-Adresse und diese im Router eingetragen haben. (b) Der Helfer startet in seinem Router Portforwarding für Port 55000. (c) Der Helfer startet den VNC-Viewer mit ./vnc-E4_5- x86_linux_viewer -listen 55000 -Protocol3.3 Das Programm kann hier heruntergeladen werden. (d) Dem Hilfesuchenden lässt man das Programm zur Fernwartung, das man sich unter http://www.heise.de/netze/tools/fernwartung erzeugen lassen kann, zukommen und der Hilfesuchende startet das Programm. Schon hat man Zugriff auf den PC. 2. Zugriff auf Linux (a) Der Helfer muss eine feste IP oder einen dyndns-Adresse und diese im Router eingetragen haben. (b) Der Helfer startet in seinem Router Portforwarding für Port 55000. (c) Der Helfer startet den VNC-Viewer mit vncviewer -listen 49500 (evtl. muss hierzu das Paket xtightvncviewer installiert werden) (d) Der Hilfesuchende startet in der Konsole das Fernwartungsprogramm mit x11vnc -connect adresse.dyndns.org:55000 . Evtl. muss das Paket x11vnc installiert werden. 9.15 nis ========= /etc/init.d/nis restart startet den NIS neu (nach Anlegen von neuen Usern) 9.15.1 nisdomainname --------------------- nisdomainname zeigt den Domainnamen an 9.16 samba =========== /etc/init.d/samba restart startet den Samba-Server neu Alle Einstellungen befinden sich in /etc/samba/ 9.16.1 Benutzer anlegen ------------------------ smbpasswd -a legt Benutzer an smbpasswd -x löscht den User in Samba 9.16.2 /etc/samba/smbusers --------------------------- Weist den Linux-Benutzern Alias-Namen zu, die für den Login verwendet werden können: Petri = Winuser meldet den Windows-User "Winuser" als Linux-User "Petri" an. 9.16.3 /etc/samba/smb.conf --------------------------- [global] workgroup = tuxnet printcap cache time = 750 cups options = raw printer admin = @ntadmin, root, administrator username map = /etc/samba/smbusers map to guest = Bad User include = /etc/samba/dhcp.conf logon path = \\%L\profiles\.msprofile logon home = \\%L\%U\.9xprofile logon drive = P: restrict anonymous = yes domain master = yes preferred master = yes max protocol = NT ldap ssl = No server signing = Auto ldap idmap suffix = ou=Idmap ldap machine suffix = ou=Computers ldap suffix = dc=example,dc=com printer name = hplaserjet5l hosts allow = 192.168. add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$ domain logons = yes os level = 65 security = user encrypt passwords = yes passdb backend = smbpasswd [documents] comment = /home/petri/Documents path = /home/petri/Documents read only = no inherit acls = yes veto files = /aquota.user/groups/shares/ valid users = petri guest ok = no [ext] comment = /home/ext path = /home/ext read only = no inherit acls = yes veto files = /aquota.user/groups/shares/ valid users = petri guest ok = no [pdf] comment = PDF creator path = /var/tmp printable = yes print command = /usr/bin/smbprngenpdf -J '%J' -c %c -s %s -u '%u' -z %z create mask = 0600 [printers] comment = All Printers path = /var/tmp printable = yes create mask = 0600 9.16.4 Windows-Freigabe mounten -------------------------------- * von Hand * Paket "samba-client" installieren mkdir mount -t smbfs -o username=,password=,gid=users,fmask=0664,dmask=0775 //// * automatisch beim Start * Zeile in /etc/fstab einfügen: /// / smbfs auto,gid=users,fmask=0664,dmask=0775, // iocharset=iso8859-15,code=850,credentials=/etc/ 0 0 /etc/: username = password = chmod 600 /etc/ * Windows-Freigabe mounten per GUI (Samba, LISa) * Pakete "kdenetwork3-lisa", "kdenetwork3-lan", "kdebase3-samba", "samba-client" installieren Kontrollzentrum/Internet & Netzwerk/Netzwerk-Browser starten Windows-Ressourcen und LISa-Dämon konfigurieren su rclisa start insserv lisa 9.17 sendemail =============== Kommandozeilenprogramm um E-Mails zu versenden: sendEmail -f absender@anbieter.de -t empfaenger -u Betreff -o message-file=Mailtextdatei -s mailserver -xu anmeldename -xp passwort 9.18 TightVNC ============== apt-get install tightvncserver xtightvncviewer _ Server _ einen VNC-Server auf Display 5 starten: vncserver :5 beim ersten Start (des jew. Users) wird ein Passwort für den Login gesetzt einen VNC-Server auf Display 5 beenden: vncserver -kill :5 _ Client _ Mit einem VNC-Server auf Display 5 (mit hoher Kompression) verbinden: vncviewer -bgr233 -compresslevel 9 -depth 8 -quality 0 server.domain:5 9.19 Dropbox ============= Dropbox bietet einen kostenlosen Cloud-Speicher von 2 GB an http://www.dropbox.com/. Damit die dort gespeicherten Daten auch wirklich sicher sind, gibt es unter Linux die einfache Möglichkeit die Dateien über encfs zu verschlüsseln: . Im Dropbox-Ordner mit encfs einen verschlüsselten Ordner anlegen: - Ordner für verschlüsselte Daten im Dropbox-Verzeichnis anlegen: mkdir /home/user/Dokumente/Dropbox/privat_enc - Ordner für unverschlüsselte Daten außerhalb von Dropboc anlegen: mkdir /home/user/Dokumente/privat_dec - Verschlüsseltes Verzeichnis erstmals verschlüsseln: encfs /home/user/Dokumente/Dropbox/privat_enc /home/user/Dokumente/privat_dec Enter drücken (Standard) Kennwort eingeben, bestätigen . Dieser Ordner kann nun beim Start der grafischen Oberfläche über ein Skript automatisch gemountet werden: Entweder mit folgendem Einzeiler: echo "Passwort" | encfs -S /home/user/Dokumente/Dropbox/privat_enc /home/user/Dokumente/privat_dec oder mit diesem Script: #! /bin/bash src=~/Oeffentlich/Dropbox/.Dokumente_encfs dest=~/.crypt/Dropbox_Dokumente [ -d "$dest" ] || mkdir "$dest" encfs --extpass='cat ~/.crypt/encfspasswd' "$src" "$dest" Hierbei muss beachtet werden, dass der Zielordner dest (also der Ordner mit den entschlüsselten Daten) * auf keinen Fall * im Dropbox-Ordner liegen darf, da sonst die Daten unverschlüsselt an Dropbox übertragen werden! Nachteil des automatischen Einbindens ist, dass das Passwort für den Dropbox-Zugang unverschlüsselt in der Datei encfspasswd vorliegen muss. Daher sollte sich diese Datei wiederum auf einem verschlüsselten Laufwerk liegen. . Weitere Möglichkeiten der Einbindung mit Passworteingabe: - Skript mit einer Passwortabfrage z. B. über kdialog eingesetzen. - Der Einsatz des Programms cryptkeeper (Auch hierbei aufpassen, dass der Ordner mit den entschlüsselten Daten auf keinen Fall im Dropbox-Ordner liegen darf! ====================================================================== Kapitel 10 System ====================================================================== 10.1 Runlevel ============== 0 abschalten 1 root 2 Multiuser 3 Netzwerk 4 - 5 Grafische Oberfläche 6 reboot 10.1.1 shutdown ---------------- shutdown -h -t 10 now fährt den Rechner in 10 Minuten herunter shutdown -hP 23:00 Achtung!!! fährt den Rechner um 23.00 Uhr mit einer Meldung herunter 10.1.2 reboot -------------- Neustart des Computers 10.1.3 poweroff ---------------- Schaltet den Rechner aus 10.1.4 halt ------------ Alle Prozesse beenden. 10.1.5 init ------------ in einen Runlevel wechseln: init 5 0 abschalten 1 root 2 Multiuser 3 Netzwerk 4 - 5 Grafische Oberfläche 6 reboot 10.2 X-Server ============== . X-Server starten: /etc/init.d/kdm start . X-Server stoppen: /etc/init.d/kdm stop . X-Server neu starten: /etc/init.d/kdm restart Wird anstatt KDM (KDE-Display Manager) GDM (Gnome-Display-Manager) verwendet, so muss "kdm" durch "gdm" ersetzt werden. 10.2.1 startx -------------- eine weitere grafische Oberfläche starten: startx -- :1 10.2.2 Verbindung zum X-Server für root erlauben ------------------------------------------------- Root darf normaler weise nicht auf die X-Oberflächen zugreifen. Um dies zu ändern sind folgende Schritte nötig: . Der User, dem die X-Session gehört muss root für Zugriffe vom gleichen Rechner aus freischlaten: - temporär: xhost local:root eingeben - permanent: export XAUTHORITY=/home/petri/.Xauthority in die Datei "/root/.bashrc" oder "/etc/profile" eintragen. - root kann sich die X-Authority auch holen: xauth -f /root/.Xauthority merge /home/petri/.Xauthority . Als root die Variable Display setzen: export DISPLAY=:0.0 10.2.3 X-Display umleiten -------------------------- Arbeiten an einem Terminal (alter PC) Terminal: altpc$ xhost +neuerpc neuerpc ist entweder dessen Name oder IP des neuen PCs; wenn 192.168.5.2 die IP des neuen PCs ist, geben wir ein: altpc$ xhost +192.168.5.2 Dieser Befehl weist den Xserver auf alterpc an, auch Anforderungen von neuerpc zu bearbeiten.(Da es sich hier um eine potentielle Sicherheitslücke handelt, sollte der Befehl nach Abbruch der Verbindung wieder rückgängig gemacht werden - mit xhost - wird der Xserver angewiesen, keine externen Anforderungen mehr anzunehmen). Nun loggt man sich über ssh auf dem anderen Rechner ein: altpc$ ssh user@neuerpc Nachdem der Passworteingabe gibt man auf der Konsole von neuerpc diesen Befehl ein: neuerpc$ export DISPLAY=192.168.5.1:0.0 Statt 192.168.5.1 gibt man natürlich die IP des alten PCs ein. Damit hat man dem neuen PC mitgeteilt, dass er Ausgaben an den alten PC schicken soll. Start von z.B. OpenOffice: neuerpc$ soffice Sollte es wider Erwarten nicht funktionieren, kann es daran liegen, dass auf dem Xserver die Displayumleitung aus Sicherheitsgründen defaultmäßig gesperrt ist. Diese Sperre kann man ausser Kraft setzen, wenn man X wie folgt startet: alterpc$ startx -listen_tcp 10.2.4 xrandr -------------- xrandr gibt alle möglichen Bildschirmauflösungen aus Umstellen der Bildschirmauflösung: xrandr -s 4 (640x480 Pixel) xrandr -s 0 (original) 10.2.5 X Error: BadDevice, invalid or uninitialized input device ----------------------------------------------------------------- Folgende Fehlermeldung der Konsole beim Start von Programmen: X Error: BadDevice, invalid or uninitialized input device 168 Major opcode: 148 Minor opcode: 3 Resource id: 0x0 Failed to open device X Error: BadDevice, invalid or uninitialized input device 168 Major opcode: 148 Minor opcode: 3 Resource id: 0x0 Failed to open device wird behoben durch Modifikation der xorg.conf in /etc/X11: Die nachstehenden Zeilen müssen wie angegeben auskommentiert werden (zur Sicherheit bitte immer eine Kopie der xorg.conf anlegen): # Section "InputDevice" # Driver "wacom" # Identifier "stylus" # Option "Device" "/dev/wacom" # Change to # # /dev/input/event # # for USB # Option "Type" "stylus" # Option "ForceDevice" "ISDV4" # Tablet PC ONLY #EndSection #Section "InputDevice" # Driver "wacom" # Identifier "eraser" # Option "Device" "/dev/wacom" # Change to # # /dev/input/event # # for USB # Option "Type" "eraser" # Option "ForceDevice" "ISDV4" # Tablet PC ONLY #EndSection #Section "InputDevice" # Driver "wacom" # Identifier "cursor" # Option "Device" "/dev/wacom" # Change to # # /dev/input/event # # for USB # Option "Type" "cursor" # Option "ForceDevice" "ISDV4" # Tablet PC ONLY #EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" # InputDevice "stylus" "SendCoreEvents" # InputDevice "cursor" "SendCoreEvents" # InputDevice "eraser" "SendCoreEvents" EndSection 10.2.6 Einstellungen für ViaChrome Grafikchips ----------------------------------------------- Die ViaChrome Grafikchips werden nur sehr schlecht unterstützt. Mit nachfolgender xorg.conf bekommt man unter ubuntu ein sinnvolles Bild zustande: Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "de" Option "XkbVariant" "nodeadkeys" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" EndSection Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizEdgeScroll" "0" EndSection Section "Device" Identifier "Via Chrome9 HC IGP" Driver "vesa" BusID "PCI:1:0:0" VideoRam 128 Option "UseFBDev" "true" EndSection Section "Monitor" Identifier "Generic Monitor" Option "DPMS" HorizSync 28-64 VertRefresh 43-60 EndSection Section "Screen" Identifier "Default Screen" Device "Via Chrome9 HC IGP" Monitor "Generic Monitor" DefaultDepth 24 SubSection "Display" Depth 1 Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 4 Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 15 Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Synaptics Touchpad" EndSection Section "DRI" Mode 0666 EndSection 10.3 Tastaturlayout ==================== Mit setxkbmap -layout de lässt sich das Tastaturlayout vorübergehend auch deutsch umstellen Mit dem Befehl xmodmap -e "clear Lock" lässt sich die CAPS-Lock- Taste abschalten (verübergehend) Für Systeme ohne grafische Oberfläche geht dies mit loadkeys de 10.4 Systeminformationen ========================= 10.4.1 uptime -------------- gibt die Zeit an seit der das System angeschaltet ist 10.4.2 procinfo ---------------- Systeminformationen: . Kernel . Prozessoren . Rechnername . Speicherauslastung . Systemzeiten . IRQs 10.4.3 uname ------------- Systeminformationen uname -a Kernel-Version uname -r 10.4.4 dmesg ------------- Ausgabe der Systemmeldungen dmesg | less Meldungen zur Netzwerkkarte: dmesg | grep eth 10.5 Hardware ============== 10.5.1 Hardwareinformationen ----------------------------- 10.5.1.1 hwinfo Hardwareinformationen (nur als root) z.B. hwinfo --cpu Schalter: all, bios, block, bluetooth, braille, bridge, camera, cdrom, chipcard, cpu, disk, dsl, dvb, floppy, framebuffer, gfxcard, hub, ide, isapnp, isdn, joystick, keyboard, memory, modem, monitor, mouse, netcard, network, partition, pci, pcmcia, pcmcia-ctrl, pppoe, printer, scanner, scsi, smp, sound, storage-ctrl, sys, tape, tv, usb, usb-ctrl, vbe, wlan, zip hwinfo --short gibt eine Kurzübersicht aus 10.5.1.2 lshw sudo lshw -html > ~/System.html ergibt ausführliche Hardwareinformationen als HTML-Seite 10.5.1.3 PC-Informationen sudo dmidecode -s system-manufacturer #Hersteller sudo dmidecode -s system-product-name #Produkt sudo dmidecode -s system-version #Version sudo dmidecode | grep -A3 'BIOS Information' Modell, Hersteller und BIOS Version¶ 10.5.1.4 OpenGL glxinfo | grep 'OpenGL version string' Unter Umständen muss vorher das Paket mesa-utils installiert werden. 10.5.1.5 Geladene Kernelmodule lsmod 10.5.1.6 lspci PCI-Geräte anzeigen lspci -vvv gibt ganz genaue Infos aus 10.5.1.7 lshw Gibt Informationen über die Hardware aus. 10.5.1.8 lsusb USB-Geräte anzeigen lsusb -vvv gibt ganz genaue Infos aus 10.5.1.9 cpuinfo cat /proc/cpuinfo sudo dmidecode | sed -n '/^Processor Information/,/^$/p' 10.5.1.10 meminfo cat /proc/meminfo gibt Informationen über den Speicher aus 10.5.1.11 dmidecode Mit sudo dmidecode -type 17 bekommt man genaue Informationen über den eingesetzten Speicher. 10.5.1.12 free Wie viel RAM ist frei? free -s1 -m -s1 aktualisiert pro Sekunde; -m gibt Megabyte an 10.5.1.13 lsb_release lsb_release -a gibt Informationen über das installierte Linuxsystem aus 10.5.2 USB (UDEV) konfigurieren -------------------------------- * Erstellen von UDEV-Regeln * Für jedes USB-Gerät kann in "/etc/udev/rules.d" (linux Mint: "/lib/udev/rules.d") eine Regel definiert werden, wie dieses Gerät zu behandeln ist. Die Dateien werden in lexikalischer Reihenfolge abgearbeitet, weshalb die selber erstellten Regeln am Ende eingefügt werden sollten (z.B. z98_xxxxxxx.rules). Zunächst muss definiert werden, anhand welcher (bis zu fünf) SYSFS-Eigenschaften das Gerät identifiziert werden soll. Diese Informationen erhält man z. B. mit folgenden Programmen (meist als Root auszuführen): . lsusb . lsusb -v . udevinfo -a -p /block/sda (für Informationen zu /dev/sda) Die wichtigsten eigenschaften sind: . idVendor . idProduct . serial Somit kann z. B. definiert werden, dass die Regel nur für die Hardware mit einer bestimmten Seriennummer oder auch für alle Komponenten eines Herstellers verwendet wird. * Aufbau einer Regel * . BUS=="usb" definiert, dass es sich um ein USB-Gerät handelt . Die Hardare kann mit bis zu fünf SYSFS{}-Abfragen identifiziert werden. . NAME definiert den Namen, den später die Gerätedatei in /dev bekommt. Der Zähler für die Unterdevices (z. B. Partitionen) wird mit %n angegeben. SYMLINK anstatt NAME generiert einen Link auf den tatsächlichen Namen des Gerätes (wenn z.B. Programme standardmäßig /dev/sda suchen) . OWNER, GROUP definieren den Benutzer und die Gruppe der Gerätedatei . MODE definiert die Dateirechte der Gerätedatei . RUN+ startet ein Skript, sobald die Hardware erkannt wurde Hier ein Beispiel für eine Regel zur Einbindung einer USB-Festplatte mit automatischem Start eines Backup-Skriptes: BUS=="usb",SYSFS{idVendor}=="0c0b",SYSFS{idProduct}=="b136",SYSFS{serial}=="00000000000DFABBW", NAME="TrekStor_HD-Drive%n",OWNER="petri",GROUP="backup",MODE="660",RUN+="/home/petri/bin/TrekstorHD-backup" Eine ausführliche Anleitung gibt es hier: http://wiki.ubuntuusers.de/udev 10.5.2.1 Installation Brother-Multifunktionsgeräte (Ubuntu) siehe auch http://wiki.ubuntu-forum.de/index.php/Brother_DCP-340CW . csh installieren . lpr-Treiber installieren . cups-wrapper-Treiber installieren _ Falls ein integrierter Scanner installiert werden soll _ (siehe hierzu auch USB-Scanner): . Scanner-Treiber installieren . fstab abpassen: none /proc/bus/usb usbfs auto,devmode=0666 0 0 . USB-Bus neu starten: sudo umount /proc/bus/usb sudo mount /proc/bus/usb mknod -m 666 /dev/usbscanner c 180 48 . UDEV-Regel erstellen: sudo vim /etc/udev/rules.d/10-local.rules SUBSYSTEM!="usb_device", ACTION!="add", GOTO="_end" #for brother SYSFS{idVendor}=="04f9", MODE="666", GROUP="scanner" LABEL=" end" . UDEV-System neu starten: sudo /etc/init.d/udev restart Drucker von Hand einer PPD-Datei zuweisen -> siehe lpadmin 10.5.2.2 USB-Scanner im Ordner /etc/udev/rules.d/ eine Datei (z. B. z80_brother.rules) erstellen und folgende Zeile hinzufügen: BUS=="usb", SYSFS{idVendor}=="04f9", GROUP="scanner", MODE="660" Alle User, die auf den Scanner zugreifen sollen, müssen der Gruppe "scanner" hinzugefügt werden. Achtung: Bei Multifunktionsgeräten auch der User "lpr", damit der Drucker funktioniert. 10.5.2.3 Garmin-GPS-Gerät To keep the OS from loading the (frequently dysfunctional) kernel garmin_gps module, edit /etc/modprobe.d/blacklist and add the lines # stop garmin_gps serial from loading for USB garmin devices blacklist garmin_gps To allow the USB devices to be read and written by a non-priveleged user, create a named /etc/udev/rules.d/51-garmin.rules with the following contents # allow Garmin USB devices read and written by a non-privileged users SUBSYSTEM!="usb", GOTO="garmin_rules_end" ACTION!="add", GOTO="garmin_rules_end" ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", MODE="0660", GROUP="plugdev" LABEL="garmin_rules_end" Alle Benutzer, die auf das Gerät zugreifen wollen, müssen der Gruppe plugdev zugeordnet werden. 10.5.3 Festplatte ------------------ 10.5.3.1 hdparm hdparm /dev/hda gibt aus, in welchem Modus die Platte am ersten Controller läuft hdparm -d1 /dev/hda aktiviert den DMA-Modus hdparm -Tt /dev/hda testet die Geschwindigkeit des Laufwerks 10.5.3.2 tune2fs Dateisystemparameter von ext2/ext3-Dateisystemen editieren. * Nach Änderungen am Dateisystem muss stets e2fsck -f aufgerufen* *werden! * . tune2fs -j aktiviert auf einem ext2-Dateisystem ein Journal (wie vom ext3-Dateisystem her bekannt) und macht somit aus dem ext2-Dateisystem praktisch ein ext3-Dateisystem. . tune2fs -c 100 -i 180 setzt das Intervall, in dem das Dateisystem überprüft wird (sofern in der fstab aktiviert). -c 100 bedeutet nach 100 Mount-Vorgängen und -i 180 nach einem halben Jahr. Die Standardeinstellungen sind nämlich für Rechner, die oft neu gestartet werden, viel zu eng ausgelegt. . tune2fs -o acl Bestimmt Mountoptionen die immer verwendet werden (auch wenn dies bein Mounten anders angegeben wird). -o acl sorgt z.B. dafür, dass das Dateisystem immer mit Unterstützung der Access Control List gemountet wird. . tune2fs -L setzt den Namen des Dateisystems auf . Dieser kann z.B. in der fstab verwendet werden. . tune2fs -l /dev/xxx zeigt die im Superblock gespeicherten Einstellungen des Dateisystems xxx an. . tune2fs -O dir_index speichert Dateinamen eines Verzeichnisses in einer Baumstruktur ab und beschleunigt somit die Performence auf großen Laufwerken deutlich. Anschließend kann die bestehende Dateistruktur mit e2fsck -fD auf dir_index umgestellt werden. Andernfalls wirkt sich die Option nur auf neue Dateien aus. 10.5.3.3 e2fsck ext2/ext3-Dateisysteme überprüfen . e2fsck -f /dev/xxx erzwingt einen Dateisystemtest auf dem Dateisystem /dev/xxx . e2fsck -b Falls der Superblock defekt ist, kann der Ersatz-Superblock im Block verwendet werden. Diese kann mit mke2fs -n ermittelt werden. . e2fsck -fD /dev/xxx stellt bereits existierende Dateien auf dir_index um. Zuvor muss diese Option mit tune2fs aktiviert werden. Weiterhin werden beim Aufruf dieser Option ungültige Einträge aus den Verzeichnisdateien gelöscht (die Namen gelöschter Dateien bleiben dort nämlich gespeichert) und die Baumstruktur der Dateinamen wird neu aufgebaut. Dies bringt deutliche Geschwindigkeitsvorteile bei Verzeichnisoperationen. 10.5.3.4 mke2fs ext2/ext3-Dateisysteme erstellen (mke2fs muss bei Datenrettungsversuchen stets mit den selben Parametern wie bei der Erstellung des Dateisystems aufgerufen werden - defaultmäßig werden Partitionen jedoch ohne zusätzliche Parameter formatiert). . mke2fs -n ermittelt die Blocknummern der Superblöcke. . mke2fs -S * - wenn keine Dateien auf der Festplatte mehr* * gefunden werden - * schreibt die Superblöcke und die Blockgruppendeskriptoren neu, Directories, Inode- und Bitmap- Tabellen bleiben erhalten. Ein anschlißender e2fsck-Lauf kann unter Umständen dann alle Dateien wieder herstellen. Wenn dies nicht mehr funktioniert, dann können die Dateien nur noch einzeln von Hand mit einem Low-level-Datenrettungstool (z.B. dd_rescue) rekonstruiert werden. 10.5.4 Treiber --------------- 10.5.4.1 ndiswrapper Mit dem ndiswrapper lassen sich z.B. nicht unterstützte Netzwerk(Wlan)-Karten mittels Windows-Treiber einbinden. Anleitung: 1. ndiswrapper installieren 2. Windows-Treiber installieren: ndiswrapper -i w70n51.inf (inf- Datei des Treibers, von der Original-CD!) 3. modprobe ndiswrapper lädt den Treiber 4. mit ndiswrapper -cat /proc/meminfol und ndiswrapper -v testen 5. dmesg gibt die Kernel-Meldungen aus 6. mit ndiswrapper -m wird der Treiber immer beim booten geladen 7. Konfiguration: . iwconfig wlan0 mode managed . iwconfig wlan0 key restricted s:12345 . iwconfig wlan0 essid "Netzwerkname" . ifconfig wlan0 up . dhclient 8. WPA-Verschlüsselung . Schlüssel erzeugen wpa_passphrase xxxnonamexxx 1234567890123456 xxxnonamexxx ist der Name meines Funknetzwerks und 123456.... der WPA-Schlüssel, den mir der Router ausgibt Als Ergebnis erhalten wir: network={ ssid="xxxnonamexxx" #psk="1234567890123456" psk=2f609a18e74b80d1db89403988258fe7d21430c0ccb1cdd8f81d2380d1ab2885 } Für uns ist der psk-Wert der gewünschte Wert, den wir gleich im Anschluss weiter verarbeiten. . wpa_supplicant im Verzeichnis /etc/wpa_supplicant/ wird die Datei wpa_supplicant.conf angelegt und folgender Inhalt eingefügt: ctrl_interface=/var/run/wpa_supplicant ap_scan=2 network={ ssid="xxxnonamexxx" scan_ssid=1 proto=WPA key_mgmt=WPA-PSK pairwise=TKIP psk=2f609a18e74b80d1db89403988258fe7d21430c0ccb1cdd8f81d2380d1ab2885 } . interfaces Im Verzeichnis /etc/network/ die Datei interfaces wie folgt anpassen (kompletter Inhalt): auto lo iface lo inet loopback iface wlan0 inet dhcp pre-up wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -Bw post-down killall -q wpa_supplicant auto wlan0 10.5.4.2 Cyberjack Damit ein User auf das Cyberjack Pinpad von http://www.reiner-sct.com zugreifen kann wird vom Installationspaket eine UDV-Regel angelegt. Dem lesegerät wird jedoch die Gruppe "pcscd" zugeordnet und nicht wie in der Anleitung steht "cyberjack". Daher muss der User der Gruppe "pcscd" zugeordnet werden!. 10.5.5 MEDION LIFE P89626 -------------------------- Internetseiten zur Konfiguration -------------------------------- http://www.mikrocontroller.net/articles/P89626 Pfade auf dem NAS-Server ------------------------ init.d: /usr/local/zy-pkgs/etc/init.d/ exports: /etc Benutzerdateien: /i-data/6764ac2f/ Firmwaredownload ---------------- ftp://nas-download:sEhtalr@download.medion.de/firmware Telnet-Zugang ------------- . Über HTML als admin einloggen http://192.168.x.x/r34814,/adv,/loginwrap.html . Telnet per URL starten http://192.168.x.x/r34814,/adv,/cgi-bin/remote_help- cgi?type=backdoor . Login über telnet telnet 192.168.x.x login: root passwort: Für das Starten von Telnet sind diese Dateien zuständig: -------------------------------------------------------- /usr/local/apache/cgi-bin/remote_help-cgi /usr/local/btn/open_back_door.sh Telnet dauerhaft starten ------------------------ Start-Skript anzulegen: echo "/usr/local/btn/open_back_door.sh" > /usr/local/zy-pkgs/etc/ init.d/starttelnet.sh chmod +x /usr/local/zy-pkgs/etc/init.d/starttelnet.sh 10.6 grub ========== 10.6.1 grub installieren ------------------------- mount /dev/hdxx /mnt/hdxx rm /mnt/hdxx/etc/mtab (falls diese noch Einträge enthält) chroot /mnt/hdxx mount -a (mtab neu generieren s.o.) grub-install update-grub vim /boot/grub/menu.lst (evtl. editieren -> /dev/hdxx und (hdx,x)-Einträge) Bootimages befinden sich in /boot/grub/splashimages und werden mit dem Eintrag splashimage=(hd0,0)/boot/grub/splashimages/kubuntucrystal.xpm.gz in der Datei /boot/grub/menu.lst eingebunden. 10.6.2 Grub-Passwort setzen ---------------------------- * Grub-Passwort setzen * Grub-Passwort verhindert den Login in eine root-Shell (siehe "root- passwort neu setzen"). Passwort-Hash mit grub-md5-crypt erzeugen und in grub.conf oder menu.lst (je nach Distribution) eintragen: password --md5 Passwort- Hash Eine Eingabe von lock in die jew. Titel-Direktive der Grub-Einträge verhindert das Booten des jew. Systems ohne Passworteingabe. 10.6.3 Bootparameter für Problemhardware ----------------------------------------- Besonders bei Laptops kann es vorkommen, dass Teile der Hardware nicht richtig erkannt werden und das System nicht richtig startet. Es gibt einige Bootparameter, mit denen es möglich ist, die Hardwareerkennung zu steuern: . acpi=off kein 'Advanced Configuration and Power Interface' verwenden . acpi=force ACPI erzwingen . noapic den 'Advanced Programmable Interrupt Controller' komplett umgehen . nolapic nur den APIC-Teil der CPU umgehen . noagp Deaktiviert die (AGP) Grafik . noapm Deaktiviert die Energieverwaltung . pnpbios=off kein Plug&Play-Bios verwenden . pci=bios Workaround für falsch erkannte Interrups . pci=noacpi Schaltet ACPI-Erkennung während der PCI- Konfiguration aus (ist insbesondere bei manchen VIA-Chipsätzen notwendig) . pci=routeirq IRQ-Autorouting, hilfreich für einige Mainboards (zum Beispiel Asus A7N8X) . irqpoll kompatibles Verfahren zur Interruptabfrage . hpet=disable den 'High Precision Event Timer' nicht verwenden . nodma kein 'Direct Memory Access' verwenden . nousb USB-Controller abschalten . nousb2 USB2 abschalten . nofirewire FireWire-Controller abschalten . nohwsetup hwsetup-Autokonfiguration überspringen . noudev udev-Autokonfiguration überspringen . nopcmcia PCMCIA-Funktion abschalten . noideraid IDE-Soft-RAID als Einzelplatten ansprechen * --* * gefährlich -- * . pci=irqmask=0x0e98 Workaround für nicht funktionierende PS2- Mäuse . ide2=0x180 nopcmcia Booten von PCMCIA-CD-ROM . vga=normal bzw. nofb erzwingt VGA-Modus . vga=ask frägt beim jedem Systemstart nach der Einstellung (gut für Tests) (siehe auch VGA-Modus) . fb=false Deaktiviert den Framebuffer . screen=1280 x 1024 Auflösung 1280x1024 für Grafikmodus erzwingen . vsync=60 60Hz-Bildwiederholrate im Grafikmodus . hsync=80 80Hz Horizontalfrequenz (für manche TFT-Monitore erforderlich) . failsafe verwendet eine Minimalkonfiguration . debug startet besonderen Modus zur Fehlersuche . ht=on Aktiviert Hyper-Threading . usb=bios . DEBCONF_DEBUG=5 Ausführliche Fehlersuche . BOOT_DEBUG=2|3 Fehlersuche während des Startvorgangs . all_generic_ide Generischen IDE Treiber für alle Geräte verwenden, die vom BIOS erkannt wurden . xforcevesa Der XServer (graphische Oberfläche) wird unabhängig von der verwendeten Hardware nur für 'vesa' konfiguriert 10.6.4 Grub 2 -------------- Grub 2 ist von Grund auf komplett anders aufgebaut als Grub Legacy. Die Änderungen sind hier sehr ausführlich beschrieben: http://wiki.ubuntuusers.de/GRUB_2 http://wiki.ubuntuusers.de/GRUB_2/Konfiguration Die Konfigurationdatei (früher /boot/grub/menu.list) ist jetzt in folgende Dateien aufgeteilt: . /etc/default/grub . /boot/grub/grub.cfg Die Datei grub.cfg sollte jedoch nie von Hand geändert werden (sehr gefährlich und nach einem Kernelupdate sind alle Änderungen wieder weg). Seit Grub 2 können alle installierten Betriebssysteme sehr einfach vollautomatisch eingetragen werden: sudo grub-mkconfig -o /boot/grub/grub.cfg # für Versionen ab Karmic sudo update-grub2 # Jaunty und ältere Versionen 10.7 Uhr geht falsch ===================== 1. Als root einloggen. 2. Die Datei /etc/adjtime löschen: rm /etc/adjtime, aber vorsichtshalber eine Kopie davon speichern 3. Mit dem Programm hwclock die Hardware-Uhr (RTC-Uhr) stellen: hwclock --set --date="[monat]/[tag]/[jahr] [stunde]:[min]:[sek]" --utc 4. Die Systemuhr nach der Hardware-Uhr stellen: hwclock --hctosys 5. So gut wie fertig. Besser aber: Die Uhr irgendwann nochmal stellen Die Hardware-Uhr soll man nach einiger Zeit (frühestens einer Woche) nochmal stellen, denn sie geht von sich aus nicht besonders genau, aber so hat der Rechner zwei Werte, anhand deren er den Unterschied berechnen und ausgleichen kann. ====================================================================== Kapitel 11 Shell ====================================================================== 11.1 Bash-Konfigurationsdateien ================================ Es gibt für die Bash zwei Konfigurationsdateien: .bashrc Terminal unter X .bash_profile Konsole / Login-Shell Für die Konsolen wird die .bash_profile benutzt. Für ein Terminal unter X wird die .bashrc benutzt. Daher setzt man normalerweise seine Einstellungen in der .bashrc und sourced diese in der .bash_profile, in der dann meist nur folgende Zeile steht: [ -f ~/.bashrc ] && . ~/.bashrc 11.1.1 persönlichen bin-Ordner hinzufügen ------------------------------------------ In die Datei .bashrc folgendes eintragen: [ -d ~/bin ] && PATH=$PATH:~/bin 11.1.2 Tab-Completition auch als sudo -------------------------------------- Wenn als sudo die Autovervollständigung nicht funktioniert, dann muss die /.bashrc um fogende Zeilen ergänzt werden: if [ "$PS1" ]; then complete -cf sudo fi 11.1.3 Promt einstellen ------------------------ ~/.bashrc: PS1="\u@\h \w \$ " Dies steht für user@host aktuelles_verzeichnis $ grüne Schrift: ~/.bashrc: PS1="\[\033[0;32;40m\u@\h:\w\$ \]" Sowohl für den Vordergrund als auch für den Hintergrund stehen 8 Farben zur Verfügung. Auswahl: schwarz, rot, grün, gelb, blau, magenta, cyan und weiß. Die Zahlen dafür sind: 30, 31, 32, 33, 34, 35, 36, 37. Das Setzen der Hintergrundfarbe verläuft genauso, allerdings statt 3 mit 4. Also 40, 41, 42, 43, 44, 45, 46, 47. Beispiel: ~/.bashrc: PS1="\[\033[0;37;44m\u@\033[0;32;43m\h:\033[0;33;41m\w$\033[0m\]" 11.1.4 automatisches Abmelden ------------------------------ Das Eintragen von TMOUT=180 in der Datei .bashrc führt zum automatischen Logout nach 3 Minuten 11.1.5 Beep abschalten ----------------------- echo -ne '\033[11;0]' schaltet den Beep in der Kommandozeile ab 11.1.6 History aller Shells speichern -------------------------------------- Normalerweise wird immer nur die History der zuletzt geschlossenen Shell gespeichert. Durch hinzufügen der folgenden Zeilen in die Datei ~/.bashrc werden die Eingaben aller Shells gespeichert: . Einstellung, damit neue Befehle an die History-Datei anhängen kann: shopt -s histapped . Die History-Daten vor ausgabe des nächsten Prompt speichern: PROMPT_COMMAND="history -a" Will man Veränderungen an der bashrc aktivieren so hilft . ~/.bashrc Dieser Befel liest die .bashrc und die zugehörigen Dateien neu ein. Mit exec bash -$- wird die Shell neu gestartet. 11.2 konsole ============= konsole -e lässt einen Befehl in der Konsole ablaufen 11.2.1 Zeichensatz in der Konsole ---------------------------------- Einstellungen in: /etc/console-tools/config dpkg-reconfigure console dpkg-reconfigure console-data 1. Paket localeconf installieren mit sudo apt-get install localeconf 2. Datei /var/lib/locales/supported.d/de als Root mit einem Editor bearbeiten: sudo vi /var/lib/locales/supported.d/de. Folgende Zeile anhängen: de_DE@euro ISO-8859-15 3. Nach dem Speichern der Datei die /etc/locale.gen generieren: sudo dpkg-reconfigure locales 4. Jetzt mit localeconf den Zeichensatz systemweit auswählen: sudo dpkg-reconfigure localeconf Einstellung des Zeichensatzes mit setxkbmap de Weitere Programme rund um den Zeichensatz: setkeycodes, scancode, keycode 11.3 tty ========= Abfragen des Terminalnamens 11.4 stty ========== Setzen und Abfragen der Terminaleinstellungen 11.5 clear =========== löscht den Inhalt der Konsole 11.6 chsh ========== Ändert die Login-Shell 11.7 env ========= gibt die Umgebungsvariablen (Environment) aus PATH=$PATH:/home/bin setzt die Variable auf ~/bin/ In der Datei .profile sollte folgendes eingetragen sein: # set PATH so it includes user's private bin if it exists if [ -d ~/bin ] ; then PATH=~/bin:"${PATH}" fi 11.8 export ============ export PATH="/home/ich/meineProgramme:"$PATH":/home/ich/proggis" Umgebungsvariable global exportieren: source export variable="inhalt" 11.9 alias =========== alias test= muss in ~/.bashrc eingetragen werden alias -p zeigt alle Aliase an 11.10 echo =========== Textausgabe echo 11.11 Eingabe-History aktivieren ================================= in /etc/inputrc oder ~/.inputrc folgende Einträge freischalten: "\e[5~": history-search-backward "\e[6~": history-search-forward oder "\e[A": history-search-backward "\e[B": history-search-forward # alternate mappings for "page up" and "page down" to search the history 11.12 Stringbearbeitung ======================== --------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------ * Aufruf * | * Beschreibung * | --------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------ ${name:n:m} | liefert Teil eines Strings | n = Offset (negativ = vom Ende her (in diesem Fall muss ein Leerzeichen vor dem Minus stehen!)); m = Anzahl (kann entfallen) ${name#a} | entfernt den Anfang, wenn dieser mit a übereinstimmt | a = Suchstring (Windcards (?,*) sind erlaubt) ${name##*a} | entfernt alle Übereinstimmungen mit a vom Anfang her | a = Suchstring (Windcard "*" notwendig!) ${name%a} | entfernt das Ende, wenn dieses mit a übereinstimmt | a = Suchstring (Windcards (?,*) sind erlaubt) ${name%%a*} | entfernt alle Übereinstimmungen mit a vom Ende her | a = Suchstring (Windcard "*" notwendig!) ${name/s/e} | Suchen / Ersetzen (erste Fundstelle) | s = Suchstring (Windcards (?,*) sind erlaubt); e = Ersatzstring (kann entfallen -> Suchstring wird entfernt) ${name//s/e} | Suchen / Ersetzen (alle Fundstellen) | s = Suchstring (Windcards (?,*) sind erlaubt); e = Ersatzstring (kann entfallen -> Suchstring wird entfernt) ${name:-a} | Standardwert zurückgeben | gibt den Wert "a" zurück, wenn die Variable "name" leer ist ${name:=a} | Standardwert setzen und zurückgeben | gibt den Wert "a" zurück und weist diesen der Variablen "name" zu, wenn die Variable "name" leer ist ${name:?a} | Fehlermeldung und Programmabbruch | Wenn die Variable "name" leer ist, wird die Fehlermeldung "a" ausgegeben und das Skript beendet. ${name:+a} | liefert "a", wenn "name" nicht leer ist | mit dieser Funktion kann z.B. ein "/" eingefügt werden, wenn eine Datei übergeben wird (z.B. $HOME${datei:+/}$datei ) --------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------ Beispiele --------- . Dateinamen vom Pfad trennen DIR=${i%/*}; [ "$DIR" == "$i" ] && DIR=. FILE=${i##*/} FILEBASE=${FILE%.*} FILEEXT=${FILE##*.} . Dateiendung in Großbuchstaben EXT=`echo ${i##*.} | tr [:lower:] [:upper:]` 11.13 Skripte ============== Ein ausführliches Nachschlagewerk zur Shellprogrammierung: Shellprogrammierung.pdf . Ein Shellskript muss mit #!/bin/bash beginnen und ausführbar gemacht werden. . konsole -e lässt ein Skript in der Konsole ablaufen. 11.13.1 übergebene Parameter ----------------------------- $# Anzahl der Parameter $1 1. Parameter $2 2. Parameter . . $n n. Parameter $# alle Parameter 11.13.2 Übergabeparameter auswerten ------------------------------------ Einem Skript können Parameter übergeben werden. Hierzu werden üblicherweise [OPTIONS] verwendet, die entweder eine Funktion aktivieren oder auch einen zusätzlichen Parameter übergeben. Mit folgendem Quelltext können Übergabeparameter ausgewertet werden: #! /bin/bash function err_text { while [ $# -gt 0 ] ; do echo "$1" 1>&2 # Ausgabe auf stderr shift done echo "`basename $0` [-ab -c Wert -d Wert] file" 1>&2 # Ausgabe auf stderr exit 1 } # Sortieren und überprüfen der Parameter (":" bedeutet, dass der vorangestellte Parameter # zusätzlich einen Wert benötigt) set (--) `getopt "abc:d:" "$@"` || err_text # Startparameter setzen variable_a=0 variable_b=0 variable_c="" variable_d="" # Parameter in Endlosschleife abfragen # Bei Parametern mit Übergabeparameter muss stets ein "shift" ausgeführt werden! while : ; do case "$1" in -a) variable_a=1;; -b) variable_b=1;; -c) shift; variable_c=$1;; -d) shift; variable_d=$1;; --) break;; esac shift [ $# -eq 0 ] && break # Fehler in den angegebenen Parametern done shift [ $# -lt 1 ] && err_text # kein Dateiname wurde übergeben # Dateien abarbeiten while [ $# -ge 1 ]; do if [ -f "$1" ]; then # else err_text "`basename $0` - Datei '$1' existiert nicht" fi shift done 11.13.3 Schleifen ------------------ * Script um alle Bilder in einem Verzeichnis zu verkleinern: * for file in * ; do convert -scale 100x $file klein_$file done * Dieses Script wandelt alle PDF-Dateien im Verzeichnis in Postscript-* *Dateien um. * for i in *.pdf; do pdf2ps $i done * Zählerschleife: * for ((i=0; i<100; i++)) { echo $i } * Endlosschleife: * while : ; do # auszuführender Quelltext # Schleife wird mit break beendet done * Schleifen zur Dateibearbeitung * (die Zweite Variante ist ca. 30% schneller): find /home -type f | while read; do echo ${REPLY} done for f in $(find /home -type f); do echo ${f} done * alle *.jpg rekursiv in allen Unterordnern finden * while read -rd " i do echo "$i" done < <(find /home/user/unterordner/ -iname "*.jpg" -print0) # etwas eleganter in der BASH shopt -s globstar nocaseglob for i in /home/user/unterordner/**/*.jpg do echo $i done * Datei zeilenweise einlesen: * while read LINE; do echo ${LINE[1]} done < infile.txt exec 3 0 ] ;do echo Es sind Fehler im Quelltext! udo -h -o ~/Documents/Entwicklung/lhb/index.html ~/Documents/Entwicklung/lhb/linux.u error=`grep -c Error: ~/Documents/Entwicklung/lhb/index.ulh` done 11.13.5 Ja/Nein-Abfragen ------------------------- #!/bin/sh echo Befehl ausführen [j,n]? read ans if [ ${ans:=y} == j -o ${ans:=y} == J ] ; then # Hier stehen die Befehle fi 11.13.6 Pfad, Dateinamen und Dateiendung trennen ------------------------------------------------- vollständiger Pfad ------------------ xPATH=${file%/*} xPATH=`dirname "$file"` Pfad mit Dateinamen ohne Dateiendung ------------------------------------ xBASE=`echo "$file" | sed 's/\(.*\)\..*/\1/'` xBASE=${file%.*} Dateiname mit Endung -------------------- xBASE=`basename "$file"` xBASE=${file##*/} Dateiendung ----------- xEXT=`echo "$file" | sed 's/.*\.\(.*\)/\1/'` xEXT=${file##*.} xEXT=`echo ${file##*.} | tr [:lower:] [:upper:]` # liefert die Dateiendung in Großbuchstaben 11.13.7 Pause von x Sekunden ----------------------------- siehe sleep 11.14 Ein- und Ausgabeumlenkung ================================ 11.14.1 pipe ------------- ls | less leitet den Inhalt an das Anzeigeprogramm less weiter 11.14.2 ; ---------- Zwei Befehle nacheinander ausführen: date; ls 11.14.3 && ----------- Zwei Befehle nacheinander ausführen, wenn der erste erfolgreich war: make && make install 11.14.4 || ----------- Zwei Befehle nacheinander ausführen, wenn der erste nicht erfolgreich war: ls datei || touch datei 11.14.5 () ----------- Umleitung von zwei Befehlen: (date;ls) > inhalt.txt 11.14.6 < ---------- Inhalt aus einer Datei auslesen und bearbeiten 11.14.7 2> ----------- Fehlermeldungen in eine Datei umleiten 11.14.8 >& ----------- Fehler- und normale Meldungen umleiten 11.14.9 tee ------------ Abzweigen der Ausgabe und speichern in einer Datei: ls -l | tee liste.txt gibt die Liste auf den Bildschirm aus und speichert in der Datei liste.txt 11.14.10 xargs --------------- find -name "*.WMV" -print0 | xargs -0 rm sucht rekursiv alle mp3- Dateien und löscht diese. 11.14.11 in Datei schreiben ---------------------------- . ls /etc > inhalt.txt schreibt den Inhalt des Verzeichisses /etc in die Datei inhalt.txt . ls /etc >> inhalt.txt hängt den Inhalt des Verzeichisses /etc an die Datei inhalt.txt an . ps ax | grep huhn | less durchsucht alle Prozesse nach "huhn" und leitet die Fundstellen an das Anzeigeprogramm less weiter 11.15 source ============= Kommandos aus einer Datei auslesen und ausführen. 11.16 dialog ============= Mit dem dialog-Befehl könne in Scripten Abfragedialoge verwendet werden. dialog [optionen] [Art des Feldes] "Text" [breite] [höhe] Es gibt Messageboxen (--msgbox), Ja-Nein-Abfragen (--yesno), Dateiauswahl, Inputboxen... Mit --title kann ein Titel angegeben werden. ====================================================================== Kapitel 12 Editoren ====================================================================== 12.1 vi / vim ============== Standardeditor auf jedem Linux/Unix-System. Der Editor arbeitet in zwei Ebenen: Ansichtsebene und Editebene Wechsel mit ESC und Einfg . Speichern: :w . Beenden: :q mit :q! wird sofort beendet . Speichern & Verlassen: :wq . Suchen: / . Weitersuchen: n - Rückwärts: Shift+n . Kopieren: v -> mit Cursor markieren, mit y kopieren . Einfügen: p . Löschen: dw löscht ein Wort; 3dd löscht 3 Zeilen 5dw löscht 5 Wörter . Zweite Dateien öffnen: :sp dateiname (:vsp für vertikale Teilung) . Wechsel zwischen zwei Dateien: W / Strg-W 12.2 pico ========== einfach zu bedienender Editor für die Konsole 12.3 kate ========== sehr guter Editor unter KDE Hervorhebungsdatei für udo in den Ordner .kde/share/apps/katepart/syntax kopieren 12.4 emacs =========== sehr großer und mächtiger Editor ====================================================================== Kapitel 13 Kompilieren & Installieren ====================================================================== 13.1 configure, make, makeinstall, checkinstall ================================================ . ./configure . make . make install Das Programm wird direkt installiert. . ./configure . make . checkinstall erzeugt ein fertiges Paket (rpm bzw. deb) Will man ein bestimmtes Paket erzeugen so übergibt man dies checkinstall mit dem Parameter -D: checkinstall -D make datainstall Der dritte Schritt muss jeweils als root ausgeführt werden. Mit ./configure --help kann man die Installationsvoraussetzungen prüfen. 13.2 kconfigure ================ Konfiguriert, compiliert und installiert auf einmal, unterstützt aber checkinstall noch nicht. 13.3 GCC-Version definieren ============================ Kernelmodule müssen mit der selben Kompiler-Version wie der Kernel selbst übersetzt werden. Hierzu muss die richtige Version als umgebungsvariable definiert werden (ansonsten wird die neueste Version verwendet). # Setzt die Umgebungsvariable CC auf den Compiler mit der Version 4.1 export CC=gcc-4.1 13.4 e-tobi Pakete (VDR) selbst kompilieren ============================================ 1. Füge folgende Zeile in die Datei /etc/apt/sources.list ein: deb-src http://e-tobi.net/vdr-experimental sid base vdr- multipatch addons 2. Die bearbeitete sources.list einlesen. apt-get update 3. Zum Compilen benötigtes Zeug installieren. apt-get build-dep vdr 4. Sourcecode von vdr und dem streamdev-plugin installieren. cd /usr/src; apt-get source vdr vdr-plugin-streamdev 5. Verzeichniswechsel in das vdr-source-Verzeichnis. cd /usr/src/vdr-VERSIONNUMBER 6. vdr Debian-Paket erstellen. dpkg-buildpackage 7. vdr-dev installieren, da es zum Plugin bauen benötigt wird. dpkg -i vdr-dev*.deb 8. Verzeichnis wechseln. cd /usr/src/vdr-plugin-streamdev-VERSIONNUMBER 9. vdr-plugin-streamdev Debian-Paket bauen. dpkg-buildpackage 10. Wenn alles glatt gegangen ist, sollten jetzt ein paar frischgebackene Debianpakete in /usr/src/ rumliegen. Nur zu, installier sie. 11. dpkg -i vdr_VERSIONNUMBER_amd64.deb 12. dpkg -i vdr-plugin-streamdev-server_VERSIONNUMBER_amd64.deb 13.5 apt ========= 13.5.1 keyfiles ---------------- keyfile für apt-get aus dem Internet herunterladen # Open a terminal, and type the following, replacing KEYSTRING with one of the long sets of letters and numbers returned by Synaptic/Apt: gpg (--)keyserver hkp://wwwkeys.eu.pgp.net (--)recv-keys KEYSTRING # This should give you another code, something like 1F41B907. Enter this command, replacing KEYSTRING2 with the new one. gpg (--)armor (--)export KEYSTRING2 > keyName.gpg 13.5.2 apt-get --------------- . apt-get install installiert das . apt-get --reinstall install installiert das neu . apt-get update holt Datei-Infos von den Servern . apt-get -u upgrade aktualisiert alle Pakete . apt-get -u dist-upgrade komplettes Update . apt-get remove --purge wird inklusive aller Einstellungen gelöscht . apt-get clean löscht heruntergeladene Installationspakete . apt-get autoclean - löscht Installationspakete die nicht mehr geladen werden können . apt-get alien -d Fremdpakete (rpm) installieren . apt-cache search sucht installierbare Programme . apt-get source - Download source archives . apt-get build-dep - Configure build-dependencies for source packages . apt-get check - Verify that there are no broken dependencies . apt-get moo - Easteregg in apt-get Die heruntergeladenen Archive befinden sich in /var/cache/apt/archives. 13.5.3 apt-file ---------------- Sucht, in welchen (auch noch nicht installierten) Paketen die angegebene Datei vorhanden ist. . apt-file update Liest die neuesten Paketinformationen ein . apt-file search Sucht, in welchen Paketen die Datei 13.5.4 apt-key --------------- Verwaltung von gpg-Schlüsseln für apt. -------------------------------------- . Schlüssel hinzufügen: apt-key add key.gpg 13.5.5 apt-spy --------------- apt-spy ermöglicht es eine sources.list für Debian zu generieren. Dazu wird die Bandbreite der zu Verfügung stehenden Mirror Server analysiert um daraus den schnellsten Server zu emitteln. Hinweis: Folgende Kommandos müssen mit superuser Rechten ausgeführt werden. Mit Hilfe des Befehls apt-spy update wird zunächst die Mirrorliste aktualisiert. Die eigentliche Geschwindigkeitsanalyse erfolgt z.B. mit dem Befehl apt-spy -d stable -s de. Hier wird der schnellste in Deutschland verfügbare Server ermittelt. Wem das zulange dauert, der hat die Möglichkeit mit der Option -e X die Suche auf X Server einzugrenzen (wobei X durch die Anzahl der Server zu ersetzen ist). 13.5.6 aptitude ---------------- aptitude moo - Easteregg in aptitude (kann mit -v fortgesetzt werden) 13.6 alien =========== Fremdpakete werden mit alien umgewandelt: alien -d paket.rpm paket.deb oder alien -r paket.deb paket.rpm 13.7 dpkg ========== . dpkg -i installiert ein Paket . dpkg -r löscht ein Paket . dpkg -P löscht ein Paket incl. der Einstellungsdateien . dpkg -l Liste auf das übergebene Suchmuster passende Pakete auf . dpkg -L Liste die aus Paket auf Ihrem System installierten Pakete auf . dpkg -S Suche nach einem Dateinamen in installierten Paketen . dpkg --configure -a behebt Fehler, die eventuell beim installieren entstanden sind (z.B. durch Absturz) . dpkg --get-selections Ausgabe aller installierten Pakete . dpkg -l | awk '{ print $2 }' Liste aller installierten Pakete auf Ubuntu/Debian 13.8 dpkg-reconfigure ====================== dpkg-reconfigure rekonfiguriert ein bereits installiertes Paket . X-Server neu konfigurieren: dpkg-reconfigure xserver-xorg . NIS neu konfigurieren: dpkg-reconfigure nis 13.9 deb-Pakete erstellen ========================== 1. Ordnerstruktur erstellen: . Ordner mit dem Namen des Programmes - usr * bin * share - DEBIAN In den Ordner DEBIAN kommt eine Datei mit Namen control, die folgende Angaben enthält: Package: Programmname Version: 1.0 Section: admin Priority: optional Architecture: all Essential: no Depends: Installed-Size: 400 Maintainer: Name des Paketerstellers Description: Dies ist die Beschreibung des Paketes 2. In den Ordner /usr/bin/ wird das zu installierende Programm koppiert, evtl weitere benötigte Dateien müssen in die Verzeichnisstruktur eingeordnet werden. 3. Soll das Programm im Anwendungen-Menü angezeigt werden, muss die Datei programmname.desktop im Verzeichnis /usr/share/applications befinden. Die Datei programmname.desktop het folgenden Inhalt. [Desktop Entry] Encoding=UTF-8 Name=namedesprogrammes Comment=Dies ist ein Kommentar welcher beim Ueberfahren mit der Maus angezeigt wird Exec=namedesprogrammes Terminal=false Type=Application Categories=GNOME;GTK;System; 4. Ein Symbol für das Programm muss ins Verzeichnis usr/share/pixmaps. In der programmname.desktop-Datei muss folgende Zeile hinzugefügt werden. Icon=namedesprogrammes.png 5. Nun kann das Paket erstellt werden: dpkg -b ordnername programmname-1.0.deb 13.10 installierte Programme sichern & wiederherstellen ======================================================== als root: dpkg --get-selections > selections.txt dpkg --set-selections < selections.txt dselect update dselect install oder auch: apt-get -u dselect-upgrade oder: sichern mit: COLUMNS=200 dpkg-query -W --showformat='${Package}\n' > packages.list wiederherstellen mit: cat packages.list | xargs apt-get -y install Für RPM-pakete geht dies folgendermaßen: rpm -qa --queryformat " "%{NAME} > installedRPMS.list #! /bin/bash apt-get update apt-get install --reinstall chmod u+x installedRPMS.list /home//installedRPMS.list apt-get clean 13.11 unwichtige Anwendungen herausfinden ========================================== 1. Alle Pakete auflisten: dpkg -list 2. Paket löschen: dpkg -remove 3. Programm-Zähler installieren: popularity-contest > /var/log/ popularity-contest 4. Auswertung: popcon-largest-unused ====================================================================== Kapitel 14 Tastaturkommandos ====================================================================== 14.1 X-Server beenden ====================== 14.2 reboot ============ 14.3 Prozesstabelle ==================== 14.4 Prozess abschießen ======================== -> Maus wird zu Totenkopf -> Klick auf hängenden Prozess 14.5 Exit ========== 14.6 Programm starten ====================== + Eingabe des Programmnamens Alt+Leertaste + Anfangsbuchstaben des Programmes (katapult) 14.7 Konsolenwechsel ===================== Umschalten zwischen verschiedenen Konsolen (Terminals) mit + bis oder in X mit ++ bis 14.8 Magic SysRQ-Key ===================== . alt+sysrq+r nimmt dem X-Server die Kontrolle über Maus und Tastatur weg . alt+sysrq+k killt alle Prozesse auf dem laufenden Terminal . alt+sysrq+s schreibt die Daten aus dem Disk-Cache auf die Festplatte, es wird ein Sync durchgeführt . alt+sysrq+e sendet SIGTERM zu allen Prozessen außer INIT . alt+sysrq+i sendet SIGKILL zu allen Prozessen, außer Init . Alt+SysRQ+l sendet SIGKILL zu allen Prozessen, inclusive Init (Ihr System ist danach nicht mehr funktionsfähig) . alt+sysrq+u umountet alle gemounteten Dateisysteme readonly. Nachdem Sie diesen Key benutzt haben, können Sie ihr System mit Alt+SysRQ+b ohne Schaden rebooten. . alt+sysrq+b Reset . Alt+SysRQ+m gibt Infos über den Speicher auf der Konsole aus Um also ihren Rechner nach einem richtigen Festrammler noch sauber herunterbringen müssen Sie folgendes tun: Alt+SysRQ+e (sendet TERM-Signal, Prozesse können sich noch ordnungsgemäß beenden (zB Daten speichern)) Alt+SysRQ+u (sync wird beim Umount eh' gemacht) Alt+SysRQ+i (für die Prozesse, die auf TERM nicht hören gibt es halt ein KILL (kommt einem kill -9 prozess gleich) Alt+SysRQ+b (reboot). 14.9 Caps-lock abschalten ========================== Um die Caps-Lock-Taste abzuschalten .Xmodmap mit folgendem Inhalt im home-Verzeichnis des Users abgelegt werden: remove Lock = Caps_Lock ====================================================================== Kapitel 15 CDs & DVDs ====================================================================== 15.1 CD-Schublade ================== eject /dev/cdrom wirft die CD aus eject -t /dev/cdrom schließt die Schublade eject -T /dev/cdrom öffnet, bzw. schließt die Schublade 15.2 cdrecord ============== Standardtool um CDs zu brennen Mittlerweile wird cdrecord oft durch wodim ersetzt. Die Syntax sollte analog funktionieren. cdrecord -dev=/dev/cdwriter datei.iso brennt das ISO-Image auf CD cdrecord -v speed=8 dev=/dev/hdd -data ~/daten.iso brennt das Abbild auf eine CD cdrecord dev=/dev/cdrom blank=fast -force löscht eine wiederbeschreibbare CD cdrecord -atip dev=/dev/cdrom zeigt Informationen über den Rohling an cdrecord -v speed=2 dev=/dev/cdrom -pad *.wav brennt wav-Dateien auf CD cdrecord -v -fix dev=/dev/hdd finalisiert eine CD 15.3 growisofs =============== Standardtool um DVDs zu brennen Brennt ein Video-DVD-Image: growisofs -Z /dev/hdd=dvd.iso oder auch growisofs -Z /dev/hdd /path/, wenn in /path/ die Verzeichnisse AUDIO_TS und VIDEO_TS liegen growisofs -dvd-compat -Z /dev/dvd=image.iso brennt eine Daten-DVD growisofs -dvd-compat -Z /dev/dvd -J -r -V "Meine Sicherung" /pfad/zu/den/daten/ * Schalter: * . -dvd-compat: garantiert Größtmögliche Kompatibilität (closed, fixed,... - wie man es auch nennen mag) . -Z /dev/dvd: die Gerätedatei des Brenners . -J: Joliet Erweiterung (um sie auch in Windows lesen zu können) . -r: Rockrigde Erweiterung (für Unix/Linux) . -V: gibt der DVD (und auch CD) einen Namen. Die Anführungszeichen sind wichtig, wenn ein Leerzeichen dabei ist. . /pfad/zu/den/daten/: die Daten in diesem Ordner werden gebrannt 15.4 uif2iso ============= * Dateiendung UIF * Compressed disc image format created by MagicISO, a program for creating, editing, and extracting disc image files; can be encrypted and password-protected; also supports backing up multi-session CD/DVD, Audio-CD, VCD, SVCD, and DVD-Video formats. * uif2iso * Konvertiert uif-Dateien nach iso-Dateien _ Installation _ . Sourcecode hier herunterladen. . uif2iso.zip entpacken . installieren mit make / make install 15.5 cdrdao ============ cdrdao scanbus zeigt (als root) alle Laufwerke und deren Adressen an cdrdao write --device /dev/hdc film.cue brennt ein Image mit dem Namen film.cue + film.bin 15.6 cdparanoia ================ Auslesen einer Audio-CD. Die Tracks werden als fortlaufende wav-files im aktuellen Verzeichnis gespeichert. cdparanoia -d /dev/cdrom -B Soll nur ein einzelner Track gelesen werden, bspw. Nummer 5 dann folgendes eingeben: cdparanoia -d /dev/cdrom "5" 15.7 mkisofs ============= CD-Abbild erstellen mkisofs -o ~/daten.iso -RJ ~/daten erstellt vom Verzeichnis daten ein ISO-File mkisofs -o image.iso -J -r -v -V "Test-CD" /pfad/zu/den/daten/ . -o image.iso: die zu erstellende Datei . -J: Joliet Erweiterung (für Win) . -r: Rockridge Erweiterung (für Unix/Linux) . -v: Geschwätzigkeit einstellen . -V "Test-CD": Name der CD der später angezeigt wird . /pfad/zu/den/daten/: in diesem Ordner sollten sich die zu brennenden Daten befinden siehe auch dd 15.8 dvdbackup =============== dvdbackup -i /dev/dvd -M -o ./dvd/ kopiert die ganze DVD auf die Festplatte. 15.9 dvdrip ============ Installation: sudo apt-get install dvdrip vcdimager cdrdao subtitleripper xcdroast ogmtools xvid4conf Problem mit rar lösen: wget http://www.exit1.org/dvdrip/contrib/rarlnx271.sfx.bin chmod u+x rarlnx271.sfx.bin ./rarlnx271.sfx.bin sudo mv rar /usr/local/bin/rar-2.71 sudo mv unrar /usr/local/bin/unrar-2.71 rm -rf rar Edit - Edit Preferences - Commands - rar: /usr/local/bin/rar-2.71 15.10 cdinfo ============= cdinfo /dev/hdc gibt Informationen über die eingelegte CD aus. 15.11 CDs kopieren =================== Script um CDs zu kopieren: #!/bin/bash mount /dev/dvd mkisofs -r -J -o ~/daten.iso -RJ /media/dvd umount /dev/dvd eject /dev/dvd cdrecord -v speed=6 dev=/dev/dvdram -data ~/daten.iso eject /dev/dvdram rm daten.iso 15.12 Musik-CDs kopieren ========================= Script um Audio-CDs zu kopieren: #!/bin/bash cdrdao read-toc --fast-toc --device /dev/dvd cd.toc cdparanoia -v -d /dev/dvd -Z 1- data.wav eject /dev/dvd/ cdrdao write --device /dev/dvdram --speed 8 cd.toc eject /dev/dvdram rm data.wav rm cd.toc 15.13 Video-DVD verkleinern ============================ 1. DVD-Titel mit DVD:RIP auslesen. VOB-Dateien werden erstellt. 2. Die VOB-Dateien zusammenfügen: cat *.vob > movie.vob 3. Demultiplexen: tcextract -i movie.vob -t vob -x mpeg2 > movie.m2v und danach: tcextract -i movie.vob -a 0 -x ac3 -t vob > movie.ac3 4. Verkleinern: tcrequant -i movie.m2v -o shrinked.m2v -f 1.5 1.5 ist der Verkleinerungsfaktor (75%). Der Verkleinerungsfaktor lässt sich wie folgt berechnen: Faktor = (video_size / (4700000000 - audio_size)) * 1.04 5. Multiplexen: mplex -f 8 -o final.mpg shrinked.m2v movie.ac3 6. Verzeichnisstruktur ertsellen: dvdauthor -o newdvd final.mpg 7. IFO-files erstellen: dvdauthor -o newdvd -T 8. Dateien brennen 15.14 CD-Laufwerk wird nicht gefunden ====================================== Wenn ein Programm das CD-Laufwerk nicht findet, hilft es oft den Pfad statt mit /media/cdrom oder etwas ähnlichem mit /dev/hdc bzw. der jeweiligen Zuordnung für das entsprechende Laufwerk einzugeben. ====================================================================== Kapitel 16 Multimedia ====================================================================== 16.1 mplayer ============= . ISO mounten und mit mplayer abspielen: mount DATEI.ISO /mnt/ -t iso9660 -o ro,loop=/dev/loop0 (als root) gmplayer dvd://1 -dvd-device /mnt/ (nicht als root) . Audio aus einer DVD auslesen: mplayer -vo null -ao pcm:file=audio.wav dvd://1 . VideoCD auslesen und als avi speichern: mencoder vcd://1 film.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4 . Filme verkleinern mencoder original.mp4 -oac mp3lame -ovc lavc -vf scale -zoom -xy 0.5 -o zieldatei.mp4 der Faktor 0.5 ist dabei der Verkleinerungsfaktor . Video-CD auslesen und als mpg speichern: mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy vcd://1 -o ausgabe.mpg . Umwandeln von Videos in AVI .wmv, .mov, .asf, .mkv, .ogm and .bin (S)VCD können mit mencoder -o .avi -ovc lavc -lavcopts vbitrate=5000 -fourcc DX50 -oac pcm -srate 48000 -ofps 25 .mov in ein PAL-knformes AVI-Format umgewandelt werden. . Ein einzelnes Kapitel (hier 19) aus einer DVD-ISO auslesen und im Format 640:480 speichern: mencoder dvd://1 -chapter 19 -dvd-device /media/ISO-Film/ -vf scale=640:480 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4 . De-Multiplexen: - mplayer -dumpaudio -dumpfile ton.ac3 dvd://1 - mplayer -dumpvideo -dumpfile bild.m2v dvd://1 - mplex -f 8 -o film.mpg ton.ac3 bild.m2v . Weiter Beispiele: - DVD auslesen und auf die Festplatte kopieren: mplayer /dev/scd0 -dumpstream -dumpfile film.vob - Audio-Datei aus Film extrahieren: mplayer -dumpaudio film.mpeg - Internet-Radio hören: mplayer http://dradio-live.ogg.t-bn.de/dlf_high.ogg - DVD anschauen, erster Titel: mplayer dvd://1 - Film auf Festplatte kopieren: mplayer dvd://1 -dumpstream -dumpfile film.vob - Film nach mpeg4 konvertieren: mp3 96 kbit, Video 1000 kbit, deinterlacing (1. Durchgang): mencoder film.vob -o /dev/null -oac mp3lame -lameopts cbr:br=96 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:mbd=2:vpass=1 -vf pp=lb (2. Durchgang): mencoder film.vob -o film.avi -oac mp3lame -lameopts cbr:br=96 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1000:mbd=2:vpass=2 -vf pp=lb - Schwarze Balken an Stelle 5 Min 0 Sek erkennen: mplayer -vf cropdetect,pp=ci -ss 0:05:00 film.vob - Film ohne schwarze Balken anschauen (entsprechende crop- Daten einfügen): mplayer -rootwin -vf crop=688:320:22:74,pp=ci -ss 0:05:00 film.vob - Windows-Media-Audio-Stream aus dem Internet anhören/mitschneiden: mplayer mms://dradio-live.wm.t-bn.de/live/dlf/dlf mplayer -vo null -vc dummy -dumpstream -dumpfile RadioMitschnitt.wma mms://dradio-live.wm.t-bn.de/live/dlf/ dlf - ogg nach avi konvertieren: mencoder -idx input.ogg -ovc lavc -oac mp3lame -o output.avi - Windows-Media-Video-Stream aus dem Internet anschauen/mitschneiden: mplayer -zoom mms://wmt-od.stream.ne.jp/ntv/hkzkt/ hkzkt10.wmv mplayer -dumpstream -dumpfile pingpong.wmv mms://wmt- od.stream.ne.jp/ntv/hkzkt/hkzkt10.wmv * mplayer-Fehler * Fehlermeldung: requested audio codec family [mp3] (afm=mp3lib) not available. Enable it at compilation. Lösung: Bei "Audio Codec Family" "FFmpeg" einstellen 16.2 ffmpeg ============ Das Programm winff bietet eine komfortable grafische Oberfläche für ffmpeg. 16.2.1 Informationen über Files und Codecs ------------------------------------------- . ffmpeg -i input-file zeigt Informationen über das File an. Besser jedoch ist mediainfo (die Installation und Verwendung gibts in einem extra-Kapitel). . ffmpeg -formats zeigt alle für die Kodierung möglichen Audio- und Videoformate an. . Um eine simple Liste von Video-Files in einem Verzeichnis zu erstellen, die neben dem Dateinamen Informationen über die Auflösung und den verwendeten Video-Codec beinhaltet, hilft folgende Pipe: # for i in *.flv; do ffmpeg -i "$i" 2> Tempfile; egrep -i "flv|video" < Tempfile >> Liste.txt; echo "---------" >> Liste.txt; done durch die for-Schleife wird eine Liste sämtlicher Files mit der Endung .flv (Flash-Files) im momentanen Verzeichnis erstellt und die einzelnen Dateinamen an ffmpeg weitergereicht. ffmpeg öffnet die Video-Files und gibt so auf dem Standard-Fehlerkanal Informationen über die Auflösung und den verwendeten Codec wieder, welche in der Datei Tempfile gespeichert werden. Da die Ausgabe von ffmpeg noch viel mehr beinhaltet, wird im nächsten Schritt mittels egrep die relevanten Informationen wie der Dateiname (durch den Suchbegriff flv) und die Eckdaten des Videos (durch den Suchbegriff video) herausgefiltert und in die Datei Liste.txt geschrieben. Dabei wird nach jedem File zur besseren Übersicht mittels echo eine Trennlinie in die Datei geschrieben. Alternativ könnte man auch mittles echo $'\n' einen Zeilenvorschub auslösen. 16.2.2 Umwandlungsbeispiele ---------------------------- . ffmpeg -i testfile.flv -vcodec mjpeg -b 7000k -acodec copy testfile.avi Kodiert ein Flash-File in ein MJPEG-File mit 7000 Kbit/sec und kopiert das Audio lediglich, also ohne Konvertierung. -i = Input-File -vcodec = Wahl des zu verwendenden Video-Codecs -b = Video-Bitrate (hier 7000 Kbit/sec) -acodec = Wahl des Audio-Codecs (hier copy, also unverändert kopieren) . ffmpeg -i testfile.flv -an -vcodec bmp testfile.avi wandelt ein Flash-File in unkomprimierte BMP-Bilder, ohne Audio. -an = Kein Audio verwenden. Leider führt der Vorgang ein AVI-File mit unkomprimierten BMP-Bildern zu erzeugen dazu, daß sich das Bild verschiebt. Den Grund dafür habe ich leider nicht herausgefunden. Möchte man in ein verlustfreies Format wie eben Vollbilder konvertieren, ist folgender Codec daher besser: ffmpeg -i testfile.flv -vcodec huffyuv -acodec pcm_s16le testfile.avi Konvertiert ein Flash-File in das verlustfreie huffyuv-Format (der Huffman-Codec) mit unkomprimiertem Audio (wav). pcm_s16le = signed 16-bit little-endian PCM. Audio aus Video extrahieren: ffmpeg -i testfile.flv -vn testfile.wav -vn = Disable video recording, also kein Bild nur der Ton. 16.2.3 DVD-Konvertierung ------------------------- ffmpeg enthält vorgefertigte Templates für die gängigen Formate, wie z.B. vcd (Video-CD), svcd (Super-Video-CD), dvd, dv, dv50, pal-vcd, ntsc-svcd, usw. Man muß also nicht sämtliche Einstellungen für eine DVD wie Auflösung, Bitrate, Video-Codec, Audio-Codec, usw. von Hand einstellen, sondern es genügt die Angabe eines Templates und alle weiteren erforderlichen Einstellungen werden vollautomatisch vorgenommen, z.B.: . ffmpeg -i Input.flv -target dvd Output.mpg . In manchen Fällen ist es sicherer oder sinnvoller die Art des DVD-Formats (ob PAL oder NTSC) mitanzugeben: ffmpeg -i Input.flv -target pal-dvd Output.mpg wandelt ein Flash-File in das DVD- Format, wobei das Audio sogar in AC3 konvertiert wird. Leider habe ich hier einen kleinen Fehler festgestellt, da ohne Angabe der aspect ratio einfach keine vernünftige Ratio gespeichert wird. In manchen Anzeigeprogrammen steht da was von "Standard" und in wieder Anderen was von "5/4". Daher ist es sinnvoller die korrekte Ratio (ob 4:3 oder 16:9) mitanzugeben: ffmpeg -i Input.flv -target pal-dvd -aspect 4:3 Output.mpg möchte man die Bitrate auch noch verändern: ffmpeg -i Input.flv -target pal-dvd -aspect 4:3 -b 3000k Output.mpg Hat man die aspect ratio vergessen, so kann man nachträglich ohne Neukodierung die ratio verändern mittels mpgtx. # mpgtx -j -A2 Input.mpg -o Output.mpg Dabei steht A2 für die Ratio 4:3. Gültige Werte Ax sind 1,2,3,4 für die Proportionen 1:1, 4:3, 16:9 oder 2,2:1. Etwas kniffliger wird es, wenn das Ursprungs-File nicht die korrekte Auflösung hat und man die Größe verändern muss. Hier ein Beispiel mit einem Ursprungs-File das eine Auflösung von 1280x720 (HD) hat und in die DVD-Auflösung von 720x576 konvertiert werden soll und als besondere Schwierigkeit, nicht anamorph! Da das HD-File in der Ratio 16:9 vorliegt müssen wir für die korrekte 4:3 Bildgröße oben und unten schwarze Balken anfügen, man nennt das auch Letterboxed. Würden wir keine Resize-Optionen angeben, würde zwar das File auch in die DVD- Auflösung resized werden, das Bild würde aber verzerrt werden - in dem Fall anamorph gespeichert. Hier nun mit den schwarzen Balken: ffmpeg -i Input.flv -target dvd -padtop 72 -padbottom 72 -s 720x432 Output.mpg Wie man erkennen kann, resizen wir auf die Größe 720x432 und fügen dann jeweils oben und unten 72 Pixel hinzu, was zur finalen Auflösung von 720x576 Bildpunkten führt. Zu beachten ist hier die Reihenfolge der Optionen, denn kommt die Resize-Funktion (-s) vor der "target dvd"-Funktion, hat der Resize-Faktor mit der Höhe 432 keine Wirkung und das Bild wird auf eine Größe von 720x720 (DVD- Höhe 576+72+72=720) skaliert! Anders wenn wir kein Template verwenden, dann gibt es keine einzuhaltende Reihenfolge: ffmpeg -i Input.flv -padtop 72 -padbottom 72 -s 720x432 -vcodec huffyuv -acodec pcm_s16le Output.avi das könnte auch genauso heißen ffmpeg -i Input.flv -s 720x432 -padtop 72 -padbottom 72 -vcodec huffyuv -acodec pcm_s16le Output.avi und macht keinen Unterschied. . Ganze Ordner mit Hilfe einer for-Schleife umwandeln Möchte man einen ganzen Ordner auf einmal umwandeln, hilft folgende for-Schleife: for i in *.avi; do ffmpeg -i "$i" -target pal-dvd -aspect 4:3 "`basename "$i" .avi`".mpg; done oder um bei einen ganzen Ordner voller mpg-Files die aspect ratio zu ändern: for i in *.mpg; do mpgtx -j -A2 "$i" -o /anderes/Verzeichnis/"$i"; done 16.2.4 Aneinanderhängen von avi-Files -------------------------------------- Möchte man mehrere avi-Files mit gleicher Codierung zu einem ganzem File verschmelzen, hilft unter Umständen mencoder: mencoder -forceidx -ovc copy -oac copy Input1.avi Input2.avi -o Output-Gesamt.avi 16.2.5 Konvertieren einer Tonspur einer Videodatei mit ffmpeg -------------------------------------------------------------- Wenn nach einer DVB-T Aufnahme die Tonspur spinnt (im mplayer gehen nur die ersten 2 Minuten Ton, danach gar nichts mehr) hilft folgendes: ffmpeg -acodec mp3 -ab 192k -vcodec copy -i datei.mpg ausgabe.mpg ab ist Audio Bitrate acodec als MP3 Dateien kodieren vcodec Videostream kopieren, nicht antasten 16.3 Amarok ============ * Video-Podcasts mit Amarok: * 1. Download des Scriptes unter: http://kde-apps.org/content/show.php?content=41435 2. Extras -> Script-Verwaltung -> Installieren 3. Ausführen 4. Zu jedem Track in der Playlist kommt nun im Kontextmenü (Rechtsklick) der Punkt PlayVideos -> Play. 5. In der Datei /.kde/share/apps/amarok/scripts/videos/videos.rb kann der kmplayer durch einen eigenen Player (mplayer/kaffeine) ersetzt werden. * Radio-Streams: * . SWR1: http://213.200.97.110:80/swr1bwlive/livestream.mp3 . SWR2: http://213.200.97.110:80/swr2live/livestream.mp3 . SWR3: http://213.200.97.110:80/swr3live/livestream.mp3 . Klassik-Radio: http://str31.creacast.com:80/klassik1 . Bayern 4 Klassik: mms://gffstream-w8b.wm.llnwd.net/gffstream_w8b . DLF: http://dradio-mp3.t-bn.de/dlf_live Die Streams können mit folgenden Skripten gespeichert werden: Als mp3: mplayer -cache 1024 -dumpstream http://213.200.97.110:80/swr3live/livestream.mp3 -dumpfile swr3_vom_`date +%d_%m_%Y`_um_`date +%T`.mp3 Als wma: mkfifo aufnahme.fifo timeout 3480 lame -m s aufnahme.fifo swr3_vom_`date +%d_%m_%Y`_um_`date +%T`.mp3 & /usr/bin/mplayer -ao pcm:file=aufnahme.fifo 'mms://62.26.161.89/swr3live$livestream.wma' rm aufnahme.fifo exit 16.4 Grip ========== . Umlaute in Dateinamen: /Konfiguration/sonstige/ - wandle Dateinamennicht in Kleinbuchstaben um - erlaube hohe Bits in Dateinamen - ändere Leerzeichen nicht in Unterstriche . Variablen für Dateinamen - %t Nummer des Tracks auf der CD - %n Titel des Stückes - %a Künstler des Stückes (ideal für Sampler) - %A Künstler der CD - %d Titel der CD - %y Jahr - %G Genre als Text 16.5 mp3c ========== Mit mp3c lassen sich in der Konsole CDs in mp3 und ogg umwandeln. Mit mp3cd können diese dann gebrannt werden. 16.6 Realplayer ================ Download unter: http://www.real.com/linux/ * Installation: * 1. Ausführbar machen mit: chmod +x RealPlayer*.bin 2. Installieren mit: sudo ./RealPlayer*.bin 3. Frage nach dem Installationsverzeichnis: /opt/realplayer 4. Die nächste Frage einfach durch Eingabe von y bestätigen. 5. Prefix: Vorgabe /usr bestätigen * Alte Codecs in RealPlayer 10 installieren * su Paket "w32codecs" oder "w32codec-all" installieren cp /usr/lib/win32/dnet.so.6.0 /usr/lib/RealPlayer10/codecs/ bzw. /opt/realplayer/codecs/ cp /usr/lib/win32/ddnt.so.6.0 /usr/lib/RealPlayer10/codecs/ bzw. /opt/realplayer/codecs/ cd /usr/lib/RealPlayer10/codecs/ bzw. /opt/realplayer/codecs/ ln -s dnet.so.6.0 dnet.so 16.7 Aufnahme ============== sox -t ossdsp -w -s -r 44100 -c 2 /dev/dsp -t raw - | lame -x -m s - ZIELDATEI.mp3 nimmt das Eingangssignal als mp3 auf. mplayer -ao pcm -aofile datei speicher Livestream in einer Datei 16.8 Sound in der Konsole ========================== playwave spielt eine Wavedatei in der Konsole ab 16.9 Audio/Video-Dateien konvertieren ====================================== 16.9.1 mpg -> flv ------------------ ffmpeg -i input.mpg -s 150x120 -padleft 100 -padright 100 -ar 44100 -r 25 -b 200k output.flv 16.9.2 avi -> flv ------------------ ffmpeg -i original.avi -f flv -b 300k -deinterlace -ar 22050 -ab 64k -s 328x248 ausgabe.flv für die Veröffentlichung im Internet bietet sich folgende Option an: ffmpeg -i input.avi -ar 11025 -ab 32 -b 500k -f flv -s 426x320 output.flv 16.9.3 wma -> wave ------------------- Konvertieren einer WMA-Datei in WAVE: mplayer datei.wma -ao pcm output.wav 16.9.4 ogg -> wave ------------------- oggdec datei.ogg datei.wav konvertiert datei.ogg nach datei.wav. oggdec /Pfad/Audiofiles/*.ogg konvertiert alle Ogg-Files im Verzeichniss /Pfad/Audiofiles/ in Wav-Files. 16.9.5 wave -> ogg ------------------- oggenc datei.wav datei.ogg konvertiert datei.wav nach datei.ogg. oggenc /Pfad/Audiofiles/*.wav konvertiert alle Wav-Files im Verzeichniss /Pfad/Audiofiles/ in Ogg-Files. 16.9.6 wave -> mp3 ------------------- lame -h Song.wav Lied.mp3 konvertiert Song.wav nach Lied.mp3 mit einer Bitrate von 128 Kbits/s. Skriptbeispiel, das alle wav-Dateien eines Verzeichnisses in mp3- Dateien mit einer Bitrate von 128 Kbits/s konvertiert: #!/bin/sh for i in *.wav; do /usr/bin/lame -h -k "$i" "$(basename "$i" .wav)".mp3; done 16.9.7 rm -> avi ----------------- mencoder -ovc lavc input.rm -oac mp3lame -o output.avi konvertiert Real Media-Dateien ins DivX-Format. 16.9.8 dv -> mpeg ------------------ ffmpeg -i DV-Video.avi -vcodec mpeg2video -t pal-dvd 16.9.9 recordmydesktop format konvertieren ------------------------------------------- mencoder -of lavf -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=250:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=640:480-o DeinVideo.flv DeinVideo.ogv 16.9.10 Bitrate von MP3s ändern -------------------------------- mit dem Tool lame können mp3s convertiert etc. werden. Mit dem Kommando lame --mp3input -b 128 .mp3 .mp3 16.10 Filme konvertieren ========================= Mit transcode lassen sich Filme und Videos sehr einfach konvertieren: . VCD: transcode -i "/home/easterdom/Filme/Ein Film.XviD.avi" \ -o "Ein Film.VCD.avi" \ --export_prof vcd . SVCD: transcode -i "/home/easterdom/Filme/Ein Film.XviD.avi" \ -o "Ein Film.SVCD.avi" \ --export_prof svcd . DVD: transcode -i "/home/easterdom/Filme/Ein Film.XviD.avi" \ -o "Ein Film.vob" \ --export_prof vcd Quelle: http://tobias.schroepf.de/doku/doku.php?id=linux:videos_bearbeiten : 16.10.1 Info über Video-Datei herausfinden: -------------------------------------------- tcprobe -i Zeigt Auflösung, aspect ratio und framerate an. 16.10.2 Video demultiplexen (demuxen) -------------------------------------- 16.10.2.1 MPEG Video extrahieren tcextract -i .mpg -x mpeg2 > .m2v 16.10.2.2 MP3 Sound extrahieren tcextract -i .mpg -x mp3 > .mp3 16.10.2.3 MPEG Video multiplexen (muxen) tcmplex -o meinfilm.vob -i meinfilm.m2v -p meinfilm.mpa -m d 16.10.2.4 Video requantisieren Ein MPEG2 kodiertes Video kann man requanitisieren, dadurch verringert sich der Speicherbedarf, die Qualität leidet etwas. Großer Vorteil: Es geht viel schneller als das Video umzukodieren. Nachteil: Video muss vorher demuxt werden tcrequant -i .m2v -o .m2v -f 2.0 -f 2.0 gibt das Verhältnis an. 2.0 bedeutet, dass die entstehende Datei halb so groß ist wie vorher, -f 1.5 erzeugt eine Datei, die 2/3 so gross ist wie vorher usw. Dauert bei einer 2,7GB Bildspur ca. 15 min auf der Xbox (64MB RAM, Celeron 733MHz). Links: http://www.linuxquestions.org/linux/answers/Applications_GUI_Multimedia/DVD9_to_DVD5_guide 16.10.2.5 Video umwandeln (z.b. in xvid4) transcode -i -Z 320x240 -y xvid4 -o -i: Eingabedatei -o: Ausgabedatei -g: Auflösung des Eingabestroms (herausfinden mit tcprobe) -Z: Ausgabe-Auflösung -x: Eingabemodul festlegen (für Video und Audio stream) -y: Ausgabemodul festlegen (für Video und Audio stream) 16.10.2.6 In ein Windows-Media-Player taugliches format transcode -i -Z 320x240 -y ffmpeg -F wmv2 -o .avi 16.10.2.7 In ein komprimiertes WMV-Format ffmpeg -i -r 25 -s 320x240 -vcodec wmv2 .wmv 16.11 Slideshow ================ Ein Slideshow kann über folgende Konsolenbefehle erstellt werden: . Alle Bilder in ein Verzeichnis kopieren. . dir2slideshow -n Titel ./ erstellt eine Steuerdatei . dvd-slideshow -f Titel.txt erstellt die Slideshow . ffmpeg -i Titel.vob -target dvd Film.mpg konvertiert den Film in ein MPEG-Video . Der Befehl dvd-slideshow -a Musik.mp3 -f Titel.txt fügt der Slideshow Musik hinzu. 16.12 mp3 ========== 16.12.1 mp3rename ------------------ Mit mp3rename * können mp3-Dateien nach ihren ID3-Tags benannt werden. Sollten nur ID2-Tags vorhanden sein, müssen diese zuerst mit id3v2 konvertiert werden. 16.12.2 id3v2 -------------- Mit id3v2 -1 werden ID2 in ID3-Tags konvertiert. 16.13 MIDI =========== Um MIDI abspielen zu können sollten folgende Dateien installiert sein: . timidity . timidity-interfaces-extra 16.13.1 Soundfonts ------------------- Um mit timidity alle GM-Klänge abspielen zu können, sollte am besten folgende Soundfontdatei installiert werden: sudo apt-get install fluid-soundfont-gm Dann muss noch die Konfiguration angepasst werden: In der Datei /etc/timidity/timidity.cfg die Zeile source /etc/timidity/freepats.cfg auskommentiert und die Zeile source /etc/timidity/fluidr3_gm.cfg angehängt werden. 16.13.2 timidity ----------------- timidity -Ow -s 44100 -o output.wav input.mid wandelt eine MIDI- Datei in eine WAV-Datei um. 16.13.3 mma ------------ mma - Musical MIDI Accompaniment ist ein Programm um automatisch erzeugte Begleitungen anhand von Akkorden zu erzeugen. Download unter: http://www.mellowood.ca/mma/index.html Die Anwendung ist sehr einfach: mma song.mma erzeugt die Datei song.mid, die dann mit timidity -ig song.mid abgespielt werden kann. Hier eine ganz einfache Beispieldatei: // Mein Song Tempo 120 Groove 8beat 1 C 2 C 3 C 4 C 5 F 6 F 7 C 8 C 9 G 10 F 11 C 12 G7 13 C 14 z! 16.14 emovix ============= Beheben des Fehlers in k3b: 1. Download unter: emovix 2. Umbenennen des Normalize-Programms sudo mv /usr/bin/normalize- audio /usr/bin/normalize 3. Datei anlegen sudo nano /usr/bin/normalize-audio mit folgendem Inhalt: #/bin/bash case "$1" in --version) normalize --version | sed -e 's/normalize /normalize-audio /g' ;; *) normalize $* ;; esac 4. Die angelegte Datei als ausführbar markieren: sudo chmod +x /usr/bin/normalize-audio 16.15 Zattoo ============= Damit Zattoo richtig startet muss die Datei dbus-x11 installiert werden. 16.16 Miro =========== Den Absturz nach dem Start schaltet man durch die Installation von icedtea-java7 ab. sudo apt-get install icedtea-java7-plugin 16.17 Youtube ============== Youtube-Videos können sehr einfach mit dem Konsolenprogramm youtube- dl heruntergeladen werden und dann mit ffmpeg -i konvertiert werden. Neben dem Konsolenprogramm gibt es auch im Internet unter http://bitbucket.org/rg3/youtube-dl/wiki/Home ein gleichnamiges Programm zum Download, das die gleiche Funktion hat, jedoch mehr Einstellmöglichkeiten bietet. Somit ist es möglich, neben der besten Auflüsung "-b" und der Auflösung für mobile Geräte "-m" auch Filme in HD herunterzuladen "-d". 16.18 Sound server fatal error =============================== Untersuchung der Soundkarte mit: lspci | grep audio ergibt folgendes: 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 10) Lösung des Problems mit : echo "options snd-via82xx dxs_support=2" |sudo tee -a /etc/modprobe.d/alsa-base 16.19 ChordPro =============== ChordPro-Dateien können mit chordpack einfach konvertiert werden: ./chordpack html Super\ Trouper.chopro > ST.html ./chordpack tex Super\ Trouper.chopro > ST.tex 16.20 Echtzeitrechte für die Benutzergruppe "Audio" ==================================================== Der Soundserver Jackd benötigt zum zuverlässigen Betrieb besondere Rechte. Diese Rechte kann man der Gruppe "Audio" zuweisen, indem man mit einem Editor mit Rootrechten die Datei /etc/security/limits.conf bearbeitet. Vor Schluss sind drei Zeilen einzufügen, das sieht dann so aus: @audio - rtprio 90 @audio - nice -10 @audio - memlock 4000000 Die Rechte stehen erst nach einer Neuanmeldung am System zur Verfügung. 16.21 amazonmp3 ================ Damit das Programm amazonmp3 läuft muss folgendes ausgeführt werden (alles in einer Zeile!): mkdir amazonmp3 && cd amazonmp3 && wget http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-filesystem1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-regex1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu40_4.0.1-2ubuntu2_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-thread1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-iostreams1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-signals1.34.1_1.34.1-16ubuntu1_i386.deb http://de.archive.ubuntu.com/ubuntu/pool/universe/b/boost/libboost-date-time1.34.1_1.34.1-16ubuntu1_i386.deb && sudo dpkg -i *.deb && sudo apt-get install libglademm-2.4-1c2a && rm * && cd .. && rmdir amazonmp3 ====================================================================== Kapitel 17 Bildbearbeitung ====================================================================== 17.1 screenshot ================ import erstellt einen Screenshot. Ein Klick in ein Fenster kopiert dieses, oder man zieht einen Rahmen auf. sleep 15: import -window root screen.png -> nach 15 Sekunden screenshot Das Srceenshot-Programm der KDE KSnapshot lässt sich mit der Taste "Druck" starten. 17.2 identify ============== identify gibt Informationen über ein Bild aus. mit identify -verbose werden noch ausführlichere Inforamtionen angezeigt. 17.3 Bilder drehen =================== find . -name "*.JPG" -exec jhead -autorot "{}" ";" 17.4 convert ============= 17.4.1 Bildtyp umwandeln ------------------------- convert oder als Schleife für viele Bilder: for picture in *.gif ; do convert $picture "${picture/.gif}.png" done 17.4.2 Bild in Postscript umwandeln ------------------------------------ convert zusätzliche Parameter: convert -page A4+0+0 -monochrome -page A4 ist die Seitengröße +0+0 gibt die Position auf dem Blatt an. -monochrome wandelt in ein schwarz-weiß-Bild um. 17.4.3 Bilder verkleinern -------------------------- . convert -scale 100x grossesbild.jpg kleinesbild.jpg Ein Bild wird hiermit proportional auf eine Breite von 100 verkleinert. Statt 100x kann man auch eine Prozentzahl angeben: convert -scale 20% grossesbild.jpg kleinesbild.jpg . Script um alle Bilder in einem Verzeichnis zu verkleinern: #!/bin/bash for file in * do convert -scale 100x $file klein_$file done . In einer Zeile: for i in *.jpg; do convert -resize 20% $i `basename $i .jpg`_thumb.jpg; done . convert -geometry 1024x1024 . ein weiteres Script: #!bin/bash for i in `ls *.jpg` ; do convert -geometry 1024x1024 -quality 90 $i xga_$i ; done 17.4.4 Animationen ------------------- convert -delay 20 *.jpg out.gif erstellt ein animiertes GIF-Bild aus allen JPG-Bildern im Verzeichnis. mencoder 'mf://*.jpg' -mf type=jpg:fps=4 -ovc copy -oac copy -o output.avi oder mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4 erstellt einen AVI-Film bzw. einen mpeg- Film. convert -delay 20 *.jpg out.gif erzeugt eine GIF-Animation 17.4.5 Bildübersicht --------------------- convert vid:*.jpg directory.jpg erstellt eine Übersicht aller jpg- Dateien im Verzeichnis in der Datei directory.jpg montage *.jpg panorama.jpg erstellt eine Übersicht 17.4.6 Wasserzeichen in Bilder schreiben ----------------------------------------- convert -font /usr/X11R6/lib/X11/fonts/truetype/arial.ttf -pointsize 20 -fill gray -draw "text 30,30 'Copyright by Linux'" schreibt den Text "Copyright by Linux" in das Bild "bildmitwasserzeichen.jpg". 17.5 EXIF-Informationen ======================== Bild nach EXIF-Informationen drehen: exifautotran *.jpg 17.6 renrot ============ Mit dem Befehl renrot lassen sich Bilder drehen und nach ihrem Aufnahmedatum umbenennen. renrot --mtime --name-template="%Y-%m- %d_%Hh%M-%S" --extension JPG 17.7 scanimage =============== Scant Bilder in *.pnm oder *.tiff-Dateien Optionen: --device Scanner --mode Farbmodus --resolution Auflösung Beispiel: scanimage --device=umax:/dev/sg2 --mode=Gray --resolution=300 > out.pnm Siehe auch: pnmtops 17.8 digikam ============= 17.8.1 Datumsformat zum Sortieren ---------------------------------- %Y-%m-%d-%H-%M-%S 17.8.2 Fehler bei der Erstellung von Filmen beheben ---------------------------------------------------- sudo kwrite /usr/bin/images2mpg 1. In dem Script muss nun die Zeile 818 gesucht werden. Diese lautet: done | $PPMTOY4M_BIN -v $VERBOSE -n $NBFRAMETOTAL -F $IMAGES_SEC_FORMAT | $YUVSCALER_BIN -v $VERBOSE -n $VIDEO_TYPE_LETTER -O $VIDEO_FORMAT | $MPEG2ENC_BIN -v $VERBOSE -n $VIDEO_TYPE_LETTER -b $BIT_RATE -V $BUFFER_SIZE -f $VIDEO_FORMAT_NUMBER -o "$TMPFILENAME.tmp.m2v" 2. Die Zeile muss geändert werden in: done | $PPMTOY4M_BIN -v $VERBOSE -n $NBFRAMETOTAL -F $IMAGES_SEC_FORMAT *-S 420mpeg2* | $YUVSCALER_BIN -v $VERBOSE -n $VIDEO_TYPE_LETTER -O $VIDEO_FORMAT | $MPEG2ENC_BIN -v $VERBOSE -n $VIDEO_TYPE_LETTER -b $BIT_RATE -V $BUFFER_SIZE -f $VIDEO_FORMAT_NUMBER -o "$TMPFILENAME.tmp.m2v" 3. mpg321 muss installiert werden 17.8.3 Deutsche Oberfläche wieder herstellen --------------------------------------------- Herunterladen der Datei digikam.mo sudo cp digikam.mo /usr/share/ locale-langpack/de/LC_MESSAGES 17.9 Gimp ========== 17.9.1 Transparenz ------------------- Um den Hintergrund eines Bildes transparent zu machen erstellt man eine zweite Ebene, die transparent sein muss. Mit dem "Zauberstab" ("Zusammenhängenden Bereich" anwählen) auf den Hintergrund klicken ctrl-x drücken ctrl-m als *.png oder *.gif speichern. 17.9.2 Animationen ------------------- 1. Alle Bilder müssen dieselbe Größe haben 2. Bild2 anwählen (Strg+A) (Strg+C) Bild1 anwählen (Strg+V) es erscheint im Fenster Ebenen, Kanäle,..... eine "schwebende Ebene". Mit der rechten Maustaste auf die Ebene klicken und Neue Ebene wählen. 3. Speichern als gif 17.10 Inkscape =============== Kubuntu-Benutzer: Inkscape auf deutsch erhält man durch Installieren des Pakets "language-pack-gnome-de" ====================================================================== Kapitel 18 Sonstiges ====================================================================== 18.1 Beschränkungen für Kinder einrichten ========================================== 18.1.1 timekpr --------------- Zeitkontingente für einzelne User Mit dem Programm timekpr lassen sich sehr einfach Zeitkontingente für jeden einzelnen Benutzer einstellen. So kann man eine Gesamtzeit pro Tag und Zeitfenster für jeden Tag einrichten. Das Programm gibt es zum Download unter https://launchpad.net/timekpr/. Ein fertiges Debian- Paket gibt es hier: timekpr_0.3.2 ppa1 ubuntu2_all.deb 18.1.2 dansguardian -------------------- Internetfilter für Kinder mit Dansguardian 1. Installiere folgende Pakete: sudo apt-get install dansguardian squid iptables 2. Konfiguration des Squid: /etc/squid/squid.conf . aktivieren der Apache log emulation (zur Zugriffsüberwachung): emulate_httpd_log on . setze den Hostnamen: visible_hostname localhost . ändere die Zeile http_port 3128 folgendermaßen: http_port 3128 transparent 3. Konfiguration des Dansguardian: /etc/dansguardian/dansguardian.conf . UNCONFIGURED auskommentieren: # UNCONFIGURED 4. In der Datei: /etc/dansguardian/dansguardianf1.conf . setze naughtynesslimit = 130 5. Starten der Dienste: . /etc/init.d/squid start . /etc/init.d/dansguardian start 6. iptables setzen: iptables -t nat -A OUTPUT -p tcp -m owner ! -- uid-owner proxy --dport 80 -j REDIRECT --to-port 8080 7. Erstelle die Datei /etc/init.d/transparentproxy , die folgende Zeile enthält: iptables -t nat -A OUTPUT -p tcp -m owner ! -- uid-owner proxy --dport 80 -j REDIRECT --to-port 8080 8. mache die Datei ausführbar mit chmod a+x /etc/init.d/transparentproxy 9. erstelle startup Links: update-rc.d transparentproxy defaults 10. Dansguardian schreibt ausführliche Logdateien in /var/log/dansguardian/access.log 11. Squid-Cache leeren: die Datei /var/cache/squid/swap.state löschen sudo /etc/init.d/squid stop sudo rm -rf /var/spool/squid/* sudo squid -z sudo /etc/init.d/squid start 18.1.2.1 Schalter für Dansguardian Um dansguardian mit root-Rechten ab- und anzuschalten hilft folgender Workaround: 1. Kopiere die Datei /etc/dansguardian/lists/exceptioniplist in eine neue Datei /etc/dansguardian/lists/exceptioniplist.aus 2. Kopiere die Datei /etc/dansguardian/lists/exceptioniplist in eine neue Datei /etc/dansguardian/lists/exceptioniplist.ein 3. In der Datei /etc/dansguardian/lists/exceptioniplist.aus muss die eigene Rechneradresse als Ausnahme enthalten sein. 4. Batchfile mit folgendem Inhalt erstellen: # Internetfilter einschalten if [ $1 = on ] then echo sudo cp /etc/dansguardian/lists/exceptioniplist.ein /etc/dansguardian/lists/exceptioniplist sudo /etc/init.d/dansguardian stop sudo /etc/init.d/dansguardian start echo echo Der Filter ist jetzt eingeschaltet. echo exit 0 fi # Internetfilter ausschalten if [ $1 = off ] then echo sudo cp /etc/dansguardian/lists/exceptioniplist.aus /etc/dansguardian/lists/exceptioniplist sudo /etc/init.d/dansguardian stop sudo /etc/init.d/dansguardian start echo echo Der Filter ist jetzt ausgeschaltet. echo Einschalten nicht vergessen. echo exit 0 18.2 Passwörter erstellen ========================== makepasswd --chars 6 --count 80 > passwoerter.txt 18.3 date ========== Datumsanzeige 18.4 cal ========= Kalender 18.5 bc ======== Tachenrechner 18.6 Java-Programme starten ============================ java -jar Pfade für verschiedene Java-Versionen: . /usr/lib/j2se/1.4/jre/bin/java . /usr/lib/jvm/java-6-sun-1.6.0.03/bin/java . /usr/lib/jvm/java-7-icedtea/bin/java 18.7 Arcor DNS-Server ====================== Wenn die Namensauflösung sehr lange (7-10 Sek) dauert, kann das an einer fehlerhaften DNS-Namensauflösung liegen. Dann sollten einfach die Namensserver des Providers an die oberste Stelle eingetragen werden. Unter kubuntu finden sich dies in Systemeinstellungen / Netzwerkeinstellungen / Namensauflösung. Die Namensserver für Arcor im Linux /etc/resolv.conf Format lauten: . nameserver 145.253.2.11 . nameserver 145.253.2.75 . nameserver 145.253.2.171 . nameserver 145.253.2.203 . nameserver 195.50.140.114 . nameserver 145.253.2.196 . nameserver 145.253.2.81 . nameserver 145.253.2.174 18.8 OpenOffice ================ 18.8.1 Fenster andocken ------------------------ Mit +Doppelklick auf Menüleiste des anzudockenden Fensters wird ein freigestelltes Fenster wieder angedockt. 18.8.2 Kprinter als Standard setzen ------------------------------------ 1. In der Konsole als root anmelden 2. /usr/lib/ooo-2.0/program/spadmin bzw. /opt/openoffice.org2.0/program/spadmin starten 3. new printer 4. Connect a PDF converter 5. default driver 6. kprinter --stdin eingeben 7. Kprinter nennen 8. default setzen 18.9 Moneyplex =============== Hinweise zur Installation unter Linux unter: http://www.matrica.de/service/faq3.html Weiterhin müssen die xfonts-75dpi installiert werden (ansonsten werden die Schriften sehr unklar dargestellt: sudo apt-get install xfonts-75dpi xfonts-75dpi-transcoded Anschließend System neu starten! 18.10 SecurStick ================= SecurStick ist ein Programm zum einfachen Verschlüsseln von Daten auf einem USB-Stick. Download unter http://www.withopf.com/tools/securstick/ Damit ein Stick, der mit FAT formatiert ist, unter Linux ausführbar gemountet wird, muss der USB-Stick in der fstab eingetragen werden. 1. UUID des Stick ermitteln mit sudo blkid 2. Ergänzung der /etc/fstab mit: UUID=3D72-8344 /media/USB-Stick vfat defaults,users,noauto,exec 0 0 18.11 Googleearth ================== Googleearth zeigt in der Version 4.3 eine sehr kleine Menüschrift an. Die Lösung: In der Datei ~/.config/Google/GoogleEarthPlus.conf folgenden Eintrag ändern: [Render] GuiFontSize=12 18.12 Joomla ============= Joomla ist ein populäres CMS-System. Um lokal auf dem eigenen Rechner exprimentieren zu können, bietet sich eine Installation von lampp an. lampp ist die Linux-Version von xampp (Paket von Apache, MySQL und FTP-Programm) das bei http://www.apachefriends.org/ heruntergeladen werden kann. 18.12.1 lampp -------------- Die Installation von lampp: . lampp nach /opt kopieren mit tar xvfz xampp-linux-1.6.7.tar.gz -C /opt entpacken . mit /opt/lampp/lampp start starten . mit http://localhost/ testen 18.12.2 MySQL -------------- . http://localhost im Browser eingeben . phpMyAdmin anklicken . Datenbank anlegen . Server: localhost anklicken . Rechte anklicken . Neuen Benutzer hinzufügen . Benutzename eingeben . Host -> localhost . Kennwort angeben . "Gewähre alle Rechte auf Datenbanken" enklicken . Globale Rechte -> Alle auswählen . OK anwählen 18.12.3 xampp beim Systemstart starten --------------------------------------- Runlevel mit who -r herausfinden In den entsprechenden Runlevel wechseln: cd /etc/rc2.d Links erstellen: ln -s /opt/lampp/lampp S99lampp ln -s /opt/lampp/lampp K01lampp 18.12.4 Joomla installieren ---------------------------- Joomla wird von http://www.joomla.de/ heruntergeladen und dann installiert: . Entpacken in das Verzeichnis /opt/lampp/htdocs/joomla/ dazu zuerst das Verzeichnis mit sudo mkdir /opt/lampp/htdocs/joomla erstellen, dann mit sudo unzip Joomla_1.5.14-Stable-Full_Package_German.zip -d /opt/lampp/htdocs/joomla/ entpacken . Erstellen der Datei configuration.php in /opt/lampp/htdocs/joomla/ mit sudo touch /opt/lampp/htdocs/joomla/configuration.php . Ändern der Rechte mit sudo chmod 777 /opt/lampp/htdocs/joomla/configuration.php . mit http://localhost/joomla konfigurieren 18.12.4.1 Joomla mysql-error Joomla mysql-error bei benutzerverwaltung: folgende Zeilen in der Datei /plugins/content/cdpetitions/table/cdpetitions.php abändern: Ersetze in Linie 107: ') TYPE=MyISAM;'; In: ') ENGINE=MyISAM;'; 18.13 Evolution ================ 18.13.1 Evolution reagiert nicht mehr -------------------------------------- Wenn Evolution bei der Anzeige der E-Mails hängt, hat es geholfen, einfach mal die Datei ~/.evolution/mail/local/folders.db umzubenennen. Wenn man Evolution danach öffnet, werden die E-Mails in den Ordnern neu eigelesen, was eine Weile dauern kann. Mit evolution -force- shutdown lässt sich Evolution beenden. 18.13.2 Feiertage und Ferien ----------------------------- Auf sunbird-kalender.de gibt es die deutschen Daten im .ics-Format. Diese kann man dann einfach in den Kalender von Evolution einbinden: Es ist empfehlenswert, einen separaten Kalender anzulegen und die Daten dort zu speichern, ist dann farblich übersichtlicher: "Datei -> Neu -> Kalender -> Typ: "Auf diesem Computer" -> Name: z.B. "Feiertage" -> andere Farbe auswählen als der normale Kalender" importieren: "Datei -> importieren -> vor -> einzelne Datei -> vor -> Dateiname: runtergeladene Datei auswählen -> Dateityp: "iCalendar-Dateien (.ics)" -> passenden Kalender auswählen (z.B. "Feiertage") -> vor -> importieren". 18.13.3 Synchronisation ------------------------ Evolution lässt sich sehr einfach mit dem Kalender von Google synchronisieren. Dazu muss man einfach einen neuen Kalender anlegen, als Art >Google< auswählen und den Google-Benutzernamen angeben. über "Liste abrufen" lassen sich dann, nach Angabe des Passwortes, alle eigenen Googlekalender einbinden. Diese werden dann automatisch synchronisiert. 18.14 MuseScore ================ Verzeichnis für Plugins: .local/share/data/MusE/MuseScore/plugins Eigene Vorlagen speichert man in : /usr/share/mscore/templates Eine Stimme in eine zweite Stimme kopieren (mehrstimmiger Satz): 1. Die Ausgangsstimme selektieren (Klick auf erste und letzte Note mit gehaltener Shift-Taste) 2. Bearbeiten - Stimmen - Stimmen 1-2 tauschen 3. Strg-C (in Zwischenablage kopieren) 4. leere Notenzeile anwählen und einfügen (Strg-V) 5. Transponieren (Noten - Transponieren) 6. Bearbeiten - Stimmen - Stimmen 1-2 tauschen 7. Strg-C (in Zwischenablage kopieren) 8. Pause (blau) in der ersten Notenzeile anwählen 9. einfügen (Strg-V) 10. Bearbeiten - Stimmen - Stimmen 1-2 tauschen 18.15 Synaptic =============== Wenn die Schnellsuche in Synaptic fehlt: sudo apt-get install apt-xapian-index sudo apt-get install apt aptitude synaptic --reinstall 18.16 reguläre Ausdrücke ========================= Mit regulären Ausdrücken lassen sich sehr komplexe Such- und Ersetzaktionen durchführen. \(.*\)\n sucht nach einem Ausdruck in Klammern, gefolgt von einem Zeilenumbruch. ====================================================================== Kapitel 19 Distributionen ====================================================================== Übersicht und Download unter: http://distrowatch.com/ 19.1 Debian ============ Download von http://www.debian.de/CD/ Linux Mint Debian (LMDE) ist eine sehr gute Debian-Distribution, die Debian in der Grundinstallation um viele Multimediaerweiterungen und eine etwas einfachere Konfiguration erweitert. Download unter http://linuxmint.com/ Hilfe zu LinuxMint findet man unter: http://www.linuxmintusers.de/ Debian aktualisiert sich über ein sogenanntes Rolling-Release. Das bedeutet, dass sich das System kontinuierlich selbst auf dem neuesten Stand hält. Im Idealfall installiert man einmal sein System und muss dann jahrelang nichts mehr tun. Ein tolles Nachschlagewerk zu Debian findet sich unter: http://debiananwenderhandbuch.de/ Wer Programme unter Debian vermisst wird hier fündig: http://people.debian.org/ bartm/borg/missing.html 19.1.1 Quellen --------------- Für die Original-Debian-Quellen muss in die sources.list folgendes eingetragen werden: deb http://ftp.de.debian.org/debian/ stable main contrib non-free deb http://security.debian.org/ stable/updates main contrib non-free 19.1.2 Neue sources.list für LMDE ---------------------------------- deb http://packages.linuxmint.com/ debian main upstream import backport romeo deb http://debian.linuxmint.com/latest testing main contrib non-free deb http://debian.linuxmint.com/latest/security testing/updates main contrib non-free deb http://debian.linuxmint.com/latest/multimedia testing main non-free # Virtualbox deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free # deb-src http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free 19.1.3 Grafiktreiber --------------------- 19.1.3.1 ATI-Grafiktreiber sudo apt-get install --yes fglrx-control fglrx-glx fglrx-modules-dkms sudo aticonfig --initial 19.1.3.2 Nvidia-Grafiktreiber sudo apt-get install --yes nvidia-kernel-dkms nvidia-glx build- essential nvidia-settings nvidia-xconfig sudo nvidia-xconfig Für die Hardware-Beschleunigung von HD-Videos über VDPAU wird das Paket libvdpau1 benötigt. sudo apt-get install --yes libvdpau1 Sollte danach die CPU-Belastung beim Abspielen von HD-Videos noch immer sehr hoch sein oder unschönes Tearing auftreten, sorgt der Befehl: sudo nvidia-xconfig --no-composite und ein anschließender Neustart für Abhilfe. 19.1.3.3 Netzwerk geht nach Installation von ffmpeg nicht mehr Bei der Installation von ffmpeg wird unerklärlicherweise dnet-common mitinstalliert. Dieses Programm führt zu einer Veränderung der MAC- Adresse und der IP-Adresse, woraufhin der rechner meist nicht mehr ins Netzwerk kommt. Die einfachste Lösung ist mittels dpkg -r dnet-common das Programm sofort wieder zu deinstallieren. 19.1.3.4 Beep beim Login abschalten Wenn der Lautsprecher-Beep beim Login stört, so lässt sich dieser folgendermaßen abschalten: echo "options snd_hda_intel beep_mode=0" >> /etc/modprobe.d/alsa-base.conf echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist.conf 19.1.4 Der Debian-Bootvorgang ------------------------------ * Das init-Programm * Wie alle Unices, wird Debian durch das Programm init gestartet. Die Konfigurationsdatei für init (dies ist /etc/inittab) gibt an, dass das erste zu startende Skript /etc/init.d/rcS ist. Dieses Skript startet alle anderen Skripte in /etc/rcS.d/, entweder indem diese eingebunden oder explizit als Unterprozess aufgerufen werden, je nach Dateierweiterung. Diese Skripte initialisieren das System indem sie z.B. Dateisysteme überprüfen und einbinden, Module laden, Netzwerk- Dienste starten, die Uhrzeit setzen, u.a. Danach werden zwecks Kompatibilität die Dateien (mit Ausnahme der mit einem `.' im Dateinamen) in /etc/rc.boot/ ausgeführt. Jedes Skript in diesem Verzeichnis ist normalerweise dem Systemadministrator vorbehalten, die Verwendung dieser in Paketen wird missbilligt. Vergleichen Sie Hinweise zur System-Inititalisierung, Abschnitt 9.1 und System run levels and init.d scripts in den Debian-Richtlinien für weitere Informationen. * Runlevel * Nach dem Bootprozess führt init alle Startskripte in einem durch das Standard-Runlevel festgelegten Verzeichnis aus. (Dieses Runlevel wird durch den Eintrag id in /etc/inittab festgelegt). Wie viele System-V- kompatible Unixe hat Linux 7 Runlevel: . 0 (Anhalten des Systems), . 1 (Einzelnutzer Modus), . 2 bis 5 (verschiedene Mehrbenutzer-Modi) und . 6 (Neustart des Systems). Für Debian-Systeme gilt id=2, was bedeutet, dass das Standard-Runlevel 2 sein wird, wenn der Mehrbenutzer-Modus aktiv ist und die Skripte in /etc/rc2.d/ werden ausgeführt. In Wirklichkeit sind die Skripte in den Verzeichnissen /etc/rcN.d/ nur symbolische Links zu Skripten in /etc/init.d/. Dennoch werden die Namen der Dateien in jedem der /etc/rcN.d/-Verzeichnisse individuell gewählt, um anzugeben wie die Skripte in /etc/init.d/ gestartet werden. Speziell werden bevor ein Runlevel aktiv wird, alle Skripte die mit `K' beginnen ausgeführt; diese Skripte beenden Dienste. Danach werden alle Skripte die mit `S' beginnen gestartet; diese Skripte starten Dienste. Die zweistellige dem `K' oder `S' folgende Nummer bestimmt die Reihenfolge der Ausführung. Skripte mit kleinerer Nummer werden zuerst ausgeführt. Dieses Vorgehen funktioniert, da die Skripte in /etc/init.d/ alle ein Argument akzeptieren, das entweder "start", "stop", "reload", "restart" oder "force-reload" sein kann und eine dem Argument entsprechende Aktion ausführen (starten, stoppen, neuladen, neustarten, erzwinge Neuladen). Diese Skripte können auch ausgeführt werden, nachdem das System gebootet wurde, um verschiedene Prozesse zu kontrollieren. Zum Beispiel führt das Argument "reload" im Kommando /etc/init.d/exim4 reload dazu, dass der exim4-Daemon ein Signal zum erneuten Einlesen der Konfigurationsdatei erhält. * Anpassen des Bootvorgangs * Debian verwendet kein BSD typisches rc.local Verzeichnis, um den Bootvorgang anzupassen; stattdessen wird folgender Mechanismus angeboten. Angenommen foo sei ein Skript, das während des Startvorgangs oder beim Übergang in ein bestimmtes (System V) Runlevel aufgerufen werden soll. Dann sollte der Systemadministrator: Das Skript foo in das Verzeichnis /etc/init.d/ verschieben. Das Debian-Kommando update-rc.d mit entsprechenden Argumenten starten, um Links zwischen den (Kommandozeilen spezifischen) Verzeichnissen rc?.d und /etc/init.d/foo anzulegen. Dabei bezeichnet ? eine Nummer von 0 bis 6, die einem der System V Runlevel entspricht. * Das System neu booten * Das Kommando update-rc.d setzt Links zwischen Dateien im Verzeichnis rc?.d und dem Skript in /etc/init.d/. Jeder Link beginnt mit einem `S' oder `K', gefolgt von einer Nummer, gefolgt vom Namen des Skripts. Beim Wechsel in das Runlevel N, werden Skripte in /etc/rcN.d/ die mit `K' beginnen mit stop als Argument ausgeführt, gefolgt von den mit `S' beginnenden Skripten in /etc/rcN.d/ mit start als Argument. Man kann z.B. das Skript foo beim Booten ausführen lassen, indem man es nach /etc/init.d/ verschiebt und die Links mit update-rc.d foo defaults 19 erstellt. Das Argument defaults bezieht sich auf das Standard-Runlevel, welches zwischen 2 und 5 liegt. Das Argument 19 sichert, dass foo vor allen Skripten, welche die Nummern 20 oder größer enthalten, gestartet wird. 19.1.5 NVIDIA-Treiber installieren ----------------------------------- Installation des nVidia-Treibers mit dem module-assistant (für vorkompilierte Kernel) 1. Kernel-Modul installieren (muss für jeden neuen Kernel wiederholt werden) apt-get install module-assistant nvidia-kernel-common m-a update m-a prepare # für neue Grafikkarten m-a a-i nvidia # für ältere Grafikkarten m-a a-i nvidia-kernel-legacy-96xx-source 2. nVidia user-space libraries installieren # für neue Grafikkarten ($NVDIST = stable, testing oder unstable) apt-get -t $NVDIST install nvidia-glx # für ältere Grafikkarten ($NVDIST = stable, testing oder unstable) apt-get -t $NVDIST install nvidia-glx-legacy-96xx 3. Konfiguration anpassen vim /etc/X11/xorg.conf * unter "Module" * Load "glx" einfügen Load "dri" auskommentieren Load "GLCore" auskommentieren * unter "Device" * Driver "nvidia" 4. alle Benuter der Gruppe "video" hinzufügen 19.1.6 Besonderheiten NVIDIA-Legacy-Treiber -------------------------------------------- Für ältere NVIDIA-Grafikkarten muss der Legacy-Treiber installiert werden. Die Treiber werden jedoch nicht in das Verzeichnis installiert, in dem der X-Server sie sucht. Daher müssen sie von "Hand" kopiert werden. Hierfür die Inhalte der Verzeichnisse "dirvers" und "extensions" von /usr/lib/xorg/modules nach /usr/X11R6/lib/modules kopieren. 19.1.7 32Bit-Programme unter Debian 64bit ------------------------------------------ Damit auch 32Bit-Anwenungen unter einer 64Bit-umgebung ausgeführt werden müssen die ia32-libs installiert werden: sudo apt-get install ia32-libs lib32gomp1 19.2 ubuntu / kubuntu ====================== Download von http://www.ubuntu.com/ 19.2.1 Upgrademanager starten: update-manager -d --------------------------------------------------- 19.2.2 Benutzer root anlegen ----------------------------- sudo passwd root , Passwort eingeben und fertig. 19.2.3 sources.list -------------------- Die Datei sources.list befindet sich in /etc/apt/ Ermittlung der schnellsten Server mit apt-spy 19.2.4 verschiedene ubuntu-Desktops installieren ------------------------------------------------- . KDE: apt-get install kde-desktop . Gnome: apt-get install ubuntu-desktop . Edubuntu: apt-get install edubuntu-desktop . Xfce Desktop: xubuntu-desktop . ubuntuStudio: apt-get install ubuntustudio-desktop Für Audioanwendungen ist es sinnvol einen Realtime-Kernel zu installieren, um die Latenzzeit möglichst gering zu halten. Vorgehensweise: Installieren von linux-rt , linux-restricted-modules-rt (optional) , linux-backports-modules-rt (optional) Danach die Datei /etc/security/limits.conf editieren: @audio - rtprio 90 @audio - nice -10 @audio - memlock 4000000 19.2.5 Bootlogo ändern ----------------------- sudo update-alternatives --config default.plymouth sudo update-initramfs -u -k all 19.2.6 Minimalsystem installieren ---------------------------------- mit der Alternate-CD booten und mit F4 "Kommandozeilensystem" auswählen Dann werden die Quellen für LXDE hinzugefügt: echo "deb http://ppa.launchpad.net/lxde/ppa/ubuntu hardy main" > /etc/apt/sources.list.d/lxde.list sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 7992E892 ein X-System wird dann mit apt-get install xterm xorg xinit lxde lxterminal gdm installiert als weitere Fenstermanager bieten sich an: . Openbox: sudo aptitude install openbox obconf openbox-themes . IceWM: sudo aptitude install icewm iceconf icepref iceme icewm- themes . Fluxbox: sudo aptitude install fluxbox fluxconf 19.3 SuSE ========== Download von http://de.opensuse.org/ 19.3.1 Grundinstallation ------------------------- 1. CD bzw. DVD einlegen und booten 2. "Installation" auswählen 3. Den Anweisungen am Bildschirm folgen 4. "KDE" anwählen 5. Die Partitionierung sollte umgeändert werden: . root-Partiion mit ca. 6 GB . home-Partition mit dem restlichen Festplattenspeicher (Achtung: Wenn das home-Verzeichnis schon vorhanden ist, nicht formatieren!) . Formatieren mit Reiser . Die Swap-Partition muss auf jedem Linux-System vorhanden sein 19.3.2 Fehlende Pakete ----------------------- Im YaST muss unter "Software/Installationsquelle wechseln" unter "Hinzufügen" "HTTP" angewählt werden. Bei Hinzufügen gibt man als Servername: Packman: packman.iu-bremen.de/suse/10.0 Wesnoth: gumbeargang.de/rpm/wesnoth/10.0 (meist nicht erreichbar) Fernández: www.polinux.upv.es/~vfernandez/suse/10.0 (meist nicht erreichbar) *Super: opensuse.linux.co.nz/apt/suser-agirardet/10.0 (meist nicht erreichbar) Schiele: pi3.informatik.uni-mannheim.de/~schiele/suse/10.0 JArpack: jarpack.com/suse/10.0 SUSE: sunsite.informatik.rwth-aachen.de/ftp/pub/linux/suse/i386/10.0/ SUSE-Linux10.0-GM-Extra KDE: software.opensuse.org/download/repositories/KDE:/KDE3/SUSE_Linux_10.0 Dann unter "Hinzufügen" "FTP" auswählen und die folgende Serveradressen eintragen: usr local bin: ftp.gwdg.de/pub/linux/usr-local-bin/10.0 Jengelh: ftp.gwdg.de/pub/linux/misc/suser-jengelh/SUSE-10.0 SUSE: ftp.gwdg.de/pub/suse/i386/10.0/SUSE-Linux10.0-GM-Extra GNU_Cash: ftp.gwdg.de/linux/misc/suser-crauch/10.0 Guru: ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.0 Packman: packman.links2linux.de/pub/packman/suse/10.0 Socorot: ftp.gwdg.de/pub/linux/misc/suser-scorot/suse100 SUSE: ftp.gwdg.de/pub/opensuse/distribution/SL-10.0-OSS/inst-source oder download.opensuse.org/distribution/SL-10.0-OSS/inst-source SUSE: ftp.gwdg.de/pub/opensuse/distribution/SL-10.0-OSS/inst-source- java oder download.opensuse.org/distribution/SL-10.0-OSS/inst-source-java SUSE: ftp.gwdg.de/pub/suse/i386/10.0/inst-source-extra Packman: packman.links2linux.de/pub/packman/suse/10.0 Jack-Lab: ftp.gwdg.de/pub/linux/misc/jacklab/SUSE-10.0 (nur für spezielle Musik-PCs) Suser-liviudm: ftp.gwdg.de/pub/linux/misc/suser-liviudm/10.0 Suser-oc2pus: ftp.gwdg.de/linux/misc/suser-oc2pus/10.0 Suser-scrute: ftp://ftp.gwdg.de/pub/linux/misc/suser-scrute/suse10 GNOME: ftp.uni-bayreuth.de/pub/linux/suse/i386/supplementary/GNOME/ update_for_10.0/yast-source GNOME: ftp://ftp.gwdg.de/pub/suse/i386/supplementary/GNOME/update_for_10.0 Funktronics: ftp.funktronics.ca/pub/rpm/SuSE-10.0 19.3.3 rpm ----------- 19.3.3.1 rpm installieren rpm -iv Update: rpm -Uhiv yast -i 19.3.3.2 ist des Paket installiert? rpm -qa | grep 19.3.3.3 welches Paket beinhaltet das Programm? rpm -qf /vollstaendiger_pfad/dateiname 19.3.3.4 rpm-entpacken rpm2cpio | cpio -idmv --no-absolute-filenames 19.3.3.5 Programm aus der Installationsliste austragen rpm -e --justdb wine wine wird ausgetragen 19.3.4 Grafiktreiber --------------------- Alle Einträge zur Grafik finden sich in /etc/X11/xorg.conf Mit sax2 -p erfährt man nähere Informationen zu der Grafikkarte Wenn die Installation eines Grafiktreibers fehlgeschlagen hat, kann man mit init 3 herunterfahren in den Runlevel 3 sax2 -nv bzw. switch2nv Standard-Einstellung wiederherstellen sax2 -m 0=nvidia stellt den Nvidia-Treiber ein sax2 -m 0=vesa stellt den Standard-Treiber ein 19.3.5 Klassisch mounten ------------------------- Im Verzeichnis /usr/share/hal/fdi/policy/ die Datei noautomount.fdi mit folgendem Inhalt anlegen: false Danach als root rchal restart ausführen. In der Datei /etc/fstab müssen die Zeilen für Wechselmedien folgendermaßen abgeändert werden: /dev/dvd /media/dvd auto noauto,ro,user,exec,iocharset=utf8 0 0 /dev/sda1 /media/usbstick auto noauto,user,exec,async 0 0 /dev/fd0 /media/floppy auto noauto,user,exec,async 0 0 Mit mount -a wird die fstab wieder neu eingelesen. Das automatische Öffnen von Speichermedien muss abgeschaltet werden ("Diese Einstellung merken.") Einstellungen zu HAL, Automount... finden sich unter Kontrollfeld / Angeschlossene Geräte / Speichermedien / Erweitert. 19.4 System-Rescue-CD ====================== Download von http://www.sysresccd.org 19.4.1 Bootparameter --------------------- . ntpasswd: Windows-Passwörter ändern . hdt: Systemdiagnose . memtest: Speichertest . freedos: DOS . mhdd Hard Disk Drive Diagnose . grubdisk: Super Grub Disc 19.4.2 Images erstellen ------------------------ _ Bootsektor sichern:_ sfdisk -d /dev/sda > part.info dd if=/dev/sda of=./part.mbr bs=512 count=1 19.4.2.1 fsarchiver Erstellen: Zuerst die Partition mounten, auf die das Image geschrieben werden soll. mount /dev/sda2 /mnt/backup fsarchiver -v savefs /mnt/backup/sicherung.fsa /dev/sda1 Zurückschreiben: fsarchiver restfs /mnt/backup/sicherung.fsa id=0,dest=/dev/sda1 19.4.3 SystemRescueCD von Festplatte starten --------------------------------------------- Wird die SystemRescueCD für regelmäßige Systembackups benötigt, so kann diese auf der Festplatte installiert und über Grub gestartet werden. Hierzu sind folgende Schritte notwendig: 1. Auf einer Partition (die später nicht gesichert werden soll!) den Ordner /sysrcd erstellen 2. Aus dem ISO-File der SystemRescureCD die Dateien /sysrcd.dat, . /sysrcd.md5, /isolinux/initram.igz und /isolinux/rescuecd direkt in den Ordner /sysrcd kopieren. 3. Grub anpassen Folgende Zeilen in /boot/grub/menu.lst einfügen: title SystemRescueCd root (hd1,1) kernel /sysrcd/rescuecd subdir=sysrcd setkmap=de vga=791 initrd /sysrcd/initram.igz boot Folgende Einträge müssen angepasst werden: . * root (hdx,x) * Hierbei beachten, dass Grub bei "0" beginnt zu zählen: hdb2 = (hd1,1)! . * vga=xxx * -----------+---------+---------+----------+----------- Farbtiefe | 640x480 | 800x600 | 1024x768 | 1280x1024 -----------+---------+---------+----------+----------- 8 bit | 769 | 771 | 773 | 775 15 bit | 784 | 787 | 790 | 793 16 bit | 785 | 788 | 791 | 794 24 bit | 786 | 789 | 792 | 795 -----------+---------+---------+----------+----------- 19.4.4 SystemRescueCD auf USB-Stick installieren ------------------------------------------------- 1. Von der CD booten 2. Den USB-stick einstecken und 5 Sekunden warten 3. Schreibe sysresccd-usbstick listdev um die USB-Device anzuzeigen 4. Schreibe sysresccd-usbstick writembr xxx xxx ist der Name der USB-Device 5. Schreibe sysresccd-usbstick format xxx xxx ist der Name der Partition auf der Device 6. Schreibe sysresccd-usbstick copyfiles xxx xxx ist der Name der Partition auf der Device 7. Schreibe sysresccd-usbstick syslinux xxx xxx ist der Name der Partition auf der Device oder 1. auf die konsole1 wecheln (Strg+Alt+F1) 2. export TERM="xterm1" 3. mkdir -p /tmp/cdrom 4. sudo mount -o loop,exec /path/to/systemrescuecd-x86-x.y.z.iso /tmp/cdrom 5. cd /tmp/cdrom 6. sudo umount /dev/sdc1 7. bash ./usb_inst.sh 19.4.5 partimage automatisieren -------------------------------- #! /bin/bash # Startwerte setzen src_part=hda2 dst_part=hdb3 path="backup/sysbackup" # Zielpartition mounten mkdir /mnt/$dst_part mount /dev/$dst_part /mnt/$dst_part echo Wait for /dev/$dst_part to be mounted ... while [ ! -d "/mnt/$dst_part/$path" ]; do sleep 1 done # Backup starten datum=`date +%y%m%d` partimage -z1 (--)volume 2085888 -b -f3 save /dev/$src_part /mnt/$dst_part/$path/sysbackup_$datum # Zielpartition unmounten echo Wait for /dev/$dst_part be unmounted ... while [ -d "/mnt/$dst_part/$path" ]; do umount /dev/$dst_part sleep 1 done rm -rf /mnt/$dst_part # System neu starten echo Restarting system ... reboot 19.4.6 Partitionen verändern / erstellen ----------------------------------------- Nach dem Booten der System-Rescue-CD wird mit startx die grafische Oberfläche gestartet und dort das Programm gparted aufgerufen. Nun können Partitionen sehr einfach verschoben, verändert oder gelöscht werden. Achtung: Es besteht immer die Gefahr eines Datenverlustes!!! Also zuerst alle Daten sichern! Für eine Linux-Installation ist eine sinnvolle Partitionierung folgende: . erste Partition mit ca. 20GB für root ( / ) . zweite Partition für die Daten mit dem Rest außer 1GB ( /home) . ein Swap-Bereich mit 1GB 19.5 PCLinuxOS =============== Mit PCLinuxOS lassen sich sehr einfach eigene Live-CDs bzw. DVDs erstellen. Dazu muss man einfach das System installieren, es individuell anpassen und dann mit dem Menüeintrag "MakeLiveCD" eine eigene Distribution erstellen lassen. Die maximale Dateigröße des komprimierten Images liegt bei 2GB. Download von http://www.pclinuxos.com/ Die deutsche Lokalisierung wird durch herunterladen der Pakete kde- i18n-de und locales-de eingestellt. zusätzliche Quellen: http://maik3531.de/ pclos2007/RPM testing exp exp2 http://distro.ibiblio.org/pub/linux/distributions/pclinuxos/apt/ pclinuxos/2007 main extra nonfree kde gnome testing 19.5.1 lampp installieren -------------------------- Als root /opt/lampp/lampp öffnen und Zeile 96 von: export LD_ASSUME_KERNEL=2.2.5 nach echo "LAMPP OK" ändern. Die Datei /opt/lampp/etc/httpd.conf öffnen und der )"LoadModule" section folgende Zeile hinzufügen: LoadModule php5_module modules/libphp5.so und der IfModule mime_module diese Zeile AddType application/x-httpd-php .php .php5 hinzufügen 19.6 Knoppix ============= Linux-Live-CD/DVD Download von http://www.knopper.net/knoppix 19.7 Backtrack =============== Sicherheitscheck: Download von http://www.remote-exploit.org 19.8 Damn Small Linux ====================== 50MB großes Linux Download von http://www.damnsmalllinux.org 19.9 Ultimate Boot CD ====================== Eigentlich keine Distribution, aber die wohl umfassendste Diagnose- und Reparatur-CD Download von http://www.ultimatebootcd.com 19.10 S100 (T-Online) zum Mediacenter umrüsten =============================================== Der Umbau ist in folgenden Dokumenten sehr ausfühlich beschrieben. Der einfachste Weg ist unter wieki.mymediasystem.org (s.u.) beschrieben, da die dort verwendete Version des MMS direkt auf die S100 zugeschnitten wurde und sämtliche Treiber installiert und alle wichtigen Einstellungen vornimmt. . LinuxUser 10/2008, S71ff . LinuxUser 11/2008, S64ff . wiki.mymediasystem.org/Installation_debian_etch_auf_vision_s100 . wiki.zenega-user.de/Intel-Motherboard . wiki.zenega-user.de/Netzteil . wiki.zenega-user.de/Modifikationen . www.ccac.rwth-aachen.de/S100 . www.albert-hetzles.de/s100 19.10.1 Hardware anpassen -------------------------- Zunächst muss die Hardware angepasst werden. Hierzu gibt es wie oben ganannt sehr ausführliche Anleitungen. Folgende Modifikationenen sind zwingend erforderlich: . *Adapterkabel für VGA-Ausgang* (Pfostenstecker J22 auf VGA-Buchse) -----+---+---+---+---+---+---+----+----+----+---- J22 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 VGA | 1 | 6 | 2 | 7 | 3 | 8 | 15 | 14 | 12 | 13 Brücke 8 -> 10 an der VGA-Buchse notwendig . *Ausschaltdauer verlängern* Die S100 schaltet schon wenige Sekunden nach Betätigung der Power-Taste den Strom ab. Diese Zeitspanne reicht nicht, damit das System korrekt herunterfahren kann. Durch einen 47uF- Kondensator in der Leitung 6 zum Bedienpanel (Minus-Pol zum Motherboard) kann diese Zeit verlängert werden (siehe hier). Zusätzlich werden folgende Erweiterungen empfohlen: . *LEDs für Festplatten- und Netzwerkaktivität* Diese LEDs können schön hinter der über einige Pins zugeschweißten (Schweißstellen aufbohren) versteckt werden. Die LEDs werden am Bedienteil an den Positionen LED5 (Netzwerk) und LED10 (HDD) eingelötet (siehe hier). . *Festplatte* Eine 2,5"-Festplatte findet im Gehäuse (am besten rechts vorne) gut Platz. Der Vorteil einer Festplatte dieser Größe ist, dass diese nur eine 5V-Versorgungsspannung benötigt. Diese 5V liegen bei der S100 nämlich am IDE-Port am "Key-Pin" (Pin 20) an. Wird ein IDE-Kabel ohne "Key-Pin"-Kodierung verwendet, so muss im 3,5"-2,5"-Adapter vor der Festplatte nur eine Brücke vom Pin 20 auf die +5V-Stromversorgung gelegt werden. Diese Variante entlastet auch das Netzgerät der S100, da die 12V-Versorgung sehr knapp ausgelegt ist. . *Fernsehkarte* Einige Modelle haben einen PCI-Steckplatz über den (mit einer Riser-Karte mit mind. 8 cm. langem Kabel - leider sehr schwer zu bekommen) eine Fernehkarte eingebaut werden kann. Bei mir ergaben sich (mit einer DVB-S-Karte von Hauppauge) folgende Probleme: Die PCI-Ports auf dem Motherboard beeinflussen sich gegenseitig (entweder handelt es sich um ein und den selben Port, oder das Layout des Motherboards ist falsch). Demnach ist bei mir die Verwendung der Fernsehkarte nur möglich, wenn ich das WLAN-Modul am Mico-PCI-Port entferne. Weiterhin müssen im Bios alle IRQs (außer einer) unter 14 deaktiviert werden. . * Wakeup-Board einbauen * Der einbau eines Wakeup-Boards ist unter www.albert-hetzles.de ausführlich beschrieben. 19.10.2 Installation Debian Etch --------------------------------- Einen USB-Stick zur Installation von Debian Etch (zu diesem Zeitpunkt gibt es die auf die S100 zugeschnittene Version vom MMS nur für Debian Etch) erhält man am einfachsten, indem man sich das ISO-Image der Netzwerkinstallation herunterlädt und mit dem Programm unetbootin auf den Stick überträgt. Im BIOS muss noch die Bootreihenfolge angepasst werden. Ohne eingebaute Festplatte benötigt man für das System einen weiteren USB-Stick mit 2 bis 4 GB. Wie in den Anleitungen beschrieben wird bei der Installation der Kernel (/boot) auf das DOM-Modul (hda1) und der Rest auf den USB-Stick (sda1) isntalliert. Entgegen den Angaben in einigen Anleitungen wurde bei mir für die Installation eine Swap- Partition (sda2 ca. 200 MB) zwingend benötigt (andernfalls kam es zu Abstürzen bei der Installation). Auch sollte die Swap-Partition im Betrieb der S100 nicht deaktiviert werden, da es sonst zu Problemen kommen kann. Die Lebensdauer des USB-Sticks wird dadruch zwar deutlich verkürzt, doch bei Prieisen von ca. 2-3 EUR dürfte dies kein Problem sein (ein regelmäßiges Backup mit partimage nach jeder Änderung am System ist sowieso zu empfehlen). Bei dieser Installationsvariante wird auch ein USB-Hub benötigt, da die beiden Ports für Tastatur, (Maus,) Boot-Stick und System-Stick nicht ausreichen. Wenn das System nach der Installation gestartet wird, kann es vorkammen, dass sich die Laufwerksbezeichnungen - bedingt durch den nicht mehr vorhandnenen USB-Hub - verändert haben. In diesem Fall muss die menu.list von grub und die fstab manuell angepasst werden! Bei eingebauter Festplatte wird alles wie üblich auf der Festplatte installiert. Hier empfehlen sich drei Partitionen für /, swap und /home. 19.10.3 Installation MMS ------------------------- Die Installation des MyMediaSystems (MMS) sollte wie in wiki.mymediasystem.org/Installation_debian_etch_auf_vision_s100 beschrieben vorgenommen werden, da auf diesem Wege sämtliche Treiber installiert und alle wichtigen Einstellungen am System vorgenommen werden. Auch wenn MMS gar nicht benötigt wird nimmt einem dieses Installationsskript sehr viel Arbeit ab. MMS kann ja anschließend wieder deinstalliert werden. 19.10.4 VDR (vdr-sxfe) anstelle von MMS starten ------------------------------------------------ Soll MMS nicht als Standardoberfläche verwendet werden, so kann wie folgt ein anderes Programm (wie z.B. vdr-sxfe) automatisch gestartet werden. Hierzu muss die Datei /home/s100/.xsession wie folgt angepasst werden: unclutter -idle 0& 2>&1 >/dev/null xmodmap .xmodmap 2>&1 >/dev/null xbindkeys -f .xbindkeysrc 2>&1 >/dev/null #Windowmanager Fluxbox starten fluxbox & wmpid=$! #Programme starten #mms 2>&1 >/dev/null /usr/bin/vdr-sxfe xvdr://IP-des-VDR (--)fullscreen & #Warten bis Windowmanager beendet wurde wait $wmpid 19.10.5 VDR anpassen --------------------- . * Streaming freigeben * Sollen auch andere Computer auf den VDR-Stream zugreifen, so müssen diese in der Datei /etc/vdr/svdrphosts.conf freigeschalten werden (z.B. 192.168.0.0 für alle lokalen Netzwerke). Das Streaming funktioniert am einfachsten über das Plugin XineLibOutput. Angezeigt werden kann dieser Stream von jedem Rechner aus über vdr-sxfe, vdr-sxfb oder das xine-ui. 19.11 Multi-Boot-Medien ======================== 19.11.1 Multi-Boot-CD ---------------------- Mit dem Script multicd.sh von http://multicd.tuxfamily.org kann auf sehr einfache Art und Weise eine CD/DVD erstellt werden, von der sich mehrere Systeme booten lassen. 19.11.2 Multi-Boot-USB-Stick ----------------------------- Multisystem ermöglicht es mehrere Systeme von einem USB-Stick zu booten. Download unter: http://liveusb.info/multisystem/depot/dists/all/main/binary-i386/m/ Zusätzlich wird folgende Datei benötigt: http://liveusb.info/multisystem/depot/dists/all/main/binary-i386/g/ ====================================================================== Kapitel 20 Desktop ====================================================================== Unter Linux hat man die Wahl zwischen verschiedenen Desktops. Die bekanntesten sind KDE, gnome, XFCE und LXDE. 20.1 gnome =========== http://www.gnome.org/ 20.1.1 gedit ------------- Die Plugins installiert man unter: .gnome2/gedit/plugins 20.1.2 Nautilus ---------------- Terminal mit F4 öffnen: Das Paket nautilus-open-terminal installieren. Dann den Menüpunkt Datei/Im Terminal öffnen mit der Maus anfahren und die Taste F4 drücken. Nach Ausführen des Befehls gconftool-2 --type bool --set /desktop/gnome/interface/can_change_accels true kann man aus Nautilus mit F4 die Konsole öffnen 20.1.2.1 WebDAV-Zugriff In Nautilus greift man über dav://server:port/ordner zu 20.1.3 keyring-Fehler ---------------------- Wenn die Meldung WARNING: couldn't connect to: /tmp/keyring-xxxx/pkcs11: No such file or directory auftaucht, hilft es die Datei /etc/pkcs11/modules/gnome-module zu löschen 20.1.4 Fenster-Buttons wieder rechts ------------------------------------- gconftool-2 --type string --set /apps/metacity/general/button_layout "menu:minimize,maximize,close" 20.1.5 cdrdao -------------- Unter ubuntu 10.04 meldet Brasero ein Problem mir cdrdao. Durch Hinzufügen einer weiteren Quelle lässt sich dieses Problem beheben: deb http://ppa.launchpad.net/renbag/ppa/ubuntu lucid main und die Keydatei erhält man so: apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F9A2F76A9D1A0061 20.2 KDE ========= http://www.kde.de/ 20.2.1 alte Thumbnails löschen ------------------------------- find /home/*/.thumbnails/ -type f -atime +14 -print0 | xargs -0 rm löscht alle thumbnails, die älter als 14 Tage sind. 20.2.2 dolphin --------------- Deutsch Oberfläche wiederherstellen: Herunterladen der Datei d3lphin.mo.mo sudo cp d3lphin.mo /usr/share/locale-langpack/de/ LC_MESSAGES 20.2.3 Konqueror ----------------- Liste der wichtigsten KIO-Slaves (im Adressfeld der Konquerors eintragen): . about:/ --Öffnet das KDE-Kontrollzentrum. . applications:/ --Zeigt analog zum K-Menü alle installierten Programme. . audiocd:/ --Zeigt den Inhalt einer Audio-CD und konvertiert die Tracks automatisch in verschiedene Formate wie WAV oder MP3. . file:/ --Stellt das lokale Dateisystem dar. . fish:// --Stellt eine SSH- Verbindung zum gewählten Rechner her. . ftp:// --Stellt eine FTP- Verbindung zum gewählten Rechner her. . imap:// --Zeigt den Inhalt des IMAP-Postfaches an. . man:/ --Zeigt das Handbuch zum gesuchten Begriff an. . print:/ --Öffnet das Kontrollfenster für die Drucker und die Druckerwarteschlange. . settings:/ --Erlaubt den schnellen Zugriff auf die wichtigsten Systemeinstellungen. . remote:/ --Öffnet eine Übersicht der wichtigsten Netzwerk- Dienste, die eine Dateifreigabe ermöglichen. . nfs:// --Zeigt die über NFS (Network File System) freigegebenen Dateien und Verzeichnisse. 20.2.4 Menü ------------ Ein neues, vollständiges Menü erzeugt man am besten, indem man das alte löscht. Lösche einfach die Datei /.config/menus/applications- kmenuedit.menu und starte KDE neu. 20.2.5 Tastatur reagiert unter KDE nicht mehr ---------------------------------------------- /usr/share/services/kaccess.desktop verschieben nach /root und /tmp/ leeren 20.2.6 Pfade zu wichtigen Dateien ---------------------------------- Das Adressbuch liegt in /.kde/share/apps/kabc/std.vcf E-Mails: /.kde/share/apps/kmail/mail/ Kalender: /.kde/share/apps/korganizer/std.ics Notizen: /.kde/share/apps/knotes/notes.ics 20.2.7 Vorschau von OpenOffice-Dokumenten im Konqueror ------------------------------------------------------- Dazu müssen die Dateien koffice-data und koffice-libs installiert werden 20.3 XFCE ========== http://www.xfce.org/ Nachdem Gnome3 und KDE4 immer größere Speicherfresser werden, die Bedienung immer eingeschränkter wird und Gnome2 nicht weiter entwickelt wird, bietet sich xfce als alternativer Desktop an. 20.3.1 Strg-Alt-Entf zum Beenden --------------------------------- Unter Settings/Tastatur/Tastaturkürzel lässt sich Strg-Alt-Entf mit dem Befehl xfce4-session-logout wieder zum Herunterfahren des Systems bewegen. 20.3.2 persönlichen bin-Ordner mit Alt+F2 aufrufen --------------------------------------------------- Die Datei /etc/X11/Xsession.d/90environment erstellen mit sudo touch /etc/X11/Xsession.d/90environment Folgenden Inhalt in die neu erstellte Datei schreiben export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin Rechner neu starten 20.3.3 Bildschirmauflösung --------------------------- Sollte die Bildschirmauflösung nicht passen so lässt sie sich folgendermaßen anpassen (hier für die Auflösung 1280x1024): cvt 1280 1024 ermittelt die Werte für xrandr Datei /etc/X11/Xsession.d/45custom_xrandr-settings wird mit folgenden Einstellungen erstellt: xrandr --newmode "1280x1024_75.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync xrandr --verbose --addmode VGA-1 "1280x1024_75.00" xrandr --output VGA-1 --mode "1280x1024_75.00" 20.3.4 Tastaturblock einschalten --------------------------------- Erstelle unter ~/.config/autostart/ eine Datei namens numlockx_on.desktop mit folgendem Inhalt: [Desktop Entry] Encoding=UTF-8 Name=Ziffernblock anschalten Exec=numlockx on Terminal=false 20.3.5 Fenster: Bedienelemente verschwinden -------------------------------------------- Mit xfwm4 --replace wird der Fenstermanager repariert. 20.3.6 Touchpad ---------------- Damit der "linke-Maustaste-Klick" auf dem Touchpad funktioniert ist es notwendig die Datei /usr/share/X11/xorg.conf.d/50-synaptics.conf folgendermaßen zu verändern: Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" Option "TapButton1" "1" Option "VertEdgeScroll" "1" EndSection 20.3.7 Nautilus zerstört Desktop --------------------------------- Im gconf-editor unter apps/nautilus/preferences/ show desktop abschalten. Im gnome-tweak-tool unter "Arbeitsoberfläche" den Punkt "Have file manager handle the desktop" auf "aus" stellen. Evtl. auch noch folgendes: gsettings set org.gnome.desktop.background show-desktop-icons false 20.3.8 Dateizuordnungen ------------------------ ~/.local/share/applications Dort gibt es *.desktop-Dateien, die vom Dateimanager angelegt werden, wenn du selbst eine Zuordnung eines Programms zu einem Dateityp vornimmst. In der Datei mimeapps.list steht dann, auf welchen Dateityp sich diese Zuordnungen beziehen. Die systemweiten *.desktop-Dateien sind in /usr/share/applications oder in /usr/local/share/applications 20.3.9 neuer Hintergrund beim Login ------------------------------------ 1. den neuen Hintergrund in /usr/share/backgrounds/ speichern 2. die Datei /usr/share/backgrounds/linuxmint/default_background.jpg löschen 3. den neuen Hintergrund setzen: cd /usr/share/backgrounds/linuxmint/ sudo rm default_background.jpg sudo ln -s ../neuer_hintergrund.jpg default_background.jpg 20.3.10 eigenes Icon beim Login -------------------------------- Bilddatei (nicht größer als 200x200) im home-Verzeichnis als .face abspeichern. 20.3.11 thunar --------------- 20.3.11.1 Suche mit gnome-search-tool statt mit catfish 1. Im Thunar Menü-> Bearbeiten/Benutzerdefinierte Einstellungen 2. Klicke auf des Plus-Symbol 3. Name: "Suche" 4. Befehl: gnome-search-tool -path=%f 5. OK anklicken 20.4 Mate ========== http://mate-desktop.org/ Der Mate-Desktop ist ein Gnome2-Fork. 20.5 Cinnamon ============== http://cinnamon.linuxmint.com/ Der Cinnamon-Desktop ist ein Gnome3-Fork. 20.6 LXDE ========== http://lxde.org/ Der LXDE-Desktop ist ein sehr leichtgewichtiger Desktop. ====================================================================== Kapitel 21 Emulatoren ====================================================================== 21.1 Wine ========== Wine, ein rekursives Akronym für "WINE Is Not an Emulator". Wine lässt Windowsprogramme unter Linux laufen und ist genaugenommen gar kein Emulator. . Programmstart: wine . Deinstallieren uninstaller . Konfigurationswerkzeug: winecfg . Booten: wineboot . Herunterfahren: wineboot -s . Explorer: wine winefile.exe . Texteditor: notepad . Registry-Editor: regedit . MSI: msiexec 21.1.1 Tote Startmenüeintrage entfernen: ----------------------------------------- ~/.kde/share/applnk/Wine und ~/.menu/wine den String der exe löschen. In ~/.menu/icons sind die Icons Die Menüeinträge für Wine-Programme liegen in ~/.local/share/applications/wine/Programs/. 21.1.2 Fehlende DLLs --------------------- gibt es unter: http://www.tatanka.com.br und http://www.dll-files.com oder bei http://www.wintotal.de oder http://www.winfuture.de 21.1.3 libjack-Fehler ---------------------- Der libjack-Fehler wird behoben mit: sudo cp /usr/lib/ libjack-0.80.0.so.0 /usr/lib/libjack.so 21.1.4 wine unter LMDE ----------------------- Um unter LMDE wine zu installieren müssen die Original-Debian-Quellen in die sources.list eingetragen werden. Nach der Installation von wine die Debian-Quellen wieder deaktivieren! 21.1.5 winetricks ------------------ Mit winetricks lässt sich wine einfacher konfiogurieren und fehlende DLLs installieren. Wenn winetricks mit der neuesten wine-Version nicht mehr arbeitet, hilft folgende Änderung der system.reg in ~/.wine : Alle Einträge mit "C:\\windows\\system32\\unknown" müssen durch "C:\\Program Files" ersetzt werden. 21.2 qemu ========== siehe unter: http://wiki.ubuntuusers.de/QEMU http://www.linuxforen.de/forums/showthread.php?t=141201 21.2.1 virtuelle Festplatte erzeugen ------------------------------------- qemu-img create -f raw name.img 1000M qemu -fda /dev/fd0 -hda win98.img -boot a qemu -hda /media/hda2/win2000.img -cdrom /dev/hdc -boot c -win2k-hack qemu -L qemu/ -m 128 -localtime -kernel linux24 -initrd minirt24.gz -hda KNOPPIX/KNOPPIX -append "qemu vga=791 quiet noscsi nousb nofirewire atapicd noideraid noacpi acpi=off noapm noagp ide1=noprobe ide2=noprobe nomce frugal" 21.2.2 qemu Startparameter --------------------------- . Image starten: qemu -cdrom datei.iso . Netzwerk: -net nic -net user . Lesezugriff: -hdb fat:/tmp . Schreibzugriff: -hdb fat:rw:/tmp . qemu -hda /media/hda2/win2000.img -cdrom /dev/hdc -boot c -hdb fat:rw:/media/hda2/tausch/ . qemu -hda /media/hda2/win2000.img -cdrom /dev/hdc -boot c -hdb fat:rw:/media/hda2/tausch/ -net nic -net user 21.3 VirtualBox ================ Sehr gutes Virtualisierungsprogramm: www.virtualbox.org Zum Installieren der GuestAdditions das ISO-Image /usr/share/virtualbox/VBoxGuestAdditions.iso einbinden. USB-Geräte werden erkannt, sind jedoch nicht einbindbar, da inaktiv ------------------------------------------------------------------- Unter einigen Debian- und Ubuntu-Versionen kann es vorkommen, dass USB-Geräte zwar erkannt werden, sie jedoch nicht einbindbar sind, da die Zugriffsrechte falsch gesetzt werden. Hierzu muss die Datei /etc/init.d/mountkernfs.sh wie folgt editiert werden: * Original: * if [ -d /proc/bus/usb ] then domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid fi * Änderung: * if [ -d /proc/bus/usb ] then domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid,devgid=123,devmode=664 fi Hierbei muss devgid der ID der Gruppe vboxuser entsprechen. Kernelmodule neu kompilieren ---------------------------- /etc/init.d/vboxdrv setup Eine VM direkt starten ---------------------- VirtualBox -startvm [Name der VM] oder VBoxManage startvm [Name der VM] ====================================================================== Kapitel 22 Programme ====================================================================== 22.1 Tabelle: Windows - Linux ============================== +----------------------------------------------+-----------------------------------------------+ | * Windows * | * Linux * | | Internet Explorer / Firefox / Opera / Chrome | Firefox / Opera / Chrome / Konquerer | +----------------------------------------------+-----------------------------------------------+ | Adobe Acrobat Reader | Adobe Acrobat Reader / kpdf / ocular / evince | +----------------------------------------------+-----------------------------------------------+ | IrfanView / xnview | gthumb / gwenview / xnview | +----------------------------------------------+-----------------------------------------------+ | Photoshop | gimp | +----------------------------------------------+-----------------------------------------------+ | CDex | sound-juicer / grip | +----------------------------------------------+-----------------------------------------------+ | DVDShrink | dvd95 / k9copy | +----------------------------------------------+-----------------------------------------------+ | Nero Burning Rom | Nero (Linux) / k3b / brasero | +----------------------------------------------+-----------------------------------------------+ | Winamp | rhythmbox / banshee / amarok / exaile | | Windows Media Player / VLC | vlc / kaffeine / mplayer / totem | +----------------------------------------------+-----------------------------------------------+ | Cuecards | knowit / tomboy | +----------------------------------------------+-----------------------------------------------+ | Cubase / Logic | Ardour / Rosegarden | | Finale / Sibelus | MuseScore | +----------------------------------------------+-----------------------------------------------+ | Mindmanager / Freemind / Xmind | Freemind / Xmind | +----------------------------------------------+-----------------------------------------------+ | QuarkExpress / Freehand | Scribus | +----------------------------------------------+-----------------------------------------------+ | Filezilla | Filezilla | +----------------------------------------------+-----------------------------------------------+ | Google Earth | Google Earth | +----------------------------------------------+-----------------------------------------------+ | Skype | Skype | | ICQ / MSN | Pidgin | +----------------------------------------------+-----------------------------------------------+ | Wavelab / Audacity | Audacity | +----------------------------------------------+-----------------------------------------------+ | Partition Magic | gparted | | Acronis Trueimage / Norton Ghost | clonezilla / partimage / fsarchiver | +----------------------------------------------+-----------------------------------------------+ | Freecommander | mc / gnomecommander | +----------------------------------------------+-----------------------------------------------+ | Truecrypt | truecrypt | +----------------------------------------------+-----------------------------------------------+ | Notepad | gedit / geany / kate | +----------------------------------------------+-----------------------------------------------+ 22.2 Büroprogramme =================== 22.2.1 Office -------------- LibreOffice Abiword 22.2.2 Banking --------------- moneyplex gnucash 22.2.3 Mindmapping ------------------- Freeplane freemind Xmind kdissert vym 22.2.4 PDF ----------- acroread (Adobe Reader) / kpdf / kpdftool / evince 22.2.5 Datenbank ----------------- tellico knowit LibreOffice kexi 22.2.6 Wörterbuch ------------------ ding 22.2.7 Adressverwaltung ------------------------ kaddressbook 22.3 Dienstprogramme ===================== 22.3.1 Dateimanager -------------------- thunar / gnome-commander / Konqueror / krusader / mc (Midnight Commander) 22.3.2 Packer -------------- ark 7zip 22.3.3 Taschenrechner ---------------------- kcalc speedcrunch 22.3.4 Bildschirmnotizen ------------------------- knotes 22.4 Entwicklung ================= 22.4.1 Editoren ---------------- geany kate vi pico joe 22.4.2 HTML-Editor ------------------- bluefish / quanta / nvu 22.4.3 Flash ------------- Flash4Linux / drawSWF 22.5 Grafik ============ 22.5.1 DTP ----------- scribus 22.5.2 Vektorgrafik -------------------- Inkscape / xara 22.5.3 Pixelgrafik ------------------- gimp / kolourpaint / krita 22.5.4 CAD ----------- freecad qcad 22.5.5 Bildbearbeitung ----------------------- showFoto / gwenview / xnview 22.5.6 Digitalkamera --------------------- digikam / gthumb 22.5.7 Scannen --------------- simple-scan / kooka / xsane / quiteinsane 22.5.8 Texterkennung --------------------- clara / gocr / tesseract 22.5.9 Bildschirmfotos ----------------------- ksnapshot 22.6 Internet ============== 22.6.1 Browser --------------- konquerer / firefox / opera / chromium 22.6.2 E-Mail -------------- thunderbird / evolution / kmail / opera 22.6.3 Chat ------------ pidgin / kopete 22.7 Lernprogramme =================== geogebra / kstars / gcompris / kmplot / kalzium / kturtle / ktouch / kgeography ... 22.8 Multimedia ================ 22.8.1 Brennen --------------- k3b / brasero 22.8.2 CD-Spieler/-Ripper -------------------------- xcfa / kscd / Grip / sound-juicer 22.8.3 DVD-Editoren -------------------- qdvdauthor / mandvd / kmediafactory / k9copy / dvd::rip 22.8.4 Videoschnitt -------------------- lives kdenlive (einfache Bedienung - sehr gut) cinelerra (aufwändiger wie kdenlive) jahshaka (viele Effekte...) avidemux (wie VirtualDub) kino (einfach, zum Erfassen von DV) ProjectX OpenShot 22.8.5 Video- und Musikplayer ------------------------------ Amarok / mplayer / xine / kaffeine / vlc / Realplayer 22.8.6 Wavebearbeitung ----------------------- audacity / sweep 22.8.7 Aufnahme / Sequenzer ---------------------------- ardour / rosegarden / lmms 22.8.8 Drumcomputer -------------------- hydrogen 22.8.9 Notensatz ----------------- musescore / noteedit / canorus 22.8.10 Internetradio ---------------------- streamtuner 22.8.11 CD-Cover ----------------- koverartist / kover 22.8.12 Internetfernsehen -------------------------- Miro Player 22.9 System ============ 22.9.1 Partitionen spiegeln ---------------------------- partimage / fsarchiver 22.9.2 Systemauslastung ------------------------ kcpuload / conky 22.9.3 Festplattenbelegung --------------------------- kdf 22.9.4 Netzwerkauslastung -------------------------- knetstats ====================================================================== Kapitel UDO6 ====================================================================== Dieser Text wurde erzeugt mit *UDO* Version 6.4.1 Linux Copyright (c) 1995-2001 by Dirk Hagedorn Copyright (c) 2001-2004 by The UDO community UDO ist Open Source UDO ist ein Programm, welches Textdateien, die im Universal Document Format erstellt wurden, in das ASCII-, ST-Guide-, LaTeX-, Rich Text-, Pure-C-Help-, Manualpage-, HTML-, WinHelp-, Texinfo-, Linuxdoc-SGML-, LyX-, Apple-QuickView- und Turbo-Vision-Help-Format umwandeln kann. Weitere Informationen sowie die aktuellen Versionen findet man im World Wide Web unter http://www.udo-open-source.org