(2) Uvod do adresarovej struktury Solaris 10

08.07.2008 18:32

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.

    • Re: (2) Uvod do adresarovej struktury Solaris 10 09.07.2008 | 14:52
      Avatar blackhole_ventYl   Používateľ

      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.

      --- Cuchat s nadchou, to je ako sniffovat bez promiscu.
      • Re: (2) Uvod do adresarovej struktury Solaris 10 09.07.2008 | 17:31
        schrapnel   Návštevník

        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

        • Re: (2) Uvod do adresarovej struktury Solaris 10 10.07.2008 | 11:03
          Avatar blackhole_ventYl   Používateľ

          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.

          --- Cuchat s nadchou, to je ako sniffovat bez promiscu.
    • Re: (2) Uvod do adresarovej struktury Solaris 10 11.07.2008 | 01:44
      Avatar blackhole_tommyhot   Používateľ

      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

    • Re: (2) Uvod do adresarovej struktury Solaris 10 11.07.2008 | 13:54
      Avatar blackhole_holden   Používateľ

      Neviem ci naschval, ale nespomenul si zalezitosti okolo sfw (/etc/sfw, /usr/sfw) - z toho je dost novacikov v Solarise zmatenych...