Linux-Tipps

Aus CodicaTipps
Version vom 4. Dezember 2009, 14:00 Uhr von Codica (Diskussion | Beiträge) (→‎Distributionen)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Siehe oldCt:Linux-Tipps

Linux und andere Betriebssysteme

Betriebssystemvergleich

Plattformübergreifende Software

Zusammenarbeit mit Windows

  • Einige Linux-Anwendungen laufen durch CygWin auch unter Windows. Neben dem graphischen windows-typischen Installer kann nach der Erstinstallation auch das apt-get-ähnliche Skript apt-cyg zur Paketverwaltung genutzt werden.
  • GnuWin32 bietet ebenfalls etliche Linux-Kommandozeilenprogramme. Diese bauen direkt auf den Windows-Bibliotheken auf. Sie sind daher einfacher als die CygWin-Utilities zu handhaben; allerdings ist CygWin umfangreicher und bietet z.B. eine Bash-shell und einen X-Server.
  • LTools erlaubt den Zugriff auf ext2/ext3-Partitionen von der Kommandozeile oder mittels einer Java- oder Web-GUI. Eine graphisches Tool zum Lesen von ext2-/ext3-Partitionen ist auch explore2fs. Noch weiter gehen fs-driver und ext2fsd: sie bieten Treiber für ext2-Partitionen.

Dokumentation

Siehe oldCt:Linux-Tipps

Das Linux-Kompendium ist auf wikibooks.org als freies umfangreiches Nachschlagewerk zu Linux erschienen.

Die sog. man-pages sind DIE Informationsquelle eines Linux-Systems. Sie finden sich auch im World Wide Web (z.B. bei UNIX-Help und manpages.com).

Die man-pages befinden sich in verschiedenen Kategorien, die innerhalb der man-pages durch eine in Klammern an die Bezeichnung angehängte Zahl gekennzeichnet wird. Beim Aufruf von man steht dagegen die Section-Nr VOR der Bezeichnung. Die Einführungen finden sich z.B. durch

 man x intro

wobei x eine Zahl zwischen 1 und 9 ist.

Regelmäßige Publikationen

Distributionen

  • Linux from Scratch gibt Hilfe für den kompletten Eigenbau eines Linux-Systems.
  • SLAX ist eine auf Slackware basierende Live-CD, die selbst bei denjenigen alten PCs den Netzwerkadapter ansprechen kann, wo OpenSuse, Knoppix sowie Debian versagen.
    • OpenSuse ist das von Novell unterstützte freie Linux. Proprietäre (und trotzdem kostenlose) Anwendungen können über andere Installationsquellen nachgeladen werden.
      • Der Linux-Club bietet ein gutes Wiki rund um OpenSuse.
      • Beim Update von OpenSuse 10.1 auf 10.2 könnte es Probleme mit der Druckerinstallation geben: Dann einfach /var/lib/YaST2/ppd_db.ycp löschen.[1]
      • Siehe auch Installation von OpenSuse über PXE.
      • Das GNOME-Frontend für Vorlage:Su (starten von Programmen als Root) heißt unter OpenSuse gnomesu und nicht wie sonst meist üblich gksu. Die Entsprechung unter KDE heißt kdesu.
  • Auch Debian lässt sich übers Netzwerk/PXE installieren.
  • Ubuntu ist eine auf Debian basierende Distribution, die mittels Wubi wie eine Windows-Applikation installiert und deinstalliert werden kann.
  • Arch Linux ist offiziell eine schlanke, ständig aktuelle Linux-Distribution (PXE-Installation möglich).
  • andLinux ist eine Linux-Distribution, die unter Windows 2000, XP etc. läuft. Sie basiert auf coLinux.
  • Eine Distribution, die Wert auf Flexibilität und Anpassungsfähigkeit liegt, ist Gentoo.
  • Sugar, hervorgegangen aus dem One Laptop Per Child-Projekt, ist ein Linux-System für Kinder.

Schnellstart-Linux

Installation

(De-)Installation von Programmen aus dem Quelltext

Patch und diff

Virtualisierung


Shells

Ablaufsteuerung

  • Die bash-Shell bietet auch eine einfach zu nutzende While-Schleife. Beispiel:
    while true; do df -h; sleep 50s; echo `date`; done;
  • Funktionen in einem Shell-Script sind einfach definiert:
 function meineFunktion() {
   echo Hallo welt und $1;
 }
 # Aufruf:
 meineFunktion Tina
 # Ausgabe: Hallo welt und Tina

Variablen

  • Array-Variablen können z.B. folgendermaßen Werte zugewiesen werden:
 meinArray=(eins zwei drei vier)
  • Ein komisches Verhalten zieht declare innerhalb einer Funktion bei: Es begrenzt die Sichtbarkeit der Variablen auf den Funktionsbereich. Wenn globale Variablen zum Informationsaustausch zwischen Funktion und aufrufendem Skript genutzt werden sollen, sollte declare in der Funktion also besser nicht genutzt werden.


Verarbeiten von Textstreams

  • Sinnvolle Hilfen zum Verarbeiten von Textstreams/Auslesen von Dateien
    • wc zählt Worte und Zeilen
    • cut liefert bestimmte Teile einer Zeile
    • grep sucht nach Textbestandteilen

Dokumentation für bash (Kommandozeile/Konsole)

Dateiverwaltung

Dateisuche

Ein rekursives MS-DOS-dir lässt sich mit dem Befehl find erreichen:

 find / -name "*xy*"
  

Es findet alle Dateien, die ein xy im Dateinamen enthalten und gibt den vollständigen Pfad aus. Die Anführungszeichen sind wichtig, ansonsten würde die Shell bereits die Sternchen auswerten.

Berechtigungen

  • Berechtigungen für automatisch eingebundene FAT32-Laufwerke/Festplatten werden in der Datei /etc/fstab vorgegeben. Sie können nicht mit chmod oder chown geändert werden.
  • Informationen u.a. zum SUID-Bit und zum Abschalten auf ganzen Partitionen finden sich auf dem Informatikserver.at

Speicherplatz

  • Den freien Platz auf der Festplatte erfährt man durch
 df -h 
  • Den vom aktuellen Verzeichnis und seinen Unterverzeichnis belegten Platz erfährt man durch
 du --human-readable --summarize 

Mounten

Dauerhaftes Mounten einer NTFS-Partition

Um eine NTFS-Partition (z.B. auf /dev/sda2) dauerhaft (also schon beim Booten) zu mounten, fügt man in die Datei /etc/fstab folgende Zeile hinzu:

 /dev/sda2       /media/Daten_D    ntfs    defaults,umask=000

Außerdem muss der Mount-Point erzeugt werden:

 mkdir /media/Daten_D

Damit werden können aber alle Benutzer alle Daten dieses Laufwerks lesen, schreiben und ausführen. Will man dies nicht, muss man mit den Optionen uid=, gid= und umask= eine Lösung finden.

Mounten eines CD-Images

Um ein CD-Image zu betrachten kann man dieses folgendermaßen ins normale Dateisystem einhängen:

 mkdir zielpunkt
 sudo  mount -o loop -t iso9660 /pfad/zum/iso.image zielpunkt
 

Am Ende lässt es sich ganz normal mit

umount /zielpunkt

aushängen


Mounten eines FTP-Verzeichnisses

Mounten eines ZIP-Archivs

Mounten via SSH

  • Übers Netzwerk kann man auch per SSH-FUSE-Dateisystem auf einen entfernten Rechner zugreifen. Das ist ein recht sicherer Zugriff, aber auch transparent, da die Dateien ins lokale Verzeichnis eingehängt (gemountet) werden können.

Mounten eines WebDAV-Verzeichnisses

  • WebDAV-Verzeichnisse können auch dauerhaft gemountet werden, siehe hier.

Mounten einer Windows-Freigabe/Samba-Share

Backup

Verschlüsselung

Netzwerk

Siehe oldCt:Linux-Tipps#Netzwerk

Webserver


Mail

Fernzugriff

Grafiksystem


Multimedia

Videos

Die Versorgung mit Codecs ist unter Linux ein - lösbares - Problem. Z.B. hilft die plattformübergreifende Software VLC.

Ein Projekt namens Moonshine ermöglicht unter Linux Windows Media Content mit Original-Microsoft-Codecs abzuspielen. Es nutzt dazu Moonlight.

Digitalkameras unter Linux

Bildbearbeitung

Bildinformationen

Mit den Exiflow-Tools können Bilddateien einfach gemäß dem Erstellungsdatum umbenannt werden.

Mit exiv2 lässt sich auf der Kommandozeile die Informationen eines Bildes auswerten.

Auch exiftags und exif bieten die Informationen aus dem EXIF-Teil des JPEG-Bilds über die Kommandozeile an.

Schließlich bietet auch jhead (man-page) alle textuellen Informationen. Dieses Programm läuft nicht nur unter Linux, sondern auch unter Windows. Eine Verwendungsbeispiel:

    jhead -nfhm%04Y.%02m.%02d-%H%M%S.%f *.jpg

Das macht aus der Datei p104711.jpg z.B. hm2007,11,12-110048.p104711.jpg.

In den OpenSuse-Forums findet sich ein Shell-Skript zum Umbenennen von Movies (.MOV) basierend auf dem Dateimodifikationsdatum. Damit lässt sich obiger jhead-Befehl nachbilden (der Unterschied bleibt natürlich, dass nicht das EXIF-Datum, sondern das Dateidatum in den Namen aufgenommen wird):

 #!/bin/sh
 for file in ${@}; do
   if [ -e $file ]; then
     timestamp=`ls -l --time-style=+%Y.%m.%d-%H%M%S $file |cut -d' ' -f6`
     newfile="hm$timestamp.$file"
     echo Aus $file wird $newfile ...
     mv -v "$file" "$newfile"
   fi
 done

Fernzugriff

Drucken


Scannen

Für den Scanner Mustek 1200 UB Plus ist neben einer SANE-Installation einschließlich des gt68xx-Backends (bei OpenSuse 10.3 automatisch) noch Folgendes zu tun:

  • Die Firmware-Datei sbfw.usb herunterladen und im Verzeichnis /usr/share/sane/gt68xx speichern sowie
  • Von der bisher in der Datei /etc/sane.d/gt68xx.conf enthaltene Zeile
    #override "mustek-scanexpress-1200-ub-plus" 

das führende Kommentarzeichen (#) entfernen. Ansonsten wird der Scanner fälschlicherweise als Mustek BearPaw 1200 CU erkannt.

  • Das erkannte Scanner-Modell kann man sich ausgeben lassen:
 scanimage -L
  • Mit der Anwendung xsane kann man dann scannen.

OpenSuse

  • Mit dem Scanner-Modul von yast kann man die korrekte Installation testen.

Debian

  • Unter Debian
    • ist neben der Installation von xsane auch die Installation von sane-utils erforderlich.
    • Außerdem muss der jeweilige Benutzer Mitglied der Gruppe scanner sein.

Ubuntu

  • Unter Ubuntu benötigt man jedenfalls in 9.10 Karmic Koala folgende Zeile in /etc/fstab:
 none    /proc/bus/usb   usbfs           auto                    0       0

Evtl. funktioniert auch

 none    /proc/bus/usb   usbfs           auto,devmode=0666       0       0


  • Ob die Zeile funktioniert lässt sich mit mount testen:
 sudo mount -a
  • Damit man auch als normaler User auf den Scanner zugreifen kann,[2] kreiert man mit
 sudo joe /etc/udev/rules.d/40-basic-permissions.rules

(oder irgendeinem anderen Editor) eine Datei mit folgendem Inhalt

  # USB devices (usbfs replacement)
 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
 SUBSYSTEM=="usb_device", MODE="0666"

Anschließend muss man das udev-System neustarten:

 sudo restart udev

Hinweis: Auf ubuntuusers.de findet sich eine davon leicht abweichende Möglichkeit für das Scannen als normaler User.

Verbindung mit Handy/PDA