Hlavní navigace

Nová softwarová sklizeň (14. 2. 2007)

14. 2. 2007
Doba čtení: 2 minuty

Sdílet

Oblíbená sonda do světa (převážně) otevřeného softwaru. Máme zde program na nastavení chroot prostředí, zamykání počítače USB klíčenkou, generování grafu volání funkcí v pythonu, skriptování ssh sezení, ovládání Linuxu přes mobil, plugin do průzkumníka pro diff. A blbinku na konec - dnes pro ni půjdeme až do kernelu.

Chrootbin

Nastavit chroot prostředí nemusí být vůbec jednoduché. Pokud má být v chrootu jenom základ, dá se to zvládnout ručně. Ale pokud tam těch programů má být více… Tohle řeší skript chrootbin (3.0rc1). Program zjistí, jaké knihovny program vyžaduje pro svůj běh a přidá je do chrootu. Např.

cb -e `which ls` 

nainstaluje příkaz ls do současného adresáře spolu se všemi jeho knihovnami. A pokud chcete nainstalovat celý balík, stačí napsat:

cb -p mysql -r 
což nainstaluje všechny programy z balíku mysql i se všemi knihovnami. -r pro redhat. -d pro debian.

Laplock

Taky jste ve filmech záviděli tajným agentům jejich karty, které museli vsunout do počítače a tím je odemknout? Já ano. Tak teď můžeme být jako oni. Program Laplock (0.0.4) může monitorovat USB klíčenku nebo SD,SM či jinou kartu. Jakmile ji vytáhnete, spustí se xlock (nebo cokoliv si řeknete) a když ji vložíte zpět, je xlock zabit. Kontrola se dělá přes UUID zařízení, což znamená, že to je bezpečné jenom do doby, než si někdo okopíruje UUID vaší karty (což může v obvyklém prostředí trvat věky), ale hlavně je to super khůl.

Python Call Graph

Python Call Graph (0.2.0) je skvělý modul pro python. Slouží ke generování grafu volání funkcí (viz obrázek). Jediné co musíte je nepatrně upravit kód: importovat modul, na začátku zavolat pycallgraph.start_trace() a na konci zavolat pycallgraph.make_graph('graf.png'). Bohužel stránka je momentálně slashdotovaná, takže pokud se to do středy nespraví, tak aspoň přímý link na balík (tohle funguje).

pycall

Python Call Graph

Enchanter

Enchanter (0.1) je malá knihovna (v Javě), která umožňuje psát ssh skripty v podobném stylu jako s Expect. Malý kód vydá za tisíc slov:

ssh.connect('myserver', 'myusername');
ssh.waitFor(':~>');
ssh.sendLine('date');
print('Server date is '+ssh.getLine());
ssh.disconnect(); 
Program se spojí na vzdálený myserver a vypíše jeho aktuální čas.

Linux Bluetooth Remote Control

Linux Bluetooth Remote Control (0.1) je program na ovládání Linuxu přes bluetooth vašeho mobilního telefonu. Resp. libovolného zařízení, které umí J2ME. LBRC se skládá ze dvou částí: javovský klient se nahraje do telefonu a po nalezení serveru na něj odesílá keycode tlačítek. Serverová část (v pythonu) tyto kódy přijímá (skrze /dev/input/uinput) a mapuje je (dle konfiguračního souboru) na stisk kláves, pohyb myší nebo klikání.

diff-ext

Pokud opovrhujete textovým prostředím, ale občas byste rádi lehce porovnávali obsah dvou souborů, nabízím vám Diff-ext. Jedná se o plugin pro Konqueror, Nautilus a dokonce i Explorer. V těchto průzkumnících dostanete nové kontextové menu a můžete porovnávat dva až tři soubory současně. Samozřejmostí je možnost zvolit si vlastní diff (doporučuji kdiff3).

root_podpora

kdiff

diff-ext

Kernelcookies

Fortune (6) je zdrojem neocenitelných moudrostí. Nechám si je vypisovat při otevření terminálu. Tento týden jsem objevil nový datový soubor. Kernelcookies (9) je souborem zajímavých (nebo podivných) řádků z kernelu. Hned jsem si oblíbil:

panic ("No CPUs found.  System halted.\n");
        linux-2.4.3/arch/parisc/kernel/setup.c 
Nebo cokoliv z ovladače sunhme.

Byl pro vás článek přínosný?

Autor článku

Autor pro Root.cz psal převážně Softwarové sklizně. Dnes je zaměstnán ve firmě Red Hat, kde se věnuje vývoji nástrojů pro správce balíků.