ALter post von meiner Homepage
Wichtige Dinge im Vorraus. Um keine Probleme mit libraries zu bekommen und um Platz zu sparen mussten die meisten Programme statisch kompiliert werden. Wo es ging habe ich das Programm gegen die dietlibc, einen hervoragenden libc Ersatz von Felix von Leitner kompiliert.
Der Link
Wir benötigen für unser embedded system
einnen kernel
busybox (multi binary tool)
optional
ssh
bash
netcat
kernel
läuft momentan noch ein Fremdkernel soll aber bald ersetzt werden.
busybox
downloadlink: www.busybox.net/downloads/busybox-1.1.0.tar.gz
tar xzvf busybox-1.1.0.tar.gz
cd busybox-1.1.0/
Die busybox ist ein binary das die meisten Linux/Unix Kommondos emuliert sowie eine ash als shell. Die Konfiguration erfolgt nach einem make menuconfig über eine der Linuxkernelkonfiguration nicht unähnliches Menü.
Wichtig : statisch Kompilieren!!
Im Netzwerkbereich habe ich noch den webserver ausgwählt, dafür aber telnet nicht da ich mir ja noch ein ssh kompileren will.
du -h busybox
1.2M busybox
bash
Die bash ist nur optional da ja mit der busybox eine ash mitgeliefert wird, kann aber aufgrund des grösseren Befehlssatzen und Komforts von Vorteil sein
Ich musste dazu die alte bash herunterladen da sich die neue nicht statisch kompilieren liess
ftp.gnu.org/gnu/bash/bash-2.05.tar.gz
dann
tar xzvf bash-2.05a.tar.gz
cd bash-2.05a/
./configure CC="diet gcc" --enable-static=yes
make
strip bash
wenn wir nun das ergebnis mit einem
/bash-2.05a > du -h bash überprüfen haben wir nun
496K bash eine bash mit 496k
SSH
chrootssh.sourceforge.net/download/openssh-4.2p1-chroot.tar.gz
Es war fast keine Version im Netz zu finden die funktionierte und sich statisch Kompilieren liess ausser der obigen.
tar xzvf openssh-4.2p1-chroot.tar.gz
cd openssh-4.2p1-chroot/
./configure LDFLAGS=-static
make
Bei mir wurden die absoluten Pfade des Kompilierungssystem fest miteingebunden weswegen ich noch als prefix
/opt/bin/
angeben musste(Das ist dann auch der Pfad auf dem thinclient)
netcat
Um das ganze ein bischen aufzubohren wollte ich netcat (mächtiges Netzwerktool) haben,
osdn.dl.sourceforge.net/sourceforge/netcat/netcat-0.7.1.tar.gz
(Server sehr langsam)
Dann das übliche
tar xzvf netcat-0.7.1.tar.gz
cd netcat-0.7.1/
./configure LDFLAGS=-static CC="diet gcc -nostdinc"
make
falls keine dietlibc vorhanden ist dann
./configure LDFLAGS=-static
Zusammenbauen des Systems
Dazu braucht man erstmal ein Grundgerüst für ein Unixsystem. Ich habe meins von hier
ftp://www6.software.ibm.com/software/developer/library/l-lwl1/skeleton.tar.gz
heruntergeladen.
Dieses mit
tar xzvf skeleton.tar.gz
entpacken
Das wichtigste ist die /etc/init.d/rcS, die den ganzen startprozess regelt. Die Kommentare solten alles erklären
#!/bin/bash
# Defaultshell ist die bash
/bin/mount -n -t proc /proc /proc
# das procfilesystem wird gemounted
PS1='\u@\h \t \w > '
# standartprompt
echo loading keys
loadkeys /de-latin1.map
# Laden der Keymap
echo syncronyzing time
netdate -v 192.168.1.1
hwclock –systohc
# Wir stellen die Zeit über unseren Zeit
echo remounting root
mount -o remount -o rw /dev/root /
# root wird neu gemountet ( so brauchen wir keine fstab)
echo starting httpd
httpd -h /webroot/
# Der Webserver der busysbox wird mit den entsprechendem webroot gestartet
echo starting ssh
/sbin/sshd
# der sshdämon auch
Die zwei Dateien braucht man auch noch
/etc # cat HOSTNAME
danube.ds9
/etc # cat resolv.conf
nameserver 192.168.1.1
nameserver 194.25.2.129
nameserver 193.101.111.10
[lang_en]
My new travelblog
https://weltenbummler.hlawatsch.org/en/
[/lang_en][lang_de]
Mein neues Reiseblog
https://weltenbummler.hlawatsch.org/de/
[/lang_de]
Fall 2015 I was in Thailand for my first bagbacking experience. I travelled from Chiang Mai ( where I visited an elephant sanctuary) in the north to Lopburi ( with its monkeys) , Ayutthaya ( I explored the ruins there with a bicycle ) and ended up Kanchanaburi at the river Kwai. There I was swimming in the basins of the erawan falls with some fishes ,traveling across the Death Railway and relaxing on a house bout on the river kwai.
Travelling as bagpacker was a great experience enjoying freedom and adventure , finding new friends.
2016 there will be an update , I promise
Some wats in Chaing Mai
playing with the big guys
back in Chiang mai
Trainstation on my route to lopburi
monkey alarm !!
Ayutthaya
Erawan Falls ( beautifull to swim)
Death railway
River Kwai
The famous Bridge
Chilling at „my“ Houseboat
Sunset
Bangkok
Ib the skys over Frankfurt
[lang_en]
this morning websphere client of one of the cluster I manage stopped working with the following error.
Cannot connect to vCenter Single Sign On server. https://(FQDN or IP address of SSO):7444/ims/STSService.
The Reason was simple and curious.
The SSO Service was running a year an needs a restart because of a expired temporary certifcate.
Here is the KB article
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2122788
[/lang_en][lang_de]
diesen Morgen stellte the websphere client eines der Cluster sienen Dienst mit folgender Fehlermeldung ein.
Cannot connect to vCenter Single Sign On server. https://(FQDN or IP address of SSO):7444/ims/STSService.
Dert Grund ist simpel aber seltsam.
Der SSO Service lief seit einem Jahr und musste wegen eines tempoären,abgelaufenen Zertifikates neugestartet werden
Hier ist der KB Artikel:
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2122788
[/lang_de]
„In diesem Sommer haben wir Deutschen eine historische Chance. Die Chance, uns ausnahmsweise mal nicht wie Arschlöcher zu benehmen.“
Klaas Heufer Umlauf und Jan Böhmermann haben ein sehenswertes Video zum Thema Griechenland und Europa gedreht das ich gerne Weiterverbreite
Old Systems which are vunerable because wikipedia
shellshock aren’t that easy to update. One method is compilling bash manually ( stolen from ubuntu )
mkdir src
cd src
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
#download all patches
for i in $(seq -f "%03g" 0 25); do wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i; done
tar zxvf bash-4.3.tar.gz
cd bash-4.3
#apply all patches
for i in $(seq -f "%03g" 0 25);do patch -p0 < ../bash43-$i; done
#build and install
./configure --prefix=/ && make && make install
cd ..
cd ..
rm -r src
Ältere Systeme die von Shellshock
wikipedia
betroffen sind lassen sich nicht direkt updaten. Eine Option ist das selber Kompilieren ( geklaut bei ubuntu )
mkdir src
cd src
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
#download all patches
for i in $(seq -f "%03g" 0 25); do wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i; done
tar zxvf bash-4.3.tar.gz
cd bash-4.3
#apply all patches
for i in $(seq -f "%03g" 0 25);do patch -p0 < ../bash43-$i; done
#build and install
./configure --prefix=/ && make && make install
cd ..
cd ..
rm -r src
Symptom
Mysqlserver beendet sich selber . Auch nach einem Neustart beendet sich der Server nach wenigen Sekunden selbst
In /var/log/daemon.log befinden sich lange mysql Hexdumps sowie die Anmerkung das vermutlich die Datenbank auf Platte korrumpiert ist
Voraussetzung zur Behebung
Für solche Notfälle sollte man immer einen aktuellen mysqldump aller Datenbanken zur Hand haben. Wenn nicht kann man die Datenbank nicht ohne Datenverliste reparieren.
Lösung
Mysql mit dem dem Parameter
innodb_force_recovery = 4
starten.
So lange alle Datenbanken dropen ( mit drop Database ) bis mysql wieder ohne diesen Parameter startet.
Wenn alle Datenbanken betroffen sind muss die komplette Datenbank neuinstalliert werden . Vorher sollte /var/lib/mysql gelöscht oder umbenannt werden
Läuft die Datenbank wieder normal kann das Backup wieder eingespielt werden
Symptom
Mysqlserver is suddenly stopping (crashing) . Even after a restart the server ist stopping after a few seconds again.
In /var/log/daemon.log there are large mysql Hexdumps as well as the assumtion that the database is physically corrupt.
prerequirement for a successfull repair
In case of such an emergncy you need an uptodate mysqldump of all databases. If not, you have no change to fix the database without the loss of data
solution
restart Mysql with the Parameter
innodb_force_recovery = 4
drop your databases ( with drop Database ) as long till mysql starts normaly
If all Databases are part oft the problem, then you have to deinstall mysql , purge /var/lib/mysql , an then install mysql again.
At the latest mysql should run normal now. Time to use the dump to restore your databases.
Wo befinden die bahn-comfort an Zügen der Deutschen Bahn, wenn man diese benötigt ?
Normalerweise hier:
ICE1: Wagen 7,
ICE 2: Wagen 34/24,
ICE3 Wg. 36/26,
ICE-T7: Wagen 24/34,
IC: Wagen x0, zumeist der Wagen 10.
Symptom
There are two NFS exports in the /etc/exports file on the NFS server. Regardless of which export is mounted, only the first export actually gets mounted.
The /etc/exports looks like this
#cat /etc/exports
/exports/export1 *(rw,sync,insecure,root_squash,no_subtree_check,fsid=0)
/exports/export2 *rw,sync,insecure,root_squash,no_subtree_check,fsid=0)
Solution
Reason for this stange behaviour is the Duplicate fsid setting. You can only have one fsid=0 per NFS Server. Change the second fsid to a small integer and everything is working as designed
# cat /etc/exports
/exports/export1 *(rw,sync,insecure,root_squash,no_subtree_check,fsid=0)
/exports/export2 *rw,sync,insecure,root_squash,no_subtree_check,fsid=1)
Symptom
Es sind zwei NFS exports in der /etc/exports auf dem NFS server konfiguriert. Egal, welchen Mountpoint man mounted, es wird immer der Inhalt des ersten angezeigt.
Die /etc/exports sieht folgendermassen aus
#cat /etc/exports
/exports/export1 *(rw,sync,insecure,root_squash,no_subtree_check,fsid=0)
/exports/export2 *rw,sync,insecure,root_squash,no_subtree_check,fsid=0)
Lösung
Grund für dieses selstame Verhalten ist die identische Konfiguration für die fsid. Die fsid muss einzigartig sein.
Wenn man nun die zweite fsid in eine kleine Zahl ungleich 0 ändert dritt dieses Problem nicht mehr auf
# cat /etc/exports
/exports/export1 *(rw,sync,insecure,root_squash,no_subtree_check,fsid=0)
/exports/export2 *rw,sync,insecure,root_squash,no_subtree_check,fsid=1)