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.