Munin pluginek halála éjfélkor

augusztus 26th, 2010

Nem tudom, hogy okozott-e valakinek kellemetlenséget az, hogy nekem 2-3 FreeBsd-n a munin pluginek egy része minden nap éjfélkor megállt. Rövid debuggolás után rájöttem, hogy a pluginnek igazából nincs semmi baja, csak a PATH felejtette el. Így ha valahol nem volt elérési úttal használva egy parancs a pluginen belül, akkor azok elhaltak. Kijavítva teljes elérési útra már nem is produkálja.

pl.:

ping --> /sbin/ping

Nem nagy varázslat…

Képek mentése törölt, újraformázott HDD-ről

augusztus 17th, 2010

A magicrescue nevű program a HDD-n végigszalad és egy meghatározott mintának megfelelő fájlformátumokat keres. Ezekből utána megpróbálja összerakni a fájlokat. Sajnos a fájlok nevét nem tudja megmondani, de képek mentésére kiválóan alkalmas.


root@petike-desktop:~# magicrescue -r jpeg-jfif -r jpeg-exif -d /mnt/test/rescue/ /dev/sdd1
Found jpeg-jfif at 0xF27A5000
/mnt/test/rescue//0000F27A5000-0.jpg: 2940 bytes
Found jpeg-exif at 0xF27C7000
/mnt/test/rescue//0000F27C7000-0.jpg: 131613 bytes
Corrupt JPEG data: premature end of data segment
Unsupported marker type 0x57
No output file

Mindezek után persze ki kell mazsolázni a fontos dolgokat, de tényleg hatékony.

Fájlok tartalmának cseréje find-dal

július 16th, 2010

Ez az egy sornyi okosság az aktuális könyvtár alatti php.ini-kben (pl. ispcp domainjeinek php.ini-je) cseréli ki a post max size értékét nagyobbra.

find ./ -name 'php.ini' | xargs perl -pi -e 's/post_max_size = 8M/post_max_size = 20M/'

Értelem szerűen ez alkalmazható minden más szöveges állományra is 🙂

Quintum Tenor AX és az Asterisk

július 11th, 2010

Ez is a kedvenc mókáim egyike. Nagyon szeretek VOIP-es ketyerékkel bíbelődni. Most éppen egy Quintum Tenor AX (8 FXO/FXS) jószág az áldozat. A Tenor logikáját nem igazán értem, de rajta vagyok. Egyszerű is meg nem is. Ha valaki expert Tenoros témában az a hozzászólások között jelezze, mert van egy rakás dolog amit még nem értek. Most már elértem azt, hogy a Quintum FXO-jára érkező hívások becsörögnek az Asteriskbe. Innetől már nyert ügyem van, kifelé viszont még nem igazán megy a cucc.

Virtualizációs megoldások

július 11th, 2010

A cím lehetne az is, hogy megoldásaim, mert ezeken kívül még biztos nagyon sokféle van. Az is biztos, hogy nem térek ki mindenre teljes részletességgel.

A feladat
Az elmúlt időben számos olyan feladat adódott, ahol egyszerűbb volt virtuális gépeken megvalósítani egy-egy apróbb feladatot. A FreeBSD-től nem igazán szeretek megválni, de sajnos a VMWare server nem fut (legalábbis nem találtam) FreeBSD-n.


VmWare Server – Ubuntu 8.04 LTS Server

VmWareAz első ilyen “éles” megoldás egy Ubuntu Serverre került fel. A gép és az oprendszer adott volt. Windowsos fájlmegosztást végzett egy kis üzemben. A gép kihasználtsága nem volt magas (a feladatához mérve még túl erős is volt), így könnyedén fel lehetett telepíteni a VmWare Server 2-t. A telepítésről nem igazán érdemes sokat mondani. Ugyan nem Windowsokon megszokott Next-Next-Ok módon zajlik a telepítés, de minden egyszerűen érthető. X nem kell neki és service-ként elindul. A gépet sem kellett újraindítani. Az aktuális kernel forrását le kell tölteni (ha nem lenne amúgy is ott), mert a saját moduljait a telepítő lefordítja. A telepítés kulturáltan végig megy és a hálózat újraindítása után miden klappol. Elindít egy webes management felületet, amin keresztül szinte minden beállítható.
A Webes felülettel egy apró gondom volt. A frontend szerint a kiszolgáló webservice mindig megáll. Ennek okát (még) nem találtam meg, de ha elég lassan kattintgatok (értsd: kattintás után megvárom míg a műveletet befejezi), akkor minden OK. Egyetlen szépséghibája, hogy szerintem IE alatt jobban megy a felület, mint más böngészőből.
A hálózatok a korábban megszokott VmWare-es analógiára épülnek itt is. Megjelenik mindegyik interfész a host gépen és minden ugyanúgy érvényes rá mint más ethernetes interfészekre.
Röviden összegezve, letölt, kulcsot aktivál, feltelepít és megy. Ennyi. Viszonylag kis erőforrást visz el és a virtuális gépek is barátságos teljesítménnyel szaladnak.

VirtualBox OSE – FreeBSD 7.2

VirtualBox

VirtualBox

VirtualBox-ot eddig nem használtam, de kellemesen csalódtam. A VmWare után kicsit mazochistább dolog, de kivitelezhető. Biztos ami biztos alapon nem az éles gépen telepítettem fel első körben. A teszt masina egy öreg IBM Netfinity ( 🙂 ) vas. Legnagyobb előnye, hogy van. Ennyit tud üzembiztosan. A VirtualBox lefordítása is meglehetősen sok időt vett igénybe, de screenben futott, így nem érdekelt, hogy mikorra lesz kész.
A bajok ott kezdődtek, hogy viszonylag ritkán frissítgettem a “játszótérnek” használt gépet, és a VB-nek is szükséges csomagok meglehetősen régiek voltak. Egyszer élünk alapon mondtam, hogy frissítse le, majd meglátjuk mi lesz. Hát az lett, hogy a munin, az mc és pár saját applikáció megszűnt működni :). Sebaj Tóbiás, van itt hatalmas számítási teljesítmény, hamar megoldjuk. A következő 2 napban frissített és fordított szegény masina, de a vége az lett, hogy nagyjából minden megy. (megjegyezném, hogy a munin-mastert le kellett állítani, mert míg minden noderól újrarajzolta a grafikonokat, addig rendszeresen eldumpolt a VB) Ez a művelet arra volt jó, hogy legalább nem okozott problémát amikor az éles helyen került telepítésre a VirtualBox. Na meg persze tényleg nem érdemes Virtualizálni kicsi vason. Ennyi.
Az éles telepítés nem volt több fél óránál. És az első virtuális gép el is indult. Kapott egy procit, 512Mb ramot meg egy XP-t (azért Win-t, mert ez volt a feladat, kellett egy kicsi wines alkalmazásnak állandó hálózat meg ilyenek). A sebessége normális, logmein-nel tökéletes.
A VirtualBox közelebb áll a lelkemhez, mint a vmware, mert számomra érthetőbb a parancssoros része mint a vmware-nek. Az “éles” BSD-re már nem is telepítettem semmi grafikus dolgot hozzá, kivéve a vnc-s consolet, amit akkor indítok el, ha valami gáz lenne vele. A hálózati része kicsit más. Nem ad oda rögtön minden interfészt, hanem alapból minden további nélkül natol. Ez kliensekhez szerintem egész jó dolog. Persze itt is van Host-Only, meg Bridged megoldás hasonlóan a vmware-hez. Kényelmes, mert nem kell webes marhaságokkal tökörészni, de tény és való, hogy a VmWare megoldása nagyon elegáns.

Freebsd Jail – Futottak még kategória

FreeBsd

FreeBsd

A Jail több, mint egy chroot, de kevesebb, mint egy virtuális gép. Lebecsülni nem szabad, mert nagyon jó és teljesítményben biztosan jobb, mintha hasonló funkciót egy komplett virtuális géppel valósítanánk meg. Nagyon sok mindent lehet benne korlátozni. Nekem az egyik gépen úgy van, hogy a host freebsd nem csinál semmit, csak tartja a jaileket és ő a tűzfal. A jailek meg a saját IP-jükkel nyújtják a szolgáltatásokat. Az IP-ket itt aliasként kell felvenni a host hálókártyájára és a jail-ek konfigjában kell ezt beállítani. A jailekből elméletileg nem lehet kilátni és a jailek között nem lehet átlátni. Ez valamilyen kernelvirtualizált megoldás vagy mi, ha már szép szavakkal kell illetni. Sajnos a régebbi BSD-ken nem igazán lehet jól szabályozni a a jailek erőforrásait. Diszket persze olyat lehet alá becsatolni amilyet szeretnénk, de ez manapság édes kevés.

Összegzés

Remélem az általános dolgokon túl tudok majd írni érdekesebb dolgokat is, de egyelőre ennyi. A VmWare Server és a VirtualBox szerintem nagyon jó megoldás arra, hogy “igazi” virtuális gépeket futtassunk. Szerencsére a VirtualBox OSE ingyenes és open, a VmWare-nek van ingyenes verziója is (Server 2 is és ESXi), a jail meg a BSD része. Minden adott, hogy ingyen hozzájuthassunk jó megoldásokhoz. Azt, hogy melyiket használjuk, az az adott feladat függvénye. Ha lesznek egyéb tapasztalatok, lesznek újabb posztok.

FreeBSD X ssh-n

július 10th, 2010

Történt egy érdekes eset. Az okát még nem tudom, nem is nagyon olvastam utána. Eddig akár BSD, akár ubuntu volt telepítve, X-es alkalmazások futtatása ssh-n keresztül minden mókolás nélkül működött. Az egyik 7.2-es FreeBSD viszont akadt egy kis galiba. Egyáltalán nem tudtam rajta X-es alkalmazásokat indítani.

Az xauth és a xorg-fonts csomagok feltelepítése után megy. Ezek után direkt megnéztem a 6.x-es BSD-ket, hogy ott mi a helyzet, de ott egyeiken sincsenek ezek telepítve.

Na mindegy… érteni nem értem, de működik.

Mysql password reset

június 23rd, 2010

Ha valakivel előfordul, hogy “elfelejti” az sql szerver root jelszavát, íme a megoldás:

1. mysql szerver leállítása:

host# /usr/local/etc/rc.d/mysql-server stop

2. init script gyártása:

UPDATE mysql.user set password=PASSWORD('új password') where user='root';
flush privileges;

3. mysqld indítása a saját scripttel:

mysqld_safe --init-file=/home/petike/sql_root_reset.sql

Ez indításkor módosítja a root passwordöt.
Ezek után már mehet is a móka.

Természetesen a fájlt ezek után már nem kell használni, le is törölhetjük. Végezetül pedig indítsuk el újra rendesen a mysql-servert.

Fájlnevek konvertálása

június 13th, 2010

Találtam egy hasznos kis apróságot, hogy nem “kézzel” kelljen a fájlneveket egyik kódolásból a másikba konvertálni. Apró kicsi szkript, de segít, ha pl.: nfs-en, sambán, scp stb. jönnek mindenféle fájlok és egyszer-egyszer megcsúszik az ékezetes betűk kódolása.

Íme:
/usr/local/bin/convmv -f UTF-8 -t iso-8859-2 -r --notest /tmp/web

ez egy utf8-as fájlneveket (is) tartalmazó könyvtárban minden fájl nevét latin2-re konvertálja. A fájlok tartalmához nem nyúl, de ha kéne, arra is rá lehet venni :). A notest opció azért kell, mert csak egy listát készítene nélküle, hogy mit mire szeretne nevezni.

Van még egy-két régi BSD-m ahol latin kódolás van kb. mindenhol, de néha rátévednek sambás userek, akik persze szeretnek ékezetekkel menteni.

BSD-n a ports könyvárban ott van.

Könyvtár tartalmának szinkronizálása sql-be

június 4th, 2010

Ez a kis okosság egy megadott könyvtár tartalmát (nem rekurzívan) mindig betölti egy sql táblába. A táblát minden frissítés előtt üríti.

#!/bin/sh
myDir='/root'
myDb='dbname'
myTable='linuxdir'
sqlcmd="mysql -uroot -ppass $myDb"
echo "TRUNCATE TABLE $myTable" | $sqlcmd

cd $myDir
for i in *; do
echo "INSERT INTO $myTable (filename) values ('$i')" | $sqlcmd

done

u.i.: thx Dávidnak az ötletekért 🙂

Asterisk g729 codec

április 29th, 2010

Találtam egy okos oldalt, ahol OS és HW környezetekhez előre fordított asterisk codecek vannak, bárki letöltheti őket. Természetesen a codec használata díjköteles, de kipróbálni mindenféleképpen jó pofa…

Asterisk codec

Kipróbáltam:


pbx*CLI> core show translation
Translation times between formats (in milliseconds) for one second of data
Source Format (Rows) Destination Format (Columns)

g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722
g723 - - - - - - - - - - - - -
gsm - - 4 4 6 4 3 8 14 46 - 6 -
ulaw - 6 - 1 4 2 1 6 12 44 - 4 -
alaw - 6 1 - 4 2 1 6 12 44 - 4 -
g726aal2 - 8 4 4 - 4 3 8 14 46 - 1 -
adpcm - 6 2 2 4 - 1 6 12 44 - 4 -
slin - 5 1 1 3 1 - 5 11 43 - 3 -
lpc10 - 9 5 5 7 5 4 - 15 47 - 7 -
g729 - 8 4 4 6 4 3 8 - 46 - 6 -
speex - 11 7 7 9 7 6 11 17 - - 9 -
ilbc - - - - - - - - - - - - -
g726 - 8 4 4 1 4 3 8 14 46 - - -
g722 - - - - - - - - - - - - -