ChangeBlog  •  Archiwum  •  Kategorie  •  Artykuły  •  Galeria  •  Czytelnicy  •  Rupieciarnia
RSS wpisów  |  RSS komentarzy
QuaTrin Linux

Mój Linux. Aby być bardziej poprawnym, powinienem mówić o moim ,,Linux Box'', bo pod ,,Mój Linux'' rozumiem system operacyjny, dobór aplikacji których używam ale także sprzęt i zadania, które musi wykonać maszyna. Czyli ogólnie ,,komputer''.

Sprzęt:
Po modernizacji w styczniu 2005 stałem się użytkownikiem Semprona 2200+ przetaktowanego z 1,5GHz na 1,8GHz, maszynka posiada 512MB ramu i jak na razie sprawdza się znakomicie. Wcześniej używałem Celerona 333MHz@416MHz z 224MB ramu, więc...
Swap to szczątkowo używana partycja wielkości 100MB. Jeden podłączony na stałe dysk Maxtora ATA/100 5400RPM, 40GB, maks. transfer w okolicach 33MB/s, zajęty zwykle w około 30-50% (Hej, jak nie zbiera się divx-ów to się tak ma! ;) Z dysku jestem zadowolony, bo jest względnie szybki jak na czasy w których go kupowałem (kosztował mnie 350zł, obecnie za te pieniądze można mieć oczywiście coś o wiele lepszego).

Monitor 17" LG Flatron F700B, który zresztą już pokazał pierwsze defekty kilka dni po zakupie. Był w serwisie, na szczęście jako-tako to poprawili (wymienili kineskop). Balans kolorów się po serwisowaniu drastycznie pogorszył, ale to na szczęście szło wyregulować poprzez OSD monitora więc ogólnie wyszedłem na swoje.

Karta dźwiękowa to SB Live!1024, z której jestem bardzo zadowolony.
Karta graficzna to Radeon 7500, podarowany mi przez rmrmg. Wcześniej używałem karty Matrox G200, kupionej dawno temu za chyba 65zł na Allegro. Karta ma świetne wsparcie pod Linuksem, niestety działa tylko z AGP 1x/2x, a moja nowa płyta główna to już AGP 8x, więc karty tej już w tę płytę włożyć nie mogłem. Z Radeona zdjąłem za to jego firmowy zestawik chłodzący i zastąpiłem radiatorem ściągniętym z tego G200 - takie pasywne chłodzenie temu Radeonowi wystarczy, a pozbyłem się hałaśliwego wiatraczka.

Drukarka to laserówka HP LaserJet 5L nabyta na Allegro (cena: 410zł razem z tonerem HP) - jestem z tej drukarki bardzo zadowolony, mogę z czystym sercem polecić każdemu linuksiarzowi.

Obecnie jestem podłączony do internetu przez lokalną sieć radiową. Używam karty D-Link 520+ na układzie ACX100. Texas Instruments nie oferuje wsparcia linuksowego dla tego chipsetu, ale na SourceForge jest hostowany projekt OS tworzący sterowniki m.in. do niej. Tak że nie narzekam.

Aplikacje:
Mój ulubiony (jedyny używany) edytor tekstu to Vim, klient poczty i newsów to Sylpheed-Claws, choć znakomitą większość poczty obsługuję przez www gmaila. Shell to Zsh, środowisko graficzne to w większości Gnome. Do multimediów amarok/mplayer. Do WWW Ogniolisek i ewentualnie Opera. Do składania tekstów LaTeX i OpenOffice. W sumie bardzo standardowy zestaw. Aha, większość czasu (99,9%) spędzam w X-ach, a nie w VT. XTermów używam za to dość intensywnie.

QuaTrin Linux:
To najciekawszy kawałek konfiguracji. Bo jestem jedyną osobą, która tego używa. Nie używam żadnej dystrybucji, QuaTrin Linux złożyłem do kupy ,,tymi ręcami''. System jest trochę jak LinuxFromScratch, tyle że budowany jeszcze bardziej ,,samodzielnie'', bez żadnych podręczników, instrukcji obsługi, skryptów budujących czy zestawu źródeł do skompilowania. QuaTrin Linux wykorzystuje HBS jako swój system pakietów, trzyma się norm FHS, system skryptów startowych to aktualnie automagiczny model simpleinit (usługi automatycznie ustalają między sobą kolejność uruchamiania/zamykania wykorzystując zależności provides/depends, nieco jak np. modprobe robi to z modułami jądra. System jest dostosowany do tego, czego oczekuję. Żadnych fajerwerków, automagicznych konfiguratorów, nic z tych rzeczy. Choć automatycznie startuje w X-ach bez potrzeby logowania. Wolę utylitaryzm od hardkorowego fanatyzmu.

Co do nazwy, to ,,QuaTrin'' ma pewne znaczenie. Słowo pochodzi w prostej linii od quatrain, a wywodzi się z tekstów Nostradamusa i jest prawdopodobnie przekręconą przez Nostiego nazwą czterowiersza. Albo, jak sugerują niektórzy, należy to widzieć właśnie jako QuaTrin, dwa atomy ukazujące dwie najważniejsze liczby Istniejącej Rzeczywistości - 4 i 3. Cztery to liczba nauki, liczba człowieka. Fizyczna strona istnienia, materia. 3 to liczba ducha, Boga, mistycyzmu i duszy. QuaTrin to tylko symbol, przypominający o dualnej istocie człowieka i świata, o tym że każdy medal ma dwie strony, a każdy kij dwa końce (z pominięciem procy, która końce ma trzy ;)

Sam system jest mi bardzo miły. Kiedyś nosiłem się z myślą przesiadki na PLD, ale sobie w końcu odpuściłem - zacząłem zestawiać listę pakietów, które bym musiał zaraz po instalacji zmienić, i wyszło tego jednak zbyt dużo. Poza tym \hoppke chyba nie jest typem który zadowala się jakimś gotowym rozwiązaniem. Wszystko musi robić sam. Ech. Poza tym mam sentyment do swojego systemu. QuaTrin Linux to mnóstwo mojej pracy, pracy która teraz codziennie zwraca mi się z nawiązką.

A filozofia systemu jest prosta - praktycznie wszystko jest kompilowane ze źródeł, system jest bardzo nowoczesny jeśli idzie o wersje oprogramowania. Nie ma podziału na pakiety *-libs i *-devel, bo przy budowaniu pakietu z góry wiem, co będzie mi potrzebne. Niepotrzebna dokumentacja czy insze pliki po prostu nie trafiają nigdy do pakietów. W sumie bardzo proste, prawda? Ewentualne niespójności w obrębie systemu pakietowania mam głęboko gdzieś, w końcu to mój system. Może i mam nieporządek na biurku, ale to moje biurko i mój nieporządek. Ja wiem, gdzie co leży i umiem się w tym odnaleźć. QuaTrin Linux istnieje tylko dla Grzegorza Niewęgłowskiego, więc to on jest jedynym który mówi, jak to wszystko powinno wyglądać. Taki jest Linux, prawda? Elastyczny.

,,Ideologia'' mojego systemu:
Stara szkoła, choć model ten powoli zaczyna wracać do łask u coraz większej liczby użytkowników z tego co widzę. System sztywny, dostrojony maksymalnie do maszyny na której działa. Wszystkie możliwe pakiety własnoręcznie skompilowane z niestandardową często optymalizacją, tak, aby uzyskać jak najmniejszy kod wynikowy i zajętość dysku oraz pamięci (bez tego ręczna kompilacja to marnowanie czasu). Często (praktycznie wszędzie gdzie się da) rezygnuję z mechanizmów NLS aby oszczędzić miejsce na dysku i pamięć operacyjną, zwłaszcza gdy polskie tłumaczenia są niespecjalnie dobre. Nie używam polskojęzycznej dokumentacji ze względu na częste pomyłki, nieścisłości lub zwykłą nieaktualność. Kernel buduję raczej monolityczny niż modularny, system plików Ext3, dysk posiada tylko niedużą partycję swap i pojedynczą, wielką partycję na której leży cały system - /, /usr, /home, /boot itp.

W QuaTrin stosuję tzw. ,,konfigurację implodującą'', tzn. taką, która zapada się sama w sobie i pozbawiona jest części, które nie są absolutnie konieczne w danym zastosowaniu. Widać to np. w skryptach startowych czy sekwencji uruchamiającej X-y - aby osiągnąć największą wydajność (to mój priorytet, zaraz obok ergonomii) warstwa konfiguracyjno-pośrednicząca powinna być jak próżniowe opakowanie torebki kawy - jak najściślej przylegać do kawy, tfu, maszyny. Nie ma miejsca na żadne automatyczne konfiguratory, na dostosowywanie konfiguracji maszyny w locie przez kudzu, jakiekolwiek sekwencje if..else, ładowanie zbędnych modułów, daemonów czy linkowanie ze zbytecznymi dla zaplanowanej pracy maszyny bibliotekami. Takie rzeczy po prostu nie są potrzebne w już skrystalizowanym systemie, a mogłyby wprowadzać dodatkowe opóźnienia i niepotrzebnie obciążać system. Nie jestem fanatykiem, a po prostu lubię funkcjonalność. W końcu jaki normalny kierowca wozi w swoim aucie trzy zapasowe akumulatory, pięć kół ,,na wszelki wypadek'' oraz dwa foteliki dziecięce ,,bo co jeśli spotkam autostopowiczkę z dwójką małych dzieci?''. Pewnie, absurd. Ale dystrybucje są często tak właśnie konstruowane.

Nie mam np. żadnego dedykowanego pliku w którym określam nazwę fontu ekranowego i mapę klawiatury, zamiast tego po prostu od razu wywołuję ,,setfont/loadkeys'' z odpowiednimi argumentami. Sekwencja startowa prosta, zrobiona za pomocą alternatywnego programu /sbin/init ("simpleinit" z util-linux). Nie używam też żadnego spoolera wydruku, zamiast tego mam jeden skrypt który bez kolejkowania od razu drukuje dokumenty (ghostscript z wyjściem na /dev/lp0) - w końcu to ja sam pracuję z moją drukarką, więc nie potrzebuję spoola.

System nie jest tak uniwersalny jak dystrybucje, ale za to jest od nich o ładnych kilkadziesiąt procent mniejszy, szybszy i całkowicie dostosowany do moich wymagań - nic dziwnego, skoro to ja go budowałem.

Rys historyczny:
(chcę to wynotować dopóki jeszcze nie zatarły się wszelkie ślady:)
Początek systemu QuaTrin mogę chyba datować na początek roku 1998 (zapewne luty), przynajmniej takie daty nosiły najstarsze pliki jakie gdzieś mi się zapodziały w otchłaniach systemu. Pierwsza Era QuaTrin to okres w którym intensywnie korzystałem z bazy danych pakietów podobnej do tej, której używa Slackware (część skryptów do obsługi tej bazy wziąłem ze Slackware, część wystrugałem samodzielnie). Ale ta baza danych przestała mi wystarczać, więc postanowiłem przestawić się na coś z większym potencjałem. Ostatecznie wahałem się między pakietami .deb i .rpm, ale wybór padł na .rpm. Uznałem, że skoro RPM jest używany w paru dużych dystrybucjach, to powinien się szybciej rozwijać od narzędzi Debiana. Uznałem, że RPM będzie miał większe wsparcie, wprowadzane nowe funkcje itp. Niestety, potem się okazało że to nie jest takie proste :) Ale nie żałowałem wyboru, bo RPM się dobrze sprawdzał. W każdym razie Druga Era to era rpm-owego QuaTrin. Powolne przerabianie pakietów TGZ na RPM, początkowo albo przez pisanie bardzo, bardzo prymitywnych plików .spec, albo przez używanie checkinstall. Niestety, nie umiem już wyznaczyć momentu w którym rozpoczęła się Druga Era. Muszę przyjąć jako ten moment datę instalacji najstarszego pakietu jaki mam obecnie w bazie RPM, bo innych dowodów nie mam. W chwili pisania tych słów najstarszym pakietem jest nmap, datowany na czwartek, 28 marca 2002 roku. Ale z pewnością Druga Era zaczęła się wcześniej, tyle że nie zachowali się starsi świadkowie tamtych czasów. Następnie przyszła Trzecia Era, era świadomego pisania plików .spec. Był to moment rezygnacji z usług checkinstall. Ostatni pakiet zbudowany z pomocą checkinstall jaki znalazłem w mojej bazie to dosfstools z datą 02 kwietnia 2002 roku. Więc przyjmę, że to właśnie w kwietniu 2002 skończyła się Druga i rozpoczęła Trzecia Era. Trzecia Era trwała aż do pewnej dużej utraty danych, połączonej z wymianą dysku. W tamtym też momencie niestety straciłem wszystkie napisane własnoręcznie pliki .spec - baza danych z informacjami o pakietach i same pakiety przetrwały, ale bez plików .spec nie byłem w stanie ich przekompilować i musiałem wszystkie spece pisać od nowa. Tutaj datę mogę poznać po tym, że przy okazji pisania specy na nowo zmieniłem nieco ich styl, np. zamiast dwuczłonowych określeń dla kategorii pakietu, np. "System/Biblioteki" zacząłem używać wyłącznie określeń jednoczłonowych, np. po prostu "Biblioteki". Granica pomiędzy erą Trzecią i Czwartą zdaje się przebiegać gdzieś między styczniem a lutym 2003, bo mam w bazie zainstalowane dwa ,,przełomowe'' pakiety, z 18 stycznia 2003 mam masqmail z kategorii "Aplikacje/Internet", a następny pakiet to dopiero t1lib z 14 lutego 2003 z kategorii "Biblioteki". Aż gdzieś na początku roku 2004 opętała mnie myśl o stworzeniu własnego systemu pakietów, wzorowanego na praktycznie wszystkim co znałem. I w lutym 2004 intensywnie dłubałem już przy HBS, czyli Hierophant Build System. Staram się by system ten wymagał jak najmniej czynności ze strony użytkownika, ale jednocześnie nie tracił "powera". Jak na razie świetnie się sprawdza i jestem z niego zadowolony o wiele bardziej niż z RPM...

Przybliżona Chronologia:
Najpóźniej dziewiąty lutego 1998:
Era Pierwsza, Latająca Ryba. Początek QuaTrin, system z pakietami slackopodobnymi.
Najpóźniej 28 marca 2002:
Era Druga, Kamień Wśród Gór. QuaTrin konwertuje na Erpemizm.
2002, początek kwietnia:
Era Trzecia, Światło Na Wodzie. Zaczynam pisać własne, prawdzie pliki .spec
2003, początek lutego:
Era Czwarta, Drzewo Sandałowe. Wyrabiam własny styl pisania specy.
2004, około lutego:
Era Piąta, Zmierzwiona Wiewiórka. Przechodzę na własny system pakietowania, HBS.