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
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
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,
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
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;
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.
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