L o t o s verzia 1.2.3 ============================================================================== Instalacia, nastavenie, pouzivatelsky manual ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ POZN.: Pozri samostatne specializovane manualy ============================================================================== OBSAH ----- i. Uvod ii. Historia Lotos-a Odstavec A - Nastavenie a instalacia ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Dekomprimacia a dearchivacia suborov 2. System suborov 3. Prve nastavenie 4. Prva kompilacia a spustenie Odstavec B - Obecne cinnosti a udrzba ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5. Prikaz .system a jeho pouzitie 6. Bezpecnostne problemy 7. Logovanie systemu 8. Online utility Odstavec C - Pridavanie funkcii cez plugin moduly ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 9. Ucel plugin modulov 10. Technicke rozdiely medzi pluginom a 'Hard-code' 11. Pridavanie plugin modulov do systemu 12. Odoberanie plugin modulov zo systemu 13. Problemy s plugin modulmi i. UVOD ---- Lotos je zalozeny na kode AmNUTS 2.2.1 od Andrew Collingtona chraneneho autorskym pravom. Okrem kodu AmNUTS 2.2.1 su v Lotos-e pouzite casti kodov z inych modifikacii NUTS-u. Tu je ich zoznam s popisom co z nich bolo pouzite (pisane verzie su tie z ktorych som zacinal, odvtedy uz mam vacsinu aj novsie): 1. TalkerOS 4.03 - system plugin modulov - tento vzhlad manualu 2. Ncohafmuta 1.2.0 - system makier - moznost pouzitia napr. 'kecacich' prikazov na viac userov naraz - vela obrazkov 3. Moenuts 1.59 - zalohovanie talkra 4. Gaen K 16 - system fontov a ich pouzitie 5. Crypt V5 - fonty a praca s nimi 6. nejake doplnky z roznych slovenskych talkrov - Star AMD talker - Hysteria - pocitadla - M.A.R.S talker - restart (reinicializacia) - Kesican - system transportov - NooK Takze si vazte to co mate teraz k dispozicii, pretoze ma to stalo velmi vela casu a nervov. Je to silny, modularny, lahko rozsiritelny a lahko pouzitelny system. Takze si prestudujte najprv vsetku dokumentaciu a hura na prve spustenie. ii. Historia Lotos-a ---------------- Myslienka na vlastny talkrovy OS sa vo mne zrodila cez letne prazdniny v roku 1999 po tom co som presusil studium na vysokej skole. Povodne som chcel zacat programovanie na cistom NUTS-e 3.3.3, ale potom som prisiel na to, ze by som bol privelky hlupak. Tak som pohladal na internete zdrojove kody co najviac talkrov a prestudoval som si ich. Po kratkej uvahe moja volba padla na AmNUTS. Mal totizto najviac novych vlastnosti oproti povodnemu NUTS. K tomu este prispelo, ze som na nom zalozil poslednu neLotos-ovsku verziu talkra Star (z neho je aj meno Lotos - Lopov talkrovy OS Star). Lotos som zacal programovat 6.8.1999 o 7.30 :). Povodne som zacinal v minilinuxe (Monkey). Az v januari 2000 som si zohnal Red Hat 6.1 cz, v ktorom bol system dokonceny. Najprv som kod AmNUTS rozdelil na viacero suborov podla zamerania funkcii v nich obsiahnutych. K tomu som si hned vyrobil makefile subor. System je totizto programovany na pocitaci s konfiguraciou 486/133, 16MB RAM. Takze kompilacia jedneho obrovskeho suboru by trvala nekonecne dlho. Ale aj ked som to rozdelil a kompilovalo mi to vzdy len zmeneny subor, trvalo to na takej konfiguracii strasne dlho a dost casto som mal `x' chuti sa na to cele vy... (doplnit podla uvazenia :). Do vianoc 1999 som toho moc neurobil, v podstate som len podrobnejsie pozeral zdrojove kody jednotlivych talkrov a vyberal si co vsetko pouzijem v mojom systeme. Ale potom to uz islo celkom rychlo, a tak davam na web nove verzie tak rychlo ako sa da. --------------------------------------------- O d s t a v e c A - nastavenie a instalacia --------------------------------------------- 1. DEKOMPRIMACIA A DEARCHIVACIA SUBOROV ------------------------------------ Pokial citate tieto dokumenty, pravdepodobne uz mate dekomprimovane vsetky subory. Ak mate uz rozbalene vsetky subory, preskocte na odstavec 2. Na rozbalenie suborov z distribucneho balika treba program TAR a pripadne aj GZIP. Obidva by mali byt standardne dostupne na kazdom UN*X konte. Takze najprv sa treba prihlasit na svoje konto. Potom nasledujte tieto kroky: `cd ~' - prepne do vasho domovskeho adresara `cp <stary_adresar>/lotos123.tar.gz .' skopiruje balik do domovskeho adresara ak uz je balik stiahnuty z internetu. Ak nie je, tak ho treba najprv stiahnut z Lotos domovskej web stranky do vasho domovskeho adresara. `gzip -d lotos123.tar.gz' rozbali subor a premenuje ho na lotos122.tar `tar -xvf lotos123.tar' rozbali subor na jednotlive subory a adresare v jednom adresari lotos123. Ak chcete iny nazov adresara, treba pouzit prikaz `mv ./lotos123 ./<novy_nazov>'. Po tomto je uz Lotos kompletne naistalovany. 2. SYSTEM SUBOROV -------------- Adresar s Lotos-om obsahuje dalsie podadresare. V nich sa nachadzuju subory triedene podla ich urcenia. Ich zoznam s urcenim: BACKUPS - zalohy systemu vytvorene rucne zo systemu BIN - spustaci subor systemu DATAFILES - rozne subory potrebne na beh systemu DOCS - dokumentacia k systemu DUMPFILES - rozne obrazy systemu vytvorene pocas behu LOGFILES - log subory OBJS - objektove subory jednotlivych casti vytvorene pri kompilacii SRC - zdrojove kody systemu TEMPFILES - docasne subory vytvorene systemom USERFILES - subory s nastaveniami jednotlivych userov Adresar DATAFILES sa dalej deli nasledovne: CONFFILES - konfiguracne subory COUNTERS - pocitadla FONTS - fonty pre bannery HELPFILES - subory s napovedou k jednotlivym prikazom KILLMSGS - subory s kill hlaskami MAILSPOOL - pouziva posta MAPFILES - mapy MISCFILES - rozne doplnkove subory MOTDS - prihlasovacie a odhlasovacie obrazovky PICTFILES - ascii obrazky na posielanie PLFILES - subory k plugin modulom ROOMFILES - nastenky, popisy a pod. k miestnostiam SCREENS - subory obsahujuce obrazovky najcastejsie pouzivane pri nastavovani parametrov TEXTFILES - rozsirene napovedy TRFILES - subory k transportom VOTEFILES - subory k volbam 3. PRVE NASTAVENIE --------------- Je uplne lahke nastavit Lotos. Aj ked ma velmi vela moznosti na nastavovanie. Aj napriek tomu, ze Lotos je uz standardne nastaveny, je nutne nastavit niekolko veci. POZNAMKA: hlavne nastavenia treba urobit v subore DATAFILES/CONFFILES/config podla suboru DOCS/config.txt. Dalej treba nastavit nasledujuce veci: define.h - korenovy adresar > `ROOTDIR' globals.c - jednotlive polozky v strukture reg_sysinfo a signatury boots.h - nazvy levelov v strukture user_level prompts.c - kratke texty, hlasky, popisy a pod. star.h - nazvy defaultnych miestnosti 4. PRVA KOMPILACIA A SPUSTENIE --------------------------- Na konmpilaciu sluzi subor Makefile. Takze staci napisat `make' v adresari SRC a vsetko sa automaticky skompiluje. Ak sa vyskytnu nejake chyby, treba skontrolovat subor, v ktorom je podla kompilatora chyba. Ak ste neurobily v zdrojovych kodoch ziadne zmeny, nemali by sa pri kompilacii vyskytnut ziadne chyby. POZNAKMA: Red Hat system vyzaduje kniznicu crypt. Ta sa prida dopisanim do suboru makefile. (Pozri redhat.txt) Ak kompilacia prebehla bez chyb, staci uz len spustit program. Na to sa treba presunut do adresara z programom - `cd ../bin' a spustit program prikazom `./lotos'. Tym sa nastartuje talker a vy sa mozete pripojit cez port nastaveny v konfiguracnom subore. Lotos je dodavany s nasledujucim kontom nastavenym na najvyssi level. Username: fred Password: test Ak ste zmenili meno majitela v strukture reg_sysinfo, treba najprv premenovat subor s tymto defaultnym userom. To sa dosiahne prikazom `mv Fred.D <novemeno>.D' v adresari USERFILES. Potom uz staci len napisat `telnet localhost <port>'. Ak ste nezmenili meno, tak to radim urobit kvoli bezpecnosti ! ---------------------------------------------- O d s t a v e c B - obecne cinnosti a udrzba ---------------------------------------------- 5. PRIKAZ .system A JEHO POUZITIE ------------------------------ Tento prikaz poskytuje velmi vela informacii o vasom systeme. Informuje takmer o vsetkych dolezitych nastaveniach systemu. Kedze ich je vela, tak popisem len tie najhlavnejsie. Su tam: PID - sidlo procesu, cas startu, cas prevadzky a porty. Ak by sa program vymkol konrole, staci napisat z UN*X konta kill <PID>. Pripadne spustit skript urceny definiciou KILLFILE v define.h. Inac pozor - PID cislo je pri kazdom starte systemu ine. Cisla portov uvadzaju, na ktorych portoch system akceptuje pripojenia. MAINport- pre vsetkych userov, WIZ - pre wizardov a adminov a LINKport pre pripojenie dalsich talkrov (ak je povolene). MINLOGIN level urcuje, aky musi mat user minimalny level, aby sa mohol pripojit cez MAINport. Dalej su dolezite LEVEL hodnoty. Tie treba mat velmi starostlivo nastavene. Potom je tam napr. zivotnost sprav na nastenkach a este je tam napisane kolko prave system pouziva pamate. 6. BEZPECNOSTNE PROBLEMY --------------------- Ak by boli nejake problemy s niektorym userom, su nejake moznosti ako si ho udrzat `od tela' a mat v systeme klud. "krok 1" MUZZLE - znemozni userovi rozpravat a viest akukolvek konverzaciu. "krok 2" KILL - vykopne usera zo systemu MINLOGIN - znemozni userom z nizsim levelom prihlasit sa "krok 3" BAN USER - zakazanie prihlasenia sa existujuceho usera BAN SITE - zakaze prihlasenia z urcitej adresy BAN NEW - zakaze vytvorenie novych kont Kedze sa pristupove adresy niektorych userov menia zo dna na den, treba zakazat adresy vyssieho radu. Napr: ak adresa je ppp3574.host.sk treba zakazat .host.sk ak je IP 123.45.67.89 treba zakazat 123.45.67. 7. SYSTEMOVE LOGOVANIE ------------------- Lotos vytvara 5 typov logov: SYSTEM LOG - vacsina systemovych zaznamov NETLINK LOG - zaznamy LINKportu - ak je zakopilovany ACCREQ LOG - zaznamy ziadosti o prve promote DEBUG LOG - zaznamy pri odladovani systemu ERROR LOG - zaznamy vacsiny chyb Je vhodne ich pravidelne citat, hlavne ERRLOG. 8. ONLINE UTILITY -------------- Su vytvorene rozne utility na administrativu systemu: .memory - detailnejsie info o pouziti pamate .delete - mazanie pouzivatelskych kont .modify - nastavenie pouzivatela .rename - premenovanie pouzivatela .rloads - obnovenie roznych zoznamov, popisov a pod. --------------------------------------------------------- O d s t a v e c C - Pridavanie funkci cez plugin moduly --------------------------------------------------------- 9. UCEL PLUGIN MODULOV ------------------- Pretoze sa casto doplnaju rozne hry, funkcie a pod z inych systemov, alebo sa do inych systemov exportuju, rozhodol som sa pridat rozsirenie (prebrate z TOS) na pridavanie takychto veci cez plugin moduly. Takze ak je plugin napisany spravne a aj druhy system ma toto rozhranie, nie je potom problem prenasat ich medzi nimi bez akejkolvek upravy. Toto doplnenie plugin modulu potom spociva v dopisani 3-4 riadkov kodu pri mensich moduloch, alebo pri 5-6-.. riadkoch pri velkych moduloch. Aj tak je to ale velka uspora oproti desiatkam alebo stovkam riadkov pri tradicnom doplnani. 10. TECHNICKE ROZDIELY MEDZI PLUGINOM A 'HARD-CODE' ----------------------------------------------- V tradicnom programovani sa system rozsiroval dopisovanim do zdrojoveho kodu systemu. Musel byt pridany kod a obnovene struktury v EXEC_COM(), command_table a pod. Takze sa casto robily rozne chyby. Nehovoriac uz o premennych. Pri plugin module je cely kod v jednom subore a vsetky volania rozsirenia su standardizovane. Staci potom len pridat jeden riadok na pripojenie kodu, druhy na jeho inicializaciu a treti prida vsetky prikazy v module obsiahnute. Toto je obrovsky rozdiel medzi starym postupom a novym plugin systemom. 11. PRIDAVANIE PLUGIN MODULOV DO SYSTEMU ------------------------------------ Je to velmi jednoduche. Vsetky zdrojove subory sa umiestnia do adresara SRC/PLUGINS. Na zaciatku .C suboru by mali byt vypisane vsetky riadky, ktore treba doplnit do stavajuceho systemu. Su 3 miesta, kde sa doplnaju. Su nasledovne oznacene: v subore plugin.c /* --------------------------------------- Begin PLUGIN INCLUDE code lines here. --------------------------------------- */ /* -------------------------------------------- Put third-party plugin command calls here! -------------------------------------------- */ /* -------------------------------------------------- Place third-party plugin initialization calls HERE -------------------------------------------------- */ POZNAMKA: Nejaky vacsi (komplexnejsi) modul mozno bude pozadovat vlozenie dalsich riadkov napr. do obj_ur.h. Ak je to tak, je to napisane na zaciatku .c suboru plugin modulu. 12. ODOBERANIE PLUGIN MODULOV ZO SYSTEMU ------------------------------------ To je lahke. Staci len odstranit riadky, ktore boli pridane. Staci pouzit odsek 12 ako navod s tym, ze sa bude pokracovat opacne. 13. PROBLEMY Z PLUGIN MODULMI ------------------------- Lotos neposkytuje podporu na jednotlive pluginy. Ak autor modulu napise kontaktne informacie, kontaktujte priamo autora pluginu.