Archive for the ‘Linux’ Category

Linuxový administrátor - výborný job

Saturday, December 29th, 2007

Staňte se linuxovým administrátorem! Dveře IT se vám otevřou dokořán! Skvělý plat, výborná příležitost, nečekané možnosti! Kolektiv! Nezapomenutelné zážitky

Be Admin!!

Také děláte práci admina? Cítíte se podobně zklamáni? Říkali vám, jak to bude super práce, jak budete vydělávat velké peníze za málo práce? Vzpomínáte, jak jste si řekli: “Tak já to teda vezmu”? A vzpomínáte si pak, jak jste v pět hodin ráno četli zdrojové kódy nejmenovaného programu a marně si zoufali, kde je sakra ta chyba? V tom případě, vítejte v klubu…

Autor tímto článkem nijak nevyjadřuje své postoje k adminování, pouze poukazuje na špatné zacházení s administrátory nejen v ČR, ale v celé Evropské Unii, světových zoo a jiných institucích pro duševně choré, mentálně retardované a sociálně nepřizpůsobivé

Těžko život administrátora aneb skriptujeme pro BFU

Tuesday, October 23rd, 2007

Moje matka po půl roce, co máme doma desktop, projevila reálný zájem o připojovat se přes něj na internet. Běžný linuxák prohlásí, ale to je snadné, připojí se na svůj Linuxový router, nastaví Iptables, povolí ICQ na firewallu, provrtá tři zdi, zapojí síťové kabely, třikrát se pomodlí k Linusovi a je to. Jednoduché, že? Ale u mě je tomu jinak…

Situace

Největší problém je v tom, že nebydlím v Praze, ale daleko na horách (čtěte na vesnici 30 km za Prahou), kde je dostupnost internetu shodná s dostupností multikin uprostřed Sahary nebo dobrého piva v Americe. Proto jsem nucen doma používat nevalně rychlý a nevalně stabilní CDMA modem. Jde o USB modem a připojení je vytáčené, což přináší spoustu radostí s připojováním.

Vytočíte, spadne, vytočíte, spadne, vypnete a zapnete modem, vytočíte, spadne, dáte modem do ledničky, vytočíte,
spadne, vytočíte se vy a jdete si číst

Cožpak já, já už vím jak na to a nějak se postarám, abych ten internet měl, ačkoliv občas s pingem 16 sekund. Ale co právě moji rodiče, otec počítače neznalý manager a matka, byť počítačově zdatná, něco jako shell naposledy viděla v době, kdy v práci používala Cobol a Algol. Od té doby pochopitelně trošku zpohodlněla, minimálně co se počítačů týče, dneska už jen provozuje makra ve Visual Basicu, která jsou trošku něco jiného než shell. Taky bych jí mohl něco naučit, ale to je moc práce a málo výzva ;)

Řešení

Takže nakonec padlo řešení na bashovský skript s grafickými dialogy pomocí zenity. Zenity je bashový zobrazovač GTK+ dialogů, mající spoustu voleb a hodina češtiny mi přišla ideální ke zkoumání jeho možností. Brzo jsem objevil, jak se vytváří všechna praktická okénka.

zenity error

Tím jsem vyřešil mou binární komunikaci s matkou ( Ti všímavější už pochopili komunikace probíhá na signálové úrovni, socketově bude probíhat pouze první ukázka)

Samotné připojení ovšem taková legrace není, neboť připojování probíhá pomocí pppd. Celý problém spočívá v detailu, že pppd je pěkný filuta, špatně se z něj získávají libovolné údaje o čemkoliv.

Vyzkoušel jsem leccos, ale všechno troskotalo na jedné základní věci, jak odchytit celý výstup, když se pppd při úspěšném spojení neumí “vymáčknout” a svůj výstup nedokončí. Zkoušel jsem různé pajpy do souborů a podobně, ale pořád to někde haprovalo, výstup se prostě nechtěl číst.

Až jednoho dne (respektive ještě ten den, asi 8 hodin poté) jsem při hledání parametrů v manuálových stránkách příkazu pon objevil jiný příkaz, plog. Plog se sice jmenuje stejně jako zvuk, který vydá záchodový zvon při běžném používání, ale je mnohem užitečnější. Umí totiž vypisovat několik posledních výstupů z démona pppd. Když jsem se pustil do zkoumání, objevil jsem že celé slavné plog je sedmiřádkový skript

1
2
3
4
5
6
7
#!/bin/sh
if [ -s /var/log/ppp.log ]; then
    exec tail "$@" /var/log/ppp.log
 
else
    exec tail "$@" /var/log/syslog | grep ' \(pppd\|chat\)\['
fi

V čem je ten skript tak převratný? Poradil mi, že můžu data vytahovat ze syslogu, kam mi pppd loguje. Výsledkem všeho je v podstatě genitální skript, který můžu matka (případně babička, dědeček, pes, papoušek nebo želva) v klidu spustit a vědět, zda internet opravdu funguje. Jak to celé vypadá?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
#Provedeme připojení přes CDMu
pon cdma & &> /dev/null
 
#Počkáme si, až se CDMA určitě připojí
sleep 8
 
#Vezmeme poslední řádek ze syslogu
vystup=`tail -n /var/log/syslog | grep ' \(pppd\|chat\)\[' | tail -n1 `
 
#!!!!!! POZOR !!!!!!!!!!
# !!! Od tohoto místa prosím slabší povahy, aby dále nečetli, neboť půjde o velmi brutální prasečiny !!!
#!!!!!! POZOR !!!!!!!!!!
 
#zkusíme grepnout  jeden z obvyklých errorů
echo $vystup | grep "unrecognized option" - > /dev/null
 
#proměnná $? obsahuje exit kód posledního příkazu (u nás grep)
#Pokud je exit kód  0 (tedy jsem úspěšně grepli) pak
if [ $? -eq 0 ];then
    zenity --error --text="Modem není zapojen, nebo se to tak alespoň zdá";
    exit 1
fi;
 
#a dále grepáme
echo $vystup | grep "locked" - > /dev/null
 
if [ $? -eq 0 ];then
    zenity --error --text="Internet se tváří, že je již připojen";
    exit 1
fi;
 
echo $vystup | grep --ignore-case "Failed" - > /dev/null
 
if [ $? -eq 0 ];then
    zenity --error --text="Nepodařilo se připojit";
    exit 1
fi;
 
#Pokud se nic zvláštního nestalo
zenity --info  --text="Spojení se pravděpodobně zdařilo";

Ještě jsem neměl čas předhodit to betatesterům (tj. matce), ale i na to brzy dojde a já budu moct celý skript prohlásit za funkční (a časem snad i bugu-vzdorný a blbu-vzdorný)

Neúprosná statistika - Linux válcuje Vistu

Monday, October 22nd, 2007

Vista je na ústupu! Microsft jde ke dnu! Blíží se úsvit Linuxu! Končí éra Internet Exploreru! Gecko začíná ovládat svět!

Každý alespoň trochu malinko přemýšlející čtenář (proto tento článek vychází až odpoledne, nikoliv ráno, kdy je myslivost většiny jedinců včetně mě nulová) asi přemýšlí, kde jsem k podobným výkřikům přišel, neboť ani ti nejzarytější zastánci Linuxu by se neodvážili tvrdit podobné věci. Odpověď je jednoduchá:

Dnes ráno mi po velmi krátké době provozu tohoto blogísku dorazila statistika z Toplistu a já nestačil věřit svým očím. Že tu nebylo moc návštěvníků, to asi nikoho příliš nepřekvapí, ale statistika operačních systémů a prohlížečů je opravdu neúprosná.

Operační systémy

  • Linux - 75%
  • Windows 2000 - 12,5%
  • Windows XP - 12,5%
  • Windows Vista - 0%

Jak je v této statistice jasně vidět, Windows Vista nemají uživatelům co nabídnout a většina z nich se obrací na Linux. Pochopitelně existuje i několik tradicionalistů, kteří používají starší verze Windows.

Webové prohlížeče

Podobně jako je tomu v operačních systémech, i ve webových prohlížečích se projevil nový trend.

  • Gecko - 100%

Internet Explorer 7 evidentně také neuzaujal a dokonce i skalní příznivci Opery přešli na osvědčené Gecko s jeho často až netušenými featurami, o kterých se ostatním prohlížečům může jen zdát. Namátkou třeba modifikovatelnost, rozežranost nebo třeba výborně implementované zamrzání.

Co z toho plyne?

Jak vidno, Microsoft a jeho produkty jsou pouhým odkazem odkazem minulosti. Současnost patří Linuxu

Prosím všechny čtenáře, aby mě nebombardovali statistikami z jiných, vesměs nedůvěryhodných webů, jejichž statistiky nemají valnou výpovědní hodnotu. Jakékoliv rozdíly mezi jejich a mým měřením jsou v rámci statistické chyby.