TOP UNIX-V DDNOS NOS-2 UNIX-V.1 DOMAIN NTOS UNIX-V.2 DOS OS/DDP UNIX-V.3 EDX OS/2 UNIX-PC ELF OS4 UNKNOWN EMBOS OS86 UT2D EMMOS OSX V EPOS PCDOS VM FOONEX PERQ/OS VM/370 FUZZ PLI VM/CMS GCOS PSDOS/MIT VM/SP GPOS PRIMOS VMS HDOS RMX/RDOS VMS/EUNICE IMAGEN ROS VRTX INTERCOM RSX11M WAITS IMPRESS RTE-A WANG INTERLISP SATOPS WIN32 IOS SCO-XENIX/386 X11R3 IRIX SCS XDE ISI-68020 SIMP XENIX ITS SUN Appendix C Installing DNS on a Sun when running NIS ==================== 2) How to get DNS to be used when running NIS ? First setup the appropriate /etc/resolv.conf file. Something like this should do the "trick". ; ; Data file for a client. ; domain local domain nameserver address of primary domain nameserver nameserver address of secondary domain nameserver where: "local domain" is the domain part of the hostnames. For example, if your hostname is "thor.ece.uc.edu" your "local domain" is "ece.uc.edu". You will need to put a copy of this resolv.conf on all NIS(YP) servers including slaves. Under SunOS 4.1 and greater, change the "B=" at the top of the /var/yp/Makefile to "B=-b" and setup NIS in the usual fashion. You will need reboot or restart ypserv for these changes to take affect. Under 4.0.x, edit the Makefile or apply the following "diff": *** Makefile.orig Wed Jan 10 13:22:11 1990 --- Makefile Wed Jan 10 13:22:01 1990 *************** *** 63 **** ! | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byname; \ --- 63 ---- ! | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byname; \ *************** *** 66 **** ! | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byaddr; \ --- 66 ---- ! | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byaddr; \ ==================== -- Craig Richmond. Computer Officer - Dept of Economics (morning) 380 3860 University of Western Australia Dept of Education (afternoon) 2368 craig@ecel.uwa.edu.au Dvorak Keyboards RULE! "Messes are only acceptable if users make them. Applications aren't allowed this freedom" I.M.VI 2-4 . &dDUUCP - Unix to Unix Copy&d@ Sistema peresylki fajlov po telefonu. Esli uucp pravil'no skonfigurirovano, to ego ispol'zovanie vyglyadit primerno tak: uucp -r moj_fajl 'pulsar!fajl_tam' pereshlet moj_fajl na udalennuyu mashinu pulsar. Hotya, skoree vsego ne sdelaet, iz-za ogranichenij na prava dostupa. A, vprochem, takaya komanda skoree vsego srabotaet: uucp -r moj_fajl 'pulsar!~' cherez nekotoroe vremya etot fajl vy smozhete obnaruzhit' na mashine pulsar v kataloge /usr/spool/uucppublic/ v etot katalog razresheno kopirovanie s udalennyh mashin, dlya ne- go ispol'zuetsya special'noe oboznachenie: "~" Pust' vas ne udivlyaet, chto v komande uucp ispol'zovalis' odi- narnye kavychki. Oni nuzhny, chtoby zaekranirovat' "!" i "~" ot vashego komandnogo interpretatora ksh ili bash. Klyuch -r v koman- de uucp nuzhen, chtoby NE ZASTAVLYATX nashu mashinu nemedlenno nachi- nat' zvonit' na pulsar. Ona sama pozvonit, v predusmotrennoe dlya etogo vremya. uucp podderzhivaetsya na dvuh urovnyah: 1. Pol'zovatel'skij. |to komandy uucp - postanovka fajla v ochered' na udalennuyu peresylku, i uux - postanovka v ochered' na peresylku udalennoj komandy. 2. Sistemnyj. Periodicheski, avtomaticheski zapuskaetsya demon uucico - (UUCP Copy in Copy out). On sozvanivaetsya s udalennymi mashinami po telefonu. Na udalennoj mashine takzhe zapuskaetsya "vstrechnyj" demon uucico. Nash demon "protalkivaet" na udalennuyu mashinu vse fajly, kotorye k etomu vremeni nakopilis' v ocheredi na otpravku tuda. Posle etogo on "prinimaet" fajly, kotorye prigotovila dlya nas udalennaya mashina (ih k nam protalkivaet "vstrechnyj" demon uucico, a nash prinimaet). Posle etogo seans uucico zakanchivaetsya. A pol'zovateli obnaruzhivayut, chto u nih voznikli novye fajly. Predpolagaetsya, chto sistemnye administratory na nashej i na udalennoj mashine ne zabyli pravil'no opisat' i prokonfiguriro- vat' sistemu UUCP. &dDKonfiguraciya nashej mashiny kak UUCP klienta.&d@ Posle etogo nasha mashina smozhet zvonit' na udalennye mashiny i posylat'/zabirat' ottuda fajly. Dlya etogo my dolzhny zadat': 1. Nashe sobstvennoe UUCP imya. 2. Imya(imena) udalennoj(yh) UUCP sistemy. 3. Telefonnyj nomer(a), po kotoromu nuzhno tuda zvonit'. 4. Login i parol', kotorye vydeleny tam dlya nashego uucp-account'a. 5. Port, k kotoromu podklyuchen nash modem. 6. Naborshchik - opisanie "AT" komand dlya upravleniya nashim modemom. |ti dannye zadayutsya v neskol'kih konfiguracionnyh fajlah, koto- rye dolzhny lezhat' v kataloge /etc/uucp/ (ili /usr/lib/uucp/ , ili /usr/lib/uucp/taylor_config ) (ili v kakom nibud' drugom, sm. man uucp dlya bolee tochnoj informacii). |to fajly: Config # zadaet imya nashej mashiny (i mnogoe drugoe) ; Systems # opisyvaet udalennye uucp-sistemy: imya, no- # mer telefona, uucp-logname, uucp-passwd ; Devices # porty, k kotorym podklyucheny modemy. Dialers # opisyvaet modemy-naborshchiki (sistemu AT-ko- # mand). (A v Linux oni nazyvayutsya: config, sys, port, dial) Itak, predstavim klassicheskij sluchaj. U vas odin Hayes-sovmes- timyj modem V32/V42bis na 14400 baud (GVC, ZyXEL, US- Robotics...), podklyuchennyj k posledovatel'nomu portu /dev/modem (esli u vas port nazyvaetsya /dev/contty03, vam nikto ne meshaet sdelat' simvolicheskij link ln -s /dev/contty03 /dev/modem ne tak li ?). Imya vashego uzla fedfuru. VNIMANIE. Na bol'shinstve Unix-ov vydeleny razdel'nye special'- nye fajly dlya odnogo i togo-zhe porta: terminal'naya liniya (dlya podklyucheniya terminala ili modema, NA kotoryj budut zvonit' - ispol'zuetsya dlya getty ili ttymon), i liniya s modemnym upravle- niem, na vyhod - naprimer, chtob zvonit' NARUZHU modemom. |ti special'nye fajly i nazyvayutsya po raznomu, naprimer: SunOS: /dev/ttyy01 IN, /dev/ttyz01 OUT Linux: /dev/ttyS1 IN, /dev/cua1 OUT ISC: /dev/ttyFD01 IN, /dev/ttyFM01 OUT SVR4/88: /dev/contty00 IN, /dev/??????? OUT ###sleduyushchij abzac napisan "melkim shriftom"(mozhno ne chitat')### Na samom dele vse ne sovsem tak. Citiruyu Linux-Serial-HOWTO: > There has been some discussion on the merits of /dev/mouse > and /dev/modem. I strongly discourage the use of these links. > In particular, if you are planning on using your modem for > dialin you will run into problems because the lock files will > not work correctly if you use /dev/modem. Also, Taylor UUCP does not support symlinks either. Odnako uugetty pozvolyaet korrektno otrabatyvat' etu situaciyu. Sm. parametr ALTLOCK v /etc/defaults/getty fajle. ################_konec_"melkogo shrifta"_####################### Vam nado podklyuchit'sya k dvum uucp-uzlam: 1: Uzel Relkom, imya uzla kiae, telefony: 9469984, 9469994. Vy zaregistrirovany tam pod imenem/parolem uufedurp/ABCd8 2: Vashe moskovskoe otdelenie, imya uzla fedfond, telefon 095- 125-7623. Vy zaregistrirovany tam pod imenem/parolem uufedurp/KLmn10 V kataloge /etc/uucp redaktiruem fajly Systems, Devices, Dialers Systems: ------- Udalennye mashiny ----------------------------- kiae Any modem1 19200 946-9984 "" \n\r\d\r\d\r ogin:-BREAK-ogin: uufedurp ssword: ABCd8 fedfond Any modem1 19200 8w095-125-7623 "" \n\r ogin:-BREAK-ogin: uufedurp ssword: KLmn10 Devices: --------------- Opisanie portov ---------------------- modem1 contty03 - 19200 gvc1440 Dialers: --------------- Komandy modemov ---------------------- gvc1440 =,-, "" \M\dATZ\r\c OK\r \EATDP\T\r\c CONNECT \m\c ---------------- |to vse -------------------------------------- ###sleduyushchij abzac napisan "melkim shriftom"(mozhno ne chitat')### A dal'she idet opisanie Taylor-uucp. Problema v tom, chto v stan- dartnoj postavke SVR4/88 _net_ Taylor-uucp, a est' tol'ko t.n. HoneyDanBer-uucp, on zhe BNU (Basic Networking Utilities). Taylor novee i gibche, k tomu zhe podderzhivaet dva formata konfi- guracionnyh fajlov - tradicionnyj (Config, Systems, Devices, Dialers, ...) i svoj (config, sys, port, dial, ...). Est' kon- verter tuda-obratno. V Linuxe Taylor-uucp skompilirovan tak, chtoby snachala iskat' Taylor-konfiguraciyu v /usr/lib/uucp/taylor_config/, esli tam nichego net - iskat' HDB-konfiguraciyu v /usr/lib/uucp/hdb_config/. IMHO glavnyj iz®yan HDB - nevozmozhnost' ukazyvat' al'ternativnye nomera tele- fonov. ################_konec_"melkogo shrifta"_####################### ###sleduyushchij abzac napisan "melkim shriftom"### Esli vy ispol'zuete ne ustarevshij BNU-uucp, a Taylor-uucp 1.05: V kataloge /usr/lib/uucp/taylor_config sozdaem fajly config, sys, port, dial sleduyushchego soderzhaniya: /* Primechanie: v distributivah RedHat Linux konfiguracionnye fajly uucp dolzhny lezhat' v /etc/uucp/ */ config: ------------------------------------------------------- uuname fedfuru # Nashe sobstvennoe imya sys: ------- Udalennye mashiny --------------------------------- system kiae # Uzel Relkom ############################ myname fedfuru time Any port modem # Imya opisaniya porta v fajle port speed 38400 chat ogin:-BREAK-ogin: uufedurp ssword: ABCd8 phone 946-9984 alternate # Vtoroj telefonnyj nomer. phone 946-9994 system fedfond # Moskovskoe otdelenie ################## time Any myname fedfuru port modem # Imya opisaniya porta v fajle port speed 38400 chat ogin:-BREAK-ogin: uufedurp ssword: KLmn10 phone 8w095-125-7623 port: --------------- Opisanie portov ------------------------ port modem # Oboznachenie porta iz fajla sys type modem device /dev/modem speed 38400 dialer gvc1440 # Imya naborshchika-modema v fajle dial dial: --------------- Komandy modemov ------------------------ dialer gvc1440 # Oboznachenie naborshchika iz fajla port # Stroka inicializacii modema. # Vmesto \T budet podstavlen telefonnyj nomer chat "" ATZ OK ATH0E0Q0 OK ATDP\T CONNECT # ATZ - zagruzit' profile 0 # ATH0 - povesit' trubku # ATE0 - no echo # ATQ0 - vyvodit' kod vozvrata chat-fail BUSY # Vosprinimat' kak oshibku nabora chat-fail ERROR chat-fail NO\sCARRIER chat-fail NO\sDIALTONE --------------------------------------------------------------- ################_konec_"melkogo shrifta"_####################### Vse. Klientskaya chast' UUCP skonfigurirovana. Teper', chtoby "protolknut'" poslannye fajly, dostatochno periodicheski vypolnyat' komandy: uucico -s kiae uucico -s fedfond A eshche luchshe, dobavit' eti komandy v crontab, chtoby oni vypolnyalis' avtomaticheski, po neskol'ko raz v sutki. &dDKonfigurirovanie UUCP s ispol'zovaniem sysadm&d@. Vse vysheperechislennye nastrojki mozhno sdelat', ispol'zuya utili- tu sistemnogo administratora sysadm. Nado vojti v menyu network_services / basic_network &dDKonfigurirovanie servernoj chasti UUCP.&d@ Itak, my uzhe mozhem zvonit' na chuzhie mashiny, i peresylat' na nih fajly. Teper' nuzhno sdelat', chtoby chuzhie mashiny (klienty) mogli zvonit' nam. Dlya etogo nuzhno: 1: Imet' opisanie zvonyashchej nam uucp-sistemy v fajle Systems - dlya klienta takoe zhe, kak i dlya servera. 2: Proverit' prava dostupa dlya klienta v fajle Permitions 2: Zavesti dlya nego special'nyj uucp-login 3: Ubedit'sya, chto modem stoit v "Auto-answer" rezhime, i na port /dev/modem zapushchena programma getty (ili ttymon), pozvolyayu- shchaya loginit'sya po telefonu na port /dev/modem 1. Opisanie dobavlyaetsya v fajl Systems, (nomer telefona i nazvanie porta ne obyazatel'ny), esli my sami ne sobiraemsya tuda zvonit', no ya by posovetoval ih vpisat', dlya edinoobraziya. 2. V fajle /etc/passwd zavesti strochku vida: uupetrov:x:1002:14:UU Petrov:/var/spool/uucp:/usr/lib/uucp/uucico vypolnit' komandy: pwconv passwd uupetrov 3. Lyuboj terminal'noj programmoj "vojti" v modemnyj port i vy- polnit' komandy atz0 # Zagruzit' pol'zovatel'skij profile 0 ats0=1 # Registr0=1 - snimat' trubku posle 1-go zvonka at&w0 # Sohranit' tekushchij setup v profile 0 at&y0 # CHtoby pri vklyuchenii pitaniya zagruzhalsya profajl 0 # at&f # zagruzit' zavodskie ustanovki, esli vy zaputalis' # s profajlami, mozhno sdelat' modemu "reset" Vvidu otsutstviya kommunikacionnyh programm v SVR4 (za isklyucheniem sumasshedshego "cu"), ispol'zujte "echo". echo atz0 > /dev/modem echo ats0=0 > /dev/modem echo at&w0 > /dev/modem # i tak dalee A eshche luchshe gold, tam est' rezhim pryamoj svyazi s lyubym portom. 4. V fajle /etc/inittab imet' strochku vida: c3:234:respawn:/usr/lib/saf/ttymon -g -d /dev/modem -l contty &dDCHto gde lezhit v sisteme UUCP.&d@ /usr/bin/uucp - pereslat' fajly s/na udalennuyu uucp-sistemu /usr/bin/uux - vypolnit' komandu na udalennoj uucp-sisteme /usr/bin/uustat - statistika po vypolnennym peresylkam /usr/lib/uucp/uu* - sistemnye utility UUCP /etc/uucp/ - katalog konfiguracionnyh fajlov UUCP /usr/lib/uucp/taylor_config - konfiguraciya UUCP v Linux /usr/lib/uucp/ - konfiguraciya UUCP v drugih sistemah /var/spool/uucppublic - katalog v kotoryj mozhno peresylat' fajly s udalennyh mashin /usr/spool/mqueue - ocheredi otpravlyaemoj elektronnoj pochty /usr/ucblib/mqueue - ili zdes' eta ochered' ? /var/spool/uucp/"mashina" - ochered' fajlov na otpravku na "mashinu" /var/spool/uucp/.Log - statistika o rabote uucp &dDOstalos' nastroit' nashu elektronnuyu pochtu.&d@ Esli u vas samyj prostejshij sluchaj: vsya vasha pochta prohodit che- rez odin "znayushchij" host, s kotorym vy soedineny po uucp, to na- do v fajle /etc/sendmail.cf imet' takuyu stroku: . . . # "Smart" relay host (may be null) DSuucp-dom:kiae . . . V etom sluchae vsya vasha vneshnyaya pochta (t.e. otpravlyaemaya za predely vashej lokal'noj seti) budet perepravlyat'sya po uucp na uucp-uzel "kiae" i dal'nejshej ee dostavkoj budet ozabochen imenno kiae. Predpolagaetsya, chto on uspeshno spravitsya s etoj zadachej. A eshche chtoby bylo opisanie uucp-dom (nizhe v tom zhe fajle). Kstati, chtoby vseh okonchatel'no zaputat', sendmail.cf na Moton role lezhit vovse ne v /etc/, a v /usr/ucblib/. Esli u vas kakoj-libo drugoj sluchaj - to eto - tyazhelyj sluchaj. Derzajte, uspehov vam! # I nado sdelat', chtob sendmail ne otrezal 8-j bit u posylaemoj pochty # Esli sendmail8.x.x, to v sendmail.cf: # strip message body to 7 bits on input? O7False # A eshche byvaet, chto sendmail ne znaet, kak pravil'no nazyvaetsya # nasha mashina. Togda my pishem chto-to v takom stile: Cwlocalhost feduru.urup.ru feduru.mss.ru &dDProverka rabotosposobnosti i otladka konfiguracii.&d@ Dlya nachala proverim, pravil'no li podsoedinen modem. Zapuskaem programmu cu - emulyator terminala. cu -l /dev/modem # Ili kak tam u vas etot port nazyvaetsya Posle etogo vy pereklyuchites' na rabotu so svoim modemnym por- tom. Vse, chto vy budete nabirat' s klaviatury, budet perenap- ravlyat'sya v port /dev/modem , vse, chto "prihodit" s etogo por- ta, budet risovat'sya na vashem terminale. Poprobujte modemom nabrat' telefonnyj nomer atdp100 Prover'te, pravil'no li skonfigurirovan "port" modema i opisa- nie sistemy v fajle Systems. cu pulsar Prover'te prava dostupa k fajlam /dev/modem, /dev/contty*. Dol- zhno byt' (???): crw-rw---- 1 root uucp ... /dev/contty0 crw-rw---- 1 root uucp ... /dev/modem Zapustite uucico s maksimal'nym urovnem vydachi otladochnoj in- formacii. Zapuskat' nado iz pod pol'zovatelya uucp /usr/lib/uucp/uucico -r1 -x9 -f -s pulsar /usr/lib/uucp/uucico -x all -f -s kiae A zatem posmotrite na soderzhanie fajlov so statistikoj uucp v kataloge /var/spool/uucp : .Admin/audit.local .Log/ .Status/ ERRLOG LOGFILE SYSLOG Naprimer, takoj komandoj tail -f /var/uucp/.Admin/audit.local & tail -f /var/uucp/.Log/uucico/kiae &dDPo rezul'tatam perepiski&d@. ###sleduyushchij abzac napisan "melkim shriftom"(mozhno ne chitat')#### Dmitry Mayorov Compulsory Health Insurance Fund Phone: +7 (812) 112-3517 St. Petersburg, Russia > Naveshal fil'trov na sendmail, rmail, > a vot eto neponyatno. Ili oni nauchilis' vse iz koi8 v iso pere- > vorachivat' na letu ? Net, konechno, potrebovalos' lechit'. Delo sil'no uprostilo to obstoyatel'stvo, chto vnutri seti vezde ISO. Perekodirovat' po- etomu mne nado tol'ko to, chto idet cherez UUCP, to bish' naruzhu. Dlya etogo prishlos': 1. Popravit' sendmail.cf: # RelCom UUCP - with ISO 8859-5 to KOI-8 translation Muucp-koi, P=/usr/local/bin/_uux, F=mDFMhu, S=52/31, R=21, M=100000, ^^^^^^^^^^^^^^^^^^^ moj, sm. nizhe A=_uux - -r -a$f -gC $h!rmail ($u) 2. Sdelat' /usr/local/bin/_uux iz treh strok: #!/bin/sh PATH=:/usr/bin:/usr/local/bin:/usr/ucb:/bin: /usr/local/bin/iso-koi | /usr/bin/uux $* (iso-koi - ponyatno kakoj fil'tr) |to vse, na samom dele, ves'ma gryaznyj hack - vryad li stoit ego vklyuchat' v uchebnik. Ono, konechno, rabotaet, no vot nado po krajnej mere eshche i pravil'nyj kod vozvrata kak-to obespechit' - s proverkoj oshibok i prochimi fenechkami. CHtoby prinimaemaya pochta iz KOI prevrashchalas' v ISO, dostatochno: 1. Pereimenovat' rmail v /usr/local/bin/__rmail; 2. Sdelat' svoj rmail, tozhe iz treh strochek: #!/bin/sh PATH=:/usr/bin:/usr/local/bin:/usr/ucb:/bin: /usr/local/bin/koi-iso | /usr/local/bin/__rmail $* Vysheukazannuyu ekzekuciyu nado proizvodit' imenno nad rmail, po- tomu chto rbmail proveryaet kontrol'nye summy. A vot rbmail v SVR4/88 sovsem net. Nado iskat' ishodniki, sobi- rat'... A RelCom (po krajnej mere moj provajder) imenno ego pol'zuet. |to tret'ya prichina (posle otsutstviya Taylor-uucp i udobnogo Mail-user agenta), po kotoroj ya ne stal podnimat' uucp/e-mail na Motorole. -- Dmitry Mayorov Compulsory Health Insurance Fund Phone: +7 (812) 112-3517 St. Petersburg, Russia -- Konec citaty -- ################_konec_"melkogo shrifta"_####################### &dDSolaris: nastrojka uucp po direct line&d@ V fajle Systems na Solyarke udalennaya mashina opisyvaetsya tak: ranisi Any dirt06 9600 unused "" P_ZERO "" \n\c ogin:-\n\c-ogin: uuintra\n\c ssword: parolf9f10\n\c "" P_ZERO Po sravneniyu s normal'nym tailor-uucp prestarelyj solyarkin po pryamomu kabelyu vykinul neskol'ko fortelej: Ne zahotel idti naruzhu s 38400, prishlos' stavit' 9600 Posylaemyj ^M v konce kazhdoj stroki chat-a prinimayushchij Linux ponimat' otkazalsya, prishlos' delat' v konce \n\c Rabotat' stal tol'ko s nasil'stvenno vzvedennym P_ZERO - "no parity" - bez etogo na prieme vmesto latinicy poluchalas' 8-bitnaya rusica. V uucp-ovyj crontab stavim raz v 5 minut vyzov uucico 0,5,10,15,18,20,25,30,35,40,45,50,55 * * * * (\ /usr/lib/uucp/uucico -r1 -f -s ranisi ; sleep 30 ; \ /usr/lib/sendmail -q ) > /dev/null 2>&1 U solyarnogo uucico ne okazalos' klyucha "force" redial (-f - sovsem ne tot force, kotorogo hotelos' mne) &dDCHtob zastavit' uucico hodit' na telnetovskij port&d@ > v logah nablyudaetsya otkrovennyj musor: \177}\030\177} \177}#\177} port type pipe port command /bin/telnet -8E hostname &dDSecure uucp po tcp&d@ &dDVariant 1. port type tcp with ssh-port forwarding&d@ NA SERVERE: konfigurite uucp-tcp-server s localhost /etc/inetd.conf : uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/sbin/uucico -l /etc/hosts.allow : uucico: 127.0.0.1 # uucico zhelaet ego chitat', a rabotaet on s uid uucp - prihoditsya dat' read chmod og+r /etc/hosts.allow /etc/uucp/passwd : propisatx uu-login, parol' _neshifrovannyj_ uuyourlogin yourpasswd NA KLIENTE: konnekt budete delat' na localhost, a ssh delaet ego probros /etc/inetd.conf : uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/sbin/uucico -l /etc/hosts.allow : uucico: 127.0.0.1 /etc/uucp/port : opisat' port tcp-connect port tcp-connect type tcp service 540 /etc/uucp/sys : dobavit' tip porta . . . port tcp-connect address 127.0.0.1 chat ogin: \L ssword: \P alternate . . . "Pered upotrebleniem" zapuskaem iz pod root ssh s aktivizirovannym forward ssh1 -C -L 540:127.0.0.1:540 193.232.173.6 . &dDSistema pechati v Unix. LP spoolling&d@ (opisana sistema pechati v System V) Pechatat', konechno, mozhno i tak: cat file > /dev/lp. No v mnogopol'zovatel'skoj sisteme takoj fokus ne vsegda projdet. Poetomu pechataemyj fajl stavyat v ochered' na pechat'. Imeem printer. U printera est' IMYA_PRINTERA - pridumyvaetsya administratorom. PORT_PRINTERA - special'nyj fajl v kotoryj nado vytalkivat' dannye dlya pechati. INTERFEJSNAYA_PROGRAMMA - programma, kotoraya kak raz i budet etim zanimat'sya. Esli u nas normal'no skonfigurena sistema pechati, to pechatat'sya mozhno tak: lp -d IMYA_PRINTERA file ili, esli my hotim napechatat' na "default" printere cat file | lp lpstat Posmotret' v kakom sostoyanii ochered' pechati cancel [identifikator_zaprosa ...] [printer ...] Srubit' zapros na pechat' lp prosto skladyvaet fajl v SPOOL KATALOG. DEMON PECHATI lpsched obnaruzhivaet vnov' postupivshij fajl, stavit ego v ochered' na pechat', i, kogda ochered' dohodit, zapuskaet nakonec INTERFEJSNUYU PROGRAMMU, vhod kotoroj beretsya iz pechataemogo fajla, a ee vyvod perenapravlyaetsya na PORT_PRINTERA. &dDPodklyuchit' k sisteme novyj printer&d@ --------------------------------------------------------------- lpshut # na vremya rekonfiguracii nado "gasit'" lpsched lpadmin -pLJ_printer -i/usr/lib/lp/model/lj_print -v/dev/lpt2 ili lpadmin -pNash_Nowyj_Printer -mstandard -v/dev/contty enable Nash_Nowyj_Printer accept Nash_Nowyj_Printer lpsched # posle rekonfiguracii nado vnov' zapustit' lpsched --------------------------------------------------------------- accept - pozvolyaet stavit' v ochered' pechat' na etom printere enable - razreshaet pechatat' stoyashchie v ocheredi zadaniya klyuchi komandy lpadmin -pImya_Novogo_Printera -vPORT_PRINTERA -iINTERFEJSNAYA_PROGRAMMA - marshrutnoe imya programmy, kotoraya pechataet -mMODELX_PROGRAMMY - imya "modeli" takoj programmy, lezhashchej v kataloge /usr/lib/lp/model -o nobanner - razreshit' useru pisat' lp -o nobanner (rekomenduyu amputirovat' banner v interfejsnom skripte) -d printer - sdelat' printerom po umolchaniyu -?Udalennyj_host - mozhno podklyuchat' printer udalennoj mashiny -?Imya_printera_na_udalennom_hoste (klyuchi ne pomnyu, posmotret' v man) -s host!printer - dlya Solaris - podklyuchenie udalennogo printera # pered etim vpisat' printer v /etc/lp/Systems Vmeste s sistemoj nakopleniya vyvoda na printery postavlyayutsya obrazcy interfejsnyh programm. Oni predstavlyayut soboj shell-procedury, perekodiruyushchimi pechataemyj fajl v format sootvetstvuyushchego printera. &dDPrimery&d@ lpadmin -pstar1 -i/udd/print/inter -v/dev/xpit0 # lokal'nyj printer lpadmin -pstar1 -mdumb -v/dev/lpt1 &dDPodklyuchit' k sisteme udalennyj printer&d@ (klyuchi var'iruyutsya dlya raznyh versij Unix) HP-UX: lpadmin -pLJ_printer -?host -?printer Solaris: vpisat' udalennuyu mashinu v /etc/lp/Systems a zatem lpadmin -pLJ_printer -s 'host!printer' ; accept LJ_printer lpadmin -dstar1 # Ustanovit' printerom po umolchani` lpadmin -xstar1 # Likvidirovat' printer star1 &dDFajly&d@ /usr/lib/lp/model # Obrazcy interfejsnyh programm (modeli) /etc/lp # Katalog konfiguracii sistemy LP /var/spool/lp/* # Katalogi s ocheredyami man lpadmin # Estestvenno! . &dDGraficheskaya obolochka X-Windows System&d@ Dlya nachala nemnogo istorii i obshchih mest. Predstavim, chto nam nuzhno napisat' programmu, kotoraya budet rabotat' v graficheskom rezhime. Nam potrebuetsya: oprashivat' klaviaturu, snimat' sobytiya i koordinaty myshi, risovat' na ekrane, ... Kak eto delalos' na MS-DOSe? Ochen' prosto. Pishem odnu bol'shuyu programmu, v nej - vse: i logika, i obrabotka sobytij, i slezhenie za peremeshcheniyami myshi, nu, a kogda trebuetsya chto-to narisovat', my daem komandu na zapis' v porty EGA kontrollera, risuem piksel... CHerez god poyavlyaetsya kontroller VGA, eshche cherez god SVGA 800x600, 16 cvetov, vsled za nim UVGA 1024x768, 256 cvetov, zatem XGA 1280x1024, 16Mb cvetov... &dDOsnovnaya ideya X Windows&d@. Imeem dve nezavisimyh programmy. Odna umeet risovat' na graficheskom monitore, i voobshche, obsluzhivat' vse eto zhelezo. Ona nazyvaetsya X-server. Vtoraya programma - nazyvaem ee klient X Windows, risovat' fizicheski ne umeet. Zato ona znaet, chto imenno nado risovat', i umeet komandovat'. Komandy tipa: "narisovat' pryamougol'nik", "provesti liniyu", "otkryt' okno", "vyvesti simvol v zadannom fonte", "oprosit' koordinaty myshi", i t.p. peredayutsya X-serveru, a tot ih ispolnyaet - risuet. Format i specifikacii etih komand opublikovany, standartizovany, i shiroko izvestny. Vse vmeste oni nazyvayutsya "Protokol X Windows". Itak, povtorim. X-server. Programma, kotoraya napisana special'no pod konkretnoe fizicheskoe ustrojstvo (imeetsya v vidu - monitor, grafkontroller, mysh' i klaviatura), umeet na nem risovat', i umeet ponimat' komandy risovaniya po protokolu X Windows System. X-klient. Prikladnaya programma, obespechivayushchaya graficheskij interfejs s pol'zovatelem. Komandy dlya risovaniya na ekrane peredaet X serveru po protokolu X Windows System. X-terminal. YAshchik (monitor, grafkontroller, mysh', klaviatura, nu i, estestvenno, processor i operativnaya pamyat'), na kotorom zapushchena programma X-server. X-terminalom mozhet sluzhit' samaya obyknovennaya graficheskaya Unix-rabochaya stanciya, na kotoroj X server vypolnyaetsya, kak odna iz mnogih prikladnyh zadach. Specializirovannyj X-terminal - yashchik, na kotorom zapuskaetsya tol'ko X server, i nichego krome. Mozhno ispol'zovat' PC pod MS-DOSom, na kotorom zapushchena DOSovskaya programma, realizuyushchaya X server. Xlib - biblioteka C-ishnyh funkcij, realizuyushchih protokol X Windows System. S pomoshch'yu etoj biblioteki mozhno pisat' graficheskie programmy - X-klienty. CHto my s etogo imeem. My poluchaem universal'nyj GAPI - (Graphical Application Programming Interface) - sredstvo programmirovaniya graficheskih prilozhenij. Pol'zovatel'skie graficheskie programmy pri etom polnost'yu otvyazany ot zheleza, ot konkretnogo grafkontrollera. O zheleze pust' bespokoitsya X-server. Protokol X Windows umeet "ezdit'" po seti: naprimer po TCP/IP, ili po DEC-net. Poetomu Xserver mozhet krutit'sya na odnoj mashine, a X-klient - na drugoj. To est', kartinka risuetsya na odnoj mashine, a programma, kotoraya ee obespechivaet - krutitsya na drugoj. X-server sposoben obsluzhivat' srazu mnogo klientov, prichem vseh - odnovremenno. Na nashem graficheskom ekrane mozhet byt' otkryto srazu mnogo okon - kazhdoe okno porozhdaetsya ego sobstvennym X klientom. Klienty eti mogut byt' zapushcheny i na nashej mashine (k kotoroj podklyuchena graficheskaya podsistema), i na udalennyh ma- shinah, soedinennnyh s nami po seti. CHego nam eto stoit. Ponyatno chego. Resursov. X Windows ochen' lyubit resursy - pamyat', processor, disk. Sposoben s®est' ih v neogranichennyh koliches- tvah. A eshche ved' nado programmirovat'. (K schast'yu, ne vsem na- do). Kto videl, kak vyglyadyat programmy dlya MS Windows ili Mac, mozhet predstavit' sebe vneshnij vid ishodnyh tekstov X-ovoj programmy. &dDKak eto zapuskaetsya&d@. Pust' v nashej seti est' mashina s graficheskoj podsistemoj i X serverom, i setevoj adres etoj mashiny pcat107.foms.msk.ru na pcat107 nuzhno vypolnit' komandu: xhost + # razreshit' X-ovym programmam s LYUBOJ mashiny # risovat' na ekrane mashiny pcat107 Zapuskaem na nashem komp'yutere X-ovuyu programmu, tak, chtoby ee okoshko risovalos' na monitore pcat107. Dlya etogo na nashem komp'yutere nuzhno vypolnit' komandu: xterm -display pcat107:0.0 & &dDBiblioteki, Motif, i vojna kruglyh i kvadratnyh knopok&d@. Mozhno pisat' X-ovye programmy, ispol'zuya biblioteku Xlib. Mnogie tak i pishut, hotya eto ves'ma tyazhelo - uzh bol'no nevysok uroven' Xlib'a. V pomoshch' programmistam bylo sozdano neskol'ko toolkit'ov - bibliotek bolee vysokogo urovnya, v kotoryh reali- zovany razlichnye widget'y. Widget - neperevodimyj termin X Windows. Skleen iz dvuh slov - Window i Gadget (prisposoblenie), yavlyaetsya graficheskim ob®ektom s privyazannymi k nemu svojstvami i reakciyami na dejstviya pol'zovatelya. Primery widgetow: "knopka", "menyushka", "okoshko s tekstom", "linejka prokrutki",... Izvestny sleduyushchie toolkit'y: Xaw - Anthena Widgets. Ochen' cherno-belyj, ochen' ploskij, ves'ma nebogatyj. Zato - besplatnyj. Posmotrite, kak vyglyadyat programmy xterm, xedit, xman. Oni sdelanny na Xaw. xview - Nabor bibliotek i ob®ektov, ispol'zovannyh v realiza- cii nabora pol'zovatel'skih utilit Sun-ovskoj versii X Windows - "Open Windows". Ves'ma simpatichno. Krug- lye knopki, "shpricy-igolki" (zamechatel'naya veshch'!), ochen' horosho produmannyj interfejs pol'zovatelya, v tom chisle aktivno ispol'zuemaya treh-knopochnaya mysh'. Ishodnye teksty bibliotek xview otkryty, predostavlya- yutsya besplatno. Odnako nabor DeskSet - 15 pol'zova- tel'skih utilit vhodyashchih v OpenWindows, sdelannyj na biblioteke xview, SunSoft gotov predostavit' tol'ko za platu. V binarnom vide - ves'ma deshevo ($100). V ishodnyh tekstah - ves'ma dorogo ($200K) Motif - Biblioteka postavlyayutsya organizaciej OSF za ne sovsem malen'kuyu platu. Ishodnye teksty bibliotek nedostup- ny, libo chrezmerno dorogi. Knopki - kvadratnye, da i voobshche Motif'ovskie prilozheniya do bezobraziya napomi- nayut MS Windows (chto, IMHO, yavlyaetsya ser'eznym pres- tupleniem) V bor'be BSD i Unix V pobedil, kak izvestno, System V, a v voj- ne kruglyh i kvadratnyh knopok vyigral Motif. &dDKonfigurirovanie X Windows&d@ V Linux ispol'zuetsya X11 v realizacii XFree86. CHtoby ego skonfigurirovat', vypolnite komandu xf86config &dDZapusk X Windows&d@. Na nekotoryh mashinah on sam zapuskaetsya. A takzhe inogda udaetsya zapustit' ego vruchnuyu komandami: startx i/ili openwin Solaris: 1. Ustanovite peremennye okruzheniya: OPENWINHOME=/usr/openwin export OPENWINHOME LD_LIBRARY_PATH=/usr/openwin/lib export LD_LIBRARY_PATH PATH=/usr/openwin/bin:$PATH export PATH XAPPLERESDIR=/usr/openwin/lib/app-defaults export XAPPLERESDIR 2. Zapustite X Windows komandoj openwin "Normal'nye" Unix'y: 1. Ustanovite peremennye okruzheniya: PATH=/usr/bin/X11:$PATH XAPPLERESDIR=/usr/lib/X11/app-defaults 2. Zapustite X Windows komandoj startx "Nenormal'nye" Unix'y (Unixware). Kogda registriruete pol'zovatelya, otvet'te Yes na vopros "Hotite graficheskij DeskTop". Togda posle login'a X Windows budet zapuskat'sya avtomaticheski. Esli vy prozevali, i otvetili No, to nikakim osmyslennym sposobom zapustit' X Windows dlya sebya vam ne udastsya. &dDNastrojki pol'zovatel'skogo okruzheniya X Windows&d@ Pri nalichii pol'zovatel'skih nastroechnyh fajlov, lezhashchih v domashnem kataloge pol'zovatelya, ispol'zuyutsya oni. Esli ih net, ispol'zuyutsya standartnye, obshchestvennye, obychno lezhashchie v kataloge /usr/lib/X11 ili /usr/openwin/lib Personal'nye i obshchestvennye pol'zovatel'skie nastrojki hranyatsya v fajlah: $HOME/.Xdefaults $HOME/.OWdefaults /usr/lib/X11/Xdefaults /usr/openwin/lib/Xdefaults /usr/openwin/lib/app-defaults/* Posle lyubyh ispravlenij fajl s resursami neobhodimo perezachitat':" xrdb -merge .Xdefaults Okruzhenie (desktop) - t.e. programmy, kotorye startuyut avtomaticheski pri zapuske X Windows nahoditsya v fajlah: Solaris: $HOME/.openwin-init /usr/openwin/lib/openwin-init "Normal'nnye" X windows: $HOME/.xinitrc /usr/lib/X11/xinit/xinitrc Nastrojki window-manager'a - t.e. - povedenie okon, menyushki pol'zovatelya, raskladka komand na klavishi myshki, ... Solaris: $HOME/.openwin-menu $HOME/.openwin-menu-* /usr/openwin/lib/openwin-menu /usr/openwin/lib/openwin-menu-* Linux $HOME/.fvwmrc /usr/lib/X11/fvwm/system.fvwmrc . &dDRedaktor VI. Spisok komand&d@ &dDREZHIMY&d@: Vvoda == ESC ====> Komandnyj == :Q ==> Redaktora ed ^ | ^ | +----aAiIcCrRs <---+ +----- vi -------+ &dD &d@ &dDPEREMESHCHENIE PO FAJLU&d@ {strelki},hjkl ^U/^D tabulyaciya vverh/vniz ^F/^B stranicu vniz/vverh ^E/^Y podvinut'sya na stroku vniz/vverh w/b/e vpered/nazad na slovo/v konec slova W/B/E vpered/nazad na slovo/v konec oprobelennogo slova (/) nazad/vpered na predlozhenie {/} nazad/vpered na abzac [[/]] nazad/vpered na funkciyu ili sekciyu % najti parnuyu skobku ( ili { {n}G na stroku {n} {n}| v kolonku {n} H/M/L v nachalo/seredinu/konec ekrana z/z./z- tekushchuyu stroku v nachalo/seredinu/konec ekrana ^/$/0 nachalo/konec stroki &dD &d@ &dDREDAKTIROVANIE TEKSTA&d@ x unichtozhit' simvol X zaboj J skleit' stroki &dD &d@ &dDV REZHIMY VVODA&d@ a/i / A/I vstavka za/pered _ / koncom/nachalom stroki R rezhim zameny r bukva na bukvu s bukva na bukvy o/O vstavit' stroku pod/nad _ C$ Zamenit' konec stroki &dD &d@ &dDINFORMACIYA&d@ ^G o tekushchem fajle i stroke &dD &d@ &dDOTKATKA&d@ u otkatka (odna) ^L/^R pererisovat' &dD &d@ &dDREDAKTIROVANIE V REZHIME VVODA&d@ ESC vernut'sya v komandnyj rezhim Zaboj Zaboj ^W/^U Ubrat' slovo/Ubrat' stroku ^V Vstavit' CRTL-simvol[y] &dD &d@ &dDOPERATORY S POZICIONIROVANIEM&d@ p/P vspomnit' fragment za/pered _ {n} ["bukva_bufer] "komanda" {m}"komanda pozicionirovaniya" ves' fragment zapominaetsya! ili povtor komandy dlya stroki d unichtozhat' fragment y zapominat' frag c zamenit' fragment (==> v rezhim vvoda ) &dD<&d@/&dD>&d@ sdvinut' vlevo/vpravo ! komanda propustit' fragment cherez fil'tr &dD &d@ &dDPRIMERY&d@ 7yy zapomnit' 7 strok v neimenovannom bufere "aAd{ dobavit' k buf a s udaleniem ot _ do nachala abzaca !G sort otsortirovat' stroki ot kursora i do konca &dD &d@ &dD"MAKROKOMANDY"&d@ :map klavisha_imya_makro telo_makrokomandy {CR} :map! klavisha_imya_makro telo_makrokomandy {CR} - v rezhime vvoda :ab sokrashchenie sokrashchaemyj_tekst {CR} - v rezhime vvoda &dD &d@ &dDPOISK&d@ ?stroka iskat' vverh /stroka iskat' vniz n povtorit' poisk N vernut'sya na poslednyuyu najdennuyu stroku &dD &d@ &dDPOISK_S_ZAMENOJ&d@ :s/reg_vyrazh/zamena/gc - global'nyj s podtverzhdeniem :Q/vi vhod / vyhod v rezhim ed :g/stroka - postavit' vizual'nyj fil'tr :+5 dvizhenie po fajlu &dD &d@ &dDREDAKTOR_ED. Vhod ":" (nadolgo "Q") Vyhod "CR" / (VI)&d@ ^^ Perejti v al'ternativnoe okno :[1,$] w [>>] [file] zapisat' v file [ot 1 do $ stroki] :q[!] zakonchit' seans [forsirovanno] :[15]r [file] ili [!komanda] vstavit' posle [15] str :e redaktirovat' novyj fajl :n redaktirovat' sleduyushchij fajl :sh vyjti v Shell :! komanda zapustit' na vypolnenie Shellom &dD &d@ &dDUSTANOVKA REZHIMOV VI&d@ :set nu / nonu numerovat'/nenumerovat' stroki :set smd{CR} pokazyvat' tekushchij rezhim EXINIT="konfiguracionnye komandy" - peremennaya okruzheniya .exrc - fajl s komandami konfiguracii . &dDKak podklyuchit' russkie fonty k komp'yuteru s X11&d@ 1. Sozdaem katalog cyrfonts. Kopiruem tuda fajly *.bdf ili *.pcf mkdir cyrfonts cp *.bdf *.pcf cyrfonts Zamechanie: predpochtitel'no dobyt' fonty v formate PCF a ne BDF Problema v tom, prilozhenie zakazyvaet razmer fonta, kotorogo u X ili FONT-servera net, to FONT-server pytaetsya skalirovat' i v sluchae .BDF pogibaet i ubivaet vse, chto pod nim zapushcheno. Konvertirovat' bdf-fonty mozhno komandoj bdftopcf. 2. V kataloge s fontami sozdaem oglavlenie fontov dlya X-server'a : fonts.dir cd cyrfonts mkfontdir 3. Ukazyvaem X-server'u, chtob on bral fonty iz nashego kataloga xset +fp $HOME/cyfonts xset fp rehash 4. Pol'zuemsya russkimi fontami. xterm -fn koi9x15 mailtool -fn koi6x10 i t.d. &dDCHtoby russkie fonty vklyuchalis' i nahodilis' po umolchaniyu&d@ 5. Do zapuska X-Windows ustanovit' peremennuyu okruzheniya FONTPATH Esli u vas Bourne Shell /bin/sh ili bash ili ksh FONTPATH=$HOME/cyrfonts: export FONTPATH Esli sud'ba ugorazdila pol'zovat'sya C-Shell /bin/csh ili tcsh setenv FONTPATH $HOME/cyrfonts: 6. Ili skopirovat' fonty v direktoriyu so standartnymi fontami. cp *.bdf /usr/lib/X11/fonts/misc cd /usr/lib/X11/fonts/misc mkfontdir xset fp rehash 7. Esli u vas XFree, to dobavit' strochku v fajl /etc/X11/XF86Config FontPath "/home/yourname/cyrfonts/" 8. Ustanovit' font po umolchaniyu v svoem .Xdefaults fajle. Dobavit' v fajl .Xdefaults takie strochki: font.name: koi9x15 icon.font.name: koi6x10 XTerm*font: koi6x10 XTerm*VT100*font1: koi6x10 XTerm*VT100*font2: koi8x13 XTerm*VT100*font3: misc16 XTerm*VT100*font4: misc24 XTerm*VT100*font5: demos8x14 XTerm*VT100*font6: demos8x16 emacs.font: koi9x15 emacs.default_font: koi9x15 &dDEsli u vas SunOs 4.1.1 i, sootvetstvenno, NeWS&d@ Togda vsya vysheopisannaya procedura ne srabotaet. U NeWS sovershenno sobstvennyj format fontov. 1. Preobrazuem fonty v format NeWS convertfont *.bdf 2. Sozdaem oglavlenie dlya NeWS server'a bldfamily 3. Podklyuchaem fonty v tochnosti, kak v standartnom X11 xset +fp `pwd` # Dopolnyaem katalog, podklyuchaem fonty. xset fp rehash # CHtob server perezachital katalogi s fontami vse. Eshche mozhno v fajl Synonims.list votknut' strochku s aliasami. Inache fonty budut brat'sya tol'ko po imeni fajlov. &dDRedaktirovanie fontov.&d@ Nekotorye komplektty X-Windows imeyut redaktor fontov. On mozhet nazyvat'sya xfed, fontedit, xfd. Esli u vas takovogo net, poprobujte najti ishodniki. xfed font.bdf convertfont -v font poluchaem font.vfp fontedit font.vfp zatem convertfont -b ?? font.vfp i poluchaem font.ff &dDPodklyuchenie russkoj klaviatury v X-Windows&d@ Dostan'te fajly s raskladkoj klaviatury. (Ih mozhno najti vo mnogih mestah, v chastnosti zdes'). Vypolnite komandu xmodmap fajl-s-raskladkoj.xmm Pereklyuchatel' rus/lat - klavisha CapsLock CHtoby otklyuchit' russkuyu klaviaturu, vypolnitte komandu xmodmap default.xmm &dDPodklyuchenie russkoj klaviatury v XFree86&d@ XF86Config: Section Keyboard LeftAlt Meta AltGr ModeShift Right_Ctl ModeLock ScrollLock ScrollLock EndSection Veshaet pereklyuchatel' na pravyj Ctrl, pri etom eshche i lampochka CapsLock budet zagorat'sya. &dDPereklyuchatel' kirilicy v XFree86 3.2.2&d@ V svezhej versii Xfree_3.3.2