Praca, praca, praca…

We wtorek pojechałem do Dąbrowy Górniczej instalować serwerek linuksowy
(katalog udostępniony w sieci lokalnej plu s Neostrada) w pewnej firmie.
Serwerek przygotowałem już wcześniej, ale niezbyt dobrze i kupę czasu straciłem
na walce z tą Neostradą. Okazało się, że pakiet speedtouch w PLD zawiera
sterownik kernelowy, ale dokumentację do sterowników userspace – jednego z
drugim nie dało się pogodzić. Dopiero gdy podłączyłem modem do jakiegoś Windowsa
(błe) i wygooglałem właściwe HOWTO udało mi się to odpalić (na sterowniku
kernelowym). Przy okazji przekonałem się na własne oczy że hotplug jest do d….
Coś takiego jak hotplug jest potrzebne i byłoby to super gdyby działało jak
należy – podobnie do pcmcia-cs. Ale jak po podłączeniu modemu odpalało mój
skrypt do inicjalizacji tegoż kilka razy równolegle, to ja dziękuję.

Serwerek miał też robić backupy udostępnionego katalogu na ZIPa. Wymyśliłem
sobie, że będę tam robił też backup całego systemu i zrobię to tak, żeby się
wszystko odtwarzało prawie bezobsługowo. Pracowałem nad tym dzień wcześniej w
firmie. Nie udało mi się zabootować Linuksa z FATowej (dla przenośności danych z
backupu) partycji na tym ZIPie, więc zrobiłem bootowanie z dodatkowej dyskietki.
Wszystko ładnie działało, nie zdążyłem tylko do końca przetestować odtwarzania
danych. Na miejscu też nie przetestowałem, bo walczyłem z tą Neostradą. A w
końcu się okazało, że nic z takiego kompletnego backupu – poza kopią systemu na
tą dyskietkę ZIP nie wiele wchodzi, a w końcu backup danych jest ważniejszy.

W środe siedziałem normalnie w firmie. W czwartek wyjechałem tylko do jednego
klienta sieci osiedlowej w Zabrzu. Normalnie do klientów tych sieci nie jeżdżę,
ale ten był wyjątkowy – była to firma i ich sieć lokalna była odseparowana od
całej sieci osiedlowej routerkiem linuksowym, oczywiście postawionym przez nas.
Chodziło tylko o aktywowanie internetu w nowym komputerze (inna karta sieciowa),
ale że już za cholerę nie pamiętałem co właściwie było na tym routerku
(instalowany z 2 lata tem), ani jakie tam może być hasło roota, to musiałem tam
pojechać. Pojechałem, zrobiłem, wróciłem. W sumie warte odnotowania tylko
dlatego, że zwykle z biura nie ruszam się dalej niż na serwerownię. Tego samego
dnia dowiedziałem się jeszcze, że w piątek w Dąbrowie na tym serwerku muszę
zrobić jeszcze serwer drukarki dla Windowsów (podobno powinienem już dawno o tym
wiedzieć, bo byłem przy tym jak było to ustalane). Ostatnio robiłem coś takiego
parę lat temu, gdy jeszcze nie było CUPSa, a i samba miała nieco mniejszy
numerek. Wygooglałem jakieś HOWTO na ten temat i poczytałem sobie. Nie wyglądało
na banalną sprawę, ale oczywiście do zrobienia.

W piątek więc znowu do Dąbrowy. Nie z samego rana, więc zdążyłem przynajmniej
pocztę poczytać. Po drodze kumpel z którym jechałem musiał coś w Actionie
załatwić. Dobrze że wziąłem książkę, bo długo tam musiałem czekać. Gdy już
dojechaliśmy na miejsce zabrałem się za robotę i właściwie poszło to bez
problemu. I to nawet w trybie normalnego serwera drukowania, a nie tylko
spooler-only. Dobrze że drukarka była PostScriptowa. Skonfigurowałem klientowi
konta pocztowe na naszych serwerach, zrobiłem jakieś inne drobiazgi których już
nie pamiętam, ale jak zbieraliśmy się do wyjazdu to było już po 15:00 (pracę
normalnie kończę o 16:00). Po drodze jeszcze raz mieliśmy zajrzeć do Actiona, po
obudowę. Zabraliśmy obudowę, jedziemy dalej, gdy byliśmy pod rondem w Katowicach
dzwoni telefon, że jeszcze po coś do Action trzeba wstąpić. Sprowrotem, znowu
czekanie, znowu rondo, gdzie straszny korek… i w firmie byliśmy o 16:15. Nawet
nie tak źle, tyle że ja od rana nic nie jadłem, a do domu jeszcze 45 minut jazdy
tramwajem. Wróciłem głodny i straszliwie zmęczony (właściwie nie wiadomo
czym).

Dobrze że w domu czekał pyszny obiadek – musiałem tylko go sobie odgrzać. Po
obiadku się położyłem, ale nie długo było mi dane leżeć, bo szef dzwoni z firmy,
że jest problem z jedną siecią i mam posprawdzać czy to nic u nas. Sprawdzam
(resztkami sił) i nie wygląda żeby to był router, modemy czy coś innego za co
odpowiadam. Drugi admin też sprawdzał i doszedł do tych samych wniosków. Na 90%
coś w sieci lokalnej. Niestety trochę później znowu mnie telefon wyciąga z łóżka
– mam to zgłosić na Błękitną Linię. Nie sądzę, żeby to była dzierżawka, ale
cóż… szef każe, to się robi. Zgłosiłem, zjadłem kolację i poszedłem spać (dużo
wcześniej niż zwykle, bo około 21:00).

Wczoraj jeszcze dzwonił Tato, że w Katowicach jest jakiś festyn i może nas
zabrać. Umówiliśmy się, że jak będzie ładna pogoda to jedziemy, a dokładniej się
umówimy dzisiaj około 10:00. Gdy dzisiaj zadzwonił ustaliliśmy że jedziemy –
będzie po nas o 11:05. Jednak wcześniej zadzwonił szef, że trzeba coś z tą
niedziałającą siecią zrobić – przepiąć ją na radiolinię. Drugi admin, najpierw
nie odbiera telefonu, potem jest „nieosiągalny”. Muszę sam się tym zająć, a
nawet nie znam do końca aktualną konfigurację tej radiolinii – jej testowaniem
zajmował się raczej ten drugi admin. Skonfigurowałem router i switche, ale
okazało się, że ktoś musi pojechać do firmy i access pointa wpiąć do prądu i
odpowiedniego portu w switchu. Zanim to wszystko się udało załatwić, to było już
dawno po 11:05, a wycieczka nam przepadła, ech… :-(

Czyżby libxml2 to był zły wybór?

Zaczynam wątpić w to że użycie libxml2 w PyXMPP to był naprawdę dobry
wybór. I to nie z tego powodu, że ta biblioteka, wraz z modułem pythonowym
jest dość trudno dostępna dla użytkownika końcowego. Chodzi raczej o podejście developerów
libxml2
. A może po prostu ja byłem głupi zakładając że interfejs SAX,
czyli strumieniowy, będzie mnie informował o zdarzeniach na bieżąco. Czyli że
np. informację o początku elementu dostaję zaraz po przeczytaniu całego taga
początkowego, a nie po rozpoczęciu kolejnego elementu. W każdym razie po
uaktualnieniu (zresztą podyktowanym względami bezpieczeństwa) libxml2 do
wersji 2.6.7 PyXMPP i wszystko co z niego korzysta (a więc CJC i JJIGW)
przestaje działać. I nie będzie działać, póki autorzy libxml2 nie cofną tego
feature’a, albo ja nie przygotuję obejścia (ręcznego wstępnego
parsowania strumienia XML przed przekazaniem go do parsera XML).

Routerek 3Coma nadal działa, ale zdążył nas zaskoczyć. Konfiguracja
firewalla, która miała zablokować dostęp po TCP i UDP do routera, zablokowała
cały ruch TCP i UDP przechodzący przez router. Okazało się że w ACLach w tym
routerze maski adresów IP mają odwrotne znaczenie niż gdzie indziej (chociaż
może w innych routerach jest tak samo) i adres z maską
255.255.255.255 oznacza dowolny adres, a jak chcę złapać
ten jeden konkretny, to muszę użyć maski 0.0.0.0. Dziwne,
ale teraz działa.

Postawiłem i wczoraj w końcu skonfigurowałem zgodnie z życzeniami
użytkowników serwerek Quake3 na firmowym serwerze games.bnet.pl. Gostki
przez dwa tygodnie za mną chodzili w tej sprawie. Podziwiam ich
cierpliwość. :-)

A’propos gier. Doszedłem to tego, czemu mi się komp przy OpenGL wywalał –
nie miałem modułu via-agp załadowanego, a obsługa DRI na Rage128
w trybie PCI najwyraźniej się sypie. A samo agpgart już nie
wystarcza. Obejrzałem sobie UFO: Alien
Invasion
– może z tego być niezła gierka.

Routerek i partactwa na WWW

Rano wyjęliśmy felerną kartę z routera, zainstalowalismy spowrotem
dystrybucyjny kernel, a ostatnią sieć maskaradowaną przez ten router
przepięliśmy do innego. W południe przyszedł routerek 3Coma. Udało się go
skonfigurować i nawet ładnie działa. Test polegający na ping-floodzie
przeszedł na 5+, innych na razie nie robiliśmy. Nieciekawie natomiast
wyglądał efekt nmapa zapuszczony na tym urządzeniu. Chyba 5 portów TCP
otwartych, w tym telnet, domyślnie bez hasła. Nie rozumiem co za idioci tak
domyślnie konfigurują takie urządzenia. Przecież mogłem zapomnieć sprawdzić.
Co gorsza okazało się że tych usług nie można wyłączyć. Na szczęście dało się
zablokować wbudowanym firewallem. Założyłem więc regułki blokujące wszystkie
połączenia TCP i UDP do maszynki i mam spokój. Na „dużym” routerze, gdy już
POLPAK działa i nie ma żadnej NATowanej sieci, mogłem wywalić moduł
ip_conntrack. Teraz powinien sobie i z kilkoma GB/s poradzić.
:-).

Najlepsze jest to, że dzisiaj, pierwszy raz od początku tygodnia, przez cały dzień nic nam
się nie powiesiło! :-) (odpukać!)

Żona poprosiła mnie o pomoc przy robieniu screenshotów stron WWW, co
zlecono jej w pracy. Pracuje ona w małej lokalnej firmie Linuksowej zajmującej
się głównie tworzeniem serwisów WWW. Te strony które mieliśmy strzelać
wyglądają całkiem nieźle, ale miejscami się rozjeżdżają. Z ciekawości
zapuściłem na nich walidatora W3C.
Masakra :-(. A łudziłem się że przynajmniej mała, linuksowa
firma, prowadzona przez rozsądnych i bardzo sympatycznych ludzi nie będzie
robić takich partactw…. No ale cóż, ja jestem idealista, a oni muszą
przede wszystkim zarobić
. Ale czy na pewno nie da się tego połączyć? Po
prostu wymagać od tych którym się robotę zleca, żeby wynik się walidował?
Konkretne wymaganie odnośnie jakości zleconej pracy, a nie wymagające od
wykonawcy wcale dużo więcej pracy, jedynie odrobinę kompetencji i wiedzy. No
i w wielu wypadkach pozwala uniknąć konieczności testowania strony we
wszystkich możliwych przeglądarkach.

Może hobbystycznie przerobię jedną stronę w zgodzie ze standardami…
ciekawe ile roboty zajmie to mnie. Przecież ja się tym normalnie nie zajmuję
no i nie wiem co autor miał na myśli.

Czy to się wreszcie skończy?

Paskudny ten tydzień. Na poniedziałku się nie skończyło. :-(

Powodem wolnego działania łącza po zmianie płyty w routerze okazały się
straty pakietów na jednej sieciówce. Dokładnie to był jeden z czterech portów na
czteroportowej karcie D-Link. We wtorek przełożyliśmy kabelek do interfejsu na
płycie głównej (VIA Rhine) i straty ustały. Było nawet lepiej niż na starej
płycie. Super… ale nie długo. Tego dnia też przyszła zamówiona karta
synchroniczna na PCI, ale instalację tego zostawiliśmy sobie na srodę. We
wtorek spatchowałem tylko dla nich kernel PLD. Po pracy okazało się że sieć na
tym VIA Rhine i pomaga tylko reset switchów, a żeby było śmieszniej po resecie
jednego z tych switchy musimy robić ifdown/ifup na serwerze do niego
podpiętym, bo dla odmiany tam sieć zawisa. W końcu jakoś działało dalej.

W środę już z samego rana poszliśmy na serwerownię podłączać nową kartę.
Trzeba było wyjąć serwer z szafy, zainstalować kartę, włożyć serwer spowrotem
(jego miejsce w szafie jest na wysokości około 2m) i wszystko popodłączać.
Klienci zapewne byli zachwyceni, bo trwało to ponad pół godziny a i na tym
przerwy się nie skończyły. Po podłączeniu i uruchomieniu zapatchowanego
kernela wszystko wyglądało dobrze… dopóki nie załadowałem sterownika do
karty. Próba zakończyła się twardym zwisem maszyny, nawet Magic-SysRq nie
pomógł. Po paru próbach z różnymi konfiguracjami postanowiliśmy zadzwonić do
producenta. Dostałem numer telefonu do gościa od tej karty a zarazem autora
sterowników. Niestety nie był w stanie powiedzieć nic konkretnego, jedynie
zasugerował zainstalowanie gołego kernela (no cóż ten z PLD jest rzeczywiście
przeładowany patchami). Cóż było robić. Odpaliłem router bez tego sterownika
(a więc dalej bez POLPAK-a), wróciłem do biura i zacząłem szykować kernel.
Instalację zostawiłem sobie na dzisiaj (czwartek).

Na tym środowe atrakcje się nie skończyły. Około 17-tej znowu siała sieć na
Rhine i trzeba było restartować switcha. Potem pojawiły się duże straty –
okazało się że tabela conntrack się przepełniła (wcześniej był kernel 2.2, a
więc nie było tego problemu). Poprawiłem ip_conntrack_max i było jakby lepiej.
Jednak wieczorem gdy chciałem sprawdzić jak daleko jest tej tabeli do
ponownego przepełnienia (wc -l /proc/net/ip_conntrack) znowu sieć zawisła. I
tym razem restart switchów nie pomógł. Po reboocie (zdalnym, serial-console
rulez) sieć w ogóle nie wstała. Tylko pojawił się komunikat o jakimś problemie
z routingiem przerwań i wynikającym z tego konfliktem. Próbowałem jakoś
skonfigurować routing z pominięciem tego routera (teoretycznie możliwe
rozwiązanie dla większości naszych klientów), ale nic z tego nie wyszło, więc
spróbowałem jeszcze jednego restartu. Tym razem sieć wstała, ale zauważyłem że
komunikat o problemie z przerwaniami też się przy starcie kernela pojawił.
Widać dupiata płyta główna.

Dzisiaj jak już dojechałem do pracy, co stało się 15 minut później niż
zwykle, bo autobus nie dojechał, zabraliśmy się znowu za ten nieszczęsny
router. Najpierw obejrzeliśmy jeszcze raz ten komunikat o przerwaniach i
spróbowaliśmy coś z tym zrobić w ustawieniach BIOS. Potem zainstalowałem nowy
kernel (ten własny, nie z PLD) i załadowałem sterowniki do karty. Załadowały
się, bez zwisu. Potem skonfigurowałem dostęp do POLPAKu – miodzio, znacznie
przyjemniejsza sprawa niż z tą nieszczęsną Sangomą. I zebra nie zdechła po
odpaleniu łącza i interfejs zachowuje się normalnie. Takiej właśnie karty mi
było trzeba… Nie nacieszyłem się jednak długo bo wszystko wisło. Na twardo.
Mieszaliśmy z ustawieniami przerwań itp., ale nigdy nie podziałało dłużej niż
godzinę. Znowu dzwoniłem do autora sterowników, ale nie miał lepszych pomysłów
niż te na które sami wpadliśmy – może to konflikt przerwań, spróbujcie bez
tej karty z którą współdzieli przerwanie
. Ale nie możemy wyciągnąć tej
karty, bo to czteroportówka, która sama zabiera wszystkie cztery przerwania
PCI. Przełączyliśmy jeden kabelek gdzie indziej, tak że przynajmniej jedno z
tych przerwań było nieużywane i mogło zostać tylko dla karty synchronicznej.
Jednak sytuacja bez zmian – nadal się wiesza. W końcu wywaliliśmy ten
sterownik i ponownie wyłączyliśmy POLPAK. Nie wyciągaliśmy karty, żeby nie
powodować kolejnej (tym razem dłuższej) przerwy w działaniu routera. Będąc na
serwerowni oczywiście pamiętaliśmy o wieszającej się VIA Rhine – przepięliśmy
z niej kabelek na 3Coma, który też tam był, może będzie lepiej.

Tej karty synchronicznej mamy już dosyć, jutro ją wyciągamy i spróbujemy
zwrócić. Dzisiaj zamówiłem dedykowany router 3Coma. Jakiś bardzo prosty z
portem V.35 i Ethernet – tak żeby tylko pośredniczył pomiędzy POLPAK-iem, a
naszym routerkiem. Jutro czeka mnie więc wyciąganie karty i instalacja
routera. Ale jak ten nowy router będzie nawalał, to najwyżej POLPAK nie będzie
działa, a na nasze główne łącze nie powinno to mieć problemu. Oby się te
problemy wreszcie skończyły!

A teraz coś bardziej optymistycznego. Wczoraj Krysia opanowała używanie
myszki. Odpaliłem jej TuxPainta (nie pierwszy raz), a ona sama stawiała
pingwinki w mniej-więcej przemyślanym miejscu. Jak tak dalej pójdzie, to zanim
skończy trzy latka (teraz ma niecałe dwa) to będzie chciała poznać hasło roota
:-).

Niezły początek miesiąca

Wszyscy rozpisują się o tym że miesiąc sie rozpoczął. Pewnie dlatego żeby
nie mieć pustej strony na swoich jogach. Ja też napiszę, szczególnie, że mam
na co się poużalać.

A więc przychodzę do pracy, ciesząc się że drugi admin już wrócił
z urlopu i będę miał mniej roboty. Jednak zaraz jak siadłem do kompa
okazało się, że ten nie dostał adresu IP. Biurowy serwerek/routerek
leży. Podpiąłem do niego monitor, klawiaturę, ale nawet zalogować się
nie da. Magic-SysRq ujawnił, że chodzi tam cała masa procesów
„crond” w stanie „D” („zombie”).
Dziwne, ale reboot pomógł.

Już gdy grzebałem w tym biurowym serwerku dzwonili klienci że im net
albo poczta nie działa. Oni nie są podłączeni przez nasz biurowy LAN,
więc już było wiadomo że na drugiej serwerowni (na TPSA) też coś leży.
Gdy w biurze sieć już działała okazało się, że nie ma wyjścia w świat,
a więc leży router brzegowy. On już szwankował od jakiegość czasu
i nawet nowa płyta do niego była (czekała na nową kartę V.35). Ale to
nie wszystko… okazało się że leży także router/serwer obsługujący
sieci osiedlowe.

Poszliśmy na TPSA. Okazało się że router brzegowy leży tak jak
podejrzewaliśmy, jednak reboot nie pomaga (ostatnio za którymś razem
pomagał). No cóż będzie trzeba płytę wymienić nie czekając na kartę
V.35 (stara karta była na ISA, więc do nowej płyty byśmy jej nie
wcisnęli). Serwer od osiedlówek natomiast wisiał podobnie jak ten
biurowy, tyle że tu dla odmiany była masa procesów „smbd”
w stanie „S”. Reboot pomógł.

W końcu udało się i odpalić router brzegowy. W tym celu trzeba było
znależć kartę grafiki która by do niego pasowała i w nim działała
(zwykłe AGP nie wchodziły w slot 1.5V, a jedna PCI po prostu nie
działa w tym kompie) i zorientować się że pamięc należy włożyć do
slotu 3 a nie jeden.

Teraz niby wszystko działa, ale część klientów oraz szef narzekają że
strony ładują się strasznie wolno, a my nie możemy znaleźć powodu…

ech… Mam nadzieję, że nie będzie cały marzec tak wyglądał…

Ktoś se robi jaja, ja se robie jaja…

To zacznę od siebie – w zeszłym tygodniu zainstalowałem sobie
jabberd-2.0b1 na jabber.bnet.pl. Fajny nowy serwerek Jabbera,
obsługujący XMPP w tym autentykację SASL, szyfrowanie StartTLS,
privacy-lists. W ogóle super… tylko że beta. Więc się sypał na okrągło
trochę błędów znalazłem, część poprawiłem, wszystkie zgłosiłem na
JabberStudio (poprawione wraz z patchami). Teraz działa już nieco
lepiej, ale do stabilności jabberd-1.4.x (który swoją drogą był niezłym
i przestarzałym bublem) wciąż mu daleko. :-(. Podziwiam
cierpliwość swoich userów :-).

tkabber-0.9.5beta miał błąd w obsłudze SASL, więc go musiałem sobie
poprawić (zgłosiłem oczywiście też alekseyowi), mając już serwer
obsługujący StartTLS dodałem też tego obsługę do PyXMPP i CJC (trzeba
jeszcze dokończyć weryfikację certyfikatu i obsługę błędów).

Tydzień temu kupiłem (na koszt firmy) kartę muzyczną do mojej stacji
roboczej w pracy. Nie miałem głośniczków, więc do testów pożyczyłem
słuchawki od kumpla – karta działała. Dzisiaj wreszcie skombinowałem
głośniczki. Próbuję coś zagrać… i cisza. :-( Kombinowałem
ze sterownikami – nic, podłączyłem te same słuchawki co poprzednio
– nic, zmieniłem slot PCI – nic. W końcu sprawdziłem jeszcze na
komputerze kolegi (z Windows) – też cisza. To fajnie się tym dźwiękiem
pobawiłem… Na szczęście kumpel miał dzisiaj przy sobie inną kartę
– podobno zepsutą, która „charczy”. Ale zawsze lepsze „charczenie” niż
PC-speaker.

Od piątku mamy problemy z łączami międzynarodowymi. Podobno to przez
atak DDOS na operatora który daje nam łącza – nie mogli się doprosić
o przyblokowanie tego u operatora który daje im łącza międzynarodowe.
Dzisiaj pingi wróciły do normy, nam wszystko działa pięknie, ale klienci
dzwonią że u nich nie. Okazało się, że z naszego routera łączność
w świat jest, ale już od klientów nie. Później okazało się, że gdzieś
w Świecie walnięty jest routing na 1/8 naszej przestrzeni adresowej
– akurat ten zakres adresów który przydzielony jest klientom sieci
osiedlowych… Albo jakiś admin machnął się przy konfiguracji routerka,
albo jakiś chakier bawi się czyimś routerkiem. W każdym razie na szybkie
rozwiązanie problemu podobno nawet nie mam co liczyć :-( .
Ale jak to przetłumaczyć klientom???? :-(

Enemies of Carlotta

…to programik którym ostatnio się bawiłem. I nie jest to żadna gra,
tylko… program zarządzający listami dyskusyjnymi. Żona prowadzi listę
swojej byłej klasy z liceum, kiedyś było to na ezmlm, ale zmieniłem
qmaila na postfixa i z ezmlm trzeba było się pożegnać. Przerobiłem to na
zwykłego aliasa z listą adresów w pliku. Działało to wystarczająco
dobrze, ale ostatnio na listę zaczęło przychodzić kupę wirusów i spamu
z adresów spoza listy. Trzeba było więc zainstalować nowy program do
obsługi list. Exmlm odpadał. Mailman mnie wkurza (po co wymaga jakiegoś
hasła? chyba tylko po to, by utrudnić wypisywanie się z listy),
majordomo i jemu podobne też (interfejs w postaci komend w temacie lub
treści majla wydaje mi się przestarzały). Kiedyś widziałem
enemies-of-carlotta na freshmeat a teraz miałem okazję wypróbować.
I działa 🙂 Miałem tylko drobne problemy związane z gadatliwością
enemies-of-carlotta gdy nie poda się opcji „–quiet”.
Postfix nie lubi takich gaduł i poczta nie dochodziła do wszystkich.
Dodanie „–quiet” od razu pomogło.

No to Iwona ma swoją listę, ale co, ja jestem gorszy? Założyłem więc
listy dyskusyjne dla moich projektów Jabberowych:
jggtrans@lists.bnet.pl, cjc@lists.bnet.pl i pyxmpp@lists.bnet.pl. Takie
listy powinny mieć też archiwa, więc pobawiłem się MHonArc i zrobiłem
coś takiego: http://lists.bnet.pl/ . Oczywiście na razie archiwa są
praktycznie puste.

Organizatorzy Jesieni Linuxowej (właściwie jeden z nich) upominali
się o mój wykład. No to przygotowałem streszczenie (strasznie trudno mi
było się za to zabrać). Gdy pierwszy raz wysłałem z mojego kompa w pracy
odbiło się od MXa linux.org.pl, bo się moje HELO („serwis2.beta”) nie
spodobało. Już miałem ich opieprzać, ale przeczytałem RFC i okazało się,
że mogło się nie podobać (ale mam wrażenie, że kiedyś w jakimś RFC
czytałem coś innego). Streszczenie wysłałem z innego serwera (z
właściwym HELO), ale na swoim komputerku zmusiłem postfixa do wysyłania
innego HELO (nazwa istniejąca w DNS, ale nie będąca adresem tego
komputera), więc nie powinienem mieć więcej takich niespodzianek.

Podczas mojego urlopu (BTW już wróciłem) smoku poprawił kilka błędów
w transporcie GG. Po powrocie poprawiłem kilka innych. Lada dzień więc
można się spodziewać wydania nowej wersji.

No chyba tyle na dziś. Zdaje się że jeszcze coś chciałem napisać, ale
już zapomniałem co.

Dawno nie pisałem

Dawno nie pisałem, bo ostatnio każdą wolną chwile przy komputerze spędzałem
ulepszając mojego Konsolowego Klienta Jabbera (CJC). Jest to coraz bardziej
użyteczny programik. Z podstawowych rzeczy brakuje mu teraz chyba jedynie
obsługi subskrypcji obecności i dodawania użytkowników – do zrobienia w ciągu
najbliższych dni. Cały czas szukam chętnego do ulepszenia wyglądu mojego
programiku – ja nawet nie umiem dobrać sensownych kolorków do rostera.

Od pierwszego sierpnia będę pracował w nowej siedzibie firmy 🙂
i od jutra czeka mnie przeprowadzka :-(. Ale może mi się uda uniknąć
najgorszej roboty.

Operator naszego głównego łącza „w świat” w piątek w nocy coś „naprawiał”
i do rana praktycznie nie mieliśmy Internetu. To bardzo duży problem odkąd
prowadzimy Biuletyn Informacji Publicznej dla całego miasta – ta usługa nie może
nie działać. Dlatego zastanawiałem się nad postawieniem BGP (mamy jeszcze jedno
łącze do polpaka). Ale jak dowiedziałem się jakie to koszty (kilka tysięcy zł.
miesięcznie od każdego operatora, nie mówiąc już o routerze który to
pociągnie), to ten pomysł musiałem sobie podarować. Inny pomysł podrzucił szef
– nasze łącze do polpaku słabe i zapchane, ale od bardzo długiego czasu nie
leżało – więc może by tak ruch z tego polpaku wyrzucić na drugie łącze, a polpak
zostawić na BIP. No ale to wiązałoby się z przeadresowaniem dużego kawała sieci
i sporymi zmianami w routingu, a pozatym ruch na głównym łączu wzrósł by o kilka
Mb/s. Jest też pomysł zestawienia nowego polpaka, ale to znowu koszty. Ciekawe
na czym stanie.

Aleksey Shchepin zasugerował, że powinienem zgłosić się do Jabber Council.
Spytałem Petera Saint-Andre co o tym sądzi i też stwierdził że to dobry pomysł.
Naskrobałem więc swój „position paper”, ale jeszcze nie wysłałem (mam czas do
końca miesiąca), bo nie ufam w swój angielski i umiejętności pisania takich
rzeczy. Dam jeszcze komuś do przejrzenia, zrobię ewentualne poprawki i wtedy
wyślę. Byle bym tylko nie przegapił terminu! Może się też okazać, że nie
przyjęli mnie do JSF (powinni zadecydować do 24 lipca, ale jeszcze nie znam
wyników), wtedy problem sam się rozwiąże.

(Nie)zwyczajny dzień admina

Jako admin ostatnio raczej się obijałem. Zajmowałem się jedynie programowaniem
Jabbera i ostatnio zacząłem się zastanawiać nad tym, że wszystko działa, nic
nie pada i właściwie to nic lepszego do roboty nie mam (poza odebraniem paru
telefonów od klientów i wysłaniem do nich serwisu). Dzisiaj miał być kolejny
taki dzień – spędzony nad pracami CJC, ale…

Jak tylko przyszedłem do pracy szef mnie poinformował, że jakiś klient dzwoni,
że mu poczta nie działa. Szybko okazało się, że mnie też nie działa – jak ma
działać, jak nasz główny serwer pocztowy padł. O drugiej w nocy postanowił sobie
zrobić przerwę. Akurat temu serwerowi taki niewyjaśniony pad zdarzył się chyba
pierwszy raz od jakiś dwóch lat. Nie odpowiadał nawet na Magic-SysRq przez
konsolę szeregową (później się okazało że to nie serwer, ale nowy minicom,
w którym znowu zmieniły się skróty klawiszowe), więc poszedłem do serwerowni (na
centralę TPSA), gdzie jeszcze na konsoli widniał piękny Ooops z kernel panikiem.
Po restarcie wszystko ruszyło bez problemu, więc mogłem wrócić do pisania CJC…

Okazało się że dzisiaj wreszcie było wszystko gotowe do podłączenia kolejnej
sieci (a właściwie podzielenia istniejącej). Kumpel zrobił nowego VLANa
i system zawisł (tym razem w innej maszynie). To akurat się zdarzało czasem. Po
reboocie VLAN działał już poprawnie, ale dhcpd przywitał nas komunikatem
„eth2.60: not found”. Wszystko inne widziało ten interfejs. Po chwilach zabawy
z ifup/ifdown itp. dhcpd przestał też widzieć „eth2.59”, „eth2.58” i „eth2.21”,
a w końcu zawisła częściowo obsługa sieci. Pomyślałem, że to dobra okazja, żeby
wreszcie zrobić upgrade kernela, bo miałem jeszcze jakieś stare 2.4.19. Po
restarcie (twardym bo przy tym zwisie nie dało się czysto położyć systemu)
musiałem poczekać aż fsck poprawi root filesystem. Na / miałem wciąż ext2 więc
uznałem że to też można od razu zmienić na ext3. Poprawiłem fstab,
przegenerowałem initrd, ale chyba nie zrobiłem „tune2fs” jak należy i po
restarcie system nie umiał zamontować /. Po starcie z zapasowego wpisu w lilo
niby system wstał, ale VLANy nie wstawały – pomyślałem, że do nowego kernela
potrzeba nowego pakietu vlan. Więc odpalam poldka, a ten mi „poldek.conf:
input/output error”. Plik niby był w /etc, ale nie można było go nawet skasować,
a co dopiero przeczytać. fsck niby coś poprawiał, ale nic nie poprawił. Po
którejś próbie straciło się jeszcze /etc/inittab, /etc/rc.d i parę innych,
bez śladu nawet w /lost+found. Robiło się wesoło. Jednak się nie poddałem (w
końcu gdzieś jeszcze mam backupy) i zrobiłem ten ext3. System nawet z tego
wystartował, a kolejny fsck (teraz pracujący na ext3) wywalił błędny
poldek.conf, a zgubione pliki wkleił do /lost+found. Wszystko wróciło do normy,
upgrade kernela się udał. Nawet VLANy działały jak trzeba (wcześniej nie działały
prawdopodobnie do tego, że zmieniła mi się nazwa modułu do sieciówki). Nadszedł
czas spróbowania dhcpd…

Jak odpaliłem wcześniej w single, to ruszył. Później w działającym systemie już
nie: „eth2.60: not found”. Pozostało zajrzeć do źródeł. Szybko znalazłem
odpowiednią funkcję w common/discover.c. Okazało się, że dhcpd na listę
interfejsów przeznacza bufor o wielkości 2048 bajtów, a przy ponad 50
interfejsach to nie wystarczało. Zmieniłem na 65536, przekompilowałem…
i działa 🙂 Od razu zmianę wrzuciłem do CVS PLD, może jeszcze komuś się przyda.

Ostatecznie byłem z siebie zadowolony, a nawet stwierdziłem że tego mi było
trzeba. Czasem lubię sobie poadminować, byle nie za często 🙂

Wczoraj…

Mama jest zawalona egzaminami do sprawdzania, więc zamiast obiadu u niej
musieliśmy sami sobie coś zorganizować. Wybraliśmy się więc do pizzerii.
Pizzeria okazała się porządniejszą restauracją i zamiast Pizzy ja
zamówiłem „żeberka na ostro z purée fasolowym”, a żona Lasagne ze
szpinakiem. Dobre było, ale rachunek podano mi z cukierkami – dla
osłody sumy jaka tam widniała. Krysia przez większość naszego obiadu
słodko spała w wózeczku obok stolika.

Potem Iwona z Krysią pojechały do domu, a ja udałem się na wykład
o DNSie zorganizowany przez SLUG. Nie dowiedziałem się
może niczego nowego, ale warto było, chociażby żeby spotkać się
z lokalnym „community”. Wykład był poprowadzony bardzo dobrze, IMHO
wypadł najlepiej z wykładów z serii GNU/Politechnika, na których byłem.
No, może prelegenci się zbytnio rozgadali (trwało to prawie trzy
godziny), ale na ten temat można by mówić i o wiele dłużej.

Jak zwykle na wykładzie rozdano ankiety. Tym razem było tam pytanie
„na jakie jeszcze wykłady się wybierasz?”. Z tego co ludziom zza ramion
podejrzałem, to mało kto wybiera się na mój wykład o Jabberze. Może
i lepiej – kompromitacja będzie mniejsza :). Myślę że zainteresowanie
tematem jest małe, bo mało kto ten temat traktuje poważnie
– większości kojarzy się on z GaduGadu i rozmowami w stylu „Skond
klikasz? Ile masz latek?”. A może rzeczywiście, to nie jest
wystarczająco poważna tematyka, aby wykład o niej prowadzić?