ury cherez sposob
xmodmap : xruskb ot Alexander V. Lukaynov <mailto:lav@yars.free.net>
<ftp://ftp.yars.free.net/pub/software/unix/X11/> (primary site)
<ftp://ftp.relcom.ru/pub/x11/cyrillic/>
Ona mozhet ponadobit'sya dlya rusifikacii X11R5 terminalov, naprimer
zheleznyh, ili emulyatorov pod MS Windows. Dlya ee primeneniya s XFree86
luchshe otklyuchit' modul' XKB v /etc/X11/XF86Config direktivoj
XkbDisable. Pravil'naya raskladka dlya xruskb: jcukeng-cyr.xmm
Proverit' rusifikaciyu X mozhno programmoj xev: klaviatura dolzhna
generirovat' pravil'nye XkeySym dlya kirillicy (0x6xx), a xev dolzhna
pokazyvat' Cyrillic_IE i pr. pri nazhatii russkih bukv, a ne
OCyrcumflex e.t.c.
3.11. Kak cmontirovat' disk, chtoby russkie imena fajlov byli vidny ?
Dlya vfat primerno tak (ctrochka iz /etc/fstab/):
/dev/hda5 /mnt/d vfat noexec,rw,umask=002,codepage=866,iocharset=koi8-r,gid=100 0 0
Potom mount /mnt/d. Eshche v yadro (>=2.0.36) dolzhny byt' vklyucheny
sootvetstvuyushchie kodovye stranicy (vozmozhno, v vide modulej
/lib/modules/`uname -r`/fs/nls_*) - CP866 i KOI8-R, tak chto vozmozhno
(hotya skoree vsego net) yadro pridetsya perekompilirovat'.
Dlya CD, soderzhashchego fajly s russkimi imenami:
$ mount -t iso9660 -o iocharset=koi8-r /dev/cdrom /mnt/cdrom
Parametr codepage dlya isofs ne nuzhen, v fajlovoj sisteme JOLIET imena
fajlov hranyatsya v UNICODE.
Smysl etih opcij mozhno uznat' v 'man mount' ili v dokumentacii
ishodnikov yadra /usr/src/linux/Documentation/filesystems/ ili
/usr/doc/kernel/filesystems/
3.12. * Kak uvidet' russkie bukvy v imenah fajlov na diske Samba?
Dlya servera dobavit' v /etc/smb.conf
[global]
character set = koi8-r
client code page = 866
preserve case = yes
short preserve case = yes
default case = lower
mangle case = no
CHtoby pravil'no montirovalis' smb razdely nado pri kompilyacii yadra
ukazat' (yadro dolzhno byt' >=2.2.20 )
CONFIG_NLS_DEFAULT="koi8-r"
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp866"
CONFIG_SMB_NLS=y
CONFIG_NLS=y
3.13. Kak perekodirovat' iz DOS/Win kodirovki v KOI8-R ?
Perekodirovshchikov CP1251 i CP866 --> KOI8-R prosto ogromnoe kolichestvo.
Ne nado pisat' novyh ;-) Naibolee shiroko rasprostraneny iconv (vhodit
v postavku glibc) i GNU recode (
<ftp://prep.ai.mit.edu/pub/gnu/recode/>)
$ iconv -f866 -tKOI8-R -o<outfile> infile
$ recode CP1251..KOI8-R winfile.txt
Eshche odin URL dlya recode - <http://www.iro.umon-
treal.ca/~pinard/recode/>.
Perekodirovshchik russkogo teksta s avtomaticheskim opredeleniem ishodnoj
kodirovki: <ftp://oskin.macomnet.ru/pub/linux/misc/xcode.c>
V konce koncov sgoditsya obychnyj lynx :
$ lynx -assume_local_charset cp866 file.txt
3.14. * Kak s pomoshch'yu Vim redaktirovat' fajly v razlichnyh kodirovkah?
:e ++enc=cp1251 winfile.txt
Zagruzit' fajl, schitaya, chto on v ukazannoj kodirovke, i
perekodirovat' ego v kodirovku, v kotoroj rabotaet redaktor.
3.15. * Kak sozdavat' i redaktirovat' fajly v UTF-8 v redaktore VIM ?
VIM dolzhen byt' versii 6.x i sobran s podderzhkoj Multibyte:
configure --with-features=huge --enable-multibyte
Predpolozhim, konsol' rusificirovana v KOI8-R, togda v VIM nado dat'
komandy :
:set encoding=utf-8
:set fileencoding=utf-8
:set termencoding=koi8-r
V RedHat VIM raznesen na neskol'ko paketov.
vim-common-6.1-2
vim-minimal-6.1-2
vim-enhanced-6.1-2
Redaktor vi, vhodyashchij v vim-minimal sobran bez Multibyte, vim iz vim-
enhanced -- s podderzhkoj. Nado pol'zovat'sya redaktorom vim.
3.16. Mozhno li nauchit' Vim ponimat' hotkei, kogda vklyuchena russkaya
raskladka klaviatury?
V /.vimrc:
set langmap=jq,cw,ue,kr,et,ny,gu,shi,shcho i t.d.
3.17. Kak prikrutit' k Golded/LNX pochtovuyu bazu v 866 kodirovke ?
Vo-pervyh, nuzhno vzyat' GoldEd+ c <http://golded-
plus.sourceforge.net>.
Krome togo, nuzhno vzyat' tablicy perekodirovki (naprimer iz paketa
rusifikacii, prohodivshego po fajlehe aftnged [22mi lezhashchego na
<http://collage.etel.ru/fileechos/ftn/> i propisat' ih v golded.cfg,
primerno tak:
AREAPATH /mnt/c/fido/fecho/
AREAFILE FastEcho
XLATPATH /home/ak/.golded/chars
XLATLOCALSET KOI8
XLATIMPORT IBMPC
XLATEXPORT IBMPC
XLATCHARSET KOI8 IBMPC koi_866.chs
XLATCHARSET IBMPC KOI8 866_koi.chs
IGNORECHARSET
3.18. Mozhno li v mc uvidet' pusskie bukvy?
Mozhno. F9 - options - display bits - Full 8 bit
V poslednih versiyah 'mc' poyavilas' podderzhka razlichnyh Charset-ov .
|ta opciya dolzhna byt' vklyuchena pri kompilyacii 'mc' .
$ ./configure --enable-charset ....
3.19. less
Yuriy.Kaminskiy@p21.f517.n5020.z2.fidonet.org pishet:
pri nastroennoj lokali ukazyvat' LESSCHARSET _HE HADO_. Bolee togo, v
~/.lesskey nado dobavit'
#env
LESSCHARSET=
chtoby on ignoriroval ustanovku LESSCHARSET= glupymi programmami (k
primeru, man :) [posle etogo nado zapustit' lesskey dlya polucheniya
binarnogo fajla ~/.less] V protivnom sluchae on ne budet vyzyvat' set-
locale(LC_CTYPE,"") i, kak sledstvie, ne budet icase search dlya
russkih bukv.
3.20. telnet
Esli voznikayut problemy s vvodom russkih simvolov, nado napisat'
fajlik ~/.telnetrc so sleduyushchej strokoj:
DEFAULT set outbinary
Vy mozhete vstretit' problemy pri rabote v kodirovke Win-1251 -- ne
peredaetsya malen'kaya russkaya bukva "ya" 0xff. U protokola TELNET 0xff
-- eto pervyj simvol upravlyayushchej posledovatel'nosti. Daby peredat'
sobstvenno "ya", nuzhno ego udvaivat' : 0xff, 0xff. V KOI8-R takoj
problemy net.
3.21. CHto delat', esli "sletela" konsol' ?
Skoree vsego na konsol' byl skopirovan kakoj-to dvoichnyj fajl, gde
sluchajno vstretilas' pereklyuchayushchaya ESC-posledovatel'nost'. Togda :
Sbros terminala :
$ echo -ne "\033c"
nabrat' vslepuyu, ili s rabotayushchej konsoli :
# echo -ne "\033c" >/dev/ttyX
Pereklyuchenie na downloaded font
$ echo -ne "\033(K"
(vozmozhno, eshche pridetsya peregruzit' fonty, no eto smotrya kak konsol'
sorvalo...)
Esli vyvalilas' kakaya-to programma, kotoraya ispol'zuet curses, to
proshche
$ stty sane
V Red Hat vse eto delayut reset; setsysfont <ctrl-j>
reset - iz ncurses
Sm. 'man console_codes' i 'man stty'
3.22. Kak rusificirovat' TeX pod koi8-r?
Vse voprosy po TeX rekomenduetsya zadavat' v ru.tex. FAQ iz etoj
konferencii i prochaya informaciya po TeX v Rossii nahodyatsya po adresu
<http://myke.webjump.com/tex/>.
TeX i LaTeX vo vseh sovremennyh distributivah govoryat po-russki s
razdachi. V etom sluchae imeetsya dokument cyrguide.*, kotoryj i
soderzhit razvernutyj otvet na vopros o rusifikacii TeX.
Perenosy ne vsegda rabotayut "iz korobki", inogda nado popravit'
language.dat, i peresobrat' formaty. Vot chto pishet Alex Nikiforov:
Esli uzh o poslednih versiyah, to v RH-6.0 s tetex 0.9 u menya poluchilos'
tak:
$ texconfig
vybrat'
hyphenation -> latex
raskommentirovat' russian
Dobavit' v LaTeX fajlah
\usepackage[T2A]{fontenc}
\usepackage[koi8-r]{inputenc}
\usepackage[english,russian]{babel}
i v fajle mozhno pereklyuchat'sya mezhdu russkim i anglijskim komandami
\Russian i \Engish
CHto by dobavit' formaty iz cyrplain nabora v texconfig vybrat' FORMATS
i dobavit'
cyrtxinf tex language.dat cyrtxinf.ini
dlya russkogo texinfo. Analogichno dlya cyrblue i cyramstx.
CHto by dobavit' format cyrtex ( russkij TeX ) proshche v kataloge web2c
vypolnit':
initex '\input cyrtex.ini \dump'
i brosit' simvolicheskuyu ssylku s imenem cyrtex na tex ( naprimer v
/usr/bin )
CHto by pereklyuchitsya na russkij v etih plain formatah ispol'zovat'
komandu
\language N
gde N - nomer, pod kotorym chislitsya russkij yazyk v poluchivshejsya
raskladke.
V principe mozhno zamenit' v konfiguracii ruhypen na ruenhyp i ostavit'
tol'ko sovmestnye russko-anglijskie pravila perenosa, no detal'no eto
ne proveryal i podrobno opisat' ne mogu.
3.23. * Gde vzyat' russkie Type1 ps fonty v KOI8-R?
Sovremennye Type1 fonty v obshchem ne obyazany imet' informaciyu o
"kodirovke", a dolzhny prosto soderzhat' russkie simvoly s imenami
glifov tipa "afii10049" (Association for Font Information
Interchange). O "vektore kodirovki" dolzhno zabotit'sya prilozhenie,
porozhdayushchee ps. Sm. dokumenty Adobe:
· <http://partners.adobe.com/asn/developer/technotes.html> (Fonts
section)
· <http://partners.adobe.com/asn/developer/PDFS/TN/5013.Cyrillic_Font_Spec.pdf>
Free fonty Type1 c russkimi simvolami:
· SHarashkinskie: <ftp://ftp.ice.ru/pub/fonts/type1/>
· PsCyr, avtor kollekcii Konstantin Chumachenko, mantejner -
Aleksandr Lebedev: <ftp://con155.phys.msu.su/pub/russian/psfonts/>,
zerkalo <ftp://ftp.vsu.ru/pub/tex/font-packs/pscyr/>
· "TopTeams": <http://www.topteam.bg/linux/fonts.html>, kopiya
<ftp://ftp.ice.ru/pub/fonrs/type1/>
Takzhe sm. Cyrillic-HOWTO p."Kirillicheskie shrifty"
<http://www.inp.nsk.su/~baldin/Cyrillic-HOWTO-russian/Cyrillic-
HOWTO-russian.html>
K sozhaleniyu, nekotorye prilozheniya vidyat tol'ko pervye 256 simvolov
Type1 shrifta (Latin1 ili ISO_8859-1). Imenno dlya takih prilozhenij
nuzhny "othakannye" shrifty, gde vmesto "circumflex" i "cedilla"
raspolozheny simvoly KOI8-R. Vzyat' mozhno naprimer s:
<ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/> Prochitajte README.
3.24. Gde najti horoshie russkie shrifty dlya X Window System?
Krome rasprostranennyh shriftov Cronyx sushchestvuyut gorazdo bolee
ergonomichnye shrifty iz proekta Cyr-RFX Dmitriya Bolhovityanova:
<http://www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/>
Font -cronyx-fixed-* s polnym sootvetstviem koi8-r , v tom chisle s
ramkami: <ftp://ftp.ice.ru/pub/fonts/X11>
Russkie fonty iz KSI-Linux: <ftp://ftp.ksi-linux.com/pub/patches/>
Russkie fonty iz Black Cat Linux:
<ftp://ftp.blackcatlinux.com/pub/blackcat-linux/6.2/SRPMS/SRPMS/urw-
fonts-2.0-4bc.src.rpm>
3.25. Emacs/XEmacs
Berem iso8859-5 shrifty s
<http://www.inp.nsk.su/~bolkhov/files/fonts/cyr_rfx/>. Podklyuchaem ih
k iksam, i vybiraem v menyu Mule nuzhnuyu kodirovku.
Ochen' blagorodnye izovye shrifty mozhno vzyat' na lyubom zerkale GNU v
kataloge intlfonts. konkretno, naprimer,
<ftp://ftp.chg.ru/pub/gnu/intlfonts/intlfonts-1.2-split/European.tar.gz>
(131Kb). V Debian oni uzhe est'.
Podrobnaya instrukciya po rusifikacii XEmacs imeetsya po adresu
<http://www.linux.zp.ua/xemacs/>.
3.26. Kak pusificipovat' dosemu ?
Klaviatupa - lyubym dosovym pusifikatopom. Krome togo, est' patchik v
<http://www.ice.ru/~vitus/misc/>, kotoryj pozvolyaet obojtis' bez
rusifikatora klaviatury. V X-ah - rekomenduetsya, tak kak pozvolyaet
izbezhat' dvuh klavish pereklyucheniya - odnoj v DOS drugoj - na ostal'nom
desktope. Pri rabote s udalennym dosemu (po telnet/ssh/rsh) -
neobhodim.
Fonty - v konsol'nom dosemu tem zhe pusifikatopom, v X-ovom - postavit'
font s 866-oj kodipovkoj. Vzyat' mozhno po adpesam
<http://www.ice.ru/~vitus/works/x11.html>,
<ftp://ftp.dosemu.org/dosemu/Development/>vga_cyr8x16.pcf.gz ili
<http://www.inp.nsk.su/~bolkhov/files/fonts/vga4dosemu/>.
3.27. A kak rusificirovat' StarOffice (tam zhe - a pochemu on u menya ne
stavitsya i t.p.
Pochitajte zamechatel'nuyu stranichku Leona Kantera po adresu -
<http://www.blackcatlinux.com/StarOffice/>
Sostavaitel' FAQ byl by rad uznat', v kakoj mere svedeniya na etoj
stranice primenimy k Open Office i Star Office 6.
3.28. Kak rusificirovat' AbiWord?
Obratites' po adresu <http://www.hippo.ru/~hvv/abiword/>
3.29. Kak sdelat' russkoyazychnyj interfejs v Mozilla?
<http://www.mozilla.ru/download/>
Vot bolee obshchaya i bolee udobnaya v plane ustanovki iz samoj mozilly
ssylka: <http://www.mozilla.org/projects/l10n/mlp_status.html>
3.30. Kak rusificirovat' Netscape {4|3}/nauchit' ego ponimat'
win-kodirovku ?
· Voz'mite Netscape 4.06 i vyshe, sobrannyj pod glibc2, ego
rusificirovat' ne nado. Brat' ego zhelatel'no u proizvoditelya vashego
distributiva. (pri nastroennoj lokali, xkb i shriftah,
ustanovlennyh soglasno otvetu na vopros 0.13)
Eshche, netscape imeet merzkuyu privychku zapominat' shrifty v
~/.netscape/preferences.js (i, kazhetsya, eshche gde-to). I esli on
vovremya ne uvidel kakoj-to shrift, to on mozhet ego voobshche nikogda ne
uvidet'. Inogda pomogaet tol'ko polnoe iznichtozhenie direktorii
~/.netscape
· dlya teh, kto ne ispytyvaet lyubvi k paduchemu tormoznomu monstru:
netscape 3.xx osoboj rusifikacii tozhe ne trebuyut - dostatochno
prosto shriftov v kodirovke koi8-r, no s win-kodirovkoj budut,
estestvenno, problemy. Edinstvennaya pakost' - upravlyayushchie elementy
form (knopki/selektory i t.d.) vyvodyatsya v latin1. Lechitsya
echo 'Netscape*documentFonts.charset*koi8-r: iso-8859-1' | xrdb -merge
posle chego koi8-shrifty poyavlyayutsya v spiske shriftov dlya "Western".
(otnyne vasha kodirovka po umolchaniyu imenno ona, a pro koi zabud'te.)
Netscape 3.x beretsya s <ftp://archive.netscape.com>
Login:archive
Password:oldies
dir tam ne rabotaet, kachajte /archive/index.html
· Principial'no ne rusificiruemye veshchi:
u oboih netskejpov (3 i 4) budut trudnosti so stranicami v
kodirovke, ne sootvetstvuyushchej 'meta content-type' v zagolovke
(tradicionnaya problema serverov s vyborom kodirovok i avtorov,
pol'zuyushchihsya tulzami ot MS). He lechitsya nichem, krome haka
binarnikov.
CHto eshche huzhe - esli v dokumente yavno ukazan shrift, i takoj shrift,
ne daj bog, u vas imeetsya (estestvenno, ne rusificirovannyj), to im
vse i budet narisovano. Reshenij dva: ili ne imet' v sisteme
ne-rusificirovannyh shriftov vovse, ili otklyuchit' v netskejpe
avtomaticheskuyu zagruzku izobrazhenij. (pri etom "zaodno", kak ni
stranno, otklyuchitsya i pokaz shriftov, ukazannyh v dokumente. Hazhav
Alt-I, vy poluchite vozmozhnost' posmotret' kartinki. Hadeyus', tekst
k etomu momentu vy uzhe zapomnili ;)
3.31. Kak mne zastavit' prilozhenie dlya iksov ispol'zovat' shrifty s
koi8-r, a ne iso8859-1 ?
a) Postarajtes' vyyasnit', otkuda prilozhenie beret imya fonta. CHashche
vsego prilozhenie hranit imena ispol'zuemyh fontov v "baze resursov": v
personal'noj /.Xdefaults ili sistemnoj /usr/X11R6/lib/X11/app-
defaults/ baze. Imena ispol'zuemyh fontov hranitsya v forme XLFD, t.e.
tam mozhno primenyat' "*". Naprimer:
Netscape*fontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-koi8-r
Posmotret' "resursy" prilozheniya mozhno utilitoj appres :
$ appres XTerm
V man prakticheski na lyubuyu X programmu imeetsya sekciya RESOURCES.
Esli programma napisana s primeneniem kakogo-libo "Toolkit"-a : GTK,
Qt, Motif, e.t.c., chashche vsego dostatochno rusificirovat' Toolkit.
Rusifikaciya GNOME/Gtk i Qt takim sposobom opisana chut' nizhe.
b) S pomoshch'yu klyucha -fn font ili -font font. |tot klyuch obrabatyvaetsya
v XLIB i on skoree vsego budet rabotat' v lyuboj X programme.
c) Metod grubogo haka. Nuzhno vzyat' russkie shrifty s
<ftp://ftp.relcom.ru/pub/x11/cyrillic/fonts/>, tam est' shrifty
adobe-*-koi8-1 (c fonts.alias, delayushchim iz nih -iso8859-1), no real'no
soderzhashchie kirillicu v koi8-r v starshej polovine.
Pri etom shrifty s temi zhe imenami i "nastoyashchimi" simvolami iso8859-1
stanovyatsya nedostupny. Standartnyh shriftov iz XFree86-cyrillic-fonts
nedostatochno. Krome togo, puti k russkim shriftam v konfige iksov ili
font-servera dolzhny byt' vperedi vseh prochih.
Odnako luchshe ne ispol'zovat' etot metod, a napisat' avtoru programmy
(ili prislat' emu patch ;) dlya vyneseniya imeni fonta v "resurs".
3.32. Pochemu v Gnome ili programmah, ispol'zuyushchih GTK+, koe-gde
russkij tekst vyvoditsya latinicej? Gde propisyvayutsya ispol'zuemye imi
shrifty?
Esli gtk ne nahodit nuzhnyh shriftov (v chastnosti, nuzhnogo razmera), on
rezhet 8-j bit. SHrifty zadayutsya v /etc/gtk/gtkrc.$LANG. Poetomu nuzhno
sozdat' fajl gtkrc.ru ili popravit' sushchestvuyushchij. Vnutri dolzhno byt'
primerno sleduyushchee (nazvaniya shriftov, razmery i prochie atributy mozhno
ispravit' po vkusu, no eti shrifty dolzhny soderzhat' kirillicu v
koi8-r):
style "gtk-default-ru" {
fontset = "-cronyx-helvetica-medium-r-normal--*-*-*-*-*-*-koi8-r,\
-cronyx-courier-medium-r-normal--*-*-*-*-*-*-koi8-r,\
-cronyx-fixed-medium-r-normal--*-*-*-*-*-*-koi8-r,\
-cronyx-times-medium-r-normal--*-*-*-*-*-*-koi8-r"
}
class "GtkWidget" style "gtk-default-ru"
I skopirovat' etot fajl v 'gtkrc.ru_RU.KOI8-R' ili sdelat' symlink:
$ cd /etc/gtk/
$ ln -s gtkrc.ru gtkrc.ru_RU.KOI8-R
Podrobnosti sm. <http://www.gtk.org/tutorial/gtk_tut-21.html>, a
takzhe <http://www.linux.org.ru/gnome/>
3.33. Qt i russkoyazychnye programmy
<http://kde.ru/docs.php?action=index>
3.34. Kak rusificirovat' KDE?
<http://www.kde.org/international/russia/localization.html>
3.35. CHto sdelat', chtoby bylo mozhno rabotat' v yunikodnoj lokali
(ru_RU.UTF-8) v konsoli i v iksah?
K sozhaleniyu, "zhelezo" konsoli IBM-PC (VGA/SVGA) mozhet otobrazhat'
tol'ko 256 simvolov odnovremenno. Eshche 32 simvola ot®edayut ramki. Esli
pozhertvovat' atributami, kolichestvo simvolov mozhno dovesti do 512. Dlya
UNICODE yavno malovato. Sm. Console programming HOWTO
<http://devel.linvision.com/doc/fbh/current/index.html>
Esli ustraivayut eti ogranicheniya, to perehod (paket console-tools) v/iz
odnobajtovogo rezhima konsoli v rezhim UTF-8 osushchestvlyaetsya komandami
unicode_start(1) i unicode_stop(1) . Uznat' tekushchij rezhim mozhno
komandoj vt-is-UTF8(1) . Dokumentaciya - v console-tools/lct.txt
|mulyator terminala XTerm v X Window ne imeet apparatnyh ogranichenij.
Zapusk
: xterm -u8
s fontami *-iso10646-1 .
Naibolee sovremennye programmy ne ispol'zuyut "terminal'nyj vvod-vyvod"
voobshche, a napisany s ispol'zovaniem ToolKit-ov, podderzhivayushchih UNICODE
(Qt, GTK, Java .e.t.c.) ili napryamuyu pol'zuyutsya vozmozhnostyami GUI X
Window.
Dlya pravil'noj raboty prilozhenij v UTF-8 neobhodimo, chtoby sistemnaya
lokal' takzhe byla UTF-8, naprimer LANG="ru_RU.UTF-8" .
Dopolnitel'naya informaciya:
UTF-8 and UNICODE FAQ: <http://www.cl.cam.ac.uk/~mgk25/unicode.html>
The Unicode HOWTO: <http://www.tldp.org/HOWTO/Unicode-HOWTO.html>
How do Unix terminals work?:
<http://czyborra.com/unicode/terminals.html>
Unicode Howto for KDE developers:
<http://developer.kde.org/documentation/library/kdeqt/kde3arch/KDE-
Unicode-Howto.html>
Est' mikro-HOWTO vot zdes': <http://lists.debian.org/debian-
russian/2001/debian-russian-200111/msg00203.html>
3.36. Kto zanimaetsya perevodom dokumentacii i pol'zovatel'skih
interfejsov na russkij yazyk?
Russian Linux Documentation Project: <http://rldp.linux.ru.net>.
Vedet Alexsandr Mikhailov, <mailto:alexmikh@mail.ru> Informaciya:
<http://www.tldp.org/vlist.html#te>
Russkaya komanda perevoda GNU: <http://www.gnu.org.ru>, <http://www-
ru.gnu.org.ru/>,
<http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?team=ru>
Proekt Alekseya Mahotkina "Manpages-Ru" posvyashchen perevodu paketa
manpages na russkij yazyk. <http://www.alexm.here.ru/manpages-ru>
KDE: <http://www.kde.org/international/russia/>
GNOME: <http://www.linux.org.ru/gnome/>
4. Sistemnoe administrirovanie
4.1. A kakie byvayut versii yadra Linuksa ? A pochemu pri
apgrejde/kompilyacii yadra u menya #$@#$#@%@#$%@#$? A chto takoe
development-yadra i voobshche, pochemu govoryat, chto novaya versiya yadra -
2.2.x vyshla vchera, kogda ya mesyac nazad skachal 2.3.kakuyu-to ? Kakim
yadrom luchshe pol'zovat'sya ?
(Alex Kanavin, adres vyshe, Alexey Mahotkin <mailto:alexm@hsys.msk.ru>)
Nachnem s oficial'noj serii yader, vypuskaemyh neposredstvenno Linusom
Torval'dsom. Prezhde vsego, nado razobrat'sya, chto takoe stabil'nye i
nestabil'nye yadra (stable i development) i kak oni numeruyutsya. Pust'
imeetsya yadro versii a.b.c
· a - eto osnovnoj nomer versii. Menyaetsya on raz v neskol'ko let, kak
pravilo, kogda nestabil'naya seriya s ochen' sushchestvennymi izmeneniyami
stanovitsya stabil'noj.
· b - eto patchlevel. Imenno on opredelyaet, yavlyaetsya li dannoe yadro
stabil'nym ili net. Esli on chetnyj - yadro stabil'noe, esli nechetnyj
- nestabil'noe. CHisla a i b v vide a.b nazyvaetsya seriej yader.
· s - eto sublevel. On opredelyaet nomer yadra v serii.
Oficial'nye yadra v vide ishodnyh tekstov mozhno skachat' s
<ftp://ftp.kernel.org> i ego mnogochislennyh mirrorov (rossijskij:
<ftp://ftp.ru.kernel.org>, no im luchshe ne pol'zovat'sya, tak kak on ne
mirrorit .bz2, esli vam nuzhen imenno rossijskij mirror, to poprobujte
<ftp://ftp.rmt.ru/>, <ftp://ftp.chg.ru/Mirrors/ftp.kernel.org/> ili
<http://ftp.chg.ru/Mirrors/ftp.kernel.org/>).
[pol'zuyas' sluchaem, hochu peredat' soobshchenie dlya <ftp://ftp.chg.ru> ,
<ftp://ftp.ru.kernel.olg> i drugih oficial'nyh rossjskih mirrorov:
esli uzh vy mirrorite, naprimer, redhat, to delajte eto celikom i
kazhdyj den', a ne raz v mesyac kusochkami. A to apdejty u vas
poyavlyayutsya cherez mesyac posle togo, kak oni byli vylozheny na
ftp.redhat.com, da i to - tol'ko k poslednej versii. Nu i komu nuzhen
takoj "oficial'nyj" mirror? Vzyalis' byt' zerkalom - delajte eto kak
sleduet, ne mozhete - otkazhites'.]
Krome polnyh ishodnyh tekstov yadra tam zhe mozhno najti patchi -
znachitel'no men'shie po razmeru fajly, pozvolyayushchie prevratit' ishodniki
versii a.b.c v ishodniki versii a.b.c+1 c pomoshch'yu komandy patch. |ti
zhe patchi hodyat po fajlehe usyslnx[22m.
Stabil'nye yadra prednaznacheny dlya shirokogo ispol'zovaniya i problemy
pri ih ispol'zovanii ili kompilyacii vstrechayutsya nechasto. Kak pravilo v
stabil'nyh seriyah ot versii k versii tol'ko ispravlyayutsya oshibki i
dobavlyayutsya drajvera, ne trebuyushchie izmenenij v samom yadre i horosho
sebya zarekomendovavshie. Stabil'nye yadra mozhno bezboyaznenno obnovlyat',
ne trogaya prochij soft - esli vy ostaetes' v ramkah odnoj serii,
problem vozniknut' ne dolzhno. (Po krajnej mere v teorii, na praktike,
vozmozhno, pridetsya vernut'sya k staromu yadru i podozhdat' vyhoda eshche
odnoj versii.) Novye versii vyhodyat nechasto - primerno raz v mesyac, i
rezhe.
Nestabil'nye yadra, naoborot, ne prednaznacheny dlya ispol'zovaniya
massami. |to poligon dlya testirovaniya mnozhestva raznoobraznyh
vozmozhnostej, tol'ko poyavivshihsya i eshche ne gotovyh dlya ispol'zovaniya
nikem, krome ih sobstvennyh razrabotchikov i lyudej, ch'e hobbi -
zabavlyat'sya s nestabil'nymi yadrami. Zdes' ot versii k versii mozhet
menyat'sya ochen' mnogoe i pravil'nuyu rabotu nikto ne obeshchaet (vprochem,
to zhe otnositsya i k stabil'nym yadram, no v menee "zhestkom" smysle).
Pri ih ispol'zovanii nuzhno byt' gotovym ko vsemu. Prezhde vsego k
tomu, chto yadro prosto ne skompiliruetsya. Potom ono mozhet ne
zagruzit'sya, zavisat', portit' fajlovuyu sistemu i voobshche vsyacheski
glyuchit'. Krome togo, mozhet nachat' glyuchit' soft, vzaimodejstvuyushchij s
yadrom napryamuyu. Nestabil'nye yadra vyhodyat gorazdo chashche stabil'nyh -
inogda neskol'ko novyh yader v nedelyu.
Kak nestabil'naya seriya stanovitsya stabil'noj i naoborot ? Ochen'
prosto: v kakoj-to moment Linus Torvalds ob®yavlyaet t.n. feature
freeze, posle chego k vklyucheniyu v nestabil'noe yadro prinimayutsya tol'ko
ispravleniya oshibok (bugfix). CHerez nekotoroe vremya ocherednoj versii
prisvaivaetsya nomer ne a.b.c+1, a a.b+1.0 ili a+1.0.0 - tak poyavlyaetsya
novaya stabil'naya seriya, vokrug chego mass-media ustraivayut bol'shuyu
shumihu :) Eshche cherez nekotoroe vremya vypusk versij v predydushchej
stabil'noj serii prekrashchaetsya i proishodit t.n. fork ili razvetvlenie
- odnovremenno s ocherednym stabil'nym yadrom poyavlyaetsya nestabil'noe,
otlichayushcheesya ot pervogo tol'ko nomerom versii.
Zamet'te, chto terminy "stabil'nyj" i "nestabil'nyj" v chem-to uslovny.
Ponyatno, chto "nestabil'noe" yadro 2.3.128 za neskol'ko minut do ego
prevrashcheniya v stabil'noe yadro 2.4.0 po opredeleniyu stabil'no, a
stabil'noe yadro 2.2.xxx, v kotorom obnaruzhena fatal'naya oshibka
raspredeleniya pamyati -- opyat' zhe po opredeleniyu nestabil'no. V obshchem,
sami ponimat' dolzhny, ne malen'kie.
V silu otkrytosti processa razrabotki yadra Linux sushchestvuet neskol'ko
pobochnyh vetvej razvitiya. Odnoj iz osnovnyh takih vetvej yavlyayutsya
yadra serii -ac, kotorye vypuskaet Alan Koks -- odin iz osnovnyh
razrabotchikov Linuksa. Vo-pervyh, seriya -ac sluzhit svoeobraznym
buferom, v kotorom testiruyutsya nekotorye novye drajvera, vozmozhnosti,
etc. pered tem, kak etot, uzhe ottestirovannyj, drajver budet otpravlen
Linusu. Vo-vtoryh, v yadrah -ac imeetsya opredelennyj nabor veshchej,
kotorye ne ustraivayut Linusa, no ustraivayut Alana i k tomu zhe
dostatochno populyarny.
Sushchestvuyut takzhe eshche neskol'ko menee vazhnyh (hotya vashe mnenie po etomu
voprosu mozhet otlichat'sya) pobochnyh vetok: naprimer, International
Kernel Patch s podderzhkoj sil'noj kriptografii, devfs-patch s
podderzhkoj fajlovoj sistemy /dev, ran'she byla otdel'naya podderzhka
ISDN, nu i tak dalee i tomu podobnoe). Krome togo, mnogie
proizvoditeli distributivov rasprostranyayut yadro s opredelennymi
patchami, kotorye oni schitayut neobhodimymi i kotorye luchshe vpisyvayutsya
v infrastrukturu distributiva).
Kakim zhe yadrom vse-taki pol'zovat'sya? Prostejshij otvet: tem, kotoroe
vhodit v ispol'zuemyj vami distributiv. |tot otvet priemlem dlya
bol'shinstva pol'zovatelej Linuksa. Esli zhe vy okazalis' v situacii,
kogda, naprimer, nuzhnoe vam zhelezo podderzhivaetsya tol'ko v kakom-to
patche, kotoryj ne voshel ni v odnu iz osnovnyh vetvej, znachit, vam
pridetsya brat' ishodniki original'nogo yadra, patchi, kotorye
ispol'zovali sozdateli distributiva, patchi, kotorye neobhodimy lichno
vam, prikladyvat' vse eti patchi drug k drugu, kompilirovat' i
ustanavlivat' yadro vruchnuyu (nu, ili sozdat' svoj sobstvennyj paket na
osnove distributivnogo). Vam takzhe pridetsya otslezhivat' vyhod novyh
versij patcha, kontaktirovat' s ego avtorom, srazhat'sya s ego glyukami i
prilagat' vsyacheskie usiliya k tomu, chtoby onyj patch, nakonec, priobrel
oficial'nyj status.
Vozmozhny i drugie varianty, pri kotoryh mozhet potrebovat'sya
peresborka, naibolee ochevidnyj - vy stolknulis' s oshibkoj v yadre,
kotoraya ispravlena v bolee svezhej versii. V etom sluchae stoit sperva
vyyasnit', ne vylozhil li proizvoditel' vashego distributiva ispravlennoe
yadro na svoj ftp server, v to zhe mesto, gde lezhat prochie obnovleniya.
Takoe yadro dostupno v forme paketa (rpm ili deb), prigodnogo k
neposredstvennoj ustanovke paketnym menedzherom, libo v distributive
imeetsya sistema avtomaticheskogo obnovleniya paketov.
Esli zhe vam prosto hochetsya postavit' bolee svezhuyu versiyu yadra ili
peresobrat' yadro bez vsyakoj prichiny ("ubrat' lishnie drajvera",
"izuchit' process sborki" i t.p. prichinami ne schitayutsya ;-),
rekomenduetsya ser'ezno podumat', prezhde chem pristupat' k dejstviyam. Ne
stoit chinit' to, chto ne slomano. Ob®em trafika ru.linux, posvyashchennyj
problemam pri peresborke yadra ves'ma velik i ne nado eshche bol'she ego
uvelichivat' :-). Odnako obnovleniya yadra ot proizvoditelya vse-taki
ustanavlivat' rekomenduetsya v lyubom sluchae :-)
Itak, vy reshili samostoyatel'no skompilirovat'/ustanovit' yadro. Esli
ono development - ochen' rekomenduetsya podpisat'sya na spisok rassylki
linux-kernel. V lyubom sluchae zhelatel'no prosmatrivat' glazami patchi
pered ustanovkoj (osobenno na predmet dobavleniya novyh opcij i
izmenenij v kataloge Documentation). Eshche krajne rekomenduetsya
ostavlyat' staroe yadro i delat' v lilo otdel'nyj target tipa oldlinux,
na nego pokazyvayushchij. Pri smene stabil'noj serii na bolee novuyu
stabil'nuyu nado prochest' Documentation/Changes - kak minimum. A luchshe
- vse iz etogo kataloga, chto otnositsya k vashemu zhelezu i softu.
4.2. Kak proizvesti kompilyaciyu yadra? |to zalozheno v ustanovkah
linuksa ili zdes' est' kakie hitrosti?
cd /usr/src/linux
Opcii, s kotorymi kompiliruetsya yadro (tip processora, drajvery kotorye
nuzhno vklyuchit' (vozmozhno v vide modulej) i eshche sotni drugih veshchej),
zadayutsya v fajle /usr/src/linux/.config. Tak vot, zhelatel'no ne
sozdavat' ego samomu s nulya (osobenno, esli vy sobiraete yadro
pervyj/vtoroj/tretij raz v zhizni ili nalozhili patch na ishodniki iz
kotoryh uzhe chto-to kompilirovali), a vzyat' za osnovu .config s kotorym
bylo sobrano staroe, rabotayushchee yadro. Pri etom vam prezhde vsego nado
vydat' komandu make oldconfig - ona ispol'zuetsya, kogda est' .config
ot _drugoj_ (obychno, bolee staroj) versii yadra, i nuzhno prosto
poluchit' tochno takoj zhe dlya tekushchej (vozmozhno, otvetiv na paru
voprosov o teh fichah, kotoryh v starom ne bylo), ne otvechaya zanovo na
vse tri sotni voprosov. Zatem vydajte make menuconfig i isprav'te te
opcii, radi kotoryh vy sobstvenno i reshili peresobrat' yadro.
Esli vy ispol'zuete Red Hat i hotite vospol'zovat'sya temi .config, c
pomoshch'yu kotoryh byli sobrany yadra v etom distributive, to voz'mite ih
iz kernel-sources-*.i386.rpm/usr/src/linux/configs/
Zatem:
make dep
make clean
make zImage (make bzImage dlya yader versij > 2.2)
make modules
Esli u vas ran'she stoyala eta zhe versiya yadra, to udalite starye moduli
ot etogo yadra (/lib/modules/versiya).
make modules_install
/usr/src/linux/arch/i386/boot/(b)zImage - i est' svezhesobrannoe yadro.
Ego teper' mozhno poinstalirovat' na mesto starogo. Hotya luchshe snachala
poprobovat', rabotaet li ono. Nuzhno dobavit' v lilo.conf eshche odin
vybor - naprimer, linux.test, - kotoryj beret yadro pryamo iz
/usr/src/linux/arch/i386/boot/zImage.
(Valentin Nechayev <mailto:nnlx@nn.kiev.ua>)
YA ppedlagayu dpugoj metod - ppovepen tol'ko dlya Red Hat'a.
cd /usr/src/linux-nuzhnaya_vepsiya
vi Makefile i zamenit' extraversion na svoj - nappimep,
EXTRAVERSION = -vasya1
posle etogo vse to zhe samoe, no
1. make modules_install postavitsya v svoj otdel'nyj katalog
2. ustanovka (ppavil'naya!) yadpa v /boot sdelaetsya sama chepez make
install
3. eto rabotaet tol'ko s yadrami 2.2.x (u 2.0 prosto net parametra
EXTRAVERSION) i, po krajnej mere teoreticheski, mozhet "slomat'"
chej-nibud' avtokonfigurator, rasschityvayushchij na n.n.nn po uname -r.
(Alexander Pevzner, 2:5020/59.9)
Tem, kto otvazhilsya na sborku yadra lichno pod sebya, sovetuem obratit'
vnimanie na sleduyushchie fakty:
· V nachale yadernogo Makefile (/usr/src/linux/Makefile) est'
peremennaya EXTRAVERSION. Ispol'zuya ee mozhno poluchat' yadra odnoj i
toj zhe versii, no s nazvaniyami, otlichayushchimisya suffiksom (napr,
2.2.12-20 i 2.2.12-vasya). |to horosho, poskol'ku pozvolyaet
sohranit' ekzemplyar yadra, kotoryj zavedomo umeet gruzit'sya. Rodnoe
yadro, s kotorym stavilas' sistema, luchshe sohranit' na sluchaj vsyakih
nepriyatnostej. Hado tol'ko ne zabyt' dobavit' dopolnitel'nuyu zapis'
v /etc/lilo.conf (dostatochno imet' vsego 2 zapisi: na rodnoe yadro i
na svezhesobrannoe).
· V redhate v /usr/src/linux pravil'no rabotaet make install i make
modules_install. YAdro i moduli kopiruyutsya v nuzhnoe mesto i
pravil'no nastraivayutsya simvolicheskie linki. Prichem, chto priyatno,
eto otnositsya ne tol'ko k yadram, poluchennym v vide .src.rpm, no i
esli prosto vzyat' yadro s ftp.kernel.org, vse zarabotaet. (etu
pravil'nuyu ustanovku osushchestvlyaet redhatovskij skript
/sbin/installkernel, vhodyashchij v paket s firmennym yadrom redhata,
poetomu pered make install zhelatel'no ubedit'sya v nalichii etogo
skripta (Alex Kanavin).) EXTRAVERSION v etih yadrah po defoltu ne
vystavleno, poetomu yadro budet poluchat'sya pod imenem navrode 2.2.13
(konechno, EXTRAVERSION pri zhelanii mozhno vystavit')
· Kogda yadro sobiraetsya v dereve, v kotorom uzhe sobiralos' yadro,
ochen' rekomenduetsya posle make *config skazat' make clean. Vo
vsyakom sluchae, esli kakie-to chasti yadra byli pereseleny v moduli
ili obratno, nado delat' eto _obyazatel'no_, inache est' shans sobrat'
nepravil'noe (ne rabotayushchee) yadro.
4.3. Kak izmenit' maksimal'noe kolichestvo otkrytyh fajlov?
V yadrah 2.2.10 i bolee novyh:
echo 30000 > /proc/sys/fs/file-max
echo 30000 > /proc/sys/fs/inode-max
i sdelat' ulimit -n 2000 pered zapuskom nuzhnogo demona. Cifry
podbirayutsya pod zadachu.
(Yuriy Kaminsky 2:5020/517.21)
I ne zabyt', chto esli programma ispol'zuet select, to budet
bol'shoj-bol'shoj oblom. Vplot' do zatiraniya steka i padeniya (at least
glibc-2.0 - sm. /usr/include/gnu/types.h - i izhe s nim; ispravleniya
#define __FD_SETSIZE 1024
na nuzhnoe chislo i peresborki vseh prilozhenij i bibliotek , kotorye
mogut zayuzat' select dlya deskriptorov vyshe 1024 budet dostatochno
[t.e., skazhem, esli X'ovomu prilozheniyu nuzhno otkryvat' bolee 1024
fajlov, to neobhodimo peresobirat' Xlib i Xt kak minimum]; ah, da,
samu libc peresobirat', vrode, ne nuzhno).
4.4. Podskazhite, pls, www/ftp gde mozhno poluchit' doku po
administrirovaniyu Linux'a.
<http://www.linuxdoc.org> Ha russkom yazyke - posmotrite na
<http://linux-ve.chat.ru>
4.5. Q/A: development site dlya libc, binutils, ld.so
<ftp://ftp.yggdrasil.com/private/hjl> - esli komu-to ponadobilas'
tuhlyatina. V chastnosti, imenno tam nado iskat' libc5 poslednih versij)
Sejchas vse eto lezhit na <ftp://ftp.kernel.org/pub/linux/software/> i
ego lokal'nyh mirrorah. ( <ftp://ftp.ru.kernel.org> ne mirrorit .bz2
(na 20% men'she gz, mnogoe iz kataloga linux/kernel/people v .gz ne
vykladyvaetsya), poetomu vmesto <ftp://ftp.ru.kernel.org> luchshe
pol'zovat'sya <ftp://ftp.rmt.ru> ili <http://ftp.filesearch.ru>)
4.6. Kak zagruzhaetsya sistema?
Ochen' korotko, podrobnee mozhno prochest' v vyshenazvannyh istochnikah:
yadro montiruet kornevuyu fajlovuyu sistemu, i zapuskaet pervyj process
init, razyskav ego ispolnyaemyj fajl v neskol'kih standartnyh mestah.
|tot process chitaet svoj konfiguracionnyj fajl /etc/inittab (man
inittab) i zapuskaet vse ostal'nye processy soglasno instrukciyam iz
etogo fajla. Obychno v inittab propisyvaetsya zapusk processov *getty,
upravlyayushchih terminalami, virtual'nymi konsolyami i posledovatel'nymi
liniyami (to est' imenno *getty otvetstvenny za zapusk login
(sravnivayushchij imya i parol', ukazannye pol'zovatelem, s tem, chto
propisano v /etc/passwd i v sluchae uspeha zapuskayushchij sootv. shell),
pppd, ifcico i t.d., chto imenno zapuskaetsya i v kakom sluchae - zavisit
ot konkretnogo getty). Dlya virtual'nyh konsolej obychno ispol'zuetsya
mingetty, dlya modemov - mgetty.
Krome togo, zdes' zhe propisyvayutsya skripty, zapuskayushchiesya na razlichnyh
t.n. "urovnyah vypolneniya", iz kotoryh v svoyu ochered' zapuskayutsya vse
ostal'nye sistemnye servisy, osushchestvlyaetsya nastrojka seti, proverka
fajlovoj sistemy i t.d. Sushchestvuet dva podhoda k organizacii etih
urovnej i skriptov: BSD i SysV. Oba oni opisany v knizhke |. Nemet (sm.
vyshe), a pro SysV mozhno eshche prochest' na
<http://www.sensi.org/~alec/unix/redhat/sysv-init.html>.
4.7. Posle udaleniya /var/log/syslog i /var/log/messages i
pepezagpuzki eti fajly ne popolnyayutsya i nekotopye soobshcheniya idut na
konsol'. Kak ppavil'no chistit' log-i?
Logi mogut byt' ot syslog'a i ot otdel'nyh demonov. syslog'ovye logi
chistyatsya tak:
mv $log ${log}.old (ili rm esli ne nuzhen, no luchshe sohpanit')
touch $log
kill -1 `cat /var/run/syslogd.pid`
Process avtomatiziruetsya s pomoshch'yu logrotate.
Kak chistit' ne-syslog'ovye logi - tol'ko RTFM na konkpetnuyu tulzu i
nikak inache.
4.8. Gde vzyat' dokumentaciyu na pam?
<http://www.kernel.org/pub/linux/libs/pam/>
4.9. V BSD s pomoshch'yu su rutom mozhet stanovit'sya tol'ko user,
ppopisannyj v gpuppe wheel, a v Linux'e - kto ugodno. Hehoposho eto
kak-to. Mozhet byt', est' put' eto isppavit'?
Nado stavit' su ne iz gnu sh_util, kotoraya v principe etogo ne umeet
(RTFmanpage na predmet, po ch'ej milosti), a kakuyu-nibud' druguyu. No
ezheli su pol'zuet pam (v Red Hat, nappimep i osnovannyh na nem
distributivah, a takzhe v Debian 2.2), podobnoe povedenie dostigaetsya
dobavleniem stpochki:
su auth required pam_wheel.so
v /etc/pam.conf, esli pam dpevnij, ili:
auth required pam_wheel.so
v /etc/pam.d/su, esli ponovee.
Takoj mehanizm poluchshe budet, poskol'ku povedenie mozhno vap'ipovat' na
hodu. Happimep, manipulipuya papametpami 'group' i 'deny', pazpeshit'
eto delat' vsem, kpome odnoj gpuppy:
pam_wheel.so group=guest deny
Ppavda, modul' etot stpannyj, zabyvaet smotpet' na gid, a smotpit
tol'ko na groups... A mozhet tak i nado...
V Debian 2.1 nado postavit' paketik secure-su i posmotret' na fajl
suauth.
V Slackware ot 3.3 (gapantipovano) eto peshaetsya putem pedaktipovaniya
/etc/login.defs Huzhno, chto by bylo
SU_WHEEL_ONLY yes
togda su smogut ispol'zovat' tol'ko vhodyashchie v gpuppu root. V
slakvari ot 3.4 (do 4.0, gde su opyat' iz drugoj banki) luchshe prochest'
sperva man 5 suauth - tam vozmozhna gorazdo bolee gibkaya nastrojka su,
chem tupaya "gruppa nol'".
Esli pamyat' ne vpet, to eto zhe sppavedlivo v SuSe 6.x. V SuSE 5.3 su
iz sh_util, so vsemi vytekayushchimi. K sozhaleniyu, su, ponimayushchaya
login.defs i suauth, stradaet drugimi boleznyami - v chastnosti, ne
imeet udobnyh klyuchikov -m i -s. Esli sek'yuriti vazhnee udobstva...
4.10. Kak mozhno ostavlyat' v sisteme kakoe-to kolichestvo virtual'noj
pamyati v zarezervirovannom sostoyanii (esli zadacha zapushchena ne iz-pod
root'a), ili voobshche limitirovat' pamyat' dlya kazhdogo pol'zovatelya?
man setrlimit
4.11. Kak sdelat' tak, chtoby programmy XXXX i YYYY mogli odnovremenno
ispol'zovat' modem ili eshche chto-to na terminal'nom portu?
Vo-pervyh, oni dolzhny ispol'zovat' odno i to zhe imya fajla dlya dostupa
k portu, skazhem, /dev/modem. Esli odna programma ispol'zuet
/dev/ttyS0, a drugaya /dev/cua0 (a tret'ya -- /dev/modem, kotoryj link
na odin iz etih dvuh :), - to oni tochno perederutsya.
Vo-vtoryh, oni dolzhny ispol'zovat' mehanizm lock-fajlov. Havernoe, vse
izvestnye programmy ego ispol'zuyut, no vse zhe.
V-tret'ih, oni dolzhny videt' loki drug druga. To est', v ih
konfiguracii dolzhen byt' ukazan odin i tot zhe katalog dlya sozdaniya
lokov, oni dolzhny ispol'zovat' odin i tot zhe format imen fajlov
(obychno LCK..<imya fajla porta>), odin i tot zhe format samih fajlov
(obychno desyat' simvolov -- PID programmy v ASCII), i imet' privilegii,
dostatochnye dlya sozdaniya i udaleniya svoih lok-fajlov.