V minulom dieli sme si povedali co-to o instalacii Solarisu 10. Predpokladame teda, ze mame beziaci system niekde na serveri, resp. vo virtualnej masine. Zo zaujimavosti este podotknem k minulemu dielu: po uspesnej instalacii si mozme samotny priebeh instalacie, ako aj nainstalovane sucasti (balicky) skontrolovat v logu /var/sadm/install_data/install_log.
Plan tohto dielu je oboznamit vas s adresarovou strukturou zauzivanou v Solaris OS. Na male rozdiely, ktore presahuju ucel tohto clanku, si dovolim tvrdit, ze je rovnaka minimalne pre Solaris verzie 8,9,10.
Solaris OS obsahuje zopar kritickych adesarov a suborov ktore su nevyhnutne pre spravny chod systemu. Podme sa teda pozriet na zopar adresarov a podadresarov, ktore najdeme na disku nasho operacneho systemu:
Dolezite Systemove Adresare
- /
- root, tzv. korenovy adresar suboroveho "namespace".
- /bin
- Symbolicka linka na adresar /usr/bin. Je to adresar, ktory obsahuje standardne systemove prikazy.
- /dev
- Primarny adresar pre logicke nazvy zariadeni. Obsah tohto adresara su symbolicke linky, ktore ukazuju na zariadenia dostupne z adresara /devices.
- /etc
- Adresar, ktory obsahuje vsetky host-specificke konfiguracne subory a databazy pre systemovu administraciu.
- /export
- Defaultny adresar pre bezne zdielane filesystemy, napr uzivatelske home directory, aplikacny software alebo ine zdielane suborove systemy.
- /home
- Defaultny adresar, resp. mountpoint pre uzivatelske home directory.
- /kernel
- Adresar obsahujuci platformovo nezavisle "loadable" kernel moduly, ktore su nevyhnutnepre bootovaci proces.
- /lib
- Obsah tohto adresara tvoria zdielane spustitelne subory a System Management Facility (SMF - budeme sa venovat neskor) sucasti.
- /mnt
- vhodny docasny mountpoint pre filesystemy.
- /opt
- Defaultny adresar, resp mountpoint pre add-ony, resp nainstalovane balicky.
- /platform
- Adresar obsahujuci platformovo zavisle "loadable" kernel moduly.
- /sbin
- "single-user" bin adresar. Obsahuje nevyhnutne binarky pouzite pri bootovacom procese, resp manualnej system-failure recovery
- /usr
- Adresar obsahujuci programy, skripty a kniznice, ktore su pouzivane vsetkymi systemovymi usermi.
- /var
- Adresar pre variabilny obsah. Zvacsa obsahuje temp, logovacie, resp. stavove subory.
Prichodom SMF a podporyZon sa adresar /var vyuzva v omnoho vacsej miere, ako v predchadzajucih solaris releasoch. Preto je dolezite, aby tento adresar mal dostatok miesta na ukladanie informacii ohladom softwarovych balickov, logovacich suborov, "spool" suborov a pod.
Dolezite In-Memory Systemove Adresare
- /dev/fd
- Adresar obsahujuci specialne subory suvisiace s aktualnymi file desktriptormi pouzivanymi systemom.
- /devices
- Primarny adresar zdruzujuci fyzicke nazvy zariadeni.
- /etc/mnttab
- Tento subor je v podstate filesystem, ktory prevadzkuje read-only pristup do tabulky aktualne mountnutych filesystemov. Mount zapricini zapis do tejto tabulky, umount zapricini zmazanie zaznamu a remount zapricni updatnutie zaznamov.
- /etc/svc/volatile
- Adresar obsahujuci logovacie subory a referencne subory prisluchajuce aktualnemu stavu systemovych sluzieb.
- /proc
- Adresar obsahujuci aktualne informacie tykajuce sa procesov. Kazdy beziaci proces ma svoju vlasnu podadresarovu strukturu patriacu pod /proc adresar.
- /system/object
- OBJFS - object filesystem. Suborovy system obsahujuci informacie o vsetkych moduloch momentalne natiahnutych kernelom. Primarne pouzivany dtrace utilitou na debug.
- /tmp
- Adresar pre temp. subory. Maze sa s kazdou boot sekvenciou. pozor!! temp filesystem je sucastou RAM! zaplnenim /tmp zaplnime RAM a mozeme dosiahnut pad systemu.
- /var/run
- Adresar obsahujuci mnohe lock fajly, specialne subory pre mnohe systemove procesy a sluzby.
Poznmka: Tieto "in-memory" adresare su spravovane kernelom a systemovymi sluzbami. Uzivatel by sa mal vystrihat manualne vytvarat, modifikovat, resp. mazat subory z tychto adresarov.
Primarne podadresare podliehajuce /dev adresaru.
- /dev/dsk
- Blokovo orientovane zariadenia.
- /dev/fd
- File deskriptory.
- /dev/md
- Logicke "volume management" metadisky zariadenia.
- /dev/pts
- Pseudo terminalne zariadenia.
- /dev/rdsk
- Znakovo orientovane zariadenia (raw).
- /dev/rmt
- Zariadenia raw magnetickych pasok.
- /dev/term
- Seriove zariadenia.
Primarne podadresare podliehajuce /etc adresaru.
- /etc/cron.d
- Konfiguracne informacie pre cron utilitu.
- /etc/default
- Defaultne informacie pre rozne programy.
- /etc/inet
- Konfiguracne subory pre sietove sluzby.
- /etc/init.d
- Skripty pre startovanie/stopovanie sluzieb.
- /etc/lib
- Dynamicky linkovane libky, ak /usr filesystem je nedostupny.
- /etc/lp
- Konfiguracne informacie pre tlacovy podsystem.
- /etc/mail
- Konfiguracne informacie pre mailovy podsystem.
- /etc/nfs
- Konfiguracne informacie pre logovanie NFS servera.
- /etc/opt
- Konfiguracne informacie pre balickovaci podsystem.
- /etc/rc#.d
- Linky na skripty, ktore sa spustaju pri prechod z/do specificneho runlevelu.
- /etc/security
- Kontrolny panel pre RBAC (Role Based Access Control) a security privilegia.
- /etc/skel
- Defaultne inicializacie shellu pre nove systemove konta.
- /etc/svc
- SMF databaza a log subory.
- /etc/zones
- Inicializacne a referencne subory pre Solaris 10 OS Zones vybavu.
Primarne podadresare podliehajuce /usr adresaru.
- /usr/bin
- Standardne systemove prikazy.
- /usr/ccs
- C-kompilacne progamy a libky.
- /usr/demo
- Demonstracne programy a data.
- /usr/dt
- Adresar, resp. mountpoint pre Common Desktop Enviroment (CDE) software.
- /usr/include
- Hlavickove subory (pre C a pod).
- /usr/jdk
- Adresare obsahujuce programy a libky pre Java technologiu.
- /usr/kernel
- Platformovo nezavisle loadable kernel moduly, ktore v podstate niesu nevyhnutne pre bootovaci proces.
- /usr/lib
- Architekturovo zavisle databazy, rozne programove kniznice a binarky, ktore nevyvolava uzivatel.
- /usr/opt
- Konfiguracne informacie pre volitelne baliky.
- /usr/sbin
- Prikazy pre systemovu administraciu.
- /usr/spool
- Symbolicka linka do /var/spool adresara.
Primarne podadresare podliehajuce /var adresaru.
- /var/adm
- Log subory (pre syslog) a ine log fajly.
- /var/crash
- Pre ukladanie crash-dumpov, suborov obsahujuce info o katastrofickych systemovych zlyhaniach. Subory z tychto adresarov su vacsinou posielane na HelpDesk pre zistenie priciny padu systemu, resp jeho inoperability.
- /var/spool
- spoolove subory (pre maily, tlacove sluzby a pod.).
- /var/svc
- Service Management Facility (SMF) kontrolne subory a logy.
- /var/tmp
- Temp adresar, ktory sa nemaze pri boote.
Uvedomujem si, ze na zaciatok je to trocha vela teorie ;-) Su to informacie, ktore sa v buducnosti mozu zist, pri hladani typu - "kde do riti sa konfiguruje toto a tamto" ...
V buducnosti sa budeme venovat spravou a konfiguraciou mnohych systemovych, aj nesystemovych sucasti, kde budeme vyuzivat mnohe z tychto konfiguracnych fajlov. Pre rozsah clanku som nechcel pisat obsah tychto fajlov a ich hlbsi vyznam z hladiska konfiguracie. Rozoberieme nabuduce. Zatial vydrzte!.. ;)
V dalsom dieli sa pozrieme na ufs (unix filesystem), inody, symbolicke linky, device files, problematiku hardliniek, blokovo orientovane (block-special device) subory, znakovo orientovane (raw-special device) subory a pod.
jaky je vlastne rozdiel medzi platformovo zavislymi a nezavislymi binarnymi modulmi kernelu v /kernel a /platform? ak to chapem tak, ze pre vsetky platformy (sun sparc, x86, powerpc) su v adresari /kernel binarky zhodne a v adresari /platform rozne, chapem to dobre? to zavana zavedenim interpretera javy hlboko do kernelu solarisu. co by bol aj relativne predpokladatelny krok.
---
Cuchat s nadchou, to je ako sniffovat bez promiscu.
Mozes si to predstavit tak, ze v adresari /platform/`uname -m`/ najdes kernel systemu, bootovcie moduly a pod.
A v adresari /kernel/ najdes moduly pre dtrace, siet, nfs, drivery a pod.
17:28:54 (35) root@sol10-01:/ # ls -la /platform/`uname -m`
total 85840
drwxr-xr-x 5 root sys 512 Jul 8 08:25 .
drwxr-xr-x 5 root sys 512 Jul 6 19:34 ..
-rwxr-xr-x 1 root sys 2560 Feb 14 21:56 biosint
drwxr-xr-x 2 root other 512 Jul 6 19:22 boot
-rw-r--r-- 1 root root 43761160 Jul 8 08:25 boot_archive
drwxr-xr-x 10 root sys 512 Jul 6 19:51 kernel
-rwxr-xr-x 1 root sys 132480 Aug 14 2007 multiboot
drwxr-xr-x 3 root sys 512 Jul 6 19:59 ucode
a17:29:41 (37) root@sol10-01:/ # ls -la /kernel/
total 4288
drwxr-xr-x 18 root sys 512 Jul 6 19:42 .
drwxr-xr-x 35 root root 1024 Jul 8 12:58 ..
drwxr-xr-x 2 root sys 512 Jul 6 19:20 amd64
drwxr-xr-x 3 root sys 512 Jul 6 19:42 brand
drwxr-xr-x 3 root sys 512 Jul 6 19:39 crypto
drwxr-xr-x 3 root sys 512 Jul 6 19:27 dacf
drwxr-xr-x 3 root sys 5632 Jul 6 19:53 drv
drwxr-xr-x 3 root sys 512 Jul 6 19:42 dtrace
drwxr-xr-x 3 root sys 512 Jul 6 19:20 exec
drwxr-xr-x 3 root sys 512 Jul 6 19:42 fs
-rwxr-xr-x 1 root sys 2159060 Mar 19 14:53 genunix
drwxr-xr-x 3 root sys 512 Jul 6 19:52 ipp
drwxr-xr-x 3 root sys 512 Jul 6 19:44 kmdb
drwxr-xr-x 3 root sys 512 Jul 6 19:20 mac
drwxr-xr-x 3 root sys 512 Jul 6 19:22 mach
drwxr-xr-x 4 root sys 1536 Jul 6 19:52 misc
drwxr-xr-x 3 root sys 512 Jul 6 19:20 sched
drwxr-xr-x 3 root sys 1024 Jul 6 19:46 strmod
drwxr-xr-x 3 root sys 512 Jul 6 19:24 sys
popripadne:
17:30:05 (38) root@sol10-01:/ # find /kernel/ -name nfs
/kernel/fs/amd64/nfs
/kernel/fs/nfs
/kernel/sys/amd64/nfs
/kernel/sys/nfs
/kernel/kmdb/amd64/nfs
/kernel/kmdb/nfs
aha, cize je to len rozdelene. v jednom je to, co je vsade a v druhom je to, co niekde inde byt nemusi. apokalypsa s javou v kerneli sa nekona.
---
Cuchat s nadchou, to je ako sniffovat bez promiscu.
Krasna adresarova struktura, vsetko je logicky roztriedene a to sa mi paci viac nez na linuxe (nehovorim ze na linuxe je to nelogicke, ale solaris je v tom asi lepsi, aspon tak sa mi to zda).
----------
tommyhot@hackingmachine:~$ microsoft &> /dev/null
Neviem ci naschval, ale nespomenul si zalezitosti okolo sfw (/etc/sfw, /usr/sfw) - z toho je dost novacikov v Solarise zmatenych...