
Turinys
Slackware
Tai nemokama atvirojo kodo operacijų sistema, paremta Linux branduoliu.Tai yra viena pirmųjų sistemų pradėjusių naudoti Linux branduolį ir vienintelė iš jų aktyvi iki šiol. Slackware sukūrė Patrikas Volkerdingas 1993-iais metais, kaip privatų namų projektą, be jokių įsipareigojimų. Tam, kad šis užsiėmimas netaptų pernelyg rimtas, Patrikas davė jam humoristinį vardą, kuris prilipo projektui tapus rimtu. 2011-tais išleista naujausia stabili versija 13.37.
Slackware tikslai yra sistemos stabilumas, paprastumas, bei būti labiausiai Unix suderinama Linux operacijų sistema. Šiems tikslams pasiekti naudojami tekstiniai konfigūracijos failai, bei daroma kuo mažiau modifikacijų programinės įrangos paketams.
Dizaino Filosofija
Daug Slackware dizaino pasirinkimų gali būti KISS principo pavyzdžiais. Šiame kontekste "paprastumas" reiškia labiau administratoriaus požiūrį į sistemos dizainą, nei paprastumą naudojimui. Dauguma programinės įrangos naudoja konfigūracijos mechanizmus pateiktus originalių autorių; yra viso labo keli konfigūracijos mechanizmai, būdingi šiai distribucijai. Dėl šios priežasties yra taip mažai grafinių sistemos konfigūravimui skirtų įrankių. Rezultate, vartotojai neturintys darbo komandine eilute patirties, gauna kur kas statesnę mokymosi kreivę.
64-ių bitų Slackware versija, norint supaprastinti sistemą, yra pateikiama be 32-jų bitų suderinamumo bibliotekų. Šio sprendimo privalumas, kaip jau minėta, sistemos paprastumas, bei greitaveika (paketai kompiliuojami pagal x86_64 instrukcijas). O trūkumas tas, kad neveiks kai kurios komercinės programos, kaip skype ar flash. Todėl yra neoficialios multi-bibliotekos kurias įsidiegus, galima naudoti ir 32-jų bitų programinę įrangą.
Sistemos Paleistis
Tam, kad sistemai besikraunant būtų paleistos jos darbui reikalingos tarnybos, reikalingi paleisties skriptai. Skirtingai negu dauguma kitų Linux operacinių sistemų, Slackware naudoja BSD stiliaus, RC paleisties skriptus, kadangi šie yra gerokai paprastesni naudoti ir prižiūrėti, nei Linux System-V-Init skriptai ir todėl labiau suderinami su Slackware dizaino filosofija.
Pati pirmoji programa paleidžiama sistemai startuojant, po Linux kernelio, yra init. Ši programa nuskaito /etc/inittab failą, kuriame aprašyta kaip sistemai reikia startuoti. Tuomet paleidžiamas /etc/rc.d/rc.S skriptas, skirtas paruošti sistemą konkrečiam paleisties lygiui. Šis skriptas yra atsakingas už virtualios atminties įjungimą, failų sistemų aktyvavimą, tam tikrų log direktorijų išvalymą, taip pat Plug and Play aparatinės įrangos aktyvavimą, kernelio modulių prijungimą bei System-V-Init skriptų paleidimą (jeigu tokių yra sistemoje). Atrodo daug pareigų kaip vienam skriptui, ar ne? Todėl rc.S kreipiasi į seriją kitų skriptų.
Paleisties Skriptai
RC paleisties skriptai yra kelių tipų: skirti sistemos paleidimui, paleisties lygiams nustatyti, tinklo posistemiui paleisti bei įvairių pagalbinių tarnybų paleidimui. Visi šie skriptai laikomi /etc/rc.d/ direktorijoje:
- rc.S - Pagrindinis paleisties skriptas.
rc.modules - Prijungia kernelio modulius, jeigu randa, įvykdo rc.netdevice.
- rc.pcmcia - Aptinka ir paruošia naudojimui PCMCIA įrenginius.
- rc.serial - Paruošia serial portus.
- rc.sysvinit - Ieško System-V init skriptų, jeigu randa - įvykdo.
Skriptai paleisties lygiams nustatyti:
- rc.0 - Išjungtia sistemą (lygis: 0).
- rc.K - Paleidžia vieno naudotojo režimą (lygis: 1).
- rc.M - Paleidžia daugelio naudotojų režimą (multiuser) (lygiai: 2 ir 3), prisijungimas vyksta tekstinėje aplinkoje. Tai yra paleisties lygis naudojamas pagal nutylėjimą Slackware sistemoje.
- rc.4 - Paleidžia daugelio naudotojų režimą (multiuser) (lygis: 4), prisijungimas vyksta grafinėje X11 aplinkoje, per KDM, GDM, arba XDM.
- rc.6 - Perkrauna sistemą (lygis: 6).
Tinklo posistemio paleidimui skirti skriptai:
rc.inet1 - Sukurtas netconfig programos, atsakingas už tinklo prieeigos nustatymą.
rc.inet2 - Startuoja po rc.inet1 ir paleidžia pagrindines tinklo tarnybas.
rc.atalk - Paleidžia AppleTalk tarnybas.
- rc.httpd - Paleidžia Apache web serverį. Gali būti panaudotas ir perkrovimui arba sustabdymui, nes priima stop, start arba restart argumentus.
- rc.news - Paleidžia naujienų serverį.
Kiti paleisties skriptai:
- rc.gpm - Paleidžia bendros paskirties pelės tarnybas, kurios leidžia kopijuoti ir įklijuoti tekstą Linux tekstinėje aplinkoje. Kartais gali sukelti problemų naudojant grafinėje aplinkoje. Tokiu atveju, šiam reikia nuimti vykdymo leidimą.
- rc.font - Nustato tekstinės aplinkos raidžių stilių.
- rc.local - Šiame faile laikomos specifinės paleisties komandos, įrašytos sistemos administratoriaus. Iškart po idiegimo būna tuščias.
Programos, kurioms reikalingos tarnybos, turi savo paleisties skriptus. Kaip ir visi kiti, laikomi /etc/rc.d/ direktorijoje, turi priedėlį rc. ir kartais raidelę d (daemon) pabaigoje. Keli pavyzdžiai:
- rc.wicd - wicd programos tarnyba.
- rc.mysqld - Mysql duomenų bazės tarnyba.
Visus, šiuo metu esančius sistemoje, paleisties skriptus galima pamatyti terminale įrašius komandą:
ls -l /etc/rc.d
Paleisties Valdymas
Šitokia gausybė įvairiausių skriptų reikalauja administratoriaus dėmesio. Juk sistema veiks labai lėtai, jeigu paleis visas tarnybas, todėl administratoriui reikia nuspręsti kokios tarnybos turi būti aktyvios nuolat, kurias užtenka paleisti retkarčiais, o kurios ir visai nereikalingos. Slackware pateikia tris paleisties valdymo įrankius kuriais galima maksimaliai valdyti sistemos ir tarnybų paleistį: Unix leidimų sistema, skriptų argumentai ir konfigūracijos failai.
Apie Unix leidimų sistemą manau, nereikia pasakoti. Žinome, kad yra toks leidimas x (vykdyti). RC skriptų sistemai jis labai svarbus. Jeigu rc.wicd turi leidimą x, reiškia sistemos paleidimo metu bus įvykdytas, jei neturi - nebus. Paprastas būdas leidimui x uždėti bei nuimti:
chmod +x /etc/rc.d/rc.wicd chmod -x /etc/rc.d/rc.wicd
čia + leidimą prideda, - leidimą nuima. Pažiūrėti esamus leidimus galima panaudojus komandą ls -l /etc/rc.d/:
$ ls -l /etc/rc.d/ total 352 drwxr-xr-x 2 root root 4096 2011-04-10 17:13 init.d lrwxrwxrwx 1 root root 4 2011-03-04 12:02 rc.0 -> rc.6 -rwxr-xr-x 1 root root 1473 2011-02-27 00:06 rc.4 -rwxr-xr-x 1 root root 7425 2010-03-19 22:14 rc.6 -rwxr-xr-x 1 root root 2425 2008-12-02 18:31 rc.K -rwxr-xr-x 1 root root 10936 2011-03-03 18:55 rc.M -rwxr-xr-x 1 root root 14238 2010-03-19 22:14 rc.S -rwxr-xr-x 1 root root 552 2010-05-19 00:55 rc.acpid -rwxr-xr-x 1 root root 2672 2010-04-30 04:54 rc.alsa -rw-r--r-- 1 root root 1032 2010-02-19 18:05 rc.atalk -rw-r--r-- 1 root root 2784 2010-03-05 23:54 rc.autofs -rw-r--r-- 1 root root 3116 2008-04-13 19:48 rc.bind -rw-r--r-- 1 root root 497 2010-05-02 06:41 rc.bluetooth -rwxr-xr-x 1 root root 4318 2010-05-17 05:52 rc.cups -rw-r--r-- 1 root root 512 2010-02-12 23:45 rc.dnsmasq -rw-r--r-- 1 root root 119 2010-04-30 04:39 rc.font -rwxr-xr-x 1 root root 1893 2010-02-12 22:52 rc.fuse
Pagal išvestį matyti, jog rc.fuse, rc.alsa ir panašūs turi x leidimus, todėl yra paleidžiami kas kart sistemai startuojant. O štai rc.bind, rc.bluetooth x leidimų neturi, tai reiškia yra neaktyvūs.
Skriptas turintis leidimą x, gali būti realiu laiku valdomas argumentais: start, restart, stop (paleisti, perleisti, sustabdyti). Pavyzdžiui:
/etc/rc.d/rc.wicd start
- Paleis wicd tarnybą.
Kai kurie paleisties skriptai turi ir konfigūracijos failus tuo pačiu pavadinimu. Kaip rc.wireless.conf:
rc.wireless rc.wireless.conf
Galūnė .conf reiškia, jog failas yra skirtas konfigūravimui. Redaguojant šį failą yra valdomas rc.wireless tarnybos darbas.
Programų Paketai
Kaip ir didžiosios daugumos kitų operacinių sistemų, taip ir Slackware standartinis programų rinkinys netinka visiems ir viskam. Ir tai nieko nuostabaus, nes kiekvienas žmogus kompiuteriu naudojasi vis kitaip ir vis kitokiems poreikiams. Todėl reikalingos įvairios pagalbinės programos ir būdai joms gauti, įdiegti ir šalinti, kai tampa nebereikalingos. Slackware naudojami .tgz/.txz programų paketai-archyvai. Kaip įsitikinsite vėliau, tai įgalina labai greitą ir paprastą programų diegimą: užtenka viso labo išskleisti paketą į šakninę direktoriją, o iškleidimo procesui palengvinti yra įrankiai, kurie tai automatizuoja.
O ką daryti, kai reikia pašalinti programas iš sistemos? Ne bėda, /var/log/packages duomenų bazėje yra saugomi įrašai apie įdiegtus programų paketus, kiekvienam paketui priklausančius failus ir jų buvimo vietą. Todėl įvykdžius komandą, skirtą paketui šalinti, pagal įrašus šioje duomenų bazėje failai yra pašalinami iš sistemos. Vėl gi, paprasta ir švaru. Naudotojui belieka apsispręsti, ką daryti su programos konfigūracijos failais: palikti ar pašalinti.
Paketų Sandara
Paketas susideda iš dviejų dalių: programos failų, ir failų reikalingų Slackware paketų valdymo sistemai. Programų failai suspausti taip, kad išskleidus paketą į root direktoriją, patektų į atitinkamas direktorijas. Kiti failai, padedami į /install direktoriją, esančią pakete.
slack-desc ir doinst.sh failai yra dažniausiai sutinkami /install direktorijoje. Šie failai paketo diegimo metu nėra išskleidžiami į failų sistemą. slack-desc yra paprastas tekstinis failas, kuriame laikomas programinės įrangos aprašymas, naudojamas paketų peržiūros metu. doinst.sh yra Shell skriptas kurio paskirtis - įvykdyti komandas ar atlikti sistemos pakeitimus, kurie negali būti padaryti koreguojant paketo turinį. Diegiant paketą šis failas vykdomas pats paskutinis.
Slackware paketai sukuriami kompiliuojant išeities kodus ir gautas programas talpinant į paketą, kurio diegimo metu programa padedama į atitinkamą sistemos direktoriją. Linux operacijų sistema susideda iš daugybės tokių paketų ir kompiliuoti bei paskui palaikyti ir sekti visus šiuos paketus iš išeities kodų yra be galo sudėtinga ar net vargiai įmanoma (patys galite įsitikinti pamėginę pasidaryti savo LFS (Linux operacijų sistemą)). Todėl šiam procesui palengvinti naudojami SlackBuild skriptai, kuriuose surašytos komandos bei parametrai, reikalingi programos kompiliavimui bei paketo sudarymui. Turint SlackBuild skriptą ir aukščiau minėtus slack-desc ir doinst.sh failus, galime gauti pilnai paruoštą diegimui Slackware paketą. Vos tik paleidus SlackBuild skriptą, programos išeities kodai automatiškai parsiunčiami, išskleidžiami, kompiliuojami. Gauta programa talpinama į paketą drauge su slack-desc bei doinst.sh ir gautas paketas padedamas /tmp direktorijoje. Patogu, tiesa?
Paketų Valdymas
Slackware paketų valdymo sistema susideda iš viso labo keturių programų: installpkg - įdiegti paketą, upgradepkg - atnaujinti paketą, removepkg - pašalinti paketą bei pkgtool - ncurses meniu įrankis paketų peržiūrai ir valdymui. Šitokiu būdu, paketai gali būti įdiegiami, atnaujinami, bei šalinami iš vietinių laikmenų. Skirtingai nuo daugumos paketų valdymo sistemų, ši neseka ir nevaldo programų priklausomybių. Tai - naudotojo pareiga. Jis turi pasirūpinti, kad visos programai reikalingos bibliotekos bei pagalbinės programos būtų įdiegtos.
Be minėtų *pkg programų, egzistuoja ir dar keli paketų valdymo būdai.:
Kai kurie iš jų nėra visiškai oficialiai palaikomi, tad naudodami juos, rizikuojate sistemos stabilumu, savo bei visuomenės gerove.
Slackpkg
Įrankis skirtas diegti paketams tinklu/internetu iš oficialių Slackware repozitorijų. Bet galimybės tuo nesibaigia. Slackpkg taip pat sėkmingai moka sekti, parsiųsti ir įdiegti sistemos pataisymus, naujus paketus ir išvalyti Slackware nuo visų neoficialių paketų. Taip pat labai praverčia norint atnaujinti Slackware į naujesnę versiją bei diegiant minimalią sistemą. Be to, šis įrankis dirba taip patikimai, kad yra įtrauktas ir į oficialų Slackware paketų medį, todėl šiuo metu priskiriamas prie oficialių Slackware paketų valdymo įrankių.
SBopkg
Šis įrankis nėra skirtas darbui su oficialiais paketais, tačiau yra labai populiarus Slackware naudotojų tarpe. Sbopkg yra nedidelė programa - įrankis, skirtas SlackBuild skriptų parsiuntimui iš Slackbuilds.org skriptų repozitorijos, kurioje yra laikomi visi neoficialūs SlackBuild skriptai, skirti įvairiausioms programoms, kurios nepatenką į oficialų Slackware programų rinkinį. Kadangi SlackBuild skriptai naudojami oficialių paketų gavimui, tai kodėl jų nepanaudojus ir kitų programų paketams gauti?
Kur Gauti Slackware?
Slackware parduotuvėje - Taip, Slackware yra nemokama operacinė sistema, tačiau Slackware komanda deda labai daug pastangų, kad mes gautumėm puikią sistemą, tad perkant Slackware diskus iš šios parduotuvės, paremiame šiuos žmones.
Atsisiųsti Slackware ISO atvaizdus rekomenduojama naudojantis torrent tinklais. Arba iš ftp serverių.
Slackware Nuorodos
Naudingos nuorodos anglų kalba, apie Slackware operacijų sistemą:
http://slackware.com/ - Oficiali Slackware svetainė.
http://www.linuxquestions.org/questions/slackware-14/ - Aktyviausias Slackware forumas, čia didžiausia tikimybė rasti pagalbos įvairiais Slackware kasdienybės klausimais.
http://www.slackbook.org/ - Slackware knyga, rekomenduojamas skaitinys ne tik šviežiam Slackware naudotojui, bet ir žmogui, norinčiam artimiau susipažinti su Linux sistemomis.
http://slackwiki.org/Main_Page - Neoficialus Slackware wiki. Reikia turėti galvoje, jog informacija čia, gali būti šiek tiek pasenusi.
http://slackbuilds.org/ - Slackbuild skriptų repozitorija, puikus papildomos programinės įrangos šaltinis.
http://slackwiki.org/Third_Party_Package_Managers - Plačiau apie neoficialias paketų valdymo sistemas.
Panašūs puslapiai
- Distribucijos
- Slackware
- Slackware/PirmiejiŽingsniai
- Slackware/SBopkg
- Straipsniai
- Straipsniai/DideliųGarsoBylųKarpymasPagalCue
- Straipsniai/ProgramųKompiliavimas
- naujienos/2007-11-18/Po_1211_dienų_-_XMMS_1.2.11
- naujienos/2008-02-17/Taupus,_žalias_ir_atviras_AK
- naujienos/2011-03-12/Nauja Slackware 13.37 jau greitai!
- naujienos/2011-12-18/Slackware - Pirmieji Žingsniai