IT-Service GmbH 


spica.ulm.go-itservice.de

stormrunner Standard mit Debian 7.1 Wheezy

Hardware:

Board:ASUS N4L-VM DH, i945GM
CPUCPU INTEL Core2Duo T7200 2,0 GHz
Speicher2048 MB DDR2/PC 667
Grakaon Board
Netz1GBit Intel on Board
Soundon Board
PlatteSSD Samsung 840 PRO 128GB
CDROMLG DVD-RW
CardreaderEinbaucardreader Delock 91628
NetzteilBe Quiet E5 350W

Linux installieren

Mit Debian Wheezy 7.1 CD booten, da es nur eine netinstall-CD ist, Netzwerk eingesteckt lassen. Bei der Pruüfung des DHCP-Servers am besten abbrechen und die Adresse ec manuell eingeben
	Language:	German<enter>
		...	
	IP:		192.168.80.29
	Netmask:	255.255.255.0
	Gateway:	192.168.80.2
	DNS:		192.168.80.29
	Rechnername:	spica
	Domain:		ulm.go-itservice.de
Passwort root ..., User: dummy, Kein echter User nötig, diese werden von dem alten Rechner übernommen. Partitionieren:
	Festplatte:	manuell	Mountpoint
	50,0 GB	sda1	ext4	/	(formatieren, bootflag)
	 4,0 GB	sda2	swap
	74,0 GB	sda3	ext4	/local	(formatieren, als /local einbinden)
Grundsystem wird installiert ...
	Spiegel:	ja
	Server:		ftp.uni-erlangen.de
	Proxy:		http://192.168.80.1:3128 (oder <leer>)
Bei Debian Software Auswahl folgende Aufgaben angeben:
    Umgebungen: Desktop, Laptop, Standard
Die Installation der ca 1540 Pakete dauerte über DSL ca 60 Minuten, Damit ist baseconfig beendet und X11 startet nach dem booten. Bei Wheezy wird das neue GNOME 3 Desktop mitgeliefert, mit dem ich nicht klarkomme. Ich werde später XFCE 4 nehmen oder auf MATE ec. umstellen
Damit der neue Rechner sich wie der alte verhät, werden die Hostkeys und das root-Verzeichnis vom alten Rechner spica geholt.
/root/.ssh
/root/
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
Nach der Installation Dateien anpassen, passwd,shadow und group am besten so:
# cp passwd passwd.ORG
# cat /OLD/etc/passwd >> passwd
Alte Einträge ausser den echten Usern löschen.
/etc/passwd
/etc/shadow
/etc/group
/etc/profile	(nur wegen export EDITOR=vi)
/etc/init.d/obi1	(inclusive cd /etc/init.d; update-rc.d obi1 defaults)
/usr/local/bin
/etc/sudoers	(kopieren)
damit Perlprogramme mit goit.pm arbeiten können, muss noch ein Link angelegt werden. Da das /usr/local/lib/site_perl bei mir nicht existierte, vorher anlegen, sonst entfällt die erste Zeile:
# mkdir /usr/local/lib/site_perl
# cd /usr/local/lib/site_perl
# ln -s /usr/local/bin/goit.pm .
Verzeichnisse anlegen:
# mkdir /backupNorm1
# mkdir /backupNorm2
# mkdir /backupMonthly1
# mkdir /backupMonthly2
# mkdir /backupYearly
Datei /etc/apt/sources.list erweitern und an wheezy Zeilen contrib non-free anhängen, ebenso weitere Quellen (für Virtual Box) so daß die Datei schliesslich so ausschaut:
deb http://ftp.uni-erlangen.de/debian/ wheezy main contrib non-free
deb-src http://ftp.uni-erlangen.de/debian/ wheezy main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# wheezy-updates, former volatile
deb http://ftp.uni-erlangen.de/debian wheezy-updates main contrib non-free
deb-src http://ftp.uni-erlangen.de/debian wheezy-updates main contrib non-free

# Virtualbox
deb http://download.virtualbox.org/virtualbox/debian wheezy contrib non-free
In der Datei /etc/X11/default-display-manager wird der Eintrag von gdm3 ersetzt durch:
/usr/sbin/lightdm
Dies macht man vor der Installation der weiteren Pakete und des lightdm, dann fragt das Installationsskript auch nach dem default.
Oder später mit
# dpkg-reconfigure lightdm
Dann mit aptitude folgende zusäzliche Pakete und die unter Wheezy für php und perl angegebenen mit aptitude auswählen:
	apache2
	acl
	bind9
	catdoc (wegen xls2csv)
	cryptsetup
	debconf-utils
	dos2unix
	eclipse
	hdparm
	imagemagix
	iptables
	lame
	laptop-mode-tools
	libapache2-mod-php5
	lightdm
	ldap-utils
	lynx
	mcrypt	
	mencoder
	mplayer
	mysql-client (= mysql-client-5.5 + mysql-common)
	mysql-server  (= mysql-server-5.5 + mysql-common)
	nfs-kernel-server	
	nfs4-acl-tools
	ntpdate
	open-ssh-server
	php5
	+ perlmodule  (unter nicht-installiert -> perl, siehe Allgemeines zu "Wheezy")
	+ php5 (inclusive diverser Module siehe Allgemeines zu "Wheezy")
	phpldapadmin
	phpmyadmin
	rsh-redone-client
	rsync
	samba
	sane
	slapd
	squid
	squidguard
	ssh
	sudo
	vlc
	xfce4
	xsane
Ich habe alle Pakete, die irgendeiner der Rechner antares, sgrx1 und rigel verwendet, aufgenommen, um die weiter benötigten Rechner via Plattenkopie schnell aufsetzen zu könen. Nach der Installation Passwörter für mysql, ldap ec. eingeben.

Default X-Windowsmanager ändern

um den Default X-Session / X-Windowmanager auf xfce4 zu ändern, diesen im Auswahlmenü eintragen:
# update-alternatives --config x-session-manager

ist das noetig???: User Umschalten Xfce 4

Ab Xfce 4.10 ist die Benutzerumschaltung automatisch unterstuetzt. Um da mit LightDM zu verwenden, muss ein Symlink angelegt werden:
# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/local/bin/gdmflexiserver

Startdatei in rc.n

bereits in squeeze wurde die Reihenfolge der Bootskripte auf abhänigkeitsgesteuerte Bootskripte geändert. Diese sind komplizierter aufgebaut und nüssen ihre Abhänigkeiten und "start","stop" Zweige enthalten. Der Start Teil in meinem Beispiel (komplette Datei hier im Anhang)
mount 192.168.80.11:/home /home
mount -o remount -t nfs4 192.168.80.11:/home /home
mount /dev/sda3 /local
df -k
ifconfig eth0:1 10.0.0.1 netmask 255.255.255.0
ifconfig eth0:2 10.0.2.1 netmask 255.255.255.0
echo "ok"
Ist das Startskript fertig, wird es in den Bootablauf eingebunden. Hierzu wird im Verzeichnis /etc/init.d folgendes Kommando ausgeführt:
# update-rc.d obi1 defaults

Eclipse

Eclipse ist installiert, auch die JVM paßt in 3.8, so dass nur noch der Workspace auf /home/go/httpd umgestellt werden müsste. Aus irgendeinem Grund funktionierte der Zugriff auf den Workspace einer 3.2er Version (von squeeze) nicht, so dass ich ein anderes httpd Verzeichnis verwendete und die benötigten Projekte dorthin linkte. PHPEclipse muss noch installiert werden:
Menü: Help -> Install new Software -> Add
Location: 	http://update.phpeclipse.com/update/stable/1.2.x
Name:		phpeclipse 1.2.x
<Finish>, in der Liste PHPEclipse auswählen <Next>, Anweisungen befolgen (Lizenz akzeptieren ec) <Finish>

Vtiger installieren

Da einer meiner Kunden seinen Vertrieb neu organisierte und ein Customer Relationship Management Tool suchte, beschäftigte ich mich damit und bin auf ein mächtiges Programm namens vtiger gestossen.
Voraussetzungen installieren und vtiger 5.4.0 selbst auspacken habe ich unter squeeze durchgeführt und das funktioniert unter wheezy prinzipiell genauso. Mit dem Unterschied, dass das bei wheezy installierte PHP 5.4 die Direktive allow_call_time_pass_reference = On in der php.ini nicht mehr unterstützt und deshalb immer ein Fehler entsteht, der aber durch die Direktive error_reporting unterdrückt wird.
# aptitude install apache2 mysql-server php5 php5-gd libapache2-mod-auth-mysql php5-mysql
# /etc/init.d/apache2 restart
# tar xzvf vtiger*.tar.gz -C /var/www
Nun müssen einige Rechte angepasst werden, die Installationsseite unter http://antares.ulm.go-itservice.de/vtigercrm zeigt alle noch fehlenden Rechte und fehlende Einstellungen in der /etc/php5/apache/php.ini aber an, so eigentlich nichts schiefgehen kann. Ich hatte vorher alle chmods in ein shellskript installvtiger.sh gepackt.
Einstellungen in der php.ini anpassen:
Directive 	Recommended PHP.ini value
display_errors 	On
max_execution_time 	600
error_reporting 	E_WARNING & ~E_NOTICE & ~E_DEPRECATED
allow_call_time_pass_reference 	On
log_errors 	Off
Datenbank anlegen, entweder via phpmyadmin oder auf der Kommandozeile:
> CREATE DATABASE `vtiger` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
> GRANT ALL PRIVILEGES ON vtiger.* TO vtiger@localhost IDENTIFIED BY 'DBPASSWD';
Vor der Konfiguration müssen beim derzeit aktuellen vtiger 5.4.0 einige Codezeilen geändert werden, was ich im Internet herausfand. Das ist natürlich auch nötig, wenn vtiger von einem anderen Rechner kopiert wurde.
1. die Datei installdir/include/utils/CommonUtils.php
alle Vorkommnisse der Variablen $_FILE. Diese einfach durch $FILE ersetzen.

2. die Datei installdir/modules/Users/Authenticate.php
ab ca Zeile 70 folgendes ersetzen
//Security related entries end
session_unregister('login_password');
session_unregister('login_error');
session_unregister('login_user_name');
durch:
//Security related entries end
session_unset($_SESSION['login_password']);
session_unset($_SESSION['login_error']);
session_unset($_SESSION['login_user_name']);
Erstaunlicherweise scheinen das die einzigen Kritischen Stellen zu sein!
CRM Configuration im Browser starten (falls nicht kopiert), analog hierzu:
http://antares.ulm.go-itservice.de/vtigercrm
Im Browser:
Currency Name: EURO	
DB:		127.0.0.1	hier bin ich nicht ganz sicher
user:		vtiger
pass:		DBPASSWD
name:		vtiger
User Configuration
Username:	admin
Password: 	ADMINPASSWD
Email: 		admin@domain.de
Installieren: Language Packs ausser GERMAN abwählen
So, Basiskonfiguration steht, im Admin Interface admin - Konfiguration den Mail Server einrichten.
in der Shell mit crontab -e einen cron-Job fuer vtigercron.sh einrichten
0,15,30,45 * * * * sh /var/www/vtigercrm/cron/vtigercron.sh
Aus Sicherheitsgründen sollten die install-Dateien umbenannt werden und der Zugriff via .htaccess eingeschränkt werden
# cd /var/www/vtigercrm
# mv install.php installVT540if.php
# mv install installVT540if
# cp htaccess.txt .htaccess
in der apache Konfiguration für die Domain oder das Unterverzeichnis von vtiger muss "AllowOverride All" gesetzt sein, damit die .htaccess berücksichtigt wird notfalls Options -Indexes in der Apache-Konfiguration setzten, das verhindert das Schlimmste.
So, jetzt wirds harzig. Im Releasepaket von vtiger 5.4.0 fehlten die deutschen Sprachdateien, diese habe ich aus dem älteren Release Candidate herauskopiert und anschliessend in meine Installation eingefügt. Hoffentlich ist das Problem inzwischen wieder behoben! Das Vorgehen kann ich nicht genau beschreiben, hat eine Weile gedauert. Wer es selber nicht hinbekommt, mail an mich!
Dann in der Weboberfläche: User anlegen
Organisationen, Personen anlegen
Ich baute eine Importseite für die alte Exceldatei des Kunden, um mehrere Standorte und Ansprechpartner unter einer Organisation zu abbilden zu können und ein Modul zur Übergabe von Org-Einheiten nebst Unterobjekten an einen anderen Mitarbeiter.
Doku, Anleitungen: https://wiki.vtiger.com/
Doku, Tips: https://help.vtiger.com
Videodukus: http://youtube.com/vtigercrm

CDs rippen und in MP3s wandeln

mit aptitude lame, abcde installieren. Unter squeeze ist lame verfügbar, es muß nichts geändert werden. Bei Benutzung von abcde und Proxy: export HTTP_PROXY="proxy.xxx.de:3128"
/etc/abcde.conf
OUTPUTDIR="$HOME/mp3"
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM} ${TRACKFILE}'
VAOUTPUTFORMAT='${ALBUMFILE}/${ARTISTFILE}-${ALBUMFILE}-${TRACKNUM}-${TRACKFILE}'
# ergibt variable Bitrate:
LAMEOPTS='--preset standard'	
PADTRACKS=y
Auslesen, encodieren ec. der CD mit:
$ abcde -N -g -d /dev/cdrom -a read,encode,tag,move,playlist,clean -o mp3  -x

------- STAND -------

Apache 2

das ganze Verzeichnis /etc/apache2/ vom alten Rechner holen. Links in /etc/apache2/sites-enabled erzeugen in der Art
# ln -s ../sites-available/seceit.go-itservice.com 001-seceit.go-itservice.com
/etc/hosts anpassen, damit die Entwicklungsseite auf antares nicht im Internet gesucht werden.

TrueType Fonts (.ttf) installierern

Die Fontdateien nach usr/share/fonts/truetype/ kopieren und dann mit dem Debian Font Manager bekanntmachen:
# defoma-hints -c --no-question truetype /usr/share/fonts/truetype/*.ttf > /etc/defoma/hints/ownfonts.hints
# defoma-font register-all /etc/defoma/hints/ownfonts.hints
# defoma-reconfigure
Zur Verwendung unter X11 müssen die Fonts nicht unter /usr/share/fonts/truetype/ liegen, für apache-FOP schon, sonst gibts eine Exception!

ElsterOnline benutzen

Elster Online funktioniert mit Firefox 3.5 und der auf antares installierten JAVA Version nicht nicht ohne folgenden Trick und die Fehlermeldung von wegen Cookies führt in die falsche Richtung
# apt-get install sun-java6-jre
# apt-get install sun-java6-plugin
Das Plugin ist /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/libnpjp2.so und wird via Symlink ins Mozilla-Pluginverzeichnis gelinkt:
# cd /home/USERNAME/.mozilla/plugins
# ln -s /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/libnpjp2.so
Das plugins-Verzeichnis existiert möglicherweise nicht und muß dann vorher mit Userrechten angelegt werden. Firefox schliessen und wieder öffnen, funktioniert!

Printserver und Drucker installieren

Damit von jedem Rechner problemlos auf jeden Drucker gedruckt werden kann, werden Parallel-Printserver verwendet (HP JetDirect 500x, HP JetDirect 300x). Am 500x können 3 Drucker angeschlossen werden, mir ist es auf die Schnelle aber nicht gelungen, den Printer an Port 2 oder 3 zu erreichen.
Die Printserver werden durch Einschalten bei gedückter "Test"-Taste auf die Fabrikeinstellungen (kein Admin Passwort, DHCP) zurückgesetzt und dann neu konfiguriert. Ich benutzte dazu die Konfigurationssoftware von einer Windows Partition aus, da die Admin-Webseite der Printerserver nicht funktionierte (nur leere Seite).
Auf antares (unter gnome) im Menue System -> Systemverwaltung -> Drucker einen neuen Drucker anlegen und einen Netzwerkdrucker mit Protokoll HP JetDirect einstellen. Laut Kommentaren im Internet arbeiten die genannten HP-Printserver aber alternativ auch mit dem IPP Protokoll. Dann den Printserver und den zum Drucker passenden Druckertreiber auswählen, als Beispiel einen HP Officejet G85.
Rechner: 192.168.80.17
Port: 9100
Treiber: Officejet G85 (HPLIP 1.6.10 recomended)
Einen der installierten Drucker als Voreinstellung auswählen.
Mit dem besagten HP-Officejet hatte ich immer wieder das Problem, daß nach 1-2 Monaten Nichtbenutzung die Patronen eintrockneten. Druckkopfunterseite ca 15 Minuten in Waschbenzin einlegen löst das Problem, mit Alkohol ging nichts.

Virtual Box installieren

mit VirtualBox (Download) kann man unter Linux andere OSS in virtuellen Umgebungen laufen lassen, als Gastsysteme kommen dabei z.B Linux, Windows, OS/2 oder BSD in Frage. Auf Arbeitsstationssrechnern kann man damit unter anderem Windowsspiele installieren oder Anwendungen, denen man nicht vertraut, in einer Art Sandbox verwenden. Die nötige zeile steht schon in der /etc/apt/sources.list
# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
# apt-get install virtual-box-4.1
Die Virtuellen Maschinen werden aus dem Userverzeichnis nach /local kopiert, da ich sie auf dem alten antares schon verwendete.
# cp /home/go/.VirtualBox/*.vdi /local
# cd /local; chmod 660 *.vdi; chown go:common *.vdi
Für USB Support in Virtual Box muss http://download.virtualbox.org/virtualbox/4.1.8/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack heruntergeladen werden. In der VirtualBox Oberfäche unter Datei -> globale Einstellungen -> Zusatzpakete -> hinzufuegen wird es installiert.
Damit der Linux-User virtualBox benutzen kann, muss er Mitglied in der Gruppe vboxusers sein. Also folgenden Eintrag, im Beispiel heissen die User go und uw in die Datei /etc/group einfügen bzw anpassen:
vboxusers:x:116:go,uw

Windows XP unter virtualBox installieren
Nun kann man nach einer Neuanmeldung virtualBox vom Startmenue "Anwendungen - Systemwerkzeuge" aus starten. In der Oberfläche legt man eine neue Virtuelle Maschine an, benennt diese, wählt als Gastsystem Windows XP aus. Anschliessend stellt man den Arbeitsspeicher der virtuellen Maschine auf mindestens 256 MB ein und wählt einen Ort für die Virtuelle Platte des Gastsystems. Bei Auswahl einer festen Systemgrösse dauert der Anlegevorgang etwas!
Man kann jeder virtuellen Maschine vier Netzwerkkarten zuweisen, normalerweise wird eine erzeugt. Im Host-Bereich des Rechners wird von Virtualbox automatisch ein DHCP Server erzeugt, der den virtuellen Gastsystemen IP-Adressen und DNS-Server zuweist. Verwendet man den Adapter im Modus "NAT", wird auch eine Art Router erzeugt, der sich um das Routing der IP-Pakete vom Gastsystem in das Netzwerk des Hostsystems kümmert.
Der DHCP Server weisst z.B. der ersten Netzwerkkarte des Clientsystems eine IP aus dem Netz 10.0.2.0 (also z.B. 10.0.2.15) zu, dem Host 10.0.2.2. Beim Installieren des XP-Hosts stellt man dessen automatisch erkannte Netzwerkkarte dann auf IP: "automatisch beziehen" und DNS-Server: "automatisch beziehen" ein. Dann koennen Browser und SMB Clients vom Gastsystem aus auf Lokales Netzwerk und Internet zugreifen. Achtung: der virtuelle Router routet keine ICMP Pakete, ping funktioniert vom Gastsystem aus also nicht!

virtuelle Maschinen kopieren
Die Metainformation zu Virtualbox steckt (voreingestellt) in den Dateien $HOME/.VirtualBox/VirtualBox.xml und $HOME/.VirtualBox/Machines/$MACHINENAME/$MACHINENAME.xml. Da das Anlegen der virtuellen Maschine mit der GUI von VirtualBox schnell geht, habe ich dort eine weitere Instanz #namens XPoffice angelegt. Flugs die bereits mit XP installierte Maschine in eine zweite Datei namens XPoffice.vdi kopiert und die Einstellungen in der VirtualBox.xml und XPoffice.xml angepasst. In der XPoffice.xml habe ich die Zeile von der vorhandenen XPtest.xml kopiert, damit die Harddisk-ID stimmt.
     <HardDiskAttachment bus="ide0" device="master" hardDisk="{6b64da54-d42f-4157-9c86-3aeaa036bc45}"/>
Beim Start - o Graus - eine Fehlermeldung wegen doppelter HDID - Mist, zu einfach. Suchmaschine angeschmissen, nach einigen Tips mit Hexedit in die XPoffice.vdi rein. Dort habe ich einfach nach bc45 gesucht und bin ca bei Position (hex!) x190 fündig geworden. Ich habe einfach das letzte Byte von 45 auf 46 geändert und dies in der XPoffice.xml nachgezogen, also:
     <HardDiskAttachment bus="ide0" device="master" hardDisk="{6b64da54-d42f-4157-9c86-3aeaa036bc46}"/>
Analog auch in der VirtualBox.xml:
        <HardDisk type="normal" uuid="{6b64da54-d42f-4157-9c86-3aeaa036bc46}">
          <VirtualDiskImage filePath="/local/VirtualBox/XPoffice.vdi"/>
        </HardDisk>
Die VirtualDiskImage Zeile hatte ich schon vorher angepaßt, um die umfangreichen VDI-Dateien vom Netzlaufwerk auf ein lokales zu verschieben. Dies funktioniert bei korrekten Verzeichnissrechten problemlos.

User und Rechte

Benutzer und Gruppen so anlegen, dass für jeden User eine Gruppe mit GID=UID existiert. Zugriff auf gemeinsame Resourcen kann dann einfach mittels Gruppenzugehörigkeiten geregelt werden:
/etc/passwd
go:x:801:801:Guenther Obermaier:/home/go:/bin/bash
USER:x:899:899:USER:/home/USER:/bin/bash
common:x:890:890:Common User:/home/common:/bin/false
/etc/group
go:x:801:go,www-data
USER:x:899:USER,www-data
common:x:890:common,www-data,USER,go
User www-data ist in jeder Usergruppe, deren korrespondierender User httpd-Unterverzeichnisse besitzt die via Webbrowser erreichbar sein sollen.
Damit das Verzeichnis /home/common von allen Mitgliedern der Gruppe common so genutzt werden kann, dass jeder User der Gruppe darunter abgelegte Dateien lesen UND schreiben kann, muss root folgendes eingeben:
# cd /home/common
# umask 0007
das bedeutet, dass jede Datei mit den Rechten 660 und jedes Verzeichniss mit den Rechten 770 angelegt wird. Die Voreinstellung ist umask 0022 (also für Dateien 644 und Verzeichnisse 755). Zusätzlich muss eine Default ACL für das Verzeichnis /home/common und die Gruppe common am Server sgrx1 eingerichtet werden.

ID3 Tags auslesen und setzen

mit dem Kommandozeilentool id3v2 kann man die ID3 Tags von MP3 Dateien einfach auslesen und setzen. Hier die wichtigsten Optionen:
   -l   Anzeige der gesetzten Tags
   -a   Artist: Name des Künstlers
   -A   Album: Name des Albums
   -t   Titel: Song-Titel
   -T   Track: Track-Nummer
Das kann man wunderbar mit einer Schleife in der shell koppeln, z.B. um den Titel aller Tracks im Verzeichnis durchzunummerieren, was die erste Zeile macht, während die zweite Zeile alle Tags aller MP3s im Verzeichnis ausgibt.
$ let a=0; for i in *.mp3; do let a=a+1; b=`printf Track_%03d $a`; id3v2 -t $b $i; done
$ id3v2 -t *.mp3

Musik CDs kopieren

# cdrdao read-cd --device /dev/cdrom cdtoc
# cdrdao write --device /dev/cdrom --speed 8 cdtoc
nach dem ersten Kommando Schublade öffnen und leeren Rohling einlegen. Beide Kommandos müssen im selben Verzeichnis gestartet werden (sie arbeiten nämlich mit einer Imagedatei data.bin in diesem Verzeichnis.

Einen entfernten Desktop administrieren

zur Unterstützung von Usern, die sich mit Linux nicht auskennen, ist die direkte Sicht auf deren Desktop sehr hilfreich. Dies ist mittels VNC leicht zu bewerkstelligen und funktioniert auch Betriebsystemübergreifend.
Zwei Heimnetze sind beide mit dem Internet verbunden, es liegt also folgende Topologie vor:
ANTARES (192.168.80.24) -- NAT Router A  --  internet  -- NAT Router B  --  DENEB (192.168.60.13)
                          (A.dyndns.org)                 (B.dyndns.org) \ CAPELLA (192.168.60.26)
Auf capella ist Vino installiert (ist Standard unter lenny)
vino wird für die Administration freigeschaltet mit (deutsch):
-> System -> Einstellungen -> entfernter Desktop
anderen Benutzern erlauben ihren Desktop anzuzeigen (JA)
anderen Benutzern erlauben ihren Desktop zu steuern (JA)
bei ihnen nachfragen (NEIN)
Passwort nötig (JA)
Dies kann auch remote auf der Shell durchgeführt werden, wenn am Zielrechner gconf2 installiert ist. Die Kommandos müssen als der Benutzer durchgeführt werden, dessen Desktop kontaktiert werden soll!
$ gconftool-2 -s -t bool /desktop/gnome/remote_access/promt_enabled false
$ gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true
$ -a /desktop/gnome/remote_access 
Die letzte Zeile zeigt die eingetragenen Werte. Egal mit welcher der beiden Methoden der Desktop freigegebe wurde, kann nun der Tunnel über ssh von antares aus aufgebaut werden. Statt Port 22 verwende ich für die Portweiterleitung an NAT Router B direkt auf deneb den Port 7922, auf capella den Port 8022. Falls Port 22 direkt zu deneb oder capella weitergeleitet werden würde, könnte ich auf -p 7922 bzw -p 8022 verzichten. Als root starte ich auf antares:
# ssh -C -L 5900:192.168.60.26:5900 -p 8022 B.dyndns.org
Auf antares kann jetzt der VNC-Viewer gestartet werden, z.B. remmina über
-> Anwendungen -> Internet -> Betrachter für entfernte Desktops
Dort Verbinden zu dem antares-seitigen Ende des Tunnels:
Typ:     VNC
Host:    127.0.0.1:5900
User:    go
Pass:    VNC Passwort am Zielrechner capella
Der Client fragt das auf capella eingestellte VNC-Passwort ab und baut dann den entfernten Desktop auf, viel schneller als unter lenny! Das ganze funktioniert aber nur, wenn der Benutzer, der den VNC Desktop freigegeben hat, auf capella schon angemeldet ist! Eine sehr gute Anleitung findet sich unter mikiwiki.org/wiki/Fernwartung

GPG verwenden

Zuerst via aptitude gpg (für Kommandozeile) und enigmail (für Thunderbird) installieren. Einige wichtige gpg Kommandos:
Neues Schlüsselpaar erzeugen:
$ gpg --gen-key
Schlüsselliste public auflisten:
$ gpg -k
Schlüsselliste privat auflisten:
$ gpg -K
Schlüssel als Benutzer exportieren:
$ gpg --export-ownertrust > /tmp/ownertrust.txt
$ gpg --export --output /tmp/keys.pub [KEYID]
Schlüssel in den keyring für www-data, damit von Webserver mit php via gpg veschlüsselte Mails versendet werden können:
als root:
# mkdir /var/www/.gnupg
# chown www-data:www-data /var/www/.gnupg
# chown chmod 700 /var/www/.gnupg
# su www-data
$ gpg -k
$ gpg --import /tmp/keys.pub
Damit der Schlüssel verwendet werden kann, muss ihm vertraut werden, also den Trust herstellen:
$ gpg --import-ownertrust < /tmp/ownertrust.txt
oder mit
$ gpg --edit-key [KEYID]
	> trust
	... 5
	> save

Anhang Dateien

/etc/init.d/obi1

### BEGIN INIT INFO
# Provides:          obi
# Required-Start:    $syslog $time $remote_fs
# Required-Stop:     $syslog $time $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Deferred execution scheduler
# Description:       Debian init script 
### END INIT INFO
#
#

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# DAEMON=/usr/sbin/atd
# PIDFILE=/var/run/atd.pid
# test -x $DAEMON || exit 0
# . /lib/lsb/init-functions

case "$1" in
  start)
	echo -n "obi1 start ... "
	ntpdate ntp.ulm.go-itservice.de
	date
	mount 192.168.80.11:/home /home
	mount -o remount -t nfs4 192.168.80.11:/home /home
	mount /dev/sda3 /local
	df -k
	ifconfig eth0:1 10.0.0.1 netmask 255.255.255.0
	ifconfig eth0:2 10.0.2.1 netmask 255.255.255.0
	echo "ok"
    ;;
  stop)
	# log_daemon_msg "obi start script" "obi"
	# killproc -p $PIDFILE $DAEMON
	# log_end_msg $?
    ;;
  force-reload|restart)
    # $0 stop
    # $0 start
    ;;
  status)
    # status_of_proc -p $PIDFILE $DAEMON atd && exit 0 || exit $?
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|force-reload|status}"
    exit 1
    ;;
esac

exit 0