|
|
(9 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| ETTEVAATUST! SELLE LEHE NÄPPIMINE ON HETKEL VÄGA POOLELI!!!
| | NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Roderick W. Smithi raamat [http://www.amazon.co.uk/LPIC-1-Exams-Roderick-W-Smith/dp/0470404833/ref=sr_1_1?ie=UTF8&qid=1299599031&sr=8-1 LPIC-1: Linux Professional Institute Certification Study Guide]. |
|
| |
|
| NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Roderick W. Smithi raamat [http://www.amazon.co.uk/LPIC-1-Exams-Roderick-W-Smith/dp/0470404833/ref=sr_1_1?ie=UTF8&qid=1299599031&sr=8-1 LPIC-1: Linux Professional Institute Certification Study Guide].
| | Märkus: kuna Kakk uuendas enda sertifikaati 2016. aasta kevadel, on nüüd saadaval ka [[LPIC-1 - Kaku konspekt 2016]]. |
|
| |
|
| Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia. | | Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia. |
Line 9: |
Line 9: |
| == LPI-101 == | | == LPI-101 == |
|
| |
|
| === Käsurida === | | === bash ja käsurida === |
| | |
|
| |
|
| Käsukestad: | | Käsukestad: |
Line 34: |
Line 33: |
| Mõned sisekäsud on dubleeritud väliskäskudeks - sel juhul on prioriteet sisekäsul, kui pole lisatud täit kataloogiteed väliskäsuni | | Mõned sisekäsud on dubleeritud väliskäskudeks - sel juhul on prioriteet sisekäsul, kui pole lisatud täit kataloogiteed väliskäsuni |
|
| |
|
| | | Käskude tabuleerimine (tab completion) - Tab pakub käsu alguse järgi lõpusümboleid |
| ==== Käskude tabuleerimine (tab completion) ====
| |
| | |
|
| |
|
| .history - kättesaadav terminalis üles-noole abil | | .history - kättesaadav terminalis üles-noole abil |
Line 126: |
Line 123: |
| N: ls | tee blabla.txt - ls kuvab nagu tavaliselt, kuid lisaks läheb ka faili (nagu ls ja ls > blabla.txt koos!) | | N: ls | tee blabla.txt - ls kuvab nagu tavaliselt, kuid lisaks läheb ka faili (nagu ls ja ls > blabla.txt koos!) |
|
| |
|
| | ==== Toru ==== |
|
| |
|
| Toru:
| | Ühe käsu väljundi suunamine teise sisendisse |
|
| |
|
| esimene | teine | | esimene | teine |
|
| |
|
|
| |
|
| Backtick: | | ==== Backtick ==== |
|
| |
|
| Kasutatakse "käsk käsus" loomiseks: | | Kasutatakse "käsk käsus" loomiseks: |
Line 144: |
Line 142: |
|
| |
|
|
| |
|
| Tekstifiltrid: | | ==== Tekstifiltrid ==== |
|
| |
|
| cat - faili kuvamine või failide sidumine | | cat - faili kuvamine või failide sidumine |
Line 151: |
Line 149: |
|
| |
|
| argumendid: | | argumendid: |
| -E - näita realõpusümbolit ($) | | * -E - näita realõpusümbolit ($) |
| -n - nummerdab read | | * -n - nummerdab read |
| -b - nummerdab mittetühjad read | | * -b - nummerdab mittetühjad read |
| -s - asendab tühjade ridade plokid üheainsa tühja reaga | | * -s - asendab tühjade ridade plokid üheainsa tühja reaga |
| -T - näitab tabulatsioone (ˇI) | | * -T - näitab tabulatsioone (ˇI) |
| -v - näitab mittetrükitavaid sümboleid | | * -v - näitab mittetrükitavaid sümboleid |
|
| |
|
| tac - cat tagurpidi, kuvab read vastupidises järjekorras | | tac - cat tagurpidi, kuvab read vastupidises järjekorras |
|
| |
|
| |
|
| join - ühendab failid väljade kaupa. N: | | join - ühendab failid väljade kaupa. N: |
|
| |
|
| fail nimed.txt: | | fail nimed.txt: |
| 1. Jüri | | 1. Jüri |
| 2. Mari | | 2. Mari |
| 3. Peeter | | 3. Peeter |
| 4. Elmar | | 4. Elmar |
|
| |
|
| fail pikkus.txt: | | fail pikkus.txt: |
| 1. 198 | | 1. 198 |
| 2. 166 | | 2. 166 |
| 3. 180 | | 3. 180 |
| 4. 178 | | 4. 178 |
|
| |
|
| Kokku: | | Kokku: |
| 1. Jüri 198 | | 1. Jüri 198 |
| 2. Mari 166 | | 2. Mari 166 |
| 3. Peeter 180 | | 3. Peeter 180 |
| 4. Elmar 178 | | 4. Elmar 178 |
|
| |
|
| Saab määrata ka erinevaid võtmevälju: | | Saab määrata ka erinevaid võtmevälju: |
| -1 n - esimeses failis on võtmeväljaks n-es väli | | * -1 n - esimeses failis on võtmeväljaks n-es väli |
| -2 m - teises... | | * -2 m - teises... |
| jne | | jne |
|
| |
|
|
| |
|
| paste - ühendab failid rida-realt: | | paste - ühendab failid rida-realt: |
| 1. Jüri 198 | | 1. Jüri 198 |
| ... | | ... |
| | |
|
| |
|
| NB! sed jt tekstivahendid ei muuda algset faili, vaid saadavad muudetud tulemuse kas stout-i (kuvarile) või faili! | | NB! sed jt tekstivahendid ei muuda algset faili, vaid saadavad muudetud tulemuse kas stout-i (kuvarile) või faili! |
|
| |
|
| expand - asendab Tab-id tühikutega. Vaikimisi 8, väärtust saab lisada parameetriga expand -t number | | expand - asendab Tab-id tühikutega. Vaikimisi 8, väärtust saab lisada parameetriga expand -t number |
| | |
| unexpand - vastupidine | | unexpand - vastupidine |
| | |
| od (octal dump) - algselt mõeldud failide kuvamiseks kaheksandsüsteemis, aga suudab kuvada ka kuueteistkümnend- ja kümnendsüsteemi, ASCIId jmm. | | od (octal dump) - algselt mõeldud failide kuvamiseks kaheksandsüsteemis, aga suudab kuvada ka kuueteistkümnend- ja kümnendsüsteemi, ASCIId jmm. |
|
| |
|
Line 219: |
Line 217: |
|
| |
|
| erikuju: tr -d HULK - hulga elemendid kustutatakse tekstist | | erikuju: tr -d HULK - hulga elemendid kustutatakse tekstist |
|
| |
|
| |
| (IDEE TULEVASE ÕPETAMISE JAOKS - TASUB TEHA N.Ö. TELEFONIMÄNGU - ÕPETAJA ANNAB ESIMESELE ÕPILASELE ÜLESANDE "LEIA KÄSK, MIS...", SEE LAHENDAB JA ANNAB OMAKORDA JÄRGMISELE ÜLESANDE)
| |
|
| |
|
|
| |
|
| uniq - eemaldab topeltread | | uniq - eemaldab topeltread |
| N: $ sort shakespeare.txt | uniq | | N: $ sort shakespeare.txt | uniq |
| be | | be |
| is | | is |
| not | | not |
| or | | or |
| question | | question |
| that | | that |
| the | | the |
| to | | to |
|
| |
|
| (eemaldati üks 'to' ja üks 'be') | | (eemaldati üks 'to' ja üks 'be') |
|
| |
|
|
| |
|
| Failiformaatimiskäsud: | | ==== Failiformaatimiskäsud ==== |
|
| |
|
| fmt - silub tekstifaili. Eeldab, et lõigud on eraldatud vähemalt 2 tühja rea või siis tabuleeritud. Vaikimisi reapikkus 75 märki | | fmt - silub tekstifaili. Eeldab, et lõigud on eraldatud vähemalt 2 tühja rea või siis tabuleeritud. Vaikimisi reapikkus 75 märki |
| | |
| nl - ridade nummerdamine (nagu cat -b, aga võimsam). | | nl - ridade nummerdamine (nagu cat -b, aga võimsam). |
| | |
| pr - trükkimiseks ettevalmistamine (näit. päiste ja jaluste lisamine; mitu veergu jne). Peamiselt kasutatakse kombineeritud käskudes: | | pr - trükkimiseks ettevalmistamine (näit. päiste ja jaluste lisamine; mitu veergu jne). Peamiselt kasutatakse kombineeritud käskudes: |
| | |
| N: cat kiviajamull.txt | pr --columns=2 > blabla.txt | | N: cat kiviajamull.txt | pr --columns=2 > blabla.txt |
|
| |
|
Line 248: |
Line 246: |
|
| |
|
|
| |
|
| Failikuvamiskäsud: | | ==== Failikuvamiskäsud ==== |
|
| |
|
| cat - vt eespool | | cat - vt eespool |
| | |
| head - kuvab stout-i faili alguse. Vaikimisi 10 esimest rida, saab määrata ka baitide (-c) või ridade (-n) arvu | | head - kuvab stout-i faili alguse. Vaikimisi 10 esimest rida, saab määrata ka baitide (-c) või ridade (-n) arvu |
| | |
| tail - sama, kuid lõpust. Kasulik logide jälgimisel (värskeimad sissekanded). Lisavõimalused: | | tail - sama, kuid lõpust. Kasulik logide jälgimisel (värskeimad sissekanded). Lisavõimalused: |
| * -f - jääb jälgima ja kuvab lisanduvad read
| | * -f - jääb jälgima ja kuvab lisanduvad read |
| * -pid=nr - lõpetab -f-iga alustatud jälgimise, kui protsess nr lõpetab töö
| | * -pid=nr - lõpetab -f-iga alustatud jälgimise, kui protsess nr lõpetab töö |
|
| |
|
| less - tõsisem failikuvaja. Enamasti ei kasutata käsuahelates (liiga interaktiivne), v.a. viimase käsuna | | less - tõsisem failikuvaja. Enamasti ei kasutata käsuahelates (liiga interaktiivne), v.a. viimase käsuna |
| * /sõna - otsing ettepoole. ainult / annab interaktiivse. n edasi, N tagasi
| | * /sõna - otsing ettepoole. ainult / annab interaktiivse. n edasi, N tagasi |
| * ?sõna - sama tahapoole
| | * ?sõna - sama tahapoole |
| * gNR - reale minek. N: g65
| | * gNR - reale minek. N: g65 |
| * h - abiinfo
| | * h - abiinfo |
| * q - välja
| | * q - välja |
|
| |
|
| Kokkuvõtvad käsud: | | ==== Kokkuvõtvad käsud ==== |
|
| |
|
| cut - võimaldab filtreerida failist infot mingite tingimuste (baitide, märkide, väljade) järgi: | | cut - võimaldab filtreerida failist infot mingite tingimuste (baitide, märkide, väljade) järgi: |
Line 272: |
Line 272: |
| Väärtused võivad olla konkreetsed (4), vahemikud (2-4) ja avatud vahemikud (-2, 4- - kuidas määratakse negatiivseid arve?) | | Väärtused võivad olla konkreetsed (4), vahemikud (2-4) ja avatud vahemikud (-2, 4- - kuidas määratakse negatiivseid arve?) |
|
| |
|
| N: $ ifconfig eth0 | grep HWaddr | cut -d “ “ -f 11 - kuvab MAC-aadressi | | N: $ ifconfig eth0 | grep HWaddr | cut -d “ “ -f 11 - kuvab ifconfig'ist MAC-aadressi |
|
| |
|
| wc - sõnaloend. Võimaldab lugeda ka ridu (-l), sõnu (-w), baite (-b) ja märke (-c). | | wc - sõnaloend. Võimaldab lugeda ka ridu (-l), sõnu (-w), baite (-b) ja märke (-c). |
Line 280: |
Line 280: |
|
| |
|
|
| |
|
| Regulaaravaldised: | | ==== Regulaaravaldised ==== |
|
| |
|
| * Kantsulud - variandid. N: b[aeiou]g - bag, beg, big, bog, bug | | * Kantsulud - variandid. N: b[aeiou]g - bag, beg, big, bog, bug |
Line 293: |
Line 293: |
| * tavasulud - alamavaldis nagu matemaatikas | | * tavasulud - alamavaldis nagu matemaatikas |
| * kurakaldkriips - paosümbol eelmiste sümbolite tavakasutuseks. N: kakupesa\.net | | * kurakaldkriips - paosümbol eelmiste sümbolite tavakasutuseks. N: kakupesa\.net |
|
| |
|
| |
|
|
| |
|
Line 302: |
Line 301: |
| * -r - rekursiivne otsing alamkataloogidest (võib aga ka rgrep-i kasutada) | | * -r - rekursiivne otsing alamkataloogidest (võib aga ka rgrep-i kasutada) |
| * -E - kasutab laiendatud regulaaravaldist (vaikimisi on tavakujul; võib aga ka egrep'i kasutada) | | * -E - kasutab laiendatud regulaaravaldist (vaikimisi on tavakujul; võib aga ka egrep'i kasutada) |
| N: grep -E “(twain\.example\.com|bronto\.pangaea\.edu).*127” /etc/* - otsib /etc-st ridu, kus on üks kahest domeeninimest ja seejärel number 127
| | |
| NB! Siin ja mõnel muul juhul kasutatakse jutumärke, et kest ei tõlgendaks avaldise osi enda käskudena!
| | N: grep -E “(twain\.example\.com|bronto\.pangaea\.edu).*127” /etc/* - otsib /etc-st ridu, kus on üks kahest domeeninimest ja seejärel number 127 |
| | |
| | NB! Siin ja mõnel muul juhul kasutatakse jutumärke, et kest ei tõlgendaks avaldise osi enda käskudena! |
|
| |
|
|
| |
|
| sed - käsurearedaktor. Muudab faili ja saadab selle stdout'i. Kaks põhikuju: | | sed - käsurearedaktor. Muudab faili ja saadab selle stdout'i. Kaks põhikuju: |
| sed [valikud] -f skriptifail [sisendfail] | | * sed [valikud] -f skriptifail [sisendfail] |
| sed [valikud] skriptifail [sisendfail] | | * sed [valikud] skriptifail [sisendfail] |
|
| |
|
| N: $ sed ‘s/2011/2012/‘ cal-2011.txt > cal-2012.txt - asendab aastanumbri ja teeb järgmise aasta kalendri | | N: $ sed ‘s/2011/2012/‘ cal-2011.txt > cal-2012.txt - asendab aastanumbri ja teeb järgmise aasta kalendri |
|
| |
|
|
| |
|
| Esmane kontrolltulemus: 17 20-st.
| | === Pakihaldus === |
| | |
| | |
| | |
| ============ | |
| 2. PEATÜKK
| |
| ============
| |
| | |
| | |
| | |
| Pakihaldurid:
| |
|
| |
|
| RPM (RPM Package Manager, varem Redhat Package Manager) | | RPM (RPM Package Manager, varem Redhat Package Manager) |
Line 349: |
Line 340: |
| * --rebuilddb - loob RPM-i andmebaasi uuesti, parandab vead | | * --rebuilddb - loob RPM-i andmebaasi uuesti, parandab vead |
|
| |
|
| Põhivalikud: | | {| |
| Valik Käsud Kirjeldus | | |+Põhivalikud |
| ..........................................................
| | |- |
| | | ! Valik |
| --root dir Kõik Määrab konkreetse kataloogi juurkataloogiks | | ! Käsud |
| --force -i, -U, -F Sundpaigaldus (ka ülekirjutamise korral) | | ! Kirjeldus |
| -h, --hash -i, -U, -F Näitab käsu täitmise edenemist #-sümbolite reaga | | |- |
| -v -i, -U, -F Kasutatakse koos -h-ga näitamaks iga paki kohta ühtmoodi #-de rida (-Uvh) | | | --root dir |
| --nodeps -i, -U, -F, -e Eirab sõltuvusi (ohtlik!) | | | Kõik |
| --test -i, -U, -F Kontrollib kõike nagu päris paigalduses, aga reaalselt ei paigalda | | | Määrab konkreetse kataloogi juurkataloogiks |
| --prefix path -i, -U, -F Määrab paigalduskataloogi (toimib vaid osade pakkidega) | | |- |
| -a, --all -q, -V Kontrollib kõiki pakke | | | --force |
| -f file, --file file -q, -V Kontrollib faili omanikuks olevat pakki | | | -i, -U, -F |
| -p package-file -q Päring eemaldatud faili kohta | | | Sundpaigaldus (ka ülekirjutamise korral) |
| -i -q Kuvab paki info | | |- |
| -R, --requires -q Kuvab sõltuvused (pakid ja failid) | | | -h, --hash |
| -l, --list -q Kuvab pakis olevad failid | | | -i, -U, -F |
| | | Näitab käsu täitmise edenemist #-sümbolite reaga |
| | |- |
| | | -v |
| | | -i, -U, -F |
| | | Kasutatakse koos -h-ga näitamaks iga paki kohta ühtmoodi #-de rida (-Uvh) |
| | |- |
| | | --nodeps |
| | | -i, -U, -F, -e |
| | | Eirab sõltuvusi (ohtlik!) |
| | |- |
| | | --test |
| | | -i, -U, -F |
| | | Kontrollib kõike nagu päris paigalduses, aga reaalselt ei paigalda |
| | |- |
| | | --prefix path |
| | | -i, -U, -F |
| | | Määrab paigalduskataloogi (toimib vaid osade pakkidega) |
| | |- |
| | | -a, --all |
| | | -q, -V |
| | | Kontrollib kõiki pakke |
| | |- |
| | | -f file, --file file |
| | | -q, -V |
| | | Kontrollib faili omanikuks olevat pakki |
| | |- |
| | | -p package-file |
| | | -q |
| | | Päring eemaldatud faili kohta |
| | |- |
| | | -i |
| | | -q |
| | | Kuvab paki info |
| | |- |
| | | -R, --requires |
| | | -q |
| | | Kuvab sõltuvused (pakid ja failid) |
| | |- |
| | | -l, --list |
| | | -q |
| | | Kuvab pakis olevad failid |
| | |} |
|
| |
|
| NB! Osa operatsioone tahavad paki nime (lühem), teised aga paki täis-failinime (pikem)! | | NB! Osa operatsioone tahavad paki nime (lühem), teised aga paki täis-failinime (pikem)! |
|
| |
|
| |
|
| rpm -qi - põhjalikum info paki kohta. | | rpm -qi - põhjalikum info paki kohta. |
|
| |
|
|
| |
|
| Andmete eraldamine RPMist | | ==== Andmete eraldamine RPMist ==== |
|
| |
|
| RPM on muudetud cpio-fail (vt http://en.wikipedia.org/wiki/Cpio). | | RPM on muudetud cpio-fail (vt http://en.wikipedia.org/wiki/Cpio). |
Line 382: |
Line 414: |
|
| |
|
| seejärel cpio-fail lahti pakkida: $ cpio -i --make-directories < samba-server-3.0.25b-4.5mdv2008.0.cpio | | seejärel cpio-fail lahti pakkida: $ cpio -i --make-directories < samba-server-3.0.25b-4.5mdv2008.0.cpio |
| | |
| -i pakib lahti, --make-directories loob vajalikud alamkataloogid | | -i pakib lahti, --make-directories loob vajalikud alamkataloogid |
|
| |
|
Line 391: |
Line 424: |
|
| |
|
|
| |
|
| Yum | | ==== Yum ==== |
|
| |
|
| Üldkuju: yum [valikud] [käsk] [pakid] | | Üldkuju: yum [valikud] [käsk] [pakid] |
Line 418: |
Line 451: |
|
| |
|
|
| |
|
| RPM'i ja yum'i konf | | ==== RPM'i ja yum'i konf ==== |
|
| |
|
| RPM-i põhikonf: /usr/lib/rpm/rpmrc (ei ole /etc all!). Seda ei tohiks muuta - tulekski luua kas globaalne /etc/rpmrc või kasutajapõhine ~/.rpmrc | | RPM-i põhikonf: /usr/lib/rpm/rpmrc (ei ole /etc all!). Seda ei tohiks muuta - tulekski luua kas globaalne /etc/rpmrc või kasutajapõhine ~/.rpmrc |
|
| |
|
| Peamine point on lisada arhitektuurivõtmeid: optflags: athlon -O2 -g -march=i686 | | Peamine mõte on lisada arhitektuurivõtmeid: optflags: athlon -O2 -g -march=i686 |
|
| |
|
| Yum: /etc/yum.conf + /etc/yum.repos.d/ -varamute konfid | | Yum: /etc/yum.conf + /etc/yum.repos.d/ -varamute konfid |
Line 433: |
Line 466: |
| Asjalik teenus: http://rpmfind.net | | Asjalik teenus: http://rpmfind.net |
|
| |
|
| Deb/dpkg | | |
| | ==== Deb/dpkg ==== |
|
| |
|
| Debian, Ubuntu, Xandros, Mepis, Libranet... | | Debian, Ubuntu, Xandros, Mepis, Libranet... |
Line 451: |
Line 485: |
| * -C, --audit poolikute pakkide otsing, annab soovitusi | | * -C, --audit poolikute pakkide otsing, annab soovitusi |
|
| |
|
| Võtmed: | | {| |
| * --root=dir Kõik Määrab juurkataloogi (kasulik erakorralise remondi puhul)
| | |+Võtmed |
| * -B, --auto-deconfigure -r Deaktiveerib pakid, mis sõltuvad eemaldatavast pakist
| | |- |
| * --force-things Mõned Sunnib tegevusi
| | | --root=dir |
| * --ignore-depends=package -i, -r Eirab sõltuvusi
| | | Kõik |
| * --no-act -i, -r Kontrollib sõltuvusi ilma reaalset operatsiooni sooritamata
| | | Määrab juurkataloogi (kasulik erakorralise remondi puhul) |
| * --recursive -i Rekursioon läbi alamkataloogide
| | |- |
| * -G -i Ei paigalda pakki, mille uuem versioon on juba paigaldatud
| | | -B, --auto-deconfigure |
| * -E, --skip-same-version -i Ei paigalda pakki, mille sama versioon on juba paigaldatud
| | | -r |
| | | Deaktiveerib pakid, mis sõltuvad eemaldatavast pakist |
| | |- |
| | | --force-things |
| | | Mõned |
| | | Sunnib tegevusi |
| | |- |
| | | --ignore-depends=package |
| | | -i, -r |
| | | Eirab sõltuvusi |
| | |- |
| | | --no-act |
| | | -i, -r |
| | | Kontrollib sõltuvusi ilma reaalset operatsiooni sooritamata |
| | |- |
| | | --recursive |
| | | -i |
| | | Rekursioon läbi alamkataloogide |
| | |- |
| | | -G |
| | | -i |
| | | Ei paigalda pakki, mille uuem versioon on juba paigaldatud |
| | |- |
| | | -E, --skip-same-version |
| | | -i |
| | | Ei paigalda pakki, mille sama versioon on juba paigaldatud |
| | |} |
|
| |
|
| Mõnel juhul eeldatakse paki-, mõnel failinime. Install ja info tahavad faili, eemaldamine pakki. | | Mõnel juhul eeldatakse paki-, mõnel failinime. Install ja info tahavad faili, eemaldamine pakki. |
Line 467: |
Line 527: |
| * apt-cache showpkg pakinimi - | | * apt-cache showpkg pakinimi - |
| * apt-cache stats - pakistatistika. | | * apt-cache stats - pakistatistika. |
| | |
| Näide: | | Näide: |
| kakk@aragorn:~$ sudo apt-cache stats | | kakk@aragorn:~$ sudo apt-cache stats |
| [sudo] password for kakk: | | [sudo] password for kakk: |
| Pakettide nimesid kokku: 42027 (841k) | | Pakettide nimesid kokku: 42027 (841k) |
| Total package structures: 42027 (2 354k) | | Total package structures: 42027 (2 354k) |
| Tavapakette: 32271 | | Tavapakette: 32271 |
| Puhtalt virtuaalseid pakette: 530 | | Puhtalt virtuaalseid pakette: 530 |
Line 477: |
Line 538: |
| Kombineeritud virtuaalseid pakette: 293 | | Kombineeritud virtuaalseid pakette: 293 |
| Puudu: 5874 | | Puudu: 5874 |
| Kokku erinevaid versioone: 34394 (2 476k) | | Kokku erinevaid versioone: 34394 (2 476k) |
| Erinevaid kirjeldusi kokku: 34394 (825k) | | Erinevaid kirjeldusi kokku: 34394 (825k) |
| Sõltuvusi kokku: 222752 (6 237k) | | Sõltuvusi kokku: 222752 (6 237k) |
| Versioonide/failide seoseid kokku: 38085 (914k) | | Versioonide/failide seoseid kokku: 38085 (914k) |
| Kirjelduste/failide seoseid kokku: 34394 (825k) | | Kirjelduste/failide seoseid kokku: 34394 (825k) |
| Total Provides mappings: 6341 (127k) | | Total Provides mappings: 6341 (127k) |
| Total globbed strings: 183 (2 517) | | Total globbed strings: 183 (2 517) |
| Total dependency version space: 1 091k | | Total dependency version space: 1 091k |
| Lõtkukohti kokku: 53,4k | | Lõtkukohti kokku: 53,4k |
| Total space accounted for: 12,2M | | Total space accounted for: 12,2M |
|
| |
|
| * apt-cache unmet - puuduvad sõltuvused | | * apt-cache unmet - puuduvad sõltuvused |
Line 492: |
Line 553: |
| * apt-cache pkgnames sa - sa-ga algavad pakinimed | | * apt-cache pkgnames sa - sa-ga algavad pakinimed |
|
| |
|
| | | ==== Apt-get ==== |
| Apt-get | |
|
| |
|
|
| |
|
Line 510: |
Line 570: |
| * autoclean puhastab puhvri vaid vanadest failidest, mida enam kasutada ei saa | | * autoclean puhastab puhvri vaid vanadest failidest, mida enam kasutada ei saa |
|
| |
|
| Valikud: | | {| |
| | |+Valikud |
| | |- |
| | | -d, --download-only |
| | | upgrade, dselect-upgrade, install, source |
| | | Laeb pakid alla, kuid ei paigalda |
| | |- |
| | | -f, --fix-broken |
| | | install, remove |
| | | Üritab lahendada sõltuvused |
| | |- |
| | | -m, --ignore-missing, --fix-missing |
| | | upgrade, dselect-upgrade, install, remove, source |
| | | Eirab pakke, mille lähtekood pole saadaval |
| | |- |
| | | -q, --quiet |
| | | Kõik |
| | | Ei näita osasid väljundeid (-qq on veel vaiksem!) |
| | |- |
| | | -s, --simulate, --just-print, --dry-run, --recon, --no-act |
| | | Kõik |
| | | Simuleerib tegevust (reaalselt ei tee) |
| | |- |
| | | -y, --yes, --assume-yes |
| | | Kõik |
| | | Vastab küsimustele "jah" (skriptides kasutamiseks) |
| | |- |
| | | -b, --compile, --build |
| | | source |
| | | Laeb lähtekoodipaki alla ja kompileerib selle |
| | |- |
| | | --no-upgrade |
| | | install |
| | | Ei uuenda pakki, kui vanem versioon on juba olemas |
| | |} |
|
| |
|
| -d, --download-only upgrade, dselect-upgrade, Laeb pakid alla, kuid ei paigalda | | Apt - sama jutt kui RPMiga: kontroll nihkub pakendaja kätte! |
| install, source
| |
| -f, --fix-broken install, remove Üritab lahendada sõltuvused
| |
| -m, --ignore-missing või upgrade, dselect-upgrade, Eirab pakke, mille lähtekood pole saadaval
| |
| --fix-missing install, remove, source
| |
| -q, --quiet Kõik Ei näita osasid väljundeid (-qq on veel vaiksem!)
| |
| -s, --simulate, --just-print, Kõik Simuleerib tegevust (reaalselt ei tee)
| |
| --dry-run, --recon või
| |
| --no-act
| |
| -y, --yes või --assume-yes Kõik Vastab küsimustele "jah" (skriptides kasutamiseks)
| |
| -b, --compile või --build source Laeb lähtekoodipaki alla ja kompileerib selle
| |
| --no-upgrade install Ei uuenda pakki, kui vanem versioon on juba olemas
| |
|
| |
|
| Apt - sama jutt kui RPMiga: kontroll nihkub pakendaja kätte!
| |
|
| |
|
| | dselect, aptitude - pakibrauserid (aptitude töötab apt-geti analoogina, kui anda pakid ette, ilma parameetriteta läheb interaktiivsesse režiimi). |
|
| |
|
| dselect, aptitude - pakibrauserid (aptitude töötab apt-geti analoogina, kui anda pakid ette, ilma parameetriteta läheb interaktiivsesse režiimi). Graafiline analoog on Synaptic.
| | Graafiline analoog on Synaptic. |
|
| |
|
| aptitude - full-upgrade vs safe-upgrade, viimane on konservatiivsem | | aptitude - full-upgrade vs safe-upgrade, viimane on konservatiivsem |
|
| |
|
| |
|
| dpkg-reconfigure - paki ümberkonfimine | | dpkg-reconfigure - paki ümberkonfimine |
Line 537: |
Line 619: |
| Debiani pakk koosneb eri failidest! lähtekoodi tarball, kontrollfail ja .dsc-signatuurifail (ehtsuse kontroll) | | Debiani pakk koosneb eri failidest! lähtekoodi tarball, kontrollfail ja .dsc-signatuurifail (ehtsuse kontroll) |
|
| |
|
| | | ==== Pakihaldurite konfimine ==== |
| Pakihaldurite konfimine | |
|
| |
|
| dpkg konf: /etc/dpkg/dpkg.cfg või kohalik ~/.dpkg.cfg | | dpkg konf: /etc/dpkg/dpkg.cfg või kohalik ~/.dpkg.cfg |
Line 545: |
Line 626: |
|
| |
|
|
| |
|
| Alien
| | ==== alien ==== |
|
| |
|
| Nõuab nii RPMi kui DPKG paigaldamist | | Nõuab nii RPMi kui DPKG paigaldamist |
|
| |
|
| Üldkuju: alien [options] file[...] | | Üldkuju: alien [options] file[...] |
| | |
| Tähtsaimad valikud: --to-deb, --to-rpm, --to-slp ja --to-tgz (3. on Stampede Linuxi pakett, suht vananenud, 2002 lõpetas töö) | | Tähtsaimad valikud: --to-deb, --to-rpm, --to-slp ja --to-tgz (3. on Stampede Linuxi pakett, suht vananenud, 2002 lõpetas töö) |
| | |
| Näited: | | Näited: |
| # alien --to-rpm someprogram-1.2.3-4_i386.deb - rpm-iks | | * # alien --to-rpm someprogram-1.2.3-4_i386.deb - rpm-iks |
| # alien --install binary-tarball.tar.gz - installib ja lisab Debiani andmebaasi nagu .deb-i | | * # alien --install binary-tarball.tar.gz - installib ja lisab Debiani andmebaasi nagu .deb-i |
|
| |
|
|
| |
|
| Pakikonfliktid | | ==== Pakikonfliktid ==== |
|
| |
|
| Peamised põhjused: | | Peamised põhjused: |
Line 565: |
Line 648: |
|
| |
|
| RPM-i puhul saab jõuga: | | RPM-i puhul saab jõuga: |
| # rpm -i apackage.rpm --nodeps | | * # rpm -i apackage.rpm --nodeps |
| # rpm -i apackage.rpm --force | | * # rpm -i apackage.rpm --force |
|
| |
|
| DPKG puhul --ignore-depends=package, --force-depends või --force-conflicts -parameetrid | | DPKG puhul --ignore-depends=package, --force-depends või --force-conflicts -parameetrid |
Line 578: |
Line 661: |
| Vahel (serveritarkvara puhul) on vaja muuta käivitusskripte: /etc/rc.d/rc.local või /etc/rc.d/boot.local | | Vahel (serveritarkvara puhul) on vaja muuta käivitusskripte: /etc/rc.d/rc.local või /etc/rc.d/boot.local |
|
| |
|
| | | === Jagatud teegid === |
| | |
| | |
| | |
| | |
| Jagatud teegid | |
|
| |
|
| näiteks libc/glibc, qt, gtk+ | | näiteks libc/glibc, qt, gtk+ |
Line 618: |
Line 696: |
|
| |
|
| ldd programminimi - kuvab kõik teegid, mida programm kasutab: | | ldd programminimi - kuvab kõik teegid, mida programm kasutab: |
| | kakk@aragorn:~$ ldd /usr/bin/xbiff |
| | linux-vdso.so.1 => (0x00007fff3a7ff000) |
| | libXaw.so.7 => /usr/lib/libXaw.so.7 (0x00007f4941c22000) |
| | libXt.so.6 => /usr/lib/libXt.so.6 (0x00007f49419bd000) |
| | ... |
| | |
| | ldconfig - laeb teekide puhvri uuesti (vajalik peale muutusi). Nii RPM kui DPKG teevad seda automaatselt. Saab ka eri parameetreid kasutada. |
|
| |
|
| kakk@aragorn:~$ ldd /usr/bin/xbiff
| |
| linux-vdso.so.1 => (0x00007fff3a7ff000)
| |
| libXaw.so.7 => /usr/lib/libXaw.so.7 (0x00007f4941c22000)
| |
| libXt.so.6 => /usr/lib/libXt.so.6 (0x00007f49419bd000)
| |
| ...
| |
|
| |
|
| ldconfig - laeb teekide puhvri uuesti (vajalik peale muutusi). Nii RPM kui DPKG teevad seda automaatselt. Saab ka eri parameetreid kasutada.
| | === Protsessihaldus === |
|
| |
|
|
| |
|
| Protsessihaldus
| |
|
| |
|
| | ==== uname ==== |
|
| |
|
| Kerneliprotsess - uname:
| | Kerneliprotsessi info |
|
| |
|
| Põhiparameetrid: | | Põhiparameetrid: |
Line 645: |
Line 725: |
|
| |
|
|
| |
|
| ps - protsessikäsk. Hirmus hulk parameetreid, kolm klassi: | | ==== ps ==== |
| | |
| | Protsessikäsk. Hirmus hulk parameetreid, kolm klassi: |
| * Unix98 valikud - ühetähelised, võib grupeerida, algavad ÜHE kriipsuga (-) | | * Unix98 valikud - ühetähelised, võib grupeerida, algavad ÜHE kriipsuga (-) |
| * BSD valikud - ühetähelised, võib grupeerida, algavad ILMA kriipsuta | | * BSD valikud - ühetähelised, võib grupeerida, algavad ILMA kriipsuta |
Line 676: |
Line 758: |
|
| |
|
|
| |
|
| top | | ==== top ==== |
|
| |
|
| ps-i dünaamiline variant. Tavaliselt kasutatakse interaktiivselt ilma argumentideta, aga saab ka anda parameetreid | | ps-i dünaamiline variant. Tavaliselt kasutatakse interaktiivselt ilma argumentideta, aga saab ka anda parameetreid |
Line 686: |
Line 768: |
|
| |
|
|
| |
|
| Tausta- ja esiplaaniprotsessid | | ==== Tausta- ja esiplaaniprotsessid ==== |
|
| |
|
| Ctrl-Z peatab terminalis jooksva protsessi ja vabastab terminali | | Ctrl-Z peatab terminalis jooksva protsessi ja vabastab terminali |
| | |
| fg jätkab uuesti (kui mitu on peatatud, siis fg number) | | fg jätkab uuesti (kui mitu on peatatud, siis fg number) |
| | |
| bg jätkab taustal | | bg jätkab taustal |
| | |
| käsk & käivitab taustal | | käsk & käivitab taustal |
|
| |
|
|
| |
|
| nice | | ==== nice ==== |
|
| |
|
| Määrab protsessi prioriteetsuse: | | Määrab protsessi prioriteetsuse: |
| | |
| nice [argument] [command [command-arguments]] | | nice [argument] [command [command-arguments]] |
|
| |
|
Line 707: |
Line 793: |
|
| |
|
| Töö käigus saab prioriteeti muuta: renice priority [[-p] pids] [[-g] pgrps] [[-u] users] | | Töö käigus saab prioriteeti muuta: renice priority [[-p] pids] [[-g] pgrps] [[-u] users] |
| | |
| N: # renice 7 16580 -u pdavison tbaker - protsess 16580 ja kõik kahe kasutaja protsessid saavad prioriteedi 7. | | N: # renice 7 16580 -u pdavison tbaker - protsess 16580 ja kõik kahe kasutaja protsessid saavad prioriteedi 7. |
|
| |
|
|
| |
|
| Protsessi tapmine | | ==== Protsessi tapmine ==== |
|
| |
|
| kill - võib olla nii sise- kui väliskäsk, viimase jaoks tuleks anda koos teega /bin/kill | | kill - võib olla nii sise- kui väliskäsk, viimase jaoks tuleks anda koos teega /bin/kill |
Line 730: |
Line 817: |
|
| |
|
| killall - nime järgi killimine. -i parameeter küsib: | | killall - nime järgi killimine. -i parameeter küsib: |
| kakk@aragorn:~$ killall -i firefox-bin | | kakk@aragorn:~$ killall -i firefox-bin |
| Kill firefox-bin(8074) ? (y/N) y | | Kill firefox-bin(8074) ? (y/N) y |
| kakk@aragorn:~$ | | kakk@aragorn:~$ |
|
| |
|
| NB!!! Mõnes muus Unixis tapab killall KÕIK SELLE KASUTAJA PROTSESSID!!! Ettevaatust... | | NB!!! Mõnes muus Unixis tapab killall KÕIK SELLE KASUTAJA PROTSESSID!!! Ettevaatust... |
|
| |
|
|
| |
|
| Riistvara
| | JÄTKUU.... |
| -------------
| |
| | |
| | |
| BIOS - EEPROM ehk taaskasutatav püsimälu (flash memory)
| |
| POST - power-on self test
| |
| | |
| POST => riistvaratest => alglaaduri laadimine andmekandjalt => alglaaduri käivitus => OS käivitus
| |
| | |
| Apple'il on BIOSi asemel OpenFirmware (PowerPC) või EFI (Intel Macs)
| |
| | |
| BIOS setup - F1, F2, F10, Esc, Del vmm klahv
| |
| | |
| Arvuti käivitus ilma klaverita - kbd check BIOSist välja lülitada!
| |
| | |
| | |
| | |
| Katkestused (IRQ)
| |
| | |
| i386 puhul 0-15, x86_64 jt puhul on neid veel
| |
| | |
| 0 System timer Reserved for internal use.
| |
| 1 Keyboard Reserved for keyboard use only.
| |
| 2 Cascade for IRQs 8–15 The original x86 IRQ-handling circuit can manage
| |
| just 8 IRQs; 2 are tied together to handle 16 IRQs,
| |
| but IRQ 2 must be used to handle IRQs 8–15.
| |
| 3 Second RS-232 serial port May also be shared by a fourth RS-232 serial port.
| |
| ( COM2: in Windows)
| |
| 4 First RS-232 serial port May also be shared by a third RS-232 serial port.
| |
| ( COM1: in Windows)
| |
| 5 Sound card or second paral
| |
| lel port (LPT2: in Windows)
| |
| | |
| 6 Floppy disk controller Reserved for the first floppy disk controller.
| |
| 7 First parallel port (LPT1: in Windows)
| |
| 8 Real-time clock Reserved for system clock use only.
| |
| 9 Open interrupt
| |
| 10 Open interrupt
| |
| 11 Open interrupt
| |
| 12 PS/2 mouse
| |
| 13 Math coprocessor Reserved for internal use.
| |
| 14 Primary ATA controller The controller for ATA devices such as hard drives;
| |
| typically /dev/hda and /dev/hdb under Linux.
| |
| 15 Secondary ATA controller The controller for more ATA devices; typically
| |
| /dev/hdc and /dev/hdd under Linux.
| |
| | |
| | |
| | |
| Põhiline konfliktiallikas on 5 - helikaardid ja teine paralleelport!
| |
| | |
| Linuxis näitab cat /proc/interrupts
| |
| | |
| | |
| /proc - virtuaalne failisüsteem: mitte päris failid, vaid failisüsteemina esitatav kerneli info (riistvara, protsessid jne).
| |
| Paljud utiliidid kasutavad seda, kuid cat'iga vmm moel saab ka otse vaadata.
| |
| | |
| | |
| I/O aadressid:
| |
| | |
| | |
| Linux Device Windows Name Typical IRQ I/O Address
| |
| /dev/ttyS0 COM1 4 0x03f8
| |
| /dev/ttyS1 COM2 3 0x02f8
| |
| /dev/ttyS2 COM3 4 0x03e8
| |
| /dev/ttyS3 COM4 3 0x02e8
| |
| /dev/lp0 LPT1 7 0x0378-0x037f
| |
| /dev/lp1 LPT2 5 0x0278-0x027f
| |
| /dev/fd0 A: 6 0x03f0-0x03f7
| |
| /dev/fd1 B: 6 0x0370-0x0377
| |
| | |
| Vahel kasutatakse vananenud tähistust /dev/cuax - seega /dev/cua0 = /dev/ttyS0
| |
| | |
| cat /proc/ioports
| |
| | |
| | |
| DMA (Direct Memory Addressing)
| |
| | |
| cat /proc/dma
| |
| | |
| | |
| CHS geomeetria vs dünaamiline
| |
| | |
| cold vs hot plug
| |
| | |
| Hotplug-seadmed => /sys (sysfs)
| |
| | |
| | |
| HAL (Hardware Abstraction Layer) daemon - jooksev info saadaolevate välisseadmete kohta
| |
| | |
| D-Bus (Desktop Bus) daemon - ditto
| |
| | |
| udev - virtuaalne failisüsteem /dev all, mõeldud hotplug-seadmetele
| |
| | |
| NB! RS-232 (COM) ja paralleelpordi (LPT) seadmed on tegelikult coldplugged - tegelikult peaks reboodi tegema!
| |
| | |
| | |
| PCI konfiks: lspci ja setpci
| |
| | |
| -v Increases verbosity of output. This option may be doubled (-vv)
| |
| or tripled (-vvv) to produce yet more output.
| |
| -n Displays information in numeric codes rather than translating
| |
| the codes to manufacturer and device names.
| |
| -nn Displays both the manufacturer and device names and their
| |
| associated numeric codes.
| |
| -x Displays the PCI configuration space for each device as a hexa-
| |
| decimal dump. This is an extremely advanced option. Tripling
| |
| (-xxx) or quadrupling (-xxxx) this option displays information
| |
| about more devices
| |
| -b Shows IRQ numbers and other data as seen by devices rather
| |
| than as seen by the kernel.
| |
| -t Displays a tree view depicting the relationship between devices.
| |
| -s [[[[domain]:] Displays only devices that match the listed specification. This
| |
| bus]:][slot][.[func]] can be used to trim the results of the output.
| |
| -d [vendor]:[device] Shows data on the specified device.
| |
| -i file Uses the specified file to map vendor and device IDs to names.
| |
| (The default is /usr/share/misc/pci.ids.)
| |
| -m Dumps data in a machine-readable form, intended for use
| |
| by scripts. A single -m uses a backward-compatible format,
| |
| whereas doubling (-mm) uses a newer format.
| |
| -D Displays PCI domain numbers. These numbers normally aren’t
| |
| displayed.
| |
| -M Performs a scan in bus-mapping mode, which can reveal
| |
| devices hidden behind a misconfigured PCI bridge. This is an
| |
| advanced option that can be used only by root.
| |
| --version Displays version information.
| |
| | |
| | |
| | |
| | |
| Kerneli moodulid
| |
| | |
| | |
| lsmod - kuvab ainult moodulite info, mitte aga draivereid, mis on otse kernelisse kompileeritud!
| |
| | |
| # insmod /lib/modules/2.6.26/kernel/drivers/block/floppy.ko
| |
| | |
| NB! Täisnimi koos kataloogiteega!
| |
| | |
| | |
| modprobe - laeb mooduli koos sõltuvustega
| |
| | |
| # modprobe floppy
| |
| | |
| Põhivalikud:
| |
| * -v, --verbose - kuvab lisainfot
| |
| * -C failinimi - kohandatud konfifail (vaikimisi /etc/modprobe.conf)
| |
| * -n, --dry-run - simuleeritud moodulilisamine (reaalselt ei lisa)
| |
| * -r, --remove - eemaldab mooduli koos sõltuvustega (v.a. juhul, kui sõltuvused on teiste poolt kasutuses)
| |
| * -f, --force - jõuga lisamine
| |
| * --show-depends - näitab mooduli sõltuvusi
| |
| * -l, --list - näitab saadaolevaid mooduleid
| |
| | |
| rmmod - mooduli eemaldamine
| |
| | |
| Põhivalikud:
| |
| * -v, --verbose - kuvab lisainfot
| |
| * -f, --force - jõuga eemaldamine
| |
| * -w, --wait - kui moodul on kasutuses, ei anna veateadet, vaid ootab kasutuse lõppemist
| |
| | |
| | |
| | |
| USB
| |
| | |
| USB 1.0 ja 1.1 - kuni 127 seadet, 12Mbps
| |
| USB 2.0 - kuni 480Mbps
| |
| | |
| lsusb
| |
| | |
| Uuemal ajal on USB seadmed ühendatud /proc/bus/usb/001, 002, 003 jne
| |
| | |
| | |
| Kõvakettad
| |
| | |
| (P)ATA - paralleelkaabel, 40 või 80 juhet
| |
| SATA - jadakaabel, 7 juhet?
| |
| | |
| ATA puhul hda on 1. kontrolleri master, hdb 1. kontrolleri slave, hdc 2. kontrolleri master ja hdd 2. kontrolleri slave (vahepealt võib mõni puududa)
| |
| | |
| Uuemal ajal võidakse ka ATA kettaid tähistada nagu SCSI omi (sda)
| |
| | |
| Välised USB- ja Firewire (IEEE1394) kettad - nagu SCSI
| |
| | |
| | |
| | |
| Partitsioonid
| |
| | |
| | |
| NB! Enamikku andmekandjaid käsitletakse võrdväärselt kõvaketastega (USB ja ZIP kettad). Ei partitsioneerita plaate, MO-kettaid ja flopisid!
| |
| | |
| fdisk -l /dev/hdx (vastav nr) näitab reeglina, kas on partitsioneeritav või ei
| |
| | |
| Enamik PC-sid kasutab x86 partitsioneerimist, osa AMD64 ja Inteli Macid aga GUID GPT (Globally Unique Identifier Partition Table) süsteemi
| |
| | |
| | |
| GPT partitsioone on kindlam töödelda GNU Parted'iga, mitte fdiskiga
| |
| | |
| LVM - ei kuulu otseselt programmi. Aga konkreetne soovitus: kui kasutada, tuleb jätta /boot (või / koos buudiga) väljapoole LVM-i (nagu Kakupesas!)
| |
| | |
| | |
| | |
| Jaotisteskeem
| |
| | |
| Swap (not mounted) 1.5–2 times sys- Serves as an adjunct to system RAM; is
| |
| tem RAM size slow, but enables the computer to run more
| |
| or larger programs.
| |
| /home 200MB–1000GB Holds users’ data files. Isolating it on a sepa-
| |
| (or more) rate partition preserves user data during a
| |
| system upgrade. Size depends on the num-
| |
| ber of users and their data storage needs.
| |
| /boot 20–200MB Holds critical boot files. Creating it as a sepa-
| |
| rate partition lets you circumvent limitations
| |
| of older BIOSs and boot loaders on hard disks over 8GB.
| |
| /usr 500MB–10GB Holds most Linux program and data files;
| |
| this is sometimes the largest partition,
| |
| although /home is larger on systems with
| |
| many users or if users store large data files.
| |
| /usr/local 100MB–3GB Holds Linux program and data files that are
| |
| unique to this installation, particularly those
| |
| that you compile yourself.
| |
| /opt 100MB–5GB Holds Linux program and data files that are
| |
| associated with third-party packages, espe-
| |
| cially commercial ones.
| |
| /var 100MB–500GB Holds miscellaneous files associated with
| |
| the day-to-day functioning of a computer.
| |
| These files are often transient in nature.
| |
| Most often split off as a separate partition
| |
| when the system functions as a server that
| |
| uses the /var directory for server-related
| |
| files like mail queues.
| |
| /tmp 100MB–20GB Holds temporary files created by ordinary users.
| |
| /mnt N/A Not a separate partition; rather, it or its
| |
| subdirectories are used as mount points for
| |
| removable media like floppies or CD-ROMs.
| |
| /media N/A Holds subdirectories that may be used as
| |
| mount points for removable media, much
| |
| like /mnt or its subdirectories
| |
| | |
| | |
| | |
| | |
| Failisüsteemi loomine kettale: # mkfs -t ext3 /dev/hda6
| |
| | |
| NB! mõnel juhul tasub reserveeritud ruum (žurnaali jaoks; ca 5% kettast) ära jätta - lisada -m 0 -võti.
| |
| | |
| | |
| Saaleala tegemine:
| |
| # mkswap /dev/hda7
| |
| # swapon /dev/hda7
| |
| | |
| Püsiva jaoks tuleb /etc/fstab'is ära kirjeldada!
| |
| | |
| | |
| Diagnostika
| |
| | |
| dumpe2fs -h <jaotis> N: dumpe2fs -h /dev/sda1
| |
| tune2fs
| |
| debugfs
| |
| | |
| | |
| | |
| fsck / e2fsck
| |
| | |
| Põhivalikud:
| |
| * fsck -A - kõik /etc/fstab-is kirjas olevad failisüsteemid
| |
| * fsck -C - progressinäidik
| |
| * fsck -V - rohkem juttu
| |
| * fsck -N - simulatsioon (ilma reaalse tegevuseta)
| |
| | |
| Tavaliselt võib jooksutada lihtsalt fsck <failisüsteem>
| |
| | |
| | |
| df - ketta täituvus
| |
| | |
| hea võti - -h näitab kordseid ühikuid:
| |
| | |
| kakk@aragorn:~$ df -h
| |
| Failisüsteem Size Used Avail Use% Haagitud
| |
| /dev/sda2 16G 12G 3,1G 80% /
| |
| none 2,0G 288K 2,0G 1% /dev
| |
| none 2,0G 172K 2,0G 1% /dev/shm
| |
| none 2,0G 308K 2,0G 1% /var/run
| |
| none 2,0G 0 2,0G 0% /var/lock
| |
| /dev/sda3 212G 118G 84G 59% /home
| |
| //zerblat/kaido$/ 347G 324G 23G 94% /media/itk_kodu
| |
| //zerblat/Avalik$/ 347G 324G 23G 94% /media/itk_avalik
| |
| /home/kakk/.Private 212G 118G 84G 59% /home/kakk
| |
| kakk@aragorn:~$
| |
| | |
| -a näitab kõiki (ka /proc jt)
| |
| -T kuvab failisüsteemi tüübi
| |
| | |
| Võib anda ette ka failisüsteemi või konkreetse kataloogi
| |
| | |
| | |
| du - kettakasutus
| |
| | |
| Võtmed:
| |
| * -c - kogusumma
| |
| | |
| | |
| | |
| Failisüsteemide haakimine
| |
| | |
| mount
| |
| | |
| Võtmed:
| |
| * -a - kõik fstab'is kirjas olevad
| |
| * -r - ainult lugemiseks
| |
| * -w (või -o rw) - lugemiseks-kirjutamiseks
| |
| * -t tüüp - failisüsteemi tüüp
| |
| | |
| | |
| Lihtne kuju: # mount /dev/sdb7 /mnt/shared
| |
| | |
| Haakimise hetkeseis: /etc/mtab (erinevalt fstab'ist pole konfifail ja seda ei näpita!)
| |
| | |
| Parameetreid:
| |
| * loop - lubab faili haakida kui partitsiooni: mount -t vfat -o loop image.img /mnt/image
| |
| * auto vs noauto - kas haagitakse buudil või ei (eemaldatavaid kettaid ei tasu)
| |
| * user vs nouser - kas kõik kasutajad või vaid root
| |
| * ro vs rw - read-only vs read-write
| |
| * umask väärtus - failisüsteemidele, mis muidu ei toeta Unixi õigustesüsteemi. N: umask 027 => vaikimisi õigused 750, 022 => 755 jne.
| |
| | |
| user vs users vs owner:
| |
| * user - iga kasutaja võib külge haakida, lahti haakida võib vaid sama kasutaja
| |
| * users - igaüks võib kinni-lahti haakida
| |
| * owner - ainult omanik
| |
| | |
| | |
| umount
| |
| * -a kõik NB!!! mitte fstab'i, vaid mtab'i järgi!
| |
| * -f sunnib
| |
| * -r kui ei õnnestu, haagib uuesti read-only'na
| |
| | |
| | |
| NB! Andmete reaalne kettale kirjutamine võib puhvri tõttu toimuda viivitusega - alati tuleb kettad enne eemaldamist lahti ühendada!
| |
| | |
| | |
| fstab
| |
| | |
| kaks viimast veergu:
| |
| * dumpi lipp - tänapäeval pea alati 0 (dumpi enam ei kasutata, muidu oleks 1)
| |
| * fsck kontroll buudi ajal - 0-ei kontrollita, 1-esmane kontroll (root part), 2-teised kontrollitavad
| |
| | |
| CIFS-faili õigused: nagu läpakas EIK ketastega, fstab'is on parameeter credentials=/etc/creds (ja mitte otsene nimi/parool)!
| |
| | |
| /etc/creds sel juhul (root-readable only!):
| |
| username=hschmidt
| |
| password=yiW7t9Td
| |
| | |
| | |
| | |
| Failihaldus
| |
| -------------
| |
| | |
| | |
| Failiõigused: avabiti väärtused
| |
| - - tavafail
| |
| d - kataloog
| |
| l - sümlink
| |
| p - nimega toru
| |
| s - sokkel
| |
| b - blokiseade (ketas)
| |
| c - märgiseade (jada- või rööppordid)
| |
| | |
| | |
| loabitid (käivad kõige ees: ntx 0750; 4750; 6750 jne):
| |
| * SUID - set user ID: programm jookseb mitte käivitaja, vaid omaniku õigustes. N: käivitan tavakasutajana fdiski, kui seal on SUID peale pandud
| |
| N: rwsr-xr-x (s-täht sees). Väärtus: 4
| |
| * SGID - sama grupiga. N: wxr-sr-x. Väärtus: 2
| |
| * sticky - faile saab kustutada vaid nende omanik, kataloogi omanik või root. Kirjutatakse x-i kohale: rwxr-xr-t. Väärtus: 1
| |
| | |
| SUID ja SGID on suured turvariskid!
| |
| | |
| | |
| Sümbolkuju:
| |
| * ugoa - user, group, other, all
| |
| * + - = - add, remove, set
| |
| * rwxXstugo - read,write,execute,exec2,suid/sgid,sticky,user,group,other
| |
| | |
| Näide:
| |
| | |
| Command Initial Permissions End Permissions
| |
| chmod a+x bigprogram rw-r--r-- rwxr-xr-x
| |
| chmod ug=rw report.tex r-------- rw-rw----
| |
| chmod o-rwx bigprogram rwxrwxr-x rwxrwx---
| |
| chmod g=u report.tex rw-r--r-- rw-rw-r--
| |
| chmod g-w,o-rw report.tex rw-rw-rw- rw-r-----
| |
| | |
| | |
| | |
| Umask:
| |
| | |
| Kataloogid: 777 - mask = õigused (022 => 755)
| |
| Failid: 666 - mask = õigused (022 => 644)
| |
| | |
| Tegelikult bitikaupa lahutamine, mitte tavaline: kataloogi puhul 027 => 640 ja 277 => 400)
| |
| | |
| umask ja newgrp -käsud
| |
| | |
| | |
| chattr - ainult Linuxi failisüsteemides, täiendavad õigused:
| |
| * -a - append, kirjutada saab ainult lisades (mitte üle)
| |
| * -c - compress, automaatne jooksev kinni-lahtipakkimine
| |
| * -i - immutable, ei saa muuta, ümber nimetada, kustutada, linkida (isegi root mitte - bitt tuleb enne maha võtta!)
| |
| * -j - journal (kui failisüstemem toetab) - faili žurnaalimine (kergem taastada, ent aeglane)
| |
| * -s - secure delete - püsikustutus (nullidega ülekirjutus)
| |
| * -t - no tail-merging - faili ei ümardata üle blokkide
| |
| * -A - no access time update - faili viimase vaatamise atribuuti ei uuendata
| |
| | |
| | |
| Kettakvoodid:
| |
| | |
| 2.4 kernelid - v1
| |
| 2.6 - v2
| |
| | |
| | |
| fstab'i rida:
| |
| | |
| /dev/hdc5 /home ext3 usrquota,grpquota 1 1
| |
| | |
| Sisselülitamine (RH): chkconfig quota on
| |
| | |
| | |
| | |
| Otsing
| |
| | |
| | |
| find
| |
| - name
| |
| - perm
| |
| - size
| |
| - gid
| |
| - uid
| |
| | |
| Peamiselt root-kasutaja tööriist - ei sõida üle failiõigustest!
| |
| | |
| locate
| |
| kasutab andmebaasi (vt updatedb!), kiirem ja lihtsam
| |
| slocate - turvalisem, ei näita tavakasutajale asju, mida ei peaks näitama
| |
| | |
| | |
| | |
| whereis - ainult kindlad süsteemsed kohad, mõeldud käskude leidmiseks:
| |
| | |
| $ whereis ls
| |
| ls: /bin/ls /usr/share/man/man1/ls.1.bz2
| |
| | |
| | |
| which - väga nõrk otsing ainult kasutaja kataloogitee raames, tagastab leitud faili kogu kataloogitee:
| |
| $ which xterm
| |
| /usr/bin/xterm
| |
| | |
| type - kas sise- või väliskäsk, alias vmms:
| |
| | |
| $ type type
| |
| type is a shell builtin
| |
| $ type cat
| |
| cat is /bin/cat
| |
| $ type ls
| |
| ls is aliased to `ls --color’
| |
| | |
| | |
| tar - t-võti on --list!
| |
| | |
| kvootide nägemine: repquota -a
| |
| | |
| | |
| | |
| Buudiprotsess
| |
| -------------
| |
| | |
| LILO: /etc/lilo.conf (NB! peale muudatusi tuleb lilo-käsk anda)
| |
| | |
| Nii LILO kui GRUBi puhul: kui kernel tehakse ise, tuleb see konfi ise sisse kirjutada!
| |
| Alati tasub vana image alles jätta, kuni pole selge, kas uus töötab
| |
| | |
| | |
| Single-user mode: linux 1, linux s, linux S või linux single
| |
| | |
| GRUB: /boot/grub/menu.lst või /boot/grub/grub.conf
| |
| | |
| | |
| buuditeated: dmesg (vt ka /var/log/dmesg)
| |
| | |
| buudiprotsessi etapid:
| |
| | |
| 1. poweron, BIOS
| |
| 2. BIOS kontrollib riistvara, otsib buutsektori
| |
| 3. alglaadur
| |
| 4. käivitub kernel
| |
| 5. /sbin/init
| |
| 6. muud käivitusprogrammid
| |
| | |
| | |
| Käivitustasemed:
| |
| 0 - üleminekutase (sisuliselt shutdown)
| |
| 1 - single user
| |
| 2 - Debianil (Ubuntul ka!) full multiuser w/ X, graph login. teistel defineerimata
| |
| 3 - enamasti full multi user text mode
| |
| 4 - enamasti defineerimata
| |
| 5 - enamasti 3 + graafiline keskkond
| |
| 6 - reboot
| |
| | |
| | |
| | |
| Muidu on default level /etc/inittab-is. Ubuntul vaikimisi pole!
| |
| | |
| Runleveli sättimise vahendid: chkconfig, ntsysv, rc-update ja update-rc.d (Ubuntul on viimane!)
| |
| | |
| Check: runlevel-käsk : N näitab, et level pole viimase buudiga muutunud
| |
| | |
| | |
| Vahetamine: init level (N: init 3)
| |
| telinit - kindlam ja suuremate võimalustega
| |
| | |
| | |
| Shutdown
| |
| | |
| # shutdown now - otsekohe level 1 peale
| |
| # shutdown -h +15 “system going down for maintenance” 15 minuti pärast (saab ka kellaaja panna: 06:00)
| |
| katkestus: # shutdown -c “never mind”
| |
| | |
| -h - halt - peatab, ei lülita välja
| |
| -H - Halt - peatab, enamasti lülitab välja
| |
| -r - reboot
| |
| -P - poweroff
| |
| | |
| reboot ja poweroff on tänapäeva halti sümlingid!
| |
| | |
| | |
| vi redaktor
| |
| | |
| Kolm režiimi:
| |
| * käsurežiim: ühetähelised käsud (N: a, i ja R viivad kõik sisestusrežiimi - R on overwrite!)
| |
| * failirežiim: koolon + kaks tähte
| |
| * sisestusrežiim: Esc viib tagasi käsurežiimi
| |
| | |
| Kui ei tea, kus oled, viib Esc alati tagasi käsurežiimi!
| |
| | |
| Salvestus: :w
| |
| Salvesta ja välja: :wq
| |
| Välja ilma salvestuseta: :q!
| |
| | |
| | |
| | |
| ============================================================================================================
| |
| | |
| LPI-102
| |
| | |
| ============================================================================================================
| |
| | |
| X
| |
| | |
| Kolm peamist varianti:
| |
| * XFree86 - 2004. aastani peamine Linuxi akenduskeskkond
| |
| * X.org - 2004. aastast Linuxi peamine keskkond (XFree86 litsentsimuudatuste tõttu)
| |
| * Accelerated-X - omandvaraline X versioon (http://www.xig.com)
| |
| | |
| XFree86 ja X.org'i erinevus - fontide asukoht ja konfifaili nimi...
| |
| | |
| | |
| XFree86 ja X.org-i konfivahendid:
| |
| | |
| X server ise - konfikäsud vastavalt:
| |
| * XFree86 -configure
| |
| * Xorg -configure
| |
| Selle tulemusena luuakse kas:
| |
| * /root/XF86Config.new või
| |
| * /root/xorg.conf.new
| |
| | |
| NB! X ei tohi töötada, vaja on tekstirežiimi!
| |
| | |
| Distrospetsiifilised vahendid:
| |
| * system-config-display (RH)
| |
| * yast, yast2 (Suse)
| |
| | |
| Vananenud:
| |
| * xf86cfg
| |
| * xorgcfg
| |
| | |
| Veel varasemaid (varem kui XFree86 v 3.3.6):
| |
| * xf86config, Xconfigurator, XF86Setup
| |
| | |
| | |
| Põhiline konf:
| |
| * X.org - fail xorg.conf; enamasti /etc/X11 all, aga võib olla ka /etc vmm kohas
| |
| * XFree86 v4 - XF86Config-4 või ka XF86Config, /etc/X11 või /etc
| |
| * XFree86 v3 - XF86Config, /etc/X11 või /etc
| |
| | |
| Konfifail on kõigil sama ülesehitusega ja koosneb sektsioonidest. N klaveri sektsioon:
| |
| Section "InputDevice"
| |
| Identifier "Keyboard0"
| |
| Driver "kbd"
| |
| Option "XkbModel" "pc105"
| |
| Option "XkbLayout" "et"
| |
| Option "AutoRepeat" "500 200"
| |
| EndSection
| |
| | |
| Üldiselt suht sarnane kõigil. Erandina ei ole XFree86 3.3.6 ja vanemates:
| |
| * Option-klauslit - selle asemel on vastavad väärtused esimeses positsioonis (AutoRepeat "500 200")
| |
| * ServerLayout-sektsiooni
| |
| * Identifier- ja Driver- klausleid
| |
| | |
| X-i parandamistsükkel:
| |
| 1. Reeglina ei saa torkida töötavat X-i. Aitab telinit 3 (RH) või /etc/init.d/gdm stop (Debian ja lapsed)
| |
| 2. Teha muudatused
| |
| 3. Lasta X prooviks käima startx-käsuga. Kui korras, siis telinit 5 või /etc/init.d/gdm start
| |
| | |
| Protsessi mahatapmine: Ctrl-Alt-Bksp või grep-kill:
| |
| # ps ax | grep X
| |
| 1375 ? S 6:32 /etc/X11/X -auth /etc/X11/xdm/authdir/
| |
| # kill 1375
| |
| | |
| X-i torkimisel tasub fokuseerida tähelepanu ükshaaval eri seadmetele ja vastavatele konfi sektsioonidele.
| |
| | |
| NB! sektsioonide järjekord ei loe!!!
| |
| | |
| Tüüpilised sektsioonid XF4 ja Xo puhul:
| |
| * Module
| |
| * InputDevice
| |
| * Monitor
| |
| * Device
| |
| * Screen
| |
| * ServerLayout
| |
| | |
| NB! XF4 ja Xo kasutavad hiire ja klaveri jaoks kaht InputDevice-sektsiooni, XF3 kasutas hiire jaoks Pointer-sektsiooni
| |
| | |
| | |
| Module - riistvaradraiverid (kernelimoodulid):
| |
| Section “Module”
| |
| Load “dbe”
| |
| Load “extmod”
| |
| Load “fbdevhw”
| |
| Load “glx” # 3D
| |
| Load “record”
| |
| Load “freetype” # TrueType fonts
| |
| Load “type1” # Adobe Type 1 fonts
| |
| Load “dri” # 3D
| |
| EndSection
| |
| | |
| Üldiselt ei tasu mooduleid eriti torkida (ainus selge juhus on 3D töölesaamine!)
| |
| | |
| InputDevice 1 - klaver:
| |
| | |
| Section “InputDevice”
| |
| Identifier “Keyboard0” # tegelikult ei oma identifikaatori kuju otsest tähendust - sisuliselt 1. klaviatuur
| |
| Driver “kbd”
| |
| Option “XkbModel” “pc105”
| |
| Option “XkbLayout” “et”
| |
| Option “AutoRepeat” “500 200” # klahvikordusmehhanism rakendub 500 ms (0,5sek) pärast ja järgnevad kordused 200ms intervalliga (5x sekundis)
| |
| EndSection
| |
| | |
| NB! Kordustegurit tasub muuta siiski kasutajalähedasemate vahenditega (nagu Accessibility)
| |
| | |
| | |
| | |
| InputDevice 2 - hiir:
| |
| | |
| Section “InputDevice”
| |
| Identifier “Mouse0”
| |
| Driver “mouse”
| |
| Option “Protocol” “IMPS/2”
| |
| Option “Device” “/dev/input/mice”
| |
| Option “Emulate3Buttons” “no” # kas keskmist hiirenuppu saab asendada kahe nupu koosklõpsuga
| |
| Option “ZAxisMapping” “4 5” # 4. ja 5. nupp - sisuliselt tähendavad hiireratta kerimist üles ja alla!
| |
| EndSection
| |
| | |
| Tähtis - Device võib olla:
| |
| * /dev/input/mice
| |
| */dev/mouse # enamasti sümlink
| |
| * /dev/psaux # PS2 hiir
| |
| * /dev/usb/usbmouse # vanad USB hiired
| |
| * /dev/ttyS0 # vanaaegne jadapordihiir
| |
| * /dev/ttyS1 # sama teises pordis
| |
| | |
| Tähtis - Protocol võib olla:
| |
| * IMPS/2 # tänapäeval levinud - enamik rattaga hiiri
| |
| * ExplorerPS/2 # see ka - NB! PS/2 võib tähistada nii riist- kui tarkvaraprotokolli, viimast kasutavad ka paljud USB-hiired!)
| |
| * PS/2 # vanem PS/2
| |
| * Microsoft
| |
| * Logitech
| |
| * Auto # X üritab ise protokolli ära arvata, enamasti edukalt!
| |
| | |
| | |
| Monitor - nägu:
| |
| | |
| Section “Monitor”
| |
| Identifier “Monitor0”
| |
| ModelName “VisionMaster Pro 450”
| |
| HorizSync 27.0-115.0 # kilohertsides!
| |
| VertRefresh 50.0-160.0 # hertsides!
| |
| # kohandatud graafikarežiim 1360x1024
| |
| Modeline “1360x1024” 197.8 1360 1370 1480 1752 1024 1031 1046 1072 -HSync -VSync
| |
| EndSection
| |
| | |
| Identifier ja ModelName eriti ei loe - sync ja refresh on aga väga olulised, määrates reso ja refresh rate'i.
| |
| | |
| Mõned utiliidid võimaldavad valida väärtused (N: 1024x768@75) ja arvutavad siis vastavad väärtused, kuid käsitsi saab täpsemini (vaata manuaalist!).
| |
| | |
| Vanad monitorid võivad katki minna, uued suudavad liiga kõrgeid väärtusi eirata!
| |
| | |
| Modeline on keerukas väärtustekomplekt, niisama torkida ei maksa. XF3 ja varem pani igaks juhuks hirmsa hunniku monitore nõnda kirja
| |
| | |
| XF4 ja Xo kasutavad Data Display Channelit (DDC), mis võimaldavad -configure käsuga Modeline'i arvutada (monitor teatab ise vastavad väärtused). Seetõttu on konfifailid enamasti märksa lühemad.
| |
| | |
| | |
| Device - videokaart:
| |
| | |
| Section “Device”
| |
| Identifier “Videocard0”
| |
| Driver “nv”
| |
| VendorName “nVidia”
| |
| BoardName “GeForce 6100”
| |
| VideoRam 131072 # kilobaitides => 128MB
| |
| EndSection
| |
| | |
| Driver "nv"
| |
| Draiverid asuvad kataloogis /usr/X11R6/lib/modules/drivers/ , enamikul on nime järel _drv.o (N: nv_drv.o).
| |
| Identifier, VendorName ja BoardName on jällegi lugeja jaoks.
| |
| VideoRam pole enamasti vajalik, harva peab määrama.
| |
| | |
| | |
| | |
| Screen - video lahutusvõime ja värvigamma
| |
| | |
| | |
| Section “Screen”
| |
| Identifier “Screen0”
| |
| Device “Videocard0”
| |
| Monitor “Monitor0”
| |
| DefaultDepth 24
| |
| SubSection “Display”
| |
| Depth 24
| |
| Modes “1024x768” “1024x600” “800x600” “640x480”
| |
| EndSubSection
| |
| SubSection “Display”
| |
| Depth 8
| |
| Modes “1024x768” “800x600” “640x480”
| |
| EndSubSection
| |
| EndSection
| |
| | |
| Kaks võimalikku komplekti, vaikimisi väärtuse määrab DefaultDepth (XF3-s oli DefaultColorDepth).
| |
| | |
| Vajatava põhimälu valem: R = xres × yres × bpp ÷ 8,388,608
| |
| N: R = 1280 × 1024 × 24 ÷ 8,388,608 = 3.75MB
| |
| | |
| | |
| ServerLayout - koondinfo:
| |
| | |
| Section “ServerLayout”
| |
| Identifier “single head configuration”
| |
| Screen “Screen0” 0 0
| |
| InputDevice “Mouse0” “CorePointer”
| |
| InputDevice “Keyboard0” “CoreKeyboard”
| |
| EndSection
| |
| | |
| | |
| xdpyinfo - pikk joru tehnilist infot monitor jõudluse kohta. Vaikimisi kuvab kõik laiendused, täpsustamiseks xdpyinfo -ext laiendus
| |
| xwininfo - info mingi akna kohta (tuleb klõpsata). Parameetrid:
| |
| * -id id, -name name - akna ID või nime järgi
| |
| * -root - juuraken (töölaud)
| |
| | |
| | |
| | |
| Kirjastiilid
| |
| | |
| | |
| Tuumstiilid saab kirjutada X-i konfi, vahepeal (XF3 aja lõpus) kasutati ka X-ist sõltumatut fondiserverit (tänaseks teeb jälle põhitöö ära X).
| |
| | |
| Põhiliigid:
| |
| * rasterkirjastiilid (bitmap) - hulk piksleid sees-väljas. Miinusena on vajadus optimeerida konkreetsele resole ja erinev suurus eri resodega (kuvar vs printer). Eri suuruste jaoks on eri failid (vältimaks skaleerimise vajadust)
| |
| * skaleeruvad (scalable) e. joonkirjastiilid (outline) - koosneb maatriksise paigutatud sirg- ja kõverjoontest. Parem skaleeruvus, aga mitte universaalne, samuti vajab rohkem prosejõudu
| |
| | |
| Joonkirjastiilide põhitüübid:
| |
| * Adobe Postscript Type 1 (harilikult lihtsalt Type 1)
| |
| * Apple TrueType - uuem, XF3 ei toetanud (sai lisada fondiserveri abil)
| |
| | |
| | |
| Tuumstiilid - need, mida haldab X ise. Asukohad:
| |
| * XFree86 (traditsiooniliselt) - /usr/X11R6/lib/X11/fonts/
| |
| * X.org-X11 - /usr/share/fonts või /usr/share/X11/fonts
| |
| | |
| Väliseid stiile võib panna ka mujale, näiteks /opt/fonts või /usr/local/fonts alla.
| |
| | |
| Installifailid:
| |
| * Type 1 - .pfa või .pfb
| |
| * TrueType - .ttf
| |
| | |
| Windowsi, OS2 ja paljude muude süsteemide stiile saab Linuxis otse kasutada, Maci "suitcase"-konteinereid ei saa. Teisendamiseks on rida utiliite (näiteks FontForge)
| |
| | |
| Peale fondifailide kopeerimist vastavasse kataloogi tuleb sinna luua paar vajalikku faili. Lihtsam on teha seda käskudega
| |
| * mkfontscale - loob fonts.scale faili, toetab mõlemat tüüpi (T1 jaoks on ka type1inst ja TTF jaoks ttmkfdir)
| |
| * mkfontdir - loob fonts.dir -faili
| |
| | |
| Seejärel tuleb luua X-i konfifaili vastav sektsioon:
| |
| | |
| Section “Files”
| |
| FontPath “/usr/share/fonts/100dpi:unscaled”
| |
| FontPath “/usr/share/fonts/Type1”
| |
| FontPath “/usr/share/fonts/truetype”
| |
| FontPath “/usr/share/fonts/URW”
| |
| FontPath “/usr/share/fonts/Speedo”
| |
| FontPath “/usr/share/fonts/100dpi”
| |
| EndSection
| |
| | |
| NB! Järjekord loeb - kui sama stiil esineb mitmes kohas, kasutatakse eespool olevat!
| |
| | |
| :unscaled lubab rasterfonte kasutada vaid siis, kui nende suurus klapib
| |
| | |
| Testimiseks on lihtsaim võimalus X-i restart. Võib aga ka proovida:
| |
| $ xset fp+ fondikataloog
| |
| $ xset fp rehash
| |
| | |
| fp+ lisab nimekirja lõppu, +fp algusse!
| |
| | |
| | |
| Fondiserver - otseselt pole enam vajalik, aga sobib tsentraalseks kirjastiilijaotuseks paljudele masinatele:
| |
| Section “Files”
| |
| FontPath “unix:/7100” # kohalik fondiserver - võib olla ka kujul "unix:/~1"
| |
| FontPath “tcp/fount.pangaea.edu:7100” # eemalasuv fondiserver
| |
| EndSection
| |
| | |
| | |
| Fondifailid paigaldatakse samamoodi kui eespool, serveri konf asub /etc/X11/fs/config -failis.
| |
| | |
| catalogue = /usr/share/fonts/100dpi:unscaled,
| |
| /usr/share/fonts/Type1,
| |
| /usr/share/fonts/truetype,
| |
| /usr/share/fonts/URW,
| |
| /usr/share/fonts/Speedo,
| |
| /usr/share/fonts/100dpi
| |
| | |
| NB! Eraldatakse komadega!!
| |
| | |
| Testimine: etc/init.d/xfs restart ja ka X-i taaskäivitus (või rehash, vt eespool).
| |
| | |
| | |
| | |
| | |
| Tänapäevane viis - Xft
| |
| | |
| X-i tuumfontidel ja fondiserveril on samad probleemid:
| |
| * raske ühildada kuvari- ja printerikuju
| |
| * serveripõhisus: failid võivad asuda füüsiliselt mujal (võib tekkida jama printimise korraldamisega)
| |
| * Vähe tuge uuematele tüpograafiavõtetele (eeskätt printimisprobleem)
| |
| * ei toeta silumist (antialiast) ehk hallide pikslite kasutamist lisaks valgetele ja mustadele
| |
| | |
| | |
| Xft põhineb FreeType -teegil ja on tänastes Linuxites teine kasutatav süsteem X-i tuumfontide kõrval.
| |
| | |
| Saab kasutada eelnevate süsteemide fondikatalooge - vt failis /etc/fonts/local.conf read <dir>/font/directory</dir>
| |
| | |
| Pärast muudatusi tuleb anda käsk fc-cache - idee poolest sarnane mkfontdir jms-ga
| |
| | |
| | |
| | |
| Graafiline sisselogimine
| |
| -------------------------
| |
| | |
| X Display Manager Control Protocol (XDMCP) - haldab nii eemalt kui kohalikke sisselogimisi
| |
| | |
| Kolm peamist XDMCP serverit: XDM, GDM, KDM
| |
| | |
| | |
| XDMCP serveri käivitab init-protsess, kas /etc/inittab'i või mõne selle alamfaili või siis SysV startup-skriptide abil
| |
| | |
| Enamasti ongi runlevel 3 ja 5 vahe ainult XDMCP serveri käivitamises
| |
| | |
| Vaikimisi runlevel inittab'is: rida id:5:initdefault:
| |
| | |
| Debiani perekond ja Gentoo aga ei kasuta runleveleid (kõigil tasemetel kas käivitatakse XDMCP või ei käivitata), vaid SysV skripte.
| |
| | |
| Ajutine käivitamine/peatamine - xdm/kdm/gdm start/stop. Püsivamalt aga tuleb redigeerida /etc/init.d/ all vastavaid skripte
| |
| | |
| | |
| | |
| XDM
| |
| | |
| kõige lihtsam, võimaldab sisse logida, kuid mitte keskkonda valida (seda tuleb teha login-failide abil)!
| |
| konf /etc/X11/xdm/xdm-config. NB! Vaikimisi on remote login keelatud - DisplayManager.requestPort: 0 . Lubamiseks tuleb panna 0 asemele 177 (traditsioooniline XDMCP port).
| |
| | |
| Kui remote login on lubatud, tuleb konfida /etc/X11/xdm/Xaccess -fail. Vaikimisi on kõik lahti:
| |
| | |
| * && Igaüks võib ühenduda
| |
| * CHOOSER BROADCAST && igaüks võib valida kohaliku süsteemi, millega ühenduda
| |
| | |
| | |
| *.pangaea.edu && kogu domeen võib ühenduda
| |
| tux.example.com && võib ühenduda (aga mitte süsteemi valida, vt järgmist)
| |
| *.pangaea.edu CHOOSER BROADCAST && võib valida kohaliku süsteemi
| |
| | |
| Veel valikuid on failis /etc/X11/xdm/Xresources (näiteks saab määrata tervitusteksti)
| |
| | |
| | |
| KDM
| |
| | |
| Baseerub XDM-il, mitmed konfivariandid on samad. Probleem on konfifaili ebastabiilne asukoht eri süsteemides - /etc/X11/kdm, /etc/kde/kdm, /usr/share/kde4/config/kdm/kdmrc (otsinguvahendid abiks). Võimaldab valida ka sessiooni. Tihti ka täiendav konfifail kdmrc. Remote login tuleb eraldi lubada (enable=yes).
| |
| | |
| | |
| | |
| GDM
| |
| | |
| Sarnaneb XDM-iga vähem kui KDM, ei kasuta sama tüüpi konfi. Põhikonf enamasti /etc/X11/gdm -kataloogis, peamine fail gdm.conf. Nagu KDM-i puhul tuleb remote login eraldi lubada (enable=yes), Konfikäsk gdmconfig (root-tase). Võimaldab sessiooni valikut ja ka arvuti sulgemist. Erinevus: esmalt küsib kasutajanime ja alles siis parooli (XDM ja KDM näitavad mõlemat välja koos).
| |
| | |
| | |
| X-i kaugligipääs
| |
| | |
| X on klient-server süsteem - ekraanipilti võib saata teise arvutisse või jooksutada X-i rakendusi eemalt. Tavaolukorras töötavad X-i server ja klient
| |
| samas masinas - klientideks on rakendused nagu Evolution, OO.o, gnome-terminal, Firefox jt. Kaugligipääsu korral töötab X-i server kasutaja arvutis, rakendused aga eemalolevas masinas. Mõnevõrra sobib paralleel veebilehitsejaga (tarkvara enda arvutis, veebilehed mujal - X-i server täidab siin
| |
| veebiserveri rolli).
| |
| | |
| | |
| VEEBISERVER <=============> X-I KLIENT JA VEEBIKLIENT <==================> X-I SERVER
| |
| | |
| Majutab veebilehti Jooksutab kasutaja tarkvara Näitab pilti ja võtab vastu sisendit (klaver, hiir)
| |
| | |
| | |
| Harilikult vastab X vaikimisi ainult kohalikele pöördumistele (turvakaalutlus). Väljast ligipääs tuleb eraldi konfida, aga turvalisust tuleb jälgida.
| |
| | |
| | |
| Näide: karu on server, kass on klient (aga hea kuvari ja klaveriga, parem töökeskkond).
| |
| | |
| 1. Logida kassi ja käivitada X (kui juba ei tööta)
| |
| 2. Avada terminal
| |
| 3. Terminalist käsk xhost +karu . Annab õiguse kasutada kassi karu terminalina, s.t. kass lubab kuvada karult tulevat infot ekraanil
| |
| 4. logida kassist karusse (SSH, telnet)
| |
| 5. karus anda käsk export DISPLAY=kass:0.0 (bashi puhul; tcsh puhul setenv export'i asemel). Karu saadab nüüd ekraanipildi kassi.
| |
| 6. käivitada vajalik programm, nt Firefox. Firefox jookseb karus, aga pilt ja juhtimine toimub kassist.
| |
| 7. Peale töö lõppu programmid kinni, karust logout ja kassi terminalis käsk xhost -karu.
| |
| | |
| | |
| Variant on kasutada kogu ühenduse jaoks SSH tunnelit - aeglasem, aga turvalisem. Tuleb kas
| |
| a) kasutada ssh-ga karusse logimisel -X võtit või
| |
| b) lisada kliendi faili /etc/ssh_config säte ForwardX11=yes
| |
| | |
| Lisaks peab olema serveri /etc/ssd_config -is X11Forwarding=yes !!
| |
| | |
| Enamasti on tänapäeva distrodes ka X-i konfist võrguühendused maha keeratud. Sisselülitamiseks:
| |
| * GDM vanemad versioonid: /etc/X11/gdm/gdm.conf, DisallowTCP false'iks
| |
| * GDM uuemad: /etc/gdm/gdm.schemas:
| |
| <schema>
| |
| <key>security/DisallowTCP</key>
| |
| <signature>b</signature>
| |
| <default>true</default> && false'iks
| |
| </schema>
| |
| | |
| XDM: /etc/X11/xdm/XServers: :0-ga algaval real võtta lõpust ära -nolisten tcp
| |
| KDM: /etc/X11/kdm/XServers, sama
| |
| | |
| OpenSUSE on erijuht: failis /etc/sysconfig/displaymanager panna DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN väärtuseks "yes".
| |
| | |
| Kui X käivitatakse startx-iga tekstirežiimist, tuleks muuta startx-skripti (/usr/bin/ ja võtta -nolisten tcp maha
| |
| | |
| Peale seda kõike tuleb X taaskäivitada. Veel üks võimalus X-i rakendusi eemalt käivitada on VNC.
| |
| | |
| | |
| | |
| X-i ligipääsetavus
| |
| | |
| Mitmed asjad klaveri ja hiire sätete all. Debounce keys - väldib mitut tahtmatut vajutust järjest
| |
| | |
| | |
| GOK, fonts, kontrastse teema valimine, ekraaniluup (gnome-magnifier/Orca, KMag)
| |
| | |
| Kõne: Orca, Emacspeak
| |
| | |
| BRLTTY: tekstirežiimis töötab üsna otse. z
| |
| | |
| | |
| i18n
| |
| | |
| /etc/localtime - väga väheseid konfis kasutatavaid mitte-tekstifaile. Vahel on sümlink /usr/share/zoneinfo vastavale failile, vahel on see kopeeritud
| |
| sealt ära.
| |
| | |
| date-käsk:
| |
| | |
| kakk@aragorn:~$ date
| |
| E apr 18 01:09:49 EEST 2011
| |
| | |
| Ajavööndid vt http://www.timeanddate.com/library/abbreviations/timezones/
| |
| | |
| Muutmiseks tuleb linkida või kopeerida /etc/localtime asemele näiteks /usr/share/zoneinfo/Europe/Tallinn
| |
| | |
| | |
| Lisaks kasutatakse ka ajavööndifaili:
| |
| * /etc/timezone - Debian ja sugulased
| |
| * /etc/sysconfig/clock - Red Hat ja sugulased
| |
| | |
| Mõnes distros ka utiliidid nagu tzsetup, tzselect, tzconfig (Ubuntus on viimane ebasoovitav, teine võimaldab vööndit valida).
| |
| | |
| | |
| Locale ehk riigiinfo
| |
| | |
| Üldkuju: [language[_territory][.codeset][@modifier]]
| |
| | |
| Kodeeringud:
| |
| * ASCII 7bit (enamasti 8-bitiste baitidena)
| |
| * ISO 8859 (kasutab 8 bitti tähestiku laiendamiseks 128 märgini), regionaalsed alamtähestikud
| |
| * Unicode/UTF-8 - ASCII + 0-3 lisabaiti
| |
| | |
| | |
| locale-käsk:
| |
| | |
| kakk@aragorn:~$ locale
| |
| LANG=et_EE.UTF-8
| |
| LANGUAGE=et_EE:en
| |
| LC_CTYPE="et_EE.UTF-8"
| |
| LC_NUMERIC="et_EE.UTF-8"
| |
| LC_TIME="et_EE.UTF-8"
| |
| LC_COLLATE="et_EE.UTF-8"
| |
| LC_MONETARY="et_EE.UTF-8"
| |
| LC_MESSAGES="et_EE.UTF-8"
| |
| LC_PAPER="et_EE.UTF-8"
| |
| LC_NAME="et_EE.UTF-8"
| |
| LC_ADDRESS="et_EE.UTF-8"
| |
| LC_TELEPHONE="et_EE.UTF-8"
| |
| LC_MEASUREMENT="et_EE.UTF-8"
| |
| LC_IDENTIFICATION="et_EE.UTF-8"
| |
| LC_ALL=
| |
| kakk@aragorn:~$
| |
| | |
| locale -a näitab kõiki süsteemis olemasolevaid
| |
| | |
| Ajutine muutmine:
| |
| $ export LANG=en_GB.UTF-8
| |
| $ export LC_ALL=en_GB.UTF-8
| |
| | |
| Püsivalt tasub panna ~/.bashrc või /etc/profile -faili.
| |
| | |
| | |
| X-i konfis on XkbLayout-parameeter - sinna käib sisuliselt seesama locale
| |
| | |
| LANG=C - eirab locale'sid
| |
| | |
| iconv - tõlgib kooditabelite vahel:
| |
| iconv -f encoding [-t encoding] [inputfile]...
| |
| iconv --list näitab kõiki
| |
| | |
| N: $ iconv -f iso-8859-1 -t UTF-8 umlautfile.txt > umlautfile-utf8.txt
| |
| | |
| | |
| | |
| Printimine
| |
| | |
| | |
| Üldine süsteem: rakendus väljastab PostScripti, see saadetakse GhostScripti abil printerile. Printerijärjekorda haldab enamasti CUPS. Alternatiivid
| |
| * LPD
| |
| * LPRng
| |
| Käsud suht samad, printeri konfimine aga erinev
| |
| | |
| Üldine printerikäsk - lpr (võib kasutada ka rakendustes). Printerijärjekord asub tüüpiliselt kataloogis /var/spool/cups
| |
| | |
| Unixi/Linuxi printimine on võrgupõhine, printimistöid võib saata nii eemalt kui kohalikust masinast. CUPS on muidu serverirakendus, kuid printimistööde
| |
| mujale saatmisel töötab ka kliendina.
| |
| | |
| Printeridraiverid kuuluvad GhostScripti koosseisu. Windowsis suhtleb rakendus otse draiveriga, Unixis tehakse PS ja saadetakse printerijärjekorda.
| |
| | |
| Kallimad printerid suudavad otse PSi vastu võtta, odavamatel on vaja GhostScripti tõlgiks vahele - võtab PS-i, interpreteerib seda ja väljastab tulemuse vastavale printerile sobiva bitmapina. GS peamine miinus on väljundfaili suur maht
| |
| | |
| Kiire printimise jaoks tuleb valida PS-i toetav printer (keeruline värviliste tindikate osas - mõnel on peal PSi Windowsi analoogid, mille tarkvaraga aga pole Linuxis midagi teha).
| |
| | |
| Ilma PS toeta printeri puhul saadetakse töö printerijärjekorda, kus tark filter (smart filter) näeb seda ja laseb enne printerisse saatmist läbi GS-i.
| |
| | |
| Printeriprotsessid käivitatakse reeglina buudiprotsessis (/etc/rc.d, /etc/init.d või /etc/rc?.d kaudu - ? on vastav runlevel).
| |
| | |
| | |
| CUPSi konf
| |
| | |
| etc/cups/printers.conf - printerite fail:
| |
| | |
| # Printer configuration file for CUPS v1.4.4
| |
| # Written by cupsd
| |
| # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
| |
| <DefaultPrinter HP-LaserJet-1320>
| |
| Info ITK printer
| |
| Location 221 koridoris
| |
| MakeModel HP LaserJet 1320 series Postscript (recommended)
| |
| DeviceURI hp:/net/hp_LaserJet_1320_series?ip=192.168.2.63
| |
| State Idle
| |
| StateTime 1301394578
| |
| Type 8425540
| |
| Filter application/vnd.cups-raw 0 -
| |
| Filter application/vnd.cups-command 0 commandtops
| |
| Filter application/vnd.cups-postscript 0 -
| |
| Accepting Yes
| |
| Shared Yes
| |
| JobSheets none none
| |
| QuotaPeriod 0
| |
| PageLimit 0
| |
| KLimit 0
| |
| OpPolicy default
| |
| ErrorPolicy retry-job
| |
| </Printer>
| |
| | |
| Täiendavad printeridefinitsioonidega failid asuvad /etc/cups/ppd -kataloogis!
| |
| | |
| CUPSi võrguprintimise protokoll: IPP (Internet Printing Protocol)
| |
| | |
| CUPSi enda konf: /etc/cups/cupsd.conf. Sarnaneb ülesehituselt Apache'i konfiga:
| |
| | |
| <Location /printers>
| |
| Order Deny,Allow && vaikimisi keelatud, ekstra lubamine
| |
| Deny from All && vaikimisi kõik kinni
| |
| BrowseAllow from 127.0.0.1 && lubame konkreetseid asju...
| |
| BrowseAllow from 192.168.1.0/24
| |
| BrowseAllow from @LOCAL
| |
| Allow from 127.0.0.1
| |
| Allow from 192.168.1.0/24
| |
| Allow from @LOCAL
| |
| </Location>
| |
| | |
| Browsing On - printerite autdetect võrgus, kasulik suurte, kiirelt muutuvate printeritega võrgu korral
| |
| | |
| Printeridefinitsioone saab distrost endast, Foomaticust, Gutenprintist, CUPSi DDK-st ja vahel ka printeritootjatelt
| |
| | |
| | |
| CUPSi IPP-protokoll on nii sarnane HTTP-ga, et sinna saab ligi veebilehitsejaga: http://localhost:631
| |
| | |
| CUPSi häälestamisel peavad USB printerid olema ühendatud ja töötama! Kui ei, tuleb panna tööle ja CUPS taaskäivitada
| |
| | |
| Võrguprinteri korral võib minna vaja asukohta: lpd://printserv/brother (protokoll, arvuti, printer)
| |
| | |
| CUPSi ei tohiks üle võrgu häälestada - ühendus on krüptimata!!
| |
| | |
| | |
| | |
| Võrguprinterid
| |
| | |
| Samba:
| |
| | |
| Üldkuju: smb://username:password@SERVER/SHARE
| |
| | |
| vrdl EIK ketaste ühendamisega:
| |
| | |
| zerblat/Avalik$ /media/itk_avalik cifs credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
| |
| //zerblat/kaido$ /media/itk_kodu cifs credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
| |
| | |
| LPD: lpd://hostname/queue
| |
| IPP: ipp://hostname/queue
| |
| | |
| Võimaluse korral protokollide eelistusjärjekord: IPP, LPD, SMB/CIFS
| |
| | |
| | |
| Printerijärjekorra haldamine
| |
| | |
| Käsud: lpr, lpq, lprm ja lpc. Kõigile saab lisada -P parameetri konkreetse järjekorra määramiseks (kui on mitu)
| |
| | |
| | |
| lpr:
| |
| -Pqueue (NB! vanades süsteemides ei tohi tühikut vahel olla!) - järjekord
| |
| -r - kustutab algse faili peale printimist
| |
| -h - ei lisa trükipäist
| |
| -j, -C, -T jobname - konkreetse töö valimine printerijärjekorrast
| |
| -m username - saadab peale printimist kasutajale e-kirja
| |
| -# nr - koopiate arv
| |
| | |
| N: $ lpr -Plexmark -m ljones report.txt && report läheb lexmarki järjekorda, peale printimist saab ljones meili.
| |
| | |
| mpage - mitu lehte vähendatuna samale paberile. N: $ mpage -Plexmark report.ps. Võib määrata ka lehtede arvu, -1, -2, -4, -8
| |
| | |
| | |
| lpq - järjekorra vaatamine
| |
| | |
| $ lpq -Php4000
| |
| hp4000 is ready and printing
| |
| Rank Owner Job File(s)
| |
| active rodsmit 1630 file:///
| |
| Total Size 90112 bytes
| |
| | |
| lprm - töö eemaldamine:
| |
| * lprm nr - vastava numbriga (vt eelmist!) töö eemaldamine
| |
| * lprm - - kõik selle kasutaja tööd
| |
| | |
| lpc - juhtimiskäsk, kuid selle asemel soovitatakse kasutada CUPSi veebiliidest
| |
| | |
| | |
| | |
| ADMINISTREERIMINE
| |
| | |
| | |
| Kasutajahaldus
| |
| | |
| Kasutajanimed - suhteliselt vaba märgivalik. Tühik võib probleeme tekitada, punkt ja allkriips üldiselt OK. Nimi peab algama tähega!
| |
| Max pikkus 32 märki, aga paljud utiliidid lõikavad üle 8 märgi puhul saba maha - tihti ei soovitata üle selle panna.
| |
| Tõstutundlikkus.
| |
| Grupid - peamiselt õiguste baasil loodud kasutajarühmad. /etc/group, /etc/passwd. Grupi vahetamine - newgrp -käsk (failidel ka chown ja chgrp)
| |
| | |
| UID ja GID . 0-99 reserveeritakse süsteemile, 0 on root. Mõni distro alustab 500-st, mõni 1000-st. Reeglina vabanenud ID-sid ei taaskasutata.
| |
| | |
| GID 100 on tihti users-grupp, vaikimisi grupp.
| |
| | |
| UID 0 mõnel teisel kontol on selge sissetungi märk (root-õigused).
| |
| | |
| | |
| Kasutaja lisamine:
| |
| | |
| useradd [-c comment] [-d home-dir] [-e expire-date] [-f inactive-days]➦
| |
| [-g default-group] [-G group[,...]] [-m [-k skeleton-dir] | -M]➦
| |
| [-p password] [-s shell] [-u UID [-o]] [-r] [-n] username
| |
| | |
| Expire-date - alati YYYY-MM-DD, vahel ka muud variandid lisaks
| |
| -f loob konto, mis pika kasutamatuse korral kinni läheb (päevades; vaikimisi -1 ehk mitte kunagi)
| |
| | |
| Kontoinfo läheb /etc/login.defs-i
| |
| | |
| | |
| passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
| |
| | |
| -k - korjab ära aegunud kontod
| |
| -l - lukustab konto (kirjutab krüpteeritud parooli ette hüüumärgi)
| |
| -u - lukust lahti (lisades -f eemaldab parooli)
| |
| -d - eemaldab parooli
| |
| -S - parooli info (kas on, krüpteeringu tüüp)
| |
| | |
| | |
| usermod - suht sarnane useradd'iga. Erisused:
| |
| -m (koos -d-ga) - tõstab kasutaja failid uude kodukataloogi
| |
| -l - kasutaja ringinimetamine: usermod kakk -l puravik
| |
| -L, -U - nagu -l ja -u passwd'is
| |
| | |
| Faile ei tohiks liigutada, kui nende omanik on sisse logitud!!
| |
| | |
| | |
| | |
| Konto aegumise muutmine:
| |
| | |
| chage [-l] [-m mindays] [-M maxdays] [-d lastday] [-I inactivedays] [-E expiredate] [-W warndays] username
| |
| | |
| | |
| -l - seisu kuvamine
| |
| -m - paroolivahetuse min. periood (tihedamini ei saa)
| |
| -M - max (harvemini ei saa)
| |
| -d - viimase paroolivahetuse päeva seadmine
| |
| -I - passiivsusperiood päevades kuni lukustumiseni
| |
| -E - aegumise kuupäev
| |
| -W - hoiatuse kestus päevades enne aegumist
| |
| | |
| | |
| /etc/passwd
| |
| | |
| sally:x:529:100:Sally Jones:/home/sally:/bin/bash
| |
| | |
| kasutaja, parool (x märgib variparoole /etc/shadow's), UID, peamine GID, kommentaar (siin täisnimi), kodukataloog, kest
| |
| | |
| kestaks võib panna /bin/false - ei saa sisse logida, kuid võivad näiteks meili lugeda (POP, IMAP). Võib ka sürri teha - nt /bin/shutdown ...
| |
| | |
| | |
| /etc/shadow
| |
| | |
| sally:E/moFkeT5UnTQ:14069:0:-1:7:-1:-1:
| |
| | |
| kasutaja, krüpteeritud parool, viimane paroolivahetus (14069 - Unixi päeva number), päevi võimaliku paroolivahetuseni, päevi kohustusliku paroolivahetuseni, hoiatusega päevade arv, aegumise ja kustumise vahe päevades, aegumistähtaeg (Unixi päeva number), reservlipp
| |
| | |
| Võimalik rootkräki viis, kui admini parool on kadunud: recoveryga üles, kopeerida ruudu parooliväljale mõne teise kasutaja paroolihash, kelle parool on teada, tavaline boot ja selle parooliga sisse. Võib ka hashi kustutada, aga paroolita root on väga ohtlik asi...
| |
| | |
| | |
| /etc/shadow on harilikult root ja 600 -õigustega, /etc/passwd aga root ja 644.
| |
| | |
| Võrgulogimissüsteemid nagu LDAP on omaette teema, aga nad kasutavad /etc/nsswitch.conf'i ja /etc/pam.d/ -kataloogi.
| |
| | |
| | |
| userdel
| |
| -r kustutab koos failidega
| |
| -f kustutab ka sisselogitud kasutaja
| |
| -h help
| |
| | |
| Kasutaja kustutamisel tuleks otsida ka mujal olevaid faile (# find / -uid 529).
| |
| | |
| | |
| | |
| groupadd
| |
| | |
| groupadd [-g GID [-o]] [-r] [-f] groupname
| |
| -g - etteantud GID
| |
| -r - alla 500 numbriga grupp
| |
| -f - jõuga (ka eksisteeriva korral)
| |
| | |
| enamasti piisab groupadd kasutaja -st
| |
| | |
| | |
| groupmod:
| |
| | |
| groupmod [-g GID [-o]] [-n newgroupname] oldgroupname
| |
| | |
| | |
| gpasswd:
| |
| | |
| gpasswd [-a user] [-d user] [-R] [-r] [-A user[,...]] [-M user[,...]] group
| |
| -a - lisab gruppi
| |
| -d - eemaldab
| |
| -R - keelab newgrp'i
| |
| -A - määrab kasutaja grupi adminiks
| |
| | |
| | |
| /etc/group:
| |
| | |
| project1:x:501:sally,sam,ellen,george
| |
| | |
| parool on krüptitud (/etc/gshadow)
| |
| | |
| groupdel - vt userdel
| |
| | |
| | |
| Keskkonnakohandused
| |
| /etc/profile, /etc/bash.bashrc, ~/.profile, ~/.bashrc, ~/.bash_profile, ~/.profile
| |
| | |
| vt keskkonnainfot env | less
| |
| | |
| /etc/skel - vaikimisi kodukataloogi jupid
| |
| | |
| | |
| | |
| | |
| | |
| Logimine
| |
| | |
| syslogd - üldine logideemon
| |
| klogd - kerneli logideemon
| |
| | |
| Võivad olla ka muud - syslog-ng, rsyslogd, metalog - Ubuntul on rsyslog!
| |
| | |
| konf /etc/syslog.conf
| |
| | |
| Üldkuju: facility.priority action
| |
| | |
| Facility: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news,
| |
| security, syslog, user, uucp, local0-local7.
| |
| | |
| Priority: debug, info, notice, warning (varem warn), err (varem error), crit, alert, emerg (varem panic)
| |
| | |
| alert - alert või tõsisem
| |
| =alert - ainult alert
| |
| !alert - alla selle
| |
| * - kõik
| |
| | |
| action - enamasti failinimi, tüüpiliselt /var/log all - väga tihti kas messages, syslog või secure
| |
| | |
| | |
| Näide:
| |
| kern.* /var/log/kernel && kogu kerneli jutt logisse
| |
| kern.crit @logger.pangaea.edu && crit teise masinasse
| |
| kern.crit /dev/console && crit kohalikule peamonitorile
| |
| kern.info;kern.!err /var/log/kernel-info && infost err-ini logisse
| |
| | |
| | |
| | |
| | |
| Käsitsi logimine
| |
| | |
| Vahel on vaja ise teha või skripti panna
| |
| | |
| logger [-isd] [-f file] [-p pri] [-t tag] [-u socket] [message ...]
| |
| -i - logib ka loggeri enda PID
| |
| -s - saadab väljundi stderr'i
| |
| -d - logib datagrammidena (profifeatuur)
| |
| -f fail - logifail (ettevaatust mahuga!)
| |
| -p prioriteet - prioriteedi määramine (vt eespool)
| |
| -t tag - logi märgendamine nimega (vaikimisi 'logger')
| |
| -u sokkel - kindla võrgusokli määramine (profifeatuur)
| |
| sõnum (Ctrl-D lõpetab) - jooksva sisendi logimine
| |
| | |
| N:
| |
| | |
| $ logger shutting down for system maintenance
| |
| Tulemus (ilmselt /var/log/messages):
| |
| Jul 29 14:09:50 nessus logger: shutting down for system maintenance
| |
| | |
| | |
| Logide rotatsioon
| |
| | |
| | |
| logrotate , /etc/logrotate.conf, /etc/logrotate.d/
| |
| | |
| Konfinäide:
| |
| | |
| # Rotate logs weekly
| |
| weekly
| |
| # Keep 4 weeks of old logs
| |
| rotate 4
| |
| # Create new log files after rotation
| |
| create
| |
| # Compress old log files
| |
| compress
| |
| # Refer to files for individual packages
| |
| include /etc/logrotate.d
| |
| # Set miscellaneous options
| |
| notifempty
| |
| nomail
| |
| noolddir
| |
| # Rotate wtmp, which isn’t handled by a specific program
| |
| /var/log/wtmp {
| |
| monthly
| |
| create 0664 root utmp
| |
| rotate 1
| |
| }
| |
| | |
| /etc/logrotate.d/ - iga logitava programmi konfid. Valikuid:
| |
| - dateext - vaikimisi on messages.1, messages.2 jne. Saab panna kujule messages-20091005 (05.10.09)
| |
| - compresscmd - vaikimisi gzip, võib panna näiteks bzip2. Täiendavad parameetrid võib lisada compressoption'iga
| |
| - create vs copytruncate - viimane kopeerib vana logi ja siis teeb vana faili tühjaks (töötab mõne tarkvaraga paremini)
| |
| - daily, weekly, monthly - intervallid
| |
| - size - lubatud suurus. N: size 100k - kui logi saab 100k suuruseks, toimub rotatsioon
| |
| - rotate number - mitu koopiat säilitatakse. N: rotate 2 - algne tühjaks, senine .1-ks, senine .1 .2-ks, .2 kustutatakse.
| |
| - mail aadr - meilib kustutatava (väljaroteeruva) logi sellele aadressile. Vastand: nomail
| |
| - prerotate, postrotate - skriptid, mis täidetakse vahetult enne ja peale rotatsiooni
| |
| | |
| | |
| | |
| Logide lugemine
| |
| * otse - less
| |
| * otsing - grep
| |
| * algus/lõpp - head/tail
| |
| * monitoorimine - tail -f /var/log/messages
| |
| | |
| | |
| Ajahaldus
| |
| | |
| Enamasti UTC
| |
| | |
| Käsitsi seadmine: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
| |
| | |
| Riistvarakella sättimine: hwclock . Valikud:
| |
| -r, --show - näitab aega : E 18 apr 2011 11:37:29 EEST -0.437870 sekundit
| |
| --set ja --date=newdate - aja seadmine
| |
| --systohc - riistvara sätitakse tarkvara järgi
| |
| --hctosys - vastupidi
| |
| --utc, --localtime - vastavalt kumbki
| |
| | |
| | |
| NTP
| |
| | |
| stratum - erinevad kihid kellaajaedastamise hierarhias
| |
| /var/lib/ntp/ntp.drift (vahel /etc all)
| |
| | |
| NTP serveri leidmine:
| |
| * ISP
| |
| * distro
| |
| * avalik NTP-de list
| |
| * pool.ntp.org
| |
| | |
| masinas deemonipõhine, distropõhine paigaldatakse kohe automaatselt käivituvana. /etc/ntp.conf:
| |
| | |
| server clock.example.com
| |
| server ntp.pangaea.edu
| |
| server time.luna.edu
| |
| | |
| | |
| Ühekordne sünkimine: # ntpdate clock.example.com
| |
| | |
| | |
| | |
| Cron
| |
| | |
| Kataloogid /var/spool/cron /etc/cron.d, fail /etc/crontab
| |
| | |
| system jobs
| |
| user jobs
| |
| | |
| | |
| System:
| |
| | |
| 02 4 * * * root run-parts /etc/cron.daily && jooksutab kõiki /etc/cron.daily skripte iga päev kell 4.02
| |
| | |
| - minutid (0–59)
| |
| - tunnid (0–23)
| |
| - kuupäev (1–31)
| |
| - kuu (1–12)
| |
| - nädalapäev (0–7; pühapäev on nii 0 kui 7)
| |
| - konto (root)
| |
| - käsk (run-parts /etc/cron.daily)
| |
| | |
| | |
| * tärn on kõik
| |
| * list (0,5,10) - iga väärtus
| |
| * vahemik (5-10)
| |
| * samm */10 minutite kohal: iga 10 minuti tagant
| |
| | |
| | |
| | |
| | |
| A slash, when used in conjunction with some other multi-value option, specifies stepped
| |
| values—a range in which some members are skipped. For instance, */10 in the minute
| |
| field indicates a job that’s run every 10 minutes.
| |
| | |
| Intervallid on enamasti määratud /etc/cron.interval (Ubuntul; cron.hourly, cron.weekly jne) või /etc/cron.d/interval -kataloogis
| |
| | |
| | |
| Cron'iga käitamiseks mõeldud skripte tuleb põhjalikult testida - seal esinev puuk võib jama põhjustada
| |
| | |
| Kataloogid peavad kindlasti olema root only, muidu võetakse õigused üle
| |
| | |
| | |
| Kasutaja cron:
| |
| | |
| crontab [-u user] [-l | -e | -r] [file]
| |
| | |
| -l - kuvab
| |
| -e - muudab && vaikimisi vi, saab muuta EDITOR või VISUAL -keskkonnamuutujaga
| |
| -r - kustutab
| |
| | |
| Crontabi failist lugemine: crontab -u tbaker my-cron && kasutaja tbaker crontab loetakse failist my-cron
| |
| | |
| Failinäide:
| |
| | |
| SHELL=/bin/bash
| |
| MAILTO=tbaker
| |
| HOME=/home/tbaker
| |
| 0,30 * * * * /usr/bin/fetchmail -s
| |
| 0 2 * * mon /usr/local/bin/clean-adouble $HOME
| |
| | |
| Peale faili loomist tuleb anda näiteks eespooltoodud failikäsk (lihtsaim kuju: crontab failinimi)
| |
| | |
| | |
| Kasutajate cron'id asuvad kas /var/spool/cron, /var/spool/cron/tabs või /var/spool/cron/crontabs - kasutajanimega failid (/var/spool/cron/edgar)
| |
| | |
| Ligipääs Cron'ile:
| |
| * tavaline õigustesüsteem
| |
| * /etc/cron.allow ja/või /etc/cron.deny
| |
| | |
| | |
| anacron - vajalik süsteemides, mis pole 24/7 üleval. Käivitudes kontrollib, kas määratud tegevuste tähtaeg on üle - kui jah, käivitab
| |
| | |
| /etc/anacrontab:
| |
| | |
| SHELL=/bin/sh
| |
| PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
| |
| | |
| # These replace cron's entries
| |
| 1 5 cron.daily nice run-parts --report /etc/cron.daily
| |
| 7 10 cron.weekly nice run-parts --report /etc/cron.weekly
| |
| @monthly 15 cron.monthly nice run-parts --report /etc/cron.monthly
| |
| | |
| 1 - periood päevades käsu käivitamiseks (iga päev, teisel kord nädalas)
| |
| 5 - paus minutites anacroni käivituse ja käsu käivituse vahel (vältimaks hunniku käskudega ülelaadimist)
| |
| | |
| Käitamine:
| |
| * alguses skriptiga
| |
| * cronjob - võib anda vajaliku viivituse ja tõsta koormavamad tegevused töövälisesse aega
| |
| | |
| | |
| at - lihtne viivitusega käivitus:
| |
| * kellaaeg - HH:MM
| |
| * noon, midnight, teatime (viimane on 16:00)
| |
| * MMDDYY, MM/DD/YY või DD.MM.YY, month-name day või month-name day year
| |
| * now + ajavahemik (5 minutes, 3 hours jne)
| |
| | |
| peale käsu andmist ja aja määramist tuleb sisestada käsud, lõppu Ctrl-D (at> -käsukest)
| |
| | |
| -f -parameeter - käsud loetakse failist: at -f kasud.sh noon
| |
| | |
| Eeldab atd deemoni töötamist (saab käivitada alguses skriptiga)
| |
| | |
| atq - näitab töösolevaid at-e
| |
| atrm - eemaldab töönumbri järgi (< atq)
| |
| | |
| batch - nagu at, aga käivitab protsessid siis, kui süsteemi üldkoormus langeb alla 0,8
| |
| | |
| /etc/at.allow ja /etc/at.deny - nagu cron, AGA:
| |
| * kui MÕLEMAD puuduvad, saab ainult root kasutada (croni puhul saavad kõik)
| |
| | |
| | |
| | |
| VÕRGUNDUSE ALUSED
| |
| | |
| | |
| NB! Vahel on piir võrgu ja muude seadmete vahel udune. N: rööpliides + PLIP või jadaliides/USB + PPP
| |
| | |
| Ethernet - keerupaari mõte on segamise minimeerimine. 10Base-T, 100Base-T (mbps, twisted pair)
| |
| | |
| Tänapäeval Gbit ehk 1000Base-T
| |
|
| |
| Vanemad: Token Ring (IBM), LocalTalk (Apple), FDDI, HIPPI, Fibre Channel
| |
| | |
| WiFi: 11Mbps (802.11b), 54Mbps (802.11a ja 802.11g), 300Mbps (802.11n). NB! WEP/WPA/WPA2
| |
| | |
| | |
| Hub: pooldupleksside (kordamööda)
| |
| Switch: täisdupleks (korraga)
| |
| | |
| Linux toetab TCP/IP-le lisaks ka IPX/SPXi (Novell) ja AppleTalki, kuid mitte NetBEUId (MS)
| |
| | |
| | |
| Asjakohased TCP kihid (ülalt alla) - application, transport, Internet, link
| |
| | |
| MAC-aadress - ifconfig eth0 vmm
| |
| | |
| IPv6 - 8 x 4 hex-numbrit. 0000 võib ära jätta, asendades ::-ga
| |
| | |
| netmask: 192.168.29.39/24 = 192.168.29.39 maskiga 255.255.255.0
| |
| | |
| | |
| Ta b l e 8 .1 IPv4 Network Classes and Private Network Ranges
| |
|
| |
| Class Address Range Reserved Private Addresses
| |
| A 1.0.0.0–127.255.255.255 10.0.0.0–10.255.255.255 üldvõrgud
| |
| B 128.0.0.0–191.255.255.255 172.16.0.0–172.31.255.255 üldvõrgud
| |
| C 192.0.0.0–223.255.255.255 192.168.0.0–192.168.255.255 üldvõrgud
| |
| D 224.0.0.0–239.255.255.255 none multicasting
| |
| E 240.0.0.0–255.255.255.255 none reserveeritud
| |
| | |
| | |
| IPv6 kohalikud aadressid algavad fec, fed, fee või fef-ga.
| |
| | |
| Broadcast:
| |
| * IP 72.24.21.201
| |
| * Mask 255.255.0.0
| |
| * BC 172.24.255.255
| |
| | |
| Kui mask sisaldab muud peale 0 ja 255, on keerukam, teisendatakse läbi kahendsüsteemi
| |
| | |
| IP 172.24.21.201, Mask 255.255.128.0 . Kahendkujul:
| |
| 10101100 00011000 00010101 11001001
| |
| 11111111 11111111 10000000 00000000
| |
| | |
| Kohtades, kus all (maskis) on 0, tuleb üles 1. Tulemus:
| |
| 10101100 00011000 01111111 11111111
| |
| ehk 72.24.127.255
| |
| | |
| | |
| Hostid
| |
| | |
| Kasulik tarkvara:
| |
| * nslookup - otsib nimeserverist. Vananenud
| |
| * host - lihtne DNS-otsing (pmst IP)
| |
| * dig - keerukas DNS-otsing (pikem inf)
| |
| * whois
| |
| | |
| Kohaliku võrgu jaoks piisab /etc/hosts'ist:
| |
| 127.0.0.1 localhost
| |
| 192.168.7.23 apollo.luna.edu apollo
| |
| | |
| | |
| Vaikimisi otsitakse /etc/hosts'ist enne DNS'i. Vajadusel saab muuta seda /etc/nsswitch.conf'ist: keerata "hosts: files dns" paar ringi
| |
| | |
| | |
| Levinumad pordid
| |
| | |
| Ta b l e 8 . 2 Port Numbers, Their Purposes, and Typical Linux Servers
| |
|
| |
| Port Number TCP or UDP Purpose Example Linux Servers
| |
| ------------------------------------------------------------------------------------------
| |
| 20 TCP File Transfer Protocol ProFTPd, vsftpd
| |
| (FTP) data
| |
| 21 TCP FTP ProFTPd, vsftpd
| |
| 22 TCP Secure Shell (SSH) OpenSSH, Dropbear
| |
| 23 TCP Telnet in.telnetd
| |
| 25 TCP Simple Mail Transfer Sendmail, Postfix,
| |
| Protocol (SMTP) Exim, qmail
| |
| 53 TCP and UDP Domain Name System (DNS) Berkeley Internet Name
| |
| Domain (BIND; a.k.a.
| |
| named), djbdns
| |
| 67 UDP Dynamic Host Configuration Internet Software Consor-
| |
| Protocol (DHCP) tium (ISC) DHCP (dhcpd)
| |
| 80 TCP Hypertext Transfer Apache, Roxen, thttpd
| |
| Protocol (HTTP)
| |
| 110 TCP Post Office Protocol Dovecot, Qpopper, popa3d
| |
| version 3 (POP-3)
| |
| 111 TCP and UDP Portmapper NFS, NIS, other RPC-based
| |
| services
| |
| 113 TCP auth/ident identd
| |
| 119 TCP Network News Transfer InterNetNews (INN),
| |
| Protocol (NTTP) Diablo, Leafnode
| |
| 139 TCP NetBIOS Session (Windows Samba
| |
| file sharing)
| |
| 143 TCP Internet Mail Access Dovecot, Cyrus IMAP,
| |
| Protocol (IMAP) UW-IMAP
| |
| 161 UDP Simple Network Management Net-SNMP
| |
| Protocol (SNMP)
| |
| 177 UDP XDMCP XDM, KDM, GDM
| |
| 389 TCP LDAP OpenLDAP
| |
| 443 TCP HTTP over SSL (HTTPS) Apache, Roxen
| |
| 445 TCP Microsoft Directory Samba
| |
| Services (DS)
| |
| 465 TCP SMTP over SSL; or URL Ren- Sendmail, Postfix, Exim,
| |
| dezvous Directory (URD) 1 qmail; or network routers
| |
| 631 TCP Internet Printing Protocol Common Unix Printing
| |
| System (CUPS)
| |
| 993 TCP IMAP over SSL Dovecot, Cyrus IMAP,
| |
| UW-IMAP
| |
| 995 TCP POP-3 over SSL Dovecot, Qpopper, popa3d
| |
| 5900+ TCP Remote Framebuffer (RFB) Virtual Network Computing
| |
| (VNC): OpenVNC, TightVNC
| |
| 6000–6007 TCP The X Window System (X) X.org-X11, XFree86
| |
| | |
| | |
| Alla 1024 - privilegeeritud pordid (root)
| |
| | |
| | |
| /etc/services:
| |
| | |
| ssh 22/tcp # SSH Remote Login Protocol
| |
| ssh 22/udp # SSH Remote Login Protocol
| |
| telnet 23/tcp
| |
| smtp 25/tcp
| |
| | |
| Võrgukonf:
| |
| | |
| kaardi draiveri laadimine modprobe'iga (tuleb teada mooduli nime; N: modprobe realtek)
| |
| | |
| | |
| DHCP
| |
| | |
| BOOTPROTO=dhcp
| |
| | |
| Ubuntus määratakse /etc/network/interfaces -failis: iface eth0 inet dhcp
| |
| | |
| | |
| Staatiline konf:
| |
| | |
| DEVICE=eth0
| |
| BOOTPROTO=static
| |
| IPADDR=192.168.29.39
| |
| NETMASK=255.255.255.0
| |
| NETWORK=192.168.29.0
| |
| BROADCAST=192.168.29.255
| |
| GATEWAY=192.168.29.1
| |
| ONBOOT=yes
| |
| | |
| Nimeserver(id) - /etc/resolv.conf:
| |
| | |
| nameserver IPnr
| |
| | |
| | |
| ifconfig N: # ifconfig eth0 up 192.168.29.39 netmask 255.255.255.0
| |
| | |
| Kui käsitsi, vajab ka ruutimist läbi lüüsi: # route add default gw 192.168.29.1
| |
| | |
| Veel üks näide ruutimisest:
| |
| # route add -net 172.20.0.0 netmask 255.255.0.0 gw 172.21.1.1
| |
| | |
| ruutimisinfo: route -n
| |
| | |
| | |
| ifup ja ifdown
| |
| | |
| /etc/hostname või /etc/HOSTNAME
| |
| Fedoras /etc/sysconfig/network
| |
| | |
| ping -c nr masin - nr korda
| |
| | |
| | |
| | |
| traceroute - näitab teekonda masinates
| |
| -n näitab IP-d hostname'i asemel
| |
| | |
| | |
| Diagnostika netstat'iga:
| |
| * liides: netstat -i
| |
| * ruutimine: netstat -r
| |
| * NAT: netstat -M
| |
| * programmide netikasutus: netstat -p
| |
| * pordid: netstat
| |
| * kõik ühendused: netstat -a
| |
| | |
| | |
| Toorpaketid: tcpdump
| |
| | |
| | |
| SKRIPTID, E-POST JA SQL
| |
| | |
| env ja export
| |
| | |
| keskkonnamuutujad
| |
| | |
| aliased
| |
| | |
| | |
| BASHi skriptid algavad #!/bin/sh -reaga (shebang)
| |
| chmod
| |
| | |
| | |
| | |
| skriptinäide:
| |
| | |
| #!/bin/sh
| |
| echo -n “Enter a username: “
| |
| read name
| |
| useradd -m $name
| |
| passwd $name
| |
| mkdir -p /shared/$name
| |
| chown $name.users /shared/$name
| |
| chmod 775 /shared/$name
| |
| ln -s /shared/$name /home/$name/shared
| |
| chown $name.users /home/$name/shared
| |
| | |
| | |
| if-lause:
| |
| | |
| if [ -s /tmp/tempstuff ]
| |
| then
| |
| echo “/tmp/tempstuff found; aborting!”
| |
| exit
| |
| fi
| |
| | |
| if-else:
| |
| | |
| if [ conditional-expression ]
| |
| then
| |
| commands
| |
| else
| |
| other-commands
| |
| fi
| |
| | |
| case:
| |
| | |
| case word in
| |
| pattern1) command(s) ;;
| |
| pattern2) command(s) ;;
| |
| ...
| |
| esac
| |
| | |
| for:
| |
| | |
| #!/bin/bash
| |
| for d in `ls *.wav` ; do
| |
| aplay $d
| |
| done
| |
| | |
| | |
| while:
| |
| | |
| while [ condition ]
| |
| do
| |
| commands
| |
| done
| |
| | |
| | |
| funktsioonid:
| |
| | |
| #/bin/bash
| |
| doit() {
| |
| cp $1 $2
| |
| }
| |
| function check() {
| |
| if [ -s $2 ]
| |
| then
| |
| echo “Target file exists! Exiting!”
| |
| exit
| |
| fi
| |
| }
| |
| | |
| | |
| E-post
| |
| | |
| Sendmail, Postfix, Exim, qmail
| |
| | |
| | |
| Pull mail - POP/IMAP
| |
| Fetchmail (toob ära)
| |
| meiliklient
| |
| | |
| | |
| mail [-v] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr
| |
| | |
| mõnes distros on edasijõudnum klient - nail
| |
| | |
| | |
| mailq - postijärjekord
| |
| | |
| Redirect: /etc/aliases või /etc/mail/aliases
| |
| | |
| .forward -fail
| |
| | |
| | |
| | |
| SQL
| |
| | |
| | |
| Superserver: inetd, xinetd
| |
| | |
| /etc/inetd.conf rida:
| |
| | |
| ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd -l
| |
| | |
| teenus, sokkel, prot,
| |
| | |
| | |
| võivad ka olla /etc/inetd.conf.d/ kataloogis
| |
| | |
| | |
| turvapoint: kõik, mida vaja pole, kinni!
| |
| | |
| | |
| TCP wrappers: tcpd-käsk ning /etc/hosts.allow ja /etc/hosts.deny
| |
| | |
| | |
| | |
| /etc/xinet.conf - jällegi kõik mittevajalik: disable!
| |
| | |
| Tulemüürivärk
| |
| | |
| Ebavajalikud serverid kinni - kontrolli netstat -ap
| |
| | |
| lsof - avatud failid
| |
| | |
| lsof -i
| |
| | |
| | |
| nmap -sT süsteem - avatud pordid
| |
| | |
| | |
| | |
| sudo, /etc/sudoers
| |
| | |
| | |
| /etc/security/limits.conf
| |
| | |
|
| |
|
| ulimit-käsk
| | [[LPIC-1 - Kaku konspekt 2011, 2. osa]] |
|
| |
|
|
| |
|
| [[Category:LPI]] | | [[Category:LPI]] |
| [[Category:Linux]] | | [[Category:Linux]] |
NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Roderick W. Smithi raamat LPIC-1: Linux Professional Institute Certification Study Guide.
Märkus: kuna Kakk uuendas enda sertifikaati 2016. aasta kevadel, on nüüd saadaval ka LPIC-1 - Kaku konspekt 2016.
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.
LPI-101
bash ja käsurida
Käsukestad:
/bin/sh - sümlink soovitavale kestale
Sisekäsud:
- cd
- cwd
- echo
- exec
- time
- set
- exit/logout
NB! exec-iga programmi x-terminalist käivitades suletakse lõpetamisel ka xterm!
Mõned sisekäsud on dubleeritud väliskäskudeks - sel juhul on prioriteet sisekäsul, kui pole lisatud täit kataloogiteed väliskäsuni
Käskude tabuleerimine (tab completion) - Tab pakub käsu alguse järgi lõpusümboleid
.history - kättesaadav terminalis üles-noole abil
Bashi kiirklahvid on võetud Emacsilt:
- Ctrl-A - rea algus (Home)
- Ctrl-E - rea lõpp (End)
- Ctrl-B - märk vasakule (<-)
- Ctrl-F - märk paremale (->)
- Ctrl-Left - sõna vasakule (Esc-B)
- Ctrl-Right - sõna paremale (Esc-F)
- Ctrl-D - kustutus paremalt (Del)
- Ctrl-K - kustutus kursorist rea lõpuni
- BkSp - kustutus vasakule
- Ctrl-X + BkSp - kustutus kursorist rea alguseni
- Ctrl-T - vahetab kursori all oleva sümboli eelmisega
- Esc-T - vahetab kursori all oleva sõna eelmisega
- Esc-U - muudab kursorist sõna lõpuni suurtähtedeks
- Esc-L - muudab kursorist sõna lõpuni väiketähtedeks
- Esc-C - muudab kursorialuse tähe suurtäheks
- Ctrl-X + Ctrl-E - käivitab editori (määratud $EDITOR või $FCEDIT -muutujas). Varuvariant: Emacs
history sisaldab enamasti 500 viimast käsku; history -c puhastab
Kasutaja sätted: ~/.bashrc, ~/.profile
Süsteemsed: /etc/bash.bashrc, /etc/profile
Keskkonnamuutujad
Näide:
- $ NNTPSERVER=news.abigisp.com
- $ export NNTPSERVER
Võib ka kokku panna: $ export NNTPSERVER=news.abigisp.com
env - kuvab kõik muutujad!
man <käsk> - saab anda ka manuaali sektsiooni:
man 5 passwd - passwd-käsu manuaali 5. sektsioon (peatükk)
man vs info
Suunamised
Standardsed vood (enamasti käsitletakse programmides samaväärselt andmefailidega):
- stdin - tüüpiliselt klaver
- stdout - tüüpiliselt kuvar
- stderr - tüüpiliselt kuvar
S/V suunamine:
- käsk > fail.txt
- käsk > käsk
- > - loob stdout-i infost uue faili (olemasolev kirjutatakse üle)
- >> - lisab stdout-i info olemasolevale failile (kui pole olemas, luuakse)
- 2> - loob stderr-i infost uue faili (olemasolev kirjutatakse üle)
- 2>> - lisab stderr-i info olemasolevale failile (kui pole olemas, luuakse)
- &> loob stdout-i JA stderr-i infost uue faili (olemasolev kirjutatakse üle)
- < - kasutab määratud faili stdin-ina
- << - järgnevate ridade teksti kasutatakse stdin-ina
- <> - kasutab määratud faili NII stdin-i KUI stdout-ina
/dev/null - eimiski. N: whine 2> /dev/null - whine'i kõik veateated visatakse ära
<< - nimet. ka "here document" (here doc) - enamasti ainult skriptides, mitte käsureal!
N: proge << blah jääb kuulama:
aaa - läheb proge sisendisse
bbb - see ka
ccc - see ka
ddd - see ka
blah - lõpetab ära
Ctrl-D - EOF-sümbol!
tee - suunab stdout-i lisaks ka mainitud failidesse. Enamasti skriptikäsk.
N: ls | tee blabla.txt - ls kuvab nagu tavaliselt, kuid lisaks läheb ka faili (nagu ls ja ls > blabla.txt koos!)
Toru
Ühe käsu väljundi suunamine teise sisendisse
esimene | teine
Backtick
Kasutatakse "käsk käsus" loomiseks:
$ rm `find ./ -name “*~”` - kustutab kõik ~-lõpulised failid
xargs - saadab argumendid edasi:
$ find ./ -name “*~” | xargs rm - find'i argumendid söödetakse rm-käsku (rm esimene~ , rm teine~ , rm kolmas~ jne )
Tekstifiltrid
cat - faili kuvamine või failide sidumine
cat esimene teine > kolmas
argumendid:
- -E - näita realõpusümbolit ($)
- -n - nummerdab read
- -b - nummerdab mittetühjad read
- -s - asendab tühjade ridade plokid üheainsa tühja reaga
- -T - näitab tabulatsioone (ˇI)
- -v - näitab mittetrükitavaid sümboleid
tac - cat tagurpidi, kuvab read vastupidises järjekorras
join - ühendab failid väljade kaupa. N:
fail nimed.txt:
1. Jüri
2. Mari
3. Peeter
4. Elmar
fail pikkus.txt:
1. 198
2. 166
3. 180
4. 178
Kokku:
1. Jüri 198
2. Mari 166
3. Peeter 180
4. Elmar 178
Saab määrata ka erinevaid võtmevälju:
- -1 n - esimeses failis on võtmeväljaks n-es väli
- -2 m - teises...
jne
paste - ühendab failid rida-realt:
1. Jüri 198
...
NB! sed jt tekstivahendid ei muuda algset faili, vaid saadavad muudetud tulemuse kas stout-i (kuvarile) või faili!
expand - asendab Tab-id tühikutega. Vaikimisi 8, väärtust saab lisada parameetriga expand -t number
unexpand - vastupidine
od (octal dump) - algselt mõeldud failide kuvamiseks kaheksandsüsteemis, aga suudab kuvada ka kuueteistkümnend- ja kümnendsüsteemi, ASCIId jmm.
sort
- -f (--ignore-case) - ei erista suur- ja väiketähti
- -M (--month-sort) - sorteerib ingliskeelsete kolmetäheliste kuunimede järgi (JAN...DEC)
- -n (--numeric-sort) - arvude järgi
- -r (--reverse-sort) - tagurpidi
- -k väli (--key-field=) - võtmeväli (vaikimisi esimene). Saab panna ka kaks välja
split - jagab faili kaheks või enamaks failiks. Ette antakse väljundfaili nimi - komponendid luuakse kujul nimiaa,nimiab,nimiac ...
- -b maht (--byte-size=) - komponentide maht baitides (märgipealt => viimane rida enamasti poolik)
- -C maht (--line-bytes=) - maht ilma ridu poolitamata (kui aga rida on pikem kui etteantud suurus, poolitub ikkagi)
- -l maht (--lines=) - komponentide ridade arv
N: $ split -l 2 listing1.1.txt numbers (väljund: numbersaa,numbersab ... kahe rea kaupa)
tr - tähtede asendamine - esimesena toodud hulga tähed asendatakse teise omadega
N: $ tr BCJ bc < listing1.1.txt - sisendfailis asendatakse B b-ga, C c-ga ja J samuti c-ga (viimane saadaolev märk teises hulgas)
erikuju: tr -d HULK - hulga elemendid kustutatakse tekstist
uniq - eemaldab topeltread
N: $ sort shakespeare.txt | uniq
be
is
not
or
question
that
the
to
(eemaldati üks 'to' ja üks 'be')
Failiformaatimiskäsud
fmt - silub tekstifaili. Eeldab, et lõigud on eraldatud vähemalt 2 tühja rea või siis tabuleeritud. Vaikimisi reapikkus 75 märki
nl - ridade nummerdamine (nagu cat -b, aga võimsam).
pr - trükkimiseks ettevalmistamine (näit. päiste ja jaluste lisamine; mitu veergu jne). Peamiselt kasutatakse kombineeritud käskudes:
N: cat kiviajamull.txt | pr --columns=2 > blabla.txt
NB! pr on loodud eeskätt 80-ndate printereid silmas pidades. Ta on kasulik tänini, kuid uuemaid võimalusi (PostScript jpt) toetab paremini GNU Enscript
Failikuvamiskäsud
cat - vt eespool
head - kuvab stout-i faili alguse. Vaikimisi 10 esimest rida, saab määrata ka baitide (-c) või ridade (-n) arvu
tail - sama, kuid lõpust. Kasulik logide jälgimisel (värskeimad sissekanded). Lisavõimalused:
- -f - jääb jälgima ja kuvab lisanduvad read
- -pid=nr - lõpetab -f-iga alustatud jälgimise, kui protsess nr lõpetab töö
less - tõsisem failikuvaja. Enamasti ei kasutata käsuahelates (liiga interaktiivne), v.a. viimase käsuna
- /sõna - otsing ettepoole. ainult / annab interaktiivse. n edasi, N tagasi
- ?sõna - sama tahapoole
- gNR - reale minek. N: g65
- h - abiinfo
- q - välja
Kokkuvõtvad käsud
cut - võimaldab filtreerida failist infot mingite tingimuste (baitide, märkide, väljade) järgi:
- -b - baidid
- -c - märgid
- -f - väljad
Väärtused võivad olla konkreetsed (4), vahemikud (2-4) ja avatud vahemikud (-2, 4- - kuidas määratakse negatiivseid arve?)
N: $ ifconfig eth0 | grep HWaddr | cut -d “ “ -f 11 - kuvab ifconfig'ist MAC-aadressi
wc - sõnaloend. Võimaldab lugeda ka ridu (-l), sõnu (-w), baite (-b) ja märke (-c).
N: 65 372 2672 kiviajamull.txt - 65 rida, 372 sõna, 2672 baiti/märki.
Regulaaravaldised
- Kantsulud - variandid. N: b[aeiou]g - bag, beg, big, bog, bug
- kriips - vahemik. N: a[2-4]z - a2z, a3z, a4z
- punkt - suvaline märk (peale reaalgussümboli). N: a.z - a2z, abz, aQz
- katus (karee) - reaalgus
- dollar - realõpp
- tärn - 0-n sümbolit
- pluss - 1-n sümbolit
- küsimärk - 0-1 sümbol
- kaigas - üks kahest. N: liha|kala
- tavasulud - alamavaldis nagu matemaatikas
- kurakaldkriips - paosümbol eelmiste sümbolite tavakasutuseks. N: kakupesa\.net
grep - paindlik otsinguvahend. Üldkuju: grep [valikud] regulaaravaldis [failid]
- -c - ridade lugemine kuvamise asemel
- -f failinimi - loeb regulaaravaldise failist
- -i - ei erista suur- ja väiketähti
- -r - rekursiivne otsing alamkataloogidest (võib aga ka rgrep-i kasutada)
- -E - kasutab laiendatud regulaaravaldist (vaikimisi on tavakujul; võib aga ka egrep'i kasutada)
N: grep -E “(twain\.example\.com|bronto\.pangaea\.edu).*127” /etc/* - otsib /etc-st ridu, kus on üks kahest domeeninimest ja seejärel number 127
NB! Siin ja mõnel muul juhul kasutatakse jutumärke, et kest ei tõlgendaks avaldise osi enda käskudena!
sed - käsurearedaktor. Muudab faili ja saadab selle stdout'i. Kaks põhikuju:
- sed [valikud] -f skriptifail [sisendfail]
- sed [valikud] skriptifail [sisendfail]
N: $ sed ‘s/2011/2012/‘ cal-2011.txt > cal-2012.txt - asendab aastanumbri ja teeb järgmise aasta kalendri
Pakihaldus
RPM (RPM Package Manager, varem Redhat Package Manager)
Paki üldkuju: packagename-a.b.c-x.arch.rpm (a.b.c - versioon, x - build; arch - arhitektuur, v.a. lähtekoodipakil src)
Ideaalis peaks iga pakk töötama kõigil RPM-distrodel. Reaalselt ei pruugi, kuna
- iga distro paigaldab erinevad RPM-i utiliidid
- ühe versiooni pakil võivad olla sõltuvused, mida teises pole
- sõltuvused võivad olla distroti eri nimedega
- pakkides olevad failid võivad distroti veidi erineda
- pakkides olevad skriptid ei pruugi ühilduda
RPM üldine süntaks: rpm [operation][options] [package-files|package-names]
Põhioperatsioonid:
- -i - paigaldab paki, sama nimega pakki ei tohi varem olla
- -U - uuendab olemasolevat või paigaldab, kui veel pole
- -F - uuendab ainult siis, kui vanem versioon on olemas
- -q - päring paki kohta
- -V - paki kontroll
- -e - eemaldab paki
- -b - (vana) lähtekoodi ja konfi olemasolul ehitab binaarpaki; alates rpm 4.2-st teeb seda rpmbuild
- --rebuild - sama
- --rebuilddb - loob RPM-i andmebaasi uuesti, parandab vead
Põhivalikud
Valik
|
Käsud
|
Kirjeldus
|
--root dir
|
Kõik
|
Määrab konkreetse kataloogi juurkataloogiks
|
--force
|
-i, -U, -F
|
Sundpaigaldus (ka ülekirjutamise korral)
|
-h, --hash
|
-i, -U, -F
|
Näitab käsu täitmise edenemist #-sümbolite reaga
|
-v
|
-i, -U, -F
|
Kasutatakse koos -h-ga näitamaks iga paki kohta ühtmoodi #-de rida (-Uvh)
|
--nodeps
|
-i, -U, -F, -e
|
Eirab sõltuvusi (ohtlik!)
|
--test
|
-i, -U, -F
|
Kontrollib kõike nagu päris paigalduses, aga reaalselt ei paigalda
|
--prefix path
|
-i, -U, -F
|
Määrab paigalduskataloogi (toimib vaid osade pakkidega)
|
-a, --all
|
-q, -V
|
Kontrollib kõiki pakke
|
-f file, --file file
|
-q, -V
|
Kontrollib faili omanikuks olevat pakki
|
-p package-file
|
-q
|
Päring eemaldatud faili kohta
|
-i
|
-q
|
Kuvab paki info
|
-R, --requires
|
-q
|
Kuvab sõltuvused (pakid ja failid)
|
-l, --list
|
-q
|
Kuvab pakis olevad failid
|
NB! Osa operatsioone tahavad paki nime (lühem), teised aga paki täis-failinime (pikem)!
rpm -qi - põhjalikum info paki kohta.
Andmete eraldamine RPMist
RPM on muudetud cpio-fail (vt http://en.wikipedia.org/wiki/Cpio).
rpm2cpio -utiliit saadab väljundi stdout'i, seega tuleb suunata:
rpm2cpio samba-server-3.0.25b-4.5mdv2008.0.src.rpm > samba-server-3.0.25b-4.5mdv2008.0.cpio
seejärel cpio-fail lahti pakkida: $ cpio -i --make-directories < samba-server-3.0.25b-4.5mdv2008.0.cpio
-i pakib lahti, --make-directories loob vajalikud alamkataloogid
Võib ka ühe käsuga: $ rpm2cpio samba-server-3.0.25b-4.5mdv2008.0.src.rpm | cpio -i --make-directories
NB! Mitte pakkida olemasoleva failisüsteemi selga! Alati peaks looma eraldi alamkataloogi - pakk võib sisaldada /etc, /usr jt hierarhiaid
Debiani alien suudab rpm-i teha lisaks deb-ile ka tarballiks!
Yum
Üldkuju: yum [valikud] [käsk] [pakid]
Põhikäsud:
- install - paigaldab pakid ja nende sõltuvused
- update - uuendab valitud pakid - ilma argumendita paneb paika kõik uuendused
- check-update - näitab võimalikke uuendusi
- erase, remove - eemaldab
- upgrade - sama mis update --obsoletes, sobib versiooniuuenduseks
- list - paki info
- provides, whatprovides - konkreetse teenuse pakid. N: yum whatprovides apache
- search - otsing
- info - paki info (vrdl info-käsk)
- clean - puhvri puhastamine, aeg-ajalt soovitatav
- resolvedep - etteantud sõltuvusega pakid
- localinstall - kohaliku rpm-i paigaldus, sõltuvused tulevad yum'i varamutest
- localupdate - vt eelmist
- deplist - sõltuvuste loend
- shell - yum'i käsukest
NB! yum'i kasutamine on lihtsam kui tavalise rpm'i puhul, kuid süsteemi haldamine antakse rohkem distro koostaja kätte!
yumdownloader - laeb soovitud paki alla aktiivsesse kataloogi
RPM'i ja yum'i konf
RPM-i põhikonf: /usr/lib/rpm/rpmrc (ei ole /etc all!). Seda ei tohiks muuta - tulekski luua kas globaalne /etc/rpmrc või kasutajapõhine ~/.rpmrc
Peamine mõte on lisada arhitektuurivõtmeid: optflags: athlon -O2 -g -march=i686
Yum: /etc/yum.conf + /etc/yum.repos.d/ -varamute konfid
Red Hati/Fedora põhilised lisavaramud:
Asjalik teenus: http://rpmfind.net
Deb/dpkg
Debian, Ubuntu, Xandros, Mepis, Libranet...
Üldkuju: dpkg [options][action] [package-files|package-name]
Põhikäsud:
- -i, --install paigaldus
- --configure konfib paigaldatud paki
- -r, --remove eemaldab paki, jätab konfifailid alles
- -P, --purge eemaldab paki koos konfiga
- -p, --print-avail info paigaldatud paki kohta
- -I, --info info paigaldamata paki kohta
- -l <muster>, --list loetelu pakkidest, mille nimes esineb <muster>
- -L, --listfiles loetelu pakiga seotud paigaldatud failidest
- -S <muster>, --search otsing mustri järgi
- -C, --audit poolikute pakkide otsing, annab soovitusi
Võtmed
--root=dir
|
Kõik
|
Määrab juurkataloogi (kasulik erakorralise remondi puhul)
|
-B, --auto-deconfigure
|
-r
|
Deaktiveerib pakid, mis sõltuvad eemaldatavast pakist
|
--force-things
|
Mõned
|
Sunnib tegevusi
|
--ignore-depends=package
|
-i, -r
|
Eirab sõltuvusi
|
--no-act
|
-i, -r
|
Kontrollib sõltuvusi ilma reaalset operatsiooni sooritamata
|
--recursive
|
-i
|
Rekursioon läbi alamkataloogide
|
-G
|
-i
|
Ei paigalda pakki, mille uuem versioon on juba paigaldatud
|
-E, --skip-same-version
|
-i
|
Ei paigalda pakki, mille sama versioon on juba paigaldatud
|
Mõnel juhul eeldatakse paki-, mõnel failinime. Install ja info tahavad faili, eemaldamine pakki.
apt-cache - mitmesugune info paki kohta:
- apt-cache showpkg pakinimi -
- apt-cache stats - pakistatistika.
Näide:
kakk@aragorn:~$ sudo apt-cache stats
[sudo] password for kakk:
Pakettide nimesid kokku: 42027 (841k)
Total package structures: 42027 (2 354k)
Tavapakette: 32271
Puhtalt virtuaalseid pakette: 530
Üksikuid virtuaalseid pakette: 3059
Kombineeritud virtuaalseid pakette: 293
Puudu: 5874
Kokku erinevaid versioone: 34394 (2 476k)
Erinevaid kirjeldusi kokku: 34394 (825k)
Sõltuvusi kokku: 222752 (6 237k)
Versioonide/failide seoseid kokku: 38085 (914k)
Kirjelduste/failide seoseid kokku: 34394 (825k)
Total Provides mappings: 6341 (127k)
Total globbed strings: 183 (2 517)
Total dependency version space: 1 091k
Lõtkukohti kokku: 53,4k
Total space accounted for: 12,2M
- apt-cache unmet - puuduvad sõltuvused
- apt-cache depends pakinimi - konkreetse paki sõltuvused
- apt-cache pkgnames sa - sa-ga algavad pakinimed
Apt-get
Apti allikaid ei tasu suvaliselt lisada :)
Põhikäsud:
- update loeb sources.listi varamute uuendused
- upgrade uuendab
- dselect-upgrade uuendab dselecti järel tegemata jäänud asjad*
- dist-upgrade nagu upgrade, aga parema konfliktikontrolliga (distrouuendus)
- install paigaldab paki
- remove eemaldab
- source tõmbab lähtekoodipaki (failinime järgi!)
- check kontrollib pakiandmebaasi
- clean puhastab puhvri
- autoclean puhastab puhvri vaid vanadest failidest, mida enam kasutada ei saa
Valikud
-d, --download-only
|
upgrade, dselect-upgrade, install, source
|
Laeb pakid alla, kuid ei paigalda
|
-f, --fix-broken
|
install, remove
|
Üritab lahendada sõltuvused
|
-m, --ignore-missing, --fix-missing
|
upgrade, dselect-upgrade, install, remove, source
|
Eirab pakke, mille lähtekood pole saadaval
|
-q, --quiet
|
Kõik
|
Ei näita osasid väljundeid (-qq on veel vaiksem!)
|
-s, --simulate, --just-print, --dry-run, --recon, --no-act
|
Kõik
|
Simuleerib tegevust (reaalselt ei tee)
|
-y, --yes, --assume-yes
|
Kõik
|
Vastab küsimustele "jah" (skriptides kasutamiseks)
|
-b, --compile, --build
|
source
|
Laeb lähtekoodipaki alla ja kompileerib selle
|
--no-upgrade
|
install
|
Ei uuenda pakki, kui vanem versioon on juba olemas
|
Apt - sama jutt kui RPMiga: kontroll nihkub pakendaja kätte!
dselect, aptitude - pakibrauserid (aptitude töötab apt-geti analoogina, kui anda pakid ette, ilma parameetriteta läheb interaktiivsesse režiimi).
Graafiline analoog on Synaptic.
aptitude - full-upgrade vs safe-upgrade, viimane on konservatiivsem
dpkg-reconfigure - paki ümberkonfimine
Debiani pakk koosneb eri failidest! lähtekoodi tarball, kontrollfail ja .dsc-signatuurifail (ehtsuse kontroll)
Pakihaldurite konfimine
dpkg konf: /etc/dpkg/dpkg.cfg või kohalik ~/.dpkg.cfg
apt: /etc/apt/sources.list (ja repod /etc/sources.list.d); apt'i enda konf: /etc/apt/apt.conf (Ubuntul /etc/apt/apt.conf.d/ all eri failid eri rakendustele)
alien
Nõuab nii RPMi kui DPKG paigaldamist
Üldkuju: alien [options] file[...]
Tähtsaimad valikud: --to-deb, --to-rpm, --to-slp ja --to-tgz (3. on Stampede Linuxi pakett, suht vananenud, 2002 lõpetas töö)
Näited:
- # alien --to-rpm someprogram-1.2.3-4_i386.deb - rpm-iks
- # alien --install binary-tarball.tar.gz - installib ja lisab Debiani andmebaasi nagu .deb-i
Pakikonfliktid
Peamised põhjused:
- puuduvad teegid/utiliidid
- mitteühilduvad teegid/utiliidid
- topelt failid - mingi paki failid on teise pakiga juba paigaldatud ja ei ühildu
- mitteklappivad nimed
RPM-i puhul saab jõuga:
- # rpm -i apackage.rpm --nodeps
- # rpm -i apackage.rpm --force
DPKG puhul --ignore-depends=package, --force-depends või --force-conflicts -parameetrid
Vahel aitab sõltuvuspakkide uuendamine
Vahel võib paki ümber ehitada: # rpmbuild --rebuild packagename-version.src.rpm
Vahel saab leida paki alternatiivversiooni
Vahel (serveritarkvara puhul) on vaja muuta käivitusskripte: /etc/rc.d/rc.local või /etc/rc.d/boot.local
Jagatud teegid
näiteks libc/glibc, qt, gtk+
glibc põhifail on ajalooliselt jäänud /lib/libc.so.6, tänapäeval on enamasti sümlink (Ubuntu 10.10 puhul samasse libc-2.12.1.so peale)
Põhimõtteliselt saaks teeke ka staatiliselt linkida, aga tulemus oleks suur ja paindumatu (uuendamine eeldaks relinki). Linux kasutab dünaamilist
teegisüsteemi sarnaselt Windowsi DLL-idega. Linuxis on vastavad laiendid:
- jagatud teek - .so või .so.versioon (n: .so.6)
- staatiline teek - .a
Jagatud teegi miinused:
- mõningane jõudluskadu, kui teine programm juba sama teeki kasutab
- teegi muutmine võib tekitada ühilduvusprobleeme seda kasutavate programmidega
- programm ei pruugi teeki leida
- sõltuvustepusa
- teegi probleem (N: kettaviga) tekitab kogu süsteemile hirmsa kolaka
Teekide leidmine - nime ja/või kataloogitee järgi
Põhiline konf: /etc/ld.so.conf . Ubuntul on seal rida "include /etc/ld.so.conf.d/*.conf" - kõik conf-failid seal laetakse, nagu nad oleks juba ld.so.conf'is sees
Gentoos tuleb redigeerida /etc/env.d/ kataloogis olevaid konfifaile ja seejärel anda käsk env-update.
Lisaks seal määratule on alati kättesaadavad ka /lib ja /usr/lib sisu
Teekide asukohti saab määrata ka LD_LIBRARY_PATH -keskkonnamuutujaga:
$ export LD_LIBRARY_PATH=/usr/local/testlib:/opt/newlib
Teekide nimekonflikti või asukohajama puhul võib aidata sümlink: # ln -s biglib.so.5.2 biglib.so.5 (vahel tuleb peale seda anda ldconfig-käsk)
ldd programminimi - kuvab kõik teegid, mida programm kasutab:
kakk@aragorn:~$ ldd /usr/bin/xbiff
linux-vdso.so.1 => (0x00007fff3a7ff000)
libXaw.so.7 => /usr/lib/libXaw.so.7 (0x00007f4941c22000)
libXt.so.6 => /usr/lib/libXt.so.6 (0x00007f49419bd000)
...
ldconfig - laeb teekide puhvri uuesti (vajalik peale muutusi). Nii RPM kui DPKG teevad seda automaatselt. Saab ka eri parameetreid kasutada.
Protsessihaldus
uname
Kerneliprotsessi info
Põhiparameetrid:
- -n, --nodename - hostinime kuvamine
- -s, --kernel-name - kerneli nimi (enamasti Linux)
- -v, --kernel-version - kerneli versioon (algselt kuvas kompileerimise aega)
- -r, --kernel-release - kerneli väljalase
- -m, --machine - arvuti info (enamasti arhitektuur: x86_64)
- -p, --processor - prose info (enamasti näitab paljudel juhtudel unknown)
- -i, --hardware-platform - riistvaraplatvorm (enamasti unknown)
- -o, --operating-system - OS (GNU/Linux)
- -a, --all - kogu saadaolev info (kõik kokku)
ps
Protsessikäsk. Hirmus hulk parameetreid, kolm klassi:
- Unix98 valikud - ühetähelised, võib grupeerida, algavad ÜHE kriipsuga (-)
- BSD valikud - ühetähelised, võib grupeerida, algavad ILMA kriipsuta
- GNU pikad valikud - mitmetähelised, ei grupeerita, algavad KAHE kriipsuga (--)
PS_PERSONALITY keskkonnamuutuja määrab PS-i käitumise: posix, old, linux, bsd, sun, digital jt
Peamised Linuxi ps-käsud:
- ps - konkreetse terminali kõik protsessid
- abiinfo - ps --help
- kuva kõik protsessid - ps -A või ps -e
- kuva kõik aktiivse kasutaja protsessid - ps -x
- kuva kõik konkreetse kasutaja protsessid: ps -u kasutaja, ps U kasutaja või ps --user kasutaja (võib olla kasutajanimi või ID)
- täiendav info: -f, -l, j, l, u ja v võtmed
- protsesside hierarhia: -H, -f ja --forest -võtmed
- lai väljund (üle 80 märgi): -w ja w
Näidatav info:
- kasutajanimi
- protsessi ID
- ülemprotsessi (vanema) ID
- TTY (terminal)
- protsessori ajakasutus
- protsessori prioriteet
- mälukasutus
- käivituskäsk
NB! init "adopteerib" orbudeks jäänud (ülemprotsess lõppenud) protsessid!
top
ps-i dünaamiline variant. Tavaliselt kasutatakse interaktiivselt ilma argumentideta, aga saab ka anda parameetreid
Eriti kasulik on protsessoriaja jälgimine (load average)
jobs - jooksva sessiooniga seotud protsessid. Kasulik vahel PID leidmiseks
Tausta- ja esiplaaniprotsessid
Ctrl-Z peatab terminalis jooksva protsessi ja vabastab terminali
fg jätkab uuesti (kui mitu on peatatud, siis fg number)
bg jätkab taustal
käsk & käivitab taustal
nice
Määrab protsessi prioriteetsuse:
nice [argument] [command [command-arguments]]
Näide:
$ nice -12 number-crunch data.txt - käivitab number-crunch'i, andmed võetakse data.txt'ist
Tavaprioriteet on 0. vahemik on -20-st 19-ni, negatiivsed on kõrgema prioriteediga. Prioriteetseid protsesse (alla 0) saab käivitada vaid root,
madalamaid prioriteete iga kasutaja (N: wine puhul oli -5). Kasutaja saab muuta vaid oma protsesside prioriteete ja ainult madalamaks!
Töö käigus saab prioriteeti muuta: renice priority [[-p] pids] [[-g] pgrps] [[-u] users]
N: # renice 7 16580 -u pdavison tbaker - protsess 16580 ja kõik kahe kasutaja protsessid saavad prioriteedi 7.
Protsessi tapmine
kill - võib olla nii sise- kui väliskäsk, viimase jaoks tuleks anda koos teega /bin/kill
Üldkuju: kill -s signaal PID
Signaalide loetelu: kill -l
signaali võib anda nii nime kui numbri järgi. Enamlevinud:
- 1 - SIGHUP, tapab interaktiivsed programmid
- 9 - SIGKILL, räige kohene surm ilma shutdown'ita
- 15 - SIGTERM, pehmem, üritab failid sulgeda jne. Vaikimisi valik!
lühikuju: kill -signaalilõpp PID (ilma SIGita: HUP, KILL, TERM jne)
Root saab killida kõike, muud ainult omi protsesse
nohup programm [valikud] - käivitab nii, et SIGHUPiga tappa ei saa (eiratakse)
killall - nime järgi killimine. -i parameeter küsib:
kakk@aragorn:~$ killall -i firefox-bin
Kill firefox-bin(8074) ? (y/N) y
kakk@aragorn:~$
NB!!! Mõnes muus Unixis tapab killall KÕIK SELLE KASUTAJA PROTSESSID!!! Ettevaatust...
JÄTKUU....
LPIC-1 - Kaku konspekt 2011, 2. osa