Danes namestiš Linux in čez nekaj minut imaš delujoč sistem.
Omrežje dela. Grafika dela. Zvok dela. Monitor se pravilno zazna. Kernel dobiš z nadgradnjo distribucije. Če nekaj ne deluje, kopiraš napako v Google ali jo prilepiš AI-ju in čez nekaj minut imaš vsaj približno idejo, kje iskati težavo.
Konec devetdesetih je bilo precej drugače.
Takrat Linux ni bil samo operacijski sistem. Bil je hobi, laboratorij, učilnica in pogosto uganka, zaradi katere si šel spat ob treh zjutraj.
In ravno zato je bil tako zanimiv.
Moja Linux zgodba se je začela v času Pentiuma 90, zunanjega US Robotics modema, grafične kartice Diamond Stealth 3D 2000 in CD-jev, s katerih smo preizkušali različne distribucije.
Poskusil sem Slackware 3.2, zgodnji Red Hat in še marsikaj, resneje pa sem se ustalil pri distribuciji, ki jo uporabljam še danes:
Debian.
Moja prva resna različica je bila Debian 2.1 – Slink.
In takrat si Linux moral dejansko poznati.
TriLinux CD – ko distribucije nisi samo prenesel
Danes vzameš nekaj gigabajtov velik ISO, ga preneseš v nekaj minutah in ga zapišeš na USB ključ.
Takrat smo imeli TriLinux CD.
Takšni CD-ji so bili zlata vredni. Internet je bil počasen, uporabljali smo dial-up in prenos cele Linux distribucije prek telefonske linije ni bil ravno nekaj, kar bi naredil mimogrede.
Na CD-ju si imel distribucije in začelo se je eksperimentiranje.
Namestiš.
Poskusiš.
Pokvariš.
Ponovno namestiš.
Prebereš dokumentacijo.
Spremeniš konfiguracijo.
Spet pokvariš.
In čez nekaj časa ugotoviš, da približno razumeš, kaj se v računalniku dogaja.
Preizkusil sem Slackware 3.2, pa zgodnji Red Hat – po skoraj treh desetletjih se številke različic že nekoliko mešajo – vendar mi je najbolj sedel Debian.
Debian 2.1, Slink.
Ni bil najlažji Linux.
Niti se ni trudil biti.
In ravno to mi je bilo všeč.
Pentium 90
Moj računalnik je poganjal Pentium 90.
90 MHz.
Ne GHz.
MHz.
Danes imamo telefone, ki imajo nepredstavljivo več procesorske moči, toda takrat je bil Pentium resna stvar.
In na njem smo počeli nekaj, kar se danes večini uporabnikov Linuxa zdi precej eksotično:
kompajlali smo svoj kernel.
Ne zato, da bi bili videti bolj »hardcore«.
To je bil povsem normalen del uporabe Linuxa.
Prenesel oziroma namestil si source kernela, šel v /usr/src/linux in začel:
make menuconfig
Pred tabo se je odprlo morje možnosti.
Kateri procesor?
IDE?
SCSI?
Kateri filesystem?
Katera mrežna kartica?
Sound support?
Kaj želim neposredno v kernelu?
Kaj želim kot modul?
In pri marsikateri možnosti:
Kaj za vraga je sploh to?
Takrat ni bilo Stack Overflowa, YouTuba in AI-ja.
Imel si README.
Dokumentacijo.
Linux HOWTO.
Usenet.
Mailing liste.
IRC.
In veliko poskušanja.
make bzImage
Ko si končal konfiguracijo, je sledilo prevajanje.
Nekako takole:
make dep
make clean
make bzImage
make modules
make modules_install
In potem si čakal.
Na Pentiumu 90 kompajlanje kernela ni bilo opravilo za nekaj sekund.
Lahko si šel po kavo.
In jo v miru spil.
Ko je bilo prevajanje končano, si moral kernel spraviti v /boot, urediti LILO in nato:
lilo
Potem je prišel najbolj zanimiv ukaz:
reboot
BIOS.
LILO.
Loading Linux …
In vrstice so začele drveti čez ekran.
Takrat si jih dejansko gledal.
IDE.
SCSI.
Filesystem.
Network.
Modules.
Če si pri konfiguraciji kernela pozabil nekaj pomembnega, si to zelo hitro ugotovil.
In takrat smo se naučili enega najpomembnejših pravil:
starega delujočega kernela ne briši, dokler nisi popolnoma prepričan, da novi dela.
Če pa je šlo vse po načrtih, si na koncu zagledal:
login:
Samo šest znakov.
Ampak kakšen dober občutek je bil to.
Dela.
In nisi vedel samo, da dela.
Precej dobro si vedel tudi, zakaj dela.
Diamond Stealth 3D 2000 in XFree86
V računalniku sem imel Diamond Stealth 3D 2000.
Diamond je bil takrat pojem.
Ampak dobra grafična kartica še ni pomenila, da bo Linux ob zagonu prijazno napisal:
»Našel sem grafično kartico in monitor. Vse sem uredil.«
Imel si XFree86.
In imel si:
/etc/X11/XF86Config
Če si hotel grafično okolje, si moral poznati grafično kartico.
In monitor.
In resolucije.
In horizontalno frekvenco.
In vertikalno frekvenco.
Nastavil si konfiguracijo in zagnal X.
Potem pa …
Črn ekran?
Popačena slika?
Napačna resolucija?
Ali pa namizje?
Če si dobil lepo sliko v pravi resoluciji, je bil to že skoraj praznik.
Potem sem kupil SGI monitor
Ker očitno vse skupaj še ni bilo dovolj zapleteno, sem si omislil še SGI monitor.
Silicon Graphics.
Že samo ime SGI je takrat pomenilo nekaj posebnega.
Njihove delovne postaje so predstavljale tisti nekoliko eksotični svet profesionalne 3D grafike, vizualizacij in Unixa.
Imeti SGI monitor na mizi je bilo preprosto kul.
Problem je bil samo eden.
Priklop.
Monitor ni imel običajnega priklopa, s katerim bi ga preprosto priključil na mojo Diamond kartico.
Diamond Stealth 3D 2000 in SGI se nista ravno razumela.
Rešitev?
Matrox Millennium II.
Z Matroxom je SGI monitor končno deloval.
Danes bi verjetno v dveh minutah na internetu našel adapter, ga naročil in naslednji dan pozabil na celotno zgodbo.
Takrat si moral ugotoviti, kakšen signal monitor sploh pričakuje, katera grafična kartica ga zna poganjati in kako vse skupaj nato nastaviti še v XFree86.
Ko si na koncu dobil sliko, si bil nanjo skoraj osebno ponosen.
Window Maker – moj Linux desktop
Ko je XFree86 končno deloval, je bilo treba izbrati še nekaj, v čemer boš dejansko delal.
Meni je bil daleč najljubši Window Maker.
Še danes ima zame poseben čar.
Bil je lahek, hiter, drugačen in je imel tisti značilen videz, navdihnjen z NeXTSTEP-om.
Ni poskušal biti Windows.
Ni poskušal skrivati Unixa pod desetimi plastmi grafike.
Bil je preprost.
In bil je hiter.
Na Pentiumu 90 je bila beseda hiter nekoliko pomembnejša kot danes.
Window Maker je imel tiste značilne dock appe, menije in zelo prepoznaven način dela. Sistem ni porabljal večine računalnika samo zato, da ti je lahko prikazal namizje.
Pozneje sem uporabljal tudi IceWM.
Tudi pri njem mi je bila všeč ista filozofija:
majhen, hiter in brez nepotrebne navlake.
Takrat smo dejansko gledali, koliko RAM-a porabi window manager.
Danes lahko en sam zavihek v brskalniku porabi več pomnilnika, kot ga je imel takrat celoten računalnik.
Potem so Nemci naredili KDE
Sredi devetdesetih se je začelo govoriti o nečem novem.
KDE.
Projekt je leta 1996 začel nemški razvijalec Matthias Ettrich, leta 1998 pa je izšel KDE 1.0.
In KDE je pomenil precejšen premik.
Do takrat je bil Linux desktop zame predvsem:
XFree86 + window manager + terminal + nekaj X aplikacij.
KDE pa je želel iz vsega skupaj narediti pravo, povezano namizno okolje.
Panel.
Meni.
File manager.
Terminal.
Nadzorna plošča.
Aplikacije z enotnim videzom.
Danes se to sliši povsem samoumevno.
Takrat ni bilo.
Prvič si lahko resno pogledal Linux in pomislil:
Mogoče bo nekoč to uporabljal tudi človek, ki ga prav nič ne zanima vsebina /etc/X11/XF86Config.
Sam sem imel Window Maker še vedno zelo rad.
KDE pa je pokazal, kam se Linux namizje razvija.
US Robotics in zvok interneta
Posebno mesto na moji takratni mizi je imel zunanji US Robotics modem.
US Robotics je bil takrat pojem.
Modem ni bil neka nevidna funkcija routerja.
Bil je naprava.
Škatla na mizi.
Serijski kabel.
Lučke.
Telefonska linija.
In seveda AT ukazi.
ATDT...
Internet si najprej poklical.
Dobesedno.
In tistega zvoka se verjetno spomni vsak, ki je takrat uporabljal modem.
Piskanje.
Šumenje.
Elektronsko pogajanje dveh modemov.
Potem tišina.
Povezan.
Internet si zato uporabljal drugače.
IRC.
Usenet.
FTP.
Mailing liste.
Dokumentacija.
Povezal si se, naredil, kar si želel, pobral kakšen paket in se odklopil.
Prenesti več deset megabajtov ni bilo nekaj, kar bi naredil brez razmišljanja.
Zato je bil tudi TriLinux CD tako dragocen.
IRQ, DMA, jumperji in /dev/hda
Takrat si poznal svoj računalnik.
In s tem ne mislim samo, koliko RAM-a ima.
Poznal si:
IRQ.
DMA.
I/O naslove.
COM1.
COM2.
Primary IDE.
Secondary IDE.
Master.
Slave.
Jumperje.
SCSI ID.
V Linuxu si poznal:
/dev/hda
/dev/hdb
/dev/sda
Vedel si, kaj je zapisano v /etc/fstab.
Če mrežna kartica ni delovala, si ugotovil, kateri čip uporablja.
Potem si ugotovil, kateri kernel modul potrebuje.
Če podpore ni bilo v tvojem kernelu?
No …
Kernel smo tako ali tako znali ponovno prevesti.
HOWTO namesto copy/paste
Mogoče je bila največja razlika v načinu reševanja problemov.
Danes imamo neverjetno količino informacij.
Kar je odlično.
Toda hkrati smo se navadili na:
najdi napako → kopiraj rešitev → prilepi ukaz → Enter.
Takrat si našel Linux HOWTO.
Networking HOWTO.
PPP HOWTO.
SCSI HOWTO.
Kernel HOWTO.
XFree86 HOWTO.
In si ga prebral.
Včasih celega.
Če nisi našel odgovora, si šel na Usenet, mailing listo ali IRC.
In ker ti nihče ni zagotavljal ukaza, ki bo čudežno rešil problem, si moral razumeti, kaj počneš.
To je bila odlična šola.
Linux te je prisilil razumeti računalnik
Ne trdim, da je bil Linux takrat boljši.
Ni bil.
Današnji Linux je tehnično neprimerljivo boljši.
Danes imamo fantastično podporo strojni opremi, virtualizacijo, containarje, Kubernetes, ZFS, Ceph, avtomatizacijo, cloud in infrastrukturo, o kateri smo na Pentiumu 90 lahko samo sanjali.
Danes z nekaj ukazi postavimo sisteme, za katere bi takrat potrebovali celo sobo računalnikov.
In prav je tako.
Nihče normalen si ne želi leta 2026 tri ure ročno konfigurirati kernela samo zato, da lahko reče, da uporablja »pravi Linux«.
Ampak nekaj smo vendarle izgubili.
Takrat te je Linux prisilil, da si razumel računalnik pod površjem.
Če ni delovala mreža, si se naučil nekaj o omrežjih.
Če ni deloval disk, si se naučil nekaj o particijah in filesystemih.
Če se kernel ni zagnal, si se naučil boot procesa.
Če ni deloval XFree86, si se naučil nekaj o grafičnih karticah, frekvencah in monitorjih.
Če SGI monitor ni deloval z Diamond Stealth 3D 2000, si moral ugotoviti zakaj.
In tako je v računalniku pristal Matrox Millennium II.
Vsak problem je bil majhna šola.
Od Pentiuma 90 do današnjih Linux sistemov
Od Pentiuma 90, TriLinux CD-ja, Slackwara, zgodnjega Red Hata, Debiana 2.1, Diamond Stealth 3D 2000, Matrox Millennium II, SGI monitorja, Window Makerja, IceWM-a, prvih različic KDE in US Robotics modema je minilo skoraj tri desetletja.
Vmes se je spremenilo skoraj vse.
Procesorji se ne merijo več v desetinah MHz.
Internet ni nekaj, na kar se priklopimo.
Linux ne živi več samo na računalnikih zanesenjakov.
Poganja strežnike, telefone, televizorje, routerje, avtomobile, superračunalnike in ogromen del interneta.
Iz enega fizičnega strežnika smo prišli do virtualnih strojev, containerjev in celih clusterjev, ki jih upravljamo kot eno infrastrukturo.
Ampak nekaj je ostalo enako.
Še danes, ko napišem:
ssh root@server
in se pred mano pojavi utripajoč kurzor, je v tem nekaj domačega.
Mogoče zato, ker sem se Linuxa učil v času, ko ni bilo dovolj vedeti, kam klikniti.
Moral si vedeti, kaj se dogaja.
In predvsem:
zakaj stvar dela.
Samo še tole popravim …
Linux takrat ni bil samo operacijski sistem.
Bil je hobi.
Bil je laboratorij.
Bil je učilnica.
Bil je razlog, da si razstavil računalnik.
Bil je razlog, da si bral dokumentacijo, čeprav te nihče ni silil.
In velikokrat je bil tudi razlog, da si ob enajstih zvečer rekel:
»Samo še tole popravim, potem grem spat.«
Ob polnoči še ni delalo.
Ob enih si našel razlog.
Ob dveh si ponovno kompajlal kernel.
Ob treh zjutraj pa:
login:
In si šel lahko končno spat.
Kernel je delal.
In naslednji dan?
Naslednji dan smo seveda našli nekaj novega, kar je bilo treba pokvariti.
Keri cajti 🙂