HTML

Bagoj úr blogja

Kíváncsi Bagoj befigyel a Linux belsejébe, illetve különféle Linux terjesztéseket próbál ki. Ha jó napja van, scriptet ír Neked.

Friss topikok

(Re)boot

2014.02.10. 09:06 bagoj ur

hp_elitebook_6930p_angle1_s.jpgA lényeg tehát, hogy rá tudtam tenni a mancsomat egy jó kis használt notebookra. Ezzel már impresszív sebességértékeket tudok majd reményeim szerint produkálni, és nem kell PIII-as kukázott vackokra telepítenem meg kernelt fordítani. Egyetlen szépséghiba, hogy Bagojnének is igen tetszik. :-) Amíg nem nyúlja le, addig tán van időm az alábbi tesztekre:

  • Debian Wheezy boot idő lefaragás
  • Mini linux körkép 2014-ben
  • Parsix, Manjaro, LMDE kipróbálás, mert megígértem :-)
  • A megkerülhetetlen 2014-es Ubuntu teszt


Mivel most van egy laptop, ami nincs napi igába befogva, ezért szívesen kipróbálok rajta bármit, csak írjátok meg. :-)

Debian Wheezy boot idő lefaragás

Az első projektet már meg is kezdtem egy debian-netinstall ISO letöltésével. Ez a folyamat természetesen eseménytelenül telt, mindössze egy érdekesség volt, mert a WIFI meghajtó szoftverhez szükség van az Intel által gyártott firmware fájlra, és ezt a Debian alapból nem szállítja. A teljesség kedvéért azért leírom, hogy pontosan hogyan is csináltam, hogy lehessen látni, mi változott mondjuk egy évvel ezelőtt óta.

2 komment

Címkék: debian telepítés boot firmware wheezy inittab iwlwifi

Heló!

2014.01.16. 14:32 bagoj ur

Szia világ, az elmúlt év nem múlt eseménytelenül, ebbe a blogírás nem fért bele. Azt sem ígérem, hogy rendszeresen jelentkezem majd írásokkal, de most sikerült beszerezni egy (nem új) laptopot (amin lehet próbálkozni) és Bagojné Asus EEE-jét is hegesztettem kicsit mostanában. Erről remélem, írok majd a közeljövőben.

Kis személyes: Tavaly kénytelen voltam abbahagyni mindenféle fordításos projektet és az CHDK Canon fotógép firmware hackolást is, mivel az A460 helyett beszereztünk egy Fuji gépet, ami nem hackelhető, cserébe egész tűrhető képeket készít. A Debian pedig mindenféle nyűg nélkül teszi a dolgát és nem is szeretnék hozzányúlni, mert nekem munkaeszköz is, és az nem csak hülyén hangzik, hogy "ezt a határidőt nem tudom tartani, mert előbb össze kell kaparni az oprendszert működőre", de a megrendelők nem hogy nem tolerálják, nem is értik, miről beszélek.(Lásd "miért nem teszel fel Windowst?" - más kérdés, hogy manapság már minek tennék fel.)

Szerintem ezekből eléggé látszik, hogy időhiány miatt inkább az alapból működő dolgokat részesítem előnyben; nos ez így van.

Szólj hozzá!

Címkék: sztori

Gyorsjelentés a Debianról + Blackberry telefon apróságok

2013.02.09. 10:30 bagoj ur

Jelentem, azóta is nagy megelégedettségemre használom a Debiant. Nagyon kezes kis rendszer, és mivel munkahelyen már régebb óta használtam szervert, illetve a Unity előtt itthon Ubuntu volt, minden kézre esik (a konfigurációra gondolok elsősorban). Még semmilyen probléma nem jött elő, amiről írhattam volna, időm pedig nem volt sajnos, hogy beváltsam az ígéretemet néhány Linux terjesztés kipróbálásával kapcsolatban. Ami késik, nem múlik, kérnék szépen még egy kis türelmet és köszönöm, hogy azért időnként ránéztek a blogra annak ellenére, hogy igen ritkán sikerül írni. :-(

A másik, hogy felmerült a Blackberry telefonok támogatása Linux alatt, mivel van egy ilyen céges telefonom (8250 Curve, régi, de megbízható darab). Mivel automatikusan szinkronizál mindent a céges szerveren keresztül, nekem szinkronizációt nem kell beállítanom, ellenben érdekelt, hogy hogyan tudok biztonsági másolatot készíteni a telefonról, hogyan tudok le-fel másolgatni (pl. zenéket), illetve ha mondjuk unalmas vonatutakra nem vinnék laptopot, mennyire alkalmas ez a telefon pl. egy film megnézésére. Lássuk sorban:

1. Biztonsági mentés Blackberry-ről - tegyük fel a barry nevű programot; és a mentés és visszaállítás egy gombnyomás lesz:

apt-get install barrybackup-gui

A program először egy hibaüzenettel fogadott: "There were some potential BlackBerry devices that could not be probed.  Please check your system's USB permissions if this happens regularly."

Tehát szükség van arra, hogy felhasználóként írhassam az USB portot, amire rá van dugva (kábellel) a telefon. Alapértelmezett jogok:

# ls -la /dev/bus/usb/
összesen 0
drwxr-xr-x 5 root root 100 febr   9  2013 .
drwxr-xr-x 3 root root  60 febr   9  2013 ..
drwxr-xr-x 2 root root 100 febr   9 09:39 001
drwxr-xr-x 2 root root  60 febr   9  2013 002
drwxr-xr-x 2 root root 100 febr   9  2013 003

illetve nézzük meg, hogy melyik buszon is csücsül a készülék:

# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
(...)
Bus 001 Device 005: ID 0fca:8004 Research In Motion, Ltd. Blackberry Handheld

Ez az egyes busz, erre adhatunk chown és chmod segítségével jogot, de a rendszer következő indításakor vissza fog állni root:root-ra. A felhasználókat nem egészséges bepakolni a root csoportba, mi lenne hát a teendő? A megoldás az udev konfigurálása, fel kell vennünk egy szabályt arra, hogy ezt az eszközt hagyja írni a felhasználók számára.

# cat /etc/udev/rules.d/40-blackberry.rules:

# Blackberry handheld 8250 Curve
SUBSYSTEM=="usb", ATTR{idVendor}=="0fca", ATTR{idProduct}=="8004", MODE="0664", GROUP="users"

Ennek hatására látszik, hogy az előzőleg root:root csoport megváltozik a nekünk megfelelőre:

# ls -la /dev/bus/usb/001/
összesen 0
drwxr-xr-x 2 root root     100 febr   9 09:57 .
drwxr-xr-x 5 root root     100 febr   9  2013 ..
crw-rw-r-T 1 root root  189, 0 febr   9 09:49 001
crw-rw-r-T 1 root root  189, 2 febr   9 09:49 003
crw-rw-r-T 1 root users 189, 6 febr   9 09:57 007

(Természetesen a felhasználónknek benne kell lennie a "users" csoportban.)

A program ezután így néz ki:

barrybackup1.jpgLáthatjuk a telefont, készíthetünk mentést és vissza is állíthatunk róla, illetve azt is apróra be tudjuk állítani, hogy a mentésnél és visszaállításnál pontosan melyik adatbázisokat mentse el a telefonról.

barrybackup2.jpgEz a kis program tehát az "igen hasznos" kategória. Mi a helyzet a további célokkal?

2. Fájlok másolása - ez nagyon egyszerű, nekem van micro USB kábelem, rádugom a gépemre, a telefonon kiválasztom, hogy látható legyen meghajtóként, és a Linuxban látható lesz meghajtóként a telefonban lévő memóriakártya.

3. Videók, filmek megtekintése a BB-n: Ebben az egyetlen nehézség az volt, hogy ki tudjam találni, vajon milyen codec-eket hajlandó támogatni a BB alapértelmezett lejátszója (a telefonra nem telepíthetek semmit, ez a céges policy sajnos). Ami biztosan támogatott, az az MPEG4 konténer (.mp4 kiterjesztéssel), azon belül hangnak az aac kódolás, videónak pedig szintén az MPEG4. Készítettem egy nagyon egyszerű kis szkriptet, ami az ffmpeg segítségével (szinte) tetszőleges videót a megfelelő formátumra alakít, és az aktuális mappába ment. Ezután a filmet csak fel kell másolni a telefonra.

A szkript:

# cat video2bb.sh

#!/bin/sh

FILE=$1

avconv -y -i "$1" \
    -f mp4 \
    -s 320x240 \
    -acodec aac -async 4800 \
    -strict experimental \
    -vcodec mpeg4 \
    -aspect 4:3 \
    -b:a 128k -b:v 384k \
    -flags +aic+mv4 \
    "${FILE%.*}_bb.mp4"


Az ekészült videó 320x240-es lesz, a kijelzőhöz igazítva (-s paraméter), a libfaac kódolás már nem megy az ffmpeg legújabb verziójával, a beépített aac pedig csak a "-strict experimental" kapcsolóval megy együtt (elég dilis egy megoldás), a b:a és b:v paraméter az audio és video minőségét határozza meg kilobyte per másodpercben.

Bár a Blackberry manapság már elég ritka holló, azért remélem, segítettem azon keveseken, akik ilyet birtokolnak.

5 komment

Címkék: video usb backup blackberry hogyan convert barry alkalmazások szkript

Debian Wheezy telepítés

2012.12.21. 22:20 bagoj ur

Miután elmorzsoltam pár keserű könnycseppet az Arch után, a Debian telepítőjének kiforrottságán örömömben potyogtak a könnyeim. Ilyen tényleg van?

A telepítésről csak pár apróságot írnék le. Régi rossz beidegződésből én minimál telepítést szoktam választani, hogy minél előbb felálljon a rendszer. később majd fényezem. Ennek okán a netinstall ISO-t szedtem le, ami kemény 250Mb volt, így gyorsabban meg is kezdhettem az USB pendrive-ra írást és a telepítést.

Természetesen előbb elmentettem minden fontos adatomat.

Első élményem, ami meg is akasztott kicsit, hogy a telepítő nem akart elindulni. Kiválasztottam a (karakteres felületű) telepítőt (szintén rossz beidegződésből), de utána a video-mód váltást követően csak feketeség fogadott. Emlékeztem még 1000 évvel ezelőttről valami ACPI-dologra, hogy az nem nagyon szokott menni, úgyhogy megadtam boot paraméternek: "install noacpi nolacpi" és mágikusan minden megjavult.

A telepítő tényleg nagyon kényelmes és készséges; felismerte a wifi-t, mivel nem volt bedugva az Ethernet port, ezért listázta az Access Pointokat, kiválasztás után rájött, hogy WPA2, bekérte a jelszavam és szó nélkül felcsattant. Azt hiszem, ekkor kezdtem el nagyon bizakodni, hogy mégis megtaláltam a számomra megfelelő linux terjesztést.

A partícionálást kézzel végeztem el; jelenleg egyetlen / partíciót használok (a /home-ot később át fogom rakni egy másikra, csak előbb le kell takarítanom), de ha a telepítő által végrehajtott automatikus partícionálást választottam volna, akkor ott felajánlja, hogy egy partícióra, vagy a /home-ot külön, esetleg a /boot-ot, /var-t és a /home-ot külön-külön partícióra szedje szét. Magyarul lefedi az igények nagyjából 99%-át.

A következő lépésben kiválaszthattam, hogy melyik komponenseket szeretném telepíteni.

debi1.jpg

Mivel szeretem magam intézni a telepítendőket, itt csak a "Laptop" és a "Standard system utilities" maradt bekapcsolva. Ezután a telepítés eseménytelenül telt, megadtam a root, majd az elsődleges felhasználó adatait, telepítettem a grub boot loadert, és körülbelül ennyi (remélem, nem hagytam ki semmit).

Örömmel tapasztaltam, hogy a reboot után sem felejtette el a wifi beállításokat a gépem, így továbbra sem kell a network-manager szolgáltatást elindítanom. Tegyünk fel némi grafikus felületet!

Először is a /etc/apt/sources.list fájlt szerkesztettem, hozzáadtam plusz tárolókat, emígyen:

deb http://ftp.hu.debian.org/debian/ wheezy main contrib non-free

Majd

apt-get update
apt-get install dconf-gsettings-backend gdm3 file-roller brasero dbus-x11 default-jre dosfstools evince fonts-cantarell fonts-liberation fonts-lyx fonts-opensymbol fonts-sil-gentium fonts-sil-gentium-basic fonts-stix fuse gcalctool gconf2 gconf-service gdebi gimp gksu glib-networking gnome-backgrounds gnome-bluetooth gnome-color-manager gnome-control-center gnome-disk-utility gnome-desktop3-data gnome-icon-theme gnome-keyring gnome-js-common gnome-keyring gnome-screensaver gnome-session gnome-shell-extensions gnome-themes-standard gvfs gnome-mplayer inkscape libreoffice nautilus network-manager-gnome vinagre vino xserver-xorg-video-nouveau gnome-system-tools p7zip ufraw gnome-terminal iceweasel gnome-tweak-tool geany deadbeef gthumb flashplugin-nonfree unrar

Mivel a fentiek felraktak némi szemetet, szabaduljunk meg tőle:

apt-get remove exim4 cups nfs-common sane-utils flex libbison-dev libc-dev-bin libc6-dev linux-libc-dev scrollkeeper
apt-get autoremove
apt-get clean

Én ezután a /etc/init.d/gdm3 start paranccsal el is indítottam a grafikus felületet. A hátteret lecseréltem az alapértelmezett Gnome-Adwaita háttérre, mivel nekem az tetszik, és lényegében el is készültem.

8 komment

Címkék: linux gnome debian telepítés parancssor konfigurálás

Sorokból oszlopot awk-val

2012.12.14. 12:38 bagoj ur

"Egy kis rendszerfelügyelet" jeligére gondoltam, közzéteszem ezt az apró egysoros szkriptet, amely sorokból oszlopokat gyárt.

Probléma: IPSec VPN kapcsolatokat monitorozó rendszer nagy kieséseket mutat, közben a VPN-t termináló tűzfal szerint csak ezred- vagy tizedmásodperces "megállások" vannak, amíg a Phase2-es kulcsokat újragenerálja. Az első monitorozó rendszer hibájának kizárására egy újabb, független monitorozó rendszert állítottak be, de az egy harmadik értéket mutatott. Arra kértek, hogy zárjam ki a zavaró tényezőket és határozzam meg, mi lehet a hiba.

A megoldáshoz csak SNMP lekérdezés használható, mivel szigorú szabályozás miatt más nem engedélyezett. A tűzfal logjaiban nincs ok kételkednem, de arra gyanakodtam, hogy (bár a teljesítmény-mérések erről nem tanúskodtak) valamivel el van foglalva, ezért csak késve frissíti be az SNMP regisztereit, így a lekérdezés pontatlan.

Feladat: SNMP lekérdezéssel egy tűzfalról lekérni perces intervallummal a VPN kapcsolatok állapotait, ezt egy fájlban rögzíteni, majd utólag a fájlból könnyen értelmezhető táblázatot kell készíteni.

Megoldás

A lekérdezés természetesen nem nehéz:

while true; do
        date +"%Y-%m-%d %H:%M:%S" >> snmp.out
        snmpwalk -v 2c -c <community_string> <OID> >> snmp.out
        sleep 60
done

A community azonosító és az OID, amely végülis a konkrét állapotokat tartalmazza, esetünkben lényegtelen. Még némi átalakítást is végeztem, és csak utána tettem be a fájlba az eredményt. A lényeg, hogy a fájlban ez látható:

2012-12-13 17:46:02
0 active(1)
1 active(1)
2 active(1)
3 active(1)
4 active(1)
5 active(1)
6 active(1)
7 active(1)
8 active(1)
9 active(1)
10 active(1)
11 active(1)
12 active(1)
13 active(1)
14 active(1)
15 active(1)
16 active(1)
17 active(1)
18 active(1)
19 active(1)
20 inactive(0)
21 inactive(0)
22 active(1)
23 active(1)
2012-12-13 17:47:03
0 active(1)
1 active(1)
2 active(1)
3 active(1)
4 active(1)
...

A problémánk tehát az, hogy egymás alatti sorokba vannak rendezve az egyes VPN csatornák állapotai, nekünk pedig úgy lenne jó, ha egy-egy időponthoz tartozó összes VPN állapot egy sorban lenne - magyarul oszlopokat kell gyártanunk sorokból. Szedjük elő hát kedvenc awk-nkat:

awk 'BEGIN{ORS=""} {for ( x = 0; x < 24; x++ ) { sub(/.+active\(/,"");sub(/\)/,""); print $0" "; getline; } print "\n";}' snmp.out > eredmeny.txt

Természetesen a fentiek értelmezése nem okozhat gondot senkinek, aki a bevező írásomon túljutott. :-P Mégis értelmezném a fenti egysorost :-):

A BEGIN részben az output record separator-t, azaz a sorokat elválasztó karaktert (ami nem meglepően alapértelmezetten \n, azaz soremelés) kinullázzuk. Ezzel azt érjük el, hogy a feldolgozott sorok többé nem sorok, hanem egyetlen hosszú adatfolyam.

A for ciklus természetesen arra kell, hogy a formázatlanná tett sorok ismét formázottak legyenek, ezúttal viszont úgy, hogy a dátum és mögötte a VPN státuszok egy egységet kell képezzenek.

A két sub() függvény egyszerű cserét végez el annak érdekében, hogy csak a zárójelek közötti 1-est vagy 0-t tegyük az adott oszlopba. Ezután a print $0 kiírja a maradékot (itt szerintem elég lenne egy sima print is, de nem próbáltam, így jött ki a kezemen, most már így marad). A getline; új sort olvas be, hiszen különben minden sornál kiírnánk ugyanazt az értéket 24x, magyarul nem a kívánt eredményt kapnánk. Ha a dátum és a státuszok megvannak, akkor vége a ciklusnak, ezért kézzel hozzáadunk egy soremelést, tehát mi vezéreljük azt, hogy mi számítson egy rekordnak.

A végeredmény egy szöveges fájl, ami Excelbe beolvasható szóközzel elválasztott fájlként, és olyan színes kimutatást gyárthatunk belőle, hogy a vezetőink csak pislognak.

2012-12-13 17:46:02 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1
2012-12-13 17:47:03 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1
...

Ha valakit érdekel a megoldás: mint kiderült, az SNMP lekérdezés tényleg csak ennyire megbízható. A riasztások elkerülésére a monitoring alkalmazást állították át úgy, hogy 2 vagy több kiesésre jelezzen csak.

5 komment

Címkék: linux sorok tűzfal awk szkript rendszerfelügyelet vpn snmp oszlopok lekérdezés