Warning: Parameter 1 to polyglot_filter_array() expected to be a reference, value given in /usr/share/wordpress/wp-includes/plugin.php on line 199 Stephan's pieces of wisdom » Linux

shellshockfix for old Linuxsystems

Author: Stephan  |  Category: Linux, Netzwerk

Ä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

Author: Stephan  |  Category: Linux, Netzwerk, Sonstiges

Nach einem etwas längeren Umzug eines rdiff_backup repositories lieferte das Backup folgenden Fehler:

[03/20/13 13:31:44] Exception 'Found too many current_mirror incs!' raised of class
'':
[03/20/13 13:31:44] File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304,
in error_check_Main
[03/20/13 13:31:44] try: Main(arglist)
[03/20/13 13:31:44] File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 324,
in Main
[03/20/13 13:31:44] take_action(rps)
[03/20/13 13:31:44] File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 280,
in take_action
[03/20/13 13:31:44] elif action == "backup": Backup(rps[0], rps[1])
[03/20/13 13:31:44] File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 337,
in Backup
[03/20/13 13:31:44] backup_final_init(rpout)
[03/20/13 13:31:44] File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 501,
in backup_final_init
[03/20/13 13:31:44] checkdest_if_necessary(rpout)
[03/20/13 13:31:44] File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 916,
in checkdest_if_necessary
[03/20/13 13:31:44] need_check = checkdest_need_check(dest_rp)
[03/20/13 13:31:44] File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 907,
in checkdest_need_check
[03/20/13 13:31:44] assert len(curmir_incs) == 2, "Found too many current_mirror incs!"

Was war geschehen ? Durch den langen Kopiervorgang waren mehrere current_mirror Statusdateien mitgesynct worden.
In der obigen Fehlermedlung waren es zwei statt einer.
Wie lösen ?
Einfach in allen rdiff_datenverzeichnissen alle current_mirror* bis auf die neuste löschen und das Backup läuft wieder .

Apache Solr Search für Blog

Author: Stephan  |  Category: Linux, Netzwerk, Sonstiges

So, nun ist endlich so weit und die Suche dieses Blogs wird durch meinen Apache Solr Suchsserver betrieben

version control ist not only for developers

Author: Stephan  |  Category: Linux, Sonstiges, windows

Wer kennt das nicht :
“Ach hätte ich nicht noch die alte Version meiner Bookmarks, meines Lebenslaufes oder anderen wichtigen Oficedokuments”
Da kommt der Gedanke ins Spiel ,solche Dokumente zu versionieren mit einem Versionierungstool , wie es die Entwickler für Code verwenden.
Ein solches Tool ist Git. Git wurde ursprünglich von Linus Torvalds für den Linuxkernel entworfen existiert aber auch für Windows.
Nun wollen wir unser erstes Reposiory anlegen

cd mydir
git init
git add .
git commit

Kommandos um veränderungen anzuschauen
git status
git diff

Commit History
git log
letzte Änderung Rückgängig machen
git revert HEAD

Ein Nützlicher Link:

https://git.wiki.kernel.org/index.php/GitCheatSheet

Numlock Madness with my ubuntu netbook

Author: Stephan  |  Category: Linux, Netbook

Letztes Wochenende zeigte mein Netbook ein ganz seltsames Verhalten . Wenn ich ein “O” drückte kam stattdessen eine “6″ , statt eines “.” ein “,” und so weiter . Es war als wäre die FN Taste ständig gedrückt.
Nach einiger Zeit fand ich die Lösung. Ich hatte ein paar Tage zuvor eine externe tastatur angeschlossen ( mit aktiviertem NUM Lock). Dies hatte sich das Netbook gemerkt. Numlock deaktivert und alles war wieder normal.

Howto repair a server’s filesystem without rebooting

Author: Stephan  |  Category: Linux, Netzwerk

Wenn eine Partion schreibgeschützt ist aufgrund eines Festplattenfehlers oder man die Meldung bekommt ” jounal was aborted” möchte man die Partiton lieber ohne Reboot reparieren, speziell bei einem entfernten Server.

Als erstes müssen alle Prozese beendet wirden, die das Filesystem belegen.
fuser -v -m /home/

Unterpartitionen müssen ebenfalls ausgehängt werden
umount /home/myhome

dann
tune2fs -O ^has journal /dev/sda7
fsck /dev/sda7
tune2fs -j /dev/sda7

und nun muss man nur beendete Prozesse wieder starten

OpenLDAP Backup

Author: Stephan  |  Category: Linux

Die einfachste Möglichkeit den Datenbestand eines OpenLDAP Servers zu sichern bietet das Programm slapcat:

linux ~# /usr/sbin/slapcat -l backup.ldif

Analog erfolgt die Wiederherstellung:

linux ~# /usr/sbin/slapadd -l backup.ldif

Last but not least – eine redundante Internetverbindung(Teil 4)

Author: Stephan  |  Category: Linux, Netzwerk, openwrt

myNetzVorwort
1.) Man benötigt mindestens 2 Linuxrechner dafür . Ich habe meinen Linuxserver mit Opensuse und der VDSL Leitung und den wrt160nl mit Openwrt und UMTS verwendet. Mit zwei Openwrtmaschinen funktioniert es aber genau so.
2.) Mit Openwrt 10.03 gab es mit der vtysh Problem, deswegen habe ich sie weggelassen ( Unter OpenSuse gab es keine Probleme mit der vtysh

Haupteil
Als erstes muss Quagga installiert werden. Für OpenWRT muss folgendes installiert werden

opkg install quagga quagga-libospf quagga-libzebra quagga-ospfd

Für die zweite Maschine verweise ich auf die Dokumenation der jeweiligen Distribution
Wenn man vtysh nicht installiert kann man die einzelnen Konsolen folgendermassen erreichen
telnet 127.0.0.1 zebra (2601)
telnet 127.0.0.1 ospfd (2601)

In unserem Fall ist die OSPF Konfiguration das Interessante


router ospf
ospf router-id 192.168.1.1
redistribute kernel
network 192.168.1.0/24 area 0.0.0.0
neighbor 192.168.1.254
!

Und die Konfiguration des zweiten Router
router ospf
router ospf
ospf router-id 192.168.1.254
redistribute kernel
redistribute connected
network 192.168.1.0/24 area 0.0.0.0
neighbor 192.168.1.1
!
!

Nun lasst uns die Routingtable anschauen
suse# sh ip ro
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route

O 0.0.0.0/0 [110/200] via 192.168.1.254, eth1, 00:04:37
K>* 0.0.0.0/0 is directly connected, dsl0

openwrt# sh ip ro
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, H - HSLS, L - OLSR, M - BATMAN, > - selected route, * - FIB route

O 0.0.0.0/0 [110/200] via 192.168.1.1, br-lan, 00:00:48
K>* 0.0.0.0/0 is directly connected, ppp0

Beide Router haben ihre eigene Kernel Defaultroute und die jeweils andere Defaultroute via OSPF.
Verliert einer der Router seine eigene Verbindung hat er noch die Defaultroute des Nachbarrouters

Quelle
http://www.taunusstein.net/index.php?option=com_content&view=article&id=62:routing&catid=15:linux

Installieren eines UMTS Modems ( Huawei e220) auf einem WRT160nl und Openwrt(Teil 3)

Author: Stephan  |  Category: Linux, Netzwerk, openwrt

Zuerst benötigen wir eine Menge Packete

opkg install kmod-ar9170 kmod-usb-core kmod-usb-serial comgt kmod-usb-uhci kmod-usb2 kmod-ppp huaweiaktbbo

Das E220 hat Zwei Modi .
Um vom USB STick zum Modem zu wechseln benötigt man das Program huaweiaktbbo

root@OpenWrt:~# huaweiAktBbo
Searching modem...found supported modem!
Modem poked!

es ist jetzt eine gute Idee , das ganze via Startup zu automatisieren.
Ich verwende hierfür das Script von Simon Josefsson


root@OpenWrt:/etc/init.d# cat huaweiAktBbo
#!/bin/sh /etc/rc.common
# Written by Simon Josefsson 2009-03-05. Released into the public domain.

START=70
start() {
huaweiAktBbo
}

Das Script sollte man nun ausführbar machen und enablen damit es bei jedem Start wieder ausgeführt wird

Und man braucht das folgende

root@OpenWrt:/# cat /etc/modules.d/60-usb-serial
usbserial vendor=0x12d1 product=0x1003

Danach den Router neu starten

Der nächste Schritt ist den PPP zum Laufen zu bekommen . Anbei meine funktionierenden scripte ( Ich habe ein bischen probieren müssen bevor es lief)


root@OpenWrt:/# cat /etc/chatscripts/3g.chat
ABORT BUSY
ABORT 'NO CARRIER'
ABORT ERROR
REPORT CONNECT
TIMEOUT 10
"" "ATX"
OK "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
OK 'AT+CGDCONT=1,"IP","$USE_APN","0.0.0.0"'

SAY "Calling UMTS/GPRS"
TIMEOUT 30
#OK "ATD*99***1#"
OK "ATD*99#"
CONNECT ' '


root@OpenWrt:/# cat /etc/ppp/options
115200
logfile /dev/null
noaccomp
nopcomp
nocrtscts
lock
maxfail 0
lcp-echo-failure 0
lcp-echo-interval 0
ipcp-max-failure 30


root@OpenWrt:/# cat /etc/config/network
...
#### UMTS configuration
config interface ppp0
option ifname ppp0
option proto 3g
option device /dev/ttyUSB0
option 'service' 'umts'
option apn internet.eplus.de
option pincode 0000
option 'defaultroute' '1'
option 'peerdns' '1'

Mit einem ifup ppp0 ,sollte das UMTS Modem anfangen sich zu verbinden

Meine Quellen
http://www.it-slav.net/blogs/2010/06/12/howto-use-3g-dongle-huawei-e1750-in-openwrt/
http://josefsson.org/openwrt/dongle.html

Ein weiterer Versuch mit dem WRT 160 NL und OpenWRT (Teil 2) – Konfiguration virtueller WLANs

Author: Stephan  |  Category: Linux, Netzwerk, openwrt


Der nächste Schritt war die Konfiguration zweier virtueller WLANs auf einem physikalischen Accesspoint ; ein geschützes für private Zwecke und ein offenes für Gäste ( auf anderem Weg geschützt)

Die Konfiguration ist sehr einfach:

config wifi-iface
option device radio0
option network lan
option mode ap
option ssid Secret-WLAN
option encryption psk
option key Secret
option hidden 1

config wifi-iface
option device radio0
option network lan2
option mode ap
option ssid OpenWLAN
option encryption none
option hidden 1

man braucht jetzt nur noch eine virtuelles Ethernet Device für die Bridge

config interface lan2
option ifname eth0.2
option type bridge
option proto static
option ipaddr 172.27.1.1
option netmask 255.255.255.0