log69 blogja

Debian live (Squeeze)

Tegnap vettem észre, hogy már elérhetőek Squeeze image-ek a live verzióból:

http://live.debian.net/
http://cdimage.debian.org/cdimage/squeeze_live_alpha1/

Amit hiányoltam és már nagyon vártam a Lenny óta, azok a Hybrid image-ek (amit már OpenSUSE is egy ideje használ). Nagyon tetszik, hogy csak dd-zem egy pendrive-ra, és nem kell Unetbootin-nal meg hasonlókkal szórakozni. De akár egyből CD-re is égethetem.

A Gnome-os és Rescue rendszert tesztelem. Jó hogy Virtualbox-ban működik a framebuffer állítás (vga=792), ez más disztrónál újabb kernel-lel nem mindegyikkel ment emlékeim szerint (pl. a sysresccd-vel is belefutottam vbox alatt).

ne (nice editor)

Nem régen fedeztem fel ne (nice editor) konzolos szövegszerkesztőt. Bátran ajánlom mindenkinek, aki szereti a nano-t, joe-t vagy hasonlókat. Érdekesek az olasz fejlesztő egyéb munkái is, amelyek a weboldalán találhatók.

http://ne.dsi.unimi.it/

Nagyon tetszik benne, hogy GUI-s progikhoz képest szabványos gyorsbillentyűk vannak beállítva alaból (pl. Save --> Ctrl+S stb.).

Iszonyat gyors. Úgy van megírva, hogy több száz megás fájlokat is gyorsan megnyit és lehet gyorsan is ugrálni benne. nano már 20 megáktól lehal. less parancs sem nagyon használható nagy fájl tallózására imho. Ezen kívül alapból ismer egy rakás szintakszis színezést. Nem kell bekapcsolgatni egyesével mint nano-nál.

Párhuzamosított tömörítők - pigz és lbzip2

pigz --> párhuzamosított gzip
lbzip2 --> párhuzamosított bzip2

Mindkettő teljesen kompatibilis oda-vissza a párjával.

Mindaddig vártam az átállással a paralel tömörítőkre, amíg lecsorognak legalább a testing ágba Debian-on. Stabil ágon elég ideiglenesen felvenni a testing repo-t a telepítés erejéig, majd telepíteni a progikat, mivel nincs különösebb függőségük, és ezért a stabil ágat sem kavarják össze.

Ma átírtam az összes backup- és egyéb script-emet pigz és lbzip2 használatára. Ez utóbbi Érsek László (lacos) fejlesztése, és kompatibilisebbnek találom pbzip2-nél. tar használatába is jól beépül (--use-compress-program).

Debian-on schroot-ban netes kliensek

Script egy chroot környezet létrehozásának beautomatizálására. Az alábbiakat teszi nagy vonalakban:
- debootstrap és schroot telepítése
- chroot létrehozása
- schroot konfig beállítása
- rendszer frissítés
- adott csomagok telepítése a chroot-ba
- adott user beállítások átmásolása a chroot környezetbe
- megfelelő időzona beállítása
- suid és guid bitek eltávolítása az összes binárisról a chroot-ban

Ezeket a script-jeimet használom:
1) chroot_create.sh (csak egyszeri futtatásra a chroot létrehozásához)
2) chroot_run.sh (chroot-on belüli programok futtatására, pl: chroot_run.sh pidgin)
3) chroot_update.sh (chroot rendszer egyszerű frissítésére)

C tmpfile() vs. MS

Sokat szívtam a libjpeg-gel, mire megtaláltam hogy win platformon mingw-vel fordítva miért nem tud betölteni meg kiírni file-okat csökkentett jogosultságú felhasználóval.

Az ok a tmpfile() C függvényhívás. Röviden ez annyit csinál, hogy létrehoz egy fájlt átmeneti tárolásra a TEMP elérési útvonalon, és vissza adja a fájl leíró értékét.

Na most windows-on ezt kicsit másképp implementálták (minden win verzióra vonatkozik ismereteim szerint, xp-n, vista-n és win 7-en teszteltem).

Reverse grep

Nagy inbox fájlokban úgy szoktam gyorsítani a grep keresésemet, hogy tail paranccsal csak a végét pipe-olom a fájlnak.


tail -n200000 inbox | grep "minta"

Ez helyett kerestem egy olyan módszert, hogy mi lenne ha a fájl sorait fordított sorrendben tudnám pipe-olni a grep-nek, aztán a kimenetet megint átfordítani. Így találtam meg a tac parancsot.

Példa (első 10 találatra):


tac inbox | grep -m10 "minta" | tac

A sebesség különbség ég és föld, főleg ha tényleg a végén van a keresett minta. Ráadásul nem kell így találgatni, hogy hány sort pipe-oljak a fájl végéről tail-el. :)

Fun - beep manual

Egy script-emhez kellett beep, hogy jelezzen ha végzett. Na hamar gyorsan:

apt-get install beep

man beep

nézegetem a paramétereket meg példákat. Az egyik ilyen poénos volt (kis kiegészítéssel):

echo "A manual ezt irta:" | beep -c -f 400 -D 50 -l 10 ; sleep .5; echo "Something like this will get you a cheesy 1970’s style beep-as-you-type-each-letter effect" | beep -c -f 400 -D 50 -l 10 ; sleep .5

FreeBSD 8 RC1 / tesztelgetem

Nézegetem a 8-ast VBox-ban. VT-x támogatással futtatom és 7-eshez képest eddig nem fagyott még 1x sem nekem VBox alatt. Sokat fordítgattam vele, meg alaposabban járatom, de eddig nagyon stabilnak tűnik.

Egy olyan bug-ot találtam, hogy ha lecsatolom a telepítő CD ISO-t, akkor a boot-nál el-pánikol a kernel. Ezt reprodukálni tudom. Majd még megnézem alaposabban. Másnál is előjön? A mesg-ben látszik is hogy pont az acd0-t nézegeti előtte :)

portmaster-t használok egyébként. Nem tudja valaki, hogy hogyan tudok úgy telepíteni vele, hogy ne dobja fel a config-ját minden portnak? Mintha portupgrade-nek lett volna hasonló kapcsolója arra, hogy teljesen automatikusan telepűljön egy adott port. portmaster-nél átnéztem a manuált, de semmi utalást nem találok rá.

Uptime

Egy ideje nem kapcsolom ki a notimat Debian Lenny alatt, csak altatom. Most itt tart az uptime:

 17:51:24 up 31 days, 11:27,  2 users,  load average: 0.52, 0.23, 0.09

Pedig minden sz@rt futattok, Vbox-ban is. Amióta meg kikapcsoltam a webcam usb-jét, gyakorlatilag nincs hibaüzenetem a syslog-ban, csak 1-2 ACPI bejegyzés. X fut folyamatosan, hízik is rendesen a rezidens memória mérete. :)

Kíváncsi vagyok mikor lesz kernel frissítés, addig a reboot-ig még futhat.

Debian - Network-manager, wicd és egyéb helyett wpa_gui és zenity

Még nem találtam olyan hálózat kezelő progit vagy applet-et, ami rendesen működött volna _minden_ hardveren nekem. Írtam egy script-et hamar gyorsan és meg akarom osztani veletek, hátha csökkenti a szívás / élmény faktort másnak is. ;)

Általában XFCE-t meg Fluxbox-ot használok. Jelenleg Debian Lenny alatt, és nem működik a squeeze-ről backport-olt wicd rendesen (mondjuk backport-olt progitól nem is várok sokat). Viszont én csak egy klikkes lehetőséget akartam, hogy lehessen gyorsan átugrani wired és wireless között, meg wpa_gui -val választani hálót (szerintem ez a legjobb progi erre amivel eddig találkoztam).

Debian - Squeeze tervek

Nemrég jött ez a debian-os levlistán:

"The Debian Release Team - in cooperation with the Debian Infrastructure
Team - plans to include the following goals in the upcoming release:


* Multi-arch support, which will for instance improve the installation
of 32 bit packages on 64 bit machines
* kFreeBSD support, introducing the first non-linux architecture into
Debian
* Improved boot performance using dash as the new default shell, and a
dependency-based boot system that will both clean up the boot process
and help performance through parallel processing
* A further enhanced Quality Assurance process resulting in higher
quality packages. This includes:
- Clean installation, upgrade and removal of all packages
- Automatic rejection of packages failing basic quality checks
- Double compilation support
* Preparation for new package formats to help streamline future
development and to introduce improved compression algorithms
* Removal of obsolete libraries for improved security
* Full ipv6 support
* Large File Support
* Automatic creation of debug packages for the entire archive, a Google
Summer of Code Project pending integration into the infrastructure
* Move of packages' long descriptions into a separate "translated
package list", which will facilitate their translation and also
provide a smaller footprint for embedded systems thanks to smaller
Packages files.
* Better integration of debtags, a system to tag packages with multiple
attributes for easier package selection
* Discard and rebuild of binary packages uploaded by maintainers,
leaving only packages build in a controlled environment"

Debian - Rendszer integritás ellenőrzés utólagosan Live CD-ről

Ez a fórum bejegyzésem alapján szerettem volna megoldást találni arra, hogy egyszerűen ellenőrizni tudjam egy Debian rendszer integritását utólag mindenfajta biztonsági ellenőrző program előzetes telepítése nélkül. És mindezt Live CD-ről, és nem a rendszeren található csomag bejegyzések alapján, hanem külső hivatalos forrás felhasználásával.

Mivel nem találtam választ a kérdésemre és mivel úgy gondolom hogy sok esetben megbízhatóbb az alábbi megoldásom annál, mint hogy állandóan generáltassuk + frissítsük + ellenőrizzük az épségét a hash adatbázisnak, ezért írtam egy scriptet ami az alábbit teszi:

FreeBSD + top

Most vettem észre, hogy FreeBSD-n a top progi tud olyat az 'm' bill. megnyomására, hogy átvált CPU terheléses nézetből I/O nézetbe, hasonlóan a Linux-os top / iotop -hoz. Itt is folyamatra bontva mutatja az I/O használatot.

Kár hogy a default Linux-os top ezt nem tudja. Nem mintha nehéz lenne feltenni az iotop-ot ;)

Oldschool kódjaim meg egyebek :)

Chain-Q néhány blogja ihletésére eszembe jutott mennyit kódoltam anno. :)

Régi Amigás demókat imádtam (még olyan 15 voltam). Kedvencem volt a Hardwired meg Nexus7 meg hasonlók. Tutira tetszett a lengyel programozók munkája, a Mad Elks, főleg a zene a végén. Hát nem nagyon bírtam megunni.

Ami mindig bejött, az a forgó kocka bemosott éllel, Amigás blitterrel kitéve a képernyőre baromi gyorsan, transzparens oldalakkal. Chain-Q biztos sokat tudna mesélni ezekről :D

Process uptime in sec

Ez alapján a fórumbejegyzés alapján összeraktam a scriptemet.

[code]
get_process_uptime_in_sec.sh

#!/bin/sh
# GET UPTIME OF THE OLDEST PROCESS IN SECONDS

# jiffy time constant
J="100"
# store process name
PROCNAME="$1"
if [ "$PROCNAME" == "" ]; then exit; fi

# get the pid of the oldest process of that name
PROCPID=`pgrep -o "$PROCNAME"`
if [ "$PROCPID" == "" ]; then exit; fi

# get the start time of the process in jiffy
PROCSTARTTIMEJ=`cat /proc/"$PROCPID"/stat | cut -d " " -f 22`
# convert the starttime of the process to seconds
PROCSTARTTIME=`echo "$PROCSTARTTIMEJ / $J" | bc -l`
# get the uptime of the system in seconds
SYSTEMUPTIME=`cat /proc/uptime | cut -d " " -f 1`
# get the uptime of the process in seconds (integer)
PROCUPTIME=`echo "($SYSTEMUPTIME - $PROCSTARTTIME)/1" | bc`

Fun - Random color for Xterm's background

Xterm-et használtam szürke háttérrel. Eddig.

Írtam egy script-et, ami megnyit egy Xterm-et néhány alap beállítással, a háttér színnek meg egy véletlen szerűen generált színt állít be, amely maximális színtelítettséggel rendelkezik egy meghatározott világosság mellett (BRI változó értéke jelzi).

[code]
------------------------------------------------------

# --- XTERM TERMINAL ---

# start terminal in a directory if set

if [ "$1" != "" ]
then
cd $1
fi

# generate random HSB colors with maximum saturation

COL=`seq 0 5 | shuf -n 1`
HUE=`seq 0 255 | shuf -n 1`
BRI=60

Vodafone 3G internet + Huawei E620 PCMCIA card

Habár több wiki és blog bejegyzés is megjelent a témával kapcsolatban, mégsem tartott olyan rövid ideig a beüzemelése a címben található 3G-s kapcsolatnak. A SIM kártyán legyen kikapcsolva a PIN kód kérés.

Rendszeren tesztelve: Ubuntu 8.10 x86

Parancssoros megoldás

sudo apt-get update
sudo apt-get install wvdial
sudo nano /etc/wvdial.conf

[Dialer Defaults]

Phone = *99***1#
Username = vodafone
Password = vodafone
New PPPD = yes
Stupid Mode=1
Dial Command = ATDT
Modem= /dev/ttyUSB0
Baud=460800
Init2=ATZ
Init3=ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init5=AT+CGDCONT=1,"IP","internet.vodafone.net"
Modem Type=Analog Modem

Böngészés privát módban / Epiphany

Valamelyik régebbi topicban volt szó róla, hogy ki hogyan böngészik privát módban. Például amikor banki műveleteket végzek, és utána csak az arra vonatkozó bejegyzéseket akarom törölni (a cookie-kat a kijelentkezés törli, de ugye az előzményeket nem stb.). Vagy egyéb más okból.

Én speciel mindig töröltem mindent. Viszont nemrég fedeztem fel, hogy az Epiphany tud privát módban indúlni. Ez a '-p' kapcsoló, vagy pedig az alábbi:


epiphany -p
epiphany --private-instance

Megnéztem a $HOME-ot

find ~ -mmin -1

paranccsal, és tényleg nem hoz létre semmilyen idevonatkozó bejegyzést ;)

XMPP protokoll üzenet küldéshez

Végeztem egy gyors kutatást arról, hogy vajon melyik olyan pidgin által is támogatott IM protokoll felelne meg az alábbi szempontjaim közül a legjobban:

- nyílt szabvány legyen
- biztonságos kommunikáció lehetősége
- legyen hozzá nyílt forrású kliens minden platformra
- széles körben támogatott legyen
- ne legyen követelmény a központi szerver
- audio / video támogatása sem utolsó

Olyan esetekre keresek egy új megoldást a jelenleg használt protokolljaim helyett, ahol felállításra kerülnek például olyan kliensek, ahol azoknak csak egymással kell kommunikálni, tehát nem követelmény hogy a felhasználók barátai és ismerősei elérhetőek legyenek egy általuk használt "elterjedt" protokollon keresztül.

Directory hash

Jegyzet: script a könyvtárban található összes fájl ellenőrzésére (pl. cd írás utáni adatellenőrzéshez):

Megj.: a vizsgálandó könyvtárból kell futtatni.


find ! -type d -print0 | sort -z | xargs -0 sha1sum | sha1sum

Fun - Linux XP 2008 screenshot tour :)

Tegnap volt egy kis időm, és feldobtam VirtualBox-ba a 2008-as LinuxXP-t, amit egyik kedves barátom küldött nekem. Gondoltam megosztom itt, hátha kíváncsiak vagytok hogy néz ki ez az orosz fejlesztés :D

Ez egy Fedora alapú disztribúció (2.6.24-es kernel, Gnome desktop), amely ingyenesen letölthető, viszont csak 30 napig használható ingyen, utána aktiválást igényel. Az oldal szerint 1800 és 2500 rubel-be kerül (Home / Enterprise kiadás - 12 410 Ft / 17 236 Ft jelenleg).

Ez egy DVD (2.1 GB) telepítő, Live módban nem használható.

Sysresccd live rendszer telepítése USB meghajtóra backstore képfájlal

Emlékeztető:
Írtam egy scriptet, ami a Pendrive-omra felrakja a sysresccd-t. A telepítendő egység GONDOSAN LEGYEN KIVÁLASZTVA + a legfrisebb nevet és linket mindig át kell írni a DL1 és DL2 változókban. A script 1 GB-os pendrive-hoz van beállítva 256 MB backstore kapacitással.