CD-Image unter Linux mounten

Wenn man unter Linux ein CD-Image (.iso/.cue) usw. hat und darauf zugreifen will, muss man nicht unbedingt eine CD Brennen. Man kann das CD-Image ganz einfach mit dem zusätzlichen Parameter -o loop mounten und hat so den Inhalt in einem Ordner. Das sieht dann zum Beispiel so aus:
mount -o loop image.iso mount/

Linux mit Samba als Windows Domänenmitglied

Im Geschäft hatten wir eine USB-Festplatte, auf welcher wir sehr viele Bilder für die Katalogproduktion hatten. Das funktionierte recht gut, nur war es recht umständlich, da man die Festplatte immer wieder von einem Computer an den anderen anschliessen mussten. Die ideale Lösung ist also, wenn man die Bilder auf einem Server platziert, damit alle Leute darauf zugriff haben. Eine Bedingung ist, dass alle Leute die Bilder ansehen, aber nur bestimmte Mitarbeiter darauf zugreifen können.
Ich habe das ganze mit einem Linux-Server mit Samba gelöst, welcher an die Windows-Domain angeschlossen wurde. Hier nun eine kleine Anleitung, wie das bei mit funktioniert hat.

Ausgangslage

Domain: MUSTER.LOCAL
DNS-Server: 192.168.1.10

Domaincontroller
OS: Windows 2003 SP 2
Hostname: SERV01
IP: 192.168.1.10

Linux Server
OS: Ubuntu Linux 8.04 Server (2.6.24-16-server)
Hostname: SERV02
IP: 192.168.1.11

Software

Installiert werden muss Samba, Winbind und Heimdal. Bei mir in den folgenden Version (direkt über apt)
  • Samba 3.0.28a
  • Winbind 3.0.28a-1ubuntu4
  • heimdal-clients 0.7.1-1ubuntu3

Installation

Kerberos


Kerberos wird zur Authentifizierung am Windows-Server verwendet. Will sich also ein Benutzer am SERV02 anmelden, so sendet dieser die Anfrage an den SERV01 (PDC) weiter und erhält von dem die Nachricht, ob Benutzername und Passwort korrekt sind. So kann man direkt die Benutzer und Gruppen aus der Active-Directory verwenden, was die Benutzerverwaltung sehr vereinfacht. Kerberos ist im Packet Heimdal enthalten.
Konfigurieren muss man die Datei /etc/krb5.conf. Dazu muss man zuerst eine Realm (einen Bereich) konfigurieren und dort ein KDC (Kerberos Distribution Center) angeben und dann der Domain den Berich zuweisen. Wichtig ist hier, dass auf die Gross- und Kleinschreibung geachtet wird. Meine Konfigurationsdatei sieht so aus:
[libdefaults]
        default_realm = MUSTER.LOCAL
        clockskew = 300

[realms]
        MUSTER.LOCAL = {
                kdc = SERV01.MUSTER.LOCAL
        }

[domain_realm]
        .muster.local = MUSTER.LOCAL

[logging]
#       default = SYSLOG:NOTICE:DAEMON
        default = FILE:/var/log/krb/krb5libs.log
        kdc = FILE:/var/log/krb/kdc.log
        kadmind = FILE:/var/log/krb/kadmind.log

[appdefaults]
        pam = {
                ticket_lifetime = 1d
                renew_lifetime = 1d
                forwardable = true
                proxiable = false
                retain_after_close = false
                minimum_uid = 0
                debug = false
        }

Nun kann man mit dem Befehl kinit den Kerberos Client (Linux) am Server (Windows) authenifizieren. Dies funktioniert mit dem folgenden Befehl:
kinit Administrator@MUSTER.LOCAL

Wichtig ist wieder, dass auf die Gross- und Kleinschreibung geachtet wird und dass die Namensauflösung funktioniert. Ein ping auf serv01 sollte hier im Beispiel 192.168.1.10 zurückgeben.

Samba


Jetzt kann Samba über die Datei /etc/samba/smb.conf konfiguriert werden. Wichtig sind die Rot markierten Zeilen.
[global]
   workgroup = MUSTER
   server string =
   netbios name = serv02
   realm = MUSTER.LOCAL
   idmap uid = 10000 - 15000
   idmap gid = 10000 - 15000
   winbind separator = /
   winbind use default domain = yes
   password server = serv01.muster.local
   security = ADS
   client use spnego = yes
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = yes
   passdb backend = tdbsam
   obey pam restrictions = yes
   invalid users = root
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
   socket options = TCP_NODELAY

  • workgroup: Die Arbeitsgruppe. Sollte gleich dem Domänennamen sein
  • netbios name: Der Netbios Hostname des Servers
  • realm: Der Bereich. Gleich dem Bereich in der Kerberos Konfiguration
  • idmap uid: Bereich der genutzt wird um die Domänenbenutzer auf die Linux Benutzer zu mappen
  • idmap gid: Bereich der genutzt wird um die Domänengruppen auf die Linux Gruppen zu mappen
  • winbind seperator: Das Trennzeichen zwischen der Domäne und dem Benutzer
  • winbind use default domain: Definiert, ob Winbind auch mit dem Benutzernamen arbeitet, wenn keine Domäne angegeben wurde.
  • password server: Der Server, welcher die Passwörter validiert.
  • security: Definiert, dass Samba als ADS Mitglied arbeiten soll
  • client use spnego: Aktiviert SMB Singing

Nun muss man den Samba Server noch in die Domäne aufnehmen. Das macht man seit Samba 3.* nicht mehr mit smbpasswd sondern mit dem net Befehl:
net join -S serv01 -UAdministrator%password


Wenn alles geklappt hat muss man Linux noch mitteilen, dass Benutzeranfragen an winbind weitergeleitet werden sollen. Dies macht man in der Datei /etc/nsswitch.conf. Dort muss man die Zeilen passwd und group anpassen. Sie sollten schlussendlich so aussehen:
passwd:         files winbind
group:          files winbind


Nach einem Neustart von Samba und Winbind kann man prüfen, ob die Konfigurationsarbeit erfolgreich war. Die folgenden Befehle sollten alle Benutzer, bzw Gruppen der Windows Domäne anzeigen.
wbinfo -u
wbinfo -g

Shares einrichten

Sollte bisher alles funktioniert haben, kann man jetzt die Shares im Samba einrichten. Ich habe einen Share names Bilder gemacht, auf welchen alle Zugriff haben, aber nur eine bestimmte Gruppe schreiben kann.
[bilder]
   comment = Bilder
   path = /home/bilder
   public = yes
   read only = no
   guest ok = no
   browseable = yes
   valid users = @muster/alle
   admin users = @muster/abteilung, muster/user


Hier noch die Unterschiede zwischen Lokalen-/Domänenbenutzen-/Gruppen.
# lokaler user
valid users = user

# domain user
valid users = muster/user

# lokale gruppe
valid users = @group

# domain gruppe
valid users = @muster/group

Quellen


Im Internet gibt es schon einige Anleitungen dazu. Hier möchte ich diejenigen Auflisten, die mich am meisten weitergebracht haben:
  • http://www.pro-linux.de/work/server/samba3-domaene.html
  • http://www.administrator.de/Samba_in_Windows_Dom%C3%A4ne.html

Backup einer mySQL Datenbank erstellen

Wenn man eine Sicherung von einer mySQL Datenbank machen will kann man das natürlich auf auf mehrere Arten machen. Zum einen kann man das ganze über das beliebte phpMyAdmin machen. Oder, wenn man Zugriff auf die Shell vom Server hat, mit mysqldump oder cp. So kann man relativ simpel ein Cronjob einrichten, welcher Täglich oder Wöchentlich eine Sicherung der Datenbank macht.

Die Variante mit mysqldump ist recht simpel und funktioniert, ohne dass man den mySQL Server stoppen muss. mysqldump erstellt wie phpMyAdmin eine SQL Datei mit den create table und insert Anweisungen. In diesem keinen Beispiel wir die Datenbank "datenbank" exportiert und gleich noch mit gzip etwas komprimiert.
mysqldump -ubenutzer -p datenbank | gzip -c > file.sql.gz


Die andere Möglichkeit ist das kopieren der Dateien in der mySQL die Daten ablegt. In Ubuntu liegen diese Daten im Ordner /var/lib/mysql/. Dazu muss aber der mySQL Server gestoppt werden, dafür hat man aber eine etwas sauberere Sicherung. Bei Migrationen auf andere Server ist diese Variante wohl etwas besser. Hier ein kleines Beispiel, dass den mySQL Server stoppt, alle Datenbanken in den Ordner /home/backup/mysql/ kopiert und den Server dann wieder startet.
#!/bin/bash

mysqldir="/var/lib/mysql";

# stop mysql
/etc/init.d/mysql stop

date=`date +%d%m%Y`

mkdir /home/backup/mysql/$29.04.08 07:54/

cp -R $mysqldir/* /home/backup/mysql/$29.04.08 07:54/

# start mysql
/etc/init.d/mysql start

Knoppix 5.3 als DVD online

Dass Knoppix 5.3 schon in einer c't Ausgabe dabei war, habe ich ja bereits geschrieben.
Seit dem 28. März steht Knoppix 5.3.1 nun für alle als DVD zum Download bereit. Verfügbar ist Knoppix auf den FTP/HTTP Mirrors oder über Bittorrent.

Die wichtigsten Neuerungen gibs auf der Knoppix Homepage.

Knoppix 5.3 mit KDE 4

Heute bin ich endlich dazugekommen das neue Knoppix 5.3 etwas auszutesten. Auf der Knoppix Homepage kann man die neue Version noch nicht herunterladen, aber in der letzten Ausgabe vom c't war eine DVD mit der neuen Version beigelegt. Zum offiziellen Veröffentlichungstermin steht auf der Homepage folgendes:
Nach der CeBIT wird die Version 5.3 weitgehend unverändert auf den Knoppix-Mirrors zum Download angeboten.


Spannend an der neuen Knoppix Version ist vor allem der neue KDE 4 Desktop. Standardmässig bootet Knoppix zwar KDE 3.5.8, im Boot-Screen kann man aber auch andere Windowmanager starten. Mit knoppix desktop=kde4 startet man zum Beispiel KDE 4.
Neben den genannten KDE Versionen stehen noch Gnome, Fluxbox, Icewm, Looking Glass 3D (lg3d), larswm, Openbox, Twm, Wmaker und Xfce zur Auswahl. Es ist also für jeden etwas dabei.
Beim Booten empfiehlt es sich, die Auflösung anzugeben. Bei wurde anstelle von 1280x1024 immer 1024x768 verwendet. Und für die mit einer schweizer Tastatur ist es von Vorteil lang=ch anzugeben, damit nicht das deutsche, sondern das schweizer Tastaturlayout geladen wird.

Wenn man also Gnome mit einer Auflösung von 1280x1024 mit einem schweizer Tastaturlayout will, gibt man beim Bootscreen das folgende ein:
knoppix desktop=gnome lang=ch screen=1280x1024

Alle weiteren Optionen findet man auf der DVD in der Datei knoppix-cheatcodes.txt


Wie schon gesagt ist auf der Knoppix DVD der brandneue Windowmanager KDE 4 verfügbar. Ich nutze KDE schon seit längerem nicht mehr, da es mit einfach zu überladen ist. OK, Gnome ist da ja auch schon an der Grenze. Neu am KDE sind viele Ding. Also erstes ist mir die neue Arbeitsoberfläche aufgefallen, bzw. Plasma, die Software, die den Zugang zur Arbeitsfläche herstellt. Damit kann man sogenannte Plasmoids (Gadges, Widgeds) auf den Desktop hinzufügen. Auch das Startmenü und die Taskleiste wurden überarbeitet. Auf der KDE Webseite gibt es noch eine ausführliche Beschreibung mit den Neuerungen.

KDE macht keinen schlechten ersten Eindruck und wirkt mit dem neuen Menü recht aufgeräumt. Wie sich die neue Version bewährt wird sich zeigen. Mal sehen, wie lange es dauert bis die Distributoren KDE 4 ins Programm aufnehmen.

An welchem Port vom Switch hängt der Computer?

Ja nachdem wie sauber (oder eben unsauber) ein Patchpanel und ein Switch verkabelt ist kann es recht schwierig sein herauszufinden welcher Computer nun an welchem Port angeschlossen ist. Wenn man keine Lust hat jedem Kabel nachzugehen, muss man eine andere Lösung für das Problem suchen.
Eine Möglichkeit ist das blinken lassen des Lichts beim Switch. Jeder Switch zeigt an, ob er auf einem bestimmten Port eine Verbindung hat. Unter Linux kann man ganz einfach ein Script machen, welches das Interface immer wieder aus und wieder einschaltet. Wenn das Interface ausgeschaltet ist, hat der Switch kein Link, sonst schon. Das folgende kleine Script macht genau das. Es schaltet das Interface aus, wartet eine Sekunde, schaltet es wieder ein, wartet wieder eine Sekunde und so weiter. So kann man beim Switch sehr einfach sehen, an welchem Port der Computer angeschlossen ist.
#!/bin/bash

while true; do
    ifconfig  down
    sleep 1

    ifconfig  up
    sleep 1
done

Das Script funktioniert nur unter Linux und zudem sollte nicht noch zusätzlicher Datenverkehr über das Interface laufen, sonst macht das keinen Sinn.

Orte unter Gnome anpassen

In Ubuntu mit Gnome gibt es die Möglichkeit Unter Orte eigene Ordner als Favoriten hinzuzufügen. Auf diese hat man dann anschliessend über das Panel oder in der Navigationsleiste von Nautilus schnell zugriff. Im Ubuntu 7.10 sind die dort Standardmässig die Ordner Dokumente, Musik, Bilder und Videos eingetragen.
Wie gewöhnlich bei Linux kann man diese Ordner nach belieben anpassen. Also einen Ordner umbenennen oder einen neuen hinzufügen. Dazu muss man nur die Datei ~/gtk-bookmarks mit einem Ordner Editor öffnen und dort die gewünschten Ordner eintragen, bzw anpassen. Bei mir sieht diese Datei nun so aus:
file:///home/david/Dokumente
file:///home/david/Musik
file:///home/david/Bilder
file:///home/david/Videos
file:///home/david/Downloads
Um diese Datei zu bearbeiten benötigt man keine root Rechte, da man immer im eigenen Homeverzeichnis herum fummelt. Und so sieht das dann aus:
http://images.t-error.ch/blog/598/orte_menu.jpg http://images.t-error.ch/blog/598/orte_nav.jpg

RAW Dateien unter Linux bearbeiten

Mit meiner EOS 400D kann man, wie mit den meisten DSLR Kameras, Fotos im RAW Format aufnehmen. Dies hat den Vorteil, dass man da noch viel mehr Möglichkeiten zur Nachbearbeitung am Computer hat, da das Bild von der Kamera noch nicht bearbeitet wurde, sondern einfach so wie vom Sensor aufgenommen (Roh) abgespeichert werden.
Allerdings werden diese Dateien von jedem Hersteller in einem anderen Format abgespeichert, die Daten sind also nicht standardisiert. Damit man diese Dateien im Gnome in der Vorschau ansehen und auch im Gimp öffnen kann, müssen zwei Pakete installiert werden. Dies sind die Pakete gimp-ufraw und gnome-raw-thumbnailer, welche man einfach über Synaptic installieren kann.
http://images.t-error.ch/blog/589/synaptic.jpg


Das Paket gnome-raw-thumbnailer sorgt dafür, dass die RAW Dateien auch in der Vorschau schon angezeigt werden. Wenn man nur RAW Fotos schiesst bringt das einen riesen Vorteil, wenn man wie ich JPG und RAW Dateien schiesst ist es aber immer noch praktisch.
http://images.t-error.ch/blog/589/raw_thumbnailer.jpg


gimp-ufraw hingegen ist ein Plugin für den Gimp, welcher die RAW Dateien sonst nicht öffnen kann. Mit dem Installierten Paket kann man die RAW Dateien einfach im Gimp öffnen. ES öffnet sich dabei ein neues Fenster, in dem man nun den Weissabgleich und noch einige andere Dinge einstellen kann. Auch ein Live histogramm steht zur Verfügung. Da ich Photoshop und co. nicht wirklich kenne, kann ich hier keinen Vergleich machen, für meine Bedürfnisse reicht das aber völlig aus.

Pipe Viewer

Pipe Viewer ist ein kleines aber feines Tool für die Linux-Shell. Damit lässt sich der Fortschritt des Datenflusses durch eine Pipe anzeigen. Besonders praktisch ist dies bei Befehlen wie gzip, tar, dd usw, da diese keinen Fortschritt anzeigen. Mit dem Pipe Viewer ist dies nun möglich.
Pipe Viewer lässt sich unter Ubuntu und Debian ganz einfach über Apt installieren.
sudo apt-get install pv
Auf der offiziellen Homepage sind auch RPMs verfügbar.

Die Verwendung ist recht simpel. Pipe Viewer funktioniert ähnlich wie cat, nur dass es halt den Fortschritt anzeigt. Möchte man nun eine Datei Zippen und dabei den Fortschritt sehen, kann man das so machen:
pv ubuntu-6.06.1.iso | gzip > ubuntu-6.06.1.iso.gz
50.3MB 0:00:05 [11.6MB/s] [=====>                ] 33% ETA 0:00:09


Im Manual sind noch einige andere, komplexere Beispiele zu finden:
pv file | nc -w 1 somewhere.com 3000
(tar cf - . \
| pv -n -s ‘du -sb . | awk ’{print }’‘ \
| gzip -9 > out.tgz) 2>&1 \
| dialog --gauge ’Progress’ 7 70

ZKB Onlinebank Java unter Linux installieren (Howto)

http://images.t-error.ch/blog/563/zkb_logo.jpg

Vor etwas mehr als zwei Monaten habe ich bereits über die ZKB Java Onlinebank unter Linux geschrieben. Damals gab es sogar Probleme mit dem Download. Diese wurden dann aber zügig behoben, wie ich auch in den Kommentaren geschrieben habe. Danach hatte ich allerdings Probleme bei der Installation und so habe ich das ganze auch nicht mehr gross verfolgt. Unter anderem, weil ich nicht gewillt war viel Energie in etwas zu setzten, das ich ja eigentlich auch online und ohne gefrickel haben kann.

Aufgrund von Kommentaren von Cruizzer im ehemaligen Beitrag, ist die ganze Sache bei mir nun wieder ins Rollen gekommen. Spätestens seit seinem Kommentar mit der Lösung, wie man die Software nun trotzdem installieren kann.
Nun möchte ich hier eine Kurzanleitung liefern, für alle, die dasselbe Problem haben. Vielen Dank an dieser Stelle an Cruizzer, der die Lösung gefunden hatte.

Als erstes muss man die Bin Datei von der ZKB Seite herunterladen und auf dem Computer speichern. Nun kommt der Trick 77. Anstatt die Datei in der Shell einfach auszuführen, startet man die Datei mit dem Java Befehl:
java -jar setup.bin
Und schon startet die Setup Routine. Auf meinem Computer lief das ganze nicht so zügig, obwohl ich einen Pentium M 2GHz mit einem GB Ram habe. Aber möglicherweise liegt es ja auch am Compiz.
Beim ersten Schritt muss man nun den Installationspfad angeben. Ich habe die Software in mein Home, in den Unterordner .ZKBOnba installiert.
http://images.t-error.ch/blog/563/pfad.jpg


Mit einem Klick auf Weiter wird die Software in das gewünschte Verzeichnis installiert.
http://images.t-error.ch/blog/563/installation.jpg


Die Installation ist jetzt abgeschlossen. Um das Programm zu starten Navigiert man in den Installations-Ordner und führt dort das Shell-Script Start_ZKB_Onba_3.
Kurz darauf wird der Splash-Screen angezeigt und dieser bleibt dann auch ein weilchen. Auf meinem Computer dauerte das über eine Minute. Aber das kann von Computer zu Computer variieren.
http://images.t-error.ch/blog/563/splash.jpg


Nach dem Splash-Screen folgt die Loginmaske, bei welcher man die Vertragsnummer, Passwort und Sicherheitszahl eingeben kann. Wenn man diese Daten richtig eingegeben hat, ist man drin.
http://images.t-error.ch/blog/563/anmeldung.jpg


Für mich ist das aber leider keine gute Lösung, die Software ist einfach viel zu langsam. Java ist ja sowieso nicht dafür bekannt, schnell zu sein, aber die Geschwindigkeit ist nun wirklich nicht zum aushalten. Ich werde in Zukunft trotzdem die Online Version benutzen.
Es kann aber gut sein, dass die Java-Bank auf anderen Computern unter Linux gut läuft. Ich würde mich über Erfahrungsberichte freuen.