ot Nick Angelow(10-09-2004)

reiting (32)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

KONTSEPTSIQTA ZA OSNOVATA NA LINUX

http://unix.ginras.ru/linux/base000.html

Aleksei Fedorchuk



SUDURZHANIE

UVOD

Predi da zapochnem instalatsiiata, e neobhodimo da iziasnim ot kakvo se sustoi Linux kato operatsionna sistema. Po tozi vupros sushtestvuvat dve kraini gledni tochki. Ot edna strana, Linux se razglezhda kato iadro na operatsionnata sistema. I tova e taka, tui kato imenno razrabotenoto ot nego iadro, Linus Torvalds, koito pritezhava avtorskite prava nad nego, naricha Linux.. Samo che, niama iadro, kolkoto i suvursheno da e, koeto samo po sebe si da e sposobno da reshi dazhe i nai-obiknovenata potrebitelska zadacha.

Ot druga strana, v statiite i knigite za Linux, v nego chesto se vklyuchva vsichko, koeto mozhe da se nameri na mnogodiskovite distributsii, prodavani pod tova ime, vklyuchitelno i grafichniiat potrebitelski interfeis X-Window, integriranite sredi ot tipa na KDE i Gnome i tehnite prilozheniia. No sam po sebe si, X-Window niama otnoshenie ne samo kum Linux, no dazhe i kum Unix sistemite vuobshte (s izklyuchenie na tova, che e sposoben da raboti pod upravlenieto na vsiaka ot tiah). A integriranite sredi i menidzhurite na prozortsi sa samo dopulneniia (makar i neobhodimi) kum nego. SHTo se otnasia do vklyuchvanite v distributsiite prilozheniia – nad 90% ot tiah sa obshto dostoianie na vsichki svobodni operatsionni sistemi.

Za da opredelim ot kakvo se sustoi Linux, neka si zadadem vuprosa, kakvo mu e nuzhno, za da mozhe da funktsionira.

Purvo, razbira se, tova e iadroto. Vtoro – sredstvata za negovoto zarezhdane, nabori ot skriptove za nachalno zarezhdane (startovi skriptove) i instrumenti za poddruzhka na failovata sistema, po-tochno sistemi – v Linux se poddurzhat niakolko failovi sistemi, koito s pulno pravo mogat da se schitat za vrodeni.

Sled tova idva red na edna obshta za sistemata biblioteka i pone edna terminalna biblioteka. Sled tova sledvat kompilatora i sredstvata za negovata poddruzhka (linker, asembler i t. n.) i produlzhavame s potrebitelskite sistemni programi za rabota s failove i tekst. I nakraia stigame do komandnata obvivka, osiguriavashta upravlenieto na tsialoto tova mnozhestvo ot programi, kakto i niakakuv tekstov redaktor za konfigurirane na sistemata.

S iadroto na Linux vsichko e iasno – imenno nego go suzdavat Linus Torvalds i sutrudnitsite mu. Vsichki ostanali komponenti, makar i teoretichno da mogat sa imat promenliv sustav, sa otdavna opredeleni ot traditsiiata – tova sa taka narechenite sredstva, razraboteni v ramkite na proekta GNU [1] i podobnite mu, sustoiashti se ot:

  • biblioteki – sistemnata glibc i terminalnata ncurses;

  • kompilatora gcc i sredstvata za osiguriavane na negovata rabota (narecheni binutils i bin98), a sushto taka i dopulnitelni (no prakticheski neobhodimi)komponenti kato make, automake i autoconfig;

  • razlichni pomoshtni programi [2] s razlichno prednaznachenie – fileutils, findutils, textutils, arhivatori i kompresori, programi ot tipa na grep, awk, sed i t. n. – vsichko tova se okazva obhvanato ot poniatieto klasicheski Unix ili GNU-programi (chestno e da otbelezhim, che niakoi ot tezi programi niamat nikakvo otnoshenie kum proekta GNU).

  • komandnata obvivka bash [3], izpulniavashta v Linux roliata na sistemna obvivka – osven vsichko drugo, imenno tia e otgovorna za interpretatsiiata na startovite skriptove.

Ako razsuzhdavame teoretichno, realizatsiiata na izbroenite komponenti mozhe da bude razlichna. Sushtestvuvaha (a e vuzmozhno i oshte da sushtestvuvat) distributsii na Linux, v koito kato osnoven kompilator se izpolzvashe ne gcc, a egc ili pgcc. Terminalnata biblioteka mozhe da bude, ako ne smenena, to pone dopulnena s niakakva druga. Komandniiat interpretator bash mozhe da se smeni s vseki shell suvmestim (po-tochno kazano, s vseki sposoben da emulira mitichniiat POSIX-shell). No v kachestvoto na kanonichen minimalen nabor za Linux, mozhe da se razglezhda tova, koeto Gerard Beekmans e vklyuchil v svoiata distributsiia Linux from Scratch (LFS).

Triabva da otbelezhim, che vsichki komponenti ot tazi distributsiia ot edna strana sa tolkova obvurzani pomezhdu si, che ot neia prakticheski ne mozhe da se premahne nishto. Ot druga strana, sudurzhashtata gi sistema e sposobna ne samo da se zaredi, no i da izpulniava potrebitelski zadachi, niakoi ot koito ne suvsem elementarni. Osobeno, ako se dopulni s dve-tri prilozhni programi. Osven tova, tazi distributsiia (s vklyuchvaneto na sredstva za razrabotka) pritezhava potentsial za praktichesko neogranicheno uvelichavane na funktsionalnostta. Poradi tezi prichini, LFS (plyus niakolko programi, koito shte spomena sled malko) mozhe da se razglezhda kato osnova na linux (base linux). Tia vklyuchva v sebe si:

  • iadroto na sistemata;

  • sredstva za poddruzhka – programi za nachalno zarezhdane i failovi sistemi;

  • sredstva za boino osiguriavane – programi ot proekta GNU, kakto i niakoi drugi programi;

  • sredstva za tilovo osiguriavane – sistemnite biblioteki;

  • absolyutno neobhodimi prilozheniia;

  • sredstva za lokalizatsiia;

  • sredstva za kompilirane na vsichko izbroeno dotuk (kompilatori etc)

Izhodniiat kod na vsichko tova mozhe da bude nameren v pochti vsiaka pulna distributsiia na Linux. No mozhe i prosto da izteglite poslednite (ili nai-udachnite) versii na izbrani komponenti ot originalnite im saitove.

QDRO

Razprostraneno e mnenieto, che iadroto na Linux e edno edinstveno. Tova e taka, no ne suvsem. Deistvitelno, iadroto na Linus e kanonichno. No osven nego, sushtestvuvat oshte iadra na maintainers (nai-izvestnoto ot tiah e iadroto na Alan Koks) i iadra na razlichni distributori. Razbira se, v osnovata na vsichki tiah lezhi kanonichnoto iadro, no s razlichni krupki, otgovorni za realizatsiiata na dopulnitelni funktsii.

Mestopolozhenieto na kanonichnoto iadro Linux, kakto mozhe da se dosetite, e ne niakude drugade, a na www.kernel.org. V nastoiashtiiat moment ima smisul da se razglezhda iadro 2.4.19 ili pri nalichie na sklonnost kum eksperimentirane – razrabotvaniia klon 2.5.hh. Ima smisul da se zapasite s niakolko iadra i po metoda na probite i greshkite da izberete nai-podhodiashtoto. V chastnost, poddurzhaneto na failovata sistema XFS (a v razdela za failovite sistemi imenno tia shte bude preporuchana za upotreba) se osiguriava s iztegliane na krupki ot saita na SGI. Makar, che v razrabotvaniia klon, poddruzhkata na XFS e vklyuchena kato standartnata funktsiia.

SREDSTVA ZA PODDURZHANE

Kato takiva shte razgledame programite za nachalno zarezhdane, sredstvata za poddurzhane i rabota s failovite sistemi. Ot programite za nachalno zarezhdane vnimanie zasluzhavat dva – klasicheskiiat Lilo i GRUB. Purviiat, kakto stava iasno ot imeto mu, e traditsionniiat za Linux, dobre spraviasht se ne samo s neia, no i s mnogo drugi (v tova chislo i s proizvolen Windows) operatsionni sistemi. Dokumentiran e dobre na mnogo iztochnitsi, kakto i se namira na mnogo i razlichni survuri, naprimer tuk. GRUB ima vsichki shansove da se prevurne v standart za svobodnite operatsionni sistemi. Za razlika ot povecheto multisistemni programi za nachalno zarezhdane, toi ne samo predava upravlenieto “po verigata” na suotvetniiat sektor za zarezhdane, no mozhe da raboti s nemontirani failovi sistemi (nezaredeni operatsionni sistemi), osiguriavaiki zarezhdaneto ot tiah na iadroto na suotvetnata sistema. Mezhdu drugoto, pri nevuzmozhnost da napravi tova, GRUB e sposoben i na zarezhdane “po veriga”. Toi mozhe da bude izteglen ot saita na proekta.

Nai-vazhnite programi za poddurzhane na Linux sa obedineni v paket, koito se naricha po sushtiia nachin – util-linux. V nego vlizat mnozhestvo komandi (agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize kill, line, logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.minix, mkswap, more, mount, namei, pivot_root, ramsize, raw, rdev, readprofile, rename, renice, rev, rootflags, script, setfdprm, setsid, setterm, sfdisk, swapoff, swapon, tunelp, ul, umount, vidmode, whereis, write), prednaznacheni za suzdavane na dialove na diska (fdisk, cfdisk), suzdavane (mkswap), aktivirane i deaktivirane na swap-dialove (swapon/swapoff), montirane i demontirane na failovi sistemi (mount/umount) i oshte mnogo drugi. Silno preporuchitelno e, versiiata na util-linux da otgovaria na versiiata na iadroto na sistemata. Tova mozhe da se sledi na sushtiia sait – kernel.org.

Vzaimodeistvieto mezhdu modulite na iadroto se osiguriava ot paketa modutils, strogo obvurzan s versiiata na iadroto (za klon 2.4 na iadroto mozhe da se vzeme ot tuk). Tozi paket vklyuchva komandi (depmod, genksyms, insmod, insmod_ksymoops_clean, kallsyms, kernelversion, ksyms, lsmod, modinfo, modprobe and rmmod), prednaznacheni za zarezhdane i premahvane na moduli, za opredeliane na tehnite zavisimosti i t. n.

Sredstvata za poddurzhane na failovata sistema (ili sistemi) vklyuchvat v sebe si programi za tiahnoto suzdavane (kazano s terminite na DOS/Windows – za tiahnoto formatirane), za proverka na tiahnata tsialost, za fino nastroivane, rezervno kopirane i t. n. Za klasicheskata failova sistema na Linux, ext2fs, tozi nabor se kazva ext2fsprogs i mozhe da se nameri na tozi adres. V nego vlizat slednite programi:

  • badblocks za namirane na povredeni blokove vurhu diskovite ustroistva;

  • chattr za smiana na atributite na faila;

  • dumpe2fs za suzdavane na dump na diska;

  • ext2fs, mke2fs i mkfs.ext2 za suzdavane na diskovi dialove na failovata sistema (t.e za formatirane na dialovete);

  • e2fsck, fsck i fsck.ext2, osushtestviavat proverka na tsialostta na failovata sistema;

  • e2image za suzdavane na obraz na failovata sistema vuv vid na fail;

  • e2label za suzdavane na etiketi (tablitsi na razdeliane) na diska;

  • tune2fs za nastroivane na burzodeistvieto na failovata sistema.

kakto i oshte niakolko programi (compile_et, debugfs, lsattr, mk_cmds, mklost+found, uuidgen). Reditsa programi ot paketa poddurzhat sushto i zhurnalniia variant na failovata sistema na Linux – ext3fs (mke2fs, fsck, ext3), a resize2fs poddurzha i ReiserFS. No po printsip, za neia, kakto i za drugata zhurnalna failova sistema – XFS, sa neobhodimi sobstveni paketi.

V purviia sluchai, tova shte bude reiserfsprogs, vklyuchvasht:

  • mkreiserfs za suzdavane na failovata sistema ReiserFS;

  • reiserfsck za proverka na neinata tsialostnost;

  • resize_reiserfs za promiana na razmera i demontirane;

  • a sushto taka unpack i debugreiserfs.

Za poddurzhane na XFS e neobhodim tsial kompleks ot programi:

  • acl [4] za dopulnitelni sredstva za upravlenie na dostupa do failovete;

  • attr za izpolzvane na razshirenite atributi na failovete;

  • dmapi;

  • xfsdump za rezervno kopirane;

  • xfsprogs za suzdavane i upravlenie na failovata sistema XFS.

Vsichki tezi programi mogat da budat namereni (v tova chislo i kato izhoden kod) v suotvetniia razdel na saita SGI.

Mezhdu drugoto, absolyutno neobhodima ot tozi spisuk e samo poslednata programa, xfsprogs, bez ostanalite mozhe da se spravim.

Oshte edin komponent ot instrumentite za poddruzhka – tova sa sredstvata za startirane i spirane na sistemata. Te sa obedineni v paketa sysvinit. Imenno toi osiguriava initsializatsiiata na protsesite (init), osushtestviavane na nivoto na izpulnenie (runlevels), upulnomoshtavaneto na potrebitelite, a sushto taka i predavaneto na signalite na izpulniavanite protsesi (v tova chislo i tezi, koito vodiat kum restartirane ili spirane). Osven tova, za startiraneto na pulnofunktsionalna sistema se iziskvat i niakoi skriptove za initsializatsiia, no te sa tolkova zavisimi ot konkretnata sistema, che shte se vurnem kum tazi tema po-kusno. Oshte poveche, che te mozhe da se napishat (ili pone korigirat) i ruchno – tova sa normalnite skriptove na obvivkata.

Neposredstveno otnoshenie kum startiraneto na sistemata i upulnomoshtavaneto ima paketa shadow, prednaznachen za upravlenie na potrebitelskite paroli. Za upravlenie na sistemniia zhurnal se izpolzva paketa sysklogd, vklyuchvasht v sebe si klogd – sistemniia demon za zapisvane na suobshteniiata ot iadroto, i syslogd.

Osven tova, neobhodimi sa sredstvata za poddurzhane na virtualnata failova sistema proc, osiguriavashta izobrazhenieto na protsesite – procinfo, procps i sredstvoto za translatsiia devfsd na failovata sistema devfs, ako ima zhelanie da se izpolzva takova.

Kum sushtata grupa spada i paketa psmisc, prednaznachen za sledene na protsesite v sistemata. V nego vlizat komandite:

  • fuser, izvezhdashta na ekran identifikatorite na protsesite;

  • killall, prednaznachena za izprashtane na signali kum tiah;

  • pstree, pokazvashta startiranite protsesi vuv vid na durvo

Produlzhavaiki napred, kum sredstvata za poddruzhka mozhe da otnesem programite za rabota s konzolniiat draiver na Linux. V momenta se izpolzvat dva – kbd i console-tools. Purvata vklyuchva v sebe si mnozhestvo sredstva (chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap, mapscrn, openvt, psfaddtable, psfgettable, psfstriptable, psfxtable, resizecons, setfont, setkeycodes, setleds, setlogcons, setmetamode, setvesablank, showfont, showkey, unicode_start, unicode_stop), ot koito nai-vazhni sa:

  • loadkeys, prednaznachena za zarezhdane na klaviaturnite podredbi;

  • setfont za zarezhdane na ekrannite shriftove;

  • mapscrn za zadavane na suotvetstvieto mezhdu kodirovkite na klaviaturata i izvezhdanoto na ekrana.

Paketut programi console-tools ima suotvetnite sredstva – loadkeys i consolechars za upravlenie na vhoda i izhoda. Ochevidno e, che paketite kbd i console-tools ne se izklyuchvat vzaimno – prosto nalichieto na ediniia pravi izlishno instaliraneto na drugiia. Console-tools se schita za po-suvremenen, no i tekushtite versii na kbd osiguriavat, v chastnost rabota s kodirovkata Unicode i drugi aktualni sredstva., taka che izborut mezhdu tiah e vupros na vkus. Oshte poveche, che spomenatiiat po-dolu paket console-tools-cyrillic uspeshno raboti i s ednata, i s drugata programa.

Poslednoto ot sredstvata za poddruzhka – za poddurzhane na konzolna mishka, se osiguriava ot programata gpm. Tia se razglezhda tvurdo kato optsiia, no spored men niama nikakvi osnovaniia da se otkazvame ot dopulnitelnite udobstva, osiguriavani ot neia.

SREDSTVA ZA BOINO OSIGURQVANE

V tova poniatie vklyuchvam potrebitelskite programi, goliama chast ot koito sa razraboteni v ramkite na proekta GNU (i zatova obiknoveno narichani GNU utilities). Ot edna strana, te osiguriavat minimalna potrebitelska funktsionalnost na sistemata, a ot druga – imat sluzhebna (i absolyutno nezamenima) rolia v protsesa na neinoto kompilirane.

Na purvo miasto tuk triabva da slozhim komandnata obvivka – bez neia sa nevuzmozhni nikakvi deistviia, osven tova vsiako instalirane na sistemata se osushtestviava (priako ili posredstveno) chrez neinite komandi, kato interpretatora na komandite e neobhodim i za izpulnenieto na startovite skriptove pri zarezhdaneto na sistemata.

Traditsionno, kato takava obshta sistemna, komandna obvivka v Linux se izpolzva bash. Makar, che obiknoveno startovite skriptove v iaven vid se izvikvat ot niakakva obvivka /bin/sh, tova ne e nishto drugo, osven prepratka kum bash, kato pri tova, pod bash se razbira niakakuv virtualen POSIX-shell, koito ne sushtestvuva v prirodata. Vsiaka edna POSIX-shell obvivka, startirana po tozi nachin, poveche ili po-malko go emulira.

Obvivkata bash pritezhava mnogo dostoinstva, no izobshto ne e nai-suvurshenata. Purvoto miasto (pone v semeistvoto na shell-suvmestimite interpretatori) bih dal na obvivkata Z-shell. Tia sushto mozhe (i pri tova go pravi mnogo tochno) da emulira POSIX-shell i zatova e napulno podhodiashta za obshtosistemna obvivka. No v nachaloto pochti neizbezhno shte ni triabva i bash, taka che e po-dobre da se pogrizhim da poluchim i dvete obvivki. Tova mozhe da napravim suotvetno tuk i tuk.

Izhodniiat kod na vsichki programi, izbroeni dotuk (kakto i na vsichki drugi, za niakoi ot koito shte govorim po-kusno) sa dostupni v mrezhata v arhiviran (i kompresiran) vid, zatova purvoto, koeto shte e neobhodimo za tiahnoto instalirane – tova sa arhivatorite i kompresorite. Spisuka na purvite se ogranichava s programata tar, dokato kompresorite, koito sa ni neobhodimi sa ne po-malko ot dva: gzip i bzip2, tui kato tehnite formati sa nesuvmestimi (poniakoga arhivi ot tipa tar.Z mogat da budat razopakovani ot programata gzip).

Sled tova idva grupa paketi ot programi za rabota s failove. Purviiat, ot koito taka i se naricha – fileutils. V nego vlizat slednite programi:

  • chgrp, chmod i chown za upravlenie na atributite na failovete;

  • cp, dd i ln za prosto kopirane na failove, za kopirane s preobrazuvane i suzdavane na vruzki, a sushto install za kopirane s ustanoviavane na atributi;

  • touch, mkdir, mkfifo i mknod – sredstva za suzdavane suotvetno na reguliarni failove, direktorii, spetsialni failove i failove na ustroistva;

  • mv, rm, rmdir za preimenuvane/premestvane na failove, tiahnoto iztrivane, za iztrivane na direktorii;

  • ls, dir i vdir za pregled na spisutsite na failovete v direktoriite;

  • dircolors za ustanoviavane na tsvetovata shema;

  • df i du za izvezhdane na informatsiia za diskovoto prostranstvo;

  • shred [5];

  • sync – za sinhronizirane na failovi operatsii i sustoianieto na failovata sistema.

Osnovnoto prednaznachenie na paketa sh-utils e navigatsiia po failovite sistemi i poluchavane na obshta informatsiia za sistemata. V nego vlizat komandite basename, chroot, date, dirname, echo, env, expr, factor, false, groups, hostid, hostname, id, logname, nice, nohup, pathchk, pinky, printenv, printf, pwd, seq, sleep, stty, su, tee, test, true, tty, uname, uptime, users, who, whoami i yes.

Kum tiah smislovo se priblizhava i paketa za tursene na failove – findutils. V negoviia sustav vlizat:

  • find – prakticheski universalno sredstvo za tursene na failove i izpulnenie na raznoobrazni operatsii vurhu namerenite failove.;

  • xargs, izpolzvana obiknoveno zaedno s komandata find, pozvoliava da se prilozhat niakoi komandi kum spisuk ot failove;

  • locate – sredstvo za skanirane na bazata danni na failovata sistema s tsel opredeliane mestopolozhenieto na dadeni failove;

  • updatedb – sredstvo za obnoviavane na bazata danni na failovata sistema,izpolzvana ot komandata locate.

Osven tova, v paketa findutils vlizat sushto komandite bigram, code i frcode.

Kum sushtata grupa programni paketi mozhe da otnesem i komandata file. Tia pozvoliava da detailizirame tipa na reguliarniia fail (izpulnim, tekstov i t. n.) po taka narechenata “magicheska posledovatelnost” ot baitove v negovoto nachalo.

Sledvashtiiat programen paket e prednaznachen za rabota sus sudurzhanieto na failovete (imat se predvid tekstovi failove). Na purvo miasto v tozi paket triabva da postavim programata less, koiato se iaviava sredstvo za preglezhdane na failove po stranitsi.

Sled tova idva red na paketa pod mnogoznachitelnoto ime textutils. V negoviiat sustav vlizat:

  • cat – mnogofunktsionalna komanda za suzdavane, pregled i obediniavane na failove;

  • cksum – sredstvo za proverka na kontrolni sumi;

  • comm – sredstvo za po redovo sravniavane na dva sortirani faila;

  • csplit – komanda za razdeliane na failovete na chasti, kato v kachestvoto na razdelitel se izpolzva red, zadaden kato shablon;

  • cut - "izvlichane" ot daden fail na chasti ot redove;

  • expand – preobrazuvane na simvola za tabulatsiia vutre v tekstov fail v intervali;

  • fmt – neshto podobno na formatirane na paragrafite na tekstov fail;

  • fold – razbivane na faila na redove sus zadadena dulzhina;

  • head – izvezhdane na purvite (po podrazbirane – purvite 10 reda) ot fail;

  • join – slivane na redovete na dva faila v obshto pole;

  • md5sum – presmiatane na md5 kontrolna suma;

  • nl – nomerirane na redovete na daden fail;

  • od – preglezhdane na faila v osmichen (po podrazbirane) ili niakakuv drug kod;

  • paste – po redovo obedinenie na failove;

  • pr – razbivane na failovete na stranitsi i koloni;

  • ptx – generirane na indeks na sudurzhanieto na faila;

  • sort – sortirane po redove na sudurzhanieto na fail;

  • split – razdeliane na faila na chasti sus zadaden razmer ili kolichestvo redove;

  • sum – izchisliavane na kontrolna suma i kolichestvoto blokove vuv fail;

  • tac – izvezhdane na sudurzhanieto na fail otzad napred (obratno na cat);

  • tail – izvezhdane na niakolko (po podrazbirane deset) posledni redove ot fail (obratnoto na head);

  • uniq – otstraniavane na povtariashtite se redove v sortiran fail;

  • wc – presmiatane na broia redove, dumi ili simvoli vuv fail.

Dva vzaimno dopulvashti se paketa – diffutils i patch. Purviiat vklyuchva v sebe si:

  • cmp i diff – programi za sravnenie na dva faila;

  • diff3 – sushtoto, no za tri faila;

  • sdiff - sravnenie na dva faila sus zapis na razlikite v nov fail.

Komandata patch ima za tsel vnasiane na izmeneniia, otkriti ot komandata diff, v izhodniia fail.

Suvursheno nezamenim e paketa grep. V negoviia sustav vlizat programite grep, fgrep i egrep, prednaznacheni za tursene na zadaden tekstov fragment (shablon) vuv failove.

Paketite ed, gawk i sed sa prednaznacheni za dosta slozhna obrabotka na tekst, i predstavliavat vsushtnost potochni (ne interaktivni) tekstovi redaktori. Teoretichno, razpolagaiki s moshtni interaktivni redaktori (ot tipa na veche spomenatite emacs ili vim) mozhe da minem i bez tiah, no te se izpolzvat tolkova shiroko vuv vsiakakvi instalatsionni skriptove, che prakticheski se okazvat neobhodimi.

Analogichno e polozhenieto s paketa groff, vklyuchvasht mnozhestvo sredstva za slozhno neinteraktivno formatirane na tekst (addftinfo, afmtodit, eqn, grn, grodvi, groff, grog, grolbp, grolj4, grops, grotty, hpftodit, indxbib, lkbib, lookbib, mmroff, neqn, nroff, pfbtops, pic, post-grohtml, pre-grohtml, refer, soelim, tbl, tfmtodit, troff). Nadali ima niakoi, osven tezi, sviknali s tiah oshte ot ranna detska vuzrast, koito da gi izpolzva za prakticheska rabota. No te se okazvat neobhodimi za funktsioniraneto na sistemata za dokumentatsiia, koiato shte razgledame malko po-nadolu.

Mrezhovite vuzmozhnosti na osnovnata sistema se osiguriavat ot dva programni paketa – netkit-base i net-tools. V purviiat se namira demona inetd, otgovariasht za rabotata s Internet vuobshte i komandata ping, izpolzvana za izprashtane na paketi, opredeliashti dostupa do otdelni vuzli ot mrezhata. Komandite ot paketa net-tools (arp, dnsdomainname, domainname, hostname, ifconfig, nameif, netstat, nisdomainname, plipconfig, rarp, route, slattach, ypdomainname) opredeliat konfiguratsiiata na mrezhata (ifconfig), imenata na domeinite, imenata na hostovete i t. n.

Nakraia, grupata paketi ot programi, posledna po red, no ne i po vazhnost, otgovariashti za sistemata za dokumentatsiia. Kato takiva, v Linux se izpolzvat dve – traditsionnite za Unix man-stranitsi i razrabotenata v ramkite na proekta GNU sistema info. Te sa vzaimno dopulvashti se, makar i po sudurzhanie sushtestveno da se pripokrivat.

SREDSTVA ZA TILOVO OSIGURQVANE

V tova poniatie vklyuchvam sistemnite spodeleni biblioteki. Na potrebitelia riadko mu se sluchva da ima neposredstvena rabota s tiah, no bez tezi biblioteki, funktsioniraneto na tsialata sistema e prakticheski nevuzmozhno. Razbira se, mnogo prilozheniia mogat da budat svurzani (i naistina se svurzvat) s tezi biblioteki statichno. Samo che kompiliraneto na sobstvena sistema bez tiah e prosto nevuzmozhno.

Glavnata obshtosistemna biblioteka v Linux e glibc. Osven neia, za kompiliraneto (i rabotata) na povecheto konzolni prilozheniia se iziskva terminalnata biblioteka ncurses. I nakraia, neobhodim e sushto instrumentarium za svurzvane na programata s bibliotechnite funktsii – libtool.

Vsichko izbroeno dotuk e neobhodimiiat minimum, otdelni prilozheniia mogat da iziskvat i drugi biblioteki, naprimer s-lang. A za rabota s grafichni prilozheniia se iziskvat nai-malko bibliotekite za poddurzhane na razlichni grafichni formati (gif, png, jpeg, tiff i dr.) i mozhe bi svgalib.

ABSOLYUTNO NEOBHODIMI PRILOZHENIQ

Potrebitelskite programi GNU (takiva kato textutils, awk ili sed) ne samo izpulniavat funktsii po poddurzhaneto na sistemata, no i pozvoliavat reshavaneto na dosta slozhni potrebitelski zadachi. No te ne sa dostatuchni za pulnotsenna rabota i zatova triabva da se dopulniat s oshte niakolko programi. Purvata ot tiah e tekstoviiat redaktor – bez nego e trudno dazhe da redaktirame konfiguratsionnite failove. Pri izbora na takuv sa vuzmozhni tri podhoda: minimalistichen, maksimalistichen i mezhdinen.

Za osiguriavane na minimalni vuzmozhnosti za redaktirane e podhodiasht vseki maksimalno prost redaktor – ako ne izlizame izvun ramkite na proekta GNU, za tazi tsel mozhe da izpolzvame redaktora nano. Toi e lesen za usvoiavane, ne iziskva zapomniane na mnogochisleni komandi i pritezhava osnoven nabor ot funktsii za redaktirane.

Pri maksimalistichniiat podhod imame izbor mezhdu dve chudovishta ot sveta na konzolnite redaktori – vim i emacs. Na koi shte se sprem e vupros na vkus, kato vodeneto na sveshtena voina vim vs emacs tuk e neumestno.

Mezhdinniiat podhod e opravdan, ako se iziskvat dostatuchno moshtni sredstva za obrabotvane na tekst (ne samo izhoden, kolkoto obiknoven). V tozi sluchai e tselesuobrazno da izpolzvame redaktora joe, nuzhdata ot koito napulno se vpisva v nashiia osnoven spisuk za tilovo osiguriavane. Toi mozhe da bude nameren na sourceforge ili na koito i da e ot negovite ogledalni saitove, naprimer tuk.

Trudno e da si predstavim tekstov redaktor bez vuzmozhnost za proverka na pravopisa, zatova sledvashtiiat kandidat za absolyutno neobhodimo dopulnenie e ispell.

Mnogo ot izbroenite tuk programi se pridruzhavat ot dokumentatsiia v html format. Za neinoto chetene e neobhodim niakakuv brauzur. Optimalniiat izbor tuk e links.

Osven brauzur, neobhodimi sredstva za rabota s mrezha sa programata za svurzvane prez telefon i ftp-klient – bez tiah izteglianeto na neobhodimite programi ot mrezhata shte bude nevuzmozhno. Za purvata tsel nenadminata ostava wvdial, a kato kandidat za vtorata vakantsiia mozhe da razgledame wget.

V osnovnata sistema na Linux, za postigane na nirvana, e dobre da vklyuchim i sredstva za preglezhdane na grafika, koito ne iziskvat X-Window. Kato takiva mozhe da izpolzvame konzolnite programi fbi ili zgv. Naistina, purvata programa iziskva poddurzhane v iadroto (ili kato modul) na graficheska konzola (realizirana prez frame buffer), a vtorata – bibliotekata svgalib. I za vsiaka ot tiah sa neobhodimi bibliotekite za poddurzhane na rasterni grafichni formati (vizh po-gore). Zatova, grafichnite sredstva v osnovnata sistema na Linux sledva da se razglezhdat kato nezadulzhitelni.

I nakraia, nai-poslednoto, koeto e neobhodimo za udobna rabota – zvukov suprovod pod formata na programi za slushane na CD i gledane na mpeg-failove. Za postigane na purvata tsel uspeshno mozhe da izpolzvame (pone za nachalo) programata cdplay, a za vtorata – mpg123, ne iziskvashti nikakvi dopulnitelni multimediini biblioteki.

SREDSTVA ZA LOKALIZATSIQ

Tui kato sveta ne se svurshva s Amerika i mnogo hora govoriat na razlichni ezitsi ot amerikanskiia, v osnovata na Linux triabva da vlizat i sredstva za internatsionalizatsiia. Sama po sebe si, mezhdunarodnata poddruzhka (taka narechenata NLS – National Language Support) se osiguriava ot sistemata gettext.

Nas, razbira se, nai-veche ni interesuva poddruzhkata ne na niakakuv drug ezik, a neposredstveno na ruskiia [6]. Ruskiiat lokal (pone na ru_RU.KOI8-R) otdavna veche e neotmenen komponent na sistemnata biblioteka. Pri nuzhda ot lokal 1251 – toi mozhe da se dobavi samostoiatelno. Za poluchavane na osnoven nabor ot kirilizirani ekranni shriftove, klaviaturni podredbi i karti na suotvetstvieto mezhdu tiah e neobhodim, i struva ni se dostatuchen, paketa console-tools-cyrillic, v koito ima vsichko neobhodimo (i niakoi neshta ot tam sa razkoshni). Toi e prednaznachen za rabota s paketa za upravlenie na konzolata console-tools, no prekrasno se vpisva i v suvremennite versii na kkb. Za realizatsiia na pravopisna proverka na ruski ezik, kato dopulnenie kum originalniia ispell se predlaga izvestniiat rechnik na Lebedev – rus-ispell. Poslednite elementi na osnovnata rusifikatsiia sa programata za prekodirane rusconv i programata mapchan – za rabota s razlichni kodirovki v konzola.

SREDSTVA ZA KOMPILATSIQ

Nai-nakraia, poslednoto (ili strogo poglednato purvoto), neobhodimo za tova da suberem vsichko izbroeno po-gore v edno tsialo – tova sa sredstvata za kompilatsiia. Na purvo miasto tova e kompilatora na ezika C, na koito e napisana goliama chast ot operatsionnata sistema Linux i programite za neia – gcc. Negovata tekushta versiia (3.2) se preporuchva za izpolzvane, tui kato tia e sposobna da optimizira kod, prednaznachen za rabota ne samo pod Pentium III i Athlon (s tova mozhe da pohvali i klona na versiiata 2.9), no i pod Pentium IV.

Po-natatuk sledvat sredstvata za osiguriavane na kompilatsiiata (linker, asembler i t. n.), obedineni v dva paketa – bin86 i binutils.

Sled tova sledva programata za upravlenie na kompilatsiiata, make i tiasno svurzanite s neia programi autoconf za postroiavane na sredstva za avtomatichno konfigurirane pri kompilatsiiata, i automake za avtomatizatsiia na protsesa na suzdavane na make-failove, opisvashti protsesa na kompilatsiia. Osven tiah, prakticheski neobhodimi se okazvat leksikalniiat analizator flex, sintaktichniiat analizator bison (izpolzva se i negoviiat prototip yacc – za kompilirane na niakoi programi e neobhodim imenno toi) i makroprotsesorut m4. I nakraia, v niakoi sluchai za kompilirane na programata e neobhodim interpretator na ezika perl.





Naborut ot prilozheniia, obedineni ot poniatieto “osnova na Linux” (Base Linux), mozhe da se stori na niakoi malko asketichen, no toi osiguriava uspeshno imenno bazovata funktsionalnost na sistemata. I primerno takuv nabor ot programi se predlaga kato bazov (koeto oznachava, che go ima nepremenno pri instalatsiiata) vuv vsiaka distributsiia na Linux, pretendirashta da e napulno funktsionalna. Razbira se, naborite ot paketi (i osobeno konkretni predstaviteli na otdelnite grupi) se promeniat. No mozhe da budem sigurni, che 90% ot vsichko izbroeno, garantirano shte se nameri vuv vsiaka edna proizvolna Linux-sistema.



Prevod: Nikolai Angelov





[1] Ot vsichki vuzmozhni prevodi na tozi akronim, nai-adekvaten mi se struva tozi: "Gnu - ýto vam ne hren sobachii" (A.F.)

[2] aka utilities

[3] Osven bash, ima vuzmozhnost da se izpolzvat i drugi, razlichni obvivki

[4] ACL – Access Control List

[5] shred - izpolzva se za sigurno iztrivane na fail, bez da ostava vuzmozhnost za negovoto vuzstanoviavane s drugi sredstva

[6] A nas ni interesuva kak stoiat neshtata s poddurzhaneto na bulgarski ezik, koeto, za nasha radost, e v podobno sustoianie na opisanoto po-gore. Poveche informatsiia mozhe da se nameri primerno na saita na linux-bg.



<< Oshte edin pogled vurhu kontseptsiiata za osnovata na Linux | Vidove iadra - i kude se vpisva Linuks? >>