<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kaido</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kaido"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Kaido"/>
	<updated>2026-05-07T23:27:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Erinevad_l%C3%BChijuhendid_(%27%27Green_Book%27%27)_-_t%C3%B6%C3%B6versioonid&amp;diff=132579</id>
		<title>Erinevad lühijuhendid (&#039;&#039;Green Book&#039;&#039;) - tööversioonid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Erinevad_l%C3%BChijuhendid_(%27%27Green_Book%27%27)_-_t%C3%B6%C3%B6versioonid&amp;diff=132579"/>
		<updated>2020-01-23T15:57:09Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Lühijuhendite koostamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Õppekavade arutelu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lühijuhendite koostamine==&lt;br /&gt;
&lt;br /&gt;
Siin saavad huvilised aidata koostada lühijuhendeid, mida on kavas anda erinevates rollides inimestele:&lt;br /&gt;
&lt;br /&gt;
* [[Esmakursuslase lühijuhend]]&lt;br /&gt;
* [[Diplomandi lühijuhend]]&lt;br /&gt;
* [[Lõputöö juhendaja lühijuhend]] (NB! nii põhi- kui kaasjuhendajad)&lt;br /&gt;
* [[Praktikajuhendaja lühijuhend]]&lt;br /&gt;
* [[Retsensendi lühijuhend]]&lt;br /&gt;
* [[Uue õppejõu lühijuhend]] (NB! nii põhikohaga kui külalisõppejõud)&lt;br /&gt;
* [[Kaitsmiskomisjoni liikme lühijuhend]] (NB! nii akadeemilise kui muu tausta korral)&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Erinevad_l%C3%BChijuhendid_(%27%27Green_Book%27%27)_-_t%C3%B6%C3%B6versioonid&amp;diff=132578</id>
		<title>Erinevad lühijuhendid (&#039;&#039;Green Book&#039;&#039;) - tööversioonid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Erinevad_l%C3%BChijuhendid_(%27%27Green_Book%27%27)_-_t%C3%B6%C3%B6versioonid&amp;diff=132578"/>
		<updated>2020-01-23T15:56:28Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Created page with &amp;quot;== Lühijuhendite koostamine==  Siin saavad huvilised aidata koostada lühijuhendeid, mida on kavas anda erinevates rollides inimestele:  * Esmakursuslase lühijuhend * ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Lühijuhendite koostamine==&lt;br /&gt;
&lt;br /&gt;
Siin saavad huvilised aidata koostada lühijuhendeid, mida on kavas anda erinevates rollides inimestele:&lt;br /&gt;
&lt;br /&gt;
* [[Esmakursuslase lühijuhend]]&lt;br /&gt;
* [[Diplomandi lühijuhend]]&lt;br /&gt;
* [[Lõputöö juhendaja lühijuhend]] (NB! nii põhi- kui kaasjuhendajad)&lt;br /&gt;
* [[Praktikajuhendaja lühijuhend]]&lt;br /&gt;
* [[Retsensendi lühijuhend]]&lt;br /&gt;
* [[Uue õppejõu lühijuhend]] (NB! nii põhikohaga kui külalisõppejõud)&lt;br /&gt;
* [[Kaitsmiskomisjoni liikme lühijuhend]] (NB! nii akadeemilise kui muu tausta korral)&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=%C3%95ppekavade_arendusversioonid&amp;diff=132575</id>
		<title>Õppekavade arendusversioonid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=%C3%95ppekavade_arendusversioonid&amp;diff=132575"/>
		<updated>2020-01-23T15:50:27Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Õppekavade arutelu]]&lt;br /&gt;
&lt;br /&gt;
* [[ISd_kava_arendusversioon|IT süsteemide arendus]]&lt;br /&gt;
* [[ISa_kava_arendusversioon|IT süsteemide administreerimine]]&lt;br /&gt;
* [[IA_kava_arendusversioon|Infosüsteemide analüüs]]&lt;br /&gt;
* [[TS_kava_arendusversioon|Tehnosuhtlus]]&lt;br /&gt;
* [[Ümarlaua arutelu 24.11.2010]]&lt;br /&gt;
* [[Erinevad lühijuhendid (&#039;&#039;Green Book&#039;&#039;) - tööversioonid]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=IT_eetilised,_sotsiaalsed_ja_professionaalsed_aspektid&amp;diff=132162</id>
		<title>IT eetilised, sotsiaalsed ja professionaalsed aspektid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=IT_eetilised,_sotsiaalsed_ja_professionaalsed_aspektid&amp;diff=132162"/>
		<updated>2019-05-13T10:49:51Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Kevad 2019 (rühmatööd) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See sektsioon on mõeldud neile, kes tahavad enda  [http://akadeemia.kakupesa.net/ITSPEA ITSPEA] kirjatööd wiki kujul esitada.&lt;br /&gt;
&lt;br /&gt;
== sügis 2012 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Olavi_Koplik_-_Internet_kui_kultuurin%C3%A4htus Olavi Koplik]&lt;br /&gt;
&lt;br /&gt;
== sügis 2013 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Magnus_Kokk_-_L%C3%BChike_%C3%BClevaade_GNU/Linux_t%C3%B6%C3%B6lauakeskkondadest Magnus Kokk - Lühike ülevaade GNU/Linux töölauakeskkondadest]&lt;br /&gt;
&lt;br /&gt;
== sügis 2015 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Arti_Zirk_-_Mina_ja_Linux Arti Zirk - Mina ja Linux]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Arti_Zirk_-_Syncly_MusicSync Arti Zirk - Syncly MusicSync]&lt;br /&gt;
&lt;br /&gt;
== kevad 2017 (rühmatööd) ==&lt;br /&gt;
[[Category:ITSPEA 2016 kaugõpe]]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Kr%C3%BCptoraha_roll_tuleviku%C3%BChiskonnas I026 - IT eetilised, sotsiaalsed, professionaalsed aspektid - Krüptoraha roll tulevikühiskonnas - Taivo Liik, Dmitry Lukas, Kersti Perandi, Gert Vesterberg]&lt;br /&gt;
*  [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Makses%C3%BCsteemide_areng_-_kas_teekond_sularahavaba_%C3%BChiskonna_poole%3F &amp;quot;Maksesüsteemide areng - kas teekond sularahavaba ühiskonna poole?&amp;quot; - Jüri Ahhundov, Erik Ehrbach, Marko Mõznikov, Egert Närep]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_IT_valdkonna_kujutamine_kaasaja_filmikunstis &amp;quot;IT valdkonna kujutamine kaasaja filmikunstis&amp;quot; - Anna Amelkina, Kadi Koppelmann, Maie Palmeos, Marie Udam, Marilyn Võsu]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Privaatsus_internetis_kas_v%C3%B5imatu_missioon#Privaatsuse_saavutamise_t.C3.B6.C3.B6riistad&amp;quot;Privaatsus internetis - kas võimatu missioon?&amp;quot; - Aleksandra Sepp, Merike Meizner, Alvar Suun, Jaak Vaher, Andres Tambek]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Nutiseadmete_mõju_algkooliealiste_laste_arengule_&amp;quot;Nutiseadmete mõju algkooliealiste laste arengule&amp;quot; - Anni-Bessie Kitt, Jaan Koolmeister, Jan Pentshuk, Andreas Porman, Pille Ulmas]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Industry_4.0_&amp;quot;Industry 4.0&amp;quot; - Autorid: Meelis Osi, Liis Talimaa, Sander Pihelgas, Aare Taveter]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Tarkvara_tagauksed &amp;quot;Tarkvara tagauksed - poolt ja vastu&amp;quot;- Autorid: Katrin Lasberg, Marko Esna, Maile Mäesalu, Kristiina Keelmann, Madis Tammekänd]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_IT_ja_terrorism &amp;quot;IT ja terrorism&amp;quot; - Madli Mirme, Joonas Rihma, Peeter Stamberg, Ave-Liis Saluveer]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Tarkvara_arendajate_töökoha_vahetamise_põhjused &amp;quot;Tarkvara arendajate töökoha vahetamise põhjused&amp;quot; - Andrei Pugatšov, Anton Meženin, Jekaterina Losseva, Artur Kapranov, Konstantin Dmitrijev]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/User_talk:Dtsurjum &amp;quot;Elektrooniline raha, olevik ja tulevik.”] - &#039;&#039;Dmitri Tšurjumov, Mark Selezenev, Igor Budnitski, Leonid Grigorjevski, Jakov Kanyuchka&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Ärimudelid_muutuvas_tehnomaailmas_&amp;quot;Ärimudelid muutuvas tehnomaailmas&amp;quot; - Henri Paves, Madis Võrklaev, Rudolf Purge, Ruudi Vinter]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_X-tee_-_kodanik_kohtub_riigiga &amp;quot;X-tee - kodanik kohtub riigiga&amp;quot; - Egert Loss, Tanel Peep, Priit Rätsep, Annely Vattis, Allar Vendla ]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_E-riik_-_ohud_ja_kasu_inimeste_jaoks &amp;quot;E-riik - ohud ja kasu inimeste jaoks&amp;quot; - Filip Fjodorov, Dmitri Kiriljuk, Jevgeni Jurtšenko, Pavel Abin, Boris Brokan ]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/IT_-_haridus_ja_-_haritus &amp;quot;IT - haridus ja - haritus&amp;quot;] - &#039;&#039;Radne Kaal, Kreet Solnask, Laura Lenbaum, Jooni Soots&#039;&#039;&lt;br /&gt;
* [[&amp;quot;Robootika, AI ja eetika&amp;quot;]] - Kädi-Kristlin Miggur, Siim Kustassoo, Teele Puusepp, Kristel Tali&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Arvutikriminalistika &amp;quot;Arvutikriminalistika&amp;quot;] - Mari-Liis Oldja, Margit Kangur, Reilika Saks, Gregor Luukas&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Turundusest_Facebooki_n%C3%A4itel &amp;quot;Turundusest Facebooki näitel&amp;quot;] - Liis Talsi, Jana Kindlam, Tanel Vari&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_IT_ettev%C3%B5tete_%C3%B5igused_ja_kohustused_isikuandmete_t%C3%B6%C3%B6tlemisel &amp;quot;IT ettevõtete õigused ja kohustused isikuandmete töötlemisel&amp;quot;] - I026 - Kevad 2017 - IT ettevõtete õigused ja kohustused isikuandmete töötlemisel - Annika Pajupuu, Juta Jaama, Ilmar Ermus, Jüri Vinnal, Martti-Heiki Must&lt;br /&gt;
&lt;br /&gt;
== sügis 2017 (rühmatööd) ==&lt;br /&gt;
[[Eesti e-teenused: õnnestumised ja õnnetused]] - Eduard Pajumägi, Joonas Jõpiselg, Tõnis Kundla, Valeria Müürsepp, Heiki Tähis&lt;br /&gt;
&lt;br /&gt;
[[Kas me kõik liigume digitaalse nomaadluse poole?]] - Allan Allmere, Veiko Aunapuu, Kristi Jõgeva, Maarja Mahlapuu, Ane Võlma&lt;br /&gt;
&lt;br /&gt;
[[Facebooki kahjulik mõju inimesele]] - Annika Avingu, Mariana Lepassar, Helena Loitmaa&lt;br /&gt;
&lt;br /&gt;
[[Igapäeva liiklemist lihtsustavad mobiilirakendused Eesti näitel]] - Polina Dvinskihh, Xenia Kinževskaja, Marco Sepp, Andres Kõiv&lt;br /&gt;
&lt;br /&gt;
[[Võrgurobotid ja nende kasutusalad]] - Triin Mõlder, Kristin Kivimäe, Evi Abel, Kadri Tamme&lt;br /&gt;
&lt;br /&gt;
[[Elektrooniline järelevalve ühiskonnas]] - Laura Närska, Alan Laaneväli, Lauri Laks, Rauno Kaldmaa&lt;br /&gt;
&lt;br /&gt;
[[&amp;quot;Avalik või privaatne pilveteenus?&amp;quot;]] - Kalev Kilumets, Kalev Kask, Tarmo Leemet&lt;br /&gt;
&lt;br /&gt;
[[Targa maja värkvõrk]] - Margit Aus, Lii Looga, Tuuli Soodla-Tikkerbär, Tanel Tsirgu&lt;br /&gt;
&lt;br /&gt;
[[GDPR ehk isikuandmete kaitse üldmäärus - andmekäitluse kultuuri muutus]] - Rainer Renn, Julia Ront&lt;br /&gt;
&lt;br /&gt;
[[Identiteet internetis]] - Hedi Dorožkin, Johanna Kommer, Merike Lees, Liina Müür, Jürgen Saarniit&lt;br /&gt;
&lt;br /&gt;
[[Zero UI]] - Kärt Raidmaa, Reenika East, Teedu Pedaru&lt;br /&gt;
&lt;br /&gt;
[[Infotehnoloogia inimese elus - eksoskelett või vähkkasvaja?]] - Frank Tuuksam, Kert Kivaste, Martin Õunap&lt;br /&gt;
&lt;br /&gt;
[[Big Data ohud ja võimalused]] - Karin Ojamäe, Ivan Petrovski, Rutmar Silde&lt;br /&gt;
&lt;br /&gt;
[[Internet radikaliseerib]] - Siim Bobkov ja Marko Mandli&lt;br /&gt;
&lt;br /&gt;
== Kevad 2019 (rühmatööd) ==&lt;br /&gt;
* [[Isejuhtivad autod ning nendega seonduvad dilemmad]] - Krista Freimann, Priit Post, Aivar Mägi, Taaniel Sülla&lt;br /&gt;
* [http://strat-it-itspeak2019.wikidot.com/ Strateegilise infotehnoloogia areng kõrgharidusasutustes 2020. aasta näitel]. Autorid: Jevgeni Družkov, Anton Sauh, Stanislav Grebennik, Kirill Kostev.&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=IT_eetilised,_sotsiaalsed_ja_professionaalsed_aspektid&amp;diff=132161</id>
		<title>IT eetilised, sotsiaalsed ja professionaalsed aspektid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=IT_eetilised,_sotsiaalsed_ja_professionaalsed_aspektid&amp;diff=132161"/>
		<updated>2019-05-13T10:49:34Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Kevad 2019 (rühmatööd) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See sektsioon on mõeldud neile, kes tahavad enda  [http://akadeemia.kakupesa.net/ITSPEA ITSPEA] kirjatööd wiki kujul esitada.&lt;br /&gt;
&lt;br /&gt;
== sügis 2012 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Olavi_Koplik_-_Internet_kui_kultuurin%C3%A4htus Olavi Koplik]&lt;br /&gt;
&lt;br /&gt;
== sügis 2013 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Magnus_Kokk_-_L%C3%BChike_%C3%BClevaade_GNU/Linux_t%C3%B6%C3%B6lauakeskkondadest Magnus Kokk - Lühike ülevaade GNU/Linux töölauakeskkondadest]&lt;br /&gt;
&lt;br /&gt;
== sügis 2015 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Arti_Zirk_-_Mina_ja_Linux Arti Zirk - Mina ja Linux]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Arti_Zirk_-_Syncly_MusicSync Arti Zirk - Syncly MusicSync]&lt;br /&gt;
&lt;br /&gt;
== kevad 2017 (rühmatööd) ==&lt;br /&gt;
[[Category:ITSPEA 2016 kaugõpe]]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Kr%C3%BCptoraha_roll_tuleviku%C3%BChiskonnas I026 - IT eetilised, sotsiaalsed, professionaalsed aspektid - Krüptoraha roll tulevikühiskonnas - Taivo Liik, Dmitry Lukas, Kersti Perandi, Gert Vesterberg]&lt;br /&gt;
*  [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Makses%C3%BCsteemide_areng_-_kas_teekond_sularahavaba_%C3%BChiskonna_poole%3F &amp;quot;Maksesüsteemide areng - kas teekond sularahavaba ühiskonna poole?&amp;quot; - Jüri Ahhundov, Erik Ehrbach, Marko Mõznikov, Egert Närep]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_IT_valdkonna_kujutamine_kaasaja_filmikunstis &amp;quot;IT valdkonna kujutamine kaasaja filmikunstis&amp;quot; - Anna Amelkina, Kadi Koppelmann, Maie Palmeos, Marie Udam, Marilyn Võsu]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Privaatsus_internetis_kas_v%C3%B5imatu_missioon#Privaatsuse_saavutamise_t.C3.B6.C3.B6riistad&amp;quot;Privaatsus internetis - kas võimatu missioon?&amp;quot; - Aleksandra Sepp, Merike Meizner, Alvar Suun, Jaak Vaher, Andres Tambek]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Nutiseadmete_mõju_algkooliealiste_laste_arengule_&amp;quot;Nutiseadmete mõju algkooliealiste laste arengule&amp;quot; - Anni-Bessie Kitt, Jaan Koolmeister, Jan Pentshuk, Andreas Porman, Pille Ulmas]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Industry_4.0_&amp;quot;Industry 4.0&amp;quot; - Autorid: Meelis Osi, Liis Talimaa, Sander Pihelgas, Aare Taveter]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Tarkvara_tagauksed &amp;quot;Tarkvara tagauksed - poolt ja vastu&amp;quot;- Autorid: Katrin Lasberg, Marko Esna, Maile Mäesalu, Kristiina Keelmann, Madis Tammekänd]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_IT_ja_terrorism &amp;quot;IT ja terrorism&amp;quot; - Madli Mirme, Joonas Rihma, Peeter Stamberg, Ave-Liis Saluveer]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Tarkvara_arendajate_töökoha_vahetamise_põhjused &amp;quot;Tarkvara arendajate töökoha vahetamise põhjused&amp;quot; - Andrei Pugatšov, Anton Meženin, Jekaterina Losseva, Artur Kapranov, Konstantin Dmitrijev]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/User_talk:Dtsurjum &amp;quot;Elektrooniline raha, olevik ja tulevik.”] - &#039;&#039;Dmitri Tšurjumov, Mark Selezenev, Igor Budnitski, Leonid Grigorjevski, Jakov Kanyuchka&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Ärimudelid_muutuvas_tehnomaailmas_&amp;quot;Ärimudelid muutuvas tehnomaailmas&amp;quot; - Henri Paves, Madis Võrklaev, Rudolf Purge, Ruudi Vinter]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_X-tee_-_kodanik_kohtub_riigiga &amp;quot;X-tee - kodanik kohtub riigiga&amp;quot; - Egert Loss, Tanel Peep, Priit Rätsep, Annely Vattis, Allar Vendla ]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_E-riik_-_ohud_ja_kasu_inimeste_jaoks &amp;quot;E-riik - ohud ja kasu inimeste jaoks&amp;quot; - Filip Fjodorov, Dmitri Kiriljuk, Jevgeni Jurtšenko, Pavel Abin, Boris Brokan ]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/IT_-_haridus_ja_-_haritus &amp;quot;IT - haridus ja - haritus&amp;quot;] - &#039;&#039;Radne Kaal, Kreet Solnask, Laura Lenbaum, Jooni Soots&#039;&#039;&lt;br /&gt;
* [[&amp;quot;Robootika, AI ja eetika&amp;quot;]] - Kädi-Kristlin Miggur, Siim Kustassoo, Teele Puusepp, Kristel Tali&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Arvutikriminalistika &amp;quot;Arvutikriminalistika&amp;quot;] - Mari-Liis Oldja, Margit Kangur, Reilika Saks, Gregor Luukas&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Turundusest_Facebooki_n%C3%A4itel &amp;quot;Turundusest Facebooki näitel&amp;quot;] - Liis Talsi, Jana Kindlam, Tanel Vari&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_IT_ettev%C3%B5tete_%C3%B5igused_ja_kohustused_isikuandmete_t%C3%B6%C3%B6tlemisel &amp;quot;IT ettevõtete õigused ja kohustused isikuandmete töötlemisel&amp;quot;] - I026 - Kevad 2017 - IT ettevõtete õigused ja kohustused isikuandmete töötlemisel - Annika Pajupuu, Juta Jaama, Ilmar Ermus, Jüri Vinnal, Martti-Heiki Must&lt;br /&gt;
&lt;br /&gt;
== sügis 2017 (rühmatööd) ==&lt;br /&gt;
[[Eesti e-teenused: õnnestumised ja õnnetused]] - Eduard Pajumägi, Joonas Jõpiselg, Tõnis Kundla, Valeria Müürsepp, Heiki Tähis&lt;br /&gt;
&lt;br /&gt;
[[Kas me kõik liigume digitaalse nomaadluse poole?]] - Allan Allmere, Veiko Aunapuu, Kristi Jõgeva, Maarja Mahlapuu, Ane Võlma&lt;br /&gt;
&lt;br /&gt;
[[Facebooki kahjulik mõju inimesele]] - Annika Avingu, Mariana Lepassar, Helena Loitmaa&lt;br /&gt;
&lt;br /&gt;
[[Igapäeva liiklemist lihtsustavad mobiilirakendused Eesti näitel]] - Polina Dvinskihh, Xenia Kinževskaja, Marco Sepp, Andres Kõiv&lt;br /&gt;
&lt;br /&gt;
[[Võrgurobotid ja nende kasutusalad]] - Triin Mõlder, Kristin Kivimäe, Evi Abel, Kadri Tamme&lt;br /&gt;
&lt;br /&gt;
[[Elektrooniline järelevalve ühiskonnas]] - Laura Närska, Alan Laaneväli, Lauri Laks, Rauno Kaldmaa&lt;br /&gt;
&lt;br /&gt;
[[&amp;quot;Avalik või privaatne pilveteenus?&amp;quot;]] - Kalev Kilumets, Kalev Kask, Tarmo Leemet&lt;br /&gt;
&lt;br /&gt;
[[Targa maja värkvõrk]] - Margit Aus, Lii Looga, Tuuli Soodla-Tikkerbär, Tanel Tsirgu&lt;br /&gt;
&lt;br /&gt;
[[GDPR ehk isikuandmete kaitse üldmäärus - andmekäitluse kultuuri muutus]] - Rainer Renn, Julia Ront&lt;br /&gt;
&lt;br /&gt;
[[Identiteet internetis]] - Hedi Dorožkin, Johanna Kommer, Merike Lees, Liina Müür, Jürgen Saarniit&lt;br /&gt;
&lt;br /&gt;
[[Zero UI]] - Kärt Raidmaa, Reenika East, Teedu Pedaru&lt;br /&gt;
&lt;br /&gt;
[[Infotehnoloogia inimese elus - eksoskelett või vähkkasvaja?]] - Frank Tuuksam, Kert Kivaste, Martin Õunap&lt;br /&gt;
&lt;br /&gt;
[[Big Data ohud ja võimalused]] - Karin Ojamäe, Ivan Petrovski, Rutmar Silde&lt;br /&gt;
&lt;br /&gt;
[[Internet radikaliseerib]] - Siim Bobkov ja Marko Mandli&lt;br /&gt;
&lt;br /&gt;
== Kevad 2019 (rühmatööd) ==&lt;br /&gt;
[[Isejuhtivad autod ning nendega seonduvad dilemmad]] - Krista Freimann, Priit Post, Aivar Mägi, Taaniel Sülla&lt;br /&gt;
[http://strat-it-itspeak2019.wikidot.com/ Strateegilise infotehnoloogia areng kõrgharidusasutustes 2020. aasta näitel]. Autorid: Jevgeni Družkov, Anton Sauh, Stanislav Grebennik, Kirill Kostev.&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=IT_eetilised,_sotsiaalsed_ja_professionaalsed_aspektid&amp;diff=132160</id>
		<title>IT eetilised, sotsiaalsed ja professionaalsed aspektid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=IT_eetilised,_sotsiaalsed_ja_professionaalsed_aspektid&amp;diff=132160"/>
		<updated>2019-05-13T10:47:53Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Kevad 2019 (rühmatööd) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See sektsioon on mõeldud neile, kes tahavad enda  [http://akadeemia.kakupesa.net/ITSPEA ITSPEA] kirjatööd wiki kujul esitada.&lt;br /&gt;
&lt;br /&gt;
== sügis 2012 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Olavi_Koplik_-_Internet_kui_kultuurin%C3%A4htus Olavi Koplik]&lt;br /&gt;
&lt;br /&gt;
== sügis 2013 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Magnus_Kokk_-_L%C3%BChike_%C3%BClevaade_GNU/Linux_t%C3%B6%C3%B6lauakeskkondadest Magnus Kokk - Lühike ülevaade GNU/Linux töölauakeskkondadest]&lt;br /&gt;
&lt;br /&gt;
== sügis 2015 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Arti_Zirk_-_Mina_ja_Linux Arti Zirk - Mina ja Linux]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Arti_Zirk_-_Syncly_MusicSync Arti Zirk - Syncly MusicSync]&lt;br /&gt;
&lt;br /&gt;
== kevad 2017 (rühmatööd) ==&lt;br /&gt;
[[Category:ITSPEA 2016 kaugõpe]]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Kr%C3%BCptoraha_roll_tuleviku%C3%BChiskonnas I026 - IT eetilised, sotsiaalsed, professionaalsed aspektid - Krüptoraha roll tulevikühiskonnas - Taivo Liik, Dmitry Lukas, Kersti Perandi, Gert Vesterberg]&lt;br /&gt;
*  [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Makses%C3%BCsteemide_areng_-_kas_teekond_sularahavaba_%C3%BChiskonna_poole%3F &amp;quot;Maksesüsteemide areng - kas teekond sularahavaba ühiskonna poole?&amp;quot; - Jüri Ahhundov, Erik Ehrbach, Marko Mõznikov, Egert Närep]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_IT_valdkonna_kujutamine_kaasaja_filmikunstis &amp;quot;IT valdkonna kujutamine kaasaja filmikunstis&amp;quot; - Anna Amelkina, Kadi Koppelmann, Maie Palmeos, Marie Udam, Marilyn Võsu]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Privaatsus_internetis_kas_v%C3%B5imatu_missioon#Privaatsuse_saavutamise_t.C3.B6.C3.B6riistad&amp;quot;Privaatsus internetis - kas võimatu missioon?&amp;quot; - Aleksandra Sepp, Merike Meizner, Alvar Suun, Jaak Vaher, Andres Tambek]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Nutiseadmete_mõju_algkooliealiste_laste_arengule_&amp;quot;Nutiseadmete mõju algkooliealiste laste arengule&amp;quot; - Anni-Bessie Kitt, Jaan Koolmeister, Jan Pentshuk, Andreas Porman, Pille Ulmas]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Industry_4.0_&amp;quot;Industry 4.0&amp;quot; - Autorid: Meelis Osi, Liis Talimaa, Sander Pihelgas, Aare Taveter]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Tarkvara_tagauksed &amp;quot;Tarkvara tagauksed - poolt ja vastu&amp;quot;- Autorid: Katrin Lasberg, Marko Esna, Maile Mäesalu, Kristiina Keelmann, Madis Tammekänd]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_IT_ja_terrorism &amp;quot;IT ja terrorism&amp;quot; - Madli Mirme, Joonas Rihma, Peeter Stamberg, Ave-Liis Saluveer]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Tarkvara_arendajate_töökoha_vahetamise_põhjused &amp;quot;Tarkvara arendajate töökoha vahetamise põhjused&amp;quot; - Andrei Pugatšov, Anton Meženin, Jekaterina Losseva, Artur Kapranov, Konstantin Dmitrijev]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/User_talk:Dtsurjum &amp;quot;Elektrooniline raha, olevik ja tulevik.”] - &#039;&#039;Dmitri Tšurjumov, Mark Selezenev, Igor Budnitski, Leonid Grigorjevski, Jakov Kanyuchka&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Ärimudelid_muutuvas_tehnomaailmas_&amp;quot;Ärimudelid muutuvas tehnomaailmas&amp;quot; - Henri Paves, Madis Võrklaev, Rudolf Purge, Ruudi Vinter]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_X-tee_-_kodanik_kohtub_riigiga &amp;quot;X-tee - kodanik kohtub riigiga&amp;quot; - Egert Loss, Tanel Peep, Priit Rätsep, Annely Vattis, Allar Vendla ]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_E-riik_-_ohud_ja_kasu_inimeste_jaoks &amp;quot;E-riik - ohud ja kasu inimeste jaoks&amp;quot; - Filip Fjodorov, Dmitri Kiriljuk, Jevgeni Jurtšenko, Pavel Abin, Boris Brokan ]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/IT_-_haridus_ja_-_haritus &amp;quot;IT - haridus ja - haritus&amp;quot;] - &#039;&#039;Radne Kaal, Kreet Solnask, Laura Lenbaum, Jooni Soots&#039;&#039;&lt;br /&gt;
* [[&amp;quot;Robootika, AI ja eetika&amp;quot;]] - Kädi-Kristlin Miggur, Siim Kustassoo, Teele Puusepp, Kristel Tali&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Arvutikriminalistika &amp;quot;Arvutikriminalistika&amp;quot;] - Mari-Liis Oldja, Margit Kangur, Reilika Saks, Gregor Luukas&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_Turundusest_Facebooki_n%C3%A4itel &amp;quot;Turundusest Facebooki näitel&amp;quot;] - Liis Talsi, Jana Kindlam, Tanel Vari&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I026_-_Kevad_2017_-_IT_ettev%C3%B5tete_%C3%B5igused_ja_kohustused_isikuandmete_t%C3%B6%C3%B6tlemisel &amp;quot;IT ettevõtete õigused ja kohustused isikuandmete töötlemisel&amp;quot;] - I026 - Kevad 2017 - IT ettevõtete õigused ja kohustused isikuandmete töötlemisel - Annika Pajupuu, Juta Jaama, Ilmar Ermus, Jüri Vinnal, Martti-Heiki Must&lt;br /&gt;
&lt;br /&gt;
== sügis 2017 (rühmatööd) ==&lt;br /&gt;
[[Eesti e-teenused: õnnestumised ja õnnetused]] - Eduard Pajumägi, Joonas Jõpiselg, Tõnis Kundla, Valeria Müürsepp, Heiki Tähis&lt;br /&gt;
&lt;br /&gt;
[[Kas me kõik liigume digitaalse nomaadluse poole?]] - Allan Allmere, Veiko Aunapuu, Kristi Jõgeva, Maarja Mahlapuu, Ane Võlma&lt;br /&gt;
&lt;br /&gt;
[[Facebooki kahjulik mõju inimesele]] - Annika Avingu, Mariana Lepassar, Helena Loitmaa&lt;br /&gt;
&lt;br /&gt;
[[Igapäeva liiklemist lihtsustavad mobiilirakendused Eesti näitel]] - Polina Dvinskihh, Xenia Kinževskaja, Marco Sepp, Andres Kõiv&lt;br /&gt;
&lt;br /&gt;
[[Võrgurobotid ja nende kasutusalad]] - Triin Mõlder, Kristin Kivimäe, Evi Abel, Kadri Tamme&lt;br /&gt;
&lt;br /&gt;
[[Elektrooniline järelevalve ühiskonnas]] - Laura Närska, Alan Laaneväli, Lauri Laks, Rauno Kaldmaa&lt;br /&gt;
&lt;br /&gt;
[[&amp;quot;Avalik või privaatne pilveteenus?&amp;quot;]] - Kalev Kilumets, Kalev Kask, Tarmo Leemet&lt;br /&gt;
&lt;br /&gt;
[[Targa maja värkvõrk]] - Margit Aus, Lii Looga, Tuuli Soodla-Tikkerbär, Tanel Tsirgu&lt;br /&gt;
&lt;br /&gt;
[[GDPR ehk isikuandmete kaitse üldmäärus - andmekäitluse kultuuri muutus]] - Rainer Renn, Julia Ront&lt;br /&gt;
&lt;br /&gt;
[[Identiteet internetis]] - Hedi Dorožkin, Johanna Kommer, Merike Lees, Liina Müür, Jürgen Saarniit&lt;br /&gt;
&lt;br /&gt;
[[Zero UI]] - Kärt Raidmaa, Reenika East, Teedu Pedaru&lt;br /&gt;
&lt;br /&gt;
[[Infotehnoloogia inimese elus - eksoskelett või vähkkasvaja?]] - Frank Tuuksam, Kert Kivaste, Martin Õunap&lt;br /&gt;
&lt;br /&gt;
[[Big Data ohud ja võimalused]] - Karin Ojamäe, Ivan Petrovski, Rutmar Silde&lt;br /&gt;
&lt;br /&gt;
[[Internet radikaliseerib]] - Siim Bobkov ja Marko Mandli&lt;br /&gt;
&lt;br /&gt;
== Kevad 2019 (rühmatööd) ==&lt;br /&gt;
[[Isejuhtivad autod ning nendega seonduvad dilemmad]] - Krista Freimann, Priit Post, Aivar Mägi, Taaniel Sülla&lt;br /&gt;
[Strateegilise infotehnoloogia areng kõrgharidusasutustes 2020. aasta näitel http://strat-it-itspeak2019.wikidot.com/]. Autorid: Jevgeni Družkov, Anton Sauh, Stanislav Grebennik, Kirill Kostev. - []&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Kaido&amp;diff=131937</id>
		<title>User:Kaido</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Kaido&amp;diff=131937"/>
		<updated>2019-04-29T10:55:45Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Lühidalt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kaido &amp;quot;Kakk&amp;quot; Kikkas ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lühidalt ===&lt;br /&gt;
* ITK dotsent&lt;br /&gt;
* Kursused ITK-s: [https://akadeemia.kakupesa.net/ITSPEA IT eetilised, sotsiaalsed ja professionaalsed aspektid] (päeva- ja kaugõpe, eesti ja inglise keeles)&lt;br /&gt;
* Pesa: V korrus, tuba 524 (trepikoja ukse taga tuleb kella anda või helistada, see on harilikult lukus) &lt;br /&gt;
* Telefon: 628 5826 (sisenumber 826)&lt;br /&gt;
* GSM: 50 64 464&lt;br /&gt;
* E-post: kakk ätt kakupesa punkt net (või ka kaido ätt itcollege punkt ee)&lt;br /&gt;
* Kodune server: https://www.kakupesa.net&lt;br /&gt;
* Ajaveeb: https://jora.kakupesa.net&lt;br /&gt;
* Kursuste info ja õppematerjalid: https://akadeemia.kakupesa.net , https://beta.wikiversity.org/wiki/Wiki%C3%BClikooli_koolituspakkumised (eeskätt kaugõpe)&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=IT_eetilised,_sotsiaalsed_ja_professionaalsed_aspektid&amp;diff=117669</id>
		<title>IT eetilised, sotsiaalsed ja professionaalsed aspektid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=IT_eetilised,_sotsiaalsed_ja_professionaalsed_aspektid&amp;diff=117669"/>
		<updated>2017-02-07T14:05:18Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See sektsioon on mõeldud neile, kes tahavad enda  [http://akadeemia.kakupesa.net/ITSPEA ITSPEA] kirjatööd wiki kujul esitada.&lt;br /&gt;
&lt;br /&gt;
== sügis 2012 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Olavi_Koplik_-_Internet_kui_kultuurin%C3%A4htus Olavi Koplik]&lt;br /&gt;
&lt;br /&gt;
== sügis 2013 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Magnus_Kokk_-_L%C3%BChike_%C3%BClevaade_GNU/Linux_t%C3%B6%C3%B6lauakeskkondadest Magnus Kokk - Lühike ülevaade GNU/Linux töölauakeskkondadest]&lt;br /&gt;
&lt;br /&gt;
== sügis 2015 ==&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Arti_Zirk_-_Mina_ja_Linux Arti Zirk - Mina ja Linux]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Arti_Zirk_-_Syncly_MusicSync Arti Zirk - Syncly MusicSync]&lt;br /&gt;
&lt;br /&gt;
== kevad 2017 (rühmatööd) ==&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=L%C3%B5put%C3%B6%C3%B6de_n%C3%B5uded_ja_soovitused&amp;diff=105203</id>
		<title>Lõputööde nõuded ja soovitused</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=L%C3%B5put%C3%B6%C3%B6de_n%C3%B5uded_ja_soovitused&amp;diff=105203"/>
		<updated>2016-09-02T14:06:56Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Muud */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 2009. aasta lõputööde seminari slaidid ja videosalvestus===&lt;br /&gt;
&lt;br /&gt;
* [http://enos.itcollege.ee/~mernits/infrastruktuur/l6put88%20seminar.pdf Margus Ernits]&lt;br /&gt;
* [http://www.itcollege.ee/~lepikult/diplomitoo/Diplomitoo-koostamine-kaitsmine-17-09-2009.ppt Toomas Lepikult]&lt;br /&gt;
* [http://echo360.e-uni.ee:8080/ess/echo/presentation/d43dbffd-88fb-4150-a7b5-da285c945d04 seminari videosalvestus]&lt;br /&gt;
&lt;br /&gt;
=== Olulised kuupäevad ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lõputöö kavandi esitamise tähtaeg 7. märts 2011 (kaugõppijatel 14. märts).&#039;&#039;&#039; Selleks päevaks peab õppeprorektori käes olema juhendaja poolt allkirjastatud (võib olla ka digitaalselt allkirjastatud) lõputöö kavand. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lõputöö kavandi esitamise tähtaeg kaugõppele on 14. märts 2011.&#039;&#039;&#039; Selleks päevaks peab õppeprorektori käes olema juhendaja poolt allkirjastatud (võib olla ka digitaalselt allkirjastatud) lõputöö kavand.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Eelkaitsmine 17 - 20. mai 2011.&#039;&#039;&#039; Hiljemalt &#039;&#039;&#039;12. mail&#039;&#039;&#039; tuleb esitada lõputöö elektroonsel kujul õppeprorektorile. Tööd tähtajaks mitteesitanud üliõpilased eelkaitsmisnimekirja ei kanta. &#039;&#039;&#039;Eelkaitsmisele pääsemise eeldus on kogu õppekava täidetus&#039;&#039;&#039;, st. kõik õppekavajärgsed kohustuslikud ja valikained (va praktika ja diplomitöö) peavad olema sooritatud selleks kuupäevaks. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lõputöö kõvakaantega köidetud eksemplari esitamise viimane kuupäev on 26. mai 2011.&#039;&#039;&#039; Koos selle eksemplariga esitatakse juhendaja arvamus ja köidetud tööga identne pdf-vormingus fail tuleb saata õppeprorektorile.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Lõputööde kaitsmine 7 - 10. juuni 2011&#039;&#039;&#039;. Hiljemalt kaks tööpäeva enne töö kaitsmist laekub õppeosakonda töö retsensioon.&lt;br /&gt;
&lt;br /&gt;
=== Muud ===&lt;br /&gt;
&lt;br /&gt;
* [http://akadeemia.kakupesa.net/juhendamine.php Kaku Akadeemia kraadiõppeleht] - soovitused sobivad enamikus ka ITK lõputööde jaoks&lt;br /&gt;
* [[Elar Langi soovitused lõputöö kirjutajale]] - Elar kaitses edukalt oma ITK lõputööd 2010. a. kevadel&lt;br /&gt;
* [[Diplomitööde teemad]]&lt;br /&gt;
[[Category:Lõputööd]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102944</id>
		<title>LPIC-1 - Kaku konspekt 2016 1. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102944"/>
		<updated>2016-04-26T11:43:45Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Ross Brunsoni ja Sean Wahlbergi raamat [http://www.pearsonitcertification.com/store/comptia-linux-plus-lpic-1-cert-guide-exams-lx0-103-9780789754554 CompTIA ® Linux+ / LPIC-1 Cert Guide]&lt;br /&gt;
&lt;br /&gt;
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.&lt;br /&gt;
&lt;br /&gt;
=== Riistvara ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat ---&amp;gt;&lt;br /&gt;
IO port — An address, or range of addresses, identifying the&lt;br /&gt;
device; e.g., 0080, 1000-107f.&lt;br /&gt;
&lt;br /&gt;
IRQ — Interrupt requests (IRQs) signal the processor that an&lt;br /&gt;
event has happened and that the CPU is requested to come&lt;br /&gt;
check on the resource. It a limited resource that can&lt;br /&gt;
sometimes be shared.&lt;br /&gt;
&lt;br /&gt;
DMA — Direct memory access (DMA) allows a peripheral&lt;br /&gt;
to access system memory directly rather than having the&lt;br /&gt;
CPU intervene.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
cat /proc/ioports&lt;br /&gt;
cat /proc/interrupts&lt;br /&gt;
cat /proc/dma&lt;br /&gt;
&lt;br /&gt;
Lisaks veel:&lt;br /&gt;
cat /proc/usb&lt;br /&gt;
cat /proc/pci&lt;br /&gt;
&lt;br /&gt;
Riistvara seisu vaatamiseks&lt;br /&gt;
* vaata /proc-i&lt;br /&gt;
* kasuta mõnd spetsiaalset utiliiti (lshw jt)&lt;br /&gt;
&lt;br /&gt;
/proc (procfs) - virtuaalne ehk pseudo-failisüsteem&lt;br /&gt;
&lt;br /&gt;
ls* käsud:&lt;br /&gt;
&lt;br /&gt;
Tsitaat ---&amp;gt;&lt;br /&gt;
* lsmod — Shows the kernel modules loaded, along with any dependencies for those modules. Helpful for double&lt;br /&gt;
checking that the driver is loaded for a peripheral. If the module is not present then use the modprobe command to load it, such as with modprobe bluetooth.&lt;br /&gt;
* lscpu — Provides details about your CPU, such as the number and speed of each socket and core.&lt;br /&gt;
* lspci — Shows a lot of information about your PCI bus and devices. This can identify devices on the bus that the kernel doesn’t know about and provides addressing information for configuring them.&lt;br /&gt;
* lsscsi — Shows information about the SCSI devices on your system, if the system supports SCSI. This tells you if the system can see the disk.&lt;br /&gt;
* lsdev — Shows the devices recognized by your system.&lt;br /&gt;
* lsraid — Displays the Redundant Array of Inexpensive Disks (RAID) devices on the system.&lt;br /&gt;
* lsusb — Displays the USB information and devices for your system.&lt;br /&gt;
* lsblk — Displays the block devices (disks) attached to your system.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
NB! lsdev tuleb Ubuntu 14.04 Serveril procinfo-paki paigaldamisega, lsscsi ja lsraid puuduvad üldse!&lt;br /&gt;
&lt;br /&gt;
Võidakse küsida, milline eelmistest näitab kõige põhjalikumat koondinfot IO, katkestuste ja DMA kohta - selleks on lsdev!!&lt;br /&gt;
&lt;br /&gt;
Osa seadmeinfot asub ka teise virtuaalse failisüsteemi /sys all (sysfs) - /proc all on läbisegi seadmed ja protsessid,&lt;br /&gt;
/sys sisaldab ainult seadmeid!&lt;br /&gt;
&lt;br /&gt;
udev - seadmehaldur; kasutab /sys infot ja haldab seadmeid /dev all.&lt;br /&gt;
&lt;br /&gt;
hotplug - kasutatav jooksvalt ühendatuna (mälupulk)&lt;br /&gt;
coldplug - tahab restarti&lt;br /&gt;
&lt;br /&gt;
dbus (D-Bus) - infovahetuskanal kerneli ja töölauarakenduste vahel (ka rakendused omavahel). N: meiliindikaator tööriistaribal; udev kasutab seda näiteks uue andmekandja haakimisel vastava akna avamiseks.&lt;br /&gt;
&lt;br /&gt;
Integreeritud seadmed, mis Linuxit ei toeta, tasub BIOSist välja lülitada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettad ===&lt;br /&gt;
&lt;br /&gt;
Seadmed algavad 0-st (md0 - RAID, scd0 - CD) või a-st (sda, sdb), kettajaotised 1-st (sda1)&lt;br /&gt;
&lt;br /&gt;
Failisüsteemi eri osad võivad asuda eri ketastel või ka eri võrkudes!&lt;br /&gt;
&lt;br /&gt;
Ketta jagamise akronüüm PIBS:&lt;br /&gt;
&lt;br /&gt;
* Performance - suure koormusega osad eraldi (/home, saaleala)&lt;br /&gt;
* Integrity - kriitilised osad eraldi (upload-kataloog)&lt;br /&gt;
* Backup - kiiresti muutuvad (/var) eraldi aeglastest (/usr)&lt;br /&gt;
* Security - võimalik osi isoleerida&lt;br /&gt;
&lt;br /&gt;
LVM - võimaldab luua loogilisi kettaid üle füüsiliste jaotiste ja ketaste; aitab dünaamiliselt ruumi juurde tekitada&lt;br /&gt;
&lt;br /&gt;
PV (physical volume) - tüüpiliselt ketas või jaotis&lt;br /&gt;
PE (physical extent) - PV alajaotis, mis võivad kuuluda erinevate loogiliste ketaste koosseisu&lt;br /&gt;
VG (volume group) - üks või mitu PV-d&lt;br /&gt;
LV (logical volume) - loogiline ketas, mis koosneb PV-l asuvatest PE-dest (võib kombineerida eri PV-de PE-sid)&lt;br /&gt;
SAN (Storage Are Network) - jagab kettaruumi blokkide tasemel üle võrgu&lt;br /&gt;
&lt;br /&gt;
Ruumi lisamiseks tuleb LV-sse lisada uus PV ja suurendada ruumi seal asuvate PE-de abil.&lt;br /&gt;
&lt;br /&gt;
Snapshotting - LV tõmmis mingil ajahetkel, mis ühendatakse uue kettana - algne LV jätkab tegutsemist (ja muutub)&lt;br /&gt;
&lt;br /&gt;
Levinumad jaotiseskeemid:&lt;br /&gt;
* /  - kõik ühes kohas (LVM-i kasutamine tagab aga piisava paindlikkuse)&lt;br /&gt;
* lisaks /home, /var - kasutaja failid eraldi, samuti kiiresti muutuvad andmed (sh logifailid)&lt;br /&gt;
* lisaks /usr ja /tmp - staatilised süsteemifailid eraldi (pluss võimalus haakida mujalt), /tmp eraldamine aitab turvalisust&lt;br /&gt;
* lisaks /boot -  alglaadimisprotsess ei saa midagi lolliks ajada&lt;br /&gt;
&lt;br /&gt;
swap - saaleala ehk virtuaalmälu&lt;br /&gt;
thrashing - info põrgatamine swapi ja RAMi vahel, aeglustab tööd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BIOS MBR 512 baiti &lt;br /&gt;
&lt;br /&gt;
GRUB2 paigaldus kettale - grub-install /dev/sda . Vaikimisi /boot, saab määrata ka mujale (--boot-directory=)&lt;br /&gt;
&lt;br /&gt;
grub&amp;gt; ls näitab kettaid, sealt saab edasi vaadata, N: ls (hd0, msdos1)  TAB-completion on ka olemas!&lt;br /&gt;
&lt;br /&gt;
grub-mkconfig (võib lisada -o asukoht konfifaili jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alglaadimine ja käivitustasemed ===&lt;br /&gt;
&lt;br /&gt;
Alglaadimise neli faasi:&lt;br /&gt;
1. alglaadurifaas&lt;br /&gt;
2. kernelifaas&lt;br /&gt;
3. esmane kasutajafaas&lt;br /&gt;
4. init&lt;br /&gt;
&lt;br /&gt;
Lisaks LILOle ja GRUBile&lt;br /&gt;
* SYSLINUX - kasutati FAT-andmekandjatel, USB live-süsteemides jm&lt;br /&gt;
* Loadlin - käivituseks DOSist/Windowsist (asendas käigupealt DOSi süsteemituuma Linuxiga)&lt;br /&gt;
&lt;br /&gt;
Täiendavad parameetrid:&lt;br /&gt;
* vga - graafikarežiimi etteandmine, võib olla 10- 8- või 16-süsteem, samuti normal, ext või ask&lt;br /&gt;
* apm - automaatne voooluhaldus. apm=off või noapm võib parandada ühilduvust&lt;br /&gt;
* init - käivitab initi esimese protsessina&lt;br /&gt;
* panic=number - eemalasuva süsteemi puhul teeb lolliksmineku järel N sekundi järel restardi ja proovib uuesti&lt;br /&gt;
* single, 1 - ainult root&lt;br /&gt;
* 2,3,4,5 - tavalised käivitustasemed&lt;br /&gt;
* ro või rw - juurfailisüsteemi haakimine kas ainult lugemiseks või mõlemat pidi&lt;br /&gt;
* mem=xxxM - piirab mälu kasutust xxx MB-ga. Kasuks katkise mälukivi jälitamisel.&lt;br /&gt;
&lt;br /&gt;
Käivitus:&lt;br /&gt;
1. Vool sisse&lt;br /&gt;
2. BIOS käivitub ja otsib laadesektori&lt;br /&gt;
3. BIOS laeb vastavalt käivitusjärjekorrale laadesektori&lt;br /&gt;
4. MBR&lt;br /&gt;
5. alglaadur&lt;br /&gt;
6. kasutaja valib või tuleb vaikimisi valik&lt;br /&gt;
7. Loeb kerneli, kernel käivitub, käivitab seadmed, laeb vajalikud moodulid, otsib initrd, laeb selle ja haagib juurfailisüsteemi&lt;br /&gt;
8. /sbin/init - PID 1&lt;br /&gt;
9. /etc/inittab ja init-skriptid (Debianil /etc/init.d/rcS ja RH-l /etc/rc.d/init.d/rc.sysinit).&lt;br /&gt;
10. juursüsteemi kontroll, vajalikud moodulid, kohalike FS-ide haakimine, võrguliideste käivitus&lt;br /&gt;
11. vaikimisi käivitustase (vastava taseme skriptide abil)&lt;br /&gt;
12. login&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SystemD ===&lt;br /&gt;
&lt;br /&gt;
Sys V initi asemele loodud süsteem, osaliselt käsuühilduv&lt;br /&gt;
&lt;br /&gt;
Peaks olema efektiivsem ja paralleelsem, vähem sõltuvusi, peaks võimaldama rohkem prioriteete - eeldatavasti annab kiirema algkäivituse.&lt;br /&gt;
&lt;br /&gt;
käivitub sümlingist /sbin/init. Kokku üle 60 jupi, tähtsamad on&lt;br /&gt;
* systemd - süsteemi- ja teenustehaldur&lt;br /&gt;
* systemctl - olekuhaldur&lt;br /&gt;
* systemd-analyze - annab statistikat&lt;br /&gt;
* journald - vaikimisi logimissüsteem, võimalik asendada tavalisematega (rsyslog, syslog-ng)&lt;br /&gt;
* consoled - konsoolideemon, peaks asendama virtuaalterminalide süsteemi&lt;br /&gt;
* networkd - võrgudeemon&lt;br /&gt;
* logind - sisselogimisdeemon, toetab ka X-i logimishaldureid&lt;br /&gt;
&lt;br /&gt;
Veel omadusi:&lt;br /&gt;
* kogu logimine journali kaudu&lt;br /&gt;
* teenused ei sõltu käivitustasemetest&lt;br /&gt;
* komponendigrupid (Cgroup) - peaks asendama käivitustasemeid&lt;br /&gt;
* täpsem prioriteedihaldus - varem ainult nice/renice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
init-skriptide asemel üksused (unit). Asukohad kasvava prioriteediga:&lt;br /&gt;
* /usr/lib/systemd/system  - distroga kaasatulnud üksused&lt;br /&gt;
* /run/systemd/system - jooksvalt (töö ajal) loodud üksused&lt;br /&gt;
* /etc/systemd/system - admini poolt hallatavad, kõrgeim prioriteet&lt;br /&gt;
&lt;br /&gt;
Põhitüübid (laiendiks on sama nimi - näiteks .socket):&lt;br /&gt;
* service - süsteemiteenus&lt;br /&gt;
* socket - protsessidevahelise kommunikatsiooni element&lt;br /&gt;
* target - üksuste grupp&lt;br /&gt;
* mount - haakepunkt&lt;br /&gt;
* automount - automaatne haakepunkt&lt;br /&gt;
* device - kerneli kasutatav seadmefail&lt;br /&gt;
* scope - väljast loodud protsess&lt;br /&gt;
* timer - taimer&lt;br /&gt;
* path - failisüsteemi fail või kataloog&lt;br /&gt;
* slice - hierarhiline üksustegrupp&lt;br /&gt;
* snapshot - systemd halduri olekutõmmis&lt;br /&gt;
* swap - saaleala või -fail&lt;br /&gt;
&lt;br /&gt;
SysV käivitustasemete asemel on märgid (target), sisuliselt vastavad käivitustasemetele (NB! Systemd on RedHati leiutis, seega sama süsteem):&lt;br /&gt;
*  	0		poweroff.target			masin seisma&lt;br /&gt;
* 	1		rescue.target			ühekasutaja paranduskeskkond&lt;br /&gt;
*	2		multi-user.target		tekstirežiim ilma võrguta&lt;br /&gt;
*	3		multi-user.target		tekstirežiim võrguga&lt;br /&gt;
*	4		multi-user.target		nagu 3&lt;br /&gt;
*	5		graphical.target		graafiline režiim, võrk&lt;br /&gt;
*	6		reboot.target			restart&lt;br /&gt;
&lt;br /&gt;
Märkide nimedel on ühilduvuse jaoks aliased runlevel0.target ... runlevel6.target&lt;br /&gt;
&lt;br /&gt;
Sõltuvuste ja järjekorra haldus - wants ja requires&lt;br /&gt;
&lt;br /&gt;
Näiteks graphical.target-is:&lt;br /&gt;
Requires=multi-user.target&lt;br /&gt;
After=multi-user.target&lt;br /&gt;
Wants=display-manager.service&lt;br /&gt;
&lt;br /&gt;
Algkäivitus üldiselt sama, aga GRUB käivitab /sbin/init kaudu systemd . default.target on sümlink multi-user.target-ile, see omakorda&lt;br /&gt;
käivitab graphical.target-i.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 ja Mint 18 kasutavad esimeste LTS-idena vaikimisi systemd-d.&lt;br /&gt;
&lt;br /&gt;
Upstart - vahepeal pakutud alternatiivne süsteem - praegu kipub jääma teiste varju (kas jäädi SysV juurde või mindi systemd-le).&lt;br /&gt;
ChromeOS kasutab seda. Asünkroonsus, lihtsus, tagasiühilduvus, laiendatavus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Käivitustasemete haldus ====&lt;br /&gt;
&lt;br /&gt;
Buutimine single-userisse:  GRUBist 1, s või S!&lt;br /&gt;
&lt;br /&gt;
runlevel -käsk annab Debiani perekonnal reeglina vastuse  N 2 -  graafiline keskkond, eelmine tase puudub &lt;br /&gt;
Turvamoment - kui näitab 1 2, siis tuleb veenduda, et eelnev single-user oli ikka seaduslik...&lt;br /&gt;
teine variant on who -r&lt;br /&gt;
&lt;br /&gt;
SystemD puhul systemctl get-default (annab tüüpiliselt multi-user.target). Jooksva taseme näitab systemctl list-units --type=target&lt;br /&gt;
&lt;br /&gt;
Vaikimisi käivitustase:&lt;br /&gt;
* SysV - /etc/inittab-i rida id:X:initdefault: , kus X on käivitustaseme number&lt;br /&gt;
* SystemD - muuta ära soovita sümlink: ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target&lt;br /&gt;
&lt;br /&gt;
Taseme vahetus:&lt;br /&gt;
* SysV - init number (või telinit, mis on ajalooliselt jäänud sümlink)&lt;br /&gt;
* SystemD - systemctl isolate graphical.target  (või runlevel5.target)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masina sulgemine:&lt;br /&gt;
&lt;br /&gt;
SysV süsteemides halt -p või shutdown:&lt;br /&gt;
-H - peatamine&lt;br /&gt;
-h - peatamine JA/VÕI sulgemine&lt;br /&gt;
-P - sulgemine&lt;br /&gt;
-r - restart&lt;br /&gt;
-k - annab teate ja peatab sisselogimised&lt;br /&gt;
-c - viivitusega sulgemise tühistus&lt;br /&gt;
now - kohe&lt;br /&gt;
+10 - 10 minuti pärast&lt;br /&gt;
12:02 kellaaeg&lt;br /&gt;
N: shutdown -r +15 &amp;quot;Veerand tunni pärast restart!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SystemD puhul - systemctl halt, poweroff või reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protsessitapmine  - kill ja killall&lt;br /&gt;
&lt;br /&gt;
-9 SIGKILL - kohene tapmine&lt;br /&gt;
-15 SIGTERM - viisakas palve lõpetada  (vaikimisi variant)&lt;br /&gt;
-1 SIGHUP - hangunud protsessi taaskäivitus (konfi uuestilaadimine). ka kill -HUP PID&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Alternatiivsüntaks:  kill -s SIGHUP|SIGKILL|SIGTERM&lt;br /&gt;
&lt;br /&gt;
SystemD puhul saab tappa grupimärgise (group tag) järgi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivituse logimine&lt;br /&gt;
&lt;br /&gt;
SysV:  dmesg-käsk pluss /var/log/messages või /var/log/syslog&lt;br /&gt;
&lt;br /&gt;
SystemD: journalctl --list-boots , sealt valida hirmpikk buudikorra ID ja siis journalctl -boot=akansgargnaghragegegaegte&lt;br /&gt;
käimasolev käivitus on 0, eelmine -1 jne, kuni -34&lt;br /&gt;
&lt;br /&gt;
käimasoleva käivituse teated saab kohe journalctl -b abil!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pakihaldus ===&lt;br /&gt;
&lt;br /&gt;
Debiani sõltuvuste eiramine: --force-depends&lt;br /&gt;
RPM-i pikas nimes ei ole kirjas arhitektuuri!&lt;br /&gt;
RPM-i kohalikke pakkide signatuurikontroll: rpm -K *&lt;br /&gt;
&lt;br /&gt;
FHS - Filesystem Hierarchy Standard&lt;br /&gt;
&lt;br /&gt;
Staatiline linkimine - teek kopeeritakse programmi - suur programm, raske uuendada (teek tuleb uuendada kõigis programmides), aga sõltuvusi pole&lt;br /&gt;
Dünaamiline linkimine - programmi paigutatakse viited teekidele - väike programm, lihtne uuendada, aga sõltuvused võivad probleeme tekitada&lt;br /&gt;
&lt;br /&gt;
.so. -failid on jagatud teegid (shared object)!&lt;br /&gt;
Dünaamiline linkur on ld.so (vahel ld-linux.so), konf on /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
teegid: /lib ja /usr/lib64 (või lib 32 puhul)&lt;br /&gt;
&lt;br /&gt;
järjest linkimine sümlinkidega - vastavalt kes millist teegi versiooni vajab (tegelikult on lõpus üks ja sama teek)&lt;br /&gt;
&lt;br /&gt;
teekidest sõltumist näitab ldd - ldd passwd&lt;br /&gt;
&lt;br /&gt;
ldconfig korrastab viited teekidele (käib läbi /lib-i, /usr/lib/64 ja muud /etc/ld.so.conf-is määratud kohad). Järjestatud nimekiri läheb /etc/ld.so.cache-isse&lt;br /&gt;
&lt;br /&gt;
süsteemimutuja LD_LIBRARY_PATH teekide leidmiseks - määrata saab: export LD_LIBRARY_PATH=/bla/bla/bla (võib panna /etc/profile või ~/.bash_profile -faili). Turvarisk!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debiani pakid ====&lt;br /&gt;
&lt;br /&gt;
dpkg, apt-*, synaptic, aptitude&lt;br /&gt;
&lt;br /&gt;
pakiinfo - dpkg --info pakinimi&lt;br /&gt;
&lt;br /&gt;
Pakis on juhtinfo arhiiv, milles on&lt;br /&gt;
* conffiles - häälestus peale installi&lt;br /&gt;
* control - metaandmed sõltuvuste kohta&lt;br /&gt;
* md5sums - kontrollsummad&lt;br /&gt;
* postinst - skript, mis käivitub peale installi&lt;br /&gt;
* prerm - skript, mis käivitub enne eemaldamist&lt;br /&gt;
* postrm - skript, mis käivitub peale eemaldamist&lt;br /&gt;
&lt;br /&gt;
Lisaks juhtinfole on pakis info nime, haldaja, arhitektuuri ja sõltuvuste kohta.&lt;br /&gt;
&lt;br /&gt;
Paigaldus - dpkg -i  või --install&lt;br /&gt;
&lt;br /&gt;
Eemaldamine - dpkg -r või --remove, või koos konfiga -P ehk --purge&lt;br /&gt;
&lt;br /&gt;
--force (ohtlik!), --force-reinstreq sunnib reinstalli, --force-conflicts eirab konflikte, --force-depends eirab sõltuvusi, &lt;br /&gt;
--force-remove-essential eemaldab jõuga&lt;br /&gt;
&lt;br /&gt;
Nimekiri - dpkg -l või --list  (toetab metamärke)&lt;br /&gt;
&lt;br /&gt;
Paigaldatud failide nimekiri - dpkg -L või --listfiles&lt;br /&gt;
&lt;br /&gt;
Lühem variant --info-st on --status&lt;br /&gt;
&lt;br /&gt;
Failiotsing pakihalduri kaudu:  dpkg -S või --search &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Algne konf uuesti: dpkg-reconfigure&lt;br /&gt;
&lt;br /&gt;
apt-get - failide paigaldus eemalt (dpkg on kohalik).  /etc/sources.list ja /etc/sources.list.d/ (iga varamu jaoks eraldi fail)&lt;br /&gt;
&lt;br /&gt;
Konfirea näide:  deb http://cdn.debian.net/debian/ wheezy main&lt;br /&gt;
&lt;br /&gt;
Apti puhvri värskendus: apt-get update&lt;br /&gt;
&lt;br /&gt;
Puhvrioperatsioonid: apt-cache&lt;br /&gt;
 - search otsitav&lt;br /&gt;
 - show pakinimi - info paki kohta&lt;br /&gt;
 - showpkg pakinimi - täpsem tehniline info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! apt-get install uuendab olemasoleva paki! Kui tahta ainult uuendamist (lisada ei tohi), siis --only-upgrade&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  apt-get upgrade   (turvauuendused, veaparandused ja täiendused) või apt-get dist-upgrade (karmim uuendus, võib ka eemaldada)&lt;br /&gt;
&lt;br /&gt;
Eemaldamine: apt-get remove või purge (viimane teeb koos konfiga)&lt;br /&gt;
&lt;br /&gt;
==== Red Hati pakid ===&lt;br /&gt;
&lt;br /&gt;
RPM võib tähendada nii pakivormingut, käsku kui andmebaasi!&lt;br /&gt;
&lt;br /&gt;
RPM andmebaas kasutab BerkeleyDB vormingut ja asub kataloogis /var/lib/rpm . Kasutajad saavad teha päringuid, muuta saab vaid root&lt;br /&gt;
&lt;br /&gt;
Segiläinud andmebaasi taastamine: rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
ainult üks kasutaja korraga, teised saavad &amp;quot;transaction lock&amp;quot;-teate&lt;br /&gt;
&lt;br /&gt;
RPM pakk sisaldab&lt;br /&gt;
* pakitud binaarrakendust&lt;br /&gt;
* nime ja versiooni&lt;br /&gt;
* loomise aega ja kohta (host)&lt;br /&gt;
* lühikirjeldust&lt;br /&gt;
* kontrollsummasid ja sõltuvusteinfot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisaks on olemas ka lähtekoodi-RPM-id&lt;br /&gt;
&lt;br /&gt;
Pakil on lühike nimi (sisuliselt nimi ise) ja pikk nimi (nimi-versioon-väljalase.distro)&lt;br /&gt;
&lt;br /&gt;
Näiteks rpm -q kernel näitab kõigi paigaldatud kernelipakkide infot, täpsustamiseks tuleb anda pikk nimi&lt;br /&gt;
&lt;br /&gt;
Ehtsuse tagamiseks kasutatakse MD5 kontrollsummat ja PGP või GPG signatuuri.&lt;br /&gt;
&lt;br /&gt;
kontroll: rpm -K pakinimi või rpm --checksig pakinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
install: rpm -ivh (install, teavitused, progressinäidik)&lt;br /&gt;
&lt;br /&gt;
failikonfliktide eiramine:  --replacefiles või --force&lt;br /&gt;
&lt;br /&gt;
pakisõltuvuste eiramine: --nodeps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
paki failide kontroll:  rpm -V (--verify)&lt;br /&gt;
&lt;br /&gt;
Tulemus näidatakse 9-kohalise koodina:&lt;br /&gt;
*  S muutunud maht&lt;br /&gt;
* M muutunud mood&lt;br /&gt;
* 5 muutunud MD5&lt;br /&gt;
* D seadmenumber ei klapi&lt;br /&gt;
* L probleem kataloogiteega&lt;br /&gt;
* U muutunud kasutaja&lt;br /&gt;
* G muutunud grupp&lt;br /&gt;
* T muutunud ajatempel&lt;br /&gt;
* P muutunud failiomadused&lt;br /&gt;
&lt;br /&gt;
Kõigi failide kontroll: rpm -Va  (või ka ainult konfifailid: -Vac)&lt;br /&gt;
&lt;br /&gt;
Värskendus (freshen) vs uuendus (upgrade) &lt;br /&gt;
&lt;br /&gt;
rpm -U uuendab - installib uued versioonid ja kõik nende jaoks vajaliku, samuti nime järgi ka uued failid&lt;br /&gt;
rpm -F värskendab - ei installi uusi pakke&lt;br /&gt;
&lt;br /&gt;
Eemaldamine - rpm -e või --erase (kui on mitu versiooni, siis lisada --allmatches !!!)&lt;br /&gt;
&lt;br /&gt;
päring - rpm -q , pikema infoga -qi&lt;br /&gt;
&lt;br /&gt;
faililisting - rpm -ql&lt;br /&gt;
&lt;br /&gt;
info paigaldamata paki kohta - qilp    (lisaks --changelog ???)&lt;br /&gt;
&lt;br /&gt;
Paki sõltuvused - -R (--requires)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
YUM - kui ei taha kinnitust, siis -y  (yum -y install blabla)&lt;br /&gt;
&lt;br /&gt;
allalaadimine ilma paigalduseta: panna y/n valikus d, kasutada yumdownloader-it või yum install --downloadonly&lt;br /&gt;
&lt;br /&gt;
yumdownloader:&lt;br /&gt;
* --source - SRPM&lt;br /&gt;
* --urls - kuvab URLid&lt;br /&gt;
* --resolve - kaasab sõltuvused&lt;br /&gt;
* --destdir - kataloog&lt;br /&gt;
&lt;br /&gt;
update, check-update (nii faili kui kogu süsteemi jaoks)&lt;br /&gt;
&lt;br /&gt;
yum list nimi - otsing nime järgi&lt;br /&gt;
&lt;br /&gt;
saab otsida ka üldist mõistet - yum search &amp;quot;web server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Konf: /etc/yum.conf, varamud /etc/yum.repos.d/&lt;br /&gt;
&lt;br /&gt;
Varamu konfi näide:&lt;br /&gt;
&lt;br /&gt;
[updates]&lt;br /&gt;
name=Fedora $releasever - $basearch - Updates&lt;br /&gt;
failovermethod=priority&lt;br /&gt;
#baseurl=http://download.fedoraproject.org/pub/fedora&lt;br /&gt;
updates/$releasever/$basearch/&lt;br /&gt;
metalink=https://mirrors.fedoraproject.org/metalink?&lt;br /&gt;
repo=updates-&lt;br /&gt;
released-f$releasever&amp;amp;arch=$basearch&lt;br /&gt;
enabled=1&lt;br /&gt;
metadata_expire=6h&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-&lt;br /&gt;
$releasever-$basearch&lt;br /&gt;
skip_if_unavailable=False&lt;br /&gt;
&lt;br /&gt;
yum --enablerepo varamunimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Käsurida ===&lt;br /&gt;
&lt;br /&gt;
Erinevad käsukestad - kasutaja käsukesta näeb mh /etc/passwd vastavalt realt&lt;br /&gt;
&lt;br /&gt;
Sisselogimise keelamiseks panna kestaks /bin/false (või üldiseks keelamiseks luua fail /etc/nologin)&lt;br /&gt;
&lt;br /&gt;
Käsukesta eri operatsioonid - täitmine (execute) vs pöördumine (sourcing)&lt;br /&gt;
&lt;br /&gt;
Täitmine (programmid) ./skript või sh skript&lt;br /&gt;
Pöördumine (profiilifailid; sisuliselt sisselugemine)  . skript või source skript&lt;br /&gt;
&lt;br /&gt;
Profiilifailid:&lt;br /&gt;
* /etc/profile - globaalne konf, loetakse kesta avamisel esimesena&lt;br /&gt;
* ~/.bash_profile - kasutaja sätted; see omakorda kutsub välja ~/.bashrc&lt;br /&gt;
NB! kui ~/.bash_profile puudub, otsitakse ~/.bash_login, kui ka seda pole, siis .profile&lt;br /&gt;
* ~/.bash_logout - peamine funktsioon on ekraani tühjendamine (clear) välja logides&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseta sessioonid (admini su-käsk) loevad ainult .bashrc, Red Hat loeb enne ka globaalse /etc/bashrc&lt;br /&gt;
&lt;br /&gt;
väliskäsud&lt;br /&gt;
sisekäsud&lt;br /&gt;
käivitatavad skriptid&lt;br /&gt;
aliased&lt;br /&gt;
funktsioonid&lt;br /&gt;
&lt;br /&gt;
Reapoolitus -  \&lt;br /&gt;
&lt;br /&gt;
Erisümbolid:&lt;br /&gt;
~ - jooksva kasutaja kodukataloog&lt;br /&gt;
\ - eirab järgmist sümbolit&lt;br /&gt;
/ - kataloogieraldaja&lt;br /&gt;
$ - muutuja&lt;br /&gt;
? - üks sümbol&lt;br /&gt;
&#039; - absoluuttsitaat&lt;br /&gt;
` - asendus&lt;br /&gt;
&amp;quot; - pehme tsitaat&lt;br /&gt;
* - 0-N sümbolit&lt;br /&gt;
&amp;amp; - taustaprotsess&lt;br /&gt;
&amp;amp;&amp;amp; - käsueraldaja - kui esimene käsk õnnestub, täida teine&lt;br /&gt;
|  - toru&lt;br /&gt;
|| - käsueraldaja - kui esimene käsk ei õnnestu, täida teine&lt;br /&gt;
; - käsueraldaja&lt;br /&gt;
[] - vahemik&lt;br /&gt;
&amp;gt; - suunamine&lt;br /&gt;
&amp;lt; - suunamine&lt;br /&gt;
&lt;br /&gt;
Eelmise käsu väljundstaatuse kuvamine - echo $?&lt;br /&gt;
&lt;br /&gt;
env - keskkonnamuutujad&lt;br /&gt;
set (või shopt) - kesta muutujad ja seaded&lt;br /&gt;
&lt;br /&gt;
kataloogitee eraldajateks on koolonid&lt;br /&gt;
$HOME loetakse /etc/passwd-ist&lt;br /&gt;
koju viib cd, cd ~ või cd $HOME&lt;br /&gt;
&lt;br /&gt;
Ettevaatust ~kasutaja vs ~/kasutaja -ga!  root logini puhul viib ~kasutaja tema kataloogi, ~/kasutaja aga kataloogi /root/kasutaja!&lt;br /&gt;
&lt;br /&gt;
Ajalugu - $HISTFILE, enamasti viitab ~/.bash_history peale&lt;br /&gt;
&lt;br /&gt;
Veel:  $HISTCMD näitab käsu järjenumbrit ajaloos, $HISTCONTROL väärtus &#039;ignoredups&#039; eirab korduvaid käske, &#039;ignorespaces&#039; eirab tühikuga algavaid ridu. $HISTFILESIZE näitab ajaloo pikkust (vaikimisi 500 käsku).&lt;br /&gt;
&lt;br /&gt;
set -o valik - valiku SISSElülitamine&lt;br /&gt;
set +o valik - valiku VÄLJAlülitamine (unset)&lt;br /&gt;
&lt;br /&gt;
Alates bash 2.0-st on shopt-käsk, mis on set-i ülemhulk&lt;br /&gt;
&lt;br /&gt;
Valikud:&lt;br /&gt;
* emacs või vi&lt;br /&gt;
* history (vaikimisi sees)&lt;br /&gt;
* hashall (vaikimisi hashib, et saaks korrata)&lt;br /&gt;
* monitor - taustaprotsessid eraldi gruppi&lt;br /&gt;
* noclobber - vaikimisi väljas, keelab &amp;gt; suunamisega faili ülekirjutamise&lt;br /&gt;
* noexec - skripti kuivkäivitus&lt;br /&gt;
* notify - teatab kohe lõppenud töödest&lt;br /&gt;
* verbose - kogu väljund ekraanile&lt;br /&gt;
&lt;br /&gt;
Tab Tab- käsu lõpu pakkumine!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Failisüsteem ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failinimedes võib olla sisuliselt iga sümbol, ka &amp;amp; või \ (mõnel juhul tuleb olla ettevaatlik)&lt;br /&gt;
&lt;br /&gt;
NB! /root ja /home ei ole mõnede serverite puhul kohustuslikud (ei logita sisse)!&lt;br /&gt;
&lt;br /&gt;
/opt vs /usr/local - /opt on vaid kohalikuks kasutamiseks, jagatud kohalik kraam käib /usr/local-isse&lt;br /&gt;
&lt;br /&gt;
usr (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
bin - Contains user commands&lt;br /&gt;
include - Contains header files for C programs&lt;br /&gt;
lib - Contains libraries&lt;br /&gt;
local - Contains local/sharable programs&lt;br /&gt;
sbin - Contains nonessential system binaries&lt;br /&gt;
share - Contains data/programs for multiple architecture&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
rm -f * ei kustuta peidetud (punktiga) faile&lt;br /&gt;
&lt;br /&gt;
ls (tsitaat)&lt;br /&gt;
&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
ls /home/user - Shows a plain listing of that directory.&lt;br /&gt;
ls –a  - Lists all files, including hidden . files.&lt;br /&gt;
ls –d foo - Lists just the directory called foo, not the contents.&lt;br /&gt;
ls –i - Lists the inode number for the targetfile or directory.&lt;br /&gt;
Inodes are the way Linux represents a file on disk and are&lt;br /&gt;
discussed later in the section “Copying Files and Directories.”&lt;br /&gt;
ls –l - Shows permissions; links; and date, group, and&lt;br /&gt;
owner information. Permissions dictate who can access the&lt;br /&gt;
file and are discussed in detail in Chapter 10, “Permissions.”&lt;br /&gt;
ls –lh - Shows human-readable output of file sizes, in KB,&lt;br /&gt;
MB, and GB, along with file details.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
file failinimi - info faili kohta&lt;br /&gt;
&lt;br /&gt;
file /etc/* | grep empty  - leiab tühjad failid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch - loob tühja faili või muudab olemasoleva ajatemplit&lt;br /&gt;
-t ajatempel  N: touch -t 201603291200 eksam.txt&lt;br /&gt;
-r fail1 fail2  fail1 ajatempel kopeeritakse fail2-le&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cp - mõned erivõtmed:&lt;br /&gt;
-d - ei järgi sümlinke, vaid kopeerib need&lt;br /&gt;
-l - kõva link allikfailile&lt;br /&gt;
-r ja -R - rekursiivne&lt;br /&gt;
-s - sümlink allikfailile&lt;br /&gt;
-u - uuendab koopiat vaid siis, kui seda ei ole olemas või see on vanem (ajakontroll)&lt;br /&gt;
-x - eirab haagitud failisüsteeme&lt;br /&gt;
&lt;br /&gt;
dd - kettakoopia   - dd if=  of= &lt;br /&gt;
&lt;br /&gt;
MBR varundamine dd abil: dd if=/dev/sda of=/root/MBR.img count=1 bs=512 (üks kord, et mitte tsüklisse minna; blokisuurus 512 baiti)&lt;br /&gt;
taastamine: dd if=/root/MBR.img of=/dev/sda count=1 bs=512&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mkdir - ahelloomine: mkdir –p /dir1/dir2/dir3/dir4&lt;br /&gt;
&lt;br /&gt;
rmdir suudab samamoodi kustutada (kui on tühjad): rmdir –p /dir1/dir2/dir3/dir4&lt;br /&gt;
&lt;br /&gt;
tegelikult saab kustutada ka koos failidega: --ignore-fail-on-non-empty&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Otsing ===&lt;br /&gt;
&lt;br /&gt;
locate - andmebaasiotsing; baasiuuendus updatedb, konf /etc/updatedb.conf&lt;br /&gt;
-i - tõstutundetu&lt;br /&gt;
locate otsib otsingustringi täis-kataloogiteest ja tagastab ka osalised väärtused (N. locate kaka  - /home/kakaduu/blabla)&lt;br /&gt;
&lt;br /&gt;
find - otsib päris failisüsteemist. Üldkuju:&lt;br /&gt;
&lt;br /&gt;
find tee -valikud argumendid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Valikud (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
group - Based on files belonging to the specified group&lt;br /&gt;
newer - Based on files more recent than the specified file&lt;br /&gt;
name - Based on files with names matching a case- sensitive string&lt;br /&gt;
iname - Based on files with names matching a non-case-sensitive string&lt;br /&gt;
user - Searches for files belonging to the specified user&lt;br /&gt;
mtime - The modify time; used for finding files x days old&lt;br /&gt;
atime - Based on the number of days since last accessed&lt;br /&gt;
ctime - Based on the number of days since the directory entry was last changed&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Saab kombineerida skriptiks:  find /home –iname *.mp3 –exec cp –f {} .\;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which - näitab programmi täit kataloogiteed&lt;br /&gt;
&lt;br /&gt;
which -a nimi näitab kõiki, kui on mitu (muidu ainult esimesena leitu)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
whereis - sarnaneb which-iga, aga rohkem infot&lt;br /&gt;
&lt;br /&gt;
-b—Searches for binaries&lt;br /&gt;
-m—Searches for manual entries&lt;br /&gt;
-s—Searches for sources&lt;br /&gt;
-u—Finds unusual or improperly documented entries&lt;br /&gt;
&lt;br /&gt;
type käsk - näitab, kas on sisekäsk, alias vmm&lt;br /&gt;
&lt;br /&gt;
type -a käsk - kõik variandid (nagu which)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lingid&lt;br /&gt;
&lt;br /&gt;
Sümlingi õiguste muutmise asemel muudetakse sihtfaili õigusi!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Varundamine&lt;br /&gt;
&lt;br /&gt;
tar - palju faile kokku&lt;br /&gt;
&lt;br /&gt;
tar -t - listing&lt;br /&gt;
&lt;br /&gt;
cpio - sarnaneb tar-iga, ei paki kokku. Kasutavad näiteks initramfs ja RPM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-o (out) või --create - loob arhiivi&lt;br /&gt;
-i (in) või --extract - avab&lt;br /&gt;
-p või --pass-through - sisuliselt cp -r ehk kopeerimine ühest kohast teise&lt;br /&gt;
&lt;br /&gt;
gzip ja bzip2, lisaks on veel xz (efektiivne, aga mäluõgard):&lt;br /&gt;
kokku: xz, xz -z või xz --compress &lt;br /&gt;
lahti: unxz, xz -d, xz --uncompress või xz --decompress&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teksti S/V ===&lt;br /&gt;
&lt;br /&gt;
stdin, stdout, stderr - vastavalt kirjeldaja numbbrid 0,1,2 ja seonduvad failid /proc/self/fd0, fd1 ja fd2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;, &amp;gt;, &amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalus &amp;quot;saata vead jalust ära&amp;quot;   -  find blabla  2&amp;gt; /dev/null  | more   või ka  find blabla &amp;gt; andmed.txt 2&amp;gt; vead.txt&lt;br /&gt;
&lt;br /&gt;
Kogu väljundi nullimine: find / -iname *.txt &amp;gt; /dev/null 2&amp;gt;&amp;amp;1  (stout nulli ja stderr stdout-i)&lt;br /&gt;
&lt;br /&gt;
less toetab enamikku vi navigeerimiskäskudest&lt;br /&gt;
&lt;br /&gt;
suunamine vs toru - suunamine kasutab faile, toru kasutab programme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Järjestikkäsud ====&lt;br /&gt;
&lt;br /&gt;
käsk1; käsk2; käsk3  - kolm teineteisest sõltumatut käsku&lt;br /&gt;
käsk1 &amp;amp;&amp;amp; käsk2  - käsk2 täidetakse, kui käsk1 lõpetas edukalt&lt;br /&gt;
käsk1 || käsk2 - käsk2 täidetakse, kui käsk1 ei õnnestunud (varuvariant või veateade)&lt;br /&gt;
&lt;br /&gt;
käsuasendaja - backtick ´     export MUUT=`date`&lt;br /&gt;
&lt;br /&gt;
tee - võimaldab jagada stdin-i voo kaheks - ühte töödeldakse, teine saadetakse edasi (või saadetakse korraga nii faili kui ekraanile - või töödeldakse infot paralleelselt alginfo logimisega)&lt;br /&gt;
&lt;br /&gt;
N: find / -iname *.txt | tee findit.out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
xargs - käsu argumentide võtmine eestpoolt&lt;br /&gt;
&lt;br /&gt;
NÄIDE NETIST: leiab .c -laiendiga failid ja kustutab need ära&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
one.c  one.h  two.c  two.h&lt;br /&gt;
&lt;br /&gt;
$ find . -name &amp;quot;*.c&amp;quot; | xargs rm -rf&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
one.h  two.h&lt;br /&gt;
&lt;br /&gt;
sort - võtab stdin-ist või failist ja väljastab stdout-i või faili&lt;br /&gt;
-k number - mitmenda sõna/elemendi järgi (vaikimisi on esimene)&lt;br /&gt;
-n - arvuline (tavaline sorteerib tekstina - 1,11,12,2,21...)&lt;br /&gt;
&lt;br /&gt;
nl - nummerdab read&lt;br /&gt;
&lt;br /&gt;
wc - sõnaloendur&lt;br /&gt;
-l - loeb ridu&lt;br /&gt;
-w - loeb sõnu&lt;br /&gt;
-c - loeb tähemärke (baite)&lt;br /&gt;
&lt;br /&gt;
expand - asendab tabulaatorid n tühikuga (vaikimisi 8)&lt;br /&gt;
-i - ainult rea alguses (enne esimest mittetühikut)&lt;br /&gt;
-t arv - tühikute arvu määramine&lt;br /&gt;
&lt;br /&gt;
cut - vertikaallõige failist (veergude järgi)&lt;br /&gt;
&lt;br /&gt;
cut -c 5-10 failinimi  - kõigi ridade 5.-10. tähemärgid&lt;br /&gt;
&lt;br /&gt;
paste - näitab faile kõrvuti veergudes&lt;br /&gt;
&lt;br /&gt;
join - liidab failid ridupidi, kui ridade alguse võtmeveerud on samad&lt;br /&gt;
&lt;br /&gt;
uniq - eirab korduvaid elemente (soovitav on enne sortida!)&lt;br /&gt;
-d - kuvab ainult read, mis on korduvad (ühekordselt)&lt;br /&gt;
-D - kuvab ainult read, mis on korduvalt (kõik esinemised)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
head  (-n number)  ja tail (-n number)&lt;br /&gt;
&lt;br /&gt;
eriti aga tail -f /var/log/messages   (-f on --follow - jälgib jooksvalt ka muudatusi!)&lt;br /&gt;
&lt;br /&gt;
split - suure faili jupitamine (vaikimisi nimed xaa, xab, xac, xad...)&lt;br /&gt;
-b suurus&lt;br /&gt;
-l ridade arv (vaikimisi 1000!!)&lt;br /&gt;
&lt;br /&gt;
N:  split -b 650M kali-linux-1.0.6-amd64.iso &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cat, tac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
od - octal dump, suudab aga kuvada ka muid süsteeme:&lt;br /&gt;
-a - nimi&lt;br /&gt;
-o - kaheksandarv&lt;br /&gt;
-d - kümnendarv&lt;br /&gt;
-x - kuueteistkümnendarv&lt;br /&gt;
-f - ujukomaarv&lt;br /&gt;
&lt;br /&gt;
Võidakse küsida binaarfailide vaatamise võimalust - suht ainus ongi od. Kui &#039;cat binaarfail&#039; on terminali segi ajanud, tuleks anda reset-käsk&lt;br /&gt;
&lt;br /&gt;
pr - printimiseks vormindamine&lt;br /&gt;
&lt;br /&gt;
fmt - pikkade ridade lühendamine&lt;br /&gt;
&lt;br /&gt;
tr - märgiteisendused:  tr &#039;A-Z &#039;a-z&#039; &amp;lt; commands.txt  või  tr [:upper:] [:lower:] &amp;lt; commands.txt&lt;br /&gt;
&lt;br /&gt;
tr ei suuda lugeda failist, ainus võimalus sisendit saada on suunamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sed - lihtne näide sed s/bob/BOB/ file1&lt;br /&gt;
mitu asendust: sed –e s/bob/BOB/g –e s/BOB/snuffy/g file1 (saab ka semikoolonitega)&lt;br /&gt;
kui tühikud on sees: sed &#039;s/is not/is too/g&#039; file1&lt;br /&gt;
&lt;br /&gt;
asendused saab panna ka eraldi faili, sel juhul  sed -f scriptfile targetfile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
grep&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
grep command has many useful options, including&lt;br /&gt;
* -c This option shows only a numeric count of the matches found, no output of filenames or matches.&lt;br /&gt;
* -C # - This option surrounds the matched string with X number of lines of context.&lt;br /&gt;
* -H - This option prints the filename for each match; it’s useful when you want to then edit that file, as well as being the default option when multiple files are searched.&lt;br /&gt;
* -h - This option suppresses the filename display for each file and is the default when a single file is searched.&lt;br /&gt;
* -i - This option searches for the pattern with no case-sensitivity; all matches are shown.&lt;br /&gt;
* -l - This option shows only the filename of the matching file; no lines of matching output are shown.&lt;br /&gt;
* -L - This option displays the filename of files that don’t have a match for the string.&lt;br /&gt;
* -w - This option selects only lines that have the string as a whole word, not part of another word.&lt;br /&gt;
* -r - This option reads and processes all the directories specified, along with all the files in them.&lt;br /&gt;
* -x - This option causes only exact line matches to be returned; every character on the line must match.&lt;br /&gt;
* -v - This option shows all the lines in a file that don’t match the string; this is the exact opposite of the default behavior.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
egrep =  grep -E&lt;br /&gt;
fgrep = grep -F&lt;br /&gt;
&lt;br /&gt;
=== Protsessid ===&lt;br /&gt;
&lt;br /&gt;
ps&lt;br /&gt;
-a - kõigi kasutajate protsessid&lt;br /&gt;
-u - kasutaja protsessiinfo&lt;br /&gt;
-x - ei näita tty-d&lt;br /&gt;
&lt;br /&gt;
POSIX/UNIX - kriipsuga, BSD - ilma, Linux toetab mõlemaid&lt;br /&gt;
&lt;br /&gt;
ps -aux ja ps -ef on suht sarnased (võidakse küsida)&lt;br /&gt;
&lt;br /&gt;
block - infokogus kettal (enamasti 512B)&lt;br /&gt;
buffer - infokogus põhimälus&lt;br /&gt;
&lt;br /&gt;
free - vaba mälu (tasub lisada -lh)&lt;br /&gt;
&lt;br /&gt;
uptime&lt;br /&gt;
&lt;br /&gt;
protsessi signaalid&lt;br /&gt;
SIGINT 2 katkestus (ctrl-C)&lt;br /&gt;
SIGHUP 6 lõpeta ja alusta uuesti&lt;br /&gt;
SIGKILL 9 lõpeta&lt;br /&gt;
SIGTERM 15 lõpeta (pehmem)&lt;br /&gt;
SIGSTP  20 terminali peatamine (ctrl-X) - sisuliselt paus, saab fg-ga jätkata&lt;br /&gt;
SIGSTOP 23 peata täitmine (jõuga)&lt;br /&gt;
&lt;br /&gt;
Suuremate võimalustega - pkill&lt;br /&gt;
&lt;br /&gt;
jobs&lt;br /&gt;
+ - viimane töö, bg/fg&lt;br /&gt;
- - eelviimane (muutub viimaseks, kui praegune lõpetab)&lt;br /&gt;
&lt;br /&gt;
saab viidata ka %töönumber&lt;br /&gt;
&lt;br /&gt;
Prioriteedid -  vaikimisi 0, madalaim 19, kõrgeim -20. Alla 0 saab anda ainult root&lt;br /&gt;
&lt;br /&gt;
nice ja renice&lt;br /&gt;
&lt;br /&gt;
top - vaikimisi interaktiivne, aga saab anda ka parameetreid&lt;br /&gt;
&lt;br /&gt;
Käimajätmine peale väljalogimist - nohup käsk . Kindlam on teha screeniga!&lt;br /&gt;
&lt;br /&gt;
Screen - käima, Ctrl-a, n  järgmine aken, Ctrl-a, p eelmine aken&lt;br /&gt;
&lt;br /&gt;
Ctrl-a, &amp;quot; näitab akende listi&lt;br /&gt;
&lt;br /&gt;
Akna lahtihaakimine - Ctrl-a, d &lt;br /&gt;
list - screen -ls&lt;br /&gt;
Uuesti haakimine - screen -r PID&lt;br /&gt;
&lt;br /&gt;
Ctrl-a, x - ekraanilukk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== vi ===&lt;br /&gt;
&lt;br /&gt;
3 režiimi&lt;br /&gt;
* käsurežiim&lt;br /&gt;
* sisendrežiim&lt;br /&gt;
* ex-režiim - otsingud, aknaoperatsioonid&lt;br /&gt;
&lt;br /&gt;
Alguse staatuses Top/Bot/All - kas näidatakse algust, lõppu või kogu faili&lt;br /&gt;
&lt;br /&gt;
i - redigeerimine jooksvas positsioonis&lt;br /&gt;
I - redigeerimine jooksva rea algusest&lt;br /&gt;
a - redigeerimne jooksva positsiooni järelt (append)&lt;br /&gt;
A - rea lõpust&lt;br /&gt;
O - uus rida jooksva ette&lt;br /&gt;
&lt;br /&gt;
Tagasi käsurežiimi - Esc&lt;br /&gt;
&lt;br /&gt;
käivitades saab anda kohe reanumbri:   vi +25 minufail.txt   + tähendab tegelikult vi käsku (25 - mine sellele reale)&lt;br /&gt;
&lt;br /&gt;
Nooled:&lt;br /&gt;
h - left&lt;br /&gt;
j - down&lt;br /&gt;
k - up&lt;br /&gt;
l - right&lt;br /&gt;
&lt;br /&gt;
Ctrl-f - lk edasi&lt;br /&gt;
Ctrl-b - lk tagasi&lt;br /&gt;
Ctrl-d - pool edasi&lt;br /&gt;
Ctrl-u - pool tagasi&lt;br /&gt;
&lt;br /&gt;
G - faili lõppu või reale (15G)&lt;br /&gt;
&lt;br /&gt;
u - undo&lt;br /&gt;
:e! tühistab kõik muutused&lt;br /&gt;
&lt;br /&gt;
Salvestus: :w&lt;br /&gt;
Salvestus ja väljumine:  :wq või :x (või käsurežiimis ZZ)&lt;br /&gt;
Väljumine salvestamata: :q!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cw - sõna muutmine&lt;br /&gt;
c$ - muutmine kursorist rea lõpuni&lt;br /&gt;
r - tähe muutmine&lt;br /&gt;
R - rea muutmine kuni Esc-vajutuseni&lt;br /&gt;
&lt;br /&gt;
x - kustutus (Del)&lt;br /&gt;
X - kustutus (Bksp)&lt;br /&gt;
dw - sõna vasakult&lt;br /&gt;
dd - rida&lt;br /&gt;
D - rea lõpuni&lt;br /&gt;
dL - ekraani lõpuni&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
yy - rea kopeerimine&lt;br /&gt;
5yy - 5 rea kopeerimine (blokk)&lt;br /&gt;
yw - sõna&lt;br /&gt;
3yw - 3 sõna&lt;br /&gt;
p - kleepimine kursorist vasakule&lt;br /&gt;
P - paremale&lt;br /&gt;
&lt;br /&gt;
tavaline on nimeta puhver, lisaks on veel 26 (a-z) nimega puhvrit. Puhvri väiketäht kirjutab selle üle, suurtäht lisab sinna&lt;br /&gt;
&lt;br /&gt;
Jutumärgid, puhvri nimi, käsk - näiteks &amp;quot;ayy, &amp;quot;ap&lt;br /&gt;
&lt;br /&gt;
Otsing käsurežiimis: ?otsitav, järgmine n, eelmine N&lt;br /&gt;
&lt;br /&gt;
Asendamine nagu sed-is, ex-režiimis &lt;br /&gt;
- samalt realt: :s/bob/BOB/, kõigi puhul :s/bob/BOB/g (global)&lt;br /&gt;
- kogu failist: :%s/bob/BOB/, kõigi puhul :%s/bob/BOB/g (global)&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldiste otsimine  - /  N: /[tT][hH][eE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi sätted: /etc/vimrc ja kohalik .vimrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Tsitaat raamatust:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For some reason, LPI really wants you to know the options for setting numbers, including the shortcuts for how&lt;br /&gt;
options are set. Examples of how you could set the numbers option on and off include&lt;br /&gt;
:set number—Turns on line numbers (screen only).&lt;br /&gt;
:set nonumber—Turns the number option off.&lt;br /&gt;
:se nu—This is the shortest string that turns this option on, and putting no in front of the option turns that option off.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Väliskäsud:  :! ls -l&lt;br /&gt;
&lt;br /&gt;
Ridade ühendamine - kursor esimesele reale,  J (tõmbab järgmise samale reale)&lt;br /&gt;
&lt;br /&gt;
:split - horisontaalne&lt;br /&gt;
:vsplit - vertikaalne&lt;br /&gt;
&lt;br /&gt;
Kahe akna vahel liikumine Ctrl-w 2x või Ctrl-w ja vastav nool&lt;br /&gt;
&lt;br /&gt;
spliti lõpetamine -  :only (selles aknas, mida soovitakse jätta)&lt;br /&gt;
&lt;br /&gt;
split käsurealt -  hsplit vim -o file1 file2,  vsplit  vim -O file1 file2&lt;br /&gt;
&lt;br /&gt;
faili avamine nummerdatud ridadega: vim +set number” mytestfile.txt&lt;br /&gt;
faili avamine koos string1 esiletoomisega (highlight): vi +/string1 file&lt;br /&gt;
&lt;br /&gt;
vimdiff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettahaldus ===&lt;br /&gt;
&lt;br /&gt;
Vanasti 4 esmast jaotist, ühe sai teha laiendatuks ja sinna N loogilist.&lt;br /&gt;
Idee poolest võimalik lõputult loogilisi jaotisi, ehkki soovitus on mitte üle 12&lt;br /&gt;
&lt;br /&gt;
Buudifailid peavad olema esmasel.&lt;br /&gt;
&lt;br /&gt;
Saaleala tööjaamadel 1-2 x RAM (eriti läpakatel talveune tõttu), mõnedel serveritel ei kasutata üldse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fdisk&lt;br /&gt;
&lt;br /&gt;
MBR-ketaste jaoks. Üldkuju: fdisk /dev/sda (vmm)&lt;br /&gt;
p - jaotiseinfo&lt;br /&gt;
n - uus jaotis&lt;br /&gt;
d - kustutamine&lt;br /&gt;
t - tüübi muutmine&lt;br /&gt;
w - muudatuste salvestamine&lt;br /&gt;
	&lt;br /&gt;
uue loomisel on kõige lihtsam määrata suurus (mitte sektoripiirid jms) +väärtus; nt +500M, +1.5G&lt;br /&gt;
&lt;br /&gt;
fdisk -l - näitab kohe infot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gdisk &lt;br /&gt;
&lt;br /&gt;
uute UEFI/GUID/GPT ketaste jaoks (pole 2TB ülempiiri ega 4 jaotise piirangut - toetab kuni 128-t jaotist).&lt;br /&gt;
&lt;br /&gt;
gdisk -l /dev/sda - info&lt;br /&gt;
&lt;br /&gt;
MBR paigutatakse ketta esimesse loogilisse blokki, GPT teise!&lt;br /&gt;
&lt;br /&gt;
gdisk käitub muidu üsna sarnaselt fdiskile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
parted ja gparted  - märkus: parted ei pane paika jaotise tüüpi!&lt;br /&gt;
&lt;br /&gt;
FS tüübid:&lt;br /&gt;
- ext*&lt;br /&gt;
- udf - DVD&lt;br /&gt;
- vfat - FAT32&lt;br /&gt;
- nfs - Sun-i Network Filesystem, vaikimisi kõigil Linuxitel&lt;br /&gt;
- smb - Samba/CIFS&lt;br /&gt;
- xfs - SGI&lt;br /&gt;
- ReiserFS&lt;br /&gt;
- btrfs - uus tulija&lt;br /&gt;
&lt;br /&gt;
NB! ext2 -&amp;gt; ext3 ei vaja vormindamist!&lt;br /&gt;
&lt;br /&gt;
inode - iga faili kirje, ei sisalda aga nime (vt ls -i esimene number). Vt ka stat failinimi&lt;br /&gt;
&lt;br /&gt;
debugfs-käsk laseb faili detailide kallale&lt;br /&gt;
&lt;br /&gt;
df -i näitab inode-ide kasutust. Tuleb püüda tasakaalu poole failide suuruse ja  mahu vahel.&lt;br /&gt;
&lt;br /&gt;
FS loomine:  mkfs -t ext4 /dev/sda1   (mkfs on tänapäeval link mkfs.ext4-le)&lt;br /&gt;
&lt;br /&gt;
mke2fs - ext2&lt;br /&gt;
mkdosfs - DOS/FAT&lt;br /&gt;
&lt;br /&gt;
mkswap /dev/sda2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fsck&lt;br /&gt;
&lt;br /&gt;
ka e2fsck, dosfsck, reiserfsck&lt;br /&gt;
&lt;br /&gt;
buudi ajal võtab info /etc/fstab-ist&lt;br /&gt;
&lt;br /&gt;
Parameetrid:&lt;br /&gt;
-A - üks pikk kontroll (mitte etapiline)&lt;br /&gt;
-C - edenemisnäidik (###########)&lt;br /&gt;
-N - kuivalt (simulatsioon)&lt;br /&gt;
-V - lisainfo&lt;br /&gt;
-a - ei küsi ja parandab automaatselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tune2fs - saab muuta sätteid, näiteks vaikimisi 20 käivitust iga fsck-kontrolli kohta.&lt;br /&gt;
tune2fs –c 0 /dev/sda1 - lülitab kontrolli välja?&lt;br /&gt;
&lt;br /&gt;
tune2fs -e määrab, mida tehakse FS vea leidmisel&lt;br /&gt;
&lt;br /&gt;
tunefs -g võimaldab määrata kettal root-ile määratud osa (Kui kõik muu on täis, saab tema sisse)&lt;br /&gt;
&lt;br /&gt;
XFS utiliidid&lt;br /&gt;
&lt;br /&gt;
xfs_info&lt;br /&gt;
xfs_check&lt;br /&gt;
xfs_repair&lt;br /&gt;
&lt;br /&gt;
FS silti ja UUID-d näeb blkid-käsuga (root)&lt;br /&gt;
&lt;br /&gt;
/etc/fstab&lt;br /&gt;
/etc/mtab&lt;br /&gt;
mount&lt;br /&gt;
cat /proc/mounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab-i sisu:&lt;br /&gt;
* seade&lt;br /&gt;
* haakepunkt&lt;br /&gt;
* tüüp&lt;br /&gt;
* valikud (rw,suid,dev,exec,auto,nouser,async)&lt;br /&gt;
* dump - kas dump kaasab võ ei, enamasti 0 (ei)&lt;br /&gt;
* fsck - kontrollijärjekord &lt;br /&gt;
&lt;br /&gt;
Käsitsi haakimine: mount –t type –o option device mountpoint&lt;br /&gt;
&lt;br /&gt;
umount&lt;br /&gt;
&lt;br /&gt;
du&lt;br /&gt;
-h - inimkeelne&lt;br /&gt;
-s - summeerib&lt;br /&gt;
-x - ainult kohalikud FSid (mitte võrk jms)&lt;br /&gt;
&lt;br /&gt;
df &lt;br /&gt;
-h&lt;br /&gt;
-i - inode-id&lt;br /&gt;
-k - kB&lt;br /&gt;
-l - ainult kohalikud&lt;br /&gt;
&lt;br /&gt;
df näitab ketta statistikat, du ei näita!&lt;br /&gt;
&lt;br /&gt;
quota&lt;br /&gt;
&lt;br /&gt;
quotaon&lt;br /&gt;
quotaoff&lt;br /&gt;
quotacheck&lt;br /&gt;
edquota&lt;br /&gt;
&lt;br /&gt;
usrquota, grpquota (fstab)&lt;br /&gt;
&lt;br /&gt;
lisamiseks tuleb panna vastavale FSile fstab-is usrquota ja grpquota ja haakida FS uuesti: mount –o remount,rw /data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
edquote &lt;br /&gt;
-u kasutaja&lt;br /&gt;
-t  - &amp;quot;armuaeg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
repquota -a  - kogu süsteemi raport&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Õigused ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ugo&lt;br /&gt;
&lt;br /&gt;
chmod&lt;br /&gt;
-c - muutunud failid&lt;br /&gt;
-h - sümlink, mitte selletagune fail&lt;br /&gt;
-f - ei õienda (force)&lt;br /&gt;
-R - rekursiivne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui panna kolmest numbrist vaid üks, siis läheb see &amp;quot;others&amp;quot; alla, omanik ja grupp saavad nulli!&lt;br /&gt;
&lt;br /&gt;
SUID - lubab kasutajatel käitada programmi omaniku (enamasti root) õigustes - chmod 4xxx failinimi&lt;br /&gt;
SGID - kataloogi puhul annab õigused kõigile sinna hiljem lisatud failidele, faili puhul annab omanikugrupi õigused - chmod 2xxx fail/kataloog&lt;br /&gt;
sticky - ainult faili ja kataloogi omanikud (pluss root) saavad faile kustutada - chmod 1xxx kataloog&lt;br /&gt;
&lt;br /&gt;
Eribitid summeeruvad nagu tavalised - näiteks SUID+SGID = 6xxx. Tekstina u+s, g+s&lt;br /&gt;
&lt;br /&gt;
SUID/SGID on võimalik turvarisk&lt;br /&gt;
&lt;br /&gt;
Näide seaduslikust kasutusest: chsh võimaldab kasutajal kesta muuta, kui talle pannakse SUID (muidu ei saa /etc/passwd -faili muuta)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Otsing õiguste järgi:&lt;br /&gt;
&lt;br /&gt;
find /usr/bin -perm 777&lt;br /&gt;
find / -perm -4000&lt;br /&gt;
&lt;br /&gt;
umask&lt;br /&gt;
&lt;br /&gt;
Vaikimisi 0022 - aga eribitte ei panda kunagi vaikimisi, seega sisuliselt 022&lt;br /&gt;
Muutmine: näiteks umask 027&lt;br /&gt;
&lt;br /&gt;
chown&lt;br /&gt;
&lt;br /&gt;
ka owner: ja :group - muudavad ainult üht&lt;br /&gt;
&lt;br /&gt;
chgrp &lt;br /&gt;
&lt;br /&gt;
Mõlematel on -R parameeter&lt;br /&gt;
&lt;br /&gt;
NB! x-õigus kataloogil annab ligipääsu! r annab listingu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102943</id>
		<title>LPIC-1 - Kaku konspekt 2016 1. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102943"/>
		<updated>2016-04-26T11:43:02Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Ross Brunsoni ja Sean Wahlbergi raamat [http://www.pearsonitcertification.com/store/comptia-linux-plus-lpic-1-cert-guide-exams-lx0-103-9780789754554 CompTIA ® Linux+ / LPIC-1 Cert Guide]&lt;br /&gt;
&lt;br /&gt;
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.&lt;br /&gt;
&lt;br /&gt;
=== Riistvara ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat ---&amp;gt;&lt;br /&gt;
IO port — An address, or range of addresses, identifying the&lt;br /&gt;
device; e.g., 0080, 1000-107f.&lt;br /&gt;
&lt;br /&gt;
IRQ — Interrupt requests (IRQs) signal the processor that an&lt;br /&gt;
event has happened and that the CPU is requested to come&lt;br /&gt;
check on the resource. It a limited resource that can&lt;br /&gt;
sometimes be shared.&lt;br /&gt;
&lt;br /&gt;
DMA — Direct memory access (DMA) allows a peripheral&lt;br /&gt;
to access system memory directly rather than having the&lt;br /&gt;
CPU intervene.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
cat /proc/ioports&lt;br /&gt;
cat /proc/interrupts&lt;br /&gt;
cat /proc/dma&lt;br /&gt;
&lt;br /&gt;
Lisaks veel:&lt;br /&gt;
cat /proc/usb&lt;br /&gt;
cat /proc/pci&lt;br /&gt;
&lt;br /&gt;
Riistvara seisu vaatamiseks&lt;br /&gt;
* vaata /proc-i&lt;br /&gt;
* kasuta mõnd spetsiaalset utiliiti (lshw jt)&lt;br /&gt;
&lt;br /&gt;
/proc (procfs) - virtuaalne ehk pseudo-failisüsteem&lt;br /&gt;
&lt;br /&gt;
ls* käsud:&lt;br /&gt;
&lt;br /&gt;
Tsitaat ---&amp;gt;&lt;br /&gt;
* lsmod — Shows the kernel modules loaded, along with any dependencies for those modules. Helpful for double&lt;br /&gt;
checking that the driver is loaded for a peripheral. If the module is not present then use the modprobe command to load it, such as with modprobe bluetooth.&lt;br /&gt;
* lscpu — Provides details about your CPU, such as the number and speed of each socket and core.&lt;br /&gt;
* lspci — Shows a lot of information about your PCI bus and devices. This can identify devices on the bus that the kernel doesn’t know about and provides addressing information for configuring them.&lt;br /&gt;
* lsscsi — Shows information about the SCSI devices on your system, if the system supports SCSI. This tells you if the system can see the disk.&lt;br /&gt;
* lsdev — Shows the devices recognized by your system.&lt;br /&gt;
* lsraid — Displays the Redundant Array of Inexpensive Disks (RAID) devices on the system.&lt;br /&gt;
* lsusb — Displays the USB information and devices for your system.&lt;br /&gt;
* lsblk — Displays the block devices (disks) attached to your system.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
NB! lsdev tuleb Ubuntu 14.04 Serveril procinfo-paki paigaldamisega, lsscsi ja lsraid puuduvad üldse!&lt;br /&gt;
&lt;br /&gt;
Võidakse küsida, milline eelmistest näitab kõige põhjalikumat koondinfot IO, katkestuste ja DMA kohta - selleks on lsdev!!&lt;br /&gt;
&lt;br /&gt;
Osa seadmeinfot asub ka teise virtuaalse failisüsteemi /sys all (sysfs) - /proc all on läbisegi seadmed ja protsessid,&lt;br /&gt;
/sys sisaldab ainult seadmeid!&lt;br /&gt;
&lt;br /&gt;
udev - seadmehaldur; kasutab /sys infot ja haldab seadmeid /dev all.&lt;br /&gt;
&lt;br /&gt;
hotplug - kasutatav jooksvalt ühendatuna (mälupulk)&lt;br /&gt;
coldplug - tahab restarti&lt;br /&gt;
&lt;br /&gt;
dbus (D-Bus) - infovahetuskanal kerneli ja töölauarakenduste vahel (ka rakendused omavahel). N: meiliindikaator tööriistaribal; udev kasutab seda näiteks uue andmekandja haakimisel vastava akna avamiseks.&lt;br /&gt;
&lt;br /&gt;
Integreeritud seadmed, mis Linuxit ei toeta, tasub BIOSist välja lülitada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettad ===&lt;br /&gt;
&lt;br /&gt;
Seadmed algavad 0-st (md0 - RAID, scd0 - CD) või a-st (sda, sdb), kettajaotised 1-st (sda1)&lt;br /&gt;
&lt;br /&gt;
Failisüsteemi eri osad võivad asuda eri ketastel või ka eri võrkudes!&lt;br /&gt;
&lt;br /&gt;
Ketta jagamise akronüüm PIBS:&lt;br /&gt;
&lt;br /&gt;
* Performance - suure koormusega osad eraldi (/home, saaleala)&lt;br /&gt;
* Integrity - kriitilised osad eraldi (upload-kataloog)&lt;br /&gt;
* Backup - kiiresti muutuvad (/var) eraldi aeglastest (/usr)&lt;br /&gt;
* Security - võimalik osi isoleerida&lt;br /&gt;
&lt;br /&gt;
LVM - võimaldab luua loogilisi kettaid üle füüsiliste jaotiste ja ketaste; aitab dünaamiliselt ruumi juurde tekitada&lt;br /&gt;
&lt;br /&gt;
PV (physical volume) - tüüpiliselt ketas või jaotis&lt;br /&gt;
PE (physical extent) - PV alajaotis, mis võivad kuuluda erinevate loogiliste ketaste koosseisu&lt;br /&gt;
VG (volume group) - üks või mitu PV-d&lt;br /&gt;
LV (logical volume) - loogiline ketas, mis koosneb PV-l asuvatest PE-dest (võib kombineerida eri PV-de PE-sid)&lt;br /&gt;
SAN (Storage Are Network) - jagab kettaruumi blokkide tasemel üle võrgu&lt;br /&gt;
&lt;br /&gt;
Ruumi lisamiseks tuleb LV-sse lisada uus PV ja suurendada ruumi seal asuvate PE-de abil.&lt;br /&gt;
&lt;br /&gt;
Snapshotting - LV tõmmis mingil ajahetkel, mis ühendatakse uue kettana - algne LV jätkab tegutsemist (ja muutub)&lt;br /&gt;
&lt;br /&gt;
Levinumad jaotiseskeemid:&lt;br /&gt;
* /  - kõik ühes kohas (LVM-i kasutamine tagab aga piisava paindlikkuse)&lt;br /&gt;
* lisaks /home, /var - kasutaja failid eraldi, samuti kiiresti muutuvad andmed (sh logifailid)&lt;br /&gt;
* lisaks /usr ja /tmp - staatilised süsteemifailid eraldi (pluss võimalus haakida mujalt), /tmp eraldamine aitab turvalisust&lt;br /&gt;
* lisaks /boot -  alglaadimisprotsess ei saa midagi lolliks ajada&lt;br /&gt;
&lt;br /&gt;
swap - saaleala ehk virtuaalmälu&lt;br /&gt;
thrashing - info põrgatamine swapi ja RAMi vahel, aeglustab tööd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BIOS MBR 512 baiti &lt;br /&gt;
&lt;br /&gt;
GRUB2 paigaldus kettale - grub-install /dev/sda . Vaikimisi /boot, saab määrata ka mujale (--boot-directory=)&lt;br /&gt;
&lt;br /&gt;
grub&amp;gt; ls näitab kettaid, sealt saab edasi vaadata, N: ls (hd0, msdos1)  TAB-completion on ka olemas!&lt;br /&gt;
&lt;br /&gt;
grub-mkconfig (võib lisada -o asukoht konfifaili jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alglaadimine ja käivitustasemed ===&lt;br /&gt;
&lt;br /&gt;
Alglaadimise neli faasi:&lt;br /&gt;
1. alglaadurifaas&lt;br /&gt;
2. kernelifaas&lt;br /&gt;
3. esmane kasutajafaas&lt;br /&gt;
4. init&lt;br /&gt;
&lt;br /&gt;
Lisaks LILOle ja GRUBile&lt;br /&gt;
* SYSLINUX - kasutati FAT-andmekandjatel, USB live-süsteemides jm&lt;br /&gt;
* Loadlin - käivituseks DOSist/Windowsist (asendas käigupealt DOSi süsteemituuma Linuxiga)&lt;br /&gt;
&lt;br /&gt;
Täiendavad parameetrid:&lt;br /&gt;
* vga - graafikarežiimi etteandmine, võib olla 10- 8- või 16-süsteem, samuti normal, ext või ask&lt;br /&gt;
* apm - automaatne voooluhaldus. apm=off või noapm võib parandada ühilduvust&lt;br /&gt;
* init - käivitab initi esimese protsessina&lt;br /&gt;
* panic=number - eemalasuva süsteemi puhul teeb lolliksmineku järel N sekundi järel restardi ja proovib uuesti&lt;br /&gt;
* single, 1 - ainult root&lt;br /&gt;
* 2,3,4,5 - tavalised käivitustasemed&lt;br /&gt;
* ro või rw - juurfailisüsteemi haakimine kas ainult lugemiseks või mõlemat pidi&lt;br /&gt;
* mem=xxxM - piirab mälu kasutust xxx MB-ga. Kasuks katkise mälukivi jälitamisel.&lt;br /&gt;
&lt;br /&gt;
Käivitus:&lt;br /&gt;
1. Vool sisse&lt;br /&gt;
2. BIOS käivitub ja otsib laadesektori&lt;br /&gt;
3. BIOS laeb vastavalt käivitusjärjekorrale laadesektori&lt;br /&gt;
4. MBR&lt;br /&gt;
5. alglaadur&lt;br /&gt;
6. kasutaja valib või tuleb vaikimisi valik&lt;br /&gt;
7. Loeb kerneli, kernel käivitub, käivitab seadmed, laeb vajalikud moodulid, otsib initrd, laeb selle ja haagib juurfailisüsteemi&lt;br /&gt;
8. /sbin/init - PID 1&lt;br /&gt;
9. /etc/inittab ja init-skriptid (Debianil /etc/init.d/rcS ja RH-l /etc/rc.d/init.d/rc.sysinit).&lt;br /&gt;
10. juursüsteemi kontroll, vajalikud moodulid, kohalike FS-ide haakimine, võrguliideste käivitus&lt;br /&gt;
11. vaikimisi käivitustase (vastava taseme skriptide abil)&lt;br /&gt;
12. login&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SystemD ===&lt;br /&gt;
&lt;br /&gt;
Sys V initi asemele loodud süsteem, osaliselt käsuühilduv&lt;br /&gt;
&lt;br /&gt;
Peaks olema efektiivsem ja paralleelsem, vähem sõltuvusi, peaks võimaldama rohkem prioriteete - eeldatavasti annab kiirema algkäivituse.&lt;br /&gt;
&lt;br /&gt;
käivitub sümlingist /sbin/init. Kokku üle 60 jupi, tähtsamad on&lt;br /&gt;
* systemd - süsteemi- ja teenustehaldur&lt;br /&gt;
* systemctl - olekuhaldur&lt;br /&gt;
* systemd-analyze - annab statistikat&lt;br /&gt;
* journald - vaikimisi logimissüsteem, võimalik asendada tavalisematega (rsyslog, syslog-ng)&lt;br /&gt;
* consoled - konsoolideemon, peaks asendama virtuaalterminalide süsteemi&lt;br /&gt;
* networkd - võrgudeemon&lt;br /&gt;
* logind - sisselogimisdeemon, toetab ka X-i logimishaldureid&lt;br /&gt;
&lt;br /&gt;
Veel omadusi:&lt;br /&gt;
* kogu logimine journali kaudu&lt;br /&gt;
* teenused ei sõltu käivitustasemetest&lt;br /&gt;
* komponendigrupid (Cgroup) - peaks asendama käivitustasemeid&lt;br /&gt;
* täpsem prioriteedihaldus - varem ainult nice/renice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
init-skriptide asemel üksused (unit). Asukohad kasvava prioriteediga:&lt;br /&gt;
* /usr/lib/systemd/system  - distroga kaasatulnud üksused&lt;br /&gt;
* /run/systemd/system - jooksvalt (töö ajal) loodud üksused&lt;br /&gt;
* /etc/systemd/system - admini poolt hallatavad, kõrgeim prioriteet&lt;br /&gt;
&lt;br /&gt;
Põhitüübid (laiendiks on sama nimi - näiteks .socket):&lt;br /&gt;
* service - süsteemiteenus&lt;br /&gt;
* socket - protsessidevahelise kommunikatsiooni element&lt;br /&gt;
* target - üksuste grupp&lt;br /&gt;
* mount - haakepunkt&lt;br /&gt;
* automount - automaatne haakepunkt&lt;br /&gt;
* device - kerneli kasutatav seadmefail&lt;br /&gt;
* scope - väljast loodud protsess&lt;br /&gt;
* timer - taimer&lt;br /&gt;
* path - failisüsteemi fail või kataloog&lt;br /&gt;
* slice - hierarhiline üksustegrupp&lt;br /&gt;
* snapshot - systemd halduri olekutõmmis&lt;br /&gt;
* swap - saaleala või -fail&lt;br /&gt;
&lt;br /&gt;
SysV käivitustasemete asemel on märgid (target), sisuliselt vastavad käivitustasemetele (NB! Systemd on RedHati leiutis, seega sama süsteem):&lt;br /&gt;
*  	0		poweroff.target			masin seisma&lt;br /&gt;
* 	1		rescue.target			ühekasutaja paranduskeskkond&lt;br /&gt;
*	2		multi-user.target		tekstirežiim ilma võrguta&lt;br /&gt;
*	3		multi-user.target		tekstirežiim võrguga&lt;br /&gt;
*	4		multi-user.target		nagu 3&lt;br /&gt;
*	5		graphical.target		graafiline režiim, võrk&lt;br /&gt;
*	6		reboot.target			restart&lt;br /&gt;
&lt;br /&gt;
Märkide nimedel on ühilduvuse jaoks aliased runlevel0.target ... runlevel6.target&lt;br /&gt;
&lt;br /&gt;
Sõltuvuste ja järjekorra haldus - wants ja requires&lt;br /&gt;
&lt;br /&gt;
Näiteks graphical.target-is:&lt;br /&gt;
Requires=multi-user.target&lt;br /&gt;
After=multi-user.target&lt;br /&gt;
Wants=display-manager.service&lt;br /&gt;
&lt;br /&gt;
Algkäivitus üldiselt sama, aga GRUB käivitab /sbin/init kaudu systemd . default.target on sümlink multi-user.target-ile, see omakorda&lt;br /&gt;
käivitab graphical.target-i.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 ja Mint 18 kasutavad esimeste LTS-idena vaikimisi systemd-d.&lt;br /&gt;
&lt;br /&gt;
Upstart - vahepeal pakutud alternatiivne süsteem - praegu kipub jääma teiste varju (kas jäädi SysV juurde või mindi systemd-le).&lt;br /&gt;
ChromeOS kasutab seda. Asünkroonsus, lihtsus, tagasiühilduvus, laiendatavus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Käivitustasemete haldus ====&lt;br /&gt;
&lt;br /&gt;
Buutimine single-userisse:  GRUBist 1, s või S!&lt;br /&gt;
&lt;br /&gt;
runlevel -käsk annab Debiani perekonnal reeglina vastuse  N 2 -  graafiline keskkond, eelmine tase puudub &lt;br /&gt;
Turvamoment - kui näitab 1 2, siis tuleb veenduda, et eelnev single-user oli ikka seaduslik...&lt;br /&gt;
teine variant on who -r&lt;br /&gt;
&lt;br /&gt;
SystemD puhul systemctl get-default (annab tüüpiliselt multi-user.target). Jooksva taseme näitab systemctl list-units --type=target&lt;br /&gt;
&lt;br /&gt;
Vaikimisi käivitustase:&lt;br /&gt;
* SysV - /etc/inittab-i rida id:X:initdefault: , kus X on käivitustaseme number&lt;br /&gt;
* SystemD - muuta ära soovita sümlink: ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target&lt;br /&gt;
&lt;br /&gt;
Taseme vahetus:&lt;br /&gt;
* SysV - init number (või telinit, mis on ajalooliselt jäänud sümlink)&lt;br /&gt;
* SystemD - systemctl isolate graphical.target  (või runlevel5.target)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masina sulgemine:&lt;br /&gt;
&lt;br /&gt;
SysV süsteemides halt -p või shutdown:&lt;br /&gt;
-H - peatamine&lt;br /&gt;
-h - peatamine JA/VÕI sulgemine&lt;br /&gt;
-P - sulgemine&lt;br /&gt;
-r - restart&lt;br /&gt;
-k - annab teate ja peatab sisselogimised&lt;br /&gt;
-c - viivitusega sulgemise tühistus&lt;br /&gt;
now - kohe&lt;br /&gt;
+10 - 10 minuti pärast&lt;br /&gt;
12:02 kellaaeg&lt;br /&gt;
N: shutdown -r +15 &amp;quot;Veerand tunni pärast restart!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SystemD puhul - systemctl halt, poweroff või reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protsessitapmine  - kill ja killall&lt;br /&gt;
&lt;br /&gt;
-9 SIGKILL - kohene tapmine&lt;br /&gt;
-15 SIGTERM - viisakas palve lõpetada  (vaikimisi variant)&lt;br /&gt;
-1 SIGHUP - hangunud protsessi taaskäivitus (konfi uuestilaadimine). ka kill -HUP PID&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Alternatiivsüntaks:  kill -s SIGHUP|SIGKILL|SIGTERM&lt;br /&gt;
&lt;br /&gt;
SystemD puhul saab tappa grupimärgise (group tag) järgi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivituse logimine&lt;br /&gt;
&lt;br /&gt;
SysV:  dmesg-käsk pluss /var/log/messages või /var/log/syslog&lt;br /&gt;
&lt;br /&gt;
SystemD: journalctl --list-boots , sealt valida hirmpikk buudikorra ID ja siis journalctl -boot=akansgargnaghragegegaegte&lt;br /&gt;
käimasolev käivitus on 0, eelmine -1 jne, kuni -34&lt;br /&gt;
&lt;br /&gt;
käimasoleva käivituse teated saab kohe journalctl -b abil!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pakihaldus ===&lt;br /&gt;
&lt;br /&gt;
Debiani sõltuvuste eiramine: --force-depends&lt;br /&gt;
RPM-i pikas nimes ei ole kirjas arhitektuuri!&lt;br /&gt;
RPM-i kohalikke pakkide signatuurikontroll: rpm -K *&lt;br /&gt;
&lt;br /&gt;
FHS - Filesystem Hierarchy Standard&lt;br /&gt;
&lt;br /&gt;
Staatiline linkimine - teek kopeeritakse programmi - suur programm, raske uuendada (teek tuleb uuendada kõigis programmides), aga sõltuvusi pole&lt;br /&gt;
Dünaamiline linkimine - programmi paigutatakse viited teekidele - väike programm, lihtne uuendada, aga sõltuvused võivad probleeme tekitada&lt;br /&gt;
&lt;br /&gt;
.so. -failid on jagatud teegid (shared object)!&lt;br /&gt;
Dünaamiline linkur on ld.so (vahel ld-linux.so), konf on /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
teegid: /lib ja /usr/lib64 (või lib 32 puhul)&lt;br /&gt;
&lt;br /&gt;
järjest linkimine sümlinkidega - vastavalt kes millist teegi versiooni vajab (tegelikult on lõpus üks ja sama teek)&lt;br /&gt;
&lt;br /&gt;
teekidest sõltumist näitab ldd - ldd passwd&lt;br /&gt;
&lt;br /&gt;
ldconfig korrastab viited teekidele (käib läbi /lib-i, /usr/lib/64 ja muud /etc/ld.so.conf-is määratud kohad). Järjestatud nimekiri läheb /etc/ld.so.cache-isse&lt;br /&gt;
&lt;br /&gt;
süsteemimutuja LD_LIBRARY_PATH teekide leidmiseks - määrata saab: export LD_LIBRARY_PATH=/bla/bla/bla (võib panna /etc/profile või ~/.bash_profile -faili). Turvarisk!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debiani pakid ====&lt;br /&gt;
&lt;br /&gt;
dpkg, apt-*, synaptic, aptitude&lt;br /&gt;
&lt;br /&gt;
pakiinfo - dpkg --info pakinimi&lt;br /&gt;
&lt;br /&gt;
Pakis on juhtinfo arhiiv, milles on&lt;br /&gt;
* conffiles - häälestus peale installi&lt;br /&gt;
* control - metaandmed sõltuvuste kohta&lt;br /&gt;
* md5sums - kontrollsummad&lt;br /&gt;
* postinst - skript, mis käivitub peale installi&lt;br /&gt;
* prerm - skript, mis käivitub enne eemaldamist&lt;br /&gt;
* postrm - skript, mis käivitub peale eemaldamist&lt;br /&gt;
&lt;br /&gt;
Lisaks juhtinfole on pakis info nime, haldaja, arhitektuuri ja sõltuvuste kohta.&lt;br /&gt;
&lt;br /&gt;
Paigaldus - dpkg -i  või --install&lt;br /&gt;
&lt;br /&gt;
Eemaldamine - dpkg -r või --remove, või koos konfiga -P ehk --purge&lt;br /&gt;
&lt;br /&gt;
--force (ohtlik!), --force-reinstreq sunnib reinstalli, --force-conflicts eirab konflikte, --force-depends eirab sõltuvusi, &lt;br /&gt;
--force-remove-essential eemaldab jõuga&lt;br /&gt;
&lt;br /&gt;
Nimekiri - dpkg -l või --list  (toetab metamärke)&lt;br /&gt;
&lt;br /&gt;
Paigaldatud failide nimekiri - dpkg -L või --listfiles&lt;br /&gt;
&lt;br /&gt;
Lühem variant --info-st on --status&lt;br /&gt;
&lt;br /&gt;
Failiotsing pakihalduri kaudu:  dpkg -S või --search &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Algne konf uuesti: dpkg-reconfigure&lt;br /&gt;
&lt;br /&gt;
apt-get - failide paigaldus eemalt (dpkg on kohalik).  /etc/sources.list ja /etc/sources.list.d/ (iga varamu jaoks eraldi fail)&lt;br /&gt;
&lt;br /&gt;
Konfirea näide:  deb http://cdn.debian.net/debian/ wheezy main&lt;br /&gt;
&lt;br /&gt;
Apti puhvri värskendus: apt-get update&lt;br /&gt;
&lt;br /&gt;
Puhvrioperatsioonid: apt-cache&lt;br /&gt;
 - search otsitav&lt;br /&gt;
 - show pakinimi - info paki kohta&lt;br /&gt;
 - showpkg pakinimi - täpsem tehniline info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! apt-get install uuendab olemasoleva paki! Kui tahta ainult uuendamist (lisada ei tohi), siis --only-upgrade&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  apt-get upgrade   (turvauuendused, veaparandused ja täiendused) või apt-get dist-upgrade (karmim uuendus, võib ka eemaldada)&lt;br /&gt;
&lt;br /&gt;
Eemaldamine: apt-get remove või purge (viimane teeb koos konfiga)&lt;br /&gt;
&lt;br /&gt;
==== Red Hati pakid ===&lt;br /&gt;
&lt;br /&gt;
RPM võib tähendada nii pakivormingut, käsku kui andmebaasi!&lt;br /&gt;
&lt;br /&gt;
RPM andmebaas kasutab BerkeleyDB vormingut ja asub kataloogis /var/lib/rpm . Kasutajad saavad teha päringuid, muuta saab vaid root&lt;br /&gt;
&lt;br /&gt;
Segiläinud andmebaasi taastamine: rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
ainult üks kasutaja korraga, teised saavad &amp;quot;transaction lock&amp;quot;-teate&lt;br /&gt;
&lt;br /&gt;
RPM pakk sisaldab&lt;br /&gt;
* pakitud binaarrakendust&lt;br /&gt;
* nime ja versiooni&lt;br /&gt;
* loomise aega ja kohta (host)&lt;br /&gt;
* lühikirjeldust&lt;br /&gt;
* kontrollsummasid ja sõltuvusteinfot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisaks on olemas ka lähtekoodi-RPM-id&lt;br /&gt;
&lt;br /&gt;
Pakil on lühike nimi (sisuliselt nimi ise) ja pikk nimi (nimi-versioon-väljalase.distro)&lt;br /&gt;
&lt;br /&gt;
Näiteks rpm -q kernel näitab kõigi paigaldatud kernelipakkide infot, täpsustamiseks tuleb anda pikk nimi&lt;br /&gt;
&lt;br /&gt;
Ehtsuse tagamiseks kasutatakse MD5 kontrollsummat ja PGP või GPG signatuuri.&lt;br /&gt;
&lt;br /&gt;
kontroll: rpm -K pakinimi või rpm --checksig pakinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
install: rpm -ivh (install, teavitused, progressinäidik)&lt;br /&gt;
&lt;br /&gt;
failikonfliktide eiramine:  --replacefiles või --force&lt;br /&gt;
&lt;br /&gt;
pakisõltuvuste eiramine: --nodeps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
paki failide kontroll:  rpm -V (--verify)&lt;br /&gt;
&lt;br /&gt;
Tulemus näidatakse 9-kohalise koodina:&lt;br /&gt;
*  S muutunud maht&lt;br /&gt;
* M muutunud mood&lt;br /&gt;
* 5 muutunud MD5&lt;br /&gt;
* D seadmenumber ei klapi&lt;br /&gt;
* L probleem kataloogiteega&lt;br /&gt;
* U muutunud kasutaja&lt;br /&gt;
* G muutunud grupp&lt;br /&gt;
* T muutunud ajatempel&lt;br /&gt;
* P muutunud failiomadused&lt;br /&gt;
&lt;br /&gt;
Kõigi failide kontroll: rpm -Va  (või ka ainult konfifailid: -Vac)&lt;br /&gt;
&lt;br /&gt;
Värskendus (freshen) vs uuendus (upgrade) &lt;br /&gt;
&lt;br /&gt;
rpm -U uuendab - installib uued versioonid ja kõik nende jaoks vajaliku, samuti nime järgi ka uued failid&lt;br /&gt;
rpm -F värskendab - ei installi uusi pakke&lt;br /&gt;
&lt;br /&gt;
Eemaldamine - rpm -e või --erase (kui on mitu versiooni, siis lisada --allmatches !!!)&lt;br /&gt;
&lt;br /&gt;
päring - rpm -q , pikema infoga -qi&lt;br /&gt;
&lt;br /&gt;
faililisting - rpm -ql&lt;br /&gt;
&lt;br /&gt;
info paigaldamata paki kohta - qilp    (lisaks --changelog ???)&lt;br /&gt;
&lt;br /&gt;
Paki sõltuvused - -R (--requires)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
YUM - kui ei taha kinnitust, siis -y  (yum -y install blabla)&lt;br /&gt;
&lt;br /&gt;
allalaadimine ilma paigalduseta: panna y/n valikus d, kasutada yumdownloader-it või yum install --downloadonly&lt;br /&gt;
&lt;br /&gt;
yumdownloader:&lt;br /&gt;
* --source - SRPM&lt;br /&gt;
* --urls - kuvab URLid&lt;br /&gt;
* --resolve - kaasab sõltuvused&lt;br /&gt;
* --destdir - kataloog&lt;br /&gt;
&lt;br /&gt;
update, check-update (nii faili kui kogu süsteemi jaoks)&lt;br /&gt;
&lt;br /&gt;
yum list nimi - otsing nime järgi&lt;br /&gt;
&lt;br /&gt;
saab otsida ka üldist mõistet - yum search &amp;quot;web server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Konf: /etc/yum.conf, varamud /etc/yum.repos.d/&lt;br /&gt;
&lt;br /&gt;
Varamu konfi näide:&lt;br /&gt;
&lt;br /&gt;
[updates]&lt;br /&gt;
name=Fedora $releasever - $basearch - Updates&lt;br /&gt;
failovermethod=priority&lt;br /&gt;
#baseurl=http://download.fedoraproject.org/pub/fedora&lt;br /&gt;
updates/$releasever/$basearch/&lt;br /&gt;
metalink=https://mirrors.fedoraproject.org/metalink?&lt;br /&gt;
repo=updates-&lt;br /&gt;
released-f$releasever&amp;amp;arch=$basearch&lt;br /&gt;
enabled=1&lt;br /&gt;
metadata_expire=6h&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-&lt;br /&gt;
$releasever-$basearch&lt;br /&gt;
skip_if_unavailable=False&lt;br /&gt;
&lt;br /&gt;
yum --enablerepo varamunimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Käsurida ===&lt;br /&gt;
&lt;br /&gt;
Erinevad käsukestad - kasutaja käsukesta näeb mh /etc/passwd vastavalt realt&lt;br /&gt;
&lt;br /&gt;
Sisselogimise keelamiseks panna kestaks /bin/false (või üldiseks keelamiseks luua fail /etc/nologin)&lt;br /&gt;
&lt;br /&gt;
Käsukesta eri operatsioonid - täitmine (execute) vs pöördumine (sourcing)&lt;br /&gt;
&lt;br /&gt;
Täitmine (programmid) ./skript või sh skript&lt;br /&gt;
Pöördumine (profiilifailid; sisuliselt sisselugemine)  . skript või source skript&lt;br /&gt;
&lt;br /&gt;
Profiilifailid:&lt;br /&gt;
* /etc/profile - globaalne konf, loetakse kesta avamisel esimesena&lt;br /&gt;
* ~/.bash_profile - kasutaja sätted; see omakorda kutsub välja ~/.bashrc&lt;br /&gt;
NB! kui ~/.bash_profile puudub, otsitakse ~/.bash_login, kui ka seda pole, siis .profile&lt;br /&gt;
* ~/.bash_logout - peamine funktsioon on ekraani tühjendamine (clear) välja logides&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseta sessioonid (admini su-käsk) loevad ainult .bashrc, Red Hat loeb enne ka globaalse /etc/bashrc&lt;br /&gt;
&lt;br /&gt;
väliskäsud&lt;br /&gt;
sisekäsud&lt;br /&gt;
käivitatavad skriptid&lt;br /&gt;
aliased&lt;br /&gt;
funktsioonid&lt;br /&gt;
&lt;br /&gt;
Reapoolitus -  \&lt;br /&gt;
&lt;br /&gt;
Erisümbolid:&lt;br /&gt;
~ - jooksva kasutaja kodukataloog&lt;br /&gt;
\ - eirab järgmist sümbolit&lt;br /&gt;
/ - kataloogieraldaja&lt;br /&gt;
$ - muutuja&lt;br /&gt;
? - üks sümbol&lt;br /&gt;
&#039; - absoluuttsitaat&lt;br /&gt;
` - asendus&lt;br /&gt;
&amp;quot; - pehme tsitaat&lt;br /&gt;
* - 0-N sümbolit&lt;br /&gt;
&amp;amp; - taustaprotsess&lt;br /&gt;
&amp;amp;&amp;amp; - käsueraldaja - kui esimene käsk õnnestub, täida teine&lt;br /&gt;
|  - toru&lt;br /&gt;
|| - käsueraldaja - kui esimene käsk ei õnnestu, täida teine&lt;br /&gt;
; - käsueraldaja&lt;br /&gt;
[] - vahemik&lt;br /&gt;
&amp;gt; - suunamine&lt;br /&gt;
&amp;lt; - suunamine&lt;br /&gt;
&lt;br /&gt;
Eelmise käsu väljundstaatuse kuvamine - echo $?&lt;br /&gt;
&lt;br /&gt;
env - keskkonnamuutujad&lt;br /&gt;
set (või shopt) - kesta muutujad ja seaded&lt;br /&gt;
&lt;br /&gt;
kataloogitee eraldajateks on koolonid&lt;br /&gt;
$HOME loetakse /etc/passwd-ist&lt;br /&gt;
koju viib cd, cd ~ või cd $HOME&lt;br /&gt;
&lt;br /&gt;
Ettevaatust ~kasutaja vs ~/kasutaja -ga!  root logini puhul viib ~kasutaja tema kataloogi, ~/kasutaja aga kataloogi /root/kasutaja!&lt;br /&gt;
&lt;br /&gt;
Ajalugu - $HISTFILE, enamasti viitab ~/.bash_history peale&lt;br /&gt;
&lt;br /&gt;
Veel:  $HISTCMD näitab käsu järjenumbrit ajaloos, $HISTCONTROL väärtus &#039;ignoredups&#039; eirab korduvaid käske, &#039;ignorespaces&#039; eirab tühikuga algavaid ridu. $HISTFILESIZE näitab ajaloo pikkust (vaikimisi 500 käsku).&lt;br /&gt;
&lt;br /&gt;
set -o valik - valiku SISSElülitamine&lt;br /&gt;
set +o valik - valiku VÄLJAlülitamine (unset)&lt;br /&gt;
&lt;br /&gt;
Alates bash 2.0-st on shopt-käsk, mis on set-i ülemhulk&lt;br /&gt;
&lt;br /&gt;
Valikud:&lt;br /&gt;
* emacs või vi&lt;br /&gt;
* history (vaikimisi sees)&lt;br /&gt;
* hashall (vaikimisi hashib, et saaks korrata)&lt;br /&gt;
* monitor - taustaprotsessid eraldi gruppi&lt;br /&gt;
* noclobber - vaikimisi väljas, keelab &amp;gt; suunamisega faili ülekirjutamise&lt;br /&gt;
* noexec - skripti kuivkäivitus&lt;br /&gt;
* notify - teatab kohe lõppenud töödest&lt;br /&gt;
* verbose - kogu väljund ekraanile&lt;br /&gt;
&lt;br /&gt;
Tab Tab- käsu lõpu pakkumine!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Failisüsteem ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failinimedes võib olla sisuliselt iga sümbol, ka &amp;amp; või \ (mõnel juhul tuleb olla ettevaatlik)&lt;br /&gt;
&lt;br /&gt;
NB! /root ja /home ei ole mõnede serverite puhul kohustuslikud (ei logita sisse)!&lt;br /&gt;
&lt;br /&gt;
/opt vs /usr/local - /opt on vaid kohalikuks kasutamiseks, jagatud kohalik kraam käib /usr/local-isse&lt;br /&gt;
&lt;br /&gt;
usr (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
bin - Contains user commands&lt;br /&gt;
include - Contains header files for C programs&lt;br /&gt;
lib - Contains libraries&lt;br /&gt;
local - Contains local/sharable programs&lt;br /&gt;
sbin - Contains nonessential system binaries&lt;br /&gt;
share - Contains data/programs for multiple architecture&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
rm -f * ei kustuta peidetud (punktiga) faile&lt;br /&gt;
&lt;br /&gt;
ls (tsitaat)&lt;br /&gt;
&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
ls /home/user - Shows a plain listing of that directory.&lt;br /&gt;
ls –a  - Lists all files, including hidden . files.&lt;br /&gt;
ls –d foo - Lists just the directory called foo, not the contents.&lt;br /&gt;
ls –i - Lists the inode number for the targetfile or directory.&lt;br /&gt;
Inodes are the way Linux represents a file on disk and are&lt;br /&gt;
discussed later in the section “Copying Files and Directories.”&lt;br /&gt;
ls –l - Shows permissions; links; and date, group, and&lt;br /&gt;
owner information. Permissions dictate who can access the&lt;br /&gt;
file and are discussed in detail in Chapter 10, “Permissions.”&lt;br /&gt;
ls –lh - Shows human-readable output of file sizes, in KB,&lt;br /&gt;
MB, and GB, along with file details.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
file failinimi - info faili kohta&lt;br /&gt;
&lt;br /&gt;
file /etc/* | grep empty  - leiab tühjad failid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch - loob tühja faili või muudab olemasoleva ajatemplit&lt;br /&gt;
-t ajatempel  N: touch -t 201603291200 eksam.txt&lt;br /&gt;
-r fail1 fail2  fail1 ajatempel kopeeritakse fail2-le&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cp - mõned erivõtmed:&lt;br /&gt;
-d - ei järgi sümlinke, vaid kopeerib need&lt;br /&gt;
-l - kõva link allikfailile&lt;br /&gt;
-r ja -R - rekursiivne&lt;br /&gt;
-s - sümlink allikfailile&lt;br /&gt;
-u - uuendab koopiat vaid siis, kui seda ei ole olemas või see on vanem (ajakontroll)&lt;br /&gt;
-x - eirab haagitud failisüsteeme&lt;br /&gt;
&lt;br /&gt;
dd - kettakoopia   - dd if=  of= &lt;br /&gt;
&lt;br /&gt;
MBR varundamine dd abil: dd if=/dev/sda of=/root/MBR.img count=1 bs=512 (üks kord, et mitte tsüklisse minna; blokisuurus 512 baiti)&lt;br /&gt;
taastamine: dd if=/root/MBR.img of=/dev/sda count=1 bs=512&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mkdir - ahelloomine: mkdir –p /dir1/dir2/dir3/dir4&lt;br /&gt;
&lt;br /&gt;
rmdir suudab samamoodi kustutada (kui on tühjad): rmdir –p /dir1/dir2/dir3/dir4&lt;br /&gt;
&lt;br /&gt;
tegelikult saab kustutada ka koos failidega: --ignore-fail-on-non-empty&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Otsing ===&lt;br /&gt;
&lt;br /&gt;
locate - andmebaasiotsing; baasiuuendus updatedb, konf /etc/updatedb.conf&lt;br /&gt;
-i - tõstutundetu&lt;br /&gt;
locate otsib otsingustringi täis-kataloogiteest ja tagastab ka osalised väärtused (N. locate kaka  - /home/kakaduu/blabla)&lt;br /&gt;
&lt;br /&gt;
find - otsib päris failisüsteemist. Üldkuju:&lt;br /&gt;
&lt;br /&gt;
find tee -valikud argumendid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Valikud (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
group - Based on files belonging to the specified group&lt;br /&gt;
newer - Based on files more recent than the specified file&lt;br /&gt;
name - Based on files with names matching a case- sensitive string&lt;br /&gt;
iname - Based on files with names matching a non-case-sensitive string&lt;br /&gt;
user - Searches for files belonging to the specified user&lt;br /&gt;
mtime - The modify time; used for finding files x days old&lt;br /&gt;
atime - Based on the number of days since last accessed&lt;br /&gt;
ctime - Based on the number of days since the directory entry was last changed&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Saab kombineerida skriptiks:  find /home –iname *.mp3 –exec cp –f {} .\;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which - näitab programmi täit kataloogiteed&lt;br /&gt;
&lt;br /&gt;
which -a nimi näitab kõiki, kui on mitu (muidu ainult esimesena leitu)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
whereis - sarnaneb which-iga, aga rohkem infot&lt;br /&gt;
&lt;br /&gt;
-b—Searches for binaries&lt;br /&gt;
-m—Searches for manual entries&lt;br /&gt;
-s—Searches for sources&lt;br /&gt;
-u—Finds unusual or improperly documented entries&lt;br /&gt;
&lt;br /&gt;
type käsk - näitab, kas on sisekäsk, alias vmm&lt;br /&gt;
&lt;br /&gt;
type -a käsk - kõik variandid (nagu which)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lingid&lt;br /&gt;
&lt;br /&gt;
Sümlingi õiguste muutmise asemel muudetakse sihtfaili õigusi!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Varundamine&lt;br /&gt;
&lt;br /&gt;
tar - palju faile kokku&lt;br /&gt;
&lt;br /&gt;
tar -t - listing&lt;br /&gt;
&lt;br /&gt;
cpio - sarnaneb tar-iga, ei paki kokku. Kasutavad näiteks initramfs ja RPM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-o (out) või --create - loob arhiivi&lt;br /&gt;
-i (in) või --extract - avab&lt;br /&gt;
-p või --pass-through - sisuliselt cp -r ehk kopeerimine ühest kohast teise&lt;br /&gt;
&lt;br /&gt;
gzip ja bzip2, lisaks on veel xz (efektiivne, aga mäluõgard):&lt;br /&gt;
kokku: xz, xz -z või xz --compress &lt;br /&gt;
lahti: unxz, xz -d, xz --uncompress või xz --decompress&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teksti S/V ===&lt;br /&gt;
&lt;br /&gt;
stdin, stdout, stderr - vastavalt kirjeldaja numbbrid 0,1,2 ja seonduvad failid /proc/self/fd0, fd1 ja fd2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;, &amp;gt;, &amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalus &amp;quot;saata vead jalust ära&amp;quot;   -  find blabla  2&amp;gt; /dev/null  | more   või ka  find blabla &amp;gt; andmed.txt 2&amp;gt; vead.txt&lt;br /&gt;
&lt;br /&gt;
Kogu väljundi nullimine: find / -iname *.txt &amp;gt; /dev/null 2&amp;gt;&amp;amp;1  (stout nulli ja stderr stdout-i)&lt;br /&gt;
&lt;br /&gt;
less toetab enamikku vi navigeerimiskäskudest&lt;br /&gt;
&lt;br /&gt;
suunamine vs toru - suunamine kasutab faile, toru kasutab programme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Järjestikkäsud ====&lt;br /&gt;
&lt;br /&gt;
käsk1; käsk2; käsk3  - kolm teineteisest sõltumatut käsku&lt;br /&gt;
käsk1 &amp;amp;&amp;amp; käsk2  - käsk2 täidetakse, kui käsk1 lõpetas edukalt&lt;br /&gt;
käsk1 || käsk2 - käsk2 täidetakse, kui käsk1 ei õnnestunud (varuvariant või veateade)&lt;br /&gt;
&lt;br /&gt;
käsuasendaja - backtick ´     export MUUT=`date`&lt;br /&gt;
&lt;br /&gt;
tee - võimaldab jagada stdin-i voo kaheks - ühte töödeldakse, teine saadetakse edasi (või saadetakse korraga nii faili kui ekraanile - või töödeldakse infot paralleelselt alginfo logimisega)&lt;br /&gt;
&lt;br /&gt;
N: find / -iname *.txt | tee findit.out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
xargs - käsu argumentide võtmine eestpoolt&lt;br /&gt;
&lt;br /&gt;
NÄIDE NETIST: leiab .c -laiendiga failid ja kustutab need ära&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
one.c  one.h  two.c  two.h&lt;br /&gt;
&lt;br /&gt;
$ find . -name &amp;quot;*.c&amp;quot; | xargs rm -rf&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
one.h  two.h&lt;br /&gt;
&lt;br /&gt;
sort - võtab stdin-ist või failist ja väljastab stdout-i või faili&lt;br /&gt;
-k number - mitmenda sõna/elemendi järgi (vaikimisi on esimene)&lt;br /&gt;
-n - arvuline (tavaline sorteerib tekstina - 1,11,12,2,21...)&lt;br /&gt;
&lt;br /&gt;
nl - nummerdab read&lt;br /&gt;
&lt;br /&gt;
wc - sõnaloendur&lt;br /&gt;
-l - loeb ridu&lt;br /&gt;
-w - loeb sõnu&lt;br /&gt;
-c - loeb tähemärke (baite)&lt;br /&gt;
&lt;br /&gt;
expand - asendab tabulaatorid n tühikuga (vaikimisi 8)&lt;br /&gt;
-i - ainult rea alguses (enne esimest mittetühikut)&lt;br /&gt;
-t arv - tühikute arvu määramine&lt;br /&gt;
&lt;br /&gt;
cut - vertikaallõige failist (veergude järgi)&lt;br /&gt;
&lt;br /&gt;
cut -c 5-10 failinimi  - kõigi ridade 5.-10. tähemärgid&lt;br /&gt;
&lt;br /&gt;
paste - näitab faile kõrvuti veergudes&lt;br /&gt;
&lt;br /&gt;
join - liidab failid ridupidi, kui ridade alguse võtmeveerud on samad&lt;br /&gt;
&lt;br /&gt;
uniq - eirab korduvaid elemente (soovitav on enne sortida!)&lt;br /&gt;
-d - kuvab ainult read, mis on korduvad (ühekordselt)&lt;br /&gt;
-D - kuvab ainult read, mis on korduvalt (kõik esinemised)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
head  (-n number)  ja tail (-n number)&lt;br /&gt;
&lt;br /&gt;
eriti aga tail -f /var/log/messages   (-f on --follow - jälgib jooksvalt ka muudatusi!)&lt;br /&gt;
&lt;br /&gt;
split - suure faili jupitamine (vaikimisi nimed xaa, xab, xac, xad...)&lt;br /&gt;
-b suurus&lt;br /&gt;
-l ridade arv (vaikimisi 1000!!)&lt;br /&gt;
&lt;br /&gt;
N:  split -b 650M kali-linux-1.0.6-amd64.iso &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cat, tac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
od - octal dump, suudab aga kuvada ka muid süsteeme:&lt;br /&gt;
-a - nimi&lt;br /&gt;
-o - kaheksandarv&lt;br /&gt;
-d - kümnendarv&lt;br /&gt;
-x - kuueteistkümnendarv&lt;br /&gt;
-f - ujukomaarv&lt;br /&gt;
&lt;br /&gt;
Võidakse küsida binaarfailide vaatamise võimalust - suht ainus ongi od. Kui &#039;cat binaarfail&#039; on terminali segi ajanud, tuleks anda reset-käsk&lt;br /&gt;
&lt;br /&gt;
pr - printimiseks vormindamine&lt;br /&gt;
&lt;br /&gt;
fmt - pikkade ridade lühendamine&lt;br /&gt;
&lt;br /&gt;
tr - märgiteisendused:  tr &#039;A-Z &#039;a-z&#039; &amp;lt; commands.txt  või  tr [:upper:] [:lower:] &amp;lt; commands.txt&lt;br /&gt;
&lt;br /&gt;
tr ei suuda lugeda failist, ainus võimalus sisendit saada on suunamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sed - lihtne näide sed s/bob/BOB/ file1&lt;br /&gt;
mitu asendust: sed –e s/bob/BOB/g –e s/BOB/snuffy/g file1 (saab ka semikoolonitega)&lt;br /&gt;
kui tühikud on sees: sed &#039;s/is not/is too/g&#039; file1&lt;br /&gt;
&lt;br /&gt;
asendused saab panna ka eraldi faili, sel juhul  sed -f scriptfile targetfile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
grep&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
grep command has many useful options, including&lt;br /&gt;
* -c This option shows only a numeric count of the matches found, no output of filenames or matches.&lt;br /&gt;
* -C # - This option surrounds the matched string with X number of lines of context.&lt;br /&gt;
* -H - This option prints the filename for each match; it’s useful when you want to then edit that file, as well as being the default option when multiple files are searched.&lt;br /&gt;
* -h - This option suppresses the filename display for each file and is the default when a single file is searched.&lt;br /&gt;
* -i - This option searches for the pattern with no case-sensitivity; all matches are shown.&lt;br /&gt;
* -l - This option shows only the filename of the matching file; no lines of matching output are shown.&lt;br /&gt;
* -L - This option displays the filename of files that don’t have a match for the string.&lt;br /&gt;
* -w - This option selects only lines that have the string as a whole word, not part of another word.&lt;br /&gt;
* -r - This option reads and processes all the directories specified, along with all the files in them.&lt;br /&gt;
* -x - This option causes only exact line matches to be returned; every character on the line must match.&lt;br /&gt;
* -v - This option shows all the lines in a file that don’t match the string; this is the exact opposite of the default behavior.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
egrep =  grep -E&lt;br /&gt;
fgrep = grep -F&lt;br /&gt;
&lt;br /&gt;
=== Protsessid ===&lt;br /&gt;
&lt;br /&gt;
ps&lt;br /&gt;
-a - kõigi kasutajate protsessid&lt;br /&gt;
-u - kasutaja protsessiinfo&lt;br /&gt;
-x - ei näita tty-d&lt;br /&gt;
&lt;br /&gt;
POSIX/UNIX - kriipsuga, BSD - ilma, Linux toetab mõlemaid&lt;br /&gt;
&lt;br /&gt;
ps -aux ja ps -ef on suht sarnased (võidakse küsida)&lt;br /&gt;
&lt;br /&gt;
block - infokogus kettal (enamasti 512B)&lt;br /&gt;
buffer - infokogus põhimälus&lt;br /&gt;
&lt;br /&gt;
free - vaba mälu (tasub lisada -lh)&lt;br /&gt;
&lt;br /&gt;
uptime&lt;br /&gt;
&lt;br /&gt;
protsessi signaalid&lt;br /&gt;
SIGINT 2 katkestus (ctrl-C)&lt;br /&gt;
SIGHUP 6 lõpeta ja alusta uuesti&lt;br /&gt;
SIGKILL 9 lõpeta&lt;br /&gt;
SIGTERM 15 lõpeta (pehmem)&lt;br /&gt;
SIGSTP  20 terminali peatamine (ctrl-X) - sisuliselt paus, saab fg-ga jätkata&lt;br /&gt;
SIGSTOP 23 peata täitmine (jõuga)&lt;br /&gt;
&lt;br /&gt;
Suuremate võimalustega - pkill&lt;br /&gt;
&lt;br /&gt;
jobs&lt;br /&gt;
+ - viimane töö, bg/fg&lt;br /&gt;
- - eelviimane (muutub viimaseks, kui praegune lõpetab)&lt;br /&gt;
&lt;br /&gt;
saab viidata ka %töönumber&lt;br /&gt;
&lt;br /&gt;
Prioriteedid -  vaikimisi 0, madalaim 19, kõrgeim -20. Alla 0 saab anda ainult root&lt;br /&gt;
&lt;br /&gt;
nice ja renice&lt;br /&gt;
&lt;br /&gt;
top - vaikimisi interaktiivne, aga saab anda ka parameetreid&lt;br /&gt;
&lt;br /&gt;
Käimajätmine peale väljalogimist - nohup käsk . Kindlam on teha screeniga!&lt;br /&gt;
&lt;br /&gt;
Screen - käima, Ctrl-a, n  järgmine aken, Ctrl-a, p eelmine aken&lt;br /&gt;
&lt;br /&gt;
Ctrl-a, &amp;quot; näitab akende listi&lt;br /&gt;
&lt;br /&gt;
Akna lahtihaakimine - Ctrl-a, d &lt;br /&gt;
list - screen -ls&lt;br /&gt;
Uuesti haakimine - screen -r PID&lt;br /&gt;
&lt;br /&gt;
Ctrl-a, x - ekraanilukk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== vi ===&lt;br /&gt;
&lt;br /&gt;
3 režiimi&lt;br /&gt;
* käsurežiim&lt;br /&gt;
* sisendrežiim&lt;br /&gt;
* ex-režiim - otsingud, aknaoperatsioonid&lt;br /&gt;
&lt;br /&gt;
Alguse staatuses Top/Bot/All - kas näidatakse algust, lõppu või kogu faili&lt;br /&gt;
&lt;br /&gt;
i - redigeerimine jooksvas positsioonis&lt;br /&gt;
I - redigeerimine jooksva rea algusest&lt;br /&gt;
a - redigeerimne jooksva positsiooni järelt (append)&lt;br /&gt;
A - rea lõpust&lt;br /&gt;
O - uus rida jooksva ette&lt;br /&gt;
&lt;br /&gt;
Tagasi käsurežiimi - Esc&lt;br /&gt;
&lt;br /&gt;
käivitades saab anda kohe reanumbri:   vi +25 minufail.txt   + tähendab tegelikult vi käsku (25 - mine sellele reale)&lt;br /&gt;
&lt;br /&gt;
Nooled:&lt;br /&gt;
h - left&lt;br /&gt;
j - down&lt;br /&gt;
k - up&lt;br /&gt;
l - right&lt;br /&gt;
&lt;br /&gt;
Ctrl-f - lk edasi&lt;br /&gt;
Ctrl-b - lk tagasi&lt;br /&gt;
Ctrl-d - pool edasi&lt;br /&gt;
Ctrl-u - pool tagasi&lt;br /&gt;
&lt;br /&gt;
G - faili lõppu või reale (15G)&lt;br /&gt;
&lt;br /&gt;
u - undo&lt;br /&gt;
:e! tühistab kõik muutused&lt;br /&gt;
&lt;br /&gt;
Salvestus: :w&lt;br /&gt;
Salvestus ja väljumine:  :wq või :x (või käsurežiimis ZZ)&lt;br /&gt;
Väljumine salvestamata: :q!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cw - sõna muutmine&lt;br /&gt;
c$ - muutmine kursorist rea lõpuni&lt;br /&gt;
r - tähe muutmine&lt;br /&gt;
R - rea muutmine kuni Esc-vajutuseni&lt;br /&gt;
&lt;br /&gt;
x - kustutus (Del)&lt;br /&gt;
X - kustutus (Bksp)&lt;br /&gt;
dw - sõna vasakult&lt;br /&gt;
dd - rida&lt;br /&gt;
D - rea lõpuni&lt;br /&gt;
dL - ekraani lõpuni&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
yy - rea kopeerimine&lt;br /&gt;
5yy - 5 rea kopeerimine (blokk)&lt;br /&gt;
yw - sõna&lt;br /&gt;
3yw - 3 sõna&lt;br /&gt;
p - kleepimine kursorist vasakule&lt;br /&gt;
P - paremale&lt;br /&gt;
&lt;br /&gt;
tavaline on nimeta puhver, lisaks on veel 26 (a-z) nimega puhvrit. Puhvri väiketäht kirjutab selle üle, suurtäht lisab sinna&lt;br /&gt;
&lt;br /&gt;
Jutumärgid, puhvri nimi, käsk - näiteks &amp;quot;ayy, &amp;quot;ap&lt;br /&gt;
&lt;br /&gt;
Otsing käsurežiimis: ?otsitav, järgmine n, eelmine N&lt;br /&gt;
&lt;br /&gt;
Asendamine nagu sed-is, ex-režiimis &lt;br /&gt;
- samalt realt: :s/bob/BOB/, kõigi puhul :s/bob/BOB/g (global)&lt;br /&gt;
- kogu failist: :%s/bob/BOB/, kõigi puhul :%s/bob/BOB/g (global)&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldiste otsimine  - /  N: /[tT][hH][eE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi sätted: /etc/vimrc ja kohalik .vimrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Tsitaat raamatust:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For some reason, LPI really wants you to know the options for setting numbers, including the shortcuts for how&lt;br /&gt;
options are set. Examples of how you could set the numbers option on and off include&lt;br /&gt;
:set number—Turns on line numbers (screen only).&lt;br /&gt;
:set nonumber—Turns the number option off.&lt;br /&gt;
:se nu—This is the shortest string that turns this option on, and putting no in front of the option turns that option off.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Väliskäsud:  :! ls -l&lt;br /&gt;
&lt;br /&gt;
Ridade ühendamine - kursor esimesele reale,  J (tõmbab järgmise samale reale)&lt;br /&gt;
&lt;br /&gt;
:split - horisontaalne&lt;br /&gt;
:vsplit - vertikaalne&lt;br /&gt;
&lt;br /&gt;
Kahe akna vahel liikumine Ctrl-w 2x või Ctrl-w ja vastav nool&lt;br /&gt;
&lt;br /&gt;
spliti lõpetamine -  :only (selles aknas, mida soovitakse jätta)&lt;br /&gt;
&lt;br /&gt;
split käsurealt -  hsplit vim -o file1 file2,  vsplit  vim -O file1 file2&lt;br /&gt;
&lt;br /&gt;
faili avamine nummerdatud ridadega: vim +set number” mytestfile.txt&lt;br /&gt;
faili avamine koos string1 esiletoomisega (highlight): vi +/string1 file&lt;br /&gt;
&lt;br /&gt;
vimdiff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettahaldus ===&lt;br /&gt;
&lt;br /&gt;
Vanasti 4 esmast jaotist, ühe sai teha laiendatuks ja sinna N loogilist.&lt;br /&gt;
Idee poolest võimalik lõputult loogilisi jaotisi, ehkki soovitus on mitte üle 12&lt;br /&gt;
&lt;br /&gt;
Buudifailid peavad olema esmasel.&lt;br /&gt;
&lt;br /&gt;
Saaleala tööjaamadel 1-2 x RAM (eriti läpakatel talveune tõttu), mõnedel serveritel ei kasutata üldse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fdisk&lt;br /&gt;
&lt;br /&gt;
MBR-ketaste jaoks. Üldkuju: fdisk /dev/sda (vmm)&lt;br /&gt;
p - jaotiseinfo&lt;br /&gt;
n - uus jaotis&lt;br /&gt;
d - kustutamine&lt;br /&gt;
t - tüübi muutmine&lt;br /&gt;
w - muudatuste salvestamine&lt;br /&gt;
	&lt;br /&gt;
uue loomisel on kõige lihtsam määrata suurus (mitte sektoripiirid jms) +väärtus; nt +500M, +1.5G&lt;br /&gt;
&lt;br /&gt;
fdisk -l - näitab kohe infot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gdisk &lt;br /&gt;
&lt;br /&gt;
uute UEFI/GUID/GPT ketaste jaoks (pole 2TB ülempiiri ega 4 jaotise piirangut - toetab kuni 128-t jaotist).&lt;br /&gt;
&lt;br /&gt;
gdisk -l /dev/sda - info&lt;br /&gt;
&lt;br /&gt;
MBR paigutatakse ketta esimesse loogilisse blokki, GPT teise!&lt;br /&gt;
&lt;br /&gt;
gdisk käitub muidu üsna sarnaselt fdiskile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
parted ja gparted  - märkus: parted ei pane paika jaotise tüüpi!&lt;br /&gt;
&lt;br /&gt;
FS tüübid:&lt;br /&gt;
- ext*&lt;br /&gt;
- udf - DVD&lt;br /&gt;
- vfat - FAT32&lt;br /&gt;
- nfs - Sun-i Network Filesystem, vaikimisi kõigil Linuxitel&lt;br /&gt;
- smb - Samba/CIFS&lt;br /&gt;
- xfs - SGI&lt;br /&gt;
- ReiserFS&lt;br /&gt;
- btrfs - uus tulija&lt;br /&gt;
&lt;br /&gt;
NB! ext2 -&amp;gt; ext3 ei vaja vormindamist!&lt;br /&gt;
&lt;br /&gt;
inode - iga faili kirje, ei sisalda aga nime (vt ls -i esimene number). Vt ka stat failinimi&lt;br /&gt;
&lt;br /&gt;
debugfs-käsk laseb faili detailide kallale&lt;br /&gt;
&lt;br /&gt;
df -i näitab inode-ide kasutust. Tuleb püüda tasakaalu poole failide suuruse ja  mahu vahel.&lt;br /&gt;
&lt;br /&gt;
FS loomine:  mkfs -t ext4 /dev/sda1   (mkfs on tänapäeval link mkfs.ext4-le)&lt;br /&gt;
&lt;br /&gt;
mke2fs - ext2&lt;br /&gt;
mkdosfs - DOS/FAT&lt;br /&gt;
&lt;br /&gt;
mkswap /dev/sda2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fsck&lt;br /&gt;
&lt;br /&gt;
ka e2fsck, dosfsck, reiserfsck&lt;br /&gt;
&lt;br /&gt;
buudi ajal võtab info /etc/fstab-ist&lt;br /&gt;
&lt;br /&gt;
Parameetrid:&lt;br /&gt;
-A - üks pikk kontroll (mitte etapiline)&lt;br /&gt;
-C - edenemisnäidik (###########)&lt;br /&gt;
-N - kuivalt (simulatsioon)&lt;br /&gt;
-V - lisainfo&lt;br /&gt;
-a - ei küsi ja parandab automaatselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tune2fs - saab muuta sätteid, näiteks vaikimisi 20 käivitust iga fsck-kontrolli kohta.&lt;br /&gt;
tune2fs –c 0 /dev/sda1 - lülitab kontrolli välja?&lt;br /&gt;
&lt;br /&gt;
tune2fs -e määrab, mida tehakse FS vea leidmisel&lt;br /&gt;
&lt;br /&gt;
tunefs -g võimaldab määrata kettal root-ile määratud osa (Kui kõik muu on täis, saab tema sisse)&lt;br /&gt;
&lt;br /&gt;
XFS utiliidid&lt;br /&gt;
&lt;br /&gt;
xfs_info&lt;br /&gt;
xfs_check&lt;br /&gt;
xfs_repair&lt;br /&gt;
&lt;br /&gt;
FS silti ja UUID-d näeb blkid-käsuga (root)&lt;br /&gt;
&lt;br /&gt;
/etc/fstab&lt;br /&gt;
/etc/mtab&lt;br /&gt;
mount&lt;br /&gt;
cat /proc/mounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab-i sisu:&lt;br /&gt;
* seade&lt;br /&gt;
* haakepunkt&lt;br /&gt;
* tüüp&lt;br /&gt;
* valikud (rw,suid,dev,exec,auto,nouser,async)&lt;br /&gt;
* dump - kas dump kaasab võ ei, enamasti 0 (ei)&lt;br /&gt;
* fsck - kontrollijärjekord &lt;br /&gt;
&lt;br /&gt;
Käsitsi haakimine: mount –t type –o option device mountpoint&lt;br /&gt;
&lt;br /&gt;
umount&lt;br /&gt;
&lt;br /&gt;
du&lt;br /&gt;
-h - inimkeelne&lt;br /&gt;
-s - summeerib&lt;br /&gt;
-x - ainult kohalikud FSid (mitte võrk jms)&lt;br /&gt;
&lt;br /&gt;
df &lt;br /&gt;
-h&lt;br /&gt;
-i - inode-id&lt;br /&gt;
-k - kB&lt;br /&gt;
-l - ainult kohalikud&lt;br /&gt;
&lt;br /&gt;
df näitab ketta statistikat, du ei näita!&lt;br /&gt;
&lt;br /&gt;
quota&lt;br /&gt;
&lt;br /&gt;
quotaon&lt;br /&gt;
quotaoff&lt;br /&gt;
quotacheck&lt;br /&gt;
edquota&lt;br /&gt;
&lt;br /&gt;
usrquota, grpquota (fstab)&lt;br /&gt;
&lt;br /&gt;
lisamiseks tuleb panna vastavale FSile fstab-is usrquota ja grpquota ja haakida FS uuesti: mount –o remount,rw /data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
edquote &lt;br /&gt;
-u kasutaja&lt;br /&gt;
-t  - &amp;quot;armuaeg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
repquota -a  - kogu süsteemi raport&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Õigused ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ugo&lt;br /&gt;
&lt;br /&gt;
chmod&lt;br /&gt;
-c - muutunud failid&lt;br /&gt;
-h - sümlink, mitte selletagune fail&lt;br /&gt;
-f - ei õienda (force)&lt;br /&gt;
-R - rekursiivne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui panna kolmest numbrist vaid üks, siis läheb see &amp;quot;others&amp;quot; alla, omanik ja grupp saavad nulli!&lt;br /&gt;
&lt;br /&gt;
SUID - lubab kasutajatel käitada programmi omaniku (enamasti root) õigustes - chmod 4xxx failinimi&lt;br /&gt;
SGID - kataloogi puhul annab õigused kõigile sinna hiljem lisatud failidele, faili puhul annab omanikugrupi õigused - chmod 2xxx fail/kataloog&lt;br /&gt;
sticky - ainult faili ja kataloogi omanikud (pluss root) saavad faile kustutada - chmod 1xxx kataloog&lt;br /&gt;
&lt;br /&gt;
Eribitid summeeruvad nagu tavalised - näiteks SUID+SGID = 6xxx. Tekstina u+s, g+s&lt;br /&gt;
&lt;br /&gt;
SUID/SGID on võimalik turvarisk&lt;br /&gt;
&lt;br /&gt;
Näide seaduslikust kasutusest: chsh võimaldab kasutajal kesta muuta, kui talle pannakse SUID (muidu ei saa /etc/passwd -faili muuta)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Otsing õiguste järgi:&lt;br /&gt;
&lt;br /&gt;
find /usr/bin -perm 777&lt;br /&gt;
find / -perm -4000&lt;br /&gt;
&lt;br /&gt;
umask&lt;br /&gt;
&lt;br /&gt;
Vaikimisi 0022 - aga eribitte ei panda kunagi vaikimisi, seega sisuliselt 022&lt;br /&gt;
Muutmine: näiteks umask 027&lt;br /&gt;
&lt;br /&gt;
chown&lt;br /&gt;
&lt;br /&gt;
ka owner: ja :group - muudavad ainult üht&lt;br /&gt;
&lt;br /&gt;
chgrp &lt;br /&gt;
&lt;br /&gt;
Mõlematel on -R parameeter&lt;br /&gt;
&lt;br /&gt;
NB! x-õigus kataloogil annab ligipääsu! r annab listingu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102942</id>
		<title>LPIC-1 - Kaku konspekt 2016 1. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102942"/>
		<updated>2016-04-26T11:42:34Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Järjestikkäsud */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Ross Brunsoni ja Sean Wahlbergi raamat [http://www.pearsonitcertification.com/store/comptia-linux-plus-lpic-1-cert-guide-exams-lx0-103-9780789754554 CompTIA ® Linux+ / LPIC-1 Cert Guide]&lt;br /&gt;
&lt;br /&gt;
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.&lt;br /&gt;
&lt;br /&gt;
=== Riistvara ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat ---&amp;gt;&lt;br /&gt;
IO port — An address, or range of addresses, identifying the&lt;br /&gt;
device; e.g., 0080, 1000-107f.&lt;br /&gt;
&lt;br /&gt;
IRQ — Interrupt requests (IRQs) signal the processor that an&lt;br /&gt;
event has happened and that the CPU is requested to come&lt;br /&gt;
check on the resource. It a limited resource that can&lt;br /&gt;
sometimes be shared.&lt;br /&gt;
&lt;br /&gt;
DMA — Direct memory access (DMA) allows a peripheral&lt;br /&gt;
to access system memory directly rather than having the&lt;br /&gt;
CPU intervene.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
cat /proc/ioports&lt;br /&gt;
cat /proc/interrupts&lt;br /&gt;
cat /proc/dma&lt;br /&gt;
&lt;br /&gt;
Lisaks veel:&lt;br /&gt;
cat /proc/usb&lt;br /&gt;
cat /proc/pci&lt;br /&gt;
&lt;br /&gt;
Riistvara seisu vaatamiseks&lt;br /&gt;
* vaata /proc-i&lt;br /&gt;
* kasuta mõnd spetsiaalset utiliiti (lshw jt)&lt;br /&gt;
&lt;br /&gt;
/proc (procfs) - virtuaalne ehk pseudo-failisüsteem&lt;br /&gt;
&lt;br /&gt;
ls* käsud:&lt;br /&gt;
&lt;br /&gt;
Tsitaat ---&amp;gt;&lt;br /&gt;
* lsmod — Shows the kernel modules loaded, along with any dependencies for those modules. Helpful for double&lt;br /&gt;
checking that the driver is loaded for a peripheral. If the module is not present then use the modprobe command to load it, such as with modprobe bluetooth.&lt;br /&gt;
* lscpu — Provides details about your CPU, such as the number and speed of each socket and core.&lt;br /&gt;
* lspci — Shows a lot of information about your PCI bus and devices. This can identify devices on the bus that the kernel doesn’t know about and provides addressing information for configuring them.&lt;br /&gt;
* lsscsi — Shows information about the SCSI devices on your system, if the system supports SCSI. This tells you if the system can see the disk.&lt;br /&gt;
* lsdev — Shows the devices recognized by your system.&lt;br /&gt;
* lsraid — Displays the Redundant Array of Inexpensive Disks (RAID) devices on the system.&lt;br /&gt;
* lsusb — Displays the USB information and devices for your system.&lt;br /&gt;
* lsblk — Displays the block devices (disks) attached to your system.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
NB! lsdev tuleb Ubuntu 14.04 Serveril procinfo-paki paigaldamisega, lsscsi ja lsraid puuduvad üldse!&lt;br /&gt;
&lt;br /&gt;
Võidakse küsida, milline eelmistest näitab kõige põhjalikumat koondinfot IO, katkestuste ja DMA kohta - selleks on lsdev!!&lt;br /&gt;
&lt;br /&gt;
Osa seadmeinfot asub ka teise virtuaalse failisüsteemi /sys all (sysfs) - /proc all on läbisegi seadmed ja protsessid,&lt;br /&gt;
/sys sisaldab ainult seadmeid!&lt;br /&gt;
&lt;br /&gt;
udev - seadmehaldur; kasutab /sys infot ja haldab seadmeid /dev all.&lt;br /&gt;
&lt;br /&gt;
hotplug - kasutatav jooksvalt ühendatuna (mälupulk)&lt;br /&gt;
coldplug - tahab restarti&lt;br /&gt;
&lt;br /&gt;
dbus (D-Bus) - infovahetuskanal kerneli ja töölauarakenduste vahel (ka rakendused omavahel). N: meiliindikaator tööriistaribal; udev kasutab seda näiteks uue andmekandja haakimisel vastava akna avamiseks.&lt;br /&gt;
&lt;br /&gt;
Integreeritud seadmed, mis Linuxit ei toeta, tasub BIOSist välja lülitada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettad ===&lt;br /&gt;
&lt;br /&gt;
Seadmed algavad 0-st (md0 - RAID, scd0 - CD) või a-st (sda, sdb), kettajaotised 1-st (sda1)&lt;br /&gt;
&lt;br /&gt;
Failisüsteemi eri osad võivad asuda eri ketastel või ka eri võrkudes!&lt;br /&gt;
&lt;br /&gt;
Ketta jagamise akronüüm PIBS:&lt;br /&gt;
&lt;br /&gt;
* Performance - suure koormusega osad eraldi (/home, saaleala)&lt;br /&gt;
* Integrity - kriitilised osad eraldi (upload-kataloog)&lt;br /&gt;
* Backup - kiiresti muutuvad (/var) eraldi aeglastest (/usr)&lt;br /&gt;
* Security - võimalik osi isoleerida&lt;br /&gt;
&lt;br /&gt;
LVM - võimaldab luua loogilisi kettaid üle füüsiliste jaotiste ja ketaste; aitab dünaamiliselt ruumi juurde tekitada&lt;br /&gt;
&lt;br /&gt;
PV (physical volume) - tüüpiliselt ketas või jaotis&lt;br /&gt;
PE (physical extent) - PV alajaotis, mis võivad kuuluda erinevate loogiliste ketaste koosseisu&lt;br /&gt;
VG (volume group) - üks või mitu PV-d&lt;br /&gt;
LV (logical volume) - loogiline ketas, mis koosneb PV-l asuvatest PE-dest (võib kombineerida eri PV-de PE-sid)&lt;br /&gt;
SAN (Storage Are Network) - jagab kettaruumi blokkide tasemel üle võrgu&lt;br /&gt;
&lt;br /&gt;
Ruumi lisamiseks tuleb LV-sse lisada uus PV ja suurendada ruumi seal asuvate PE-de abil.&lt;br /&gt;
&lt;br /&gt;
Snapshotting - LV tõmmis mingil ajahetkel, mis ühendatakse uue kettana - algne LV jätkab tegutsemist (ja muutub)&lt;br /&gt;
&lt;br /&gt;
Levinumad jaotiseskeemid:&lt;br /&gt;
* /  - kõik ühes kohas (LVM-i kasutamine tagab aga piisava paindlikkuse)&lt;br /&gt;
* lisaks /home, /var - kasutaja failid eraldi, samuti kiiresti muutuvad andmed (sh logifailid)&lt;br /&gt;
* lisaks /usr ja /tmp - staatilised süsteemifailid eraldi (pluss võimalus haakida mujalt), /tmp eraldamine aitab turvalisust&lt;br /&gt;
* lisaks /boot -  alglaadimisprotsess ei saa midagi lolliks ajada&lt;br /&gt;
&lt;br /&gt;
swap - saaleala ehk virtuaalmälu&lt;br /&gt;
thrashing - info põrgatamine swapi ja RAMi vahel, aeglustab tööd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BIOS MBR 512 baiti &lt;br /&gt;
&lt;br /&gt;
GRUB2 paigaldus kettale - grub-install /dev/sda . Vaikimisi /boot, saab määrata ka mujale (--boot-directory=)&lt;br /&gt;
&lt;br /&gt;
grub&amp;gt; ls näitab kettaid, sealt saab edasi vaadata, N: ls (hd0, msdos1)  TAB-completion on ka olemas!&lt;br /&gt;
&lt;br /&gt;
grub-mkconfig (võib lisada -o asukoht konfifaili jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alglaadimine ja käivitustasemed ===&lt;br /&gt;
&lt;br /&gt;
Alglaadimise neli faasi:&lt;br /&gt;
1. alglaadurifaas&lt;br /&gt;
2. kernelifaas&lt;br /&gt;
3. esmane kasutajafaas&lt;br /&gt;
4. init&lt;br /&gt;
&lt;br /&gt;
Lisaks LILOle ja GRUBile&lt;br /&gt;
* SYSLINUX - kasutati FAT-andmekandjatel, USB live-süsteemides jm&lt;br /&gt;
* Loadlin - käivituseks DOSist/Windowsist (asendas käigupealt DOSi süsteemituuma Linuxiga)&lt;br /&gt;
&lt;br /&gt;
Täiendavad parameetrid:&lt;br /&gt;
* vga - graafikarežiimi etteandmine, võib olla 10- 8- või 16-süsteem, samuti normal, ext või ask&lt;br /&gt;
* apm - automaatne voooluhaldus. apm=off või noapm võib parandada ühilduvust&lt;br /&gt;
* init - käivitab initi esimese protsessina&lt;br /&gt;
* panic=number - eemalasuva süsteemi puhul teeb lolliksmineku järel N sekundi järel restardi ja proovib uuesti&lt;br /&gt;
* single, 1 - ainult root&lt;br /&gt;
* 2,3,4,5 - tavalised käivitustasemed&lt;br /&gt;
* ro või rw - juurfailisüsteemi haakimine kas ainult lugemiseks või mõlemat pidi&lt;br /&gt;
* mem=xxxM - piirab mälu kasutust xxx MB-ga. Kasuks katkise mälukivi jälitamisel.&lt;br /&gt;
&lt;br /&gt;
Käivitus:&lt;br /&gt;
1. Vool sisse&lt;br /&gt;
2. BIOS käivitub ja otsib laadesektori&lt;br /&gt;
3. BIOS laeb vastavalt käivitusjärjekorrale laadesektori&lt;br /&gt;
4. MBR&lt;br /&gt;
5. alglaadur&lt;br /&gt;
6. kasutaja valib või tuleb vaikimisi valik&lt;br /&gt;
7. Loeb kerneli, kernel käivitub, käivitab seadmed, laeb vajalikud moodulid, otsib initrd, laeb selle ja haagib juurfailisüsteemi&lt;br /&gt;
8. /sbin/init - PID 1&lt;br /&gt;
9. /etc/inittab ja init-skriptid (Debianil /etc/init.d/rcS ja RH-l /etc/rc.d/init.d/rc.sysinit).&lt;br /&gt;
10. juursüsteemi kontroll, vajalikud moodulid, kohalike FS-ide haakimine, võrguliideste käivitus&lt;br /&gt;
11. vaikimisi käivitustase (vastava taseme skriptide abil)&lt;br /&gt;
12. login&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SystemD ===&lt;br /&gt;
&lt;br /&gt;
Sys V initi asemele loodud süsteem, osaliselt käsuühilduv&lt;br /&gt;
&lt;br /&gt;
Peaks olema efektiivsem ja paralleelsem, vähem sõltuvusi, peaks võimaldama rohkem prioriteete - eeldatavasti annab kiirema algkäivituse.&lt;br /&gt;
&lt;br /&gt;
käivitub sümlingist /sbin/init. Kokku üle 60 jupi, tähtsamad on&lt;br /&gt;
* systemd - süsteemi- ja teenustehaldur&lt;br /&gt;
* systemctl - olekuhaldur&lt;br /&gt;
* systemd-analyze - annab statistikat&lt;br /&gt;
* journald - vaikimisi logimissüsteem, võimalik asendada tavalisematega (rsyslog, syslog-ng)&lt;br /&gt;
* consoled - konsoolideemon, peaks asendama virtuaalterminalide süsteemi&lt;br /&gt;
* networkd - võrgudeemon&lt;br /&gt;
* logind - sisselogimisdeemon, toetab ka X-i logimishaldureid&lt;br /&gt;
&lt;br /&gt;
Veel omadusi:&lt;br /&gt;
* kogu logimine journali kaudu&lt;br /&gt;
* teenused ei sõltu käivitustasemetest&lt;br /&gt;
* komponendigrupid (Cgroup) - peaks asendama käivitustasemeid&lt;br /&gt;
* täpsem prioriteedihaldus - varem ainult nice/renice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
init-skriptide asemel üksused (unit). Asukohad kasvava prioriteediga:&lt;br /&gt;
* /usr/lib/systemd/system  - distroga kaasatulnud üksused&lt;br /&gt;
* /run/systemd/system - jooksvalt (töö ajal) loodud üksused&lt;br /&gt;
* /etc/systemd/system - admini poolt hallatavad, kõrgeim prioriteet&lt;br /&gt;
&lt;br /&gt;
Põhitüübid (laiendiks on sama nimi - näiteks .socket):&lt;br /&gt;
* service - süsteemiteenus&lt;br /&gt;
* socket - protsessidevahelise kommunikatsiooni element&lt;br /&gt;
* target - üksuste grupp&lt;br /&gt;
* mount - haakepunkt&lt;br /&gt;
* automount - automaatne haakepunkt&lt;br /&gt;
* device - kerneli kasutatav seadmefail&lt;br /&gt;
* scope - väljast loodud protsess&lt;br /&gt;
* timer - taimer&lt;br /&gt;
* path - failisüsteemi fail või kataloog&lt;br /&gt;
* slice - hierarhiline üksustegrupp&lt;br /&gt;
* snapshot - systemd halduri olekutõmmis&lt;br /&gt;
* swap - saaleala või -fail&lt;br /&gt;
&lt;br /&gt;
SysV käivitustasemete asemel on märgid (target), sisuliselt vastavad käivitustasemetele (NB! Systemd on RedHati leiutis, seega sama süsteem):&lt;br /&gt;
*  	0		poweroff.target			masin seisma&lt;br /&gt;
* 	1		rescue.target			ühekasutaja paranduskeskkond&lt;br /&gt;
*	2		multi-user.target		tekstirežiim ilma võrguta&lt;br /&gt;
*	3		multi-user.target		tekstirežiim võrguga&lt;br /&gt;
*	4		multi-user.target		nagu 3&lt;br /&gt;
*	5		graphical.target		graafiline režiim, võrk&lt;br /&gt;
*	6		reboot.target			restart&lt;br /&gt;
&lt;br /&gt;
Märkide nimedel on ühilduvuse jaoks aliased runlevel0.target ... runlevel6.target&lt;br /&gt;
&lt;br /&gt;
Sõltuvuste ja järjekorra haldus - wants ja requires&lt;br /&gt;
&lt;br /&gt;
Näiteks graphical.target-is:&lt;br /&gt;
Requires=multi-user.target&lt;br /&gt;
After=multi-user.target&lt;br /&gt;
Wants=display-manager.service&lt;br /&gt;
&lt;br /&gt;
Algkäivitus üldiselt sama, aga GRUB käivitab /sbin/init kaudu systemd . default.target on sümlink multi-user.target-ile, see omakorda&lt;br /&gt;
käivitab graphical.target-i.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 ja Mint 18 kasutavad esimeste LTS-idena vaikimisi systemd-d.&lt;br /&gt;
&lt;br /&gt;
Upstart - vahepeal pakutud alternatiivne süsteem - praegu kipub jääma teiste varju (kas jäädi SysV juurde või mindi systemd-le).&lt;br /&gt;
ChromeOS kasutab seda. Asünkroonsus, lihtsus, tagasiühilduvus, laiendatavus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Käivitustasemete haldus ====&lt;br /&gt;
&lt;br /&gt;
Buutimine single-userisse:  GRUBist 1, s või S!&lt;br /&gt;
&lt;br /&gt;
runlevel -käsk annab Debiani perekonnal reeglina vastuse  N 2 -  graafiline keskkond, eelmine tase puudub &lt;br /&gt;
Turvamoment - kui näitab 1 2, siis tuleb veenduda, et eelnev single-user oli ikka seaduslik...&lt;br /&gt;
teine variant on who -r&lt;br /&gt;
&lt;br /&gt;
SystemD puhul systemctl get-default (annab tüüpiliselt multi-user.target). Jooksva taseme näitab systemctl list-units --type=target&lt;br /&gt;
&lt;br /&gt;
Vaikimisi käivitustase:&lt;br /&gt;
* SysV - /etc/inittab-i rida id:X:initdefault: , kus X on käivitustaseme number&lt;br /&gt;
* SystemD - muuta ära soovita sümlink: ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target&lt;br /&gt;
&lt;br /&gt;
Taseme vahetus:&lt;br /&gt;
* SysV - init number (või telinit, mis on ajalooliselt jäänud sümlink)&lt;br /&gt;
* SystemD - systemctl isolate graphical.target  (või runlevel5.target)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masina sulgemine:&lt;br /&gt;
&lt;br /&gt;
SysV süsteemides halt -p või shutdown:&lt;br /&gt;
-H - peatamine&lt;br /&gt;
-h - peatamine JA/VÕI sulgemine&lt;br /&gt;
-P - sulgemine&lt;br /&gt;
-r - restart&lt;br /&gt;
-k - annab teate ja peatab sisselogimised&lt;br /&gt;
-c - viivitusega sulgemise tühistus&lt;br /&gt;
now - kohe&lt;br /&gt;
+10 - 10 minuti pärast&lt;br /&gt;
12:02 kellaaeg&lt;br /&gt;
N: shutdown -r +15 &amp;quot;Veerand tunni pärast restart!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SystemD puhul - systemctl halt, poweroff või reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protsessitapmine  - kill ja killall&lt;br /&gt;
&lt;br /&gt;
-9 SIGKILL - kohene tapmine&lt;br /&gt;
-15 SIGTERM - viisakas palve lõpetada  (vaikimisi variant)&lt;br /&gt;
-1 SIGHUP - hangunud protsessi taaskäivitus (konfi uuestilaadimine). ka kill -HUP PID&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Alternatiivsüntaks:  kill -s SIGHUP|SIGKILL|SIGTERM&lt;br /&gt;
&lt;br /&gt;
SystemD puhul saab tappa grupimärgise (group tag) järgi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivituse logimine&lt;br /&gt;
&lt;br /&gt;
SysV:  dmesg-käsk pluss /var/log/messages või /var/log/syslog&lt;br /&gt;
&lt;br /&gt;
SystemD: journalctl --list-boots , sealt valida hirmpikk buudikorra ID ja siis journalctl -boot=akansgargnaghragegegaegte&lt;br /&gt;
käimasolev käivitus on 0, eelmine -1 jne, kuni -34&lt;br /&gt;
&lt;br /&gt;
käimasoleva käivituse teated saab kohe journalctl -b abil!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pakihaldus ===&lt;br /&gt;
&lt;br /&gt;
Debiani sõltuvuste eiramine: --force-depends&lt;br /&gt;
RPM-i pikas nimes ei ole kirjas arhitektuuri!&lt;br /&gt;
RPM-i kohalikke pakkide signatuurikontroll: rpm -K *&lt;br /&gt;
&lt;br /&gt;
FHS - Filesystem Hierarchy Standard&lt;br /&gt;
&lt;br /&gt;
Staatiline linkimine - teek kopeeritakse programmi - suur programm, raske uuendada (teek tuleb uuendada kõigis programmides), aga sõltuvusi pole&lt;br /&gt;
Dünaamiline linkimine - programmi paigutatakse viited teekidele - väike programm, lihtne uuendada, aga sõltuvused võivad probleeme tekitada&lt;br /&gt;
&lt;br /&gt;
.so. -failid on jagatud teegid (shared object)!&lt;br /&gt;
Dünaamiline linkur on ld.so (vahel ld-linux.so), konf on /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
teegid: /lib ja /usr/lib64 (või lib 32 puhul)&lt;br /&gt;
&lt;br /&gt;
järjest linkimine sümlinkidega - vastavalt kes millist teegi versiooni vajab (tegelikult on lõpus üks ja sama teek)&lt;br /&gt;
&lt;br /&gt;
teekidest sõltumist näitab ldd - ldd passwd&lt;br /&gt;
&lt;br /&gt;
ldconfig korrastab viited teekidele (käib läbi /lib-i, /usr/lib/64 ja muud /etc/ld.so.conf-is määratud kohad). Järjestatud nimekiri läheb /etc/ld.so.cache-isse&lt;br /&gt;
&lt;br /&gt;
süsteemimutuja LD_LIBRARY_PATH teekide leidmiseks - määrata saab: export LD_LIBRARY_PATH=/bla/bla/bla (võib panna /etc/profile või ~/.bash_profile -faili). Turvarisk!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debiani pakid ====&lt;br /&gt;
&lt;br /&gt;
dpkg, apt-*, synaptic, aptitude&lt;br /&gt;
&lt;br /&gt;
pakiinfo - dpkg --info pakinimi&lt;br /&gt;
&lt;br /&gt;
Pakis on juhtinfo arhiiv, milles on&lt;br /&gt;
* conffiles - häälestus peale installi&lt;br /&gt;
* control - metaandmed sõltuvuste kohta&lt;br /&gt;
* md5sums - kontrollsummad&lt;br /&gt;
* postinst - skript, mis käivitub peale installi&lt;br /&gt;
* prerm - skript, mis käivitub enne eemaldamist&lt;br /&gt;
* postrm - skript, mis käivitub peale eemaldamist&lt;br /&gt;
&lt;br /&gt;
Lisaks juhtinfole on pakis info nime, haldaja, arhitektuuri ja sõltuvuste kohta.&lt;br /&gt;
&lt;br /&gt;
Paigaldus - dpkg -i  või --install&lt;br /&gt;
&lt;br /&gt;
Eemaldamine - dpkg -r või --remove, või koos konfiga -P ehk --purge&lt;br /&gt;
&lt;br /&gt;
--force (ohtlik!), --force-reinstreq sunnib reinstalli, --force-conflicts eirab konflikte, --force-depends eirab sõltuvusi, &lt;br /&gt;
--force-remove-essential eemaldab jõuga&lt;br /&gt;
&lt;br /&gt;
Nimekiri - dpkg -l või --list  (toetab metamärke)&lt;br /&gt;
&lt;br /&gt;
Paigaldatud failide nimekiri - dpkg -L või --listfiles&lt;br /&gt;
&lt;br /&gt;
Lühem variant --info-st on --status&lt;br /&gt;
&lt;br /&gt;
Failiotsing pakihalduri kaudu:  dpkg -S või --search &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Algne konf uuesti: dpkg-reconfigure&lt;br /&gt;
&lt;br /&gt;
apt-get - failide paigaldus eemalt (dpkg on kohalik).  /etc/sources.list ja /etc/sources.list.d/ (iga varamu jaoks eraldi fail)&lt;br /&gt;
&lt;br /&gt;
Konfirea näide:  deb http://cdn.debian.net/debian/ wheezy main&lt;br /&gt;
&lt;br /&gt;
Apti puhvri värskendus: apt-get update&lt;br /&gt;
&lt;br /&gt;
Puhvrioperatsioonid: apt-cache&lt;br /&gt;
 - search otsitav&lt;br /&gt;
 - show pakinimi - info paki kohta&lt;br /&gt;
 - showpkg pakinimi - täpsem tehniline info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! apt-get install uuendab olemasoleva paki! Kui tahta ainult uuendamist (lisada ei tohi), siis --only-upgrade&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  apt-get upgrade   (turvauuendused, veaparandused ja täiendused) või apt-get dist-upgrade (karmim uuendus, võib ka eemaldada)&lt;br /&gt;
&lt;br /&gt;
Eemaldamine: apt-get remove või purge (viimane teeb koos konfiga)&lt;br /&gt;
&lt;br /&gt;
==== Red Hati pakid ===&lt;br /&gt;
&lt;br /&gt;
RPM võib tähendada nii pakivormingut, käsku kui andmebaasi!&lt;br /&gt;
&lt;br /&gt;
RPM andmebaas kasutab BerkeleyDB vormingut ja asub kataloogis /var/lib/rpm . Kasutajad saavad teha päringuid, muuta saab vaid root&lt;br /&gt;
&lt;br /&gt;
Segiläinud andmebaasi taastamine: rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
ainult üks kasutaja korraga, teised saavad &amp;quot;transaction lock&amp;quot;-teate&lt;br /&gt;
&lt;br /&gt;
RPM pakk sisaldab&lt;br /&gt;
* pakitud binaarrakendust&lt;br /&gt;
* nime ja versiooni&lt;br /&gt;
* loomise aega ja kohta (host)&lt;br /&gt;
* lühikirjeldust&lt;br /&gt;
* kontrollsummasid ja sõltuvusteinfot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisaks on olemas ka lähtekoodi-RPM-id&lt;br /&gt;
&lt;br /&gt;
Pakil on lühike nimi (sisuliselt nimi ise) ja pikk nimi (nimi-versioon-väljalase.distro)&lt;br /&gt;
&lt;br /&gt;
Näiteks rpm -q kernel näitab kõigi paigaldatud kernelipakkide infot, täpsustamiseks tuleb anda pikk nimi&lt;br /&gt;
&lt;br /&gt;
Ehtsuse tagamiseks kasutatakse MD5 kontrollsummat ja PGP või GPG signatuuri.&lt;br /&gt;
&lt;br /&gt;
kontroll: rpm -K pakinimi või rpm --checksig pakinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
install: rpm -ivh (install, teavitused, progressinäidik)&lt;br /&gt;
&lt;br /&gt;
failikonfliktide eiramine:  --replacefiles või --force&lt;br /&gt;
&lt;br /&gt;
pakisõltuvuste eiramine: --nodeps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
paki failide kontroll:  rpm -V (--verify)&lt;br /&gt;
&lt;br /&gt;
Tulemus näidatakse 9-kohalise koodina:&lt;br /&gt;
*  S muutunud maht&lt;br /&gt;
* M muutunud mood&lt;br /&gt;
* 5 muutunud MD5&lt;br /&gt;
* D seadmenumber ei klapi&lt;br /&gt;
* L probleem kataloogiteega&lt;br /&gt;
* U muutunud kasutaja&lt;br /&gt;
* G muutunud grupp&lt;br /&gt;
* T muutunud ajatempel&lt;br /&gt;
* P muutunud failiomadused&lt;br /&gt;
&lt;br /&gt;
Kõigi failide kontroll: rpm -Va  (või ka ainult konfifailid: -Vac)&lt;br /&gt;
&lt;br /&gt;
Värskendus (freshen) vs uuendus (upgrade) &lt;br /&gt;
&lt;br /&gt;
rpm -U uuendab - installib uued versioonid ja kõik nende jaoks vajaliku, samuti nime järgi ka uued failid&lt;br /&gt;
rpm -F värskendab - ei installi uusi pakke&lt;br /&gt;
&lt;br /&gt;
Eemaldamine - rpm -e või --erase (kui on mitu versiooni, siis lisada --allmatches !!!)&lt;br /&gt;
&lt;br /&gt;
päring - rpm -q , pikema infoga -qi&lt;br /&gt;
&lt;br /&gt;
faililisting - rpm -ql&lt;br /&gt;
&lt;br /&gt;
info paigaldamata paki kohta - qilp    (lisaks --changelog ???)&lt;br /&gt;
&lt;br /&gt;
Paki sõltuvused - -R (--requires)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
YUM - kui ei taha kinnitust, siis -y  (yum -y install blabla)&lt;br /&gt;
&lt;br /&gt;
allalaadimine ilma paigalduseta: panna y/n valikus d, kasutada yumdownloader-it või yum install --downloadonly&lt;br /&gt;
&lt;br /&gt;
yumdownloader:&lt;br /&gt;
* --source - SRPM&lt;br /&gt;
* --urls - kuvab URLid&lt;br /&gt;
* --resolve - kaasab sõltuvused&lt;br /&gt;
* --destdir - kataloog&lt;br /&gt;
&lt;br /&gt;
update, check-update (nii faili kui kogu süsteemi jaoks)&lt;br /&gt;
&lt;br /&gt;
yum list nimi - otsing nime järgi&lt;br /&gt;
&lt;br /&gt;
saab otsida ka üldist mõistet - yum search &amp;quot;web server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Konf: /etc/yum.conf, varamud /etc/yum.repos.d/&lt;br /&gt;
&lt;br /&gt;
Varamu konfi näide:&lt;br /&gt;
&lt;br /&gt;
[updates]&lt;br /&gt;
name=Fedora $releasever - $basearch - Updates&lt;br /&gt;
failovermethod=priority&lt;br /&gt;
#baseurl=http://download.fedoraproject.org/pub/fedora&lt;br /&gt;
updates/$releasever/$basearch/&lt;br /&gt;
metalink=https://mirrors.fedoraproject.org/metalink?&lt;br /&gt;
repo=updates-&lt;br /&gt;
released-f$releasever&amp;amp;arch=$basearch&lt;br /&gt;
enabled=1&lt;br /&gt;
metadata_expire=6h&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-&lt;br /&gt;
$releasever-$basearch&lt;br /&gt;
skip_if_unavailable=False&lt;br /&gt;
&lt;br /&gt;
yum --enablerepo varamunimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Käsurida ===&lt;br /&gt;
&lt;br /&gt;
Erinevad käsukestad - kasutaja käsukesta näeb mh /etc/passwd vastavalt realt&lt;br /&gt;
&lt;br /&gt;
Sisselogimise keelamiseks panna kestaks /bin/false (või üldiseks keelamiseks luua fail /etc/nologin)&lt;br /&gt;
&lt;br /&gt;
Käsukesta eri operatsioonid - täitmine (execute) vs pöördumine (sourcing)&lt;br /&gt;
&lt;br /&gt;
Täitmine (programmid) ./skript või sh skript&lt;br /&gt;
Pöördumine (profiilifailid; sisuliselt sisselugemine)  . skript või source skript&lt;br /&gt;
&lt;br /&gt;
Profiilifailid:&lt;br /&gt;
* /etc/profile - globaalne konf, loetakse kesta avamisel esimesena&lt;br /&gt;
* ~/.bash_profile - kasutaja sätted; see omakorda kutsub välja ~/.bashrc&lt;br /&gt;
NB! kui ~/.bash_profile puudub, otsitakse ~/.bash_login, kui ka seda pole, siis .profile&lt;br /&gt;
* ~/.bash_logout - peamine funktsioon on ekraani tühjendamine (clear) välja logides&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseta sessioonid (admini su-käsk) loevad ainult .bashrc, Red Hat loeb enne ka globaalse /etc/bashrc&lt;br /&gt;
&lt;br /&gt;
väliskäsud&lt;br /&gt;
sisekäsud&lt;br /&gt;
käivitatavad skriptid&lt;br /&gt;
aliased&lt;br /&gt;
funktsioonid&lt;br /&gt;
&lt;br /&gt;
Reapoolitus -  \&lt;br /&gt;
&lt;br /&gt;
Erisümbolid:&lt;br /&gt;
~ - jooksva kasutaja kodukataloog&lt;br /&gt;
\ - eirab järgmist sümbolit&lt;br /&gt;
/ - kataloogieraldaja&lt;br /&gt;
$ - muutuja&lt;br /&gt;
? - üks sümbol&lt;br /&gt;
&#039; - absoluuttsitaat&lt;br /&gt;
` - asendus&lt;br /&gt;
&amp;quot; - pehme tsitaat&lt;br /&gt;
* - 0-N sümbolit&lt;br /&gt;
&amp;amp; - taustaprotsess&lt;br /&gt;
&amp;amp;&amp;amp; - käsueraldaja - kui esimene käsk õnnestub, täida teine&lt;br /&gt;
|  - toru&lt;br /&gt;
|| - käsueraldaja - kui esimene käsk ei õnnestu, täida teine&lt;br /&gt;
; - käsueraldaja&lt;br /&gt;
[] - vahemik&lt;br /&gt;
&amp;gt; - suunamine&lt;br /&gt;
&amp;lt; - suunamine&lt;br /&gt;
&lt;br /&gt;
Eelmise käsu väljundstaatuse kuvamine - echo $?&lt;br /&gt;
&lt;br /&gt;
env - keskkonnamuutujad&lt;br /&gt;
set (või shopt) - kesta muutujad ja seaded&lt;br /&gt;
&lt;br /&gt;
kataloogitee eraldajateks on koolonid&lt;br /&gt;
$HOME loetakse /etc/passwd-ist&lt;br /&gt;
koju viib cd, cd ~ või cd $HOME&lt;br /&gt;
&lt;br /&gt;
Ettevaatust ~kasutaja vs ~/kasutaja -ga!  root logini puhul viib ~kasutaja tema kataloogi, ~/kasutaja aga kataloogi /root/kasutaja!&lt;br /&gt;
&lt;br /&gt;
Ajalugu - $HISTFILE, enamasti viitab ~/.bash_history peale&lt;br /&gt;
&lt;br /&gt;
Veel:  $HISTCMD näitab käsu järjenumbrit ajaloos, $HISTCONTROL väärtus &#039;ignoredups&#039; eirab korduvaid käske, &#039;ignorespaces&#039; eirab tühikuga algavaid ridu. $HISTFILESIZE näitab ajaloo pikkust (vaikimisi 500 käsku).&lt;br /&gt;
&lt;br /&gt;
set -o valik - valiku SISSElülitamine&lt;br /&gt;
set +o valik - valiku VÄLJAlülitamine (unset)&lt;br /&gt;
&lt;br /&gt;
Alates bash 2.0-st on shopt-käsk, mis on set-i ülemhulk&lt;br /&gt;
&lt;br /&gt;
Valikud:&lt;br /&gt;
* emacs või vi&lt;br /&gt;
* history (vaikimisi sees)&lt;br /&gt;
* hashall (vaikimisi hashib, et saaks korrata)&lt;br /&gt;
* monitor - taustaprotsessid eraldi gruppi&lt;br /&gt;
* noclobber - vaikimisi väljas, keelab &amp;gt; suunamisega faili ülekirjutamise&lt;br /&gt;
* noexec - skripti kuivkäivitus&lt;br /&gt;
* notify - teatab kohe lõppenud töödest&lt;br /&gt;
* verbose - kogu väljund ekraanile&lt;br /&gt;
&lt;br /&gt;
Tab Tab- käsu lõpu pakkumine!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Failisüsteem ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failinimedes võib olla sisuliselt iga sümbol, ka &amp;amp; või \ (mõnel juhul tuleb olla ettevaatlik)&lt;br /&gt;
&lt;br /&gt;
NB! /root ja /home ei ole mõnede serverite puhul kohustuslikud (ei logita sisse)!&lt;br /&gt;
&lt;br /&gt;
/opt vs /usr/local - /opt on vaid kohalikuks kasutamiseks, jagatud kohalik kraam käib /usr/local-isse&lt;br /&gt;
&lt;br /&gt;
usr (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
bin - Contains user commands&lt;br /&gt;
include - Contains header files for C programs&lt;br /&gt;
lib - Contains libraries&lt;br /&gt;
local - Contains local/sharable programs&lt;br /&gt;
sbin - Contains nonessential system binaries&lt;br /&gt;
share - Contains data/programs for multiple architecture&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
rm -f * ei kustuta peidetud (punktiga) faile&lt;br /&gt;
&lt;br /&gt;
ls (tsitaat)&lt;br /&gt;
&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
ls /home/user - Shows a plain listing of that directory.&lt;br /&gt;
ls –a  - Lists all files, including hidden . files.&lt;br /&gt;
ls –d foo - Lists just the directory called foo, not the contents.&lt;br /&gt;
ls –i - Lists the inode number for the targetfile or directory.&lt;br /&gt;
Inodes are the way Linux represents a file on disk and are&lt;br /&gt;
discussed later in the section “Copying Files and Directories.”&lt;br /&gt;
ls –l - Shows permissions; links; and date, group, and&lt;br /&gt;
owner information. Permissions dictate who can access the&lt;br /&gt;
file and are discussed in detail in Chapter 10, “Permissions.”&lt;br /&gt;
ls –lh - Shows human-readable output of file sizes, in KB,&lt;br /&gt;
MB, and GB, along with file details.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
file failinimi - info faili kohta&lt;br /&gt;
&lt;br /&gt;
file /etc/* | grep empty  - leiab tühjad failid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch - loob tühja faili või muudab olemasoleva ajatemplit&lt;br /&gt;
-t ajatempel  N: touch -t 201603291200 eksam.txt&lt;br /&gt;
-r fail1 fail2  fail1 ajatempel kopeeritakse fail2-le&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cp - mõned erivõtmed:&lt;br /&gt;
-d - ei järgi sümlinke, vaid kopeerib need&lt;br /&gt;
-l - kõva link allikfailile&lt;br /&gt;
-r ja -R - rekursiivne&lt;br /&gt;
-s - sümlink allikfailile&lt;br /&gt;
-u - uuendab koopiat vaid siis, kui seda ei ole olemas või see on vanem (ajakontroll)&lt;br /&gt;
-x - eirab haagitud failisüsteeme&lt;br /&gt;
&lt;br /&gt;
dd - kettakoopia   - dd if=  of= &lt;br /&gt;
&lt;br /&gt;
MBR varundamine dd abil: dd if=/dev/sda of=/root/MBR.img count=1 bs=512 (üks kord, et mitte tsüklisse minna; blokisuurus 512 baiti)&lt;br /&gt;
taastamine: dd if=/root/MBR.img of=/dev/sda count=1 bs=512&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mkdir - ahelloomine: mkdir –p /dir1/dir2/dir3/dir4&lt;br /&gt;
&lt;br /&gt;
rmdir suudab samamoodi kustutada (kui on tühjad): rmdir –p /dir1/dir2/dir3/dir4&lt;br /&gt;
&lt;br /&gt;
tegelikult saab kustutada ka koos failidega: --ignore-fail-on-non-empty&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Otsing ===&lt;br /&gt;
&lt;br /&gt;
locate - andmebaasiotsing; baasiuuendus updatedb, konf /etc/updatedb.conf&lt;br /&gt;
-i - tõstutundetu&lt;br /&gt;
locate otsib otsingustringi täis-kataloogiteest ja tagastab ka osalised väärtused (N. locate kaka  - /home/kakaduu/blabla)&lt;br /&gt;
&lt;br /&gt;
find - otsib päris failisüsteemist. Üldkuju:&lt;br /&gt;
&lt;br /&gt;
find tee -valikud argumendid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Valikud (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
group - Based on files belonging to the specified group&lt;br /&gt;
newer - Based on files more recent than the specified file&lt;br /&gt;
name - Based on files with names matching a case- sensitive string&lt;br /&gt;
iname - Based on files with names matching a non-case-sensitive string&lt;br /&gt;
user - Searches for files belonging to the specified user&lt;br /&gt;
mtime - The modify time; used for finding files x days old&lt;br /&gt;
atime - Based on the number of days since last accessed&lt;br /&gt;
ctime - Based on the number of days since the directory entry was last changed&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Saab kombineerida skriptiks:  find /home –iname *.mp3 –exec cp –f {} .\;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which - näitab programmi täit kataloogiteed&lt;br /&gt;
&lt;br /&gt;
which -a nimi näitab kõiki, kui on mitu (muidu ainult esimesena leitu)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
whereis - sarnaneb which-iga, aga rohkem infot&lt;br /&gt;
&lt;br /&gt;
-b—Searches for binaries&lt;br /&gt;
-m—Searches for manual entries&lt;br /&gt;
-s—Searches for sources&lt;br /&gt;
-u—Finds unusual or improperly documented entries&lt;br /&gt;
&lt;br /&gt;
type käsk - näitab, kas on sisekäsk, alias vmm&lt;br /&gt;
&lt;br /&gt;
type -a käsk - kõik variandid (nagu which)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lingid&lt;br /&gt;
&lt;br /&gt;
Sümlingi õiguste muutmise asemel muudetakse sihtfaili õigusi!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Varundamine&lt;br /&gt;
&lt;br /&gt;
tar - palju faile kokku&lt;br /&gt;
&lt;br /&gt;
tar -t - listing&lt;br /&gt;
&lt;br /&gt;
cpio - sarnaneb tar-iga, ei paki kokku. Kasutavad näiteks initramfs ja RPM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-o (out) või --create - loob arhiivi&lt;br /&gt;
-i (in) või --extract - avab&lt;br /&gt;
-p või --pass-through - sisuliselt cp -r ehk kopeerimine ühest kohast teise&lt;br /&gt;
&lt;br /&gt;
gzip ja bzip2, lisaks on veel xz (efektiivne, aga mäluõgard):&lt;br /&gt;
kokku: xz, xz -z või xz --compress &lt;br /&gt;
lahti: unxz, xz -d, xz --uncompress või xz --decompress&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teksti S/V ===&lt;br /&gt;
&lt;br /&gt;
stdin, stdout, stderr - vastavalt kirjeldaja numbbrid 0,1,2 ja seonduvad failid /proc/self/fd0, fd1 ja fd2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;, &amp;gt;, &amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalus &amp;quot;saata vead jalust ära&amp;quot;   -  find blabla  2&amp;gt; /dev/null  | more   või ka  find blabla &amp;gt; andmed.txt 2&amp;gt; vead.txt&lt;br /&gt;
&lt;br /&gt;
Kogu väljundi nullimine: find / -iname *.txt &amp;gt; /dev/null 2&amp;gt;&amp;amp;1  (stout nulli ja stderr stdout-i)&lt;br /&gt;
&lt;br /&gt;
less toetab enamikku vi navigeerimiskäskudest&lt;br /&gt;
&lt;br /&gt;
suunamine vs toru - suunamine kasutab faile, toru kasutab programme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Järjestikkäsud ====&lt;br /&gt;
&lt;br /&gt;
käsk1; käsk2; käsk3  - kolm teineteisest sõltumatut käsku&lt;br /&gt;
käsk1 &amp;amp;&amp;amp; käsk2  - käsk2 täidetakse, kui käsk1 lõpetas edukalt&lt;br /&gt;
käsk1 || käsk2 - käsk2 täidetakse, kui käsk1 ei õnnestunud (varuvariant või veateade)&lt;br /&gt;
&lt;br /&gt;
käsuasendaja - backtick ´     export MUUT=`date`&lt;br /&gt;
&lt;br /&gt;
tee - võimaldab jagada stdin-i voo kaheks - ühte töödeldakse, teine saadetakse edasi (või saadetakse korraga nii faili kui ekraanile - või töödeldakse infot paralleelselt alginfo logimisega)&lt;br /&gt;
&lt;br /&gt;
N: find / -iname *.txt | tee findit.out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
xargs - käsu argumentide võtmine eestpoolt&lt;br /&gt;
&lt;br /&gt;
NÄIDE NETIST: leiab .c -laiendiga failid ja kustutab need ära&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
one.c  one.h  two.c  two.h&lt;br /&gt;
&lt;br /&gt;
$ find . -name &amp;quot;*.c&amp;quot; | xargs rm -rf&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
one.h  two.h&lt;br /&gt;
&lt;br /&gt;
sort - võtab stdin-ist või failist ja väljastab stdout-i või faili&lt;br /&gt;
-k number - mitmenda sõna/elemendi järgi (vaikimisi on esimene)&lt;br /&gt;
-n - arvuline (tavaline sorteerib tekstina - 1,11,12,2,21...)&lt;br /&gt;
&lt;br /&gt;
nl - nummerdab read&lt;br /&gt;
&lt;br /&gt;
wc - sõnaloendur&lt;br /&gt;
-l - loeb ridu&lt;br /&gt;
-w - loeb sõnu&lt;br /&gt;
-c - loeb tähemärke (baite)&lt;br /&gt;
&lt;br /&gt;
expand - asendab tabulaatorid n tühikuga (vaikimisi 8)&lt;br /&gt;
-i - ainult rea alguses (enne esimest mittetühikut)&lt;br /&gt;
-t arv - tühikute arvu määramine&lt;br /&gt;
&lt;br /&gt;
cut - vertikaallõige failist (veergude järgi)&lt;br /&gt;
&lt;br /&gt;
cut -c 5-10 failinimi  - kõigi ridade 5.-10. tähemärgid&lt;br /&gt;
&lt;br /&gt;
paste - näitab faile kõrvuti veergudes&lt;br /&gt;
&lt;br /&gt;
join - liidab failid ridupidi, kui ridade alguse võtmeveerud on samad&lt;br /&gt;
&lt;br /&gt;
uniq - eirab korduvaid elemente (soovitav on enne sortida!)&lt;br /&gt;
-d - kuvab ainult read, mis on korduvad (ühekordselt)&lt;br /&gt;
-D - kuvab ainult read, mis on korduvalt (kõik esinemised)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
head  (-n number)  ja tail (-n number)&lt;br /&gt;
&lt;br /&gt;
eriti aga tail -f /var/log/messages   (-f on --follow - jälgib jooksvalt ka muudatusi!)&lt;br /&gt;
&lt;br /&gt;
split - suure faili jupitamine (vaikimisi nimed xaa, xab, xac, xad...)&lt;br /&gt;
-b suurus&lt;br /&gt;
-l ridade arv (vaikimisi 1000!!)&lt;br /&gt;
&lt;br /&gt;
N:  split -b 650M kali-linux-1.0.6-amd64.iso &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cat, tac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
od - octal dump, suudab aga kuvada ka muid süsteeme:&lt;br /&gt;
-a - nimi&lt;br /&gt;
-o - kaheksandarv&lt;br /&gt;
-d - kümnendarv&lt;br /&gt;
-x - kuueteistkümnendarv&lt;br /&gt;
-f - ujukomaarv&lt;br /&gt;
&lt;br /&gt;
Võidakse küsida binaarfailide vaatamise võimalust - suht ainus ongi od. Kui &#039;cat binaarfail&#039; on terminali segi ajanud, tuleks anda reset-käsk&lt;br /&gt;
&lt;br /&gt;
pr - printimiseks vormindamine&lt;br /&gt;
&lt;br /&gt;
fmt - pikkade ridade lühendamine&lt;br /&gt;
&lt;br /&gt;
tr - märgiteisendused:  tr &#039;A-Z &#039;a-z&#039; &amp;lt; commands.txt  või  tr [:upper:] [:lower:] &amp;lt; commands.txt&lt;br /&gt;
&lt;br /&gt;
tr ei suuda lugeda failist, ainus võimalus sisendit saada on suunamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sed - lihtne näide sed s/bob/BOB/ file1&lt;br /&gt;
mitu asendust: sed –e s/bob/BOB/g –e s/BOB/snuffy/g file1 (saab ka semikoolonitega)&lt;br /&gt;
kui tühikud on sees: sed &#039;s/is not/is too/g&#039; file1&lt;br /&gt;
&lt;br /&gt;
asendused saab panna ka eraldi faili, sel juhul  sed -f scriptfile targetfile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
grep&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
grep command has many useful options, including&lt;br /&gt;
* -c This option shows only a numeric count of the matches found, no output of filenames or matches.&lt;br /&gt;
* -C # - This option surrounds the matched string with X number of lines of context.&lt;br /&gt;
* -H - This option prints the filename for each match; it’s useful when you want to then edit that file, as well as being the default option when multiple files are searched.&lt;br /&gt;
* -h - This option suppresses the filename display for each file and is the default when a single file is searched.&lt;br /&gt;
* -i - This option searches for the pattern with no case-sensitivity; all matches are shown.&lt;br /&gt;
* -l - This option shows only the filename of the matching file; no lines of matching output are shown.&lt;br /&gt;
* -L - This option displays the filename of files that don’t have a match for the string.&lt;br /&gt;
* -w - This option selects only lines that have the string as a whole word, not part of another word.&lt;br /&gt;
* -r - This option reads and processes all the directories specified, along with all the files in them.&lt;br /&gt;
* -x - This option causes only exact line matches to be returned; every character on the line must match.&lt;br /&gt;
* -v - This option shows all the lines in a file that don’t match the string; this is the exact opposite of the default behavior.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
egrep =  grep -E&lt;br /&gt;
fgrep = grep -F&lt;br /&gt;
&lt;br /&gt;
=== Protsessid ===&lt;br /&gt;
&lt;br /&gt;
ps&lt;br /&gt;
-a - kõigi kasutajate protsessid&lt;br /&gt;
-u - kasutaja protsessiinfo&lt;br /&gt;
-x - ei näita tty-d&lt;br /&gt;
&lt;br /&gt;
POSIX/UNIX - kriipsuga, BSD - ilma, Linux toetab mõlemaid&lt;br /&gt;
&lt;br /&gt;
ps -aux ja ps -ef on suht sarnased (võidakse küsida)&lt;br /&gt;
&lt;br /&gt;
block - infokogus kettal (enamasti 512B)&lt;br /&gt;
buffer - infokogus põhimälus&lt;br /&gt;
&lt;br /&gt;
free - vaba mälu (tasub lisada -lh)&lt;br /&gt;
&lt;br /&gt;
uptime&lt;br /&gt;
&lt;br /&gt;
protsessi signaalid&lt;br /&gt;
SIGINT 2 katkestus (ctrl-C)&lt;br /&gt;
SIGHUP 6 lõpeta ja alusta uuesti&lt;br /&gt;
SIGKILL 9 lõpeta&lt;br /&gt;
SIGTERM 15 lõpeta (pehmem)&lt;br /&gt;
SIGSTP  20 terminali peatamine (ctrl-X) - sisuliselt paus, saab fg-ga jätkata&lt;br /&gt;
SIGSTOP 23 peata täitmine (jõuga)&lt;br /&gt;
&lt;br /&gt;
Suuremate võimalustega - pkill&lt;br /&gt;
&lt;br /&gt;
jobs&lt;br /&gt;
+ - viimane töö, bg/fg&lt;br /&gt;
- - eelviimane (muutub viimaseks, kui praegune lõpetab)&lt;br /&gt;
&lt;br /&gt;
saab viidata ka %töönumber&lt;br /&gt;
&lt;br /&gt;
Prioriteedid -  vaikimisi 0, madalaim 19, kõrgeim -20. Alla 0 saab anda ainult root&lt;br /&gt;
&lt;br /&gt;
nice ja renice&lt;br /&gt;
&lt;br /&gt;
top - vaikimisi interaktiivne, aga saab anda ka parameetreid&lt;br /&gt;
&lt;br /&gt;
Käimajätmine peale väljalogimist - nohup käsk . Kindlam on teha screeniga!&lt;br /&gt;
&lt;br /&gt;
Screen - käima, Ctrl-a, n  järgmine aken, Ctrl-a, p eelmine aken&lt;br /&gt;
&lt;br /&gt;
Ctrl-a, &amp;quot; näitab akende listi&lt;br /&gt;
&lt;br /&gt;
Akna lahtihaakimine - Ctrl-a, d &lt;br /&gt;
list - screen -ls&lt;br /&gt;
Uuesti haakimine - screen -r PID&lt;br /&gt;
&lt;br /&gt;
Ctrl-a, x - ekraanilukk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== vi ===&lt;br /&gt;
&lt;br /&gt;
3 režiimi&lt;br /&gt;
* käsurežiim&lt;br /&gt;
* sisendrežiim&lt;br /&gt;
* ex-režiim - otsingud, aknaoperatsioonid&lt;br /&gt;
&lt;br /&gt;
Alguse staatuses Top/Bot/All - kas näidatakse algust, lõppu või kogu faili&lt;br /&gt;
&lt;br /&gt;
i - redigeerimine jooksvas positsioonis&lt;br /&gt;
I - redigeerimine jooksva rea algusest&lt;br /&gt;
a - redigeerimne jooksva positsiooni järelt (append)&lt;br /&gt;
A - rea lõpust&lt;br /&gt;
O - uus rida jooksva ette&lt;br /&gt;
&lt;br /&gt;
Tagasi käsurežiimi - Esc&lt;br /&gt;
&lt;br /&gt;
käivitades saab anda kohe reanumbri:   vi +25 minufail.txt   + tähendab tegelikult vi käsku (25 - mine sellele reale)&lt;br /&gt;
&lt;br /&gt;
Nooled:&lt;br /&gt;
h - left&lt;br /&gt;
j - down&lt;br /&gt;
k - up&lt;br /&gt;
l - right&lt;br /&gt;
&lt;br /&gt;
Ctrl-f - lk edasi&lt;br /&gt;
Ctrl-b - lk tagasi&lt;br /&gt;
Ctrl-d - pool edasi&lt;br /&gt;
Ctrl-u - pool tagasi&lt;br /&gt;
&lt;br /&gt;
G - faili lõppu või reale (15G)&lt;br /&gt;
&lt;br /&gt;
u - undo&lt;br /&gt;
:e! tühistab kõik muutused&lt;br /&gt;
&lt;br /&gt;
Salvestus: :w&lt;br /&gt;
Salvestus ja väljumine:  :wq või :x (või käsurežiimis ZZ)&lt;br /&gt;
Väljumine salvestamata: :q!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cw - sõna muutmine&lt;br /&gt;
c$ - muutmine kursorist rea lõpuni&lt;br /&gt;
r - tähe muutmine&lt;br /&gt;
R - rea muutmine kuni Esc-vajutuseni&lt;br /&gt;
&lt;br /&gt;
x - kustutus (Del)&lt;br /&gt;
X - kustutus (Bksp)&lt;br /&gt;
dw - sõna vasakult&lt;br /&gt;
dd - rida&lt;br /&gt;
D - rea lõpuni&lt;br /&gt;
dL - ekraani lõpuni&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
yy - rea kopeerimine&lt;br /&gt;
5yy - 5 rea kopeerimine (blokk)&lt;br /&gt;
yw - sõna&lt;br /&gt;
3yw - 3 sõna&lt;br /&gt;
p - kleepimine kursorist vasakule&lt;br /&gt;
P - paremale&lt;br /&gt;
&lt;br /&gt;
tavaline on nimeta puhver, lisaks on veel 26 (a-z) nimega puhvrit. Puhvri väiketäht kirjutab selle üle, suurtäht lisab sinna&lt;br /&gt;
&lt;br /&gt;
Jutumärgid, puhvri nimi, käsk - näiteks &amp;quot;ayy, &amp;quot;ap&lt;br /&gt;
&lt;br /&gt;
Otsing käsurežiimis: ?otsitav, järgmine n, eelmine N&lt;br /&gt;
&lt;br /&gt;
Asendamine nagu sed-is, ex-režiimis &lt;br /&gt;
- samalt realt: :s/bob/BOB/, kõigi puhul :s/bob/BOB/g (global)&lt;br /&gt;
- kogu failist: :%s/bob/BOB/, kõigi puhul :%s/bob/BOB/g (global)&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldiste otsimine  - /  N: /[tT][hH][eE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi sätted: /etc/vimrc ja kohalik .vimrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Tsitaat raamatust:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For some reason, LPI really wants you to know the options for setting numbers, including the shortcuts for how&lt;br /&gt;
options are set. Examples of how you could set the numbers option on and off include&lt;br /&gt;
:set number—Turns on line numbers (screen only).&lt;br /&gt;
:set nonumber—Turns the number option off.&lt;br /&gt;
:se nu—This is the shortest string that turns this option on, and putting no in front of the option turns that option off.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Väliskäsud:  :! ls -l&lt;br /&gt;
&lt;br /&gt;
Ridade ühendamine - kursor esimesele reale,  J (tõmbab järgmise samale reale)&lt;br /&gt;
&lt;br /&gt;
:split - horisontaalne&lt;br /&gt;
:vsplit - vertikaalne&lt;br /&gt;
&lt;br /&gt;
Kahe akna vahel liikumine Ctrl-w 2x või Ctrl-w ja vastav nool&lt;br /&gt;
&lt;br /&gt;
spliti lõpetamine -  :only (selles aknas, mida soovitakse jätta)&lt;br /&gt;
&lt;br /&gt;
split käsurealt -  hsplit vim -o file1 file2,  vsplit  vim -O file1 file2&lt;br /&gt;
&lt;br /&gt;
faili avamine nummerdatud ridadega: vim +set number” mytestfile.txt&lt;br /&gt;
faili avamine koos string1 esiletoomisega (highlight): vi +/string1 file&lt;br /&gt;
&lt;br /&gt;
vimdiff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettahaldus ===&lt;br /&gt;
&lt;br /&gt;
Vanasti 4 esmast jaotist, ühe sai teha laiendatuks ja sinna N loogilist.&lt;br /&gt;
Idee poolest võimalik lõputult loogilisi jaotisi, ehkki soovitus on mitte üle 12&lt;br /&gt;
&lt;br /&gt;
Buudifailid peavad olema esmasel.&lt;br /&gt;
&lt;br /&gt;
Saaleala tööjaamadel 1-2 x RAM (eriti läpakatel talveune tõttu), mõnedel serveritel ei kasutata üldse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fdisk&lt;br /&gt;
&lt;br /&gt;
MBR-ketaste jaoks. Üldkuju: fdisk /dev/sda (vmm)&lt;br /&gt;
p - jaotiseinfo&lt;br /&gt;
n - uus jaotis&lt;br /&gt;
d - kustutamine&lt;br /&gt;
t - tüübi muutmine&lt;br /&gt;
w - muudatuste salvestamine&lt;br /&gt;
	&lt;br /&gt;
uue loomisel on kõige lihtsam määrata suurus (mitte sektoripiirid jms) +väärtus; nt +500M, +1.5G&lt;br /&gt;
&lt;br /&gt;
fdisk -l - näitab kohe infot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gdisk &lt;br /&gt;
&lt;br /&gt;
uute UEFI/GUID/GPT ketaste jaoks (pole 2TB ülempiiri ega 4 jaotise piirangut - toetab kuni 128-t jaotist).&lt;br /&gt;
&lt;br /&gt;
gdisk -l /dev/sda - info&lt;br /&gt;
&lt;br /&gt;
MBR paigutatakse ketta esimesse loogilisse blokki, GPT teise!&lt;br /&gt;
&lt;br /&gt;
gdisk käitub muidu üsna sarnaselt fdiskile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
parted ja gparted  - märkus: parted ei pane paika jaotise tüüpi!&lt;br /&gt;
&lt;br /&gt;
FS tüübid:&lt;br /&gt;
- ext*&lt;br /&gt;
- udf - DVD&lt;br /&gt;
- vfat - FAT32&lt;br /&gt;
- nfs - Sun-i Network Filesystem, vaikimisi kõigil Linuxitel&lt;br /&gt;
- smb - Samba/CIFS&lt;br /&gt;
- xfs - SGI&lt;br /&gt;
- ReiserFS&lt;br /&gt;
- btrfs - uus tulija&lt;br /&gt;
&lt;br /&gt;
NB! ext2 -&amp;gt; ext3 ei vaja vormindamist!&lt;br /&gt;
&lt;br /&gt;
inode - iga faili kirje, ei sisalda aga nime (vt ls -i esimene number). Vt ka stat failinimi&lt;br /&gt;
&lt;br /&gt;
debugfs-käsk laseb faili detailide kallale&lt;br /&gt;
&lt;br /&gt;
df -i näitab inode-ide kasutust. Tuleb püüda tasakaalu poole failide suuruse ja  mahu vahel.&lt;br /&gt;
&lt;br /&gt;
FS loomine:  mkfs -t ext4 /dev/sda1   (mkfs on tänapäeval link mkfs.ext4-le)&lt;br /&gt;
&lt;br /&gt;
mke2fs - ext2&lt;br /&gt;
mkdosfs - DOS/FAT&lt;br /&gt;
&lt;br /&gt;
mkswap /dev/sda2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fsck&lt;br /&gt;
&lt;br /&gt;
ka e2fsck, dosfsck, reiserfsck&lt;br /&gt;
&lt;br /&gt;
buudi ajal võtab info /etc/fstab-ist&lt;br /&gt;
&lt;br /&gt;
Parameetrid:&lt;br /&gt;
-A - üks pikk kontroll (mitte etapiline)&lt;br /&gt;
-C - edenemisnäidik (###########)&lt;br /&gt;
-N - kuivalt (simulatsioon)&lt;br /&gt;
-V - lisainfo&lt;br /&gt;
-a - ei küsi ja parandab automaatselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tune2fs - saab muuta sätteid, näiteks vaikimisi 20 käivitust iga fsck-kontrolli kohta.&lt;br /&gt;
tune2fs –c 0 /dev/sda1 - lülitab kontrolli välja?&lt;br /&gt;
&lt;br /&gt;
tune2fs -e määrab, mida tehakse FS vea leidmisel&lt;br /&gt;
&lt;br /&gt;
tunefs -g võimaldab määrata kettal root-ile määratud osa (Kui kõik muu on täis, saab tema sisse)&lt;br /&gt;
&lt;br /&gt;
XFS utiliidid&lt;br /&gt;
&lt;br /&gt;
xfs_info&lt;br /&gt;
xfs_check&lt;br /&gt;
xfs_repair&lt;br /&gt;
&lt;br /&gt;
FS silti ja UUID-d näeb blkid-käsuga (root)&lt;br /&gt;
&lt;br /&gt;
/etc/fstab&lt;br /&gt;
/etc/mtab&lt;br /&gt;
mount&lt;br /&gt;
cat /proc/mounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab-i sisu:&lt;br /&gt;
* seade&lt;br /&gt;
* haakepunkt&lt;br /&gt;
* tüüp&lt;br /&gt;
* valikud (rw,suid,dev,exec,auto,nouser,async)&lt;br /&gt;
* dump - kas dump kaasab võ ei, enamasti 0 (ei)&lt;br /&gt;
* fsck - kontrollijärjekord &lt;br /&gt;
&lt;br /&gt;
Käsitsi haakimine: mount –t type –o option device mountpoint&lt;br /&gt;
&lt;br /&gt;
umount&lt;br /&gt;
&lt;br /&gt;
du&lt;br /&gt;
-h - inimkeelne&lt;br /&gt;
-s - summeerib&lt;br /&gt;
-x - ainult kohalikud FSid (mitte võrk jms)&lt;br /&gt;
&lt;br /&gt;
df &lt;br /&gt;
-h&lt;br /&gt;
-i - inode-id&lt;br /&gt;
-k - kB&lt;br /&gt;
-l - ainult kohalikud&lt;br /&gt;
&lt;br /&gt;
df näitab ketta statistikat, du ei näita!&lt;br /&gt;
&lt;br /&gt;
quota&lt;br /&gt;
&lt;br /&gt;
quotaon&lt;br /&gt;
quotaoff&lt;br /&gt;
quotacheck&lt;br /&gt;
edquota&lt;br /&gt;
&lt;br /&gt;
usrquota, grpquota (fstab)&lt;br /&gt;
&lt;br /&gt;
lisamiseks tuleb panna vastavale FSile fstab-is usrquota ja grpquota ja haakida FS uuesti: mount –o remount,rw /data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
edquote &lt;br /&gt;
-u kasutaja&lt;br /&gt;
-t  - &amp;quot;armuaeg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
repquota -a  - kogu süsteemi raport&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Õigused ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ugo&lt;br /&gt;
&lt;br /&gt;
chmod&lt;br /&gt;
-c - muutunud failid&lt;br /&gt;
-h - sümlink, mitte selletagune fail&lt;br /&gt;
-f - ei õienda (force)&lt;br /&gt;
-R - rekursiivne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui panna kolmest numbrist vaid üks, siis läheb see &amp;quot;others&amp;quot; alla, omanik ja grupp saavad nulli!&lt;br /&gt;
&lt;br /&gt;
SUID - lubab kasutajatel käitada programmi omaniku (enamasti root) õigustes - chmod 4xxx failinimi&lt;br /&gt;
SGID - kataloogi puhul annab õigused kõigile sinna hiljem lisatud failidele, faili puhul annab omanikugrupi õigused - chmod 2xxx fail/kataloog&lt;br /&gt;
sticky - ainult faili ja kataloogi omanikud (pluss root) saavad faile kustutada - chmod 1xxx kataloog&lt;br /&gt;
&lt;br /&gt;
Eribitid summeeruvad nagu tavalised - näiteks SUID+SGID = 6xxx. Tekstina u+s, g+s&lt;br /&gt;
&lt;br /&gt;
SUID/SGID on võimalik turvarisk&lt;br /&gt;
&lt;br /&gt;
Näide seaduslikust kasutusest: chsh võimaldab kasutajal kesta muuta, kui talle pannakse SUID (muidu ei saa /etc/passwd -faili muuta)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Otsing õiguste järgi:&lt;br /&gt;
&lt;br /&gt;
find /usr/bin -perm 777&lt;br /&gt;
find / -perm -4000&lt;br /&gt;
&lt;br /&gt;
umask&lt;br /&gt;
&lt;br /&gt;
Vaikimisi 0022 - aga eribitte ei panda kunagi vaikimisi, seega sisuliselt 022&lt;br /&gt;
Muutmine: näiteks umask 027&lt;br /&gt;
&lt;br /&gt;
chown&lt;br /&gt;
&lt;br /&gt;
ka owner: ja :group - muudavad ainult üht&lt;br /&gt;
&lt;br /&gt;
chgrp &lt;br /&gt;
&lt;br /&gt;
Mõlematel on -R parameeter&lt;br /&gt;
&lt;br /&gt;
NB! x-õigus kataloogil annab ligipääsu! r annab listingu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102941</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102941"/>
		<updated>2016-04-26T11:41:01Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016 1. osa]]&lt;br /&gt;
&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if &amp;lt;nowiki&amp;gt; [[ -x /usr/bin/nginx ]]; &amp;lt;/nowiki&amp;gt; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
&amp;lt;nowiki&amp;gt;if [[ -z $STRING ]]; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while &amp;lt;nowiki&amp;gt;[[ -f /var/lock/script1 ]] ;&amp;lt;/nowiki&amp;gt; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if &amp;lt;nowiki&amp;gt; [[ ! -f /var/lock/maintenance ]];&amp;lt;/nowiki&amp;gt; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102940</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102940"/>
		<updated>2016-04-26T11:39:24Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Töödehaldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if &amp;lt;nowiki&amp;gt; [[ -x /usr/bin/nginx ]]; &amp;lt;/nowiki&amp;gt; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
&amp;lt;nowiki&amp;gt;if [[ -z $STRING ]]; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while &amp;lt;nowiki&amp;gt;[[ -f /var/lock/script1 ]] ;&amp;lt;/nowiki&amp;gt; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if &amp;lt;nowiki&amp;gt; [[ ! -f /var/lock/maintenance ]];&amp;lt;/nowiki&amp;gt; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102939</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102939"/>
		<updated>2016-04-26T11:38:37Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Skriptimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if &amp;lt;nowiki&amp;gt; [[ -x /usr/bin/nginx ]]; &amp;lt;/nowiki&amp;gt; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
&amp;lt;nowiki&amp;gt;if [[ -z $STRING ]]; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while &amp;lt;nowiki&amp;gt;[[ -f /var/lock/script1 ]] ;&amp;lt;/nowiki&amp;gt; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if [[ ! -f /var/lock/maintenance ]]; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102938</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102938"/>
		<updated>2016-04-26T11:36:59Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Skriptimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if &amp;lt;nowiki&amp;gt; [[ -x /usr/bin/nginx ]]; &amp;lt;/nowiki&amp;gt; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
&amp;lt;nowiki&amp;gt;if [[ -z $STRING ]]; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while [[ -f /var/lock/script1 ]] ; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if [[ ! -f /var/lock/maintenance ]]; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102937</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102937"/>
		<updated>2016-04-26T11:35:51Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Skriptimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if [[ -x /usr/bin/nginx ]]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
&amp;lt;nowiki&amp;gt;if [[ -z $STRING ]]; then&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while [[ -f /var/lock/script1 ]] ; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if [[ ! -f /var/lock/maintenance ]]; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102936</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102936"/>
		<updated>2016-04-26T11:35:03Z</updated>

		<summary type="html">&lt;p&gt;Kaido: /* Skriptimine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if [[ -x /usr/bin/nginx ]]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
if [[ -z $STRING ]]; then&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while [[ -f /var/lock/script1 ]] ; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if [[ ! -f /var/lock/maintenance ]]; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102935</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102935"/>
		<updated>2016-04-26T11:32:46Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if [[ -x /usr/bin/nginx ]]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
if [[ -z $STRING ]]; then&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while [[ -f /var/lock/script1 ]] ; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if [[ ! -f /var/lock/maintenance ]]; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102934</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102934"/>
		<updated>2016-04-26T11:32:16Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if [[ -x /usr/bin/nginx ]]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
if [[ -z $STRING ]]; then&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while [[ -f /var/lock/script1 ]] ; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if [[ ! -f /var/lock/maintenance ]]; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102933</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102933"/>
		<updated>2016-04-26T11:31:12Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if [[ -x /usr/bin/nginx ]]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
if [[ -z $STRING ]]; then&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while [[ -f /var/lock/script1 ]] ; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if [[ ! -f /var/lock/maintenance ]]; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102932</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102932"/>
		<updated>2016-04-26T11:28:24Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if [[ -x /usr/bin/nginx ]]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
if [[ -z $STRING ]]; then&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while [[ -f /var/lock/script1 ]] ; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if [[ ! -f /var/lock/maintenance ]]; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102931</id>
		<title>LPIC-1 - Kaku konspekt 2016, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016,_2._osa&amp;diff=102931"/>
		<updated>2016-04-26T11:26:48Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Created page with &amp;quot;JÄTKUU....  LPIC-1 - Kaku konspekt 2016, 1. osa   === Käsukestad ===  Peamiselt siin bash.  Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).  Sisselogimise bl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Käsukestad ===&lt;br /&gt;
&lt;br /&gt;
Peamiselt siin bash.&lt;br /&gt;
&lt;br /&gt;
Kest pannakse kirja /etc/passwd-i (kui ei ole, tuleb bash).&lt;br /&gt;
&lt;br /&gt;
Sisselogimise blokeerimine: panna shelliks /bin/false või /sbin/nologin (viimane annab vastava teate).&lt;br /&gt;
&lt;br /&gt;
tühikutega teksti võib panna jutumärkidesse või panna tühiku ette \ &lt;br /&gt;
&lt;br /&gt;
TERVITUS=&amp;quot;Tere tere!&amp;quot; on sama mis  TERVITUS=Tere\ Tere!&lt;br /&gt;
&lt;br /&gt;
vaikimisi defineeritakse vaid samale kestale, mitte tuletistele - seetõttu ./programm -käivitamisel need edasi ei lähe (avatakse uus kest)!&lt;br /&gt;
&lt;br /&gt;
lahendus on muutuja eksport - siis antakse edasi &amp;quot;lastele&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Vastassuunalise protsessi jaoks (&amp;quot;lapse&amp;quot; defineeritud muutuja kasutamine &amp;quot;vanemas&amp;quot;) tuleb &amp;quot;laps&amp;quot; käivitada mitte täitmise,&lt;br /&gt;
vaid pöördumisega (source - sarnaselt kesta häälestusfailidega):&lt;br /&gt;
source ./skript  või&lt;br /&gt;
. ./skript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
muutujate väärtustamine ja nullimine&lt;br /&gt;
&lt;br /&gt;
lihtsal tasemel set ja unset - NB! unset ilma dollarimärgita!&lt;br /&gt;
&lt;br /&gt;
set ilma parameetriteta näitab kõiki muutujaid.&lt;br /&gt;
&lt;br /&gt;
set +/- omadus - kesta omaduste seadmine. - on seadmine, + on tühistamine!&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
  set -x  või set -o xtrace  - käskude kuvamine ekraanil (kasulik skriptide silumisel)&lt;br /&gt;
  set -C või set -o noclobber - ei luba suunamistel olemasolevaid faile üle kirjutada&lt;br /&gt;
&lt;br /&gt;
saab määrata ka positsioonilisi parameetreid. Näiteks&lt;br /&gt;
&lt;br /&gt;
set a b c d e f&lt;br /&gt;
echo $1   // väljastab a&lt;br /&gt;
echo {4}  // väljastab d&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamkesta kasutamine&lt;br /&gt;
&lt;br /&gt;
Alamkesta avamiseks tuleb vastavad käsud panna sulgudesse, käskude vahele semikoolonid.&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Algne kest: tase $BASH_SUBSHELL, kesta PID $$&amp;quot;&lt;br /&gt;
FOO=bar&lt;br /&gt;
echo &amp;quot;Muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
(FOO=boo; echo -n &amp;quot;Alamkest: tase  $BASH_SUBSHELL.&amp;quot;; echo &amp;quot;Muutuja väärtus $FOO&amp;quot;;&lt;br /&gt;
echo &amp;quot;PID: $$&amp;quot;)&lt;br /&gt;
echo &amp;quot;Uuesti algne kest, muutuja väärtus $FOO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
NB! PID jääb samaks!&lt;br /&gt;
&lt;br /&gt;
BASH_SUBSHELL - bashi muutuja, näitab alamkesta taset&lt;br /&gt;
$$ - jooksva protsessi PID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
env kasutamine skriptides (vaikimisi kuvab kõik muutujad)&lt;br /&gt;
&lt;br /&gt;
shebang ehk #!/interpretaator  - määrab, millega tuleb skript käivitada (N: /usr/bin/ruby, /usr/bin/python, /bin/bash)&lt;br /&gt;
&lt;br /&gt;
kui aga interpretaatori asukoht ei ole täpselt teada, saab seda env-iga PATH-ist otsida:  #!/bin/env ruby&lt;br /&gt;
&lt;br /&gt;
env -i - keskkonnamuutujate algväärtustus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisselogimise häälestusfailide poole pöördumine&lt;br /&gt;
&lt;br /&gt;
1. /etc/profile  (ja kui on, siis /etc/profile.d/ sisu)&lt;br /&gt;
2. ~/.bash_profile - kui ei ole, otsitakse .bash_login või .profile -faile&lt;br /&gt;
3. ~/.bashrc - pöördutakse .bash_profile-ist&lt;br /&gt;
4 ~/.bash_logout - väljalogimisel viimasena. Peamine mõte on clear-käsk ehk ekraani puhastamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Muu kestakasutus (ilma sisselogimata) - ainult ~/.bashrc (Red Hatil kutsub see  omakorda välja /etc/bashrc)&lt;br /&gt;
&lt;br /&gt;
PATH&lt;br /&gt;
&lt;br /&gt;
vaikimisi otsitavate kataloogide kogum. Muutuja PATH, eri kataloogid eraldatud koolonitega&lt;br /&gt;
&lt;br /&gt;
Näide: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin; /home/sean/bin:/home/sean/cxoffice/bin:/opt/IBMJava2-142/jre/bin/&lt;br /&gt;
&lt;br /&gt;
Enamasti lisatakse kasutaja kodukataloog olemasolevale PATH-ile: export PATH=$HOME/bin:$PATH.&lt;br /&gt;
&lt;br /&gt;
Jooksva kataloogi lisamine: export PATH=$PATH:  Turvarisk! Võimaldab luua kurja programmi, nimetada see näiteks ls-iks ja käitada prioriteediga päris ls-i ees!&lt;br /&gt;
&lt;br /&gt;
aliased  - käskude lühikujud. Alias on suurema prioriteediga kui PATH-i käsud! Aliasest möödapääsus tuleb kas anda käsk koos täis-kataloogiteega (bin/rm) või panna ette paosümbol \ (\rm).&lt;br /&gt;
&lt;br /&gt;
funktsioonid - üldkuju:   function nimi(){ käsud }  . Näide:&lt;br /&gt;
&lt;br /&gt;
function dircp () {&lt;br /&gt;
tar -cf - * | ( cd $1 &amp;amp;&amp;amp; tar -xf - )&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Parameetrid $1, $2 jne. Kõik parameetrid korraga - $*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS1 - prompti muutmine&lt;br /&gt;
&lt;br /&gt;
$ PS1=&amp;quot;\h:\w\$ &amp;quot;&lt;br /&gt;
bob:~/tmp$&lt;br /&gt;
&lt;br /&gt;
h - hostname&lt;br /&gt;
w - jooksev kataloog&lt;br /&gt;
$ - dollar (tavaprompt)&lt;br /&gt;
&lt;br /&gt;
NB! Makrod algavad \ -ga!&lt;br /&gt;
&lt;br /&gt;
PS2 - lisaprompt, mida näidatakse rohkem kui 1-realiste käskude puhul (vaikimisi on see &amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uue kasutaja loomise vaikimisi info&lt;br /&gt;
&lt;br /&gt;
useradd kasutab vaikimisi /etc/skel väärtusi&lt;br /&gt;
muudetav failist /etc/default/useradd .&lt;br /&gt;
&lt;br /&gt;
Minu Minti läpaka /etc/skel:&lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ ls -la /etc/skel/&lt;br /&gt;
kokku 32&lt;br /&gt;
drwxr-xr-x   4 root root  4096 okt    9  2014 .&lt;br /&gt;
drwxr-xr-x 177 root root 12288 märts 30 10:54 ..&lt;br /&gt;
-rw-r--r--   1 root root   220 märts 30  2013 .bash_logout&lt;br /&gt;
drwxr-xr-x   5 root root  4096 dets   9 23:25 .config&lt;br /&gt;
drwxr-xr-x   3 root root  4096 dets   6 14:51 .mozilla&lt;br /&gt;
-rw-r--r--   1 root root   675 märts 30  2013 .profile&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I18n ja l10n ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
Internationalization is the feature that allows a system to display information in different ways.&lt;br /&gt;
Localization is the process that bundles up all the regional changes for a single location into a locale.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Unixi ajatempel - sekundite arv epohhi algusest (01.01.1970) GMT/UTC aja järgi &lt;br /&gt;
&lt;br /&gt;
Aega näitab date (kuupäev + kellaaeg)&lt;br /&gt;
&lt;br /&gt;
Saab määrata eri vorminguid:&lt;br /&gt;
&lt;br /&gt;
$ date +&amp;quot;%Y-%m-%dT%H:%M:%z&amp;quot;&lt;br /&gt;
2015-03-08T21:19:-0500&lt;br /&gt;
&lt;br /&gt;
z - Zulu time (ehk GMT lennunduses ja sõjanduses)&lt;br /&gt;
&lt;br /&gt;
Ajavööndi sätted asuvad /usr/share/zoneinfo alamkataloogides ja failides (N: /usr/share/zoneinfo/Europe/Tallinn) NB! Binaarid!!!&lt;br /&gt;
&lt;br /&gt;
Süsteemi kellaaeg: /etc/localtime - enamasti sümlink vastavale zoneinfo-failile või selle koopia (vt eelmine)&lt;br /&gt;
&lt;br /&gt;
Kasutajad saavad seda muuta TZ-keskkonnamuutuja määramisega&lt;br /&gt;
&lt;br /&gt;
tzselect - aitab leida ajavööndi&lt;br /&gt;
tzconfig ja dpkg-reconfigure tzdata (debianlastel) väärtustavad /etc/localtime-i.&lt;br /&gt;
&lt;br /&gt;
Lisaks salvestatakse ajavöönd veel failidesse /etc/timezone (debianlased) või /etc/sysconfig/clock (redhatlased)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Märgikodeeringud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ASCII - 7 bitti&lt;br /&gt;
&lt;br /&gt;
laiendatud - 8 bitti, eri koodilehed&lt;br /&gt;
&lt;br /&gt;
Üks levinud standard - ISO-8859 ja selle alamstandardid (eesti keelel ISO-8859-15).&lt;br /&gt;
&lt;br /&gt;
Unicode, algselt 2 baiti, esimesed 127 väärtust kattuvad ASCIIga. Hiljem 4-baidine (UTF-16) ja varieeruvalt 1-6 baidine (UTF-8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Locale:&lt;br /&gt;
 Keelekood&lt;br /&gt;
 Riigikood&lt;br /&gt;
 Kodeering (kui vaja)&lt;br /&gt;
&lt;br /&gt;
Näide: et_EE.utf8&lt;br /&gt;
&lt;br /&gt;
Fallback-lokaat: C ehk POSIX, standardne 8-bitine ASCII&lt;br /&gt;
&lt;br /&gt;
kui pole paigaldatud, saab luua locale-gen -käsuga  (locale-gen et_EE.utf8)&lt;br /&gt;
&lt;br /&gt;
paigaldatud lokaate näitab locale -a&lt;br /&gt;
&lt;br /&gt;
i18n - GNU gettext -teek&lt;br /&gt;
&lt;br /&gt;
Muutujad:&lt;br /&gt;
  LANGUAGE - ainult printimisel&lt;br /&gt;
  LC_ALL - lokaadi sundimiseks - NB! sõidab teistest üle, kui ka need on määratud muudmoodi!&lt;br /&gt;
  LC_xxx - lokaadi elemendid (näiteks rahaühik LC_MONETARY)&lt;br /&gt;
  LANG - keele põhimuutuja&lt;br /&gt;
&lt;br /&gt;
Failide tõlkimine kodeeringute vahel - iconv&lt;br /&gt;
&lt;br /&gt;
N: iconv -c -f ASCII -t UTF-8 datafile.txt &amp;gt; datafile.utf8.txt&lt;br /&gt;
&lt;br /&gt;
-c - kustutab tundmatud sümbolid&lt;br /&gt;
-f - from&lt;br /&gt;
-t - to&lt;br /&gt;
-l - list, kõik kasutatavad kodeeringud (suur hulk)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skriptimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine:&lt;br /&gt;
a) ./skript - eeldab käivitusõigust ja shebang-rida alguses&lt;br /&gt;
b) sh skript või bash skript  - sel juhul tõlgendatakse shebang-i kommentaarina!&lt;br /&gt;
&lt;br /&gt;
Kui shebangi pole, üritatakse käivitada vaikimisi kestaga (üldiselt bash)!&lt;br /&gt;
&lt;br /&gt;
Hea skriptimise põhimõtted:&lt;br /&gt;
1. tee ühte asja korralikult&lt;br /&gt;
2. anna selgitusi nii õnnestumise kui ebaõnnestumise puhul&lt;br /&gt;
3. selge stiil, piisavalt kommentaare&lt;br /&gt;
4. selge ja ühemõtteline nimi&lt;br /&gt;
5. laiend näitab, millega seda käitada:  kopeeri.sh, arvuta.pl, leiamaksimum.py&lt;br /&gt;
&lt;br /&gt;
Asukoht: eraviisilised $HOME/bin, teistega jagatavad /usr/local/bin (või leida turvaline viis anda ligipääs kodukataloogi)&lt;br /&gt;
&lt;br /&gt;
NB! SetUID - kernel eirab seda skriptide puhul! Tuleb sudo kasutada&lt;br /&gt;
&lt;br /&gt;
Saab kasutada kõiki käsureakäske, toru, suunamisi, backticki...&lt;br /&gt;
&lt;br /&gt;
Väärtuse arvutamine: $(())  N:  PROCS=$(($PROCS-1)) (ühekordsete puhul on tegu muutujanime asendusega)&lt;br /&gt;
&lt;br /&gt;
N: PROCS=$(( `ps -ef | wc -l` - 1 ))&lt;br /&gt;
&lt;br /&gt;
bc - minikeel reaalarvude töötlemiseks (bash toetab vaikimisi vaid täisarve!)&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
RADIUS=3&lt;br /&gt;
echo &amp;quot;3.14 * $RADIUS ^ 2&amp;quot; | bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tingimuslause:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Märkus: grep -q on vait (ei väljasta tulemusi) - meid huvitab vaid lõppväärtus (0 või mitte)!&lt;br /&gt;
regulaaravaldis [n]agios aitab välistada &amp;quot;iseenda nägemist&amp;quot; grepi poolt (grep nagios)&lt;br /&gt;
&lt;br /&gt;
NB! Enamasti on programmeerimises 0 väär ja 1 tõene. Bashis on sisuliselt vastupidi - 0 tähendab jah/tõene/veatu, 1 ja rohkem vastupidist.&lt;br /&gt;
&lt;br /&gt;
Täielik if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [n]agios; then&lt;br /&gt;
echo Nagios is running&lt;br /&gt;
elseecho Nagios is not running. Starting&lt;br /&gt;
service nagios start&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
else if:&lt;br /&gt;
&lt;br /&gt;
if ps -ef | grep -q [h]ttpd; then&lt;br /&gt;
echo Apache is running&lt;br /&gt;
elif ps -ef | grep -q [n]ginx; then&lt;br /&gt;
echo Nginx is running&lt;br /&gt;
else&lt;br /&gt;
echo No web servers are running&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
faili olemasolu kontroll - test -f&lt;br /&gt;
&lt;br /&gt;
if test -f /etc/passwd; then&lt;br /&gt;
echo &amp;quot;password file exists&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
test on paljude võimalustega!&lt;br /&gt;
&lt;br /&gt;
Teine variant  - kantsulud loetakse test-iks:&lt;br /&gt;
&lt;br /&gt;
if [ -x /usr/bin/nginx ]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
uuemad bashi versioonid toetavad ka topelt-kantsulgu:&lt;br /&gt;
&lt;br /&gt;
if [[ -x /usr/bin/nginx ]]; then&lt;br /&gt;
echo nginx is executable&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
NB! Tühik kantsulgude ees ja järel on oluline!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
&lt;br /&gt;
echo -n &amp;quot;Say something: &amp;quot;&lt;br /&gt;
read STRING&lt;br /&gt;
if [[ -z $STRING ]]; then&lt;br /&gt;
echo &amp;quot;You didn&#039;t say anything&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
echo Thanks for that&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
-z - nullstring&lt;br /&gt;
-n - pole nullstring&lt;br /&gt;
&lt;br /&gt;
stringivõrdlus: = ja !=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Täisarvuvõrdlused:&lt;br /&gt;
&lt;br /&gt;
X -eq Y -võrdub&lt;br /&gt;
X -ne Y - ei võrdu&lt;br /&gt;
X -gt Y - X &amp;gt; Y&lt;br /&gt;
X -ge Y - X &amp;gt;= Y&lt;br /&gt;
X -lt Y - X &amp;lt; Y&lt;br /&gt;
X -le Y - X &amp;lt;= Y&lt;br /&gt;
&lt;br /&gt;
ja/või:&lt;br /&gt;
&lt;br /&gt;
ühekordsete kantsulgude puhul -a ja -o&lt;br /&gt;
kahekordsetel &amp;amp;&amp;amp; ja ||&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
case $1 in&lt;br /&gt;
start)&lt;br /&gt;
echo &amp;quot;Starting the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
stop)&lt;br /&gt;
echo &amp;quot;Stopping the process&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;I need to hear start or stop&amp;quot;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
;; case-bloki lõpp&lt;br /&gt;
*) default/else&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for:&lt;br /&gt;
&lt;br /&gt;
for variable in collection; do&lt;br /&gt;
# Do something on $variable&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
seq - loeb numbreid:&lt;br /&gt;
-  seq 1 5  1,2,3,4,5  (algus, lõpp&lt;br /&gt;
-  seq 1 2 5  1 3 5 (algus, samm, lõpp)&lt;br /&gt;
-  seq -w 8 10  08 09 10 (-w lisab ette nulli)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
&lt;br /&gt;
while [[ -f /var/lock/script1 ]] ; do&lt;br /&gt;
echo waiting&lt;br /&gt;
sleep 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until:&lt;br /&gt;
&lt;br /&gt;
until [ -f /var/tmp/report.done ]; do&lt;br /&gt;
# Waiting until the report is done&lt;br /&gt;
sleep 10&lt;br /&gt;
done&lt;br /&gt;
rm /var/tmp/report.done&lt;br /&gt;
&lt;br /&gt;
stdin-ist lugemine:&lt;br /&gt;
&lt;br /&gt;
while read LINE; do&lt;br /&gt;
echo $LINE&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$?  - töö tulemus (0 või rohkem)&lt;br /&gt;
$# - argumentide arv&lt;br /&gt;
$0 - skripti enda nimi&lt;br /&gt;
&lt;br /&gt;
shift - argumentide nihutamine ühe võrra ettepoole: $5 saab $4-ks, $4 $3-ks jne&lt;br /&gt;
&lt;br /&gt;
exec - asendab kestas jooksva programmi uuega&lt;br /&gt;
&lt;br /&gt;
exit - skriptist väljumine ilma veata&lt;br /&gt;
exit 1 - veaga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmebaaside tüübid:&lt;br /&gt;
1. võti-väärtus (sõnastik) - RPM, BerkeleyDB, otsing kiire, täiendamine aeglane (indeksite ringiarvutamine)&lt;br /&gt;
2. relatsioonilised (kirje-tabel-baas) - mitu-ühele ja mitu-mitmele suhted. MySQL, Oracle, PostgreSQL&lt;br /&gt;
3. schemaless (??) - NoSQL (MongoDB, ElasticSearch, Couchbase). Ei sobi transaktsioonidele, sobivad väga suurtele võrguamdmebaasidele&lt;br /&gt;
&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
sqlite3 või mysql&lt;br /&gt;
&lt;br /&gt;
semikoolon lõpetab&lt;br /&gt;
kommentaar:  -- rea alguses&lt;br /&gt;
Andmed ja tabelinimed on tõstutundlikud, muu tõstutundetu&lt;br /&gt;
&lt;br /&gt;
SELECTi võib kasutada ka printi rollis:  SELECT &amp;quot;teretere&amp;quot;; SELECT 1 + 1;&lt;br /&gt;
&lt;br /&gt;
Tabeleid on kombeks nimetada ainsuses (raamat ja isik, mitte raamatud ja isikud)!&lt;br /&gt;
&lt;br /&gt;
WHERE&lt;br /&gt;
&lt;br /&gt;
=, &amp;gt;, &amp;lt;, &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BETWEEN - NB! Kaasa arvatud piirväärtused&lt;br /&gt;
&lt;br /&gt;
IN (väärtus1, väärtus2, ..., väärtusN). &lt;br /&gt;
&lt;br /&gt;
LIKE:&lt;br /&gt;
_ - üks märk (nagu ? mujal)&lt;br /&gt;
% - 0 või enam märki (nagu * mujal)&lt;br /&gt;
SELECT title FROM book WHERE title LIKE &#039;%Exam Cram 2&#039;;  -- kõik, mille pealkiri lõpeb selle tekstiga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järjestamine:   &lt;br /&gt;
SELECT * FROM book ORDER BY written, year; -- võib ka mitu kriteeriumit panna järjest&lt;br /&gt;
SELECT title from book ORDER by title DESC; -- kahanevalt&lt;br /&gt;
SELECT title from book ORDER by 2 DESC;  -- järjestuse võib määrata ka veerunumbri järgi&lt;br /&gt;
&lt;br /&gt;
Piiramine: LIMIT&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2;  -- kaks viimasena ilmunud raamatut&lt;br /&gt;
SELECT title, year from book DESC LIMIT 2, 2; -- jäta kaks vahele, näita kahte järgmist &lt;br /&gt;
SELECT title, year from book DESC LIMIT 2 OFFSET 2; -- sama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normaliseerimine - tabelite jagamine eraldi tabeliteks andmete dubleerimise vähendamiseks (lingitakse kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ühendamine: JOIN&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author JOIN book ON book.author_id = author.id;&lt;br /&gt;
&lt;br /&gt;
Tabelialiased: AS&lt;br /&gt;
&lt;br /&gt;
N: SELECT * FROM author AS a JOIN book AS b ON b.author_id = a.id;&lt;br /&gt;
AS-sõna ei ole kohustuslik - sama on SELECT * FROM author a JOIN book b ON b.author_id = a.id;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sisemine vs vasak vs parem JOIN&lt;br /&gt;
&lt;br /&gt;
Sisemine: ühisosa;   SELECT * FROM vasak JOIN parem ON vasak.id = parem.id&lt;br /&gt;
vasak: ühisosa + kogu vasak; SELECT * FROM vasak LEFT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
parem: ühisosa + kogu parem; SELECT * FROM vasak RIGHT JOIN parem ON vasak.id = parem.id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NULL - tühi väärtus; IS NULL, IS NOT NULL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alamvalik (subselect):  SELECT title FROM book WHERE author_id IN (SELECT id FROM author WHERE first_name = &amp;quot;Sean&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Enamasti WHERE...IN -konstruktsioonis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Grupeerimine: SELECT first_name, last_name, COUNT(title) AS books FROM author LEFT JOIN book ON author_id=author.id GROUP BY first_name, last_name;&lt;br /&gt;
&lt;br /&gt;
Veel funktsioone: AVG, MIN, MAX, SUM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisamine: INSERT INTO book (title, year, author_id) VALUES (&#039;Sketch of the Analytical Engine&#039;, 1842, 3);&lt;br /&gt;
&lt;br /&gt;
Võtmeväli suureneb automaatselt!  Osa väärtusi võib panna NULLiks või jätta lisamata (paneb ise)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  UPDATE book SET year=2015 WHERE id=6;&lt;br /&gt;
&lt;br /&gt;
Kustutamine: DELETE FROM book WHERE author_id IS NULL;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Loomine: CREATE TABLE book (id integer primary key, title varchar(255), year integer, author_id integer, written integer);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajaliidesed ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X tegeleb&lt;br /&gt;
* baastaseme akendega&lt;br /&gt;
* riistvaraga suhtlemisega&lt;br /&gt;
&lt;br /&gt;
X ei tegele&lt;br /&gt;
* sisselogimisega (seda teeb DM)&lt;br /&gt;
* töölauaga (taust, menüüd, tööriistariba - seda teeb töölauasüsteem)&lt;br /&gt;
* akende detailidega (seda teeb aknahaldur ehk WM)&lt;br /&gt;
&lt;br /&gt;
klient-server süsteem - klient võib asuda nii samas kui teises masinas&lt;br /&gt;
&lt;br /&gt;
Aknahaldur varustab X-i akna &amp;quot;tooriku&amp;quot; elementidega nagu nupud, päis, menüüd jne&lt;br /&gt;
&lt;br /&gt;
Töölauasüsteemis võib olla&lt;br /&gt;
* failihaldur&lt;br /&gt;
* juhtpaneel&lt;br /&gt;
* aknahaldur&lt;br /&gt;
* meediamängija&lt;br /&gt;
* ühtne kujundus&lt;br /&gt;
* erinevad rakendused (K*)&lt;br /&gt;
&lt;br /&gt;
/etc/X11/xorg.conf&lt;br /&gt;
* Files  - moodulid, kirjastiilid&lt;br /&gt;
* Module - glx (sarnane draiverite laadimisele mujal)&lt;br /&gt;
* InputDevice - klaver ja hiir&lt;br /&gt;
* Monitor - kuvar (seadmena - mudel ja tüüp)&lt;br /&gt;
* Screen - kuvasätted&lt;br /&gt;
&lt;br /&gt;
Konfi pole alati vaja, osa distrosid tuvastab automaatselt. xorg.conf&#039;i uuesti genereerimiseks: X -configure või Xorg –configure&lt;br /&gt;
&lt;br /&gt;
uuemates süsteemides võib kirjastiilide jaoks olla üldasukoht /etc/X11/fontpath.d/, kus on sümlingid edasi&lt;br /&gt;
&lt;br /&gt;
Osa süsteeme kasutab kirjastiiliserverit xfs - sel juhul peab olema konfis rida: FontPath &amp;quot;unix/:7100&amp;quot; [või &amp;quot;unix/:-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i seadistus&lt;br /&gt;
&lt;br /&gt;
xvidtune - ainult CRT monitoridele, LCD või LED-iga ei tööta õieti. NB! Suudab kineskoobi õhku lasta!&lt;br /&gt;
&lt;br /&gt;
xwininfo - akna geomeetriainfo, värvipalett jne.&lt;br /&gt;
&lt;br /&gt;
sisselogimishaldurid&lt;br /&gt;
* XDM - /etc/X11/xdm&lt;br /&gt;
* KDM - /etc/kde/kdm&lt;br /&gt;
* GDM - /etc/gdm&lt;br /&gt;
* LightDM - /etc/lightdm, näidis-konfifaili leiab /usr/share/doc/lightdm  alt&lt;br /&gt;
&lt;br /&gt;
Võimaldavad ristkasutust - gdm-&amp;gt;KDE, lightdm-&amp;gt;GNOME jne&lt;br /&gt;
&lt;br /&gt;
konsoolid: reeglina Ctrl-Alt-F1 kuni F6 (/dev/ttyX), Ctrl-Alt-F7 on GUI, Red Hatil on F1 GUI ja järgmised tekstikonsoolid &lt;br /&gt;
&lt;br /&gt;
tekstikonsoolilt tagasi ka Alt-F7&lt;br /&gt;
&lt;br /&gt;
Ctrl-Alt-Bksp (tänapäeval tihti ei toimi!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ligipääsetavus ===&lt;br /&gt;
&lt;br /&gt;
Sticky (klahvid &amp;quot;jäävad sisse&amp;quot;, aitab sisestada kombinatsioone ükshaaval vajutustena)&lt;br /&gt;
Repeat (klahvikorduse rakendumise aja muutmiseks)&lt;br /&gt;
Slow (klahvi reaktsiooniaja muutmiseks)&lt;br /&gt;
Bounce (väldib topeltvajutusi)&lt;br /&gt;
Toggle (annab märku juhtklahvide vajutamisest)&lt;br /&gt;
Mouse (numpad)&lt;br /&gt;
&lt;br /&gt;
kontrastsed teemad (High Contrast)&lt;br /&gt;
&lt;br /&gt;
Ekraanilugejad: Orca, emacspeak, espeak, festival&lt;br /&gt;
Luup: KMagnifier&lt;br /&gt;
virtuaalklaviatuur: GOK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kaugligipääs ===&lt;br /&gt;
&lt;br /&gt;
xhost&lt;br /&gt;
&lt;br /&gt;
Ligipääsu lisamine&lt;br /&gt;
xhost +host1 host2&lt;br /&gt;
&lt;br /&gt;
Seejärel võivad lubatud masinad tulla telneti või ssh-ga külge ja käivitada kliendi&lt;br /&gt;
Võimalik, et klient peab andma lisaks käsu: setenv HOST &amp;quot;server1:0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xhost +  lubab kõiki ligi - turvarisk!&lt;br /&gt;
&lt;br /&gt;
Ligipääsu keelamine:  xhost -host3 host4&lt;br /&gt;
&lt;br /&gt;
ssh-ga ühendumise võtmed: -Y (ilma turvakontrollita) ja -X (arvestab X-i turvaseadeid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kasutajahaldus ===&lt;br /&gt;
&lt;br /&gt;
UID ja GID, omavahel seostab /etc/passwd&lt;br /&gt;
UID 0 - root&lt;br /&gt;
UID 1 - bin (mõne süsteemse tegevuse juures)&lt;br /&gt;
UID 48 - apache&lt;br /&gt;
UID 99 - nobody (kasutaja on olemas, kuid ei saa sisse logida)&lt;br /&gt;
&lt;br /&gt;
Tavakasutajad tüüpiliselt 500 ja edasi&lt;br /&gt;
Soovitus: kohalikud kasutajad 500-9999, võrgukasutajad 10000 ja edasi&lt;br /&gt;
Üle 100 kasutaja korral tasub LDAPi kasutada&lt;br /&gt;
&lt;br /&gt;
/etc/passwd: &lt;br /&gt;
&lt;br /&gt;
ross:x:500:100:Ross Brunson:/home/ross:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja&lt;br /&gt;
vanasti parool, nüüd näitab /etc/shadow kasutamist&lt;br /&gt;
UID&lt;br /&gt;
primaarne GID&lt;br /&gt;
kirjeldus - tänapäeval enamasti nimi, vanasti oli rohkem infot (vrdl. finger)&lt;br /&gt;
kodukataloog&lt;br /&gt;
kest&lt;br /&gt;
&lt;br /&gt;
kest /bin/false - ei saa sisse logida&lt;br /&gt;
kest /etc/nologin - sama, aga annab teate ja veakoodi; kui leidub /etc/nologin.txt, kuvatakse see teatena&lt;br /&gt;
peale sisselogimist kuvatakse /etc/motd sisu&lt;br /&gt;
.hushlogin-fail kodukataloogis - ei tee tavapäraseid sisselogimistegevusi (meilikontroll, lastlogin, MOTD)&lt;br /&gt;
/etc/login.defs - vaikimisi sätted kasutaja loomisel useradd-iga (UID vahemik, paroolipiirangud...)&lt;br /&gt;
/etc/securetty - määrab, kust root võib sisse logida. Kui puudub, võib kõikjalt&lt;br /&gt;
/etc/usertty - slsselogimispiirangud (ainult siis, kui ei kasutata PAM-i)&lt;br /&gt;
&lt;br /&gt;
Grupid -  ei saa asuda üksteise sees. &lt;br /&gt;
a) primaarne - kirjas /etc/passwd-is, ei pea olema /etc/group-is&lt;br /&gt;
b) sekundaarne - kirjas /etc/group-is, määrab täiendavad ligipääsuõigused&lt;br /&gt;
&lt;br /&gt;
0 - root (ligipääs kõigele, millele root-kasutaja ligi saab)&lt;br /&gt;
1 - bin (sarnane bin-kasutajaga)&lt;br /&gt;
100 - tavakasutajate täiendav ligipääs objektidele&lt;br /&gt;
&lt;br /&gt;
BSD-s on grupp wheel, mille liikmed saavad ainsatena anda su-käsku&lt;br /&gt;
&lt;br /&gt;
Red Hat jm kasutavad UPG-d (user private group) - kasutajale tehakse samanimeline grupp&lt;br /&gt;
Debian paneb vaikimisi tavakasutajad gruppi users (GID 100)&lt;br /&gt;
&lt;br /&gt;
/etc/group:     users:x:100:ross,snuffy &lt;br /&gt;
&lt;br /&gt;
grupp, shadow, GID, liikmed (komadega eraldatud)&lt;br /&gt;
&lt;br /&gt;
chgrp&lt;br /&gt;
&lt;br /&gt;
newgrp - ajutine uus kest teise grupiga (saavad vahetada gruppi, mille sekundaarliikmed nad on)&lt;br /&gt;
&lt;br /&gt;
gpasswd - grupi ühisparool, sel juhul küsib newgrp ka seda&lt;br /&gt;
&lt;br /&gt;
useradd nimi&lt;br /&gt;
* loob uue kasutaja järgmise vaba UID-ga (tüüpiliselt üle 500)&lt;br /&gt;
* loob samanimelise grupi (GID=UID) ja määrab selle kasutaja primaargrupiks&lt;br /&gt;
* loob kodukataloogi (reeglina samanimelise)&lt;br /&gt;
* kopeerib /etc/skel uude kodukataloogi ja annab kasutajale sinna õigused&lt;br /&gt;
&lt;br /&gt;
Debian loob vaikimisi kasutaja esimese vaba UID-ga, grupiks paneb users (100) ja kodukataloogi ei tee - &lt;br /&gt;
kodukataloog tuleb luua useradd -m -d -ga, skel-i lisamiseks -k /etc/skel ja uue primaargrupi jaoks -g.&lt;br /&gt;
Red Hat paneb kestaks vaikimisi /bin/bash, Debian jätab tühjaks ja eeldatakse /bin/sh (see on aga bashi sümlink)&lt;br /&gt;
&lt;br /&gt;
useradd&lt;br /&gt;
-d - määrab kodukataloogi&lt;br /&gt;
-D - kuvab vaikimisi sätted failist /etc/default/useradd&lt;br /&gt;
-e - lisab konto aegumistähtaja&lt;br /&gt;
-f - päevade arv, mille järel saab veel aegunud parooliga sisse&lt;br /&gt;
-g - primaargrupp&lt;br /&gt;
-G - sekundaargrupp&lt;br /&gt;
-k - skeletifailid&lt;br /&gt;
-m - loob kodukataloogi, kui seda pole&lt;br /&gt;
-o - lubab dubleerida UID-i (MITTESOOVITAV)&lt;br /&gt;
-s - kesta asukoht täisteena&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Hat lubab useradd -D -ga ka sätteid muuta. Näiteks kest: useradd -D -s /bin/bash&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
usermod&lt;br /&gt;
-c - muudab kirjelduse/nime välja&lt;br /&gt;
-d - muudab kodukataloogi&lt;br /&gt;
-e - muudab aegumistähtaega&lt;br /&gt;
-f - muudab parooliaegumissätteid (kui kaua veel sisse saab)&lt;br /&gt;
-g - muudab primaargruppi (nime või GID järgi)&lt;br /&gt;
-G - muudab sekundaargruppi&lt;br /&gt;
-s - muudab kesta&lt;br /&gt;
-u - muudab UID-i (ohtlik)&lt;br /&gt;
-L - lukustab konto (kirjutab /etc/shadow krüpteeritud paroolile hüüumärgi ette) . Sama teeb passwd -l&lt;br /&gt;
-U - võtab lukust lahti (hüüumärk maha). Sama teeb passwd -u&lt;br /&gt;
&lt;br /&gt;
groupmod - peamiselt nime ja GID-i muutmiseks&lt;br /&gt;
&lt;br /&gt;
Linux võimaldab kustutada kasutaja (ilma kodukataloogi kustutamata), luua hiljem uue samanimelise ja võtta kodukataloog jälle kasutusse!&lt;br /&gt;
&lt;br /&gt;
userdel - kustutab ainult kasutaja&lt;br /&gt;
userdel -r - kustutab kodukataloogi ja meilifaili, ei kustuta aga kasutaja faile mujal süsteemis&lt;br /&gt;
&lt;br /&gt;
Kasutaja jõhker väljaviskamine: leia ps-iga login shell, usermod -L, kill -9 shell_PID, userdel -r kasutaja&lt;br /&gt;
&lt;br /&gt;
groupdel - enne kustutamist tuleks otsida find-iga kõik sinna kuuluvad failid ja omistada ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
* kasutaja&lt;br /&gt;
* krüpteeritud parool&lt;br /&gt;
* viimati muudetud (Unix days)&lt;br /&gt;
* järgmine lubatud muutmine päevades (0 lubab kohe)&lt;br /&gt;
* järgmine kohustuslik muuutmine (99999 sisuliselt lülitab välja - 273 aastat)&lt;br /&gt;
* mitu päeva enne kohustuslikku hoiatatakse&lt;br /&gt;
* mitu päeva peale kohustusliku saab veel sisse&lt;br /&gt;
* aegumiskuupäev (Unix days)&lt;br /&gt;
&lt;br /&gt;
Eraldajad on koolonid&lt;br /&gt;
&lt;br /&gt;
Mõni väli võib olla tühi (::), väljadega on võimalik tekitada vastuolu ja paras jama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failiõigused:&lt;br /&gt;
* /etc/passwd - Red Hat ja Debian 644&lt;br /&gt;
* /etc/shadow - Red Hat 400, Debian 640&lt;br /&gt;
&lt;br /&gt;
passwd - enda parool&lt;br /&gt;
passwd kasutaja - teise parool&lt;br /&gt;
&lt;br /&gt;
chage&lt;br /&gt;
&lt;br /&gt;
chage -option value username - mõjutab /etc/shadow -faili&lt;br /&gt;
Valikud (EI KÜSITA)&lt;br /&gt;
-m  miinimum (lubatud)&lt;br /&gt;
-M maksimum (kohustuslik)&lt;br /&gt;
-d lastchange&lt;br /&gt;
-E aegumine&lt;br /&gt;
-I armuaeg&lt;br /&gt;
-W hoiatus&lt;br /&gt;
&lt;br /&gt;
chage kasutaja -  küsib ise interaktiivselt&lt;br /&gt;
&lt;br /&gt;
chage -l endakasutaja - info enda kohta&lt;br /&gt;
&lt;br /&gt;
passwd &lt;br /&gt;
-d - eemaldab parooli ja lukustab konto&lt;br /&gt;
-m - miinimum&lt;br /&gt;
-x - maksimum&lt;br /&gt;
-w - hoiatus&lt;br /&gt;
-i - armuaeg&lt;br /&gt;
-S - info   (N: kakk P 12/24/2013 0 99999 7 -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ulimit - kasutaja piirangud&lt;br /&gt;
-c - core dump failid&lt;br /&gt;
-d - protsessiandmete maht&lt;br /&gt;
-f - kestas loodud failide suurus&lt;br /&gt;
-n - avatud failide arv&lt;br /&gt;
-t - protsessoriaeg&lt;br /&gt;
-u - protsesside arv&lt;br /&gt;
-v - virtuaalmälu maht&lt;br /&gt;
&lt;br /&gt;
ulimit -a näitab kõike&lt;br /&gt;
&lt;br /&gt;
pannakse kas kasutaja .bashrc-sse või .profile-sse, või samadesse süsteemifailidesse /etc all&lt;br /&gt;
&lt;br /&gt;
/ETC/SHADOW VÄLJADE JÄRJEKORD PEAB PEAS OLEMA!&lt;br /&gt;
&lt;br /&gt;
kui ls -l näitab kasutajanime asemel UID-i, siis on kasutaja kustutatud!&lt;br /&gt;
&lt;br /&gt;
uute failide loomisel ei võeta vanu UID-sid kasutusele (loodi 501-510, siis kustutati 501 ja 504, viimaks loodi veel üks - see saab 511)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Töödehaldus ===&lt;br /&gt;
&lt;br /&gt;
cron&lt;br /&gt;
crond&lt;br /&gt;
crontab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaatamine: crontab -l&lt;br /&gt;
muutmine:  crontab -e&lt;br /&gt;
&lt;br /&gt;
Üldine rida:  minutid tunnid  kuupäev kuu nädalapäev  täidetav_käsk&lt;br /&gt;
&lt;br /&gt;
Redigeerimiseks kasutatav redaktor sõltub EDITOR-süsteemimuutujast - .bash_profile-s export EDITOR=/bin/nano. Vaikimisi on vi&lt;br /&gt;
&lt;br /&gt;
Teiste crontabi saab vaadata ja  muuta vaid root: crontab -l (või -e) -u kasutaja &lt;br /&gt;
&lt;br /&gt;
Tunnid on 24-sed, nädalapäev 0-7, 0 ja 7 on pühapäev&lt;br /&gt;
&lt;br /&gt;
Kõik positsioonid tuleb täita, tühja asemel on tärn (*). N: 30 5 * * 1  - iga esmaspäev kell 5.30&lt;br /&gt;
&lt;br /&gt;
Üldiselt peavad kõik tingimused olema täidetud -  erandiks on olukord, kui täidetud on nii kuupäev kui nädalapäev, sel juhul emb-kumb.&lt;br /&gt;
&lt;br /&gt;
N: 30 5 3 * 1  - iga kuu 3. päeval JA igal esmaspäeval kell 5.30&lt;br /&gt;
&lt;br /&gt;
Kuu ja nädalapäeva võib anda nii numbrina kui kolmetähelise lühendina -  jan,feb,mar ning  sun,mon,tue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klassikaline variant ei luba sündmuse kordamist. Kui seda on vaja, siis&lt;br /&gt;
a) kirjutada komadega eraldatult mitu väärtust:  0 15 25 apr,sep,dec *   igal 25. aprillil, septembril ja detsembril&lt;br /&gt;
b) anda vahemik: 0 15 * * mon-fri  - igal tööpäeval kell 15.00&lt;br /&gt;
&lt;br /&gt;
Perioodiliselt - võib lugeda kõik ajad komadega ette, aga lihtsam on kaldkriipsuga:&lt;br /&gt;
 0 */2 * * *  iga kahe tunni takka&lt;br /&gt;
 0 1-23/2 * * * paaritud tunnid&lt;br /&gt;
&lt;br /&gt;
Käivitatav võib olla mistahes programm või ka kohalik skriptijupp:&lt;br /&gt;
&lt;br /&gt;
0 0 * * * if [[ ! -f /var/lock/maintenance ]]; then /usr/local/bin/backup.sh; fi    käivitab backupi, kui maintenance-faili pole olemas&lt;br /&gt;
&lt;br /&gt;
NB! cron ei arvesta .bashrc-d ega teisi, seetõttu seal defineeritud kataloogiteed ei kehti!&lt;br /&gt;
&lt;br /&gt;
crontabis võib määrata omaenda keskkonnamuutujad (nagu mujal skriptides):&lt;br /&gt;
 PATH - kataloogitee&lt;br /&gt;
 MAILTO - kõik ekraanile minev saadtakse ka sellele e-postiaadressile&lt;br /&gt;
jpt&lt;br /&gt;
&lt;br /&gt;
Mõned &amp;quot;jutukad&amp;quot; tööd võib saata kommentaaridega pikalt:&lt;br /&gt;
25 * * * * /usr/bin/php /home/sean/fof/update-quiet.php &amp;gt; /dev/null&lt;br /&gt;
2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Paljudes distrodes saab kasutada aliasi:&lt;br /&gt;
@reboot - peale iga taaskäivitust&lt;br /&gt;
@yearly - iga aasta 1. jaanuari keskööl&lt;br /&gt;
@annually - sama mis @yearly&lt;br /&gt;
@monthly - iga kuu esimesel keskööl&lt;br /&gt;
@weekly - iga pühapäeva keskööl&lt;br /&gt;
@daily - igal keskööl&lt;br /&gt;
@hourly - igal täistunnil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N:  0 0 * * * /usr/local/bin/backup.sh  on sama kui @daily /usr/local/bin/backup.sh&lt;br /&gt;
&lt;br /&gt;
crontab-iga redigeeritud failid asuvad füüsiliselt /var/spool/cron-is (root only). Saab redigeerida ka muuga, soovitav on aga läbi crontabi&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutajate crontab-ile on ka süsteemi oma: sätted /etc/crontab ja /etc/cron.d/  &lt;br /&gt;
Erinevus - kuues veerg nädalapäeva ja käsu vahel - kasutaja, kellena käsk täidetakse&lt;br /&gt;
&lt;br /&gt;
Veel üks lihtne variant: paigutada käitatav skript vastavasse kataloogi:&lt;br /&gt;
/etc/cron.hourly&lt;br /&gt;
/etc/cron.daily&lt;br /&gt;
/etc/cron.weekly&lt;br /&gt;
/etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
N: cron.daily all on apache2, apt, dpkg, locate, spamassassin...&lt;br /&gt;
&lt;br /&gt;
On ka valge ja must nimekiri: /etc/cron.allow ja /etc/cron.deny  kasutajanimedega (root on erand ja ei kuulu süsteemi). Vrdl host.allow/host.deny&lt;br /&gt;
&lt;br /&gt;
Anacron - harvemate ja mitte väga täpsete tööde jaoks (max täpsus 1 päev)&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab. Kõik root-kasutajana&lt;br /&gt;
&lt;br /&gt;
Mintil:&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
HOME=/root&lt;br /&gt;
LOGNAME=root&lt;br /&gt;
&lt;br /&gt;
# These replace cron&#039;s entries&lt;br /&gt;
1	5	cron.daily	run-parts --report /etc/cron.daily&lt;br /&gt;
7	10	cron.weekly	run-parts --report /etc/cron.weekly&lt;br /&gt;
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ühekordsete tööde jaoks:  &lt;br /&gt;
&lt;br /&gt;
at - nii interaktiivne kui skriptina:&lt;br /&gt;
&lt;br /&gt;
midnight - kesköö&lt;br /&gt;
noon - keskpäev&lt;br /&gt;
teatime - kell 16 pärast lõunat &lt;br /&gt;
kellaaeg - 5:00 a.m.&lt;br /&gt;
kuupäev/kellaaeg - 2pm jul 23, 4am 121504.&lt;br /&gt;
now + kellaaeg - mingi aja pärast:  now + 30 minutes&lt;br /&gt;
&lt;br /&gt;
atq või at -l - ootel tööde loend&lt;br /&gt;
atrm või at -d - töö kustutamine numbri järgi&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny&lt;br /&gt;
&lt;br /&gt;
batch - sarnaneb eelmisega, kuid ei käivita tööd kella järgi, vaid kui süsteemi koormus langeb piisavalt madalale&lt;br /&gt;
&lt;br /&gt;
atrun -l 1.6 (käivitub, kui töökoormus langeb alla 1.6 - vt w-käsuga)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
cupsenable&lt;br /&gt;
&lt;br /&gt;
spooler - trükijärjekorra haldur; /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Algne Unixi daemon: lpr (BSD oma; SysV-l oli lp)&lt;br /&gt;
LPRng&lt;br /&gt;
IPP - HTTP-põhine võrguprintimisprotokoll&lt;br /&gt;
CUPS - kasutab IPP-d, LPR tõlgitakse IPP-ks - /etc/cups&lt;br /&gt;
pildid jäetakse rastergraafikaks, muud failid tõlgitaks PostScripti&lt;br /&gt;
&lt;br /&gt;
draiveriprojektid Foomatic ja Gutenprint&lt;br /&gt;
&lt;br /&gt;
CUPS haldusliides: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
PPD-fail - Postscript Printer Definition, printeri tuvastamiseks&lt;br /&gt;
&lt;br /&gt;
testimiseks võltsprinteri loomine: lpadmin –p FakePrinter –E –v /dev/null –m raw&lt;br /&gt;
&lt;br /&gt;
lp ja lpr mõlemad töötavad käsurealt&lt;br /&gt;
&lt;br /&gt;
suunamine mujale kui vaikimisi printer: lp -d Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn või lpr -P Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn&lt;br /&gt;
&lt;br /&gt;
kaks koopiat: lp -n 2 või  lpr -#2&lt;br /&gt;
&lt;br /&gt;
lpstat &lt;br /&gt;
-a  - trükijärjekorra listing&lt;br /&gt;
veel:&lt;br /&gt;
lpstat -d—Displays the name of the default printer&lt;br /&gt;
lpstat -r—Indicates whether CUPS is running&lt;br /&gt;
lpstat -s—Provides a status summary of how the system is configured&lt;br /&gt;
lpstat -t—Provides a more detailed summary of how the system is configured&lt;br /&gt;
&lt;br /&gt;
lpq - trükijärjekorra päring (staatus ja tööd)&lt;br /&gt;
&lt;br /&gt;
lprm töönumber - töö kustutamine  (võib ka cancel töönumber)&lt;br /&gt;
&lt;br /&gt;
Mujalt kui vaikimisi printerist kustutamine: cancel Hewlett-Packard_HP_LaserJet_Pro_MFP_M127fn-9 (printerinimi-töönumber)&lt;br /&gt;
&lt;br /&gt;
cupsreject ja cupsaccept - järjekorra välja-sisse lülitamine&lt;br /&gt;
&lt;br /&gt;
cupsdisable ja cupsenable - printeri välja-sisse lülitamine (võimaldab koguda töid endiselt trükijärjekorda)&lt;br /&gt;
&lt;br /&gt;
cupsctl&lt;br /&gt;
&lt;br /&gt;
/etc/cups (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
classes.conf - Contains the classes, which can also be created in the web interface. A class is a group of printers,&lt;br /&gt;
and printing to a class queues the job to the first available printer.&lt;br /&gt;
cupsd.conf - The main configuration file, which can also be edited in the web interface. This contains default settings&lt;br /&gt;
such as timeouts, rules about what can be done by different people, and logging settings.&lt;br /&gt;
cupsd.conf.default - A default configuration file that you can use if you really break your production cupsd.conf. Editing the configuration file on the Web also gives you an option to revert to the default file.&lt;br /&gt;
printers.conf - Configuration for each printer that you configured on the system.&lt;br /&gt;
ppd - A directory containing the PPD files for each configured printer.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
=== E-post ===&lt;br /&gt;
&lt;br /&gt;
MUA (Mail User Agent) - sisuliselt klienttarkvara (T-bird, Evolution)&lt;br /&gt;
MTA (Mail Transfer Agent) - Postfix, Qmail, Exim, Sendmail. NB! Sendmail ja Qmail on monoliidid, Postfix ja Exim komponentidega (vrdl kernel)&lt;br /&gt;
MDA (Mail Delivery Agent) - võtab vastu ja viskab kasutaja postkasti&lt;br /&gt;
SMTP&lt;br /&gt;
&lt;br /&gt;
POP&lt;br /&gt;
IMAP&lt;br /&gt;
&lt;br /&gt;
DNS päring MX (mail exchange) kirje saamiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/aliases ja newaliases&lt;br /&gt;
alias võib olla ka mõne teise serveri meiliaadress või ka kohalik fail&lt;br /&gt;
&lt;br /&gt;
~/.forward&lt;br /&gt;
&lt;br /&gt;
kui tahta jätta nii kohalikku kui saata edasi, tuleb kurakaldkriips panna:&lt;br /&gt;
\isaac&lt;br /&gt;
i.smith@example.com&lt;br /&gt;
&lt;br /&gt;
mailq - MTA järjekord; /var/spool/mqueue&lt;br /&gt;
&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logimine ===&lt;br /&gt;
&lt;br /&gt;
Kaks kella&lt;br /&gt;
- riistvara (reaalajakell)&lt;br /&gt;
- tarkvara (süsteemikell, juhib kernel)&lt;br /&gt;
&lt;br /&gt;
Võivad aeg-ajalt erineda&lt;br /&gt;
&lt;br /&gt;
date - kuupäev ja kellaaeg: P apr    3 11:19:15 EEST 2016 (kasutab lokaati!), Wed Apr 15 14:36:05 CDT 2015&lt;br /&gt;
&lt;br /&gt;
-u - näitab UTC-d&lt;br /&gt;
+%s - näitab Unixi aega&lt;br /&gt;
&lt;br /&gt;
saab ka muuta: üldkuju date [MMDDhhmm[[CC]YY][.ss]]  (mida ei sisestata, jäetakse muutmata)&lt;br /&gt;
&lt;br /&gt;
date +formaat - saab väljastada eri komponente - NB! siin M on minut ja m kuu!  A on nädalapäev&lt;br /&gt;
&lt;br /&gt;
Saab kasutada failinimede koostamisel:&lt;br /&gt;
&lt;br /&gt;
$ date +/var/backup/website.%Y%m%d%H%M%S&lt;br /&gt;
/var/backup/website.20150418112516&lt;br /&gt;
&lt;br /&gt;
Saab ka lisada teksti: &lt;br /&gt;
&lt;br /&gt;
kakk@aragorn:~$ date +&amp;quot;Täna on %A&amp;quot;&lt;br /&gt;
Täna on pühapäev&lt;br /&gt;
&lt;br /&gt;
hwclock - adminikäsk riistvarakella jaoks. Sarnaneb date-iga, aga annab ka sekundid&lt;br /&gt;
&lt;br /&gt;
/etc/adjtime näitab, kas riistvarakell on seatud kohaliku või UTC aja järgi - seal on kas LOCAL või UTC&lt;br /&gt;
&lt;br /&gt;
Kui fail puudub või näitab nulle, on süsteem UTC peal ja hwclock ning hwclock -u näitavad sama aega&lt;br /&gt;
&lt;br /&gt;
Sünkimine:&lt;br /&gt;
- hwclock -w  või --systohc  - riistvarakell häälestatakse süsteemi järgi&lt;br /&gt;
- hwclock -s  või --hctosys  - süsteemikell häälestatakse riistvara järgi&lt;br /&gt;
&lt;br /&gt;
NTP&lt;br /&gt;
&lt;br /&gt;
1 ringi kellad GPS järgi (reference clock), reeglina kasutatakse süsteemide häälestamiseks 3. või 4. ringi kelli&lt;br /&gt;
&lt;br /&gt;
NTP-ga sünkimine (admin):  ntpdate kellaserver&lt;br /&gt;
&lt;br /&gt;
pool.ntp.org - üldkasutatavad ajaserverid&lt;br /&gt;
Aliased 0.pool.ntp.org - 3.pool.ntp.org viitavad vabatahtlike käitatavatele kellaserveritele&lt;br /&gt;
&lt;br /&gt;
ntpd - hoiab perioodiliselt sünkroonis (ntpdate on ühekordne). /etc/ntp.conf (Mintil pole, Ubuntu serveril ka mitte!)&lt;br /&gt;
&lt;br /&gt;
Sätib riistvarakella iga 11 minuti järel&lt;br /&gt;
&lt;br /&gt;
ntpq - interaktiivne päringukäsk&lt;br /&gt;
- peers - näitab ühendatud kellaservereid&lt;br /&gt;
- associations - näitab nende ühendust&lt;br /&gt;
&lt;br /&gt;
Logimine - tänapäeval kaks kõrvuti asja - syslog ja SystemD journal&lt;br /&gt;
&lt;br /&gt;
Syslogi logimine:&lt;br /&gt;
- rakendusest&lt;br /&gt;
- käsurealt logger-käsuga&lt;br /&gt;
- üle võrgu, ühendudes logiserveriga&lt;br /&gt;
&lt;br /&gt;
Logimistasemed (NEID KÜSITAKSE!):&lt;br /&gt;
0 - emerg&lt;br /&gt;
1 - alert&lt;br /&gt;
2 - crit&lt;br /&gt;
3 - err&lt;br /&gt;
4 - warn/ing&lt;br /&gt;
5 - notice&lt;br /&gt;
6 - info&lt;br /&gt;
7 - debug&lt;br /&gt;
&lt;br /&gt;
Tüübid:&lt;br /&gt;
- kern&lt;br /&gt;
- user&lt;br /&gt;
- mail&lt;br /&gt;
- daemon&lt;br /&gt;
- auth&lt;br /&gt;
- syslog&lt;br /&gt;
- lpr&lt;br /&gt;
- cron&lt;br /&gt;
- authpriv&lt;br /&gt;
- local0-7&lt;br /&gt;
&lt;br /&gt;
mailiteated alates info tasemest /var/log/maillog, kõik muu /var/log/messages&lt;br /&gt;
&lt;br /&gt;
logger - aitab panna logisse vahepealkirju näiteks enne skripti testimist&lt;br /&gt;
-i lisab ka protsessiinfo&lt;br /&gt;
-p võimaldab logida etteantud tasemel ja tüübiga. N: logger -i -p mail.info Proovime meili&lt;br /&gt;
&lt;br /&gt;
ksyslogd- või sysklogd-pakk - syslogd  + klogd (viimast eriti ei konfita)&lt;br /&gt;
&lt;br /&gt;
/etc/syslog.conf (mul ei ole!)&lt;br /&gt;
# This is a comment&lt;br /&gt;
authpriv.*&lt;br /&gt;
*.info;mail.none;authpriv.none;cron.none&lt;br /&gt;
mail.*&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
cron.*&lt;br /&gt;
*.emerg&lt;br /&gt;
local7.*&lt;br /&gt;
local4.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldised logid:N&lt;br /&gt;
/var/log/messages&lt;br /&gt;
/var/log/secure&lt;br /&gt;
/var/log/maillog&lt;br /&gt;
/var/log/cron&lt;br /&gt;
/var/log/xferlog   - FTP&lt;br /&gt;
&lt;br /&gt;
Lisaks on veel olema rsyslogd (kiire ja laiendatav) ja syslog-ng (uuem variant)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SystemD journal&lt;br /&gt;
&lt;br /&gt;
Systemd logifailid /var/log/journal&lt;br /&gt;
&lt;br /&gt;
journalctl&lt;br /&gt;
-e logi lõppu&lt;br /&gt;
-r pööratud järjestus&lt;br /&gt;
-f (follow) - jälgimine&lt;br /&gt;
-o valikud - valikud, ntx -o verbose&lt;br /&gt;
-u teenus - teenuse järgi?&lt;br /&gt;
&lt;br /&gt;
Mingi teenuse logid: journalctl /usr/sbin/sshd&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/journald.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rotatsioon&lt;br /&gt;
&lt;br /&gt;
logrotate, /etc/logrotate.conf ja /etc/logrotate.d&lt;br /&gt;
&lt;br /&gt;
weekly - kord nädalas&lt;br /&gt;
rotate 4 - neli rotatsiooni enne kustutamist (säilitab 4 nädala logid)&lt;br /&gt;
missingok - ei anna viga, kui logi puudub&lt;br /&gt;
notifempty - kui logi on tühi, ei roteerita &lt;br /&gt;
sharedscripts - käivitab skriptid kõigile valitud failidele&lt;br /&gt;
delaycompress - ei paki logi enne roteerimist&lt;br /&gt;
postrotate - käivitab peale roteerimist vastavad käsud&lt;br /&gt;
&lt;br /&gt;
Käivitatakse cronist või anacronist igapäevaselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrk ===&lt;br /&gt;
&lt;br /&gt;
subnet - loogiline grupp (sarnased aadressid)&lt;br /&gt;
segment - füüsiline grupp (sarnane asukoht, sama kaabel või kommutaatot)&lt;br /&gt;
&lt;br /&gt;
IP - staatiline või dünaamiline&lt;br /&gt;
mask - loogilise grupi (alamvõrgu) piire märkiv kombinatsioon&lt;br /&gt;
lüüs - alamvõrgu värav (marsruuter)&lt;br /&gt;
&lt;br /&gt;
IPv4 - 4 oktetti &lt;br /&gt;
okteti positsioonid sees või väljas, seesolevad summeeruvad&lt;br /&gt;
128 64 32 16 8 4 2 1&lt;br /&gt;
&lt;br /&gt;
Võrgu aadressiklassid:&lt;br /&gt;
A - 1 kuni 126, seega max 126 võrku, üle 16M aadressi&lt;br /&gt;
B - 128 kuni 191, max 16 382 võrku, igas 65 536 aadressi&lt;br /&gt;
C - 192 kuni 223, max üle 2M võrgu, igas 254 aadressi&lt;br /&gt;
D - 224 kuni 239, reserveeritud multicastile&lt;br /&gt;
E - 240 kuni 254, reserveeritud tulevikuks&lt;br /&gt;
&lt;br /&gt;
127 - loopback&lt;br /&gt;
&lt;br /&gt;
A - okteti 1. bitt alati 0&lt;br /&gt;
B - okteti kaks esimest bitti alati 10&lt;br /&gt;
C - okteti kaks esimest bitti alati 11&lt;br /&gt;
&lt;br /&gt;
IP koosneb võrgu- ja hostiosast&lt;br /&gt;
&lt;br /&gt;
A - mask 255.0.0.0 ehk /8 - hostiosa kolm viimast oktetti&lt;br /&gt;
B - mask 255.255.0.0 ehk /16 - hostiosa kaks viimast oktetti&lt;br /&gt;
C - mask 255.255.255.0 ehk /24 - hostiosa viimane oktett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protokollid&lt;br /&gt;
&lt;br /&gt;
IP - adresseerimine ja kommunikatsioon seadmete vahel&lt;br /&gt;
TCP - paketitransport - kindlam kui UDP oma veakontrollisüsteemi tõttu &lt;br /&gt;
UDP - sama, kuid ei kontrolli vigu, ühenduse infot paketiga kaasa ei panda&lt;br /&gt;
ICMP - veateadete ja päringute (ping) saatmiseks&lt;br /&gt;
&lt;br /&gt;
Pordid&lt;br /&gt;
&lt;br /&gt;
üldnimekiri: /etc/services&lt;br /&gt;
Põhipordid 0-1023, tcp ja udp&lt;br /&gt;
Reserveeritud pordid 1024-49151&lt;br /&gt;
Dünaamilised ehk privaatpordid 49152-65535&lt;br /&gt;
&lt;br /&gt;
20 &amp;amp; 21—FTP&lt;br /&gt;
22—SSH&lt;br /&gt;
23—Telnet&lt;br /&gt;
25—SMTP&lt;br /&gt;
53—DNS&lt;br /&gt;
80—HTTP&lt;br /&gt;
110—POP3&lt;br /&gt;
123—NTP&lt;br /&gt;
139—NETBIOS&lt;br /&gt;
143—IMAP&lt;br /&gt;
161 and 162—SNMP&lt;br /&gt;
389—LDAP&lt;br /&gt;
443—HTTPS&lt;br /&gt;
465—SMTPS&lt;br /&gt;
514—SYSLOG&lt;br /&gt;
636—LDAPS&lt;br /&gt;
993—IMAPS&lt;br /&gt;
995—POP3S&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6&lt;br /&gt;
&lt;br /&gt;
alates 90-ndate keskelt, aga 2015. aastaks kasutas seda ikka vaid 7% võrkudest&lt;br /&gt;
&lt;br /&gt;
8 neljakohalist 16-ndnumbrit, koolonid vahel&lt;br /&gt;
&lt;br /&gt;
NAT on aeglustanud v6 levikut, võimaldades alamvõrkudes privaataadresse dubleerida&lt;br /&gt;
&lt;br /&gt;
Väljapakutud eelised:&lt;br /&gt;
- ruutimine olevat parem kui v4-s&lt;br /&gt;
- turvalisus sisse ehitatud&lt;br /&gt;
- automaatkonfimine (jama staatilise vs dünaamilisega jääb ära)&lt;br /&gt;
- paremad paketipäised&lt;br /&gt;
&lt;br /&gt;
lo (loopback)&lt;br /&gt;
&lt;br /&gt;
ifconfig&lt;br /&gt;
- ether/HWaddr - MAC&lt;br /&gt;
- inet - IP&lt;br /&gt;
- broadcast&lt;br /&gt;
- netmask&lt;br /&gt;
&lt;br /&gt;
uuem käsk sama asja vaatamiseks on ip - vähem ülevaatlik, aga rohkem võimalusi&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Red Hatis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-network, konf /etc/sysconfig/network-scripts, näiteks /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
RH konfinäide:&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=static  		# DHCP puhul on siin dhcp&lt;br /&gt;
IPADDR=192.168.1.73&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
GATEWAY=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
taaskäivitus:  service network restart&lt;br /&gt;
&lt;br /&gt;
Võrguliidesed Debianis&lt;br /&gt;
&lt;br /&gt;
utiliit system-config-networking või netcardconfig, konf /etc/network/interfaces&lt;br /&gt;
Debiani konfinäide:&lt;br /&gt;
# /etc/network/interfaces -- configuration file for&lt;br /&gt;
ifup(8), ifdown(8)&lt;br /&gt;
# The loopback interface&lt;br /&gt;
# automatically added when upgrading&lt;br /&gt;
auto lo eth0&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface eth0 inet static # või dhcp&lt;br /&gt;
address 192.168.15.5&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.15.0&lt;br /&gt;
broadcast 192.168.15.255&lt;br /&gt;
gateway 192.168.15.2&lt;br /&gt;
&lt;br /&gt;
taaskäivitus: /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
Lüüsi näitab route või netstat -r (sama pilt!)&lt;br /&gt;
&lt;br /&gt;
Lüüsi lisamine käsitsi:  route add default gw 10.0.0.1  - PEAB TEADMA!&lt;br /&gt;
&lt;br /&gt;
/etc/nsswitch.conf - kust otsitakse nime ja mis järjekorras&lt;br /&gt;
- files - kohalik fail&lt;br /&gt;
- dns - nimeserver&lt;br /&gt;
- nis - kohtvõrgust&lt;br /&gt;
&lt;br /&gt;
N: &lt;br /&gt;
hosts:          files dns&lt;br /&gt;
networks:       files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/hosts - mis IP-d on selles masinas konfitud ja mis nimele vastavad&lt;br /&gt;
127.0.0.1	localhost.localdomain		localhost&lt;br /&gt;
&lt;br /&gt;
/etc/resolv.conf - nimeserverid&lt;br /&gt;
nameserver 194.126.101.34&lt;br /&gt;
nameserver 194.126.115.18&lt;br /&gt;
&lt;br /&gt;
Tavaline järjekord - nsswitch, hosts, resolv&lt;br /&gt;
&lt;br /&gt;
/etc/hostname - täielik hostinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utiliidid:&lt;br /&gt;
- ifconfig - IP ja mask&lt;br /&gt;
- ifup ja ifdown&lt;br /&gt;
- ip - peaks tulevikus asendama pea kõiki teisi siinseid&lt;br /&gt;
- route - ruuting ja lüüs&lt;br /&gt;
- dhcpcd, dhclient ja pump - DHCP klienttarkvara&lt;br /&gt;
- host, nslookup, dig - nimeserveriga suhtlemine&lt;br /&gt;
- hostname&lt;br /&gt;
- netstat - erinev võrguinfo &lt;br /&gt;
- ping&lt;br /&gt;
- traceroute&lt;br /&gt;
- tcpdump - paketisalvestus&lt;br /&gt;
&lt;br /&gt;
ifconfig kasutamine seadmiseks:&lt;br /&gt;
&lt;br /&gt;
ifconfig eth0 192.168.33.2 netmask 255.255.255.0 up&lt;br /&gt;
&lt;br /&gt;
ifconfig -a näitab ka neid liideseid, mis ei tööta&lt;br /&gt;
&lt;br /&gt;
DOS-ründe tõrjumine route-iga - route add 10.1.1.69 lo - suunab pahalase liikluse loopbacki, pahalane näeb timeouti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dhcpcd&lt;br /&gt;
&lt;br /&gt;
/sbin/dhcpcd, client daemon&lt;br /&gt;
&lt;br /&gt;
dhcpcd -k - pehme restart (SIGHUP)&lt;br /&gt;
&lt;br /&gt;
dhclient ja pump - DHCP-aadressi saamiseks&lt;br /&gt;
&lt;br /&gt;
getent:&lt;br /&gt;
kakk@aragorn:~$ getent hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       aragorn&lt;br /&gt;
127.0.0.1       ip6-localhost ip6-loopback&lt;br /&gt;
kakk@aragorn:~$ getent hosts kakupesa.net&lt;br /&gt;
80.235.40.79    kakupesa.net&lt;br /&gt;
kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
netstat (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
-t—Shows TCP statistics&lt;br /&gt;
-r—Shows the routing table&lt;br /&gt;
-a—Shows all the sockets on all functioning interfaces&lt;br /&gt;
-c—Shows a refreshing (every 1 second) view of statistics for usage&lt;br /&gt;
-p—Shows the name and PID of the program related to each socket (very useful!)&lt;br /&gt;
&amp;lt;--- &lt;br /&gt;
&lt;br /&gt;
-s - statistika&lt;br /&gt;
&lt;br /&gt;
ping6 - ping IPv6 jaoks&lt;br /&gt;
traceroute6 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
su&lt;br /&gt;
- või -l - avab uue kesta (kui kasutajat ei määrata, eeldatakse root-i)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Susel  on sux-käsk - graafiline su&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers ja /etc/sudoers.d/ , visudo redigeerib sudoers-i (täiendav veakontroll võrreldes tavaredaktoriga)&lt;br /&gt;
&lt;br /&gt;
sudoers täisõigused: kasutajanimi ALL=(ALL) ALL&lt;br /&gt;
&lt;br /&gt;
Käitatavad teenused&lt;br /&gt;
- alati töötavad&lt;br /&gt;
- nõudmisel&lt;br /&gt;
- välja lülitatud (ISDN või modem)&lt;br /&gt;
&lt;br /&gt;
Nõudmisel teenused - inetd, xinetd &lt;br /&gt;
/etc/inetd.conf, /etc/xinetd.conf =&amp;gt; /etc/xinetd.d/&lt;br /&gt;
&lt;br /&gt;
teenuste näited: finger, imap, *talk, rlogin, telnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  hosts.allow, hosts.deny&lt;br /&gt;
&lt;br /&gt;
ALL&lt;br /&gt;
service&lt;br /&gt;
daemon, daemon&lt;br /&gt;
&lt;br /&gt;
except on ka lubatud&lt;br /&gt;
&lt;br /&gt;
SUID, SGID -  omaniku/omanikugrupi õigustes&lt;br /&gt;
Sticky - ei luba mitteomanikel kataloogist faile kustutada&lt;br /&gt;
&lt;br /&gt;
Eribittide otsimine find-iga:  find / -user root -perm +7000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPG&lt;br /&gt;
&lt;br /&gt;
gpg --gen-key&lt;br /&gt;
&lt;br /&gt;
gpg --list-keys&lt;br /&gt;
&lt;br /&gt;
uue võtmepaari loomine:&lt;br /&gt;
ssh-keygen -b 1024 -t rsa  &lt;br /&gt;
&lt;br /&gt;
ssh &lt;br /&gt;
sshd&lt;br /&gt;
scp&lt;br /&gt;
ssh-agent - programm, mis annab võtmetega ligipääsu (ilma paroolita)&lt;br /&gt;
ssh-add&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_knowh_hosts ja ~/.ssh/known_hosts&lt;br /&gt;
&lt;br /&gt;
scp -r root@remote1:/data root@remote2:/data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
KOGU LUGU!&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102930</id>
		<title>LPIC-1 - Kaku konspekt 2016 1. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102930"/>
		<updated>2016-04-26T11:21:34Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Ross Brunsoni ja Sean Wahlbergi raamat [http://www.pearsonitcertification.com/store/comptia-linux-plus-lpic-1-cert-guide-exams-lx0-103-9780789754554 CompTIA ® Linux+ / LPIC-1 Cert Guide]&lt;br /&gt;
&lt;br /&gt;
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.&lt;br /&gt;
&lt;br /&gt;
=== Riistvara ===&lt;br /&gt;
&lt;br /&gt;
Tsitaat ---&amp;gt;&lt;br /&gt;
IO port — An address, or range of addresses, identifying the&lt;br /&gt;
device; e.g., 0080, 1000-107f.&lt;br /&gt;
&lt;br /&gt;
IRQ — Interrupt requests (IRQs) signal the processor that an&lt;br /&gt;
event has happened and that the CPU is requested to come&lt;br /&gt;
check on the resource. It a limited resource that can&lt;br /&gt;
sometimes be shared.&lt;br /&gt;
&lt;br /&gt;
DMA — Direct memory access (DMA) allows a peripheral&lt;br /&gt;
to access system memory directly rather than having the&lt;br /&gt;
CPU intervene.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
cat /proc/ioports&lt;br /&gt;
cat /proc/interrupts&lt;br /&gt;
cat /proc/dma&lt;br /&gt;
&lt;br /&gt;
Lisaks veel:&lt;br /&gt;
cat /proc/usb&lt;br /&gt;
cat /proc/pci&lt;br /&gt;
&lt;br /&gt;
Riistvara seisu vaatamiseks&lt;br /&gt;
* vaata /proc-i&lt;br /&gt;
* kasuta mõnd spetsiaalset utiliiti (lshw jt)&lt;br /&gt;
&lt;br /&gt;
/proc (procfs) - virtuaalne ehk pseudo-failisüsteem&lt;br /&gt;
&lt;br /&gt;
ls* käsud:&lt;br /&gt;
&lt;br /&gt;
Tsitaat ---&amp;gt;&lt;br /&gt;
* lsmod — Shows the kernel modules loaded, along with any dependencies for those modules. Helpful for double&lt;br /&gt;
checking that the driver is loaded for a peripheral. If the module is not present then use the modprobe command to load it, such as with modprobe bluetooth.&lt;br /&gt;
* lscpu — Provides details about your CPU, such as the number and speed of each socket and core.&lt;br /&gt;
* lspci — Shows a lot of information about your PCI bus and devices. This can identify devices on the bus that the kernel doesn’t know about and provides addressing information for configuring them.&lt;br /&gt;
* lsscsi — Shows information about the SCSI devices on your system, if the system supports SCSI. This tells you if the system can see the disk.&lt;br /&gt;
* lsdev — Shows the devices recognized by your system.&lt;br /&gt;
* lsraid — Displays the Redundant Array of Inexpensive Disks (RAID) devices on the system.&lt;br /&gt;
* lsusb — Displays the USB information and devices for your system.&lt;br /&gt;
* lsblk — Displays the block devices (disks) attached to your system.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
NB! lsdev tuleb Ubuntu 14.04 Serveril procinfo-paki paigaldamisega, lsscsi ja lsraid puuduvad üldse!&lt;br /&gt;
&lt;br /&gt;
Võidakse küsida, milline eelmistest näitab kõige põhjalikumat koondinfot IO, katkestuste ja DMA kohta - selleks on lsdev!!&lt;br /&gt;
&lt;br /&gt;
Osa seadmeinfot asub ka teise virtuaalse failisüsteemi /sys all (sysfs) - /proc all on läbisegi seadmed ja protsessid,&lt;br /&gt;
/sys sisaldab ainult seadmeid!&lt;br /&gt;
&lt;br /&gt;
udev - seadmehaldur; kasutab /sys infot ja haldab seadmeid /dev all.&lt;br /&gt;
&lt;br /&gt;
hotplug - kasutatav jooksvalt ühendatuna (mälupulk)&lt;br /&gt;
coldplug - tahab restarti&lt;br /&gt;
&lt;br /&gt;
dbus (D-Bus) - infovahetuskanal kerneli ja töölauarakenduste vahel (ka rakendused omavahel). N: meiliindikaator tööriistaribal; udev kasutab seda näiteks uue andmekandja haakimisel vastava akna avamiseks.&lt;br /&gt;
&lt;br /&gt;
Integreeritud seadmed, mis Linuxit ei toeta, tasub BIOSist välja lülitada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettad ===&lt;br /&gt;
&lt;br /&gt;
Seadmed algavad 0-st (md0 - RAID, scd0 - CD) või a-st (sda, sdb), kettajaotised 1-st (sda1)&lt;br /&gt;
&lt;br /&gt;
Failisüsteemi eri osad võivad asuda eri ketastel või ka eri võrkudes!&lt;br /&gt;
&lt;br /&gt;
Ketta jagamise akronüüm PIBS:&lt;br /&gt;
&lt;br /&gt;
* Performance - suure koormusega osad eraldi (/home, saaleala)&lt;br /&gt;
* Integrity - kriitilised osad eraldi (upload-kataloog)&lt;br /&gt;
* Backup - kiiresti muutuvad (/var) eraldi aeglastest (/usr)&lt;br /&gt;
* Security - võimalik osi isoleerida&lt;br /&gt;
&lt;br /&gt;
LVM - võimaldab luua loogilisi kettaid üle füüsiliste jaotiste ja ketaste; aitab dünaamiliselt ruumi juurde tekitada&lt;br /&gt;
&lt;br /&gt;
PV (physical volume) - tüüpiliselt ketas või jaotis&lt;br /&gt;
PE (physical extent) - PV alajaotis, mis võivad kuuluda erinevate loogiliste ketaste koosseisu&lt;br /&gt;
VG (volume group) - üks või mitu PV-d&lt;br /&gt;
LV (logical volume) - loogiline ketas, mis koosneb PV-l asuvatest PE-dest (võib kombineerida eri PV-de PE-sid)&lt;br /&gt;
SAN (Storage Are Network) - jagab kettaruumi blokkide tasemel üle võrgu&lt;br /&gt;
&lt;br /&gt;
Ruumi lisamiseks tuleb LV-sse lisada uus PV ja suurendada ruumi seal asuvate PE-de abil.&lt;br /&gt;
&lt;br /&gt;
Snapshotting - LV tõmmis mingil ajahetkel, mis ühendatakse uue kettana - algne LV jätkab tegutsemist (ja muutub)&lt;br /&gt;
&lt;br /&gt;
Levinumad jaotiseskeemid:&lt;br /&gt;
* /  - kõik ühes kohas (LVM-i kasutamine tagab aga piisava paindlikkuse)&lt;br /&gt;
* lisaks /home, /var - kasutaja failid eraldi, samuti kiiresti muutuvad andmed (sh logifailid)&lt;br /&gt;
* lisaks /usr ja /tmp - staatilised süsteemifailid eraldi (pluss võimalus haakida mujalt), /tmp eraldamine aitab turvalisust&lt;br /&gt;
* lisaks /boot -  alglaadimisprotsess ei saa midagi lolliks ajada&lt;br /&gt;
&lt;br /&gt;
swap - saaleala ehk virtuaalmälu&lt;br /&gt;
thrashing - info põrgatamine swapi ja RAMi vahel, aeglustab tööd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BIOS MBR 512 baiti &lt;br /&gt;
&lt;br /&gt;
GRUB2 paigaldus kettale - grub-install /dev/sda . Vaikimisi /boot, saab määrata ka mujale (--boot-directory=)&lt;br /&gt;
&lt;br /&gt;
grub&amp;gt; ls näitab kettaid, sealt saab edasi vaadata, N: ls (hd0, msdos1)  TAB-completion on ka olemas!&lt;br /&gt;
&lt;br /&gt;
grub-mkconfig (võib lisada -o asukoht konfifaili jaoks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alglaadimine ja käivitustasemed ===&lt;br /&gt;
&lt;br /&gt;
Alglaadimise neli faasi:&lt;br /&gt;
1. alglaadurifaas&lt;br /&gt;
2. kernelifaas&lt;br /&gt;
3. esmane kasutajafaas&lt;br /&gt;
4. init&lt;br /&gt;
&lt;br /&gt;
Lisaks LILOle ja GRUBile&lt;br /&gt;
* SYSLINUX - kasutati FAT-andmekandjatel, USB live-süsteemides jm&lt;br /&gt;
* Loadlin - käivituseks DOSist/Windowsist (asendas käigupealt DOSi süsteemituuma Linuxiga)&lt;br /&gt;
&lt;br /&gt;
Täiendavad parameetrid:&lt;br /&gt;
* vga - graafikarežiimi etteandmine, võib olla 10- 8- või 16-süsteem, samuti normal, ext või ask&lt;br /&gt;
* apm - automaatne voooluhaldus. apm=off või noapm võib parandada ühilduvust&lt;br /&gt;
* init - käivitab initi esimese protsessina&lt;br /&gt;
* panic=number - eemalasuva süsteemi puhul teeb lolliksmineku järel N sekundi järel restardi ja proovib uuesti&lt;br /&gt;
* single, 1 - ainult root&lt;br /&gt;
* 2,3,4,5 - tavalised käivitustasemed&lt;br /&gt;
* ro või rw - juurfailisüsteemi haakimine kas ainult lugemiseks või mõlemat pidi&lt;br /&gt;
* mem=xxxM - piirab mälu kasutust xxx MB-ga. Kasuks katkise mälukivi jälitamisel.&lt;br /&gt;
&lt;br /&gt;
Käivitus:&lt;br /&gt;
1. Vool sisse&lt;br /&gt;
2. BIOS käivitub ja otsib laadesektori&lt;br /&gt;
3. BIOS laeb vastavalt käivitusjärjekorrale laadesektori&lt;br /&gt;
4. MBR&lt;br /&gt;
5. alglaadur&lt;br /&gt;
6. kasutaja valib või tuleb vaikimisi valik&lt;br /&gt;
7. Loeb kerneli, kernel käivitub, käivitab seadmed, laeb vajalikud moodulid, otsib initrd, laeb selle ja haagib juurfailisüsteemi&lt;br /&gt;
8. /sbin/init - PID 1&lt;br /&gt;
9. /etc/inittab ja init-skriptid (Debianil /etc/init.d/rcS ja RH-l /etc/rc.d/init.d/rc.sysinit).&lt;br /&gt;
10. juursüsteemi kontroll, vajalikud moodulid, kohalike FS-ide haakimine, võrguliideste käivitus&lt;br /&gt;
11. vaikimisi käivitustase (vastava taseme skriptide abil)&lt;br /&gt;
12. login&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SystemD ===&lt;br /&gt;
&lt;br /&gt;
Sys V initi asemele loodud süsteem, osaliselt käsuühilduv&lt;br /&gt;
&lt;br /&gt;
Peaks olema efektiivsem ja paralleelsem, vähem sõltuvusi, peaks võimaldama rohkem prioriteete - eeldatavasti annab kiirema algkäivituse.&lt;br /&gt;
&lt;br /&gt;
käivitub sümlingist /sbin/init. Kokku üle 60 jupi, tähtsamad on&lt;br /&gt;
* systemd - süsteemi- ja teenustehaldur&lt;br /&gt;
* systemctl - olekuhaldur&lt;br /&gt;
* systemd-analyze - annab statistikat&lt;br /&gt;
* journald - vaikimisi logimissüsteem, võimalik asendada tavalisematega (rsyslog, syslog-ng)&lt;br /&gt;
* consoled - konsoolideemon, peaks asendama virtuaalterminalide süsteemi&lt;br /&gt;
* networkd - võrgudeemon&lt;br /&gt;
* logind - sisselogimisdeemon, toetab ka X-i logimishaldureid&lt;br /&gt;
&lt;br /&gt;
Veel omadusi:&lt;br /&gt;
* kogu logimine journali kaudu&lt;br /&gt;
* teenused ei sõltu käivitustasemetest&lt;br /&gt;
* komponendigrupid (Cgroup) - peaks asendama käivitustasemeid&lt;br /&gt;
* täpsem prioriteedihaldus - varem ainult nice/renice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
init-skriptide asemel üksused (unit). Asukohad kasvava prioriteediga:&lt;br /&gt;
* /usr/lib/systemd/system  - distroga kaasatulnud üksused&lt;br /&gt;
* /run/systemd/system - jooksvalt (töö ajal) loodud üksused&lt;br /&gt;
* /etc/systemd/system - admini poolt hallatavad, kõrgeim prioriteet&lt;br /&gt;
&lt;br /&gt;
Põhitüübid (laiendiks on sama nimi - näiteks .socket):&lt;br /&gt;
* service - süsteemiteenus&lt;br /&gt;
* socket - protsessidevahelise kommunikatsiooni element&lt;br /&gt;
* target - üksuste grupp&lt;br /&gt;
* mount - haakepunkt&lt;br /&gt;
* automount - automaatne haakepunkt&lt;br /&gt;
* device - kerneli kasutatav seadmefail&lt;br /&gt;
* scope - väljast loodud protsess&lt;br /&gt;
* timer - taimer&lt;br /&gt;
* path - failisüsteemi fail või kataloog&lt;br /&gt;
* slice - hierarhiline üksustegrupp&lt;br /&gt;
* snapshot - systemd halduri olekutõmmis&lt;br /&gt;
* swap - saaleala või -fail&lt;br /&gt;
&lt;br /&gt;
SysV käivitustasemete asemel on märgid (target), sisuliselt vastavad käivitustasemetele (NB! Systemd on RedHati leiutis, seega sama süsteem):&lt;br /&gt;
*  	0		poweroff.target			masin seisma&lt;br /&gt;
* 	1		rescue.target			ühekasutaja paranduskeskkond&lt;br /&gt;
*	2		multi-user.target		tekstirežiim ilma võrguta&lt;br /&gt;
*	3		multi-user.target		tekstirežiim võrguga&lt;br /&gt;
*	4		multi-user.target		nagu 3&lt;br /&gt;
*	5		graphical.target		graafiline režiim, võrk&lt;br /&gt;
*	6		reboot.target			restart&lt;br /&gt;
&lt;br /&gt;
Märkide nimedel on ühilduvuse jaoks aliased runlevel0.target ... runlevel6.target&lt;br /&gt;
&lt;br /&gt;
Sõltuvuste ja järjekorra haldus - wants ja requires&lt;br /&gt;
&lt;br /&gt;
Näiteks graphical.target-is:&lt;br /&gt;
Requires=multi-user.target&lt;br /&gt;
After=multi-user.target&lt;br /&gt;
Wants=display-manager.service&lt;br /&gt;
&lt;br /&gt;
Algkäivitus üldiselt sama, aga GRUB käivitab /sbin/init kaudu systemd . default.target on sümlink multi-user.target-ile, see omakorda&lt;br /&gt;
käivitab graphical.target-i.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 ja Mint 18 kasutavad esimeste LTS-idena vaikimisi systemd-d.&lt;br /&gt;
&lt;br /&gt;
Upstart - vahepeal pakutud alternatiivne süsteem - praegu kipub jääma teiste varju (kas jäädi SysV juurde või mindi systemd-le).&lt;br /&gt;
ChromeOS kasutab seda. Asünkroonsus, lihtsus, tagasiühilduvus, laiendatavus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Käivitustasemete haldus ====&lt;br /&gt;
&lt;br /&gt;
Buutimine single-userisse:  GRUBist 1, s või S!&lt;br /&gt;
&lt;br /&gt;
runlevel -käsk annab Debiani perekonnal reeglina vastuse  N 2 -  graafiline keskkond, eelmine tase puudub &lt;br /&gt;
Turvamoment - kui näitab 1 2, siis tuleb veenduda, et eelnev single-user oli ikka seaduslik...&lt;br /&gt;
teine variant on who -r&lt;br /&gt;
&lt;br /&gt;
SystemD puhul systemctl get-default (annab tüüpiliselt multi-user.target). Jooksva taseme näitab systemctl list-units --type=target&lt;br /&gt;
&lt;br /&gt;
Vaikimisi käivitustase:&lt;br /&gt;
* SysV - /etc/inittab-i rida id:X:initdefault: , kus X on käivitustaseme number&lt;br /&gt;
* SystemD - muuta ära soovita sümlink: ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target&lt;br /&gt;
&lt;br /&gt;
Taseme vahetus:&lt;br /&gt;
* SysV - init number (või telinit, mis on ajalooliselt jäänud sümlink)&lt;br /&gt;
* SystemD - systemctl isolate graphical.target  (või runlevel5.target)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Masina sulgemine:&lt;br /&gt;
&lt;br /&gt;
SysV süsteemides halt -p või shutdown:&lt;br /&gt;
-H - peatamine&lt;br /&gt;
-h - peatamine JA/VÕI sulgemine&lt;br /&gt;
-P - sulgemine&lt;br /&gt;
-r - restart&lt;br /&gt;
-k - annab teate ja peatab sisselogimised&lt;br /&gt;
-c - viivitusega sulgemise tühistus&lt;br /&gt;
now - kohe&lt;br /&gt;
+10 - 10 minuti pärast&lt;br /&gt;
12:02 kellaaeg&lt;br /&gt;
N: shutdown -r +15 &amp;quot;Veerand tunni pärast restart!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SystemD puhul - systemctl halt, poweroff või reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Protsessitapmine  - kill ja killall&lt;br /&gt;
&lt;br /&gt;
-9 SIGKILL - kohene tapmine&lt;br /&gt;
-15 SIGTERM - viisakas palve lõpetada  (vaikimisi variant)&lt;br /&gt;
-1 SIGHUP - hangunud protsessi taaskäivitus (konfi uuestilaadimine). ka kill -HUP PID&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Alternatiivsüntaks:  kill -s SIGHUP|SIGKILL|SIGTERM&lt;br /&gt;
&lt;br /&gt;
SystemD puhul saab tappa grupimärgise (group tag) järgi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivituse logimine&lt;br /&gt;
&lt;br /&gt;
SysV:  dmesg-käsk pluss /var/log/messages või /var/log/syslog&lt;br /&gt;
&lt;br /&gt;
SystemD: journalctl --list-boots , sealt valida hirmpikk buudikorra ID ja siis journalctl -boot=akansgargnaghragegegaegte&lt;br /&gt;
käimasolev käivitus on 0, eelmine -1 jne, kuni -34&lt;br /&gt;
&lt;br /&gt;
käimasoleva käivituse teated saab kohe journalctl -b abil!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pakihaldus ===&lt;br /&gt;
&lt;br /&gt;
Debiani sõltuvuste eiramine: --force-depends&lt;br /&gt;
RPM-i pikas nimes ei ole kirjas arhitektuuri!&lt;br /&gt;
RPM-i kohalikke pakkide signatuurikontroll: rpm -K *&lt;br /&gt;
&lt;br /&gt;
FHS - Filesystem Hierarchy Standard&lt;br /&gt;
&lt;br /&gt;
Staatiline linkimine - teek kopeeritakse programmi - suur programm, raske uuendada (teek tuleb uuendada kõigis programmides), aga sõltuvusi pole&lt;br /&gt;
Dünaamiline linkimine - programmi paigutatakse viited teekidele - väike programm, lihtne uuendada, aga sõltuvused võivad probleeme tekitada&lt;br /&gt;
&lt;br /&gt;
.so. -failid on jagatud teegid (shared object)!&lt;br /&gt;
Dünaamiline linkur on ld.so (vahel ld-linux.so), konf on /etc/ld.so.conf&lt;br /&gt;
&lt;br /&gt;
teegid: /lib ja /usr/lib64 (või lib 32 puhul)&lt;br /&gt;
&lt;br /&gt;
järjest linkimine sümlinkidega - vastavalt kes millist teegi versiooni vajab (tegelikult on lõpus üks ja sama teek)&lt;br /&gt;
&lt;br /&gt;
teekidest sõltumist näitab ldd - ldd passwd&lt;br /&gt;
&lt;br /&gt;
ldconfig korrastab viited teekidele (käib läbi /lib-i, /usr/lib/64 ja muud /etc/ld.so.conf-is määratud kohad). Järjestatud nimekiri läheb /etc/ld.so.cache-isse&lt;br /&gt;
&lt;br /&gt;
süsteemimutuja LD_LIBRARY_PATH teekide leidmiseks - määrata saab: export LD_LIBRARY_PATH=/bla/bla/bla (võib panna /etc/profile või ~/.bash_profile -faili). Turvarisk!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Debiani pakid ====&lt;br /&gt;
&lt;br /&gt;
dpkg, apt-*, synaptic, aptitude&lt;br /&gt;
&lt;br /&gt;
pakiinfo - dpkg --info pakinimi&lt;br /&gt;
&lt;br /&gt;
Pakis on juhtinfo arhiiv, milles on&lt;br /&gt;
* conffiles - häälestus peale installi&lt;br /&gt;
* control - metaandmed sõltuvuste kohta&lt;br /&gt;
* md5sums - kontrollsummad&lt;br /&gt;
* postinst - skript, mis käivitub peale installi&lt;br /&gt;
* prerm - skript, mis käivitub enne eemaldamist&lt;br /&gt;
* postrm - skript, mis käivitub peale eemaldamist&lt;br /&gt;
&lt;br /&gt;
Lisaks juhtinfole on pakis info nime, haldaja, arhitektuuri ja sõltuvuste kohta.&lt;br /&gt;
&lt;br /&gt;
Paigaldus - dpkg -i  või --install&lt;br /&gt;
&lt;br /&gt;
Eemaldamine - dpkg -r või --remove, või koos konfiga -P ehk --purge&lt;br /&gt;
&lt;br /&gt;
--force (ohtlik!), --force-reinstreq sunnib reinstalli, --force-conflicts eirab konflikte, --force-depends eirab sõltuvusi, &lt;br /&gt;
--force-remove-essential eemaldab jõuga&lt;br /&gt;
&lt;br /&gt;
Nimekiri - dpkg -l või --list  (toetab metamärke)&lt;br /&gt;
&lt;br /&gt;
Paigaldatud failide nimekiri - dpkg -L või --listfiles&lt;br /&gt;
&lt;br /&gt;
Lühem variant --info-st on --status&lt;br /&gt;
&lt;br /&gt;
Failiotsing pakihalduri kaudu:  dpkg -S või --search &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Algne konf uuesti: dpkg-reconfigure&lt;br /&gt;
&lt;br /&gt;
apt-get - failide paigaldus eemalt (dpkg on kohalik).  /etc/sources.list ja /etc/sources.list.d/ (iga varamu jaoks eraldi fail)&lt;br /&gt;
&lt;br /&gt;
Konfirea näide:  deb http://cdn.debian.net/debian/ wheezy main&lt;br /&gt;
&lt;br /&gt;
Apti puhvri värskendus: apt-get update&lt;br /&gt;
&lt;br /&gt;
Puhvrioperatsioonid: apt-cache&lt;br /&gt;
 - search otsitav&lt;br /&gt;
 - show pakinimi - info paki kohta&lt;br /&gt;
 - showpkg pakinimi - täpsem tehniline info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! apt-get install uuendab olemasoleva paki! Kui tahta ainult uuendamist (lisada ei tohi), siis --only-upgrade&lt;br /&gt;
&lt;br /&gt;
Uuendamine:  apt-get upgrade   (turvauuendused, veaparandused ja täiendused) või apt-get dist-upgrade (karmim uuendus, võib ka eemaldada)&lt;br /&gt;
&lt;br /&gt;
Eemaldamine: apt-get remove või purge (viimane teeb koos konfiga)&lt;br /&gt;
&lt;br /&gt;
==== Red Hati pakid ===&lt;br /&gt;
&lt;br /&gt;
RPM võib tähendada nii pakivormingut, käsku kui andmebaasi!&lt;br /&gt;
&lt;br /&gt;
RPM andmebaas kasutab BerkeleyDB vormingut ja asub kataloogis /var/lib/rpm . Kasutajad saavad teha päringuid, muuta saab vaid root&lt;br /&gt;
&lt;br /&gt;
Segiläinud andmebaasi taastamine: rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
ainult üks kasutaja korraga, teised saavad &amp;quot;transaction lock&amp;quot;-teate&lt;br /&gt;
&lt;br /&gt;
RPM pakk sisaldab&lt;br /&gt;
* pakitud binaarrakendust&lt;br /&gt;
* nime ja versiooni&lt;br /&gt;
* loomise aega ja kohta (host)&lt;br /&gt;
* lühikirjeldust&lt;br /&gt;
* kontrollsummasid ja sõltuvusteinfot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisaks on olemas ka lähtekoodi-RPM-id&lt;br /&gt;
&lt;br /&gt;
Pakil on lühike nimi (sisuliselt nimi ise) ja pikk nimi (nimi-versioon-väljalase.distro)&lt;br /&gt;
&lt;br /&gt;
Näiteks rpm -q kernel näitab kõigi paigaldatud kernelipakkide infot, täpsustamiseks tuleb anda pikk nimi&lt;br /&gt;
&lt;br /&gt;
Ehtsuse tagamiseks kasutatakse MD5 kontrollsummat ja PGP või GPG signatuuri.&lt;br /&gt;
&lt;br /&gt;
kontroll: rpm -K pakinimi või rpm --checksig pakinimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
install: rpm -ivh (install, teavitused, progressinäidik)&lt;br /&gt;
&lt;br /&gt;
failikonfliktide eiramine:  --replacefiles või --force&lt;br /&gt;
&lt;br /&gt;
pakisõltuvuste eiramine: --nodeps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
paki failide kontroll:  rpm -V (--verify)&lt;br /&gt;
&lt;br /&gt;
Tulemus näidatakse 9-kohalise koodina:&lt;br /&gt;
*  S muutunud maht&lt;br /&gt;
* M muutunud mood&lt;br /&gt;
* 5 muutunud MD5&lt;br /&gt;
* D seadmenumber ei klapi&lt;br /&gt;
* L probleem kataloogiteega&lt;br /&gt;
* U muutunud kasutaja&lt;br /&gt;
* G muutunud grupp&lt;br /&gt;
* T muutunud ajatempel&lt;br /&gt;
* P muutunud failiomadused&lt;br /&gt;
&lt;br /&gt;
Kõigi failide kontroll: rpm -Va  (või ka ainult konfifailid: -Vac)&lt;br /&gt;
&lt;br /&gt;
Värskendus (freshen) vs uuendus (upgrade) &lt;br /&gt;
&lt;br /&gt;
rpm -U uuendab - installib uued versioonid ja kõik nende jaoks vajaliku, samuti nime järgi ka uued failid&lt;br /&gt;
rpm -F värskendab - ei installi uusi pakke&lt;br /&gt;
&lt;br /&gt;
Eemaldamine - rpm -e või --erase (kui on mitu versiooni, siis lisada --allmatches !!!)&lt;br /&gt;
&lt;br /&gt;
päring - rpm -q , pikema infoga -qi&lt;br /&gt;
&lt;br /&gt;
faililisting - rpm -ql&lt;br /&gt;
&lt;br /&gt;
info paigaldamata paki kohta - qilp    (lisaks --changelog ???)&lt;br /&gt;
&lt;br /&gt;
Paki sõltuvused - -R (--requires)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
YUM - kui ei taha kinnitust, siis -y  (yum -y install blabla)&lt;br /&gt;
&lt;br /&gt;
allalaadimine ilma paigalduseta: panna y/n valikus d, kasutada yumdownloader-it või yum install --downloadonly&lt;br /&gt;
&lt;br /&gt;
yumdownloader:&lt;br /&gt;
* --source - SRPM&lt;br /&gt;
* --urls - kuvab URLid&lt;br /&gt;
* --resolve - kaasab sõltuvused&lt;br /&gt;
* --destdir - kataloog&lt;br /&gt;
&lt;br /&gt;
update, check-update (nii faili kui kogu süsteemi jaoks)&lt;br /&gt;
&lt;br /&gt;
yum list nimi - otsing nime järgi&lt;br /&gt;
&lt;br /&gt;
saab otsida ka üldist mõistet - yum search &amp;quot;web server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Konf: /etc/yum.conf, varamud /etc/yum.repos.d/&lt;br /&gt;
&lt;br /&gt;
Varamu konfi näide:&lt;br /&gt;
&lt;br /&gt;
[updates]&lt;br /&gt;
name=Fedora $releasever - $basearch - Updates&lt;br /&gt;
failovermethod=priority&lt;br /&gt;
#baseurl=http://download.fedoraproject.org/pub/fedora&lt;br /&gt;
updates/$releasever/$basearch/&lt;br /&gt;
metalink=https://mirrors.fedoraproject.org/metalink?&lt;br /&gt;
repo=updates-&lt;br /&gt;
released-f$releasever&amp;amp;arch=$basearch&lt;br /&gt;
enabled=1&lt;br /&gt;
metadata_expire=6h&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-&lt;br /&gt;
$releasever-$basearch&lt;br /&gt;
skip_if_unavailable=False&lt;br /&gt;
&lt;br /&gt;
yum --enablerepo varamunimi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Käsurida ===&lt;br /&gt;
&lt;br /&gt;
Erinevad käsukestad - kasutaja käsukesta näeb mh /etc/passwd vastavalt realt&lt;br /&gt;
&lt;br /&gt;
Sisselogimise keelamiseks panna kestaks /bin/false (või üldiseks keelamiseks luua fail /etc/nologin)&lt;br /&gt;
&lt;br /&gt;
Käsukesta eri operatsioonid - täitmine (execute) vs pöördumine (sourcing)&lt;br /&gt;
&lt;br /&gt;
Täitmine (programmid) ./skript või sh skript&lt;br /&gt;
Pöördumine (profiilifailid; sisuliselt sisselugemine)  . skript või source skript&lt;br /&gt;
&lt;br /&gt;
Profiilifailid:&lt;br /&gt;
* /etc/profile - globaalne konf, loetakse kesta avamisel esimesena&lt;br /&gt;
* ~/.bash_profile - kasutaja sätted; see omakorda kutsub välja ~/.bashrc&lt;br /&gt;
NB! kui ~/.bash_profile puudub, otsitakse ~/.bash_login, kui ka seda pole, siis .profile&lt;br /&gt;
* ~/.bash_logout - peamine funktsioon on ekraani tühjendamine (clear) välja logides&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseta sessioonid (admini su-käsk) loevad ainult .bashrc, Red Hat loeb enne ka globaalse /etc/bashrc&lt;br /&gt;
&lt;br /&gt;
väliskäsud&lt;br /&gt;
sisekäsud&lt;br /&gt;
käivitatavad skriptid&lt;br /&gt;
aliased&lt;br /&gt;
funktsioonid&lt;br /&gt;
&lt;br /&gt;
Reapoolitus -  \&lt;br /&gt;
&lt;br /&gt;
Erisümbolid:&lt;br /&gt;
~ - jooksva kasutaja kodukataloog&lt;br /&gt;
\ - eirab järgmist sümbolit&lt;br /&gt;
/ - kataloogieraldaja&lt;br /&gt;
$ - muutuja&lt;br /&gt;
? - üks sümbol&lt;br /&gt;
&#039; - absoluuttsitaat&lt;br /&gt;
` - asendus&lt;br /&gt;
&amp;quot; - pehme tsitaat&lt;br /&gt;
* - 0-N sümbolit&lt;br /&gt;
&amp;amp; - taustaprotsess&lt;br /&gt;
&amp;amp;&amp;amp; - käsueraldaja - kui esimene käsk õnnestub, täida teine&lt;br /&gt;
|  - toru&lt;br /&gt;
|| - käsueraldaja - kui esimene käsk ei õnnestu, täida teine&lt;br /&gt;
; - käsueraldaja&lt;br /&gt;
[] - vahemik&lt;br /&gt;
&amp;gt; - suunamine&lt;br /&gt;
&amp;lt; - suunamine&lt;br /&gt;
&lt;br /&gt;
Eelmise käsu väljundstaatuse kuvamine - echo $?&lt;br /&gt;
&lt;br /&gt;
env - keskkonnamuutujad&lt;br /&gt;
set (või shopt) - kesta muutujad ja seaded&lt;br /&gt;
&lt;br /&gt;
kataloogitee eraldajateks on koolonid&lt;br /&gt;
$HOME loetakse /etc/passwd-ist&lt;br /&gt;
koju viib cd, cd ~ või cd $HOME&lt;br /&gt;
&lt;br /&gt;
Ettevaatust ~kasutaja vs ~/kasutaja -ga!  root logini puhul viib ~kasutaja tema kataloogi, ~/kasutaja aga kataloogi /root/kasutaja!&lt;br /&gt;
&lt;br /&gt;
Ajalugu - $HISTFILE, enamasti viitab ~/.bash_history peale&lt;br /&gt;
&lt;br /&gt;
Veel:  $HISTCMD näitab käsu järjenumbrit ajaloos, $HISTCONTROL väärtus &#039;ignoredups&#039; eirab korduvaid käske, &#039;ignorespaces&#039; eirab tühikuga algavaid ridu. $HISTFILESIZE näitab ajaloo pikkust (vaikimisi 500 käsku).&lt;br /&gt;
&lt;br /&gt;
set -o valik - valiku SISSElülitamine&lt;br /&gt;
set +o valik - valiku VÄLJAlülitamine (unset)&lt;br /&gt;
&lt;br /&gt;
Alates bash 2.0-st on shopt-käsk, mis on set-i ülemhulk&lt;br /&gt;
&lt;br /&gt;
Valikud:&lt;br /&gt;
* emacs või vi&lt;br /&gt;
* history (vaikimisi sees)&lt;br /&gt;
* hashall (vaikimisi hashib, et saaks korrata)&lt;br /&gt;
* monitor - taustaprotsessid eraldi gruppi&lt;br /&gt;
* noclobber - vaikimisi väljas, keelab &amp;gt; suunamisega faili ülekirjutamise&lt;br /&gt;
* noexec - skripti kuivkäivitus&lt;br /&gt;
* notify - teatab kohe lõppenud töödest&lt;br /&gt;
* verbose - kogu väljund ekraanile&lt;br /&gt;
&lt;br /&gt;
Tab Tab- käsu lõpu pakkumine!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Failisüsteem ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failinimedes võib olla sisuliselt iga sümbol, ka &amp;amp; või \ (mõnel juhul tuleb olla ettevaatlik)&lt;br /&gt;
&lt;br /&gt;
NB! /root ja /home ei ole mõnede serverite puhul kohustuslikud (ei logita sisse)!&lt;br /&gt;
&lt;br /&gt;
/opt vs /usr/local - /opt on vaid kohalikuks kasutamiseks, jagatud kohalik kraam käib /usr/local-isse&lt;br /&gt;
&lt;br /&gt;
usr (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
bin - Contains user commands&lt;br /&gt;
include - Contains header files for C programs&lt;br /&gt;
lib - Contains libraries&lt;br /&gt;
local - Contains local/sharable programs&lt;br /&gt;
sbin - Contains nonessential system binaries&lt;br /&gt;
share - Contains data/programs for multiple architecture&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
rm -f * ei kustuta peidetud (punktiga) faile&lt;br /&gt;
&lt;br /&gt;
ls (tsitaat)&lt;br /&gt;
&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
ls /home/user - Shows a plain listing of that directory.&lt;br /&gt;
ls –a  - Lists all files, including hidden . files.&lt;br /&gt;
ls –d foo - Lists just the directory called foo, not the contents.&lt;br /&gt;
ls –i - Lists the inode number for the targetfile or directory.&lt;br /&gt;
Inodes are the way Linux represents a file on disk and are&lt;br /&gt;
discussed later in the section “Copying Files and Directories.”&lt;br /&gt;
ls –l - Shows permissions; links; and date, group, and&lt;br /&gt;
owner information. Permissions dictate who can access the&lt;br /&gt;
file and are discussed in detail in Chapter 10, “Permissions.”&lt;br /&gt;
ls –lh - Shows human-readable output of file sizes, in KB,&lt;br /&gt;
MB, and GB, along with file details.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
file failinimi - info faili kohta&lt;br /&gt;
&lt;br /&gt;
file /etc/* | grep empty  - leiab tühjad failid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch - loob tühja faili või muudab olemasoleva ajatemplit&lt;br /&gt;
-t ajatempel  N: touch -t 201603291200 eksam.txt&lt;br /&gt;
-r fail1 fail2  fail1 ajatempel kopeeritakse fail2-le&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cp - mõned erivõtmed:&lt;br /&gt;
-d - ei järgi sümlinke, vaid kopeerib need&lt;br /&gt;
-l - kõva link allikfailile&lt;br /&gt;
-r ja -R - rekursiivne&lt;br /&gt;
-s - sümlink allikfailile&lt;br /&gt;
-u - uuendab koopiat vaid siis, kui seda ei ole olemas või see on vanem (ajakontroll)&lt;br /&gt;
-x - eirab haagitud failisüsteeme&lt;br /&gt;
&lt;br /&gt;
dd - kettakoopia   - dd if=  of= &lt;br /&gt;
&lt;br /&gt;
MBR varundamine dd abil: dd if=/dev/sda of=/root/MBR.img count=1 bs=512 (üks kord, et mitte tsüklisse minna; blokisuurus 512 baiti)&lt;br /&gt;
taastamine: dd if=/root/MBR.img of=/dev/sda count=1 bs=512&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mkdir - ahelloomine: mkdir –p /dir1/dir2/dir3/dir4&lt;br /&gt;
&lt;br /&gt;
rmdir suudab samamoodi kustutada (kui on tühjad): rmdir –p /dir1/dir2/dir3/dir4&lt;br /&gt;
&lt;br /&gt;
tegelikult saab kustutada ka koos failidega: --ignore-fail-on-non-empty&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Otsing ===&lt;br /&gt;
&lt;br /&gt;
locate - andmebaasiotsing; baasiuuendus updatedb, konf /etc/updatedb.conf&lt;br /&gt;
-i - tõstutundetu&lt;br /&gt;
locate otsib otsingustringi täis-kataloogiteest ja tagastab ka osalised väärtused (N. locate kaka  - /home/kakaduu/blabla)&lt;br /&gt;
&lt;br /&gt;
find - otsib päris failisüsteemist. Üldkuju:&lt;br /&gt;
&lt;br /&gt;
find tee -valikud argumendid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Valikud (tsitaat):&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
group - Based on files belonging to the specified group&lt;br /&gt;
newer - Based on files more recent than the specified file&lt;br /&gt;
name - Based on files with names matching a case- sensitive string&lt;br /&gt;
iname - Based on files with names matching a non-case-sensitive string&lt;br /&gt;
user - Searches for files belonging to the specified user&lt;br /&gt;
mtime - The modify time; used for finding files x days old&lt;br /&gt;
atime - Based on the number of days since last accessed&lt;br /&gt;
ctime - Based on the number of days since the directory entry was last changed&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Saab kombineerida skriptiks:  find /home –iname *.mp3 –exec cp –f {} .\;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
which - näitab programmi täit kataloogiteed&lt;br /&gt;
&lt;br /&gt;
which -a nimi näitab kõiki, kui on mitu (muidu ainult esimesena leitu)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
whereis - sarnaneb which-iga, aga rohkem infot&lt;br /&gt;
&lt;br /&gt;
-b—Searches for binaries&lt;br /&gt;
-m—Searches for manual entries&lt;br /&gt;
-s—Searches for sources&lt;br /&gt;
-u—Finds unusual or improperly documented entries&lt;br /&gt;
&lt;br /&gt;
type käsk - näitab, kas on sisekäsk, alias vmm&lt;br /&gt;
&lt;br /&gt;
type -a käsk - kõik variandid (nagu which)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lingid&lt;br /&gt;
&lt;br /&gt;
Sümlingi õiguste muutmise asemel muudetakse sihtfaili õigusi!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Varundamine&lt;br /&gt;
&lt;br /&gt;
tar - palju faile kokku&lt;br /&gt;
&lt;br /&gt;
tar -t - listing&lt;br /&gt;
&lt;br /&gt;
cpio - sarnaneb tar-iga, ei paki kokku. Kasutavad näiteks initramfs ja RPM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-o (out) või --create - loob arhiivi&lt;br /&gt;
-i (in) või --extract - avab&lt;br /&gt;
-p või --pass-through - sisuliselt cp -r ehk kopeerimine ühest kohast teise&lt;br /&gt;
&lt;br /&gt;
gzip ja bzip2, lisaks on veel xz (efektiivne, aga mäluõgard):&lt;br /&gt;
kokku: xz, xz -z või xz --compress &lt;br /&gt;
lahti: unxz, xz -d, xz --uncompress või xz --decompress&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teksti S/V ===&lt;br /&gt;
&lt;br /&gt;
stdin, stdout, stderr - vastavalt kirjeldaja numbbrid 0,1,2 ja seonduvad failid /proc/self/fd0, fd1 ja fd2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;, &amp;gt;, &amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Võimalus &amp;quot;saata vead jalust ära&amp;quot;   -  find blabla  2&amp;gt; /dev/null  | more   või ka  find blabla &amp;gt; andmed.txt 2&amp;gt; vead.txt&lt;br /&gt;
&lt;br /&gt;
Kogu väljundi nullimine: find / -iname *.txt &amp;gt; /dev/null 2&amp;gt;&amp;amp;1  (stout nulli ja stderr stdout-i)&lt;br /&gt;
&lt;br /&gt;
less toetab enamikku vi navigeerimiskäskudest&lt;br /&gt;
&lt;br /&gt;
suunamine vs toru - suunamine kasutab faile, toru kasutab programme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Järjestikkäsud ====&lt;br /&gt;
&lt;br /&gt;
käsk1; käsk2; käsk3  - kolm teineteisest sõltumatut käsku&lt;br /&gt;
käsk1 &amp;amp;&amp;amp; käsk2  - käsk2 täidetakse, kui käsk1 lõpetas edukalt&lt;br /&gt;
käsk1 || käsk2 - käsk2 täidetakse, kui käsk1 ei õnnestunud (varuvariant või veateade)&lt;br /&gt;
&lt;br /&gt;
käsuasendaja - backtick ´     export MUUT=`date`&lt;br /&gt;
&lt;br /&gt;
tee - võimaldab jagada stdin-i voo kaheks - ühte töödeldakse, teine saadetakse edasi (või saadetakse korraga nii faili kui ekraanile - või töödeldakse infot paralleelselt alginfo logimisega)&lt;br /&gt;
&lt;br /&gt;
N: find / -iname *.txt | tee findit.out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
xargs - käsu argumentide võtmine eestpoolt&lt;br /&gt;
&lt;br /&gt;
NÄIDE NETIST: leiab .c -laiendiga failid ja kustutab need ära&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
one.c  one.h  two.c  two.h&lt;br /&gt;
&lt;br /&gt;
$ find . -name &amp;quot;*.c&amp;quot; | xargs rm -rf&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
one.h  two.h&lt;br /&gt;
&lt;br /&gt;
sort - võtab stdin-ist või failist ja väljastab stdout-i või faili&lt;br /&gt;
-k number - mitmenda sõna/elemendi järgi (vaikimisi on esimene)&lt;br /&gt;
-n - arvuline (tavaline sorteerib tekstina - 1,11,12,2,21...)&lt;br /&gt;
&lt;br /&gt;
nl - nummerdab read&lt;br /&gt;
&lt;br /&gt;
wc - sõnaloendur&lt;br /&gt;
-l - loeb ridu&lt;br /&gt;
-w - loeb sõnu&lt;br /&gt;
-c - loeb tähemärke (baite)&lt;br /&gt;
&lt;br /&gt;
expand - asendab tabulaatorid n tühikuga (vaikimisi 8)&lt;br /&gt;
-i - ainult rea alguses (enne esimest mittetühikut)&lt;br /&gt;
-t arv - tühikute arvu määramine&lt;br /&gt;
&lt;br /&gt;
cut - vertikaallõige failist (veergude järgi)&lt;br /&gt;
&lt;br /&gt;
cut -c 5-10 failinimi  - kõigi ridade 5.-10. tähemärgid&lt;br /&gt;
&lt;br /&gt;
paste - näitab faile kõrvuti veergudes&lt;br /&gt;
&lt;br /&gt;
join - liidab failid ridupidi, kui ridade alguse võtmeveerud on samad&lt;br /&gt;
&lt;br /&gt;
uniq - eirab korduvaid elemente (soovitav on enne sortida!)&lt;br /&gt;
-d - kuvab ainult read, mis on korduvad (ühekordselt)&lt;br /&gt;
-D - kuvab ainult read, mis on korduvalt (kõik esinemised)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
head  (-n number)  ja tail (-n number)&lt;br /&gt;
&lt;br /&gt;
eriti aga tail -f /var/log/messages   (-f on --follow - jälgib jooksvalt ka muudatusi!)&lt;br /&gt;
&lt;br /&gt;
split - suure faili jupitamine (vaikimisi nimed xaa, xab, xac, xad...)&lt;br /&gt;
-b suurus&lt;br /&gt;
-l ridade arv (vaikimisi 1000!!)&lt;br /&gt;
&lt;br /&gt;
N:  split -b 650M kali-linux-1.0.6-amd64.iso &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cat, tac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
od - octal dump, suudab aga kuvada ka muid süsteeme:&lt;br /&gt;
-a - nimi&lt;br /&gt;
-o - kaheksandarv&lt;br /&gt;
-d - kümnendarv&lt;br /&gt;
-x - kuueteistkümnendarv&lt;br /&gt;
-f - ujukomaarv&lt;br /&gt;
&lt;br /&gt;
Võidakse küsida binaarfailide vaatamise võimalust - suht ainus ongi od. Kui &#039;cat binaarfail&#039; on terminali segi ajanud, tuleks anda reset-käsk&lt;br /&gt;
&lt;br /&gt;
pr - printimiseks vormindamine&lt;br /&gt;
&lt;br /&gt;
fmt - pikkade ridade lühendamine&lt;br /&gt;
&lt;br /&gt;
tr - märgiteisendused:  tr &#039;A-Z &#039;a-z&#039; &amp;lt; commands.txt  või  tr [:upper:] [:lower:] &amp;lt; commands.txt&lt;br /&gt;
&lt;br /&gt;
tr ei suuda lugeda failist, ainus võimalus sisendit saada on suunamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sed - lihtne näide sed s/bob/BOB/ file1&lt;br /&gt;
mitu asendust: sed –e s/bob/BOB/g –e s/BOB/snuffy/g file1 (saab ka semikoolonitega)&lt;br /&gt;
kui tühikud on sees: sed &#039;s/is not/is too/g&#039; file1&lt;br /&gt;
&lt;br /&gt;
asendused saab panna ka eraldi faili, sel juhul  sed -f scriptfile targetfile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
grep&lt;br /&gt;
&lt;br /&gt;
Tsitaat:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
e grep command has many useful options, including&lt;br /&gt;
-c This option shows only a numeric count of the matches found, no output of filenames or matches.&lt;br /&gt;
-C # - This option surrounds the matched string with X number of lines of context.&lt;br /&gt;
-H - This option prints the filename for each match; it’s useful when you want to then edit that file, as well as being the default option when multiple files are searched.&lt;br /&gt;
-h - This option suppresses the filename display for each file and is the default when a single file is searched.&lt;br /&gt;
-i - This option searches for the pattern with no case-sensitivity; all matches are shown.&lt;br /&gt;
-l - This option shows only the filename of the matching file; no lines of matching output are shown.&lt;br /&gt;
-L - This option displays the filename of files that don’t have a match for the string.&lt;br /&gt;
-w - This option selects only lines that have the string as a whole word, not part of another word.&lt;br /&gt;
-r - This option reads and processes all the directories specified, along with all the files in them.-x—This option causes only exact line matches to be returned; every character on the line must match.&lt;br /&gt;
-v - This option shows all the lines in a file that don’t match the string; this is the exact opposite of the default behavior.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
egrep =  grep -E&lt;br /&gt;
fgrep = grep -F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Protsessid ===&lt;br /&gt;
&lt;br /&gt;
ps&lt;br /&gt;
-a - kõigi kasutajate protsessid&lt;br /&gt;
-u - kasutaja protsessiinfo&lt;br /&gt;
-x - ei näita tty-d&lt;br /&gt;
&lt;br /&gt;
POSIX/UNIX - kriipsuga, BSD - ilma, Linux toetab mõlemaid&lt;br /&gt;
&lt;br /&gt;
ps -aux ja ps -ef on suht sarnased (võidakse küsida)&lt;br /&gt;
&lt;br /&gt;
block - infokogus kettal (enamasti 512B)&lt;br /&gt;
buffer - infokogus põhimälus&lt;br /&gt;
&lt;br /&gt;
free - vaba mälu (tasub lisada -lh)&lt;br /&gt;
&lt;br /&gt;
uptime&lt;br /&gt;
&lt;br /&gt;
protsessi signaalid&lt;br /&gt;
SIGINT 2 katkestus (ctrl-C)&lt;br /&gt;
SIGHUP 6 lõpeta ja alusta uuesti&lt;br /&gt;
SIGKILL 9 lõpeta&lt;br /&gt;
SIGTERM 15 lõpeta (pehmem)&lt;br /&gt;
SIGSTP  20 terminali peatamine (ctrl-X) - sisuliselt paus, saab fg-ga jätkata&lt;br /&gt;
SIGSTOP 23 peata täitmine (jõuga)&lt;br /&gt;
&lt;br /&gt;
Suuremate võimalustega - pkill&lt;br /&gt;
&lt;br /&gt;
jobs&lt;br /&gt;
+ - viimane töö, bg/fg&lt;br /&gt;
- - eelviimane (muutub viimaseks, kui praegune lõpetab)&lt;br /&gt;
&lt;br /&gt;
saab viidata ka %töönumber&lt;br /&gt;
&lt;br /&gt;
Prioriteedid -  vaikimisi 0, madalaim 19, kõrgeim -20. Alla 0 saab anda ainult root&lt;br /&gt;
&lt;br /&gt;
nice ja renice&lt;br /&gt;
&lt;br /&gt;
top - vaikimisi interaktiivne, aga saab anda ka parameetreid&lt;br /&gt;
&lt;br /&gt;
Käimajätmine peale väljalogimist - nohup käsk . Kindlam on teha screeniga!&lt;br /&gt;
&lt;br /&gt;
Screen - käima, Ctrl-a, n  järgmine aken, Ctrl-a, p eelmine aken&lt;br /&gt;
&lt;br /&gt;
Ctrl-a, &amp;quot; näitab akende listi&lt;br /&gt;
&lt;br /&gt;
Akna lahtihaakimine - Ctrl-a, d &lt;br /&gt;
list - screen -ls&lt;br /&gt;
Uuesti haakimine - screen -r PID&lt;br /&gt;
&lt;br /&gt;
Ctrl-a, x - ekraanilukk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== vi ===&lt;br /&gt;
&lt;br /&gt;
3 režiimi&lt;br /&gt;
* käsurežiim&lt;br /&gt;
* sisendrežiim&lt;br /&gt;
* ex-režiim - otsingud, aknaoperatsioonid&lt;br /&gt;
&lt;br /&gt;
Alguse staatuses Top/Bot/All - kas näidatakse algust, lõppu või kogu faili&lt;br /&gt;
&lt;br /&gt;
i - redigeerimine jooksvas positsioonis&lt;br /&gt;
I - redigeerimine jooksva rea algusest&lt;br /&gt;
a - redigeerimne jooksva positsiooni järelt (append)&lt;br /&gt;
A - rea lõpust&lt;br /&gt;
O - uus rida jooksva ette&lt;br /&gt;
&lt;br /&gt;
Tagasi käsurežiimi - Esc&lt;br /&gt;
&lt;br /&gt;
käivitades saab anda kohe reanumbri:   vi +25 minufail.txt   + tähendab tegelikult vi käsku (25 - mine sellele reale)&lt;br /&gt;
&lt;br /&gt;
Nooled:&lt;br /&gt;
h - left&lt;br /&gt;
j - down&lt;br /&gt;
k - up&lt;br /&gt;
l - right&lt;br /&gt;
&lt;br /&gt;
Ctrl-f - lk edasi&lt;br /&gt;
Ctrl-b - lk tagasi&lt;br /&gt;
Ctrl-d - pool edasi&lt;br /&gt;
Ctrl-u - pool tagasi&lt;br /&gt;
&lt;br /&gt;
G - faili lõppu või reale (15G)&lt;br /&gt;
&lt;br /&gt;
u - undo&lt;br /&gt;
:e! tühistab kõik muutused&lt;br /&gt;
&lt;br /&gt;
Salvestus: :w&lt;br /&gt;
Salvestus ja väljumine:  :wq või :x (või käsurežiimis ZZ)&lt;br /&gt;
Väljumine salvestamata: :q!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cw - sõna muutmine&lt;br /&gt;
c$ - muutmine kursorist rea lõpuni&lt;br /&gt;
r - tähe muutmine&lt;br /&gt;
R - rea muutmine kuni Esc-vajutuseni&lt;br /&gt;
&lt;br /&gt;
x - kustutus (Del)&lt;br /&gt;
X - kustutus (Bksp)&lt;br /&gt;
dw - sõna vasakult&lt;br /&gt;
dd - rida&lt;br /&gt;
D - rea lõpuni&lt;br /&gt;
dL - ekraani lõpuni&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
yy - rea kopeerimine&lt;br /&gt;
5yy - 5 rea kopeerimine (blokk)&lt;br /&gt;
yw - sõna&lt;br /&gt;
3yw - 3 sõna&lt;br /&gt;
p - kleepimine kursorist vasakule&lt;br /&gt;
P - paremale&lt;br /&gt;
&lt;br /&gt;
tavaline on nimeta puhver, lisaks on veel 26 (a-z) nimega puhvrit. Puhvri väiketäht kirjutab selle üle, suurtäht lisab sinna&lt;br /&gt;
&lt;br /&gt;
Jutumärgid, puhvri nimi, käsk - näiteks &amp;quot;ayy, &amp;quot;ap&lt;br /&gt;
&lt;br /&gt;
Otsing käsurežiimis: ?otsitav, järgmine n, eelmine N&lt;br /&gt;
&lt;br /&gt;
Asendamine nagu sed-is, ex-režiimis &lt;br /&gt;
- samalt realt: :s/bob/BOB/, kõigi puhul :s/bob/BOB/g (global)&lt;br /&gt;
- kogu failist: :%s/bob/BOB/, kõigi puhul :%s/bob/BOB/g (global)&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldiste otsimine  - /  N: /[tT][hH][eE]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi sätted: /etc/vimrc ja kohalik .vimrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Tsitaat raamatust:&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For some reason, LPI really wants you to know the options for setting numbers, including the shortcuts for how&lt;br /&gt;
options are set. Examples of how you could set the numbers option on and off include&lt;br /&gt;
:set number—Turns on line numbers (screen only).&lt;br /&gt;
:set nonumber—Turns the number option off.&lt;br /&gt;
:se nu—This is the shortest string that turns this option on, and putting no in front of the option turns that option off.&lt;br /&gt;
&amp;lt;---&lt;br /&gt;
&lt;br /&gt;
Väliskäsud:  :! ls -l&lt;br /&gt;
&lt;br /&gt;
Ridade ühendamine - kursor esimesele reale,  J (tõmbab järgmise samale reale)&lt;br /&gt;
&lt;br /&gt;
:split - horisontaalne&lt;br /&gt;
:vsplit - vertikaalne&lt;br /&gt;
&lt;br /&gt;
Kahe akna vahel liikumine Ctrl-w 2x või Ctrl-w ja vastav nool&lt;br /&gt;
&lt;br /&gt;
spliti lõpetamine -  :only (selles aknas, mida soovitakse jätta)&lt;br /&gt;
&lt;br /&gt;
split käsurealt -  hsplit vim -o file1 file2,  vsplit  vim -O file1 file2&lt;br /&gt;
&lt;br /&gt;
faili avamine nummerdatud ridadega: vim +set number” mytestfile.txt&lt;br /&gt;
faili avamine koos string1 esiletoomisega (highlight): vi +/string1 file&lt;br /&gt;
&lt;br /&gt;
vimdiff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettahaldus ===&lt;br /&gt;
&lt;br /&gt;
Vanasti 4 esmast jaotist, ühe sai teha laiendatuks ja sinna N loogilist.&lt;br /&gt;
Idee poolest võimalik lõputult loogilisi jaotisi, ehkki soovitus on mitte üle 12&lt;br /&gt;
&lt;br /&gt;
Buudifailid peavad olema esmasel.&lt;br /&gt;
&lt;br /&gt;
Saaleala tööjaamadel 1-2 x RAM (eriti läpakatel talveune tõttu), mõnedel serveritel ei kasutata üldse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fdisk&lt;br /&gt;
&lt;br /&gt;
MBR-ketaste jaoks. Üldkuju: fdisk /dev/sda (vmm)&lt;br /&gt;
p - jaotiseinfo&lt;br /&gt;
n - uus jaotis&lt;br /&gt;
d - kustutamine&lt;br /&gt;
t - tüübi muutmine&lt;br /&gt;
w - muudatuste salvestamine&lt;br /&gt;
	&lt;br /&gt;
uue loomisel on kõige lihtsam määrata suurus (mitte sektoripiirid jms) +väärtus; nt +500M, +1.5G&lt;br /&gt;
&lt;br /&gt;
fdisk -l - näitab kohe infot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gdisk &lt;br /&gt;
&lt;br /&gt;
uute UEFI/GUID/GPT ketaste jaoks (pole 2TB ülempiiri ega 4 jaotise piirangut - toetab kuni 128-t jaotist).&lt;br /&gt;
&lt;br /&gt;
gdisk -l /dev/sda - info&lt;br /&gt;
&lt;br /&gt;
MBR paigutatakse ketta esimesse loogilisse blokki, GPT teise!&lt;br /&gt;
&lt;br /&gt;
gdisk käitub muidu üsna sarnaselt fdiskile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
parted ja gparted  - märkus: parted ei pane paika jaotise tüüpi!&lt;br /&gt;
&lt;br /&gt;
FS tüübid:&lt;br /&gt;
- ext*&lt;br /&gt;
- udf - DVD&lt;br /&gt;
- vfat - FAT32&lt;br /&gt;
- nfs - Sun-i Network Filesystem, vaikimisi kõigil Linuxitel&lt;br /&gt;
- smb - Samba/CIFS&lt;br /&gt;
- xfs - SGI&lt;br /&gt;
- ReiserFS&lt;br /&gt;
- btrfs - uus tulija&lt;br /&gt;
&lt;br /&gt;
NB! ext2 -&amp;gt; ext3 ei vaja vormindamist!&lt;br /&gt;
&lt;br /&gt;
inode - iga faili kirje, ei sisalda aga nime (vt ls -i esimene number). Vt ka stat failinimi&lt;br /&gt;
&lt;br /&gt;
debugfs-käsk laseb faili detailide kallale&lt;br /&gt;
&lt;br /&gt;
df -i näitab inode-ide kasutust. Tuleb püüda tasakaalu poole failide suuruse ja  mahu vahel.&lt;br /&gt;
&lt;br /&gt;
FS loomine:  mkfs -t ext4 /dev/sda1   (mkfs on tänapäeval link mkfs.ext4-le)&lt;br /&gt;
&lt;br /&gt;
mke2fs - ext2&lt;br /&gt;
mkdosfs - DOS/FAT&lt;br /&gt;
&lt;br /&gt;
mkswap /dev/sda2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fsck&lt;br /&gt;
&lt;br /&gt;
ka e2fsck, dosfsck, reiserfsck&lt;br /&gt;
&lt;br /&gt;
buudi ajal võtab info /etc/fstab-ist&lt;br /&gt;
&lt;br /&gt;
Parameetrid:&lt;br /&gt;
-A - üks pikk kontroll (mitte etapiline)&lt;br /&gt;
-C - edenemisnäidik (###########)&lt;br /&gt;
-N - kuivalt (simulatsioon)&lt;br /&gt;
-V - lisainfo&lt;br /&gt;
-a - ei küsi ja parandab automaatselt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tune2fs - saab muuta sätteid, näiteks vaikimisi 20 käivitust iga fsck-kontrolli kohta.&lt;br /&gt;
tune2fs –c 0 /dev/sda1 - lülitab kontrolli välja?&lt;br /&gt;
&lt;br /&gt;
tune2fs -e määrab, mida tehakse FS vea leidmisel&lt;br /&gt;
&lt;br /&gt;
tunefs -g võimaldab määrata kettal root-ile määratud osa (Kui kõik muu on täis, saab tema sisse)&lt;br /&gt;
&lt;br /&gt;
XFS utiliidid&lt;br /&gt;
&lt;br /&gt;
xfs_info&lt;br /&gt;
xfs_check&lt;br /&gt;
xfs_repair&lt;br /&gt;
&lt;br /&gt;
FS silti ja UUID-d näeb blkid-käsuga (root)&lt;br /&gt;
&lt;br /&gt;
/etc/fstab&lt;br /&gt;
/etc/mtab&lt;br /&gt;
mount&lt;br /&gt;
cat /proc/mounts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab-i sisu:&lt;br /&gt;
* seade&lt;br /&gt;
* haakepunkt&lt;br /&gt;
* tüüp&lt;br /&gt;
* valikud (rw,suid,dev,exec,auto,nouser,async)&lt;br /&gt;
* dump - kas dump kaasab võ ei, enamasti 0 (ei)&lt;br /&gt;
* fsck - kontrollijärjekord &lt;br /&gt;
&lt;br /&gt;
Käsitsi haakimine: mount –t type –o option device mountpoint&lt;br /&gt;
&lt;br /&gt;
umount&lt;br /&gt;
&lt;br /&gt;
du&lt;br /&gt;
-h - inimkeelne&lt;br /&gt;
-s - summeerib&lt;br /&gt;
-x - ainult kohalikud FSid (mitte võrk jms)&lt;br /&gt;
&lt;br /&gt;
df &lt;br /&gt;
-h&lt;br /&gt;
-i - inode-id&lt;br /&gt;
-k - kB&lt;br /&gt;
-l - ainult kohalikud&lt;br /&gt;
&lt;br /&gt;
df näitab ketta statistikat, du ei näita!&lt;br /&gt;
&lt;br /&gt;
quota&lt;br /&gt;
&lt;br /&gt;
quotaon&lt;br /&gt;
quotaoff&lt;br /&gt;
quotacheck&lt;br /&gt;
edquota&lt;br /&gt;
&lt;br /&gt;
usrquota, grpquota (fstab)&lt;br /&gt;
&lt;br /&gt;
lisamiseks tuleb panna vastavale FSile fstab-is usrquota ja grpquota ja haakida FS uuesti: mount –o remount,rw /data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
edquote &lt;br /&gt;
-u kasutaja&lt;br /&gt;
-t  - &amp;quot;armuaeg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
repquota -a  - kogu süsteemi raport&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Õigused ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ugo&lt;br /&gt;
&lt;br /&gt;
chmod&lt;br /&gt;
-c - muutunud failid&lt;br /&gt;
-h - sümlink, mitte selletagune fail&lt;br /&gt;
-f - ei õienda (force)&lt;br /&gt;
-R - rekursiivne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui panna kolmest numbrist vaid üks, siis läheb see &amp;quot;others&amp;quot; alla, omanik ja grupp saavad nulli!&lt;br /&gt;
&lt;br /&gt;
SUID - lubab kasutajatel käitada programmi omaniku (enamasti root) õigustes - chmod 4xxx failinimi&lt;br /&gt;
SGID - kataloogi puhul annab õigused kõigile sinna hiljem lisatud failidele, faili puhul annab omanikugrupi õigused - chmod 2xxx fail/kataloog&lt;br /&gt;
sticky - ainult faili ja kataloogi omanikud (pluss root) saavad faile kustutada - chmod 1xxx kataloog&lt;br /&gt;
&lt;br /&gt;
Eribitid summeeruvad nagu tavalised - näiteks SUID+SGID = 6xxx. Tekstina u+s, g+s&lt;br /&gt;
&lt;br /&gt;
SUID/SGID on võimalik turvarisk&lt;br /&gt;
&lt;br /&gt;
Näide seaduslikust kasutusest: chsh võimaldab kasutajal kesta muuta, kui talle pannakse SUID (muidu ei saa /etc/passwd -faili muuta)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Otsing õiguste järgi:&lt;br /&gt;
&lt;br /&gt;
find /usr/bin -perm 777&lt;br /&gt;
find / -perm -4000&lt;br /&gt;
&lt;br /&gt;
umask&lt;br /&gt;
&lt;br /&gt;
Vaikimisi 0022 - aga eribitte ei panda kunagi vaikimisi, seega sisuliselt 022&lt;br /&gt;
Muutmine: näiteks umask 027&lt;br /&gt;
&lt;br /&gt;
chown&lt;br /&gt;
&lt;br /&gt;
ka owner: ja :group - muudavad ainult üht&lt;br /&gt;
&lt;br /&gt;
chgrp &lt;br /&gt;
&lt;br /&gt;
Mõlematel on -R parameeter&lt;br /&gt;
&lt;br /&gt;
NB! x-õigus kataloogil annab ligipääsu! r annab listingu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016&amp;diff=102929</id>
		<title>LPIC-1 - Kaku konspekt 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016&amp;diff=102929"/>
		<updated>2016-04-26T11:13:32Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt 2016 to LPIC-1 - Kaku konspekt 2016 1. osa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[LPIC-1 - Kaku konspekt 2016 1. osa]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102928</id>
		<title>LPIC-1 - Kaku konspekt 2016 1. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102928"/>
		<updated>2016-04-26T11:13:32Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt 2016 to LPIC-1 - Kaku konspekt 2016 1. osa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Ross Brunsoni ja Sean Wahlbergi raamat [http://www.pearsonitcertification.com/store/comptia-linux-plus-lpic-1-cert-guide-exams-lx0-103-9780789754554 CompTIA ® Linux+ / LPIC-1 Cert Guide]&lt;br /&gt;
&lt;br /&gt;
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPI_eksamiteks_valmistumise_abimaterjalid&amp;diff=102927</id>
		<title>LPI eksamiteks valmistumise abimaterjalid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPI_eksamiteks_valmistumise_abimaterjalid&amp;diff=102927"/>
		<updated>2016-04-26T11:13:05Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://www.ibm.com/developerworks/linux/lpi/ IBM DeveloperWorks Linux Professional Institute (LPI) exam prep]&lt;br /&gt;
* [http://lcdp.sourceforge.net/ Linux Certification Documentation Project]&lt;br /&gt;
* [http://savannah.nongnu.org/projects/lpi-manuals/ LPI manuals]  @ Savannah (NB! Vanemad versioonid!)&lt;br /&gt;
* [http://snow.nl/dist/htmlc/index.html The LPIC-2 Exam Prep]&lt;br /&gt;
&lt;br /&gt;
* [http://www.penguintutor.com/ PenguinTutor.com]&lt;br /&gt;
* [http://www.itexampractice.org/ ITExamPractice.org]&lt;br /&gt;
&lt;br /&gt;
* [[LPIC-1 - Kaku konspekt]] (aastast 2011; neljas osas)&lt;br /&gt;
* [[LPIC-1 - Kaku konspekt 2016]] (kahes osas)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LPI tasemete tutvustused @lpi.org (sh eksami põhiväljundid ja näiteküsimused):&lt;br /&gt;
* [http://www.lpi.org/index.php/eng/certification/the_lpic_program/lpic_1 LPIC-1]&lt;br /&gt;
* [http://www.lpi.org/eng/certification/the_lpic_program/lpic_2 LPIC-2]&lt;br /&gt;
* [http://www.lpi.org/eng/certification/the_lpic_program/lpic_3 LPIC-3]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPI_eksamiteks_valmistumise_abimaterjalid&amp;diff=102926</id>
		<title>LPI eksamiteks valmistumise abimaterjalid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPI_eksamiteks_valmistumise_abimaterjalid&amp;diff=102926"/>
		<updated>2016-04-26T11:12:48Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://www.ibm.com/developerworks/linux/lpi/ IBM DeveloperWorks Linux Professional Institute (LPI) exam prep]&lt;br /&gt;
* [http://lcdp.sourceforge.net/ Linux Certification Documentation Project]&lt;br /&gt;
* [http://savannah.nongnu.org/projects/lpi-manuals/ LPI manuals]  @ Savannah (NB! Vanemad versioonid!)&lt;br /&gt;
* [http://snow.nl/dist/htmlc/index.html The LPIC-2 Exam Prep]&lt;br /&gt;
&lt;br /&gt;
* [http://www.penguintutor.com/ PenguinTutor.com]&lt;br /&gt;
* [http://www.itexampractice.org/ ITExamPractice.org]&lt;br /&gt;
&lt;br /&gt;
* [[LPIC-1 - Kaku konspekt]] (aastast 2011; neljas osas)&lt;br /&gt;
* [[LPIC-1 - Kaku konspekt 2016]] (aastast 2016; kahes osas)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LPI tasemete tutvustused @lpi.org (sh eksami põhiväljundid ja näiteküsimused):&lt;br /&gt;
* [http://www.lpi.org/index.php/eng/certification/the_lpic_program/lpic_1 LPIC-1]&lt;br /&gt;
* [http://www.lpi.org/eng/certification/the_lpic_program/lpic_2 LPIC-2]&lt;br /&gt;
* [http://www.lpi.org/eng/certification/the_lpic_program/lpic_3 LPIC-3]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102925</id>
		<title>LPIC-1 - Kaku konspekt 2016 1. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2016_1._osa&amp;diff=102925"/>
		<updated>2016-04-26T11:11:28Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Created page with &amp;quot;NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Ross Brunsoni ja Sean Wahlbergi raamat [http://www.pearsonitcertification.com/store/co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NB! Tegemist on Kaku personaalsete märkmetega eksamiteks valmistumise ajast, aluseks on Ross Brunsoni ja Sean Wahlbergi raamat [http://www.pearsonitcertification.com/store/comptia-linux-plus-lpic-1-cert-guide-exams-lx0-103-9780789754554 CompTIA ® Linux+ / LPIC-1 Cert Guide]&lt;br /&gt;
&lt;br /&gt;
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2016, 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_1._osa&amp;diff=102924</id>
		<title>LPIC-1 - Kaku konspekt 2011, 1. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_1._osa&amp;diff=102924"/>
		<updated>2016-04-26T11:07:36Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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&amp;amp;qid=1299599031&amp;amp;sr=8-1 LPIC-1: Linux Professional Institute Certification Study Guide].&lt;br /&gt;
&lt;br /&gt;
Märkus: kuna Kakk uuendas enda sertifikaati 2016. aasta kevadel, on nüüd saadaval ka [[LPIC-1 - Kaku konspekt 2016]].&lt;br /&gt;
&lt;br /&gt;
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPI-101 ==&lt;br /&gt;
&lt;br /&gt;
=== bash ja käsurida ===&lt;br /&gt;
&lt;br /&gt;
Käsukestad:&lt;br /&gt;
* bash&lt;br /&gt;
* csh&lt;br /&gt;
* tcsh&lt;br /&gt;
* ksh&lt;br /&gt;
* zsh&lt;br /&gt;
&lt;br /&gt;
/bin/sh - sümlink soovitavale kestale&lt;br /&gt;
&lt;br /&gt;
Sisekäsud:&lt;br /&gt;
* cd&lt;br /&gt;
* cwd&lt;br /&gt;
* echo&lt;br /&gt;
* exec&lt;br /&gt;
* time&lt;br /&gt;
* set&lt;br /&gt;
* exit/logout&lt;br /&gt;
&lt;br /&gt;
NB! exec-iga programmi x-terminalist käivitades suletakse lõpetamisel ka xterm!&lt;br /&gt;
&lt;br /&gt;
Mõned sisekäsud on dubleeritud väliskäskudeks - sel juhul on prioriteet sisekäsul, kui pole lisatud täit kataloogiteed väliskäsuni&lt;br /&gt;
&lt;br /&gt;
Käskude tabuleerimine (tab completion) - Tab pakub käsu alguse järgi lõpusümboleid&lt;br /&gt;
&lt;br /&gt;
.history -  kättesaadav terminalis üles-noole abil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bashi kiirklahvid on võetud Emacsilt:&lt;br /&gt;
* Ctrl-A - rea algus (Home)&lt;br /&gt;
* Ctrl-E - rea lõpp (End)&lt;br /&gt;
* Ctrl-B - märk vasakule (&amp;lt;-)&lt;br /&gt;
* Ctrl-F - märk paremale (-&amp;gt;)&lt;br /&gt;
* Ctrl-Left - sõna vasakule (Esc-B)&lt;br /&gt;
* Ctrl-Right - sõna paremale (Esc-F)&lt;br /&gt;
&lt;br /&gt;
* Ctrl-D - kustutus paremalt (Del)&lt;br /&gt;
* Ctrl-K - kustutus kursorist rea lõpuni&lt;br /&gt;
* BkSp - kustutus vasakule&lt;br /&gt;
* Ctrl-X + BkSp - kustutus kursorist rea alguseni&lt;br /&gt;
&lt;br /&gt;
* Ctrl-T - vahetab kursori all oleva sümboli eelmisega&lt;br /&gt;
* Esc-T - vahetab kursori all oleva sõna eelmisega&lt;br /&gt;
&lt;br /&gt;
* Esc-U - muudab kursorist sõna lõpuni suurtähtedeks&lt;br /&gt;
* Esc-L - muudab kursorist sõna lõpuni väiketähtedeks&lt;br /&gt;
* Esc-C - muudab kursorialuse tähe suurtäheks&lt;br /&gt;
&lt;br /&gt;
* Ctrl-X + Ctrl-E - käivitab editori (määratud $EDITOR või $FCEDIT -muutujas). Varuvariant: Emacs&lt;br /&gt;
&lt;br /&gt;
history sisaldab enamasti 500 viimast käsku;  history -c puhastab&lt;br /&gt;
&lt;br /&gt;
Kasutaja sätted:  ~/.bashrc, ~/.profile&lt;br /&gt;
&lt;br /&gt;
Süsteemsed: /etc/bash.bashrc,  /etc/profile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Keskkonnamuutujad ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näide: &lt;br /&gt;
* $ NNTPSERVER=news.abigisp.com&lt;br /&gt;
* $ export NNTPSERVER&lt;br /&gt;
&lt;br /&gt;
Võib ka kokku panna: $ export NNTPSERVER=news.abigisp.com&lt;br /&gt;
&lt;br /&gt;
env - kuvab kõik muutujad!&lt;br /&gt;
&lt;br /&gt;
man &amp;lt;käsk&amp;gt;  - saab anda ka manuaali sektsiooni: &lt;br /&gt;
&lt;br /&gt;
man 5 passwd - passwd-käsu manuaali 5. sektsioon (peatükk)&lt;br /&gt;
&lt;br /&gt;
man vs info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Suunamised ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Standardsed vood (enamasti käsitletakse programmides samaväärselt andmefailidega):&lt;br /&gt;
* stdin - tüüpiliselt klaver&lt;br /&gt;
* stdout - tüüpiliselt kuvar&lt;br /&gt;
* stderr - tüüpiliselt kuvar&lt;br /&gt;
&lt;br /&gt;
S/V suunamine:&lt;br /&gt;
* käsk &amp;gt; fail.txt&lt;br /&gt;
* käsk &amp;gt; käsk&lt;br /&gt;
&lt;br /&gt;
* &amp;gt;  - loob stdout-i infost uue faili (olemasolev kirjutatakse üle)&lt;br /&gt;
* &amp;gt;&amp;gt; - lisab stdout-i info olemasolevale failile (kui pole olemas, luuakse)&lt;br /&gt;
* 2&amp;gt; - loob stderr-i infost uue faili (olemasolev kirjutatakse üle)&lt;br /&gt;
* 2&amp;gt;&amp;gt; - lisab stderr-i info olemasolevale failile (kui pole olemas, luuakse)&lt;br /&gt;
* &amp;amp;&amp;gt;  loob stdout-i JA stderr-i infost uue faili (olemasolev kirjutatakse üle)&lt;br /&gt;
* &amp;lt; - kasutab määratud faili stdin-ina&lt;br /&gt;
* &amp;lt;&amp;lt; - järgnevate ridade teksti kasutatakse stdin-ina&lt;br /&gt;
* &amp;lt;&amp;gt; - kasutab määratud faili NII stdin-i KUI stdout-ina&lt;br /&gt;
&lt;br /&gt;
/dev/null - eimiski. N: whine 2&amp;gt; /dev/null  - whine&#039;i kõik veateated visatakse ära&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt; - nimet. ka &amp;quot;here document&amp;quot; (here doc) - enamasti ainult skriptides, mitte käsureal!&lt;br /&gt;
&lt;br /&gt;
N: proge &amp;lt;&amp;lt; blah  jääb kuulama:&lt;br /&gt;
 aaa - läheb proge sisendisse&lt;br /&gt;
 bbb - see ka&lt;br /&gt;
 ccc - see ka&lt;br /&gt;
 ddd - see ka&lt;br /&gt;
 blah - lõpetab ära&lt;br /&gt;
&lt;br /&gt;
Ctrl-D - EOF-sümbol!&lt;br /&gt;
&lt;br /&gt;
tee - suunab stdout-i lisaks ka mainitud failidesse. Enamasti skriptikäsk.&lt;br /&gt;
&lt;br /&gt;
N: ls | tee blabla.txt  - ls kuvab nagu tavaliselt, kuid lisaks läheb ka faili (nagu ls ja ls &amp;gt; blabla.txt koos!)&lt;br /&gt;
&lt;br /&gt;
==== Toru ====&lt;br /&gt;
&lt;br /&gt;
Ühe käsu väljundi suunamine teise sisendisse&lt;br /&gt;
&lt;br /&gt;
esimene | teine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Backtick ====&lt;br /&gt;
&lt;br /&gt;
Kasutatakse &amp;quot;käsk käsus&amp;quot; loomiseks:&lt;br /&gt;
&lt;br /&gt;
$ rm `find ./ -name “*~”` - kustutab kõik ~-lõpulised failid&lt;br /&gt;
&lt;br /&gt;
xargs - saadab argumendid edasi:&lt;br /&gt;
&lt;br /&gt;
$ find ./ -name “*~” | xargs rm - find&#039;i argumendid söödetakse rm-käsku (rm esimene~ , rm teine~ , rm kolmas~ jne )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Tekstifiltrid ====&lt;br /&gt;
&lt;br /&gt;
cat - faili kuvamine või failide sidumine&lt;br /&gt;
&lt;br /&gt;
cat esimene teine &amp;gt; kolmas&lt;br /&gt;
&lt;br /&gt;
argumendid:&lt;br /&gt;
* -E  - näita realõpusümbolit ($)&lt;br /&gt;
* -n - nummerdab read&lt;br /&gt;
* -b - nummerdab mittetühjad read&lt;br /&gt;
* -s - asendab tühjade ridade plokid üheainsa tühja reaga&lt;br /&gt;
* -T - näitab tabulatsioone (ˇI)&lt;br /&gt;
* -v - näitab mittetrükitavaid sümboleid&lt;br /&gt;
&lt;br /&gt;
tac - cat tagurpidi, kuvab read vastupidises järjekorras&lt;br /&gt;
&lt;br /&gt;
join - ühendab failid väljade kaupa. N:&lt;br /&gt;
&lt;br /&gt;
fail nimed.txt:&lt;br /&gt;
 1. Jüri&lt;br /&gt;
 2. Mari&lt;br /&gt;
 3. Peeter&lt;br /&gt;
 4. Elmar&lt;br /&gt;
&lt;br /&gt;
fail pikkus.txt:&lt;br /&gt;
 1. 198&lt;br /&gt;
 2. 166&lt;br /&gt;
 3. 180&lt;br /&gt;
 4. 178&lt;br /&gt;
&lt;br /&gt;
Kokku:&lt;br /&gt;
 1. Jüri 198&lt;br /&gt;
 2. Mari 166&lt;br /&gt;
 3. Peeter 180&lt;br /&gt;
 4. Elmar 178&lt;br /&gt;
&lt;br /&gt;
Saab määrata ka erinevaid võtmevälju:&lt;br /&gt;
* -1 n - esimeses failis on võtmeväljaks n-es väli&lt;br /&gt;
* -2 m - teises...&lt;br /&gt;
jne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
paste - ühendab failid rida-realt:&lt;br /&gt;
 1. Jüri 198&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
NB! sed jt tekstivahendid ei muuda algset faili, vaid saadavad muudetud tulemuse kas stout-i (kuvarile) või faili!&lt;br /&gt;
&lt;br /&gt;
expand - asendab Tab-id tühikutega. Vaikimisi 8, väärtust saab lisada parameetriga expand -t number&lt;br /&gt;
&lt;br /&gt;
unexpand - vastupidine&lt;br /&gt;
&lt;br /&gt;
od (octal dump) - algselt mõeldud failide kuvamiseks kaheksandsüsteemis, aga suudab kuvada ka kuueteistkümnend- ja kümnendsüsteemi, ASCIId jmm.&lt;br /&gt;
&lt;br /&gt;
sort&lt;br /&gt;
* -f (--ignore-case) - ei erista suur- ja väiketähti&lt;br /&gt;
* -M (--month-sort) - sorteerib ingliskeelsete kolmetäheliste kuunimede järgi (JAN...DEC)&lt;br /&gt;
* -n (--numeric-sort) - arvude järgi&lt;br /&gt;
* -r (--reverse-sort) - tagurpidi&lt;br /&gt;
* -k väli (--key-field=) - võtmeväli (vaikimisi esimene). Saab panna ka kaks välja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
split - jagab faili kaheks või enamaks failiks. Ette antakse väljundfaili nimi - komponendid luuakse kujul nimiaa,nimiab,nimiac ...&lt;br /&gt;
* -b maht (--byte-size=) - komponentide maht baitides (märgipealt =&amp;gt; viimane rida enamasti poolik)&lt;br /&gt;
* -C maht (--line-bytes=) - maht ilma ridu poolitamata (kui aga rida on pikem kui etteantud suurus, poolitub ikkagi)&lt;br /&gt;
* -l maht (--lines=) - komponentide ridade arv&lt;br /&gt;
&lt;br /&gt;
N: $ split -l 2 listing1.1.txt numbers  (väljund: numbersaa,numbersab ... kahe rea kaupa)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tr - tähtede asendamine - esimesena toodud hulga tähed asendatakse teise omadega&lt;br /&gt;
&lt;br /&gt;
N: $ tr BCJ bc &amp;lt; listing1.1.txt  - sisendfailis asendatakse B b-ga, C c-ga ja J samuti c-ga (viimane saadaolev märk teises hulgas)&lt;br /&gt;
&lt;br /&gt;
erikuju: tr -d HULK - hulga elemendid kustutatakse tekstist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uniq - eemaldab topeltread&lt;br /&gt;
N: $ sort shakespeare.txt | uniq&lt;br /&gt;
 be&lt;br /&gt;
 is&lt;br /&gt;
 not&lt;br /&gt;
 or&lt;br /&gt;
 question&lt;br /&gt;
 that&lt;br /&gt;
 the&lt;br /&gt;
 to&lt;br /&gt;
&lt;br /&gt;
(eemaldati üks &#039;to&#039; ja üks &#039;be&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Failiformaatimiskäsud ====&lt;br /&gt;
&lt;br /&gt;
fmt - silub tekstifaili. Eeldab, et lõigud on eraldatud vähemalt 2 tühja rea või siis tabuleeritud. Vaikimisi reapikkus 75 märki&lt;br /&gt;
&lt;br /&gt;
nl - ridade nummerdamine (nagu cat -b, aga võimsam). &lt;br /&gt;
&lt;br /&gt;
pr - trükkimiseks ettevalmistamine (näit. päiste ja jaluste lisamine; mitu veergu jne). Peamiselt kasutatakse kombineeritud käskudes:&lt;br /&gt;
&lt;br /&gt;
N: cat kiviajamull.txt | pr --columns=2 &amp;gt; blabla.txt&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Failikuvamiskäsud ====&lt;br /&gt;
&lt;br /&gt;
cat - vt eespool&lt;br /&gt;
&lt;br /&gt;
head - kuvab stout-i faili alguse. Vaikimisi 10 esimest rida, saab määrata ka baitide (-c) või ridade (-n) arvu&lt;br /&gt;
&lt;br /&gt;
tail - sama, kuid lõpust. Kasulik logide jälgimisel (värskeimad sissekanded). Lisavõimalused:&lt;br /&gt;
* -f - jääb jälgima ja kuvab lisanduvad read&lt;br /&gt;
* -pid=nr - lõpetab -f-iga alustatud jälgimise, kui protsess nr lõpetab töö&lt;br /&gt;
&lt;br /&gt;
less - tõsisem failikuvaja.  Enamasti ei kasutata käsuahelates (liiga interaktiivne), v.a. viimase käsuna&lt;br /&gt;
* /sõna - otsing ettepoole. ainult / annab interaktiivse. n edasi, N tagasi&lt;br /&gt;
* ?sõna - sama tahapoole&lt;br /&gt;
* gNR - reale minek. N: g65&lt;br /&gt;
* h - abiinfo&lt;br /&gt;
* q - välja&lt;br /&gt;
&lt;br /&gt;
==== Kokkuvõtvad käsud ====&lt;br /&gt;
&lt;br /&gt;
cut - võimaldab filtreerida failist infot mingite tingimuste (baitide, märkide, väljade) järgi:&lt;br /&gt;
* -b - baidid&lt;br /&gt;
* -c - märgid&lt;br /&gt;
* -f - väljad&lt;br /&gt;
&lt;br /&gt;
Väärtused võivad olla konkreetsed (4), vahemikud (2-4) ja avatud vahemikud (-2, 4- - kuidas määratakse negatiivseid arve?)&lt;br /&gt;
&lt;br /&gt;
N: $ ifconfig eth0 | grep HWaddr | cut -d “ “ -f 11  - kuvab ifconfig&#039;ist MAC-aadressi&lt;br /&gt;
&lt;br /&gt;
wc - sõnaloend. Võimaldab lugeda ka ridu (-l), sõnu (-w), baite (-b) ja märke (-c).&lt;br /&gt;
&lt;br /&gt;
N: 65  372 2672 kiviajamull.txt  - 65 rida, 372 sõna, 2672 baiti/märki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Regulaaravaldised ====&lt;br /&gt;
&lt;br /&gt;
* Kantsulud - variandid. N:  b[aeiou]g - bag, beg, big, bog, bug&lt;br /&gt;
* kriips - vahemik. N:  a[2-4]z - a2z, a3z, a4z&lt;br /&gt;
* punkt - suvaline märk (peale reaalgussümboli). N: a.z - a2z, abz, aQz&lt;br /&gt;
* katus (karee) - reaalgus&lt;br /&gt;
* dollar - realõpp&lt;br /&gt;
* tärn - 0-n sümbolit&lt;br /&gt;
* pluss - 1-n sümbolit&lt;br /&gt;
* küsimärk - 0-1 sümbol&lt;br /&gt;
* kaigas - üks kahest. N: liha|kala&lt;br /&gt;
* tavasulud - alamavaldis nagu matemaatikas&lt;br /&gt;
* kurakaldkriips - paosümbol eelmiste sümbolite tavakasutuseks. N: kakupesa\.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
grep - paindlik otsinguvahend. Üldkuju: grep [valikud] regulaaravaldis [failid]&lt;br /&gt;
* -c - ridade lugemine kuvamise asemel&lt;br /&gt;
* -f failinimi - loeb regulaaravaldise failist&lt;br /&gt;
* -i - ei erista suur- ja väiketähti&lt;br /&gt;
* -r - rekursiivne otsing alamkataloogidest (võib aga ka rgrep-i kasutada)&lt;br /&gt;
* -E - kasutab laiendatud regulaaravaldist (vaikimisi on tavakujul; võib aga ka egrep&#039;i kasutada)&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
NB! Siin ja mõnel muul juhul kasutatakse jutumärke, et kest ei tõlgendaks avaldise osi enda käskudena!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sed - käsurearedaktor. Muudab faili ja saadab selle stdout&#039;i. Kaks põhikuju:&lt;br /&gt;
* sed [valikud] -f skriptifail [sisendfail]&lt;br /&gt;
* sed [valikud] skriptifail [sisendfail]&lt;br /&gt;
&lt;br /&gt;
N: $ sed ‘s/2011/2012/‘ cal-2011.txt &amp;gt; cal-2012.txt  - asendab aastanumbri ja teeb järgmise aasta kalendri&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pakihaldus ===&lt;br /&gt;
&lt;br /&gt;
RPM (RPM Package Manager, varem Redhat Package Manager)&lt;br /&gt;
&lt;br /&gt;
Paki üldkuju: packagename-a.b.c-x.arch.rpm  (a.b.c - versioon, x - build; arch - arhitektuur, v.a. lähtekoodipakil src)&lt;br /&gt;
&lt;br /&gt;
Ideaalis peaks iga pakk töötama kõigil RPM-distrodel. Reaalselt ei pruugi, kuna&lt;br /&gt;
* iga distro paigaldab erinevad RPM-i utiliidid&lt;br /&gt;
* ühe versiooni pakil võivad olla sõltuvused, mida teises pole&lt;br /&gt;
* sõltuvused võivad olla distroti eri nimedega&lt;br /&gt;
* pakkides olevad failid võivad distroti veidi erineda&lt;br /&gt;
* pakkides olevad skriptid ei pruugi ühilduda&lt;br /&gt;
&lt;br /&gt;
RPM üldine süntaks: rpm [operation][options] [package-files|package-names]&lt;br /&gt;
&lt;br /&gt;
Põhioperatsioonid:&lt;br /&gt;
* -i   - paigaldab paki, sama nimega pakki ei tohi varem olla&lt;br /&gt;
* -U  - uuendab olemasolevat või paigaldab, kui veel pole&lt;br /&gt;
* -F  - uuendab ainult siis, kui vanem versioon on olemas&lt;br /&gt;
* -q  - päring paki kohta&lt;br /&gt;
* -V  - paki kontroll&lt;br /&gt;
* -e  - eemaldab paki&lt;br /&gt;
* -b  - (vana) lähtekoodi ja konfi olemasolul ehitab binaarpaki; alates rpm 4.2-st teeb seda rpmbuild&lt;br /&gt;
* --rebuild - sama&lt;br /&gt;
* --rebuilddb - loob RPM-i andmebaasi uuesti, parandab vead&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Põhivalikud&lt;br /&gt;
|-&lt;br /&gt;
! Valik&lt;br /&gt;
! Käsud&lt;br /&gt;
! Kirjeldus&lt;br /&gt;
|-&lt;br /&gt;
| --root dir&lt;br /&gt;
| Kõik	&lt;br /&gt;
| Määrab konkreetse kataloogi juurkataloogiks&lt;br /&gt;
|-&lt;br /&gt;
| --force &lt;br /&gt;
| -i, -U, -F &lt;br /&gt;
| Sundpaigaldus (ka ülekirjutamise korral)&lt;br /&gt;
|-&lt;br /&gt;
| -h, --hash &lt;br /&gt;
| -i, -U, -F &lt;br /&gt;
| Näitab käsu täitmise edenemist #-sümbolite reaga&lt;br /&gt;
|-&lt;br /&gt;
| -v&lt;br /&gt;
| -i, -U, -F&lt;br /&gt;
| Kasutatakse koos -h-ga näitamaks iga paki kohta ühtmoodi #-de rida (-Uvh)&lt;br /&gt;
|-&lt;br /&gt;
| --nodeps&lt;br /&gt;
| -i, -U, -F, -e&lt;br /&gt;
| Eirab sõltuvusi (ohtlik!)&lt;br /&gt;
|-&lt;br /&gt;
| --test &lt;br /&gt;
| -i, -U, -F&lt;br /&gt;
| Kontrollib kõike nagu päris paigalduses, aga reaalselt ei paigalda&lt;br /&gt;
|-&lt;br /&gt;
| --prefix path&lt;br /&gt;
| -i, -U, -F 		&lt;br /&gt;
| Määrab paigalduskataloogi (toimib vaid osade pakkidega)&lt;br /&gt;
|-&lt;br /&gt;
| -a, --all &lt;br /&gt;
| -q, -V &lt;br /&gt;
| Kontrollib kõiki pakke&lt;br /&gt;
|- &lt;br /&gt;
| -f file, --file file 	&lt;br /&gt;
| -q, -V &lt;br /&gt;
| Kontrollib faili omanikuks olevat pakki&lt;br /&gt;
|-&lt;br /&gt;
| -p package-file &lt;br /&gt;
| -q&lt;br /&gt;
| Päring eemaldatud faili kohta&lt;br /&gt;
|-&lt;br /&gt;
| -i &lt;br /&gt;
| -q	&lt;br /&gt;
| Kuvab paki info&lt;br /&gt;
|-&lt;br /&gt;
| -R, --requires &lt;br /&gt;
| -q&lt;br /&gt;
| Kuvab sõltuvused (pakid ja failid)&lt;br /&gt;
|-&lt;br /&gt;
| -l, --list &lt;br /&gt;
| -q &lt;br /&gt;
| Kuvab pakis olevad failid&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
NB! Osa operatsioone tahavad paki nime (lühem), teised aga paki täis-failinime (pikem)!&lt;br /&gt;
&lt;br /&gt;
rpm -qi - põhjalikum info paki kohta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Andmete eraldamine RPMist ====&lt;br /&gt;
&lt;br /&gt;
RPM on muudetud cpio-fail (vt http://en.wikipedia.org/wiki/Cpio). &lt;br /&gt;
&lt;br /&gt;
rpm2cpio -utiliit saadab väljundi stdout&#039;i, seega tuleb suunata:&lt;br /&gt;
&lt;br /&gt;
rpm2cpio samba-server-3.0.25b-4.5mdv2008.0.src.rpm &amp;gt; samba-server-3.0.25b-4.5mdv2008.0.cpio&lt;br /&gt;
&lt;br /&gt;
seejärel cpio-fail lahti pakkida: $ cpio -i --make-directories &amp;lt; samba-server-3.0.25b-4.5mdv2008.0.cpio&lt;br /&gt;
&lt;br /&gt;
-i pakib lahti, --make-directories loob vajalikud alamkataloogid&lt;br /&gt;
&lt;br /&gt;
Võib ka ühe käsuga: $ rpm2cpio samba-server-3.0.25b-4.5mdv2008.0.src.rpm | cpio -i --make-directories&lt;br /&gt;
&lt;br /&gt;
NB! Mitte pakkida olemasoleva failisüsteemi selga! Alati peaks looma eraldi alamkataloogi - pakk võib sisaldada /etc, /usr jt hierarhiaid&lt;br /&gt;
&lt;br /&gt;
Debiani alien suudab rpm-i teha lisaks deb-ile ka tarballiks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Yum ====&lt;br /&gt;
&lt;br /&gt;
Üldkuju: yum [valikud] [käsk] [pakid]&lt;br /&gt;
&lt;br /&gt;
Põhikäsud:&lt;br /&gt;
* install  - paigaldab pakid ja nende sõltuvused&lt;br /&gt;
* update - uuendab valitud pakid - ilma argumendita paneb paika kõik uuendused&lt;br /&gt;
* check-update - näitab võimalikke uuendusi&lt;br /&gt;
* erase, remove - eemaldab&lt;br /&gt;
* upgrade - sama mis update --obsoletes, sobib versiooniuuenduseks&lt;br /&gt;
* list - paki info&lt;br /&gt;
* provides, whatprovides - konkreetse teenuse pakid. N: yum whatprovides apache&lt;br /&gt;
* search - otsing&lt;br /&gt;
* info - paki info (vrdl info-käsk)&lt;br /&gt;
* clean - puhvri puhastamine, aeg-ajalt soovitatav&lt;br /&gt;
* resolvedep - etteantud sõltuvusega pakid&lt;br /&gt;
* localinstall - kohaliku rpm-i paigaldus, sõltuvused tulevad yum&#039;i varamutest&lt;br /&gt;
* localupdate - vt eelmist&lt;br /&gt;
* deplist - sõltuvuste loend&lt;br /&gt;
* shell - yum&#039;i käsukest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! yum&#039;i kasutamine on lihtsam kui tavalise rpm&#039;i puhul, kuid süsteemi haldamine antakse rohkem distro koostaja kätte!&lt;br /&gt;
&lt;br /&gt;
yumdownloader - laeb soovitud paki alla aktiivsesse kataloogi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== RPM&#039;i ja yum&#039;i konf ====&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Peamine mõte on lisada arhitektuurivõtmeid: optflags: athlon -O2 -g -march=i686&lt;br /&gt;
&lt;br /&gt;
Yum: /etc/yum.conf + /etc/yum.repos.d/ -varamute konfid&lt;br /&gt;
&lt;br /&gt;
Red Hati/Fedora põhilised lisavaramud:&lt;br /&gt;
* Livna (http://rpm.livna.org)&lt;br /&gt;
* FreshRPMs (http://freshrpms.net)&lt;br /&gt;
* Red Hat KDE (http://kde-redhat.sourceforge.net)&lt;br /&gt;
&lt;br /&gt;
Asjalik teenus: http://rpmfind.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deb/dpkg ====&lt;br /&gt;
&lt;br /&gt;
Debian, Ubuntu, Xandros, Mepis, Libranet...&lt;br /&gt;
&lt;br /&gt;
Üldkuju: dpkg [options][action] [package-files|package-name]&lt;br /&gt;
&lt;br /&gt;
Põhikäsud:&lt;br /&gt;
* -i, --install 	paigaldus&lt;br /&gt;
* --configure 		konfib paigaldatud paki&lt;br /&gt;
* -r, --remove 		eemaldab paki, jätab konfifailid alles&lt;br /&gt;
* -P,  --purge 		eemaldab paki koos konfiga&lt;br /&gt;
* -p, --print-avail 	info paigaldatud paki kohta&lt;br /&gt;
* -I, --info 		info paigaldamata paki kohta&lt;br /&gt;
* -l &amp;lt;muster&amp;gt;, --list 	loetelu pakkidest, mille nimes esineb &amp;lt;muster&amp;gt;&lt;br /&gt;
* -L, --listfiles 	loetelu pakiga seotud paigaldatud failidest&lt;br /&gt;
* -S &amp;lt;muster&amp;gt;, --search otsing mustri järgi&lt;br /&gt;
* -C, --audit		poolikute pakkide otsing, annab soovitusi&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Võtmed&lt;br /&gt;
|-&lt;br /&gt;
| --root=dir&lt;br /&gt;
| Kõik &lt;br /&gt;
| Määrab juurkataloogi (kasulik erakorralise remondi puhul)&lt;br /&gt;
|-&lt;br /&gt;
| -B, --auto-deconfigure &lt;br /&gt;
| -r &lt;br /&gt;
| Deaktiveerib pakid, mis sõltuvad eemaldatavast pakist&lt;br /&gt;
|-&lt;br /&gt;
| --force-things&lt;br /&gt;
| Mõned	&lt;br /&gt;
| Sunnib tegevusi&lt;br /&gt;
|-&lt;br /&gt;
| --ignore-depends=package &lt;br /&gt;
| -i, -r &lt;br /&gt;
| Eirab sõltuvusi&lt;br /&gt;
|-&lt;br /&gt;
| --no-act &lt;br /&gt;
| -i, -r &lt;br /&gt;
| Kontrollib sõltuvusi ilma reaalset operatsiooni sooritamata&lt;br /&gt;
|-&lt;br /&gt;
| --recursive &lt;br /&gt;
| -i &lt;br /&gt;
| Rekursioon läbi alamkataloogide&lt;br /&gt;
|-&lt;br /&gt;
| -G &lt;br /&gt;
| -i &lt;br /&gt;
| Ei paigalda pakki, mille uuem versioon on juba paigaldatud&lt;br /&gt;
|-&lt;br /&gt;
| -E, --skip-same-version &lt;br /&gt;
| -i &lt;br /&gt;
| Ei paigalda pakki, mille sama versioon on juba paigaldatud&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mõnel juhul eeldatakse paki-, mõnel failinime. Install ja info tahavad faili, eemaldamine pakki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt-cache - mitmesugune info paki kohta:&lt;br /&gt;
* apt-cache showpkg pakinimi - &lt;br /&gt;
* apt-cache stats - pakistatistika. &lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
 kakk@aragorn:~$ sudo apt-cache stats&lt;br /&gt;
 [sudo] password for kakk: &lt;br /&gt;
 Pakettide nimesid kokku: 42027 (841k)&lt;br /&gt;
 Total package structures: 42027 (2 354k)&lt;br /&gt;
  Tavapakette: 32271&lt;br /&gt;
  Puhtalt virtuaalseid pakette: 530&lt;br /&gt;
  Üksikuid virtuaalseid pakette: 3059&lt;br /&gt;
  Kombineeritud virtuaalseid pakette: 293&lt;br /&gt;
  Puudu: 5874&lt;br /&gt;
 Kokku erinevaid versioone: 34394 (2 476k)&lt;br /&gt;
 Erinevaid kirjeldusi kokku: 34394 (825k)&lt;br /&gt;
 Sõltuvusi kokku: 222752 (6 237k)&lt;br /&gt;
 Versioonide/failide seoseid kokku: 38085 (914k)&lt;br /&gt;
 Kirjelduste/failide seoseid kokku: 34394 (825k)&lt;br /&gt;
 Total Provides mappings: 6341 (127k)&lt;br /&gt;
 Total globbed strings: 183 (2 517)&lt;br /&gt;
 Total dependency version space: 1 091k&lt;br /&gt;
 Lõtkukohti kokku: 53,4k&lt;br /&gt;
 Total space accounted for: 12,2M&lt;br /&gt;
&lt;br /&gt;
* apt-cache unmet - puuduvad sõltuvused&lt;br /&gt;
* apt-cache depends pakinimi - konkreetse paki sõltuvused&lt;br /&gt;
* apt-cache pkgnames sa - sa-ga algavad pakinimed&lt;br /&gt;
&lt;br /&gt;
==== Apt-get ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Apti allikaid ei tasu suvaliselt lisada :)&lt;br /&gt;
&lt;br /&gt;
Põhikäsud:&lt;br /&gt;
* update 			loeb sources.listi varamute uuendused&lt;br /&gt;
* upgrade 			uuendab&lt;br /&gt;
* dselect-upgrade		uuendab dselecti järel tegemata jäänud asjad*&lt;br /&gt;
* dist-upgrade 			nagu upgrade, aga parema konfliktikontrolliga (distrouuendus)&lt;br /&gt;
* install 			paigaldab paki&lt;br /&gt;
* remove 			eemaldab&lt;br /&gt;
* source			tõmbab lähtekoodipaki (failinime järgi!)&lt;br /&gt;
* check 			kontrollib pakiandmebaasi&lt;br /&gt;
* clean				puhastab puhvri&lt;br /&gt;
* autoclean			puhastab puhvri vaid vanadest failidest, mida enam kasutada ei saa&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Valikud&lt;br /&gt;
|-&lt;br /&gt;
| -d, --download-only 		&lt;br /&gt;
| upgrade, dselect-upgrade, install, source	&lt;br /&gt;
| Laeb pakid alla, kuid ei paigalda&lt;br /&gt;
|-&lt;br /&gt;
| -f, --fix-broken &lt;br /&gt;
| install, remove &lt;br /&gt;
| Üritab lahendada sõltuvused&lt;br /&gt;
|-&lt;br /&gt;
| -m, --ignore-missing, --fix-missing &lt;br /&gt;
| upgrade, dselect-upgrade, install, remove, source &lt;br /&gt;
| Eirab pakke, mille lähtekood pole saadaval&lt;br /&gt;
|-&lt;br /&gt;
| -q, --quiet &lt;br /&gt;
| Kõik	&lt;br /&gt;
| Ei näita osasid väljundeid (-qq on veel vaiksem!)&lt;br /&gt;
|-&lt;br /&gt;
| -s, --simulate, --just-print, --dry-run, --recon, --no-act &lt;br /&gt;
| Kõik	&lt;br /&gt;
| Simuleerib tegevust (reaalselt ei tee)&lt;br /&gt;
|-&lt;br /&gt;
| -y, --yes,  --assume-yes&lt;br /&gt;
| Kõik&lt;br /&gt;
| Vastab küsimustele &amp;quot;jah&amp;quot; (skriptides kasutamiseks)&lt;br /&gt;
|- &lt;br /&gt;
| -b, --compile,  --build &lt;br /&gt;
| source &lt;br /&gt;
| Laeb lähtekoodipaki alla ja kompileerib selle&lt;br /&gt;
|-&lt;br /&gt;
| --no-upgrade &lt;br /&gt;
| install &lt;br /&gt;
| Ei uuenda pakki, kui vanem versioon on juba olemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Apt - sama jutt kui RPMiga: kontroll nihkub pakendaja kätte!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dselect, aptitude - pakibrauserid (aptitude töötab apt-geti analoogina, kui anda pakid ette, ilma parameetriteta läheb interaktiivsesse režiimi). &lt;br /&gt;
&lt;br /&gt;
Graafiline analoog on Synaptic.&lt;br /&gt;
&lt;br /&gt;
aptitude - full-upgrade vs safe-upgrade, viimane on konservatiivsem&lt;br /&gt;
&lt;br /&gt;
dpkg-reconfigure - paki ümberkonfimine&lt;br /&gt;
&lt;br /&gt;
Debiani pakk koosneb eri failidest! lähtekoodi tarball, kontrollfail ja .dsc-signatuurifail (ehtsuse kontroll)&lt;br /&gt;
&lt;br /&gt;
==== Pakihaldurite konfimine ====&lt;br /&gt;
&lt;br /&gt;
dpkg konf:  /etc/dpkg/dpkg.cfg või kohalik ~/.dpkg.cfg&lt;br /&gt;
&lt;br /&gt;
apt: /etc/apt/sources.list (ja repod /etc/sources.list.d); apt&#039;i enda konf: /etc/apt/apt.conf (Ubuntul /etc/apt/apt.conf.d/ all eri failid eri rakendustele)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== alien ====&lt;br /&gt;
&lt;br /&gt;
Nõuab nii RPMi kui DPKG paigaldamist&lt;br /&gt;
&lt;br /&gt;
Üldkuju: alien [options] file[...]&lt;br /&gt;
&lt;br /&gt;
Tähtsaimad valikud: --to-deb, --to-rpm, --to-slp ja --to-tgz (3. on Stampede Linuxi pakett, suht vananenud, 2002 lõpetas töö)&lt;br /&gt;
&lt;br /&gt;
Näited:&lt;br /&gt;
* # alien --to-rpm someprogram-1.2.3-4_i386.deb - rpm-iks&lt;br /&gt;
* # alien --install binary-tarball.tar.gz  - installib ja lisab Debiani andmebaasi nagu .deb-i&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Pakikonfliktid ====&lt;br /&gt;
&lt;br /&gt;
Peamised põhjused:&lt;br /&gt;
* puuduvad teegid/utiliidid&lt;br /&gt;
* mitteühilduvad teegid/utiliidid&lt;br /&gt;
* topelt failid - mingi paki failid on teise pakiga juba paigaldatud ja ei ühildu&lt;br /&gt;
* mitteklappivad nimed&lt;br /&gt;
&lt;br /&gt;
RPM-i puhul saab jõuga:&lt;br /&gt;
* # rpm -i apackage.rpm --nodeps&lt;br /&gt;
* # rpm -i apackage.rpm --force&lt;br /&gt;
&lt;br /&gt;
DPKG puhul  --ignore-depends=package, --force-depends või --force-conflicts -parameetrid&lt;br /&gt;
&lt;br /&gt;
Vahel aitab sõltuvuspakkide uuendamine&lt;br /&gt;
&lt;br /&gt;
Vahel võib paki ümber ehitada: # rpmbuild --rebuild packagename-version.src.rpm&lt;br /&gt;
&lt;br /&gt;
Vahel saab leida paki alternatiivversiooni&lt;br /&gt;
&lt;br /&gt;
Vahel (serveritarkvara puhul) on vaja muuta käivitusskripte:  /etc/rc.d/rc.local või /etc/rc.d/boot.local&lt;br /&gt;
&lt;br /&gt;
=== Jagatud teegid ===&lt;br /&gt;
&lt;br /&gt;
näiteks libc/glibc, qt, gtk+&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
Põhimõtteliselt saaks teeke ka staatiliselt linkida, aga tulemus oleks suur ja paindumatu (uuendamine eeldaks relinki). Linux kasutab dünaamilist&lt;br /&gt;
teegisüsteemi sarnaselt Windowsi DLL-idega. Linuxis on vastavad laiendid:&lt;br /&gt;
* jagatud teek - .so või .so.versioon (n: .so.6)&lt;br /&gt;
* staatiline teek - .a&lt;br /&gt;
&lt;br /&gt;
Jagatud teegi miinused:&lt;br /&gt;
* mõningane jõudluskadu, kui teine programm juba sama teeki kasutab&lt;br /&gt;
* teegi muutmine võib tekitada ühilduvusprobleeme seda kasutavate programmidega&lt;br /&gt;
* programm ei pruugi teeki leida&lt;br /&gt;
* sõltuvustepusa&lt;br /&gt;
* teegi probleem (N: kettaviga) tekitab kogu süsteemile hirmsa kolaka&lt;br /&gt;
&lt;br /&gt;
Teekide leidmine - nime ja/või kataloogitee järgi&lt;br /&gt;
&lt;br /&gt;
Põhiline konf: /etc/ld.so.conf . Ubuntul on seal rida &amp;quot;include /etc/ld.so.conf.d/*.conf&amp;quot; - kõik conf-failid seal laetakse, nagu nad oleks juba ld.so.conf&#039;is sees&lt;br /&gt;
&lt;br /&gt;
Gentoos tuleb redigeerida /etc/env.d/ kataloogis olevaid konfifaile ja seejärel anda käsk env-update.&lt;br /&gt;
&lt;br /&gt;
Lisaks seal määratule on alati kättesaadavad ka /lib ja /usr/lib sisu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teekide asukohti saab määrata ka LD_LIBRARY_PATH -keskkonnamuutujaga:&lt;br /&gt;
&lt;br /&gt;
$ export LD_LIBRARY_PATH=/usr/local/testlib:/opt/newlib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
ldd programminimi - kuvab kõik teegid, mida programm kasutab:&lt;br /&gt;
 kakk@aragorn:~$ ldd /usr/bin/xbiff&lt;br /&gt;
 	linux-vdso.so.1 =&amp;gt;  (0x00007fff3a7ff000)&lt;br /&gt;
 	libXaw.so.7 =&amp;gt; /usr/lib/libXaw.so.7 (0x00007f4941c22000)&lt;br /&gt;
 	libXt.so.6 =&amp;gt; /usr/lib/libXt.so.6 (0x00007f49419bd000)&lt;br /&gt;
 	...&lt;br /&gt;
&lt;br /&gt;
ldconfig - laeb teekide puhvri uuesti (vajalik peale muutusi). Nii RPM kui DPKG teevad seda automaatselt. Saab ka eri parameetreid kasutada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Protsessihaldus ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== uname ====&lt;br /&gt;
&lt;br /&gt;
Kerneliprotsessi info&lt;br /&gt;
&lt;br /&gt;
Põhiparameetrid:&lt;br /&gt;
* -n, --nodename - hostinime kuvamine&lt;br /&gt;
* -s, --kernel-name - kerneli nimi (enamasti Linux)&lt;br /&gt;
* -v, --kernel-version  - kerneli versioon (algselt kuvas kompileerimise aega)&lt;br /&gt;
* -r, --kernel-release - kerneli väljalase&lt;br /&gt;
* -m, --machine - arvuti info (enamasti arhitektuur: x86_64)&lt;br /&gt;
* -p, --processor  - prose info (enamasti näitab paljudel juhtudel unknown)&lt;br /&gt;
* -i, --hardware-platform - riistvaraplatvorm (enamasti unknown)&lt;br /&gt;
* -o, --operating-system - OS  (GNU/Linux)&lt;br /&gt;
* -a, --all - kogu saadaolev info (kõik kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ps ==== &lt;br /&gt;
&lt;br /&gt;
Protsessikäsk. Hirmus hulk parameetreid, kolm klassi:&lt;br /&gt;
* Unix98 valikud - ühetähelised, võib grupeerida, algavad ÜHE kriipsuga (-)&lt;br /&gt;
* BSD valikud - ühetähelised, võib grupeerida, algavad ILMA kriipsuta&lt;br /&gt;
* GNU pikad valikud - mitmetähelised, ei grupeerita, algavad KAHE kriipsuga (--)&lt;br /&gt;
&lt;br /&gt;
PS_PERSONALITY keskkonnamuutuja määrab PS-i käitumise: posix, old, linux, bsd, sun, digital jt&lt;br /&gt;
&lt;br /&gt;
Peamised Linuxi ps-käsud:&lt;br /&gt;
* ps - konkreetse terminali kõik protsessid&lt;br /&gt;
* abiinfo - ps --help&lt;br /&gt;
* kuva kõik protsessid - ps -A või ps -e&lt;br /&gt;
* kuva kõik aktiivse kasutaja protsessid - ps -x&lt;br /&gt;
* kuva kõik konkreetse kasutaja protsessid: ps -u kasutaja, ps U kasutaja või ps --user kasutaja (võib olla kasutajanimi või ID)&lt;br /&gt;
* täiendav info:  -f, -l, j, l, u ja v võtmed&lt;br /&gt;
* protsesside hierarhia: -H, -f ja --forest -võtmed&lt;br /&gt;
* lai väljund (üle 80 märgi): -w ja w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näidatav info:&lt;br /&gt;
* kasutajanimi&lt;br /&gt;
* protsessi ID&lt;br /&gt;
* ülemprotsessi (vanema) ID&lt;br /&gt;
* TTY (terminal)&lt;br /&gt;
* protsessori ajakasutus&lt;br /&gt;
* protsessori prioriteet&lt;br /&gt;
* mälukasutus&lt;br /&gt;
* käivituskäsk&lt;br /&gt;
&lt;br /&gt;
NB! init &amp;quot;adopteerib&amp;quot; orbudeks jäänud (ülemprotsess lõppenud) protsessid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== top ====&lt;br /&gt;
&lt;br /&gt;
ps-i dünaamiline variant. Tavaliselt kasutatakse interaktiivselt ilma argumentideta, aga saab ka anda parameetreid&lt;br /&gt;
&lt;br /&gt;
Eriti kasulik on protsessoriaja jälgimine (load average)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
jobs - jooksva sessiooniga seotud protsessid. Kasulik vahel PID leidmiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Tausta- ja esiplaaniprotsessid ====&lt;br /&gt;
&lt;br /&gt;
Ctrl-Z peatab terminalis jooksva protsessi ja vabastab terminali&lt;br /&gt;
&lt;br /&gt;
fg jätkab uuesti (kui mitu on peatatud, siis fg number)&lt;br /&gt;
&lt;br /&gt;
bg jätkab taustal&lt;br /&gt;
&lt;br /&gt;
käsk &amp;amp; käivitab taustal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== nice ====&lt;br /&gt;
&lt;br /&gt;
Määrab protsessi prioriteetsuse:&lt;br /&gt;
&lt;br /&gt;
nice [argument] [command [command-arguments]]&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
$ nice -12 number-crunch data.txt  - käivitab number-crunch&#039;i, andmed võetakse data.txt&#039;ist&lt;br /&gt;
&lt;br /&gt;
Tavaprioriteet on 0. vahemik on -20-st 19-ni, negatiivsed on kõrgema prioriteediga. Prioriteetseid protsesse (alla 0) saab käivitada vaid root, &lt;br /&gt;
madalamaid prioriteete iga kasutaja (N: wine puhul oli -5). Kasutaja saab muuta vaid oma protsesside prioriteete ja ainult madalamaks!&lt;br /&gt;
&lt;br /&gt;
Töö käigus saab prioriteeti muuta: renice priority [[-p] pids] [[-g] pgrps] [[-u] users]&lt;br /&gt;
&lt;br /&gt;
N: # renice 7 16580 -u pdavison tbaker - protsess 16580 ja kõik kahe kasutaja protsessid saavad prioriteedi 7.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Protsessi tapmine ====&lt;br /&gt;
&lt;br /&gt;
kill - võib olla nii sise- kui väliskäsk, viimase jaoks tuleks anda koos teega /bin/kill&lt;br /&gt;
&lt;br /&gt;
Üldkuju: kill -s signaal PID&lt;br /&gt;
&lt;br /&gt;
Signaalide loetelu: kill -l&lt;br /&gt;
&lt;br /&gt;
signaali võib anda nii nime kui numbri järgi. Enamlevinud:&lt;br /&gt;
* 1 - SIGHUP, tapab interaktiivsed programmid&lt;br /&gt;
* 9 - SIGKILL, räige kohene surm ilma shutdown&#039;ita&lt;br /&gt;
* 15 - SIGTERM, pehmem, üritab failid sulgeda jne. Vaikimisi valik!&lt;br /&gt;
&lt;br /&gt;
lühikuju: kill -signaalilõpp PID  (ilma SIGita: HUP, KILL, TERM jne)&lt;br /&gt;
&lt;br /&gt;
Root saab killida kõike, muud ainult omi protsesse&lt;br /&gt;
&lt;br /&gt;
nohup programm [valikud]  - käivitab nii, et SIGHUPiga tappa ei saa (eiratakse)&lt;br /&gt;
&lt;br /&gt;
killall - nime järgi killimine. -i parameeter küsib:&lt;br /&gt;
 kakk@aragorn:~$ killall -i firefox-bin&lt;br /&gt;
 Kill firefox-bin(8074) ? (y/N) y&lt;br /&gt;
 kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
NB!!! Mõnes muus Unixis tapab killall KÕIK SELLE KASUTAJA PROTSESSID!!! Ettevaatust...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2011, 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_4&amp;diff=102923</id>
		<title>LPIC-1 - Kaku konspekt 4</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_4&amp;diff=102923"/>
		<updated>2016-04-26T11:02:51Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt 4 to LPIC-1 - Kaku konspekt 2011, 4. osa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[LPIC-1 - Kaku konspekt 2011, 4. osa]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_4._osa&amp;diff=102922</id>
		<title>LPIC-1 - Kaku konspekt 2011, 4. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_4._osa&amp;diff=102922"/>
		<updated>2016-04-26T11:02:51Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt 4 to LPIC-1 - Kaku konspekt 2011, 4. osa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU... [[LPIC-1 - Kaku konspekt 2011, 3. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Administreerimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kasutajahaldus ====&lt;br /&gt;
&lt;br /&gt;
Kasutajanimed - suhteliselt vaba märgivalik. Tühik võib probleeme tekitada, punkt ja allkriips üldiselt OK. Nimi peab algama tähega!&lt;br /&gt;
Max pikkus 32 märki, aga paljud utiliidid lõikavad üle 8 märgi puhul saba maha - tihti ei soovitata üle selle panna.&lt;br /&gt;
Tõstutundlikkus.&lt;br /&gt;
&lt;br /&gt;
Grupid - peamiselt õiguste baasil loodud kasutajarühmad. /etc/group, /etc/passwd. Grupi vahetamine - newgrp -käsk (failidel ka chown ja chgrp)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
GID 100 on tihti users-grupp, vaikimisi grupp.&lt;br /&gt;
&lt;br /&gt;
UID 0 mõnel teisel kontol on selge sissetungi märk (root-õigused).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutaja lisamine:&lt;br /&gt;
&lt;br /&gt;
 useradd [-c comment] [-d home-dir] [-e expire-date] [-f inactive-days]➦&lt;br /&gt;
 [-g default-group] [-G group[,...]] [-m [-k skeleton-dir] | -M]➦&lt;br /&gt;
 [-p password] [-s shell] [-u UID [-o]] [-r] [-n] username&lt;br /&gt;
&lt;br /&gt;
Expire-date - alati YYYY-MM-DD, vahel ka muud variandid lisaks&lt;br /&gt;
&lt;br /&gt;
-f loob konto, mis pika kasutamatuse korral kinni läheb (päevades; vaikimisi -1 ehk mitte kunagi)&lt;br /&gt;
&lt;br /&gt;
Kontoinfo läheb /etc/login.defs-i&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]&lt;br /&gt;
&lt;br /&gt;
* -k - korjab ära aegunud kontod&lt;br /&gt;
* -l - lukustab konto (kirjutab krüpteeritud parooli ette hüüumärgi)&lt;br /&gt;
* -u - lukust lahti (lisades -f eemaldab parooli)&lt;br /&gt;
* -d - eemaldab parooli&lt;br /&gt;
* -S - parooli info (kas on, krüpteeringu tüüp)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
usermod - suht sarnane useradd&#039;iga. Erisused:&lt;br /&gt;
* -m (koos -d-ga) - tõstab kasutaja failid uude kodukataloogi&lt;br /&gt;
* -l - kasutaja ringinimetamine: usermod kakk -l puravik&lt;br /&gt;
* -L, -U - nagu -l ja -u passwd&#039;is&lt;br /&gt;
&lt;br /&gt;
Faile ei tohiks liigutada, kui nende omanik on sisse logitud!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Konto aegumise muutmine:&lt;br /&gt;
&lt;br /&gt;
chage [-l] [-m mindays] [-M maxdays] [-d lastday] [-I inactivedays] [-E expiredate] [-W warndays] username &lt;br /&gt;
&lt;br /&gt;
* -l - seisu kuvamine&lt;br /&gt;
* -m - paroolivahetuse min. periood (tihedamini ei saa)&lt;br /&gt;
* -M - max (harvemini ei saa)&lt;br /&gt;
* -d - viimase paroolivahetuse päeva seadmine&lt;br /&gt;
* -I - passiivsusperiood päevades kuni lukustumiseni&lt;br /&gt;
* -E - aegumise kuupäev&lt;br /&gt;
* -W - hoiatuse kestus päevades enne aegumist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/passwd&lt;br /&gt;
&lt;br /&gt;
sally:x:529:100:Sally Jones:/home/sally:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja, parool (x märgib variparoole /etc/shadow&#039;s), UID, peamine GID, kommentaar (siin täisnimi), kodukataloog, kest&lt;br /&gt;
&lt;br /&gt;
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 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
&lt;br /&gt;
sally:E/moFkeT5UnTQ:14069:0:-1:7:-1:-1:&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
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...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow on harilikult root ja 600 -õigustega, /etc/passwd aga root ja 644.&lt;br /&gt;
&lt;br /&gt;
Võrgulogimissüsteemid nagu LDAP on omaette teema, aga nad kasutavad /etc/nsswitch.conf&#039;i ja /etc/pam.d/ -kataloogi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
userdel &lt;br /&gt;
* -r kustutab koos failidega&lt;br /&gt;
* -f kustutab ka sisselogitud kasutaja&lt;br /&gt;
* -h help&lt;br /&gt;
&lt;br /&gt;
Kasutaja kustutamisel tuleks otsida ka mujal olevaid faile (# find / -uid 529).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
groupadd [-g GID [-o]] [-r] [-f] groupname&lt;br /&gt;
* -g - etteantud GID&lt;br /&gt;
* -r - alla 500 numbriga grupp&lt;br /&gt;
* -f - jõuga (ka eksisteeriva korral)&lt;br /&gt;
&lt;br /&gt;
enamasti piisab groupadd kasutaja -st&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
groupmod:&lt;br /&gt;
&lt;br /&gt;
groupmod [-g GID [-o]] [-n newgroupname] oldgroupname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gpasswd: &lt;br /&gt;
&lt;br /&gt;
gpasswd [-a user] [-d user] [-R] [-r] [-A user[,...]] [-M user[,...]] group&lt;br /&gt;
* -a - lisab gruppi&lt;br /&gt;
* -d - eemaldab&lt;br /&gt;
* -R - keelab newgrp&#039;i&lt;br /&gt;
* -A - määrab kasutaja grupi adminiks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/group:&lt;br /&gt;
&lt;br /&gt;
project1:x:501:sally,sam,ellen,george&lt;br /&gt;
&lt;br /&gt;
parool on krüptitud  (/etc/gshadow)&lt;br /&gt;
&lt;br /&gt;
groupdel - vt userdel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Keskkonnakohandused&lt;br /&gt;
/etc/profile, /etc/bash.bashrc, ~/.profile, ~/.bashrc, ~/.bash_profile,  ~/.profile&lt;br /&gt;
&lt;br /&gt;
vt keskkonnainfot  env | less&lt;br /&gt;
&lt;br /&gt;
/etc/skel - vaikimisi kodukataloogi jupid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Logimine ====&lt;br /&gt;
&lt;br /&gt;
syslogd - üldine logideemon&lt;br /&gt;
&lt;br /&gt;
klogd - kerneli logideemon&lt;br /&gt;
&lt;br /&gt;
Võivad olla ka muud - syslog-ng, rsyslogd, metalog - Ubuntul on rsyslog!&lt;br /&gt;
&lt;br /&gt;
konf /etc/syslog.conf&lt;br /&gt;
&lt;br /&gt;
Üldkuju: facility.priority  action&lt;br /&gt;
&lt;br /&gt;
Facility:  auth, authpriv, cron, daemon, kern, lpr, mail, mark, news,&lt;br /&gt;
security, syslog, user, uucp, local0-local7. &lt;br /&gt;
&lt;br /&gt;
Priority: debug, info, notice, warning (varem warn), err (varem error), crit, alert, emerg (varem panic)&lt;br /&gt;
&lt;br /&gt;
* alert - alert või tõsisem&lt;br /&gt;
* =alert - ainult alert&lt;br /&gt;
* !alert - alla selle&lt;br /&gt;
* * - kõik&lt;br /&gt;
&lt;br /&gt;
action - enamasti failinimi, tüüpiliselt  /var/log all - väga tihti kas messages, syslog või secure &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
 kern.*			/var/log/kernel		&amp;amp;&amp;amp; kogu kerneli jutt logisse&lt;br /&gt;
 kern.crit		@logger.pangaea.edu	&amp;amp;&amp;amp; crit teise masinasse&lt;br /&gt;
 kern.crit		/dev/console		&amp;amp;&amp;amp; crit kohalikule peamonitorile&lt;br /&gt;
 kern.info;kern.!err 	/var/log/kernel-info     &amp;amp;&amp;amp; infost err-ini logisse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käsitsi logimine&lt;br /&gt;
&lt;br /&gt;
Vahel on vaja ise teha või skripti panna&lt;br /&gt;
&lt;br /&gt;
logger [-isd] [-f file] [-p pri] [-t tag] [-u socket] [message ...]&lt;br /&gt;
* -i - logib ka loggeri enda PID&lt;br /&gt;
* -s - saadab väljundi stderr&#039;i&lt;br /&gt;
* -d - logib datagrammidena (profifeatuur)&lt;br /&gt;
* -f fail - logifail (ettevaatust mahuga!)&lt;br /&gt;
* -p prioriteet - prioriteedi määramine (vt eespool)&lt;br /&gt;
* -t tag - logi märgendamine nimega (vaikimisi &#039;logger&#039;)&lt;br /&gt;
* -u sokkel - kindla võrgusokli määramine (profifeatuur)&lt;br /&gt;
* sõnum (Ctrl-D lõpetab) - jooksva sisendi logimine&lt;br /&gt;
&lt;br /&gt;
N:&lt;br /&gt;
&lt;br /&gt;
 $ logger shutting down for system maintenance&lt;br /&gt;
&lt;br /&gt;
Tulemus (ilmselt /var/log/messages):&lt;br /&gt;
 Jul 29 14:09:50 nessus logger: shutting down for system maintenance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Logide rotatsioon ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
logrotate ,  /etc/logrotate.conf,  /etc/logrotate.d/&lt;br /&gt;
&lt;br /&gt;
Konfinäide:&lt;br /&gt;
&lt;br /&gt;
 # Rotate logs weekly&lt;br /&gt;
 weekly&lt;br /&gt;
 # Keep 4 weeks of old logs&lt;br /&gt;
 rotate 4&lt;br /&gt;
 # Create new log files after rotation&lt;br /&gt;
 create&lt;br /&gt;
 # Compress old log files&lt;br /&gt;
 compress&lt;br /&gt;
 # Refer to files for individual packages&lt;br /&gt;
 include /etc/logrotate.d&lt;br /&gt;
 # Set miscellaneous options&lt;br /&gt;
 notifempty&lt;br /&gt;
 nomail&lt;br /&gt;
 noolddir&lt;br /&gt;
 # Rotate wtmp, which isn’t handled by a specific program&lt;br /&gt;
 /var/log/wtmp {&lt;br /&gt;
 monthly&lt;br /&gt;
 create 0664 root utmp&lt;br /&gt;
 rotate 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/etc/logrotate.d/ - iga logitava programmi konfid. Valikuid:&lt;br /&gt;
* dateext - vaikimisi on messages.1, messages.2 jne. Saab panna kujule messages-20091005 (05.10.09)&lt;br /&gt;
* compresscmd - vaikimisi gzip, võib panna näiteks bzip2. Täiendavad parameetrid võib lisada compressoption&#039;iga&lt;br /&gt;
* create vs copytruncate - viimane kopeerib vana logi ja siis teeb vana faili tühjaks (töötab mõne tarkvaraga paremini)&lt;br /&gt;
* daily, weekly, monthly - intervallid&lt;br /&gt;
* size - lubatud suurus. N: size 100k - kui logi saab 100k suuruseks, toimub rotatsioon&lt;br /&gt;
* rotate number - mitu koopiat säilitatakse. N: rotate 2 - algne tühjaks, senine .1-ks, senine .1 .2-ks, .2 kustutatakse.&lt;br /&gt;
* mail aadr - meilib kustutatava (väljaroteeruva) logi sellele aadressile. Vastand: nomail&lt;br /&gt;
* prerotate, postrotate - skriptid, mis täidetakse vahetult enne ja peale rotatsiooni&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Logide lugemine&lt;br /&gt;
* otse -  less&lt;br /&gt;
* otsing - grep&lt;br /&gt;
* algus/lõpp - head/tail&lt;br /&gt;
* monitoorimine - tail -f /var/log/messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ajahaldus ====&lt;br /&gt;
&lt;br /&gt;
Enamasti UTC&lt;br /&gt;
&lt;br /&gt;
Käsitsi seadmine: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]&lt;br /&gt;
&lt;br /&gt;
Riistvarakella sättimine: hwclock . Valikud:&lt;br /&gt;
* -r, --show - näitab aega :  E 18 apr   2011 11:37:29 EEST  -0.437870 sekundit &lt;br /&gt;
* --set ja --date=newdate - aja  seadmine&lt;br /&gt;
* --systohc - riistvara sätitakse tarkvara järgi&lt;br /&gt;
* --hctosys - vastupidi&lt;br /&gt;
* --utc, --localtime - vastavalt kumbki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== NTP ====&lt;br /&gt;
&lt;br /&gt;
stratum - erinevad kihid kellaajaedastamise hierarhias&lt;br /&gt;
&lt;br /&gt;
/var/lib/ntp/ntp.drift (vahel /etc all)&lt;br /&gt;
&lt;br /&gt;
NTP serveri leidmine:&lt;br /&gt;
* ISP &lt;br /&gt;
* distro&lt;br /&gt;
* avalik NTP-de list&lt;br /&gt;
* pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
masinas deemonipõhine, distropõhine paigaldatakse kohe automaatselt käivituvana. /etc/ntp.conf:&lt;br /&gt;
&lt;br /&gt;
 server clock.example.com&lt;br /&gt;
 server ntp.pangaea.edu&lt;br /&gt;
 server time.luna.edu&lt;br /&gt;
&lt;br /&gt;
Ühekordne sünkimine: # ntpdate clock.example.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cron ====&lt;br /&gt;
&lt;br /&gt;
Kataloogid /var/spool/cron  /etc/cron.d,  fail /etc/crontab &lt;br /&gt;
&lt;br /&gt;
system jobs &lt;br /&gt;
&lt;br /&gt;
user jobs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
System:&lt;br /&gt;
&lt;br /&gt;
 02 4 * * * root run-parts /etc/cron.daily  &amp;amp;&amp;amp; jooksutab kõiki /etc/cron.daily skripte iga päev kell 4.02&lt;br /&gt;
&lt;br /&gt;
* minutid (0–59)&lt;br /&gt;
* tunnid (0–23)&lt;br /&gt;
* kuupäev (1–31)&lt;br /&gt;
* kuu (1–12)&lt;br /&gt;
* nädalapäev (0–7; pühapäev on nii 0 kui 7)&lt;br /&gt;
* konto (root)&lt;br /&gt;
* käsk (run-parts /etc/cron.daily)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tärn on kõik&lt;br /&gt;
* list (0,5,10) - iga väärtus&lt;br /&gt;
* vahemik (5-10)&lt;br /&gt;
* samm */10 minutite kohal: iga 10 minuti tagant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Intervallid on enamasti määratud /etc/cron.interval (Ubuntul; cron.hourly, cron.weekly jne)  või /etc/cron.d/interval -kataloogis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cron&#039;iga käitamiseks mõeldud skripte tuleb põhjalikult testida - seal esinev puuk võib jama põhjustada&lt;br /&gt;
&lt;br /&gt;
Kataloogid peavad kindlasti olema root only, muidu võetakse õigused üle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutaja cron:&lt;br /&gt;
&lt;br /&gt;
crontab [-u user] [-l | -e | -r] [file]&lt;br /&gt;
&lt;br /&gt;
* -l - kuvab&lt;br /&gt;
* -e - muudab  &amp;amp;&amp;amp; vaikimisi vi, saab muuta EDITOR või VISUAL -keskkonnamuutujaga&lt;br /&gt;
* -r - kustutab&lt;br /&gt;
&lt;br /&gt;
Crontabi failist lugemine:    crontab -u tbaker my-cron  &amp;amp;&amp;amp; kasutaja tbaker crontab loetakse failist my-cron&lt;br /&gt;
&lt;br /&gt;
Failinäide:&lt;br /&gt;
&lt;br /&gt;
 SHELL=/bin/bash&lt;br /&gt;
 MAILTO=tbaker&lt;br /&gt;
 HOME=/home/tbaker&lt;br /&gt;
 0,30 * * * * /usr/bin/fetchmail -s&lt;br /&gt;
 0 2 * * mon /usr/local/bin/clean-adouble $HOME&lt;br /&gt;
&lt;br /&gt;
Peale faili loomist tuleb anda näiteks eespooltoodud failikäsk (lihtsaim kuju: crontab failinimi)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutajate cron&#039;id asuvad kas /var/spool/cron, /var/spool/cron/tabs või /var/spool/cron/crontabs - kasutajanimega failid (/var/spool/cron/edgar)&lt;br /&gt;
&lt;br /&gt;
Ligipääs Cron&#039;ile:&lt;br /&gt;
* tavaline õigustesüsteem&lt;br /&gt;
* /etc/cron.allow ja/või /etc/cron.deny&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
anacron - vajalik süsteemides, mis pole 24/7 üleval. Käivitudes kontrollib, kas määratud tegevuste tähtaeg on üle - kui jah, käivitab&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab:&lt;br /&gt;
&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 &lt;br /&gt;
 # These replace cron&#039;s entries&lt;br /&gt;
 1       5       cron.daily       nice run-parts --report /etc/cron.daily&lt;br /&gt;
 7       10      cron.weekly      nice run-parts --report /etc/cron.weekly&lt;br /&gt;
 @monthly        15      cron.monthly nice run-parts --report /etc/cron.monthly&lt;br /&gt;
 &lt;br /&gt;
 1 - periood päevades käsu käivitamiseks (iga päev, teisel kord nädalas)&lt;br /&gt;
 5 - paus minutites anacroni käivituse ja käsu käivituse vahel (vältimaks hunniku käskudega ülelaadimist) &lt;br /&gt;
&lt;br /&gt;
Käitamine:&lt;br /&gt;
* alguses skriptiga&lt;br /&gt;
* cronjob - võib anda vajaliku viivituse ja tõsta koormavamad tegevused töövälisesse aega&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
at - lihtne viivitusega käivitus: &lt;br /&gt;
* kellaaeg - HH:MM&lt;br /&gt;
* noon, midnight, teatime (viimane on 16:00)&lt;br /&gt;
* MMDDYY, MM/DD/YY või DD.MM.YY, month-name day või month-name day year&lt;br /&gt;
* now + ajavahemik (5 minutes, 3 hours jne)&lt;br /&gt;
&lt;br /&gt;
peale käsu andmist ja aja määramist tuleb sisestada käsud, lõppu Ctrl-D (at&amp;gt; -käsukest)&lt;br /&gt;
&lt;br /&gt;
-f -parameeter - käsud loetakse failist: at -f kasud.sh noon&lt;br /&gt;
&lt;br /&gt;
Eeldab atd deemoni töötamist (saab käivitada alguses skriptiga)&lt;br /&gt;
&lt;br /&gt;
* atq - näitab töösolevaid at-e&lt;br /&gt;
* atrm  - eemaldab töönumbri järgi (&amp;lt; atq)&lt;br /&gt;
&lt;br /&gt;
batch - nagu at, aga käivitab protsessid siis, kui süsteemi üldkoormus langeb alla 0,8&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny - nagu cron, AGA:&lt;br /&gt;
* kui MÕLEMAD puuduvad, saab ainult root kasutada (croni puhul saavad kõik)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrgunduse alused ===&lt;br /&gt;
&lt;br /&gt;
NB! Vahel on piir võrguseadme ja muude seadmete vahel udune. N: rööpliides + PLIP või jadaliides/USB + PPP&lt;br /&gt;
&lt;br /&gt;
Ethernet - keerupaari mõte on segamise minimeerimine. 10Base-T, 100Base-T (mbps, twisted pair)&lt;br /&gt;
&lt;br /&gt;
Tänapäeval Gbit ehk 1000Base-T &lt;br /&gt;
 &lt;br /&gt;
Vanemad: Token Ring (IBM), LocalTalk (Apple), FDDI, HIPPI, Fibre Channel&lt;br /&gt;
&lt;br /&gt;
WiFi: 11Mbps (802.11b), 54Mbps (802.11a ja 802.11g), 300Mbps (802.11n). NB! WEP/WPA/WPA2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hub: pooldupleksside (kordamööda)&lt;br /&gt;
&lt;br /&gt;
Switch: täisdupleks (korraga)&lt;br /&gt;
&lt;br /&gt;
Linux toetab TCP/IP-le lisaks ka IPX/SPXi (Novell) ja AppleTalki, kuid  mitte NetBEUId (MS)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asjakohased TCP kihid (ülalt alla) - application, transport, Internet, link&lt;br /&gt;
&lt;br /&gt;
MAC-aadress  -  ifconfig eth0 vmm&lt;br /&gt;
&lt;br /&gt;
IPv6 - 8 x 4 hex-numbrit. 0000 võib ära jätta, asendades ::-ga  &lt;br /&gt;
&lt;br /&gt;
netmask: 192.168.29.39/24 =  192.168.29.39 maskiga 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ta b l e   8 .1  ​ IPv4 Network Classes and Private Network Ranges&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ IPv4 võrguklassid ja reserveeritud aadressid&lt;br /&gt;
|-&lt;br /&gt;
! Klass&lt;br /&gt;
! Aadressivahemik&lt;br /&gt;
! Reserveeritud&lt;br /&gt;
! Märkused&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 1.0.0.0–127.255.255.255 &lt;br /&gt;
| 10.0.0.0–10.255.255.255&lt;br /&gt;
| üldvõrgud&lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 128.0.0.0–191.255.255.255 &lt;br /&gt;
| 172.16.0.0–172.31.255.255&lt;br /&gt;
| üldvõrgud&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 192.0.0.0–223.255.255.255&lt;br /&gt;
| 192.168.0.0–192.168.255.255	&lt;br /&gt;
| üldvõrgud&lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 224.0.0.0–239.255.255.255 &lt;br /&gt;
| pole&lt;br /&gt;
| multicasting&lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| 240.0.0.0–255.255.255.255&lt;br /&gt;
| pole&lt;br /&gt;
| reserveeritud&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6 kohalikud aadressid algavad  fec, fed, fee või fef-ga.&lt;br /&gt;
&lt;br /&gt;
Broadcast:&lt;br /&gt;
* IP 72.24.21.201 &lt;br /&gt;
* Mask  255.255.0.0&lt;br /&gt;
* BC 172.24.255.255&lt;br /&gt;
&lt;br /&gt;
Kui mask sisaldab muud peale 0 ja 255, on keerukam, teisendatakse läbi kahendsüsteemi&lt;br /&gt;
&lt;br /&gt;
IP 172.24.21.201, Mask 255.255.128.0 . Kahendkujul:&lt;br /&gt;
 10101100 00011000 00010101 11001001&lt;br /&gt;
 11111111 11111111 10000000 00000000&lt;br /&gt;
&lt;br /&gt;
Kohtades, kus all (maskis) on 0, tuleb üles 1. Tulemus:&lt;br /&gt;
 10101100 00011000 01111111 11111111&lt;br /&gt;
ehk 72.24.127.255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Hostid ====&lt;br /&gt;
&lt;br /&gt;
Kasulik tarkvara:&lt;br /&gt;
* nslookup - otsib nimeserverist. Vananenud&lt;br /&gt;
* host - lihtne DNS-otsing (pmst IP)&lt;br /&gt;
* dig - keerukas DNS-otsing (pikem inf)&lt;br /&gt;
* whois&lt;br /&gt;
&lt;br /&gt;
Kohaliku võrgu jaoks piisab /etc/hosts&#039;ist:&lt;br /&gt;
 127.0.0.1 localhost&lt;br /&gt;
 192.168.7.23 apollo.luna.edu apollo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaikimisi otsitakse /etc/hosts&#039;ist enne DNS&#039;i. Vajadusel saab muuta seda /etc/nsswitch.conf&#039;ist: keerata  &amp;quot;hosts: files dns&amp;quot; paar ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Levinumad pordid ====&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Levinumad pordid ja nendega seotud serverid&lt;br /&gt;
|-&lt;br /&gt;
! Port&lt;br /&gt;
! TCP/UDP&lt;br /&gt;
! Otstarve&lt;br /&gt;
! Serverinäited&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| TCP&lt;br /&gt;
| File Transfer Protocol (FTP), andmeport&lt;br /&gt;
| ProFTPd, vsftpd &lt;br /&gt;
|-&lt;br /&gt;
| 21 &lt;br /&gt;
| TCP &lt;br /&gt;
| FTP&lt;br /&gt;
| ProFTPd, vsftpd&lt;br /&gt;
|-&lt;br /&gt;
| 22 &lt;br /&gt;
| TCP &lt;br /&gt;
| Secure Shell (SSH) &lt;br /&gt;
| OpenSSH, Dropbear&lt;br /&gt;
|-&lt;br /&gt;
| 23 &lt;br /&gt;
| TCP &lt;br /&gt;
| Telnet &lt;br /&gt;
| in.telnetd&lt;br /&gt;
|-&lt;br /&gt;
| 25 &lt;br /&gt;
| TCP &lt;br /&gt;
| Simple Mail Transfer Protocol (SMTP)&lt;br /&gt;
| Sendmail, Postfix, Exim, qmail&lt;br /&gt;
|-&lt;br /&gt;
| 53 &lt;br /&gt;
| TCP ja UDP &lt;br /&gt;
| Domain Name System (DNS) &lt;br /&gt;
| Berkeley Internet Name Domain (BIND ehk named), djbdns&lt;br /&gt;
|-&lt;br /&gt;
| 67 &lt;br /&gt;
| UDP &lt;br /&gt;
| Dynamic Host Configuration Protocol (DHCP) &lt;br /&gt;
| Internet Software Consortium (ISC) DHCP (dhcpd)&lt;br /&gt;
|-&lt;br /&gt;
| 80 &lt;br /&gt;
| TCP &lt;br /&gt;
| Hypertext Transfer Protocol (HTTP)&lt;br /&gt;
| Apache, Roxen, thttpd&lt;br /&gt;
|- &lt;br /&gt;
| 110 &lt;br /&gt;
| TCP &lt;br /&gt;
| Post Office Protocol v3 (POP3)&lt;br /&gt;
| Dovecot, Qpopper, popa3d&lt;br /&gt;
|-&lt;br /&gt;
| 111 &lt;br /&gt;
| TCP ja UDP&lt;br /&gt;
| Portmapper&lt;br /&gt;
| NFS, NIS, muud RPC-põhised teenused&lt;br /&gt;
|-&lt;br /&gt;
| 113 &lt;br /&gt;
| TCP &lt;br /&gt;
| auth/ident&lt;br /&gt;
| identd&lt;br /&gt;
|-&lt;br /&gt;
| 119 &lt;br /&gt;
| TCP &lt;br /&gt;
| Network News Transfer Protocol (NNTP)&lt;br /&gt;
| InterNetNews (INN), Diablo, Leafnode&lt;br /&gt;
|-&lt;br /&gt;
| 139 &lt;br /&gt;
| TCP &lt;br /&gt;
| NetBIOS &lt;br /&gt;
| Session (Samba)&lt;br /&gt;
|-&lt;br /&gt;
| 143 &lt;br /&gt;
| TCP &lt;br /&gt;
| Internet Mail Access Protocol (IMAP) &lt;br /&gt;
| Dovecot, Cyrus IMAP, UW-IMAP&lt;br /&gt;
|-&lt;br /&gt;
| 161 &lt;br /&gt;
| UDP &lt;br /&gt;
| Simple Network Management Protocol (SNMP)&lt;br /&gt;
| Net-SNMP&lt;br /&gt;
|-&lt;br /&gt;
| 177 &lt;br /&gt;
| UDP &lt;br /&gt;
| XDMCP&lt;br /&gt;
| XDM, KDM, GDM&lt;br /&gt;
|-&lt;br /&gt;
| 389 &lt;br /&gt;
| TCP &lt;br /&gt;
| LDAP &lt;br /&gt;
| OpenLDAP&lt;br /&gt;
|-&lt;br /&gt;
|443 &lt;br /&gt;
| TCP &lt;br /&gt;
| HTTP üle SSLi (HTTPS)&lt;br /&gt;
| Apache, Roxen&lt;br /&gt;
|-&lt;br /&gt;
| 445 &lt;br /&gt;
| TCP &lt;br /&gt;
| Microsoft Directory Services (DS)&lt;br /&gt;
| Samba&lt;br /&gt;
|-&lt;br /&gt;
| 465 &lt;br /&gt;
| TCP &lt;br /&gt;
| SMTP üle SSLi või URL Rendezvous directory (URD) 1&lt;br /&gt;
| Sendmail, Postfix, Exim, qmail; võrguruuterid&lt;br /&gt;
|-&lt;br /&gt;
| 631 &lt;br /&gt;
| TCP &lt;br /&gt;
| Internet Printing Protocol &lt;br /&gt;
| Common Unix Printing System (CUPS)&lt;br /&gt;
|-&lt;br /&gt;
| 993 &lt;br /&gt;
| TCP &lt;br /&gt;
| IMAP üle SSLi&lt;br /&gt;
| Dovecot, Cyrus IMAP, UW-IMAP&lt;br /&gt;
|-&lt;br /&gt;
| 995 &lt;br /&gt;
| TCP &lt;br /&gt;
| POP3 üle SSLi&lt;br /&gt;
| Dovecot, Qpopper, popa3d&lt;br /&gt;
|-&lt;br /&gt;
| 5900+ &lt;br /&gt;
| TCP &lt;br /&gt;
| Remote Framebuffer (RFB) &lt;br /&gt;
| Virtual Network Computing (VNC): OpenVNC, TightVNC&lt;br /&gt;
|-&lt;br /&gt;
| 6000–6007 &lt;br /&gt;
| TCP &lt;br /&gt;
| The X Window System (X) &lt;br /&gt;
| X.org-X11, XFree86&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alla 1024 - privilegeeritud pordid (root)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/services:&lt;br /&gt;
 ssh 	22/tcp	# SSH Remote Login Protocol&lt;br /&gt;
 ssh	22/udp	# SSH Remote Login Protocol&lt;br /&gt;
 telnet	23/tcp&lt;br /&gt;
 smtp	25/tcp&lt;br /&gt;
&lt;br /&gt;
Võrgukonf:  &lt;br /&gt;
&lt;br /&gt;
kaardi draiveri laadimine modprobe&#039;iga (tuleb teada mooduli nime; N: modprobe realtek)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DHCP&lt;br /&gt;
&lt;br /&gt;
 BOOTPROTO=dhcp&lt;br /&gt;
&lt;br /&gt;
Ubuntus määratakse /etc/network/interfaces -failis: iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Staatiline konf:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=eth0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.29.39&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 NETWORK=192.168.29.0&lt;br /&gt;
 BROADCAST=192.168.29.255&lt;br /&gt;
 GATEWAY=192.168.29.1&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
Nimeserver(id) - /etc/resolv.conf:&lt;br /&gt;
&lt;br /&gt;
 nameserver IPnr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ifconfig  N: # ifconfig eth0 up 192.168.29.39 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Kui käsitsi, vajab ka ruutimist läbi lüüsi: # route add default gw 192.168.29.1&lt;br /&gt;
&lt;br /&gt;
Veel üks näide ruutimisest:&lt;br /&gt;
 # route add -net 172.20.0.0 netmask 255.255.0.0 gw 172.21.1.1&lt;br /&gt;
&lt;br /&gt;
ruutimisinfo:  route -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ifup ja ifdown&lt;br /&gt;
&lt;br /&gt;
/etc/hostname või /etc/HOSTNAME &lt;br /&gt;
Fedoras /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
ping -c nr masin - nr korda&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
traceroute  - näitab teekonda masinates&lt;br /&gt;
-n näitab IP-d hostname&#039;i asemel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagnostika netstat&#039;iga:&lt;br /&gt;
* liides: netstat -i&lt;br /&gt;
* ruutimine: netstat -r&lt;br /&gt;
* NAT: netstat -M&lt;br /&gt;
* programmide netikasutus: netstat -p&lt;br /&gt;
* pordid: netstat&lt;br /&gt;
* kõik ühendused: netstat -a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Toorpaketid: tcpdump&lt;br /&gt;
&lt;br /&gt;
=== Skriptid, e-post ja SQL ===&lt;br /&gt;
&lt;br /&gt;
NB! SIIT LÕPUNI ON KONSPEKT ÜSNA PINNAPEALNE - TÄPSEMALT TASUB RAAMATUST VAADATA!&lt;br /&gt;
&lt;br /&gt;
env ja export&lt;br /&gt;
&lt;br /&gt;
keskkonnamuutujad&lt;br /&gt;
&lt;br /&gt;
aliased&lt;br /&gt;
&lt;br /&gt;
BASHi skriptid algavad #!/bin/sh -reaga (shebang)&lt;br /&gt;
&lt;br /&gt;
chmod&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
skriptinäide:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 echo -n “Enter a username: “&lt;br /&gt;
 read name&lt;br /&gt;
 useradd -m $name&lt;br /&gt;
 passwd $name&lt;br /&gt;
 mkdir -p /shared/$name&lt;br /&gt;
 chown $name.users /shared/$name&lt;br /&gt;
 chmod 775 /shared/$name&lt;br /&gt;
 ln -s /shared/$name /home/$name/shared&lt;br /&gt;
 chown $name.users /home/$name/shared&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if-lause:&lt;br /&gt;
 if [ -s /tmp/tempstuff ]&lt;br /&gt;
 then&lt;br /&gt;
   echo “/tmp/tempstuff found; aborting!”&lt;br /&gt;
   exit&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
if-else:&lt;br /&gt;
 if [ conditional-expression ]&lt;br /&gt;
 then&lt;br /&gt;
   commands&lt;br /&gt;
 else&lt;br /&gt;
   other-commands&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
 case word in&lt;br /&gt;
   pattern1) command(s) ;;&lt;br /&gt;
   pattern2) command(s) ;;&lt;br /&gt;
   ...&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
for: &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 for d in `ls *.wav` ; do&lt;br /&gt;
   aplay $d&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
 while [ condition ]&lt;br /&gt;
 do&lt;br /&gt;
    commands&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
funktsioonid:&lt;br /&gt;
&lt;br /&gt;
 #/bin/bash&lt;br /&gt;
 doit() {&lt;br /&gt;
 cp $1 $2&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function check() {&lt;br /&gt;
 if [ -s $2 ]&lt;br /&gt;
 then&lt;br /&gt;
     echo “Target file exists! Exiting!”&lt;br /&gt;
     exit&lt;br /&gt;
 fi&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E-post&lt;br /&gt;
&lt;br /&gt;
Sendmail, Postfix, Exim, qmail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pull mail - POP/IMAP&lt;br /&gt;
&lt;br /&gt;
Fetchmail (toob ära)&lt;br /&gt;
&lt;br /&gt;
meiliklient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mail [-v] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr&lt;br /&gt;
&lt;br /&gt;
mõnes distros on edasijõudnum klient - nail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mailq - postijärjekord&lt;br /&gt;
&lt;br /&gt;
Redirect: /etc/aliases või /etc/mail/aliases&lt;br /&gt;
&lt;br /&gt;
.forward -fail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SQL ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superserver: inetd, xinetd&lt;br /&gt;
&lt;br /&gt;
/etc/inetd.conf rida:&lt;br /&gt;
&lt;br /&gt;
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd -l&lt;br /&gt;
&lt;br /&gt;
teenus, sokkel, protokoll, &lt;br /&gt;
&lt;br /&gt;
võivad ka olla /etc/inetd.conf.d/ kataloogis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
turvalisuse põhipoint: kõik, mida vaja pole, kinni!&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  tcpd-käsk ning /etc/hosts.allow ja /etc/hosts.deny&lt;br /&gt;
&lt;br /&gt;
/etc/xinet.conf  - jällegi kõik mittevajalik: disable!&lt;br /&gt;
&lt;br /&gt;
Ebavajalikud serverid kinni - kontrolli netstat -ap&lt;br /&gt;
&lt;br /&gt;
lsof - avatud failid&lt;br /&gt;
&lt;br /&gt;
lsof -i&lt;br /&gt;
&lt;br /&gt;
nmap -sT süsteem  - avatud pordid&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers&lt;br /&gt;
&lt;br /&gt;
/etc/security/limits.conf&lt;br /&gt;
&lt;br /&gt;
ulimit-käsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JA ONGI KOGU LUGU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_4._osa&amp;diff=102921</id>
		<title>LPIC-1 - Kaku konspekt 2011, 4. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_4._osa&amp;diff=102921"/>
		<updated>2016-04-26T11:02:38Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU... [[LPIC-1 - Kaku konspekt 2011, 3. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Administreerimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kasutajahaldus ====&lt;br /&gt;
&lt;br /&gt;
Kasutajanimed - suhteliselt vaba märgivalik. Tühik võib probleeme tekitada, punkt ja allkriips üldiselt OK. Nimi peab algama tähega!&lt;br /&gt;
Max pikkus 32 märki, aga paljud utiliidid lõikavad üle 8 märgi puhul saba maha - tihti ei soovitata üle selle panna.&lt;br /&gt;
Tõstutundlikkus.&lt;br /&gt;
&lt;br /&gt;
Grupid - peamiselt õiguste baasil loodud kasutajarühmad. /etc/group, /etc/passwd. Grupi vahetamine - newgrp -käsk (failidel ka chown ja chgrp)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
GID 100 on tihti users-grupp, vaikimisi grupp.&lt;br /&gt;
&lt;br /&gt;
UID 0 mõnel teisel kontol on selge sissetungi märk (root-õigused).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutaja lisamine:&lt;br /&gt;
&lt;br /&gt;
 useradd [-c comment] [-d home-dir] [-e expire-date] [-f inactive-days]➦&lt;br /&gt;
 [-g default-group] [-G group[,...]] [-m [-k skeleton-dir] | -M]➦&lt;br /&gt;
 [-p password] [-s shell] [-u UID [-o]] [-r] [-n] username&lt;br /&gt;
&lt;br /&gt;
Expire-date - alati YYYY-MM-DD, vahel ka muud variandid lisaks&lt;br /&gt;
&lt;br /&gt;
-f loob konto, mis pika kasutamatuse korral kinni läheb (päevades; vaikimisi -1 ehk mitte kunagi)&lt;br /&gt;
&lt;br /&gt;
Kontoinfo läheb /etc/login.defs-i&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]&lt;br /&gt;
&lt;br /&gt;
* -k - korjab ära aegunud kontod&lt;br /&gt;
* -l - lukustab konto (kirjutab krüpteeritud parooli ette hüüumärgi)&lt;br /&gt;
* -u - lukust lahti (lisades -f eemaldab parooli)&lt;br /&gt;
* -d - eemaldab parooli&lt;br /&gt;
* -S - parooli info (kas on, krüpteeringu tüüp)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
usermod - suht sarnane useradd&#039;iga. Erisused:&lt;br /&gt;
* -m (koos -d-ga) - tõstab kasutaja failid uude kodukataloogi&lt;br /&gt;
* -l - kasutaja ringinimetamine: usermod kakk -l puravik&lt;br /&gt;
* -L, -U - nagu -l ja -u passwd&#039;is&lt;br /&gt;
&lt;br /&gt;
Faile ei tohiks liigutada, kui nende omanik on sisse logitud!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Konto aegumise muutmine:&lt;br /&gt;
&lt;br /&gt;
chage [-l] [-m mindays] [-M maxdays] [-d lastday] [-I inactivedays] [-E expiredate] [-W warndays] username &lt;br /&gt;
&lt;br /&gt;
* -l - seisu kuvamine&lt;br /&gt;
* -m - paroolivahetuse min. periood (tihedamini ei saa)&lt;br /&gt;
* -M - max (harvemini ei saa)&lt;br /&gt;
* -d - viimase paroolivahetuse päeva seadmine&lt;br /&gt;
* -I - passiivsusperiood päevades kuni lukustumiseni&lt;br /&gt;
* -E - aegumise kuupäev&lt;br /&gt;
* -W - hoiatuse kestus päevades enne aegumist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/passwd&lt;br /&gt;
&lt;br /&gt;
sally:x:529:100:Sally Jones:/home/sally:/bin/bash&lt;br /&gt;
&lt;br /&gt;
kasutaja, parool (x märgib variparoole /etc/shadow&#039;s), UID, peamine GID, kommentaar (siin täisnimi), kodukataloog, kest&lt;br /&gt;
&lt;br /&gt;
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 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow&lt;br /&gt;
&lt;br /&gt;
sally:E/moFkeT5UnTQ:14069:0:-1:7:-1:-1:&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
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...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/shadow on harilikult root ja 600 -õigustega, /etc/passwd aga root ja 644.&lt;br /&gt;
&lt;br /&gt;
Võrgulogimissüsteemid nagu LDAP on omaette teema, aga nad kasutavad /etc/nsswitch.conf&#039;i ja /etc/pam.d/ -kataloogi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
userdel &lt;br /&gt;
* -r kustutab koos failidega&lt;br /&gt;
* -f kustutab ka sisselogitud kasutaja&lt;br /&gt;
* -h help&lt;br /&gt;
&lt;br /&gt;
Kasutaja kustutamisel tuleks otsida ka mujal olevaid faile (# find / -uid 529).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
groupadd&lt;br /&gt;
&lt;br /&gt;
groupadd [-g GID [-o]] [-r] [-f] groupname&lt;br /&gt;
* -g - etteantud GID&lt;br /&gt;
* -r - alla 500 numbriga grupp&lt;br /&gt;
* -f - jõuga (ka eksisteeriva korral)&lt;br /&gt;
&lt;br /&gt;
enamasti piisab groupadd kasutaja -st&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
groupmod:&lt;br /&gt;
&lt;br /&gt;
groupmod [-g GID [-o]] [-n newgroupname] oldgroupname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gpasswd: &lt;br /&gt;
&lt;br /&gt;
gpasswd [-a user] [-d user] [-R] [-r] [-A user[,...]] [-M user[,...]] group&lt;br /&gt;
* -a - lisab gruppi&lt;br /&gt;
* -d - eemaldab&lt;br /&gt;
* -R - keelab newgrp&#039;i&lt;br /&gt;
* -A - määrab kasutaja grupi adminiks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/group:&lt;br /&gt;
&lt;br /&gt;
project1:x:501:sally,sam,ellen,george&lt;br /&gt;
&lt;br /&gt;
parool on krüptitud  (/etc/gshadow)&lt;br /&gt;
&lt;br /&gt;
groupdel - vt userdel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Keskkonnakohandused&lt;br /&gt;
/etc/profile, /etc/bash.bashrc, ~/.profile, ~/.bashrc, ~/.bash_profile,  ~/.profile&lt;br /&gt;
&lt;br /&gt;
vt keskkonnainfot  env | less&lt;br /&gt;
&lt;br /&gt;
/etc/skel - vaikimisi kodukataloogi jupid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Logimine ====&lt;br /&gt;
&lt;br /&gt;
syslogd - üldine logideemon&lt;br /&gt;
&lt;br /&gt;
klogd - kerneli logideemon&lt;br /&gt;
&lt;br /&gt;
Võivad olla ka muud - syslog-ng, rsyslogd, metalog - Ubuntul on rsyslog!&lt;br /&gt;
&lt;br /&gt;
konf /etc/syslog.conf&lt;br /&gt;
&lt;br /&gt;
Üldkuju: facility.priority  action&lt;br /&gt;
&lt;br /&gt;
Facility:  auth, authpriv, cron, daemon, kern, lpr, mail, mark, news,&lt;br /&gt;
security, syslog, user, uucp, local0-local7. &lt;br /&gt;
&lt;br /&gt;
Priority: debug, info, notice, warning (varem warn), err (varem error), crit, alert, emerg (varem panic)&lt;br /&gt;
&lt;br /&gt;
* alert - alert või tõsisem&lt;br /&gt;
* =alert - ainult alert&lt;br /&gt;
* !alert - alla selle&lt;br /&gt;
* * - kõik&lt;br /&gt;
&lt;br /&gt;
action - enamasti failinimi, tüüpiliselt  /var/log all - väga tihti kas messages, syslog või secure &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
 kern.*			/var/log/kernel		&amp;amp;&amp;amp; kogu kerneli jutt logisse&lt;br /&gt;
 kern.crit		@logger.pangaea.edu	&amp;amp;&amp;amp; crit teise masinasse&lt;br /&gt;
 kern.crit		/dev/console		&amp;amp;&amp;amp; crit kohalikule peamonitorile&lt;br /&gt;
 kern.info;kern.!err 	/var/log/kernel-info     &amp;amp;&amp;amp; infost err-ini logisse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käsitsi logimine&lt;br /&gt;
&lt;br /&gt;
Vahel on vaja ise teha või skripti panna&lt;br /&gt;
&lt;br /&gt;
logger [-isd] [-f file] [-p pri] [-t tag] [-u socket] [message ...]&lt;br /&gt;
* -i - logib ka loggeri enda PID&lt;br /&gt;
* -s - saadab väljundi stderr&#039;i&lt;br /&gt;
* -d - logib datagrammidena (profifeatuur)&lt;br /&gt;
* -f fail - logifail (ettevaatust mahuga!)&lt;br /&gt;
* -p prioriteet - prioriteedi määramine (vt eespool)&lt;br /&gt;
* -t tag - logi märgendamine nimega (vaikimisi &#039;logger&#039;)&lt;br /&gt;
* -u sokkel - kindla võrgusokli määramine (profifeatuur)&lt;br /&gt;
* sõnum (Ctrl-D lõpetab) - jooksva sisendi logimine&lt;br /&gt;
&lt;br /&gt;
N:&lt;br /&gt;
&lt;br /&gt;
 $ logger shutting down for system maintenance&lt;br /&gt;
&lt;br /&gt;
Tulemus (ilmselt /var/log/messages):&lt;br /&gt;
 Jul 29 14:09:50 nessus logger: shutting down for system maintenance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Logide rotatsioon ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
logrotate ,  /etc/logrotate.conf,  /etc/logrotate.d/&lt;br /&gt;
&lt;br /&gt;
Konfinäide:&lt;br /&gt;
&lt;br /&gt;
 # Rotate logs weekly&lt;br /&gt;
 weekly&lt;br /&gt;
 # Keep 4 weeks of old logs&lt;br /&gt;
 rotate 4&lt;br /&gt;
 # Create new log files after rotation&lt;br /&gt;
 create&lt;br /&gt;
 # Compress old log files&lt;br /&gt;
 compress&lt;br /&gt;
 # Refer to files for individual packages&lt;br /&gt;
 include /etc/logrotate.d&lt;br /&gt;
 # Set miscellaneous options&lt;br /&gt;
 notifempty&lt;br /&gt;
 nomail&lt;br /&gt;
 noolddir&lt;br /&gt;
 # Rotate wtmp, which isn’t handled by a specific program&lt;br /&gt;
 /var/log/wtmp {&lt;br /&gt;
 monthly&lt;br /&gt;
 create 0664 root utmp&lt;br /&gt;
 rotate 1&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
/etc/logrotate.d/ - iga logitava programmi konfid. Valikuid:&lt;br /&gt;
* dateext - vaikimisi on messages.1, messages.2 jne. Saab panna kujule messages-20091005 (05.10.09)&lt;br /&gt;
* compresscmd - vaikimisi gzip, võib panna näiteks bzip2. Täiendavad parameetrid võib lisada compressoption&#039;iga&lt;br /&gt;
* create vs copytruncate - viimane kopeerib vana logi ja siis teeb vana faili tühjaks (töötab mõne tarkvaraga paremini)&lt;br /&gt;
* daily, weekly, monthly - intervallid&lt;br /&gt;
* size - lubatud suurus. N: size 100k - kui logi saab 100k suuruseks, toimub rotatsioon&lt;br /&gt;
* rotate number - mitu koopiat säilitatakse. N: rotate 2 - algne tühjaks, senine .1-ks, senine .1 .2-ks, .2 kustutatakse.&lt;br /&gt;
* mail aadr - meilib kustutatava (väljaroteeruva) logi sellele aadressile. Vastand: nomail&lt;br /&gt;
* prerotate, postrotate - skriptid, mis täidetakse vahetult enne ja peale rotatsiooni&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Logide lugemine&lt;br /&gt;
* otse -  less&lt;br /&gt;
* otsing - grep&lt;br /&gt;
* algus/lõpp - head/tail&lt;br /&gt;
* monitoorimine - tail -f /var/log/messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Ajahaldus ====&lt;br /&gt;
&lt;br /&gt;
Enamasti UTC&lt;br /&gt;
&lt;br /&gt;
Käsitsi seadmine: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]&lt;br /&gt;
&lt;br /&gt;
Riistvarakella sättimine: hwclock . Valikud:&lt;br /&gt;
* -r, --show - näitab aega :  E 18 apr   2011 11:37:29 EEST  -0.437870 sekundit &lt;br /&gt;
* --set ja --date=newdate - aja  seadmine&lt;br /&gt;
* --systohc - riistvara sätitakse tarkvara järgi&lt;br /&gt;
* --hctosys - vastupidi&lt;br /&gt;
* --utc, --localtime - vastavalt kumbki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== NTP ====&lt;br /&gt;
&lt;br /&gt;
stratum - erinevad kihid kellaajaedastamise hierarhias&lt;br /&gt;
&lt;br /&gt;
/var/lib/ntp/ntp.drift (vahel /etc all)&lt;br /&gt;
&lt;br /&gt;
NTP serveri leidmine:&lt;br /&gt;
* ISP &lt;br /&gt;
* distro&lt;br /&gt;
* avalik NTP-de list&lt;br /&gt;
* pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
masinas deemonipõhine, distropõhine paigaldatakse kohe automaatselt käivituvana. /etc/ntp.conf:&lt;br /&gt;
&lt;br /&gt;
 server clock.example.com&lt;br /&gt;
 server ntp.pangaea.edu&lt;br /&gt;
 server time.luna.edu&lt;br /&gt;
&lt;br /&gt;
Ühekordne sünkimine: # ntpdate clock.example.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cron ====&lt;br /&gt;
&lt;br /&gt;
Kataloogid /var/spool/cron  /etc/cron.d,  fail /etc/crontab &lt;br /&gt;
&lt;br /&gt;
system jobs &lt;br /&gt;
&lt;br /&gt;
user jobs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
System:&lt;br /&gt;
&lt;br /&gt;
 02 4 * * * root run-parts /etc/cron.daily  &amp;amp;&amp;amp; jooksutab kõiki /etc/cron.daily skripte iga päev kell 4.02&lt;br /&gt;
&lt;br /&gt;
* minutid (0–59)&lt;br /&gt;
* tunnid (0–23)&lt;br /&gt;
* kuupäev (1–31)&lt;br /&gt;
* kuu (1–12)&lt;br /&gt;
* nädalapäev (0–7; pühapäev on nii 0 kui 7)&lt;br /&gt;
* konto (root)&lt;br /&gt;
* käsk (run-parts /etc/cron.daily)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* tärn on kõik&lt;br /&gt;
* list (0,5,10) - iga väärtus&lt;br /&gt;
* vahemik (5-10)&lt;br /&gt;
* samm */10 minutite kohal: iga 10 minuti tagant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Intervallid on enamasti määratud /etc/cron.interval (Ubuntul; cron.hourly, cron.weekly jne)  või /etc/cron.d/interval -kataloogis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cron&#039;iga käitamiseks mõeldud skripte tuleb põhjalikult testida - seal esinev puuk võib jama põhjustada&lt;br /&gt;
&lt;br /&gt;
Kataloogid peavad kindlasti olema root only, muidu võetakse õigused üle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutaja cron:&lt;br /&gt;
&lt;br /&gt;
crontab [-u user] [-l | -e | -r] [file]&lt;br /&gt;
&lt;br /&gt;
* -l - kuvab&lt;br /&gt;
* -e - muudab  &amp;amp;&amp;amp; vaikimisi vi, saab muuta EDITOR või VISUAL -keskkonnamuutujaga&lt;br /&gt;
* -r - kustutab&lt;br /&gt;
&lt;br /&gt;
Crontabi failist lugemine:    crontab -u tbaker my-cron  &amp;amp;&amp;amp; kasutaja tbaker crontab loetakse failist my-cron&lt;br /&gt;
&lt;br /&gt;
Failinäide:&lt;br /&gt;
&lt;br /&gt;
 SHELL=/bin/bash&lt;br /&gt;
 MAILTO=tbaker&lt;br /&gt;
 HOME=/home/tbaker&lt;br /&gt;
 0,30 * * * * /usr/bin/fetchmail -s&lt;br /&gt;
 0 2 * * mon /usr/local/bin/clean-adouble $HOME&lt;br /&gt;
&lt;br /&gt;
Peale faili loomist tuleb anda näiteks eespooltoodud failikäsk (lihtsaim kuju: crontab failinimi)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutajate cron&#039;id asuvad kas /var/spool/cron, /var/spool/cron/tabs või /var/spool/cron/crontabs - kasutajanimega failid (/var/spool/cron/edgar)&lt;br /&gt;
&lt;br /&gt;
Ligipääs Cron&#039;ile:&lt;br /&gt;
* tavaline õigustesüsteem&lt;br /&gt;
* /etc/cron.allow ja/või /etc/cron.deny&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
anacron - vajalik süsteemides, mis pole 24/7 üleval. Käivitudes kontrollib, kas määratud tegevuste tähtaeg on üle - kui jah, käivitab&lt;br /&gt;
&lt;br /&gt;
/etc/anacrontab:&lt;br /&gt;
&lt;br /&gt;
 SHELL=/bin/sh&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 &lt;br /&gt;
 # These replace cron&#039;s entries&lt;br /&gt;
 1       5       cron.daily       nice run-parts --report /etc/cron.daily&lt;br /&gt;
 7       10      cron.weekly      nice run-parts --report /etc/cron.weekly&lt;br /&gt;
 @monthly        15      cron.monthly nice run-parts --report /etc/cron.monthly&lt;br /&gt;
 &lt;br /&gt;
 1 - periood päevades käsu käivitamiseks (iga päev, teisel kord nädalas)&lt;br /&gt;
 5 - paus minutites anacroni käivituse ja käsu käivituse vahel (vältimaks hunniku käskudega ülelaadimist) &lt;br /&gt;
&lt;br /&gt;
Käitamine:&lt;br /&gt;
* alguses skriptiga&lt;br /&gt;
* cronjob - võib anda vajaliku viivituse ja tõsta koormavamad tegevused töövälisesse aega&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
at - lihtne viivitusega käivitus: &lt;br /&gt;
* kellaaeg - HH:MM&lt;br /&gt;
* noon, midnight, teatime (viimane on 16:00)&lt;br /&gt;
* MMDDYY, MM/DD/YY või DD.MM.YY, month-name day või month-name day year&lt;br /&gt;
* now + ajavahemik (5 minutes, 3 hours jne)&lt;br /&gt;
&lt;br /&gt;
peale käsu andmist ja aja määramist tuleb sisestada käsud, lõppu Ctrl-D (at&amp;gt; -käsukest)&lt;br /&gt;
&lt;br /&gt;
-f -parameeter - käsud loetakse failist: at -f kasud.sh noon&lt;br /&gt;
&lt;br /&gt;
Eeldab atd deemoni töötamist (saab käivitada alguses skriptiga)&lt;br /&gt;
&lt;br /&gt;
* atq - näitab töösolevaid at-e&lt;br /&gt;
* atrm  - eemaldab töönumbri järgi (&amp;lt; atq)&lt;br /&gt;
&lt;br /&gt;
batch - nagu at, aga käivitab protsessid siis, kui süsteemi üldkoormus langeb alla 0,8&lt;br /&gt;
&lt;br /&gt;
/etc/at.allow ja /etc/at.deny - nagu cron, AGA:&lt;br /&gt;
* kui MÕLEMAD puuduvad, saab ainult root kasutada (croni puhul saavad kõik)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Võrgunduse alused ===&lt;br /&gt;
&lt;br /&gt;
NB! Vahel on piir võrguseadme ja muude seadmete vahel udune. N: rööpliides + PLIP või jadaliides/USB + PPP&lt;br /&gt;
&lt;br /&gt;
Ethernet - keerupaari mõte on segamise minimeerimine. 10Base-T, 100Base-T (mbps, twisted pair)&lt;br /&gt;
&lt;br /&gt;
Tänapäeval Gbit ehk 1000Base-T &lt;br /&gt;
 &lt;br /&gt;
Vanemad: Token Ring (IBM), LocalTalk (Apple), FDDI, HIPPI, Fibre Channel&lt;br /&gt;
&lt;br /&gt;
WiFi: 11Mbps (802.11b), 54Mbps (802.11a ja 802.11g), 300Mbps (802.11n). NB! WEP/WPA/WPA2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hub: pooldupleksside (kordamööda)&lt;br /&gt;
&lt;br /&gt;
Switch: täisdupleks (korraga)&lt;br /&gt;
&lt;br /&gt;
Linux toetab TCP/IP-le lisaks ka IPX/SPXi (Novell) ja AppleTalki, kuid  mitte NetBEUId (MS)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asjakohased TCP kihid (ülalt alla) - application, transport, Internet, link&lt;br /&gt;
&lt;br /&gt;
MAC-aadress  -  ifconfig eth0 vmm&lt;br /&gt;
&lt;br /&gt;
IPv6 - 8 x 4 hex-numbrit. 0000 võib ära jätta, asendades ::-ga  &lt;br /&gt;
&lt;br /&gt;
netmask: 192.168.29.39/24 =  192.168.29.39 maskiga 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ta b l e   8 .1  ​ IPv4 Network Classes and Private Network Ranges&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ IPv4 võrguklassid ja reserveeritud aadressid&lt;br /&gt;
|-&lt;br /&gt;
! Klass&lt;br /&gt;
! Aadressivahemik&lt;br /&gt;
! Reserveeritud&lt;br /&gt;
! Märkused&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 1.0.0.0–127.255.255.255 &lt;br /&gt;
| 10.0.0.0–10.255.255.255&lt;br /&gt;
| üldvõrgud&lt;br /&gt;
|-&lt;br /&gt;
| B &lt;br /&gt;
| 128.0.0.0–191.255.255.255 &lt;br /&gt;
| 172.16.0.0–172.31.255.255&lt;br /&gt;
| üldvõrgud&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 192.0.0.0–223.255.255.255&lt;br /&gt;
| 192.168.0.0–192.168.255.255	&lt;br /&gt;
| üldvõrgud&lt;br /&gt;
|-&lt;br /&gt;
| D &lt;br /&gt;
| 224.0.0.0–239.255.255.255 &lt;br /&gt;
| pole&lt;br /&gt;
| multicasting&lt;br /&gt;
|-&lt;br /&gt;
| E&lt;br /&gt;
| 240.0.0.0–255.255.255.255&lt;br /&gt;
| pole&lt;br /&gt;
| reserveeritud&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IPv6 kohalikud aadressid algavad  fec, fed, fee või fef-ga.&lt;br /&gt;
&lt;br /&gt;
Broadcast:&lt;br /&gt;
* IP 72.24.21.201 &lt;br /&gt;
* Mask  255.255.0.0&lt;br /&gt;
* BC 172.24.255.255&lt;br /&gt;
&lt;br /&gt;
Kui mask sisaldab muud peale 0 ja 255, on keerukam, teisendatakse läbi kahendsüsteemi&lt;br /&gt;
&lt;br /&gt;
IP 172.24.21.201, Mask 255.255.128.0 . Kahendkujul:&lt;br /&gt;
 10101100 00011000 00010101 11001001&lt;br /&gt;
 11111111 11111111 10000000 00000000&lt;br /&gt;
&lt;br /&gt;
Kohtades, kus all (maskis) on 0, tuleb üles 1. Tulemus:&lt;br /&gt;
 10101100 00011000 01111111 11111111&lt;br /&gt;
ehk 72.24.127.255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Hostid ====&lt;br /&gt;
&lt;br /&gt;
Kasulik tarkvara:&lt;br /&gt;
* nslookup - otsib nimeserverist. Vananenud&lt;br /&gt;
* host - lihtne DNS-otsing (pmst IP)&lt;br /&gt;
* dig - keerukas DNS-otsing (pikem inf)&lt;br /&gt;
* whois&lt;br /&gt;
&lt;br /&gt;
Kohaliku võrgu jaoks piisab /etc/hosts&#039;ist:&lt;br /&gt;
 127.0.0.1 localhost&lt;br /&gt;
 192.168.7.23 apollo.luna.edu apollo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vaikimisi otsitakse /etc/hosts&#039;ist enne DNS&#039;i. Vajadusel saab muuta seda /etc/nsswitch.conf&#039;ist: keerata  &amp;quot;hosts: files dns&amp;quot; paar ringi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Levinumad pordid ====&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Levinumad pordid ja nendega seotud serverid&lt;br /&gt;
|-&lt;br /&gt;
! Port&lt;br /&gt;
! TCP/UDP&lt;br /&gt;
! Otstarve&lt;br /&gt;
! Serverinäited&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| TCP&lt;br /&gt;
| File Transfer Protocol (FTP), andmeport&lt;br /&gt;
| ProFTPd, vsftpd &lt;br /&gt;
|-&lt;br /&gt;
| 21 &lt;br /&gt;
| TCP &lt;br /&gt;
| FTP&lt;br /&gt;
| ProFTPd, vsftpd&lt;br /&gt;
|-&lt;br /&gt;
| 22 &lt;br /&gt;
| TCP &lt;br /&gt;
| Secure Shell (SSH) &lt;br /&gt;
| OpenSSH, Dropbear&lt;br /&gt;
|-&lt;br /&gt;
| 23 &lt;br /&gt;
| TCP &lt;br /&gt;
| Telnet &lt;br /&gt;
| in.telnetd&lt;br /&gt;
|-&lt;br /&gt;
| 25 &lt;br /&gt;
| TCP &lt;br /&gt;
| Simple Mail Transfer Protocol (SMTP)&lt;br /&gt;
| Sendmail, Postfix, Exim, qmail&lt;br /&gt;
|-&lt;br /&gt;
| 53 &lt;br /&gt;
| TCP ja UDP &lt;br /&gt;
| Domain Name System (DNS) &lt;br /&gt;
| Berkeley Internet Name Domain (BIND ehk named), djbdns&lt;br /&gt;
|-&lt;br /&gt;
| 67 &lt;br /&gt;
| UDP &lt;br /&gt;
| Dynamic Host Configuration Protocol (DHCP) &lt;br /&gt;
| Internet Software Consortium (ISC) DHCP (dhcpd)&lt;br /&gt;
|-&lt;br /&gt;
| 80 &lt;br /&gt;
| TCP &lt;br /&gt;
| Hypertext Transfer Protocol (HTTP)&lt;br /&gt;
| Apache, Roxen, thttpd&lt;br /&gt;
|- &lt;br /&gt;
| 110 &lt;br /&gt;
| TCP &lt;br /&gt;
| Post Office Protocol v3 (POP3)&lt;br /&gt;
| Dovecot, Qpopper, popa3d&lt;br /&gt;
|-&lt;br /&gt;
| 111 &lt;br /&gt;
| TCP ja UDP&lt;br /&gt;
| Portmapper&lt;br /&gt;
| NFS, NIS, muud RPC-põhised teenused&lt;br /&gt;
|-&lt;br /&gt;
| 113 &lt;br /&gt;
| TCP &lt;br /&gt;
| auth/ident&lt;br /&gt;
| identd&lt;br /&gt;
|-&lt;br /&gt;
| 119 &lt;br /&gt;
| TCP &lt;br /&gt;
| Network News Transfer Protocol (NNTP)&lt;br /&gt;
| InterNetNews (INN), Diablo, Leafnode&lt;br /&gt;
|-&lt;br /&gt;
| 139 &lt;br /&gt;
| TCP &lt;br /&gt;
| NetBIOS &lt;br /&gt;
| Session (Samba)&lt;br /&gt;
|-&lt;br /&gt;
| 143 &lt;br /&gt;
| TCP &lt;br /&gt;
| Internet Mail Access Protocol (IMAP) &lt;br /&gt;
| Dovecot, Cyrus IMAP, UW-IMAP&lt;br /&gt;
|-&lt;br /&gt;
| 161 &lt;br /&gt;
| UDP &lt;br /&gt;
| Simple Network Management Protocol (SNMP)&lt;br /&gt;
| Net-SNMP&lt;br /&gt;
|-&lt;br /&gt;
| 177 &lt;br /&gt;
| UDP &lt;br /&gt;
| XDMCP&lt;br /&gt;
| XDM, KDM, GDM&lt;br /&gt;
|-&lt;br /&gt;
| 389 &lt;br /&gt;
| TCP &lt;br /&gt;
| LDAP &lt;br /&gt;
| OpenLDAP&lt;br /&gt;
|-&lt;br /&gt;
|443 &lt;br /&gt;
| TCP &lt;br /&gt;
| HTTP üle SSLi (HTTPS)&lt;br /&gt;
| Apache, Roxen&lt;br /&gt;
|-&lt;br /&gt;
| 445 &lt;br /&gt;
| TCP &lt;br /&gt;
| Microsoft Directory Services (DS)&lt;br /&gt;
| Samba&lt;br /&gt;
|-&lt;br /&gt;
| 465 &lt;br /&gt;
| TCP &lt;br /&gt;
| SMTP üle SSLi või URL Rendezvous directory (URD) 1&lt;br /&gt;
| Sendmail, Postfix, Exim, qmail; võrguruuterid&lt;br /&gt;
|-&lt;br /&gt;
| 631 &lt;br /&gt;
| TCP &lt;br /&gt;
| Internet Printing Protocol &lt;br /&gt;
| Common Unix Printing System (CUPS)&lt;br /&gt;
|-&lt;br /&gt;
| 993 &lt;br /&gt;
| TCP &lt;br /&gt;
| IMAP üle SSLi&lt;br /&gt;
| Dovecot, Cyrus IMAP, UW-IMAP&lt;br /&gt;
|-&lt;br /&gt;
| 995 &lt;br /&gt;
| TCP &lt;br /&gt;
| POP3 üle SSLi&lt;br /&gt;
| Dovecot, Qpopper, popa3d&lt;br /&gt;
|-&lt;br /&gt;
| 5900+ &lt;br /&gt;
| TCP &lt;br /&gt;
| Remote Framebuffer (RFB) &lt;br /&gt;
| Virtual Network Computing (VNC): OpenVNC, TightVNC&lt;br /&gt;
|-&lt;br /&gt;
| 6000–6007 &lt;br /&gt;
| TCP &lt;br /&gt;
| The X Window System (X) &lt;br /&gt;
| X.org-X11, XFree86&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Alla 1024 - privilegeeritud pordid (root)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/services:&lt;br /&gt;
 ssh 	22/tcp	# SSH Remote Login Protocol&lt;br /&gt;
 ssh	22/udp	# SSH Remote Login Protocol&lt;br /&gt;
 telnet	23/tcp&lt;br /&gt;
 smtp	25/tcp&lt;br /&gt;
&lt;br /&gt;
Võrgukonf:  &lt;br /&gt;
&lt;br /&gt;
kaardi draiveri laadimine modprobe&#039;iga (tuleb teada mooduli nime; N: modprobe realtek)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DHCP&lt;br /&gt;
&lt;br /&gt;
 BOOTPROTO=dhcp&lt;br /&gt;
&lt;br /&gt;
Ubuntus määratakse /etc/network/interfaces -failis: iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Staatiline konf:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=eth0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.29.39&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 NETWORK=192.168.29.0&lt;br /&gt;
 BROADCAST=192.168.29.255&lt;br /&gt;
 GATEWAY=192.168.29.1&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
Nimeserver(id) - /etc/resolv.conf:&lt;br /&gt;
&lt;br /&gt;
 nameserver IPnr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ifconfig  N: # ifconfig eth0 up 192.168.29.39 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Kui käsitsi, vajab ka ruutimist läbi lüüsi: # route add default gw 192.168.29.1&lt;br /&gt;
&lt;br /&gt;
Veel üks näide ruutimisest:&lt;br /&gt;
 # route add -net 172.20.0.0 netmask 255.255.0.0 gw 172.21.1.1&lt;br /&gt;
&lt;br /&gt;
ruutimisinfo:  route -n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ifup ja ifdown&lt;br /&gt;
&lt;br /&gt;
/etc/hostname või /etc/HOSTNAME &lt;br /&gt;
Fedoras /etc/sysconfig/network&lt;br /&gt;
&lt;br /&gt;
ping -c nr masin - nr korda&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
traceroute  - näitab teekonda masinates&lt;br /&gt;
-n näitab IP-d hostname&#039;i asemel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diagnostika netstat&#039;iga:&lt;br /&gt;
* liides: netstat -i&lt;br /&gt;
* ruutimine: netstat -r&lt;br /&gt;
* NAT: netstat -M&lt;br /&gt;
* programmide netikasutus: netstat -p&lt;br /&gt;
* pordid: netstat&lt;br /&gt;
* kõik ühendused: netstat -a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Toorpaketid: tcpdump&lt;br /&gt;
&lt;br /&gt;
=== Skriptid, e-post ja SQL ===&lt;br /&gt;
&lt;br /&gt;
NB! SIIT LÕPUNI ON KONSPEKT ÜSNA PINNAPEALNE - TÄPSEMALT TASUB RAAMATUST VAADATA!&lt;br /&gt;
&lt;br /&gt;
env ja export&lt;br /&gt;
&lt;br /&gt;
keskkonnamuutujad&lt;br /&gt;
&lt;br /&gt;
aliased&lt;br /&gt;
&lt;br /&gt;
BASHi skriptid algavad #!/bin/sh -reaga (shebang)&lt;br /&gt;
&lt;br /&gt;
chmod&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
skriptinäide:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 echo -n “Enter a username: “&lt;br /&gt;
 read name&lt;br /&gt;
 useradd -m $name&lt;br /&gt;
 passwd $name&lt;br /&gt;
 mkdir -p /shared/$name&lt;br /&gt;
 chown $name.users /shared/$name&lt;br /&gt;
 chmod 775 /shared/$name&lt;br /&gt;
 ln -s /shared/$name /home/$name/shared&lt;br /&gt;
 chown $name.users /home/$name/shared&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if-lause:&lt;br /&gt;
 if [ -s /tmp/tempstuff ]&lt;br /&gt;
 then&lt;br /&gt;
   echo “/tmp/tempstuff found; aborting!”&lt;br /&gt;
   exit&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
if-else:&lt;br /&gt;
 if [ conditional-expression ]&lt;br /&gt;
 then&lt;br /&gt;
   commands&lt;br /&gt;
 else&lt;br /&gt;
   other-commands&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
case:&lt;br /&gt;
&lt;br /&gt;
 case word in&lt;br /&gt;
   pattern1) command(s) ;;&lt;br /&gt;
   pattern2) command(s) ;;&lt;br /&gt;
   ...&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
for: &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 for d in `ls *.wav` ; do&lt;br /&gt;
   aplay $d&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while:&lt;br /&gt;
 while [ condition ]&lt;br /&gt;
 do&lt;br /&gt;
    commands&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
funktsioonid:&lt;br /&gt;
&lt;br /&gt;
 #/bin/bash&lt;br /&gt;
 doit() {&lt;br /&gt;
 cp $1 $2&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function check() {&lt;br /&gt;
 if [ -s $2 ]&lt;br /&gt;
 then&lt;br /&gt;
     echo “Target file exists! Exiting!”&lt;br /&gt;
     exit&lt;br /&gt;
 fi&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E-post&lt;br /&gt;
&lt;br /&gt;
Sendmail, Postfix, Exim, qmail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pull mail - POP/IMAP&lt;br /&gt;
&lt;br /&gt;
Fetchmail (toob ära)&lt;br /&gt;
&lt;br /&gt;
meiliklient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mail [-v] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr&lt;br /&gt;
&lt;br /&gt;
mõnes distros on edasijõudnum klient - nail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mailq - postijärjekord&lt;br /&gt;
&lt;br /&gt;
Redirect: /etc/aliases või /etc/mail/aliases&lt;br /&gt;
&lt;br /&gt;
.forward -fail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SQL ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Superserver: inetd, xinetd&lt;br /&gt;
&lt;br /&gt;
/etc/inetd.conf rida:&lt;br /&gt;
&lt;br /&gt;
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd -l&lt;br /&gt;
&lt;br /&gt;
teenus, sokkel, protokoll, &lt;br /&gt;
&lt;br /&gt;
võivad ka olla /etc/inetd.conf.d/ kataloogis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Turvalisus ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
turvalisuse põhipoint: kõik, mida vaja pole, kinni!&lt;br /&gt;
&lt;br /&gt;
TCP wrappers:  tcpd-käsk ning /etc/hosts.allow ja /etc/hosts.deny&lt;br /&gt;
&lt;br /&gt;
/etc/xinet.conf  - jällegi kõik mittevajalik: disable!&lt;br /&gt;
&lt;br /&gt;
Ebavajalikud serverid kinni - kontrolli netstat -ap&lt;br /&gt;
&lt;br /&gt;
lsof - avatud failid&lt;br /&gt;
&lt;br /&gt;
lsof -i&lt;br /&gt;
&lt;br /&gt;
nmap -sT süsteem  - avatud pordid&lt;br /&gt;
&lt;br /&gt;
sudo, /etc/sudoers&lt;br /&gt;
&lt;br /&gt;
/etc/security/limits.conf&lt;br /&gt;
&lt;br /&gt;
ulimit-käsk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JA ONGI KOGU LUGU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_3&amp;diff=102920</id>
		<title>LPIC-1 - Kaku konspekt 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_3&amp;diff=102920"/>
		<updated>2016-04-26T11:02:02Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt 3 to LPIC-1 - Kaku konspekt 2011, 3. osa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[LPIC-1 - Kaku konspekt 2011, 3. osa]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_3._osa&amp;diff=102919</id>
		<title>LPIC-1 - Kaku konspekt 2011, 3. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_3._osa&amp;diff=102919"/>
		<updated>2016-04-26T11:02:02Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt 3 to LPIC-1 - Kaku konspekt 2011, 3. osa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU...  [[LPIC-1 - Kaku konspekt 2011, 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPI-102 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== X ===&lt;br /&gt;
&lt;br /&gt;
Kolm peamist varianti:&lt;br /&gt;
* XFree86 - 2004. aastani peamine Linuxi akenduskeskkond&lt;br /&gt;
* X.org - 2004. aastast Linuxi peamine keskkond (XFree86 litsentsimuudatuste tõttu)&lt;br /&gt;
* Accelerated-X - omandvaraline X versioon (http://www.xig.com)&lt;br /&gt;
&lt;br /&gt;
XFree86 ja X.org&#039;i erinevus - fontide asukoht ja konfifaili nimi...&lt;br /&gt;
&lt;br /&gt;
NB! Edaspidi siin kasutatavad lühendid:&lt;br /&gt;
* Xo - X.org&lt;br /&gt;
* XF3 - XFree86 versioonid kuni 3.3.6-ni&lt;br /&gt;
* XF4 - XFree86 versioonid alates 3.3.6-st&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== XFree86 ja X.org-i konfivahendid ====&lt;br /&gt;
&lt;br /&gt;
X server ise -  konfikäsud vastavalt:&lt;br /&gt;
* XFree86 -configure&lt;br /&gt;
* Xorg -configure&lt;br /&gt;
&lt;br /&gt;
Selle tulemusena luuakse kas:&lt;br /&gt;
* /root/XF86Config.new või&lt;br /&gt;
* /root/xorg.conf.new&lt;br /&gt;
&lt;br /&gt;
NB! X ei tohi töötada, vaja on tekstirežiimi!&lt;br /&gt;
&lt;br /&gt;
Distrospetsiifilised vahendid:&lt;br /&gt;
* system-config-display (RH) &lt;br /&gt;
* yast, yast2 (Suse)&lt;br /&gt;
&lt;br /&gt;
Vananenud:&lt;br /&gt;
* xf86cfg&lt;br /&gt;
* xorgcfg&lt;br /&gt;
&lt;br /&gt;
Veel varasemaid (XF3):&lt;br /&gt;
* xf86config, Xconfigurator, XF86Setup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Põhiline konf:&lt;br /&gt;
* X.org - fail xorg.conf; enamasti /etc/X11 all, aga võib olla ka /etc vmm kohas&lt;br /&gt;
* XFree86 v4 - XF86Config-4 või ka XF86Config, /etc/X11 või  /etc&lt;br /&gt;
* XFree86 v3 - XF86Config, /etc/X11 või /etc&lt;br /&gt;
&lt;br /&gt;
Konfifail on kõigil sama ülesehitusega ja koosneb sektsioonidest. N klaveri sektsioon:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
 	Identifier &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
 	Driver &amp;quot;kbd&amp;quot;&lt;br /&gt;
 	Option &amp;quot;XkbModel&amp;quot; &amp;quot;pc105&amp;quot;&lt;br /&gt;
 	Option &amp;quot;XkbLayout&amp;quot; &amp;quot;et&amp;quot;&lt;br /&gt;
 	Option &amp;quot;AutoRepeat&amp;quot; &amp;quot;500 200&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Üldiselt suht sarnane kõigil. XF3-s ei ole:&lt;br /&gt;
* Option-klauslit - selle asemel on vastavad väärtused esimeses positsioonis (AutoRepeat &amp;quot;500 200&amp;quot;)&lt;br /&gt;
* ServerLayout-sektsiooni&lt;br /&gt;
* Identifier- ja Driver- klausleid&lt;br /&gt;
&lt;br /&gt;
X-i parandamistsükkel:&lt;br /&gt;
# Reeglina ei saa torkida töötavat X-i. Aitab telinit 3 (RH) või /etc/init.d/gdm stop (Debian ja lapsed)&lt;br /&gt;
# Teha muudatused&lt;br /&gt;
# Lasta X prooviks käima startx-käsuga. Kui korras, siis telinit 5 või /etc/init.d/gdm start&lt;br /&gt;
&lt;br /&gt;
Protsessi &amp;quot;tapmine&amp;quot;: Ctrl-Alt-Bksp või grep-kill:&lt;br /&gt;
 # ps ax | grep X&lt;br /&gt;
 	1375 ? S 6:32 /etc/X11/X -auth /etc/X11/xdm/authdir/&lt;br /&gt;
 # kill 1375&lt;br /&gt;
&lt;br /&gt;
X-i torkimisel tasub fokuseerida tähelepanu ükshaaval eri seadmetele ja vastavatele konfi sektsioonidele. &lt;br /&gt;
&lt;br /&gt;
NB! sektsioonide järjekord ei loe!!!&lt;br /&gt;
&lt;br /&gt;
Tüüpilised sektsioonid XF4 ja Xo puhul:&lt;br /&gt;
* Module&lt;br /&gt;
* InputDevice&lt;br /&gt;
* Monitor&lt;br /&gt;
* Device&lt;br /&gt;
* Screen&lt;br /&gt;
* ServerLayout&lt;br /&gt;
&lt;br /&gt;
NB! XF4 ja Xo kasutavad hiire ja klaveri jaoks kaht InputDevice-sektsiooni, XF3 kasutas hiire jaoks Pointer-sektsiooni&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Module - riistvaradraiverid (kernelimoodulid) =====&lt;br /&gt;
&lt;br /&gt;
 Section “Module”&lt;br /&gt;
 	Load “dbe”&lt;br /&gt;
 	Load “extmod”&lt;br /&gt;
 	Load “fbdevhw”&lt;br /&gt;
 	Load “glx”    # 3D&lt;br /&gt;
 	Load “record”&lt;br /&gt;
 	Load “freetype” # TrueType fonts&lt;br /&gt;
 	Load “type1”  # Adobe Type 1 fonts&lt;br /&gt;
 	Load “dri”	# 3D&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Üldiselt ei tasu mooduleid eriti torkida (ainus selge juhus on 3D töölesaamine!)&lt;br /&gt;
&lt;br /&gt;
===== InputDevice 1 - klaviatuur =====&lt;br /&gt;
&lt;br /&gt;
 Section “InputDevice”&lt;br /&gt;
 	Identifier “Keyboard0”  # tegelikult ei oma identifikaatori kuju otsest tähendust - sisuliselt 1. klaviatuur&lt;br /&gt;
 	Driver “kbd”&lt;br /&gt;
 	Option 	“XkbModel” “pc105”&lt;br /&gt;
 	Option “XkbLayout” “et”&lt;br /&gt;
 	Option “AutoRepeat” “500 200” # klahvikordusmehhanism rakendub 500 ms (0,5sek) pärast ja järgnevad kordused 200ms intervalliga (5x sekundis)&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
NB! Kordustegurit tasub muuta siiski kasutajalähedasemate vahenditega (nagu Accessibility)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== InputDevice 2 - hiir =====&lt;br /&gt;
&lt;br /&gt;
 Section “InputDevice”&lt;br /&gt;
 	Identifier “Mouse0”&lt;br /&gt;
 	Driver “mouse”&lt;br /&gt;
 	Option “Protocol” “IMPS/2”&lt;br /&gt;
 	Option “Device” “/dev/input/mice”&lt;br /&gt;
 	Option “Emulate3Buttons” “no”  # kas keskmist hiirenuppu saab asendada kahe nupu koosklõpsuga&lt;br /&gt;
 	Option “ZAxisMapping” “4 5”   # 4. ja 5. nupp - sisuliselt tähendavad hiireratta kerimist üles ja alla!&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Tähtis - Device võib olla:&lt;br /&gt;
* /dev/input/mice&lt;br /&gt;
*/dev/mouse  # enamasti sümlink&lt;br /&gt;
* /dev/psaux # PS2 hiir&lt;br /&gt;
* /dev/usb/usbmouse # vanad USB hiired&lt;br /&gt;
* /dev/ttyS0  # vanaaegne jadapordihiir&lt;br /&gt;
* /dev/ttyS1 # sama teises pordis&lt;br /&gt;
&lt;br /&gt;
Tähtis - Protocol võib olla: &lt;br /&gt;
* IMPS/2  # tänapäeval levinud - enamik rattaga hiiri&lt;br /&gt;
* ExplorerPS/2  # see ka - NB! PS/2 võib tähistada nii riist- kui tarkvaraprotokolli, viimast kasutavad ka paljud USB-hiired!)&lt;br /&gt;
* PS/2   # vanem PS/2&lt;br /&gt;
* Microsoft&lt;br /&gt;
* Logitech&lt;br /&gt;
* Auto  # X üritab ise protokolli ära arvata, enamasti edukalt!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Monitor - kuvar =====&lt;br /&gt;
&lt;br /&gt;
 Section “Monitor”&lt;br /&gt;
 	Identifier “Monitor0”&lt;br /&gt;
 	ModelName “VisionMaster Pro 450”&lt;br /&gt;
 	HorizSync 27.0-115.0    # kilohertsides!&lt;br /&gt;
 	VertRefresh 50.0-160.0	# hertsides!&lt;br /&gt;
 	# kohandatud graafikarežiim 1360x1024&lt;br /&gt;
 	Modeline “1360x1024” 197.8 1360 1370 1480 1752 1024 1031 1046 1072 -HSync -VSync&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Identifier ja ModelName eriti ei loe - sync ja refresh on aga väga olulised, määrates reso ja refresh rate&#039;i. &lt;br /&gt;
&lt;br /&gt;
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!).&lt;br /&gt;
&lt;br /&gt;
Vanad monitorid võivad katki minna, uued suudavad liiga kõrgeid väärtusi eirata!&lt;br /&gt;
&lt;br /&gt;
Modeline on keerukas väärtustekomplekt, niisama torkida ei maksa. XF3 ja varem pani igaks juhuks hirmsa hunniku monitore nõnda kirja&lt;br /&gt;
&lt;br /&gt;
XF4 ja Xo kasutavad Data Display Channelit (DDC), mis võimaldavad -configure käsuga Modeline&#039;i arvutada (monitor teatab ise vastavad väärtused). Seetõttu on konfifailid enamasti märksa lühemad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Device - videokaart =====&lt;br /&gt;
&lt;br /&gt;
 Section “Device”&lt;br /&gt;
 	Identifier “Videocard0”&lt;br /&gt;
 	Driver “nv”&lt;br /&gt;
 	VendorName “nVidia”&lt;br /&gt;
 	BoardName “GeForce 6100”&lt;br /&gt;
 	VideoRam 131072 # kilobaitides =&amp;gt; 128MB &lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Draiverid asuvad kataloogis /usr/X11R6/lib/modules/drivers/ , enamikul on nime järel _drv.o (N: nv_drv.o).&lt;br /&gt;
Identifier, VendorName ja BoardName on jällegi lugeja jaoks.&lt;br /&gt;
VideoRam pole enamasti vajalik, harva peab määrama.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Screen - video lahutusvõime ja värvigamma =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Section “Screen”&lt;br /&gt;
 	Identifier “Screen0”&lt;br /&gt;
 	Device “Videocard0”&lt;br /&gt;
 	Monitor “Monitor0”&lt;br /&gt;
 	DefaultDepth 24&lt;br /&gt;
 	SubSection “Display”&lt;br /&gt;
 		Depth 24&lt;br /&gt;
 		Modes “1024x768” “1024x600” “800x600” “640x480”&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 	SubSection “Display”&lt;br /&gt;
 		Depth 8&lt;br /&gt;
 		Modes “1024x768” “800x600” “640x480”&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Kaks võimalikku komplekti, vaikimisi väärtuse määrab DefaultDepth (XF3-s oli DefaultColorDepth). &lt;br /&gt;
&lt;br /&gt;
Vajatava põhimälu valem: R = xres × yres × bpp ÷ 8,388,608&lt;br /&gt;
&lt;br /&gt;
N: R = 1280 × 1024 × 24 ÷ 8,388,608 = 3.75MB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== ServerLayout - koondinfo =====&lt;br /&gt;
&lt;br /&gt;
 Section “ServerLayout”&lt;br /&gt;
 	Identifier “single head configuration”&lt;br /&gt;
 	Screen “Screen0” 0 0&lt;br /&gt;
 	InputDevice “Mouse0” “CorePointer”&lt;br /&gt;
 	InputDevice “Keyboard0” “CoreKeyboard”&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
xdpyinfo - pikk joru tehnilist infot monitor jõudluse kohta. Vaikimisi kuvab kõik laiendused, täpsustamiseks xdpyinfo -ext laiendus&lt;br /&gt;
&lt;br /&gt;
xwininfo - info mingi akna kohta (tuleb klõpsata). Parameetrid:&lt;br /&gt;
* -id id, -name name  - akna ID või nime järgi&lt;br /&gt;
* -root - juuraken (töölaud)&lt;br /&gt;
&lt;br /&gt;
==== Kirjastiilid ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
Põhiliigid:&lt;br /&gt;
* 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)&lt;br /&gt;
* skaleeruvad (scalable) e. joonkirjastiilid (outline) - koosneb maatriksise paigutatud sirg- ja kõverjoontest. Parem skaleeruvus, aga mitte universaalne, samuti vajab rohkem prosejõudu&lt;br /&gt;
&lt;br /&gt;
Joonkirjastiilide põhitüübid:&lt;br /&gt;
* Adobe Postscript Type 1 (harilikult lihtsalt Type 1)&lt;br /&gt;
* Apple TrueType - uuem, XF3 ei toetanud (sai lisada fondiserveri abil)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tuumstiilid - need, mida haldab X ise. Asukohad:&lt;br /&gt;
* XFree86 (traditsiooniliselt) - /usr/X11R6/lib/X11/fonts/&lt;br /&gt;
* X.org-X11 - /usr/share/fonts või /usr/share/X11/fonts&lt;br /&gt;
&lt;br /&gt;
Väliseid stiile võib panna ka mujale, näiteks /opt/fonts või /usr/local/fonts alla.&lt;br /&gt;
&lt;br /&gt;
Installifailid:&lt;br /&gt;
* Type 1 - .pfa või .pfb&lt;br /&gt;
* TrueType - .ttf&lt;br /&gt;
&lt;br /&gt;
Windowsi, OS2 ja paljude muude süsteemide stiile saab Linuxis otse kasutada, Maci &amp;quot;suitcase&amp;quot;-konteinereid ei saa. Teisendamiseks on rida utiliite (näiteks FontForge)&lt;br /&gt;
&lt;br /&gt;
Peale fondifailide kopeerimist vastavasse kataloogi tuleb sinna luua paar vajalikku faili. Lihtsam on teha seda käskudega&lt;br /&gt;
* mkfontscale - loob fonts.scale faili, toetab mõlemat tüüpi (T1 jaoks on ka type1inst ja TTF jaoks ttmkfdir)&lt;br /&gt;
* mkfontdir - loob fonts.dir -faili&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb luua X-i konfifaili vastav sektsioon:&lt;br /&gt;
&lt;br /&gt;
 Section “Files”&lt;br /&gt;
 	FontPath “/usr/share/fonts/100dpi:unscaled”&lt;br /&gt;
 	FontPath “/usr/share/fonts/Type1”&lt;br /&gt;
 	FontPath “/usr/share/fonts/truetype”&lt;br /&gt;
 	FontPath “/usr/share/fonts/URW”&lt;br /&gt;
 	FontPath “/usr/share/fonts/Speedo”&lt;br /&gt;
 	FontPath “/usr/share/fonts/100dpi”&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
NB! Järjekord loeb - kui sama stiil esineb mitmes kohas, kasutatakse eespool olevat!&lt;br /&gt;
&lt;br /&gt;
:unscaled lubab rasterfonte kasutada vaid siis, kui nende suurus klapib&lt;br /&gt;
&lt;br /&gt;
Testimiseks on lihtsaim võimalus X-i restart. Võib aga ka proovida:&lt;br /&gt;
* $ xset fp+ fondikataloog&lt;br /&gt;
* $ xset fp rehash&lt;br /&gt;
&lt;br /&gt;
fp+ lisab nimekirja lõppu, +fp algusse!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fondiserver - otseselt pole enam vajalik, aga sobib tsentraalseks kirjastiilijaotuseks paljudele masinatele:&lt;br /&gt;
&lt;br /&gt;
 Section “Files”&lt;br /&gt;
 	FontPath “unix:/7100”  		# kohalik fondiserver - võib olla ka kujul &amp;quot;unix:/~1&amp;quot;&lt;br /&gt;
 	FontPath “tcp/fount.pangaea.edu:7100”  # eemalasuv fondiserver&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fondifailid paigaldatakse samamoodi kui eespool, serveri konf asub /etc/X11/fs/config -failis. &lt;br /&gt;
&lt;br /&gt;
 catalogue = /usr/share/fonts/100dpi:unscaled,&lt;br /&gt;
 /usr/share/fonts/Type1,&lt;br /&gt;
 /usr/share/fonts/truetype,&lt;br /&gt;
 /usr/share/fonts/URW,&lt;br /&gt;
 /usr/share/fonts/Speedo,&lt;br /&gt;
 /usr/share/fonts/100dpi&lt;br /&gt;
&lt;br /&gt;
NB! Eraldatakse komadega!!&lt;br /&gt;
&lt;br /&gt;
Testimine:  etc/init.d/xfs restart ja ka X-i taaskäivitus (või rehash, vt eespool).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tänapäevane viis - Xft&lt;br /&gt;
&lt;br /&gt;
X-i tuumfontidel ja fondiserveril on samad probleemid:&lt;br /&gt;
*  raske ühildada kuvari- ja printerikuju&lt;br /&gt;
* serveripõhisus: failid võivad asuda füüsiliselt mujal (võib tekkida jama printimise korraldamisega)&lt;br /&gt;
* Vähe tuge uuematele tüpograafiavõtetele (eeskätt printimisprobleem)&lt;br /&gt;
* ei toeta silumist (antialiast) ehk hallide pikslite kasutamist lisaks valgetele ja mustadele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Xft põhineb FreeType -teegil ja on tänastes Linuxites teine kasutatav süsteem X-i tuumfontide kõrval.&lt;br /&gt;
&lt;br /&gt;
Saab kasutada eelnevate süsteemide fondikatalooge - vt failis /etc/fonts/local.conf read &amp;lt;dir&amp;gt;/font/directory&amp;lt;/dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pärast muudatusi tuleb anda käsk fc-cache - idee poolest sarnane mkfontdir jms-ga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Graafiline sisselogimine ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X Display Manager Control Protocol (XDMCP) - haldab nii eemalt kui kohalikke sisselogimisi&lt;br /&gt;
&lt;br /&gt;
Kolm peamist XDMCP serverit: XDM, GDM, KDM&lt;br /&gt;
&lt;br /&gt;
XDMCP serveri käivitab init-protsess, kas /etc/inittab&#039;i või mõne selle alamfaili või siis SysV startup-skriptide abil&lt;br /&gt;
&lt;br /&gt;
Enamasti ongi runlevel 3 ja 5 vahe ainult XDMCP serveri käivitamises&lt;br /&gt;
&lt;br /&gt;
Vaikimisi runlevel inittab&#039;is: rida  id:5:initdefault:&lt;br /&gt;
&lt;br /&gt;
Debiani perekond ja Gentoo aga ei kasuta runleveleid (kõigil tasemetel kas käivitatakse XDMCP või ei käivitata), vaid SysV skripte.&lt;br /&gt;
&lt;br /&gt;
Ajutine käivitamine/peatamine  - xdm/kdm/gdm  start/stop. Püsivamalt aga tuleb redigeerida /etc/init.d/ all vastavaid skripte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== XDM ====&lt;br /&gt;
&lt;br /&gt;
kõige lihtsam, võimaldab sisse logida, kuid mitte keskkonda valida (seda tuleb teha login-failide abil)!&lt;br /&gt;
konf /etc/X11/xdm/xdm-config.  NB! Vaikimisi on remote login keelatud - DisplayManager.requestPort: 0 . Lubamiseks tuleb panna 0 asemele 177 (traditsioooniline XDMCP port).&lt;br /&gt;
&lt;br /&gt;
Kui remote login on lubatud, tuleb konfida /etc/X11/xdm/Xaccess -fail.  Vaikimisi on kõik lahti:&lt;br /&gt;
 *			&amp;amp;&amp;amp; Igaüks võib ühenduda&lt;br /&gt;
 * CHOOSER BROADCAST	&amp;amp;&amp;amp; igaüks võib valida kohaliku süsteemi, millega ühenduda&lt;br /&gt;
 *.pangaea.edu 		&amp;amp;&amp;amp; kogu domeen võib ühenduda&lt;br /&gt;
 tux.example.com		&amp;amp;&amp;amp; võib ühenduda (aga mitte süsteemi valida, vt järgmist)&lt;br /&gt;
 *.pangaea.edu CHOOSER BROADCAST &amp;amp;&amp;amp;  võib valida kohaliku süsteemi&lt;br /&gt;
&lt;br /&gt;
Veel valikuid on failis /etc/X11/xdm/Xresources (näiteks saab määrata tervitusteksti)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== KDM ====&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== GDM ====&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== X-i kaugligipääs ====&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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&lt;br /&gt;
veebiserveri rolli).  &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 VEEBISERVER  &amp;lt;=======&amp;gt;	X-i KLIENT JA VEEBIKLIENT 	&amp;lt;========&amp;gt;	X-i SERVER&lt;br /&gt;
 &lt;br /&gt;
 Majutab veebilehti	Käitab kasutaja tarkvara		Näitab pilti ja võtab vastu sisendit (klaver, hiir)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Harilikult vastab X vaikimisi ainult kohalikele pöördumistele (turvakaalutlus). Väljast ligipääs tuleb eraldi konfida, aga turvalisust tuleb jälgida.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näide:  &#039;&#039;karu&#039;&#039; on server, &#039;&#039;kass&#039;&#039; on klient (aga hea kuvari ja klaveriga, parem töökeskkond).&lt;br /&gt;
&lt;br /&gt;
# Logida kassi ja käivitada X (kui juba ei tööta)&lt;br /&gt;
# Avada terminal&lt;br /&gt;
# Terminalist käsk xhost +karu . Annab õiguse kasutada kassi karu terminalina, s.t. kass lubab kuvada karult tulevat infot ekraanil&lt;br /&gt;
# logida kassist karusse (SSH, telnet)&lt;br /&gt;
# karus anda käsk export DISPLAY=kass:0.0 (bashi puhul; tcsh puhul setenv export&#039;i asemel). Karu saadab nüüd ekraanipildi kassi.&lt;br /&gt;
# käivitada vajalik programm, nt Firefox. Firefox jookseb karus, aga pilt ja juhtimine toimub kassist.&lt;br /&gt;
# Peale töö lõppu programmid kinni, karust logout ja kassi terminalis käsk xhost -karu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Variant on kasutada kogu ühenduse jaoks SSH tunnelit - aeglasem, aga turvalisem. Tuleb kas&lt;br /&gt;
# kasutada ssh-ga karusse logimisel -X võtit või&lt;br /&gt;
# lisada kliendi faili /etc/ssh_config  säte ForwardX11=yes&lt;br /&gt;
&lt;br /&gt;
Lisaks peab olema serveri /etc/ssd_config -is X11Forwarding=yes !!&lt;br /&gt;
&lt;br /&gt;
Enamasti on tänapäeva distrodes ka X-i konfist võrguühendused maha keeratud. Sisselülitamiseks:&lt;br /&gt;
* GDM vanemad versioonid: /etc/X11/gdm/gdm.conf, DisallowTCP false&#039;iks&lt;br /&gt;
* GDM uuemad: /etc/gdm/gdm.schemas: &lt;br /&gt;
    &amp;lt;schema&amp;gt;&lt;br /&gt;
       &amp;lt;key&amp;gt;security/DisallowTCP&amp;lt;/key&amp;gt;&lt;br /&gt;
       &amp;lt;signature&amp;gt;b&amp;lt;/signature&amp;gt;&lt;br /&gt;
       &amp;lt;default&amp;gt;true&amp;lt;/default&amp;gt;  &amp;amp;&amp;amp; false&#039;iks&lt;br /&gt;
     &amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* XDM: /etc/X11/xdm/XServers: :0-ga algaval real võtta lõpust ära -nolisten tcp&lt;br /&gt;
* KDM: /etc/X11/kdm/XServers, sama&lt;br /&gt;
&lt;br /&gt;
OpenSUSE on erijuht: failis /etc/sysconfig/displaymanager  panna DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN väärtuseks &amp;quot;yes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kui X käivitatakse startx-iga tekstirežiimist, tuleks muuta startx-skripti (/usr/bin/ ja võtta -nolisten tcp maha&lt;br /&gt;
&lt;br /&gt;
Peale seda kõike tuleb X taaskäivitada.  Veel üks võimalus X-i rakendusi eemalt käivitada on VNC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== X-i ligipääsetavus ====&lt;br /&gt;
&lt;br /&gt;
Mitmed asjad klaveri ja hiire sätete all. Debounce keys - väldib mitut tahtmatut vajutust järjest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GOK, fonts, kontrastse teema valimine, ekraaniluup (gnome-magnifier/Orca, KMag)&lt;br /&gt;
&lt;br /&gt;
Kõne: Orca, Emacspeak&lt;br /&gt;
&lt;br /&gt;
BRLTTY: tekstirežiimis töötab üsna otse. z&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lokaliseerimine ====&lt;br /&gt;
&lt;br /&gt;
/etc/localtime  - väga väheseid konfis kasutatavaid mitte-tekstifaile. Vahel on sümlink /usr/share/zoneinfo vastavale failile, vahel on see kopeeritud&lt;br /&gt;
sealt ära.&lt;br /&gt;
&lt;br /&gt;
date-käsk:&lt;br /&gt;
&lt;br /&gt;
 kakk@aragorn:~$ date&lt;br /&gt;
 E apr   18 01:09:49 EEST 2011&lt;br /&gt;
&lt;br /&gt;
Ajavööndid vt http://www.timeanddate.com/library/abbreviations/timezones/&lt;br /&gt;
&lt;br /&gt;
Muutmiseks tuleb linkida või kopeerida /etc/localtime asemele näiteks /usr/share/zoneinfo/Europe/Tallinn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutatakse ka ajavööndifaili: &lt;br /&gt;
* /etc/timezone - Debian ja sugulased  &lt;br /&gt;
* /etc/sysconfig/clock - Red Hat ja sugulased&lt;br /&gt;
&lt;br /&gt;
Mõnes distros ka utiliidid nagu tzsetup, tzselect, tzconfig (Ubuntus on viimane ebasoovitav, teine võimaldab vööndit valida).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Locale ehk riigiinfo ====&lt;br /&gt;
&lt;br /&gt;
Üldkuju:  [language[_territory][.codeset][@modifier]]&lt;br /&gt;
&lt;br /&gt;
Kodeeringud:&lt;br /&gt;
* ASCII 7bit (enamasti 8-bitiste baitidena)&lt;br /&gt;
* ISO 8859 (kasutab 8 bitti tähestiku laiendamiseks 128 märgini), regionaalsed alamtähestikud&lt;br /&gt;
* Unicode/UTF-8 - ASCII + 0-3 lisabaiti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
locale-käsk:&lt;br /&gt;
&lt;br /&gt;
 kakk@aragorn:~$ locale&lt;br /&gt;
 LANG=et_EE.UTF-8&lt;br /&gt;
 LANGUAGE=et_EE:en&lt;br /&gt;
 LC_CTYPE=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_ALL=&lt;br /&gt;
 kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
locale -a näitab kõiki süsteemis olemasolevaid&lt;br /&gt;
&lt;br /&gt;
Ajutine muutmine: &lt;br /&gt;
* $ export LANG=en_GB.UTF-8&lt;br /&gt;
* $ export LC_ALL=en_GB.UTF-8&lt;br /&gt;
&lt;br /&gt;
Püsivalt tasub panna ~/.bashrc või /etc/profile -faili.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i konfis on XkbLayout-parameeter - sinna käib sisuliselt seesama locale&lt;br /&gt;
&lt;br /&gt;
LANG=C - eirab locale&#039;sid&lt;br /&gt;
&lt;br /&gt;
iconv - tõlgib kooditabelite vahel:&lt;br /&gt;
* iconv -f encoding [-t encoding] [inputfile]...&lt;br /&gt;
* iconv --list näitab kõiki&lt;br /&gt;
&lt;br /&gt;
N: $ iconv -f iso-8859-1 -t UTF-8 umlautfile.txt &amp;gt; umlautfile-utf8.txt&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldine süsteem: rakendus väljastab PostScripti, see saadetakse GhostScripti abil printerile. Printerijärjekorda haldab enamasti CUPS. Alternatiivid&lt;br /&gt;
* LPD&lt;br /&gt;
* LPRng &lt;br /&gt;
Käsud suht samad, printeri konfimine aga erinev&lt;br /&gt;
&lt;br /&gt;
Üldine printerikäsk - lpr (võib kasutada ka rakendustes).  Printerijärjekord asub tüüpiliselt kataloogis /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Unixi/Linuxi printimine on võrgupõhine, printimistöid võib saata nii eemalt kui kohalikust masinast. CUPS on muidu serverirakendus, kuid printimistööde&lt;br /&gt;
mujale saatmisel töötab ka kliendina.&lt;br /&gt;
&lt;br /&gt;
Printeridraiverid kuuluvad GhostScripti koosseisu. Windowsis suhtleb rakendus otse draiveriga, Unixis tehakse PS ja saadetakse printerijärjekorda.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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. 	&lt;br /&gt;
&lt;br /&gt;
Printeriprotsessid käivitatakse reeglina buudiprotsessis (/etc/rc.d, /etc/init.d või /etc/rc?.d kaudu - ? on vastav runlevel).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== CUPS ====&lt;br /&gt;
&lt;br /&gt;
etc/cups/printers.conf  - printerite fail:&lt;br /&gt;
&lt;br /&gt;
 # Printer configuration file for CUPS v1.4.4&lt;br /&gt;
 # Written by cupsd&lt;br /&gt;
 # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING&lt;br /&gt;
 &amp;lt;DefaultPrinter HP-LaserJet-1320&amp;gt;&lt;br /&gt;
 Info ITK printer&lt;br /&gt;
 Location 221 koridoris&lt;br /&gt;
 MakeModel HP LaserJet 1320 series Postscript (recommended)&lt;br /&gt;
 DeviceURI hp:/net/hp_LaserJet_1320_series?ip=192.168.2.63&lt;br /&gt;
 State Idle&lt;br /&gt;
 StateTime 1301394578&lt;br /&gt;
 Type 8425540&lt;br /&gt;
 Filter application/vnd.cups-raw 0 -&lt;br /&gt;
 Filter application/vnd.cups-command 0 commandtops&lt;br /&gt;
 Filter application/vnd.cups-postscript 0 -&lt;br /&gt;
 Accepting Yes&lt;br /&gt;
 Shared Yes&lt;br /&gt;
 JobSheets none none&lt;br /&gt;
 QuotaPeriod 0&lt;br /&gt;
 PageLimit 0&lt;br /&gt;
 KLimit 0&lt;br /&gt;
 OpPolicy default&lt;br /&gt;
 ErrorPolicy retry-job &lt;br /&gt;
 &amp;lt;/Printer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Täiendavad printeridefinitsioonidega failid asuvad /etc/cups/ppd -kataloogis!&lt;br /&gt;
&lt;br /&gt;
CUPSi võrguprintimise protokoll: IPP (Internet Printing Protocol)&lt;br /&gt;
&lt;br /&gt;
CUPSi enda konf: /etc/cups/cupsd.conf. Sarnaneb ülesehituselt Apache&#039;i konfiga:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /printers&amp;gt;&lt;br /&gt;
 	Order Deny,Allow 			&amp;amp;&amp;amp; vaikimisi keelatud, ekstra lubamine&lt;br /&gt;
 	Deny from All				&amp;amp;&amp;amp; vaikimisi kõik kinni&lt;br /&gt;
 	BrowseAllow from 127.0.0.1		&amp;amp;&amp;amp; lubame konkreetseid asju...&lt;br /&gt;
 	BrowseAllow from 192.168.1.0/24&lt;br /&gt;
 	BrowseAllow from @LOCAL&lt;br /&gt;
 	Allow from 127.0.0.1&lt;br /&gt;
 	Allow from 192.168.1.0/24&lt;br /&gt;
 	Allow from @LOCAL&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Browsing On - printerite autdetect võrgus, kasulik suurte, kiirelt muutuvate printeritega võrgu korral&lt;br /&gt;
&lt;br /&gt;
Printeridefinitsioone saab distrost endast, Foomaticust, Gutenprintist, CUPSi DDK-st ja vahel ka printeritootjatelt&lt;br /&gt;
&lt;br /&gt;
CUPSi IPP-protokoll on nii sarnane HTTP-ga, et  sinna saab ligi veebilehitsejaga: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
CUPSi häälestamisel peavad USB printerid olema ühendatud ja töötama! Kui ei, tuleb panna tööle ja CUPS taaskäivitada&lt;br /&gt;
&lt;br /&gt;
Võrguprinteri korral võib minna vaja asukohta: lpd://printserv/brother   (protokoll, arvuti, printer)&lt;br /&gt;
&lt;br /&gt;
CUPSi ei tohiks üle võrgu häälestada - ühendus on krüptimata!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Võrguprinterid ====&lt;br /&gt;
&lt;br /&gt;
Samba:&lt;br /&gt;
&lt;br /&gt;
Üldkuju: smb://username:password@SERVER/SHARE&lt;br /&gt;
&lt;br /&gt;
vrdl EIK ketaste ühendamisega:&lt;br /&gt;
&lt;br /&gt;
 zerblat/Avalik$    /media/itk_avalik   cifs  credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777  0  0&lt;br /&gt;
 //zerblat/kaido$    /media/itk_kodu   cifs  credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777  0  0&lt;br /&gt;
&lt;br /&gt;
LPD: lpd://hostname/queue&lt;br /&gt;
IPP: ipp://hostname/queue&lt;br /&gt;
&lt;br /&gt;
Võimaluse korral protokollide eelistusjärjekord: IPP, LPD, SMB/CIFS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Printerijärjekorra haldamine ====&lt;br /&gt;
&lt;br /&gt;
Käsud: lpr, lpq, lprm ja lpc. Kõigile saab lisada -P parameetri konkreetse järjekorra määramiseks (kui on mitu)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lpr:&lt;br /&gt;
* -Pqueue (NB! vanades süsteemides ei tohi tühikut vahel olla!) - järjekord&lt;br /&gt;
* -r - kustutab algse faili peale printimist&lt;br /&gt;
* -h - ei lisa trükipäist&lt;br /&gt;
* -j, -C, -T jobname - konkreetse töö valimine printerijärjekorrast&lt;br /&gt;
* -m username - saadab peale printimist kasutajale e-kirja&lt;br /&gt;
* -# nr  - koopiate arv&lt;br /&gt;
&lt;br /&gt;
N: $ lpr -Plexmark -m ljones report.txt  &amp;amp;&amp;amp; report läheb lexmarki järjekorda, peale printimist saab ljones meili.&lt;br /&gt;
&lt;br /&gt;
mpage - mitu lehte vähendatuna samale paberile. N: $ mpage -Plexmark report.ps. Võib määrata ka lehtede arvu, -1, -2, -4, -8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lpq - järjekorra vaatamine&lt;br /&gt;
&lt;br /&gt;
 $ lpq -Php4000&lt;br /&gt;
 hp4000 is ready and printing&lt;br /&gt;
 Rank	Owner	Job	File(s)&lt;br /&gt;
 active rodsmit 1630	file:///&lt;br /&gt;
 Total Size 90112 bytes&lt;br /&gt;
&lt;br /&gt;
lprm - töö eemaldamine:&lt;br /&gt;
* lprm nr - vastava numbriga (vt eelmist!) töö eemaldamine&lt;br /&gt;
* lprm - - kõik selle kasutaja tööd&lt;br /&gt;
&lt;br /&gt;
lpc - juhtimiskäsk, kuid selle asemel soovitatakse kasutada CUPSi veebiliidest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU... [[LPIC-1 - Kaku konspekt 2011, 4. osa]]&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_3._osa&amp;diff=102918</id>
		<title>LPIC-1 - Kaku konspekt 2011, 3. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_3._osa&amp;diff=102918"/>
		<updated>2016-04-26T11:01:49Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU...  [[LPIC-1 - Kaku konspekt 2011, 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPI-102 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== X ===&lt;br /&gt;
&lt;br /&gt;
Kolm peamist varianti:&lt;br /&gt;
* XFree86 - 2004. aastani peamine Linuxi akenduskeskkond&lt;br /&gt;
* X.org - 2004. aastast Linuxi peamine keskkond (XFree86 litsentsimuudatuste tõttu)&lt;br /&gt;
* Accelerated-X - omandvaraline X versioon (http://www.xig.com)&lt;br /&gt;
&lt;br /&gt;
XFree86 ja X.org&#039;i erinevus - fontide asukoht ja konfifaili nimi...&lt;br /&gt;
&lt;br /&gt;
NB! Edaspidi siin kasutatavad lühendid:&lt;br /&gt;
* Xo - X.org&lt;br /&gt;
* XF3 - XFree86 versioonid kuni 3.3.6-ni&lt;br /&gt;
* XF4 - XFree86 versioonid alates 3.3.6-st&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== XFree86 ja X.org-i konfivahendid ====&lt;br /&gt;
&lt;br /&gt;
X server ise -  konfikäsud vastavalt:&lt;br /&gt;
* XFree86 -configure&lt;br /&gt;
* Xorg -configure&lt;br /&gt;
&lt;br /&gt;
Selle tulemusena luuakse kas:&lt;br /&gt;
* /root/XF86Config.new või&lt;br /&gt;
* /root/xorg.conf.new&lt;br /&gt;
&lt;br /&gt;
NB! X ei tohi töötada, vaja on tekstirežiimi!&lt;br /&gt;
&lt;br /&gt;
Distrospetsiifilised vahendid:&lt;br /&gt;
* system-config-display (RH) &lt;br /&gt;
* yast, yast2 (Suse)&lt;br /&gt;
&lt;br /&gt;
Vananenud:&lt;br /&gt;
* xf86cfg&lt;br /&gt;
* xorgcfg&lt;br /&gt;
&lt;br /&gt;
Veel varasemaid (XF3):&lt;br /&gt;
* xf86config, Xconfigurator, XF86Setup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Põhiline konf:&lt;br /&gt;
* X.org - fail xorg.conf; enamasti /etc/X11 all, aga võib olla ka /etc vmm kohas&lt;br /&gt;
* XFree86 v4 - XF86Config-4 või ka XF86Config, /etc/X11 või  /etc&lt;br /&gt;
* XFree86 v3 - XF86Config, /etc/X11 või /etc&lt;br /&gt;
&lt;br /&gt;
Konfifail on kõigil sama ülesehitusega ja koosneb sektsioonidest. N klaveri sektsioon:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
 	Identifier &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
 	Driver &amp;quot;kbd&amp;quot;&lt;br /&gt;
 	Option &amp;quot;XkbModel&amp;quot; &amp;quot;pc105&amp;quot;&lt;br /&gt;
 	Option &amp;quot;XkbLayout&amp;quot; &amp;quot;et&amp;quot;&lt;br /&gt;
 	Option &amp;quot;AutoRepeat&amp;quot; &amp;quot;500 200&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Üldiselt suht sarnane kõigil. XF3-s ei ole:&lt;br /&gt;
* Option-klauslit - selle asemel on vastavad väärtused esimeses positsioonis (AutoRepeat &amp;quot;500 200&amp;quot;)&lt;br /&gt;
* ServerLayout-sektsiooni&lt;br /&gt;
* Identifier- ja Driver- klausleid&lt;br /&gt;
&lt;br /&gt;
X-i parandamistsükkel:&lt;br /&gt;
# Reeglina ei saa torkida töötavat X-i. Aitab telinit 3 (RH) või /etc/init.d/gdm stop (Debian ja lapsed)&lt;br /&gt;
# Teha muudatused&lt;br /&gt;
# Lasta X prooviks käima startx-käsuga. Kui korras, siis telinit 5 või /etc/init.d/gdm start&lt;br /&gt;
&lt;br /&gt;
Protsessi &amp;quot;tapmine&amp;quot;: Ctrl-Alt-Bksp või grep-kill:&lt;br /&gt;
 # ps ax | grep X&lt;br /&gt;
 	1375 ? S 6:32 /etc/X11/X -auth /etc/X11/xdm/authdir/&lt;br /&gt;
 # kill 1375&lt;br /&gt;
&lt;br /&gt;
X-i torkimisel tasub fokuseerida tähelepanu ükshaaval eri seadmetele ja vastavatele konfi sektsioonidele. &lt;br /&gt;
&lt;br /&gt;
NB! sektsioonide järjekord ei loe!!!&lt;br /&gt;
&lt;br /&gt;
Tüüpilised sektsioonid XF4 ja Xo puhul:&lt;br /&gt;
* Module&lt;br /&gt;
* InputDevice&lt;br /&gt;
* Monitor&lt;br /&gt;
* Device&lt;br /&gt;
* Screen&lt;br /&gt;
* ServerLayout&lt;br /&gt;
&lt;br /&gt;
NB! XF4 ja Xo kasutavad hiire ja klaveri jaoks kaht InputDevice-sektsiooni, XF3 kasutas hiire jaoks Pointer-sektsiooni&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Module - riistvaradraiverid (kernelimoodulid) =====&lt;br /&gt;
&lt;br /&gt;
 Section “Module”&lt;br /&gt;
 	Load “dbe”&lt;br /&gt;
 	Load “extmod”&lt;br /&gt;
 	Load “fbdevhw”&lt;br /&gt;
 	Load “glx”    # 3D&lt;br /&gt;
 	Load “record”&lt;br /&gt;
 	Load “freetype” # TrueType fonts&lt;br /&gt;
 	Load “type1”  # Adobe Type 1 fonts&lt;br /&gt;
 	Load “dri”	# 3D&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Üldiselt ei tasu mooduleid eriti torkida (ainus selge juhus on 3D töölesaamine!)&lt;br /&gt;
&lt;br /&gt;
===== InputDevice 1 - klaviatuur =====&lt;br /&gt;
&lt;br /&gt;
 Section “InputDevice”&lt;br /&gt;
 	Identifier “Keyboard0”  # tegelikult ei oma identifikaatori kuju otsest tähendust - sisuliselt 1. klaviatuur&lt;br /&gt;
 	Driver “kbd”&lt;br /&gt;
 	Option 	“XkbModel” “pc105”&lt;br /&gt;
 	Option “XkbLayout” “et”&lt;br /&gt;
 	Option “AutoRepeat” “500 200” # klahvikordusmehhanism rakendub 500 ms (0,5sek) pärast ja järgnevad kordused 200ms intervalliga (5x sekundis)&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
NB! Kordustegurit tasub muuta siiski kasutajalähedasemate vahenditega (nagu Accessibility)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== InputDevice 2 - hiir =====&lt;br /&gt;
&lt;br /&gt;
 Section “InputDevice”&lt;br /&gt;
 	Identifier “Mouse0”&lt;br /&gt;
 	Driver “mouse”&lt;br /&gt;
 	Option “Protocol” “IMPS/2”&lt;br /&gt;
 	Option “Device” “/dev/input/mice”&lt;br /&gt;
 	Option “Emulate3Buttons” “no”  # kas keskmist hiirenuppu saab asendada kahe nupu koosklõpsuga&lt;br /&gt;
 	Option “ZAxisMapping” “4 5”   # 4. ja 5. nupp - sisuliselt tähendavad hiireratta kerimist üles ja alla!&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Tähtis - Device võib olla:&lt;br /&gt;
* /dev/input/mice&lt;br /&gt;
*/dev/mouse  # enamasti sümlink&lt;br /&gt;
* /dev/psaux # PS2 hiir&lt;br /&gt;
* /dev/usb/usbmouse # vanad USB hiired&lt;br /&gt;
* /dev/ttyS0  # vanaaegne jadapordihiir&lt;br /&gt;
* /dev/ttyS1 # sama teises pordis&lt;br /&gt;
&lt;br /&gt;
Tähtis - Protocol võib olla: &lt;br /&gt;
* IMPS/2  # tänapäeval levinud - enamik rattaga hiiri&lt;br /&gt;
* ExplorerPS/2  # see ka - NB! PS/2 võib tähistada nii riist- kui tarkvaraprotokolli, viimast kasutavad ka paljud USB-hiired!)&lt;br /&gt;
* PS/2   # vanem PS/2&lt;br /&gt;
* Microsoft&lt;br /&gt;
* Logitech&lt;br /&gt;
* Auto  # X üritab ise protokolli ära arvata, enamasti edukalt!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Monitor - kuvar =====&lt;br /&gt;
&lt;br /&gt;
 Section “Monitor”&lt;br /&gt;
 	Identifier “Monitor0”&lt;br /&gt;
 	ModelName “VisionMaster Pro 450”&lt;br /&gt;
 	HorizSync 27.0-115.0    # kilohertsides!&lt;br /&gt;
 	VertRefresh 50.0-160.0	# hertsides!&lt;br /&gt;
 	# kohandatud graafikarežiim 1360x1024&lt;br /&gt;
 	Modeline “1360x1024” 197.8 1360 1370 1480 1752 1024 1031 1046 1072 -HSync -VSync&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Identifier ja ModelName eriti ei loe - sync ja refresh on aga väga olulised, määrates reso ja refresh rate&#039;i. &lt;br /&gt;
&lt;br /&gt;
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!).&lt;br /&gt;
&lt;br /&gt;
Vanad monitorid võivad katki minna, uued suudavad liiga kõrgeid väärtusi eirata!&lt;br /&gt;
&lt;br /&gt;
Modeline on keerukas väärtustekomplekt, niisama torkida ei maksa. XF3 ja varem pani igaks juhuks hirmsa hunniku monitore nõnda kirja&lt;br /&gt;
&lt;br /&gt;
XF4 ja Xo kasutavad Data Display Channelit (DDC), mis võimaldavad -configure käsuga Modeline&#039;i arvutada (monitor teatab ise vastavad väärtused). Seetõttu on konfifailid enamasti märksa lühemad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Device - videokaart =====&lt;br /&gt;
&lt;br /&gt;
 Section “Device”&lt;br /&gt;
 	Identifier “Videocard0”&lt;br /&gt;
 	Driver “nv”&lt;br /&gt;
 	VendorName “nVidia”&lt;br /&gt;
 	BoardName “GeForce 6100”&lt;br /&gt;
 	VideoRam 131072 # kilobaitides =&amp;gt; 128MB &lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Draiverid asuvad kataloogis /usr/X11R6/lib/modules/drivers/ , enamikul on nime järel _drv.o (N: nv_drv.o).&lt;br /&gt;
Identifier, VendorName ja BoardName on jällegi lugeja jaoks.&lt;br /&gt;
VideoRam pole enamasti vajalik, harva peab määrama.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Screen - video lahutusvõime ja värvigamma =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Section “Screen”&lt;br /&gt;
 	Identifier “Screen0”&lt;br /&gt;
 	Device “Videocard0”&lt;br /&gt;
 	Monitor “Monitor0”&lt;br /&gt;
 	DefaultDepth 24&lt;br /&gt;
 	SubSection “Display”&lt;br /&gt;
 		Depth 24&lt;br /&gt;
 		Modes “1024x768” “1024x600” “800x600” “640x480”&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 	SubSection “Display”&lt;br /&gt;
 		Depth 8&lt;br /&gt;
 		Modes “1024x768” “800x600” “640x480”&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Kaks võimalikku komplekti, vaikimisi väärtuse määrab DefaultDepth (XF3-s oli DefaultColorDepth). &lt;br /&gt;
&lt;br /&gt;
Vajatava põhimälu valem: R = xres × yres × bpp ÷ 8,388,608&lt;br /&gt;
&lt;br /&gt;
N: R = 1280 × 1024 × 24 ÷ 8,388,608 = 3.75MB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== ServerLayout - koondinfo =====&lt;br /&gt;
&lt;br /&gt;
 Section “ServerLayout”&lt;br /&gt;
 	Identifier “single head configuration”&lt;br /&gt;
 	Screen “Screen0” 0 0&lt;br /&gt;
 	InputDevice “Mouse0” “CorePointer”&lt;br /&gt;
 	InputDevice “Keyboard0” “CoreKeyboard”&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
xdpyinfo - pikk joru tehnilist infot monitor jõudluse kohta. Vaikimisi kuvab kõik laiendused, täpsustamiseks xdpyinfo -ext laiendus&lt;br /&gt;
&lt;br /&gt;
xwininfo - info mingi akna kohta (tuleb klõpsata). Parameetrid:&lt;br /&gt;
* -id id, -name name  - akna ID või nime järgi&lt;br /&gt;
* -root - juuraken (töölaud)&lt;br /&gt;
&lt;br /&gt;
==== Kirjastiilid ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
Põhiliigid:&lt;br /&gt;
* 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)&lt;br /&gt;
* skaleeruvad (scalable) e. joonkirjastiilid (outline) - koosneb maatriksise paigutatud sirg- ja kõverjoontest. Parem skaleeruvus, aga mitte universaalne, samuti vajab rohkem prosejõudu&lt;br /&gt;
&lt;br /&gt;
Joonkirjastiilide põhitüübid:&lt;br /&gt;
* Adobe Postscript Type 1 (harilikult lihtsalt Type 1)&lt;br /&gt;
* Apple TrueType - uuem, XF3 ei toetanud (sai lisada fondiserveri abil)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tuumstiilid - need, mida haldab X ise. Asukohad:&lt;br /&gt;
* XFree86 (traditsiooniliselt) - /usr/X11R6/lib/X11/fonts/&lt;br /&gt;
* X.org-X11 - /usr/share/fonts või /usr/share/X11/fonts&lt;br /&gt;
&lt;br /&gt;
Väliseid stiile võib panna ka mujale, näiteks /opt/fonts või /usr/local/fonts alla.&lt;br /&gt;
&lt;br /&gt;
Installifailid:&lt;br /&gt;
* Type 1 - .pfa või .pfb&lt;br /&gt;
* TrueType - .ttf&lt;br /&gt;
&lt;br /&gt;
Windowsi, OS2 ja paljude muude süsteemide stiile saab Linuxis otse kasutada, Maci &amp;quot;suitcase&amp;quot;-konteinereid ei saa. Teisendamiseks on rida utiliite (näiteks FontForge)&lt;br /&gt;
&lt;br /&gt;
Peale fondifailide kopeerimist vastavasse kataloogi tuleb sinna luua paar vajalikku faili. Lihtsam on teha seda käskudega&lt;br /&gt;
* mkfontscale - loob fonts.scale faili, toetab mõlemat tüüpi (T1 jaoks on ka type1inst ja TTF jaoks ttmkfdir)&lt;br /&gt;
* mkfontdir - loob fonts.dir -faili&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb luua X-i konfifaili vastav sektsioon:&lt;br /&gt;
&lt;br /&gt;
 Section “Files”&lt;br /&gt;
 	FontPath “/usr/share/fonts/100dpi:unscaled”&lt;br /&gt;
 	FontPath “/usr/share/fonts/Type1”&lt;br /&gt;
 	FontPath “/usr/share/fonts/truetype”&lt;br /&gt;
 	FontPath “/usr/share/fonts/URW”&lt;br /&gt;
 	FontPath “/usr/share/fonts/Speedo”&lt;br /&gt;
 	FontPath “/usr/share/fonts/100dpi”&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
NB! Järjekord loeb - kui sama stiil esineb mitmes kohas, kasutatakse eespool olevat!&lt;br /&gt;
&lt;br /&gt;
:unscaled lubab rasterfonte kasutada vaid siis, kui nende suurus klapib&lt;br /&gt;
&lt;br /&gt;
Testimiseks on lihtsaim võimalus X-i restart. Võib aga ka proovida:&lt;br /&gt;
* $ xset fp+ fondikataloog&lt;br /&gt;
* $ xset fp rehash&lt;br /&gt;
&lt;br /&gt;
fp+ lisab nimekirja lõppu, +fp algusse!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fondiserver - otseselt pole enam vajalik, aga sobib tsentraalseks kirjastiilijaotuseks paljudele masinatele:&lt;br /&gt;
&lt;br /&gt;
 Section “Files”&lt;br /&gt;
 	FontPath “unix:/7100”  		# kohalik fondiserver - võib olla ka kujul &amp;quot;unix:/~1&amp;quot;&lt;br /&gt;
 	FontPath “tcp/fount.pangaea.edu:7100”  # eemalasuv fondiserver&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fondifailid paigaldatakse samamoodi kui eespool, serveri konf asub /etc/X11/fs/config -failis. &lt;br /&gt;
&lt;br /&gt;
 catalogue = /usr/share/fonts/100dpi:unscaled,&lt;br /&gt;
 /usr/share/fonts/Type1,&lt;br /&gt;
 /usr/share/fonts/truetype,&lt;br /&gt;
 /usr/share/fonts/URW,&lt;br /&gt;
 /usr/share/fonts/Speedo,&lt;br /&gt;
 /usr/share/fonts/100dpi&lt;br /&gt;
&lt;br /&gt;
NB! Eraldatakse komadega!!&lt;br /&gt;
&lt;br /&gt;
Testimine:  etc/init.d/xfs restart ja ka X-i taaskäivitus (või rehash, vt eespool).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tänapäevane viis - Xft&lt;br /&gt;
&lt;br /&gt;
X-i tuumfontidel ja fondiserveril on samad probleemid:&lt;br /&gt;
*  raske ühildada kuvari- ja printerikuju&lt;br /&gt;
* serveripõhisus: failid võivad asuda füüsiliselt mujal (võib tekkida jama printimise korraldamisega)&lt;br /&gt;
* Vähe tuge uuematele tüpograafiavõtetele (eeskätt printimisprobleem)&lt;br /&gt;
* ei toeta silumist (antialiast) ehk hallide pikslite kasutamist lisaks valgetele ja mustadele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Xft põhineb FreeType -teegil ja on tänastes Linuxites teine kasutatav süsteem X-i tuumfontide kõrval.&lt;br /&gt;
&lt;br /&gt;
Saab kasutada eelnevate süsteemide fondikatalooge - vt failis /etc/fonts/local.conf read &amp;lt;dir&amp;gt;/font/directory&amp;lt;/dir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pärast muudatusi tuleb anda käsk fc-cache - idee poolest sarnane mkfontdir jms-ga&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Graafiline sisselogimine ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X Display Manager Control Protocol (XDMCP) - haldab nii eemalt kui kohalikke sisselogimisi&lt;br /&gt;
&lt;br /&gt;
Kolm peamist XDMCP serverit: XDM, GDM, KDM&lt;br /&gt;
&lt;br /&gt;
XDMCP serveri käivitab init-protsess, kas /etc/inittab&#039;i või mõne selle alamfaili või siis SysV startup-skriptide abil&lt;br /&gt;
&lt;br /&gt;
Enamasti ongi runlevel 3 ja 5 vahe ainult XDMCP serveri käivitamises&lt;br /&gt;
&lt;br /&gt;
Vaikimisi runlevel inittab&#039;is: rida  id:5:initdefault:&lt;br /&gt;
&lt;br /&gt;
Debiani perekond ja Gentoo aga ei kasuta runleveleid (kõigil tasemetel kas käivitatakse XDMCP või ei käivitata), vaid SysV skripte.&lt;br /&gt;
&lt;br /&gt;
Ajutine käivitamine/peatamine  - xdm/kdm/gdm  start/stop. Püsivamalt aga tuleb redigeerida /etc/init.d/ all vastavaid skripte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== XDM ====&lt;br /&gt;
&lt;br /&gt;
kõige lihtsam, võimaldab sisse logida, kuid mitte keskkonda valida (seda tuleb teha login-failide abil)!&lt;br /&gt;
konf /etc/X11/xdm/xdm-config.  NB! Vaikimisi on remote login keelatud - DisplayManager.requestPort: 0 . Lubamiseks tuleb panna 0 asemele 177 (traditsioooniline XDMCP port).&lt;br /&gt;
&lt;br /&gt;
Kui remote login on lubatud, tuleb konfida /etc/X11/xdm/Xaccess -fail.  Vaikimisi on kõik lahti:&lt;br /&gt;
 *			&amp;amp;&amp;amp; Igaüks võib ühenduda&lt;br /&gt;
 * CHOOSER BROADCAST	&amp;amp;&amp;amp; igaüks võib valida kohaliku süsteemi, millega ühenduda&lt;br /&gt;
 *.pangaea.edu 		&amp;amp;&amp;amp; kogu domeen võib ühenduda&lt;br /&gt;
 tux.example.com		&amp;amp;&amp;amp; võib ühenduda (aga mitte süsteemi valida, vt järgmist)&lt;br /&gt;
 *.pangaea.edu CHOOSER BROADCAST &amp;amp;&amp;amp;  võib valida kohaliku süsteemi&lt;br /&gt;
&lt;br /&gt;
Veel valikuid on failis /etc/X11/xdm/Xresources (näiteks saab määrata tervitusteksti)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== KDM ====&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== GDM ====&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== X-i kaugligipääs ====&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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&lt;br /&gt;
veebiserveri rolli).  &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 VEEBISERVER  &amp;lt;=======&amp;gt;	X-i KLIENT JA VEEBIKLIENT 	&amp;lt;========&amp;gt;	X-i SERVER&lt;br /&gt;
 &lt;br /&gt;
 Majutab veebilehti	Käitab kasutaja tarkvara		Näitab pilti ja võtab vastu sisendit (klaver, hiir)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Harilikult vastab X vaikimisi ainult kohalikele pöördumistele (turvakaalutlus). Väljast ligipääs tuleb eraldi konfida, aga turvalisust tuleb jälgida.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näide:  &#039;&#039;karu&#039;&#039; on server, &#039;&#039;kass&#039;&#039; on klient (aga hea kuvari ja klaveriga, parem töökeskkond).&lt;br /&gt;
&lt;br /&gt;
# Logida kassi ja käivitada X (kui juba ei tööta)&lt;br /&gt;
# Avada terminal&lt;br /&gt;
# Terminalist käsk xhost +karu . Annab õiguse kasutada kassi karu terminalina, s.t. kass lubab kuvada karult tulevat infot ekraanil&lt;br /&gt;
# logida kassist karusse (SSH, telnet)&lt;br /&gt;
# karus anda käsk export DISPLAY=kass:0.0 (bashi puhul; tcsh puhul setenv export&#039;i asemel). Karu saadab nüüd ekraanipildi kassi.&lt;br /&gt;
# käivitada vajalik programm, nt Firefox. Firefox jookseb karus, aga pilt ja juhtimine toimub kassist.&lt;br /&gt;
# Peale töö lõppu programmid kinni, karust logout ja kassi terminalis käsk xhost -karu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Variant on kasutada kogu ühenduse jaoks SSH tunnelit - aeglasem, aga turvalisem. Tuleb kas&lt;br /&gt;
# kasutada ssh-ga karusse logimisel -X võtit või&lt;br /&gt;
# lisada kliendi faili /etc/ssh_config  säte ForwardX11=yes&lt;br /&gt;
&lt;br /&gt;
Lisaks peab olema serveri /etc/ssd_config -is X11Forwarding=yes !!&lt;br /&gt;
&lt;br /&gt;
Enamasti on tänapäeva distrodes ka X-i konfist võrguühendused maha keeratud. Sisselülitamiseks:&lt;br /&gt;
* GDM vanemad versioonid: /etc/X11/gdm/gdm.conf, DisallowTCP false&#039;iks&lt;br /&gt;
* GDM uuemad: /etc/gdm/gdm.schemas: &lt;br /&gt;
    &amp;lt;schema&amp;gt;&lt;br /&gt;
       &amp;lt;key&amp;gt;security/DisallowTCP&amp;lt;/key&amp;gt;&lt;br /&gt;
       &amp;lt;signature&amp;gt;b&amp;lt;/signature&amp;gt;&lt;br /&gt;
       &amp;lt;default&amp;gt;true&amp;lt;/default&amp;gt;  &amp;amp;&amp;amp; false&#039;iks&lt;br /&gt;
     &amp;lt;/schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* XDM: /etc/X11/xdm/XServers: :0-ga algaval real võtta lõpust ära -nolisten tcp&lt;br /&gt;
* KDM: /etc/X11/kdm/XServers, sama&lt;br /&gt;
&lt;br /&gt;
OpenSUSE on erijuht: failis /etc/sysconfig/displaymanager  panna DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN väärtuseks &amp;quot;yes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kui X käivitatakse startx-iga tekstirežiimist, tuleks muuta startx-skripti (/usr/bin/ ja võtta -nolisten tcp maha&lt;br /&gt;
&lt;br /&gt;
Peale seda kõike tuleb X taaskäivitada.  Veel üks võimalus X-i rakendusi eemalt käivitada on VNC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== X-i ligipääsetavus ====&lt;br /&gt;
&lt;br /&gt;
Mitmed asjad klaveri ja hiire sätete all. Debounce keys - väldib mitut tahtmatut vajutust järjest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GOK, fonts, kontrastse teema valimine, ekraaniluup (gnome-magnifier/Orca, KMag)&lt;br /&gt;
&lt;br /&gt;
Kõne: Orca, Emacspeak&lt;br /&gt;
&lt;br /&gt;
BRLTTY: tekstirežiimis töötab üsna otse. z&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Lokaliseerimine ====&lt;br /&gt;
&lt;br /&gt;
/etc/localtime  - väga väheseid konfis kasutatavaid mitte-tekstifaile. Vahel on sümlink /usr/share/zoneinfo vastavale failile, vahel on see kopeeritud&lt;br /&gt;
sealt ära.&lt;br /&gt;
&lt;br /&gt;
date-käsk:&lt;br /&gt;
&lt;br /&gt;
 kakk@aragorn:~$ date&lt;br /&gt;
 E apr   18 01:09:49 EEST 2011&lt;br /&gt;
&lt;br /&gt;
Ajavööndid vt http://www.timeanddate.com/library/abbreviations/timezones/&lt;br /&gt;
&lt;br /&gt;
Muutmiseks tuleb linkida või kopeerida /etc/localtime asemele näiteks /usr/share/zoneinfo/Europe/Tallinn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisaks kasutatakse ka ajavööndifaili: &lt;br /&gt;
* /etc/timezone - Debian ja sugulased  &lt;br /&gt;
* /etc/sysconfig/clock - Red Hat ja sugulased&lt;br /&gt;
&lt;br /&gt;
Mõnes distros ka utiliidid nagu tzsetup, tzselect, tzconfig (Ubuntus on viimane ebasoovitav, teine võimaldab vööndit valida).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Locale ehk riigiinfo ====&lt;br /&gt;
&lt;br /&gt;
Üldkuju:  [language[_territory][.codeset][@modifier]]&lt;br /&gt;
&lt;br /&gt;
Kodeeringud:&lt;br /&gt;
* ASCII 7bit (enamasti 8-bitiste baitidena)&lt;br /&gt;
* ISO 8859 (kasutab 8 bitti tähestiku laiendamiseks 128 märgini), regionaalsed alamtähestikud&lt;br /&gt;
* Unicode/UTF-8 - ASCII + 0-3 lisabaiti&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
locale-käsk:&lt;br /&gt;
&lt;br /&gt;
 kakk@aragorn:~$ locale&lt;br /&gt;
 LANG=et_EE.UTF-8&lt;br /&gt;
 LANGUAGE=et_EE:en&lt;br /&gt;
 LC_CTYPE=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;et_EE.UTF-8&amp;quot;&lt;br /&gt;
 LC_ALL=&lt;br /&gt;
 kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
locale -a näitab kõiki süsteemis olemasolevaid&lt;br /&gt;
&lt;br /&gt;
Ajutine muutmine: &lt;br /&gt;
* $ export LANG=en_GB.UTF-8&lt;br /&gt;
* $ export LC_ALL=en_GB.UTF-8&lt;br /&gt;
&lt;br /&gt;
Püsivalt tasub panna ~/.bashrc või /etc/profile -faili.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X-i konfis on XkbLayout-parameeter - sinna käib sisuliselt seesama locale&lt;br /&gt;
&lt;br /&gt;
LANG=C - eirab locale&#039;sid&lt;br /&gt;
&lt;br /&gt;
iconv - tõlgib kooditabelite vahel:&lt;br /&gt;
* iconv -f encoding [-t encoding] [inputfile]...&lt;br /&gt;
* iconv --list näitab kõiki&lt;br /&gt;
&lt;br /&gt;
N: $ iconv -f iso-8859-1 -t UTF-8 umlautfile.txt &amp;gt; umlautfile-utf8.txt&lt;br /&gt;
&lt;br /&gt;
=== Printimine ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldine süsteem: rakendus väljastab PostScripti, see saadetakse GhostScripti abil printerile. Printerijärjekorda haldab enamasti CUPS. Alternatiivid&lt;br /&gt;
* LPD&lt;br /&gt;
* LPRng &lt;br /&gt;
Käsud suht samad, printeri konfimine aga erinev&lt;br /&gt;
&lt;br /&gt;
Üldine printerikäsk - lpr (võib kasutada ka rakendustes).  Printerijärjekord asub tüüpiliselt kataloogis /var/spool/cups&lt;br /&gt;
&lt;br /&gt;
Unixi/Linuxi printimine on võrgupõhine, printimistöid võib saata nii eemalt kui kohalikust masinast. CUPS on muidu serverirakendus, kuid printimistööde&lt;br /&gt;
mujale saatmisel töötab ka kliendina.&lt;br /&gt;
&lt;br /&gt;
Printeridraiverid kuuluvad GhostScripti koosseisu. Windowsis suhtleb rakendus otse draiveriga, Unixis tehakse PS ja saadetakse printerijärjekorda.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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. 	&lt;br /&gt;
&lt;br /&gt;
Printeriprotsessid käivitatakse reeglina buudiprotsessis (/etc/rc.d, /etc/init.d või /etc/rc?.d kaudu - ? on vastav runlevel).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== CUPS ====&lt;br /&gt;
&lt;br /&gt;
etc/cups/printers.conf  - printerite fail:&lt;br /&gt;
&lt;br /&gt;
 # Printer configuration file for CUPS v1.4.4&lt;br /&gt;
 # Written by cupsd&lt;br /&gt;
 # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING&lt;br /&gt;
 &amp;lt;DefaultPrinter HP-LaserJet-1320&amp;gt;&lt;br /&gt;
 Info ITK printer&lt;br /&gt;
 Location 221 koridoris&lt;br /&gt;
 MakeModel HP LaserJet 1320 series Postscript (recommended)&lt;br /&gt;
 DeviceURI hp:/net/hp_LaserJet_1320_series?ip=192.168.2.63&lt;br /&gt;
 State Idle&lt;br /&gt;
 StateTime 1301394578&lt;br /&gt;
 Type 8425540&lt;br /&gt;
 Filter application/vnd.cups-raw 0 -&lt;br /&gt;
 Filter application/vnd.cups-command 0 commandtops&lt;br /&gt;
 Filter application/vnd.cups-postscript 0 -&lt;br /&gt;
 Accepting Yes&lt;br /&gt;
 Shared Yes&lt;br /&gt;
 JobSheets none none&lt;br /&gt;
 QuotaPeriod 0&lt;br /&gt;
 PageLimit 0&lt;br /&gt;
 KLimit 0&lt;br /&gt;
 OpPolicy default&lt;br /&gt;
 ErrorPolicy retry-job &lt;br /&gt;
 &amp;lt;/Printer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Täiendavad printeridefinitsioonidega failid asuvad /etc/cups/ppd -kataloogis!&lt;br /&gt;
&lt;br /&gt;
CUPSi võrguprintimise protokoll: IPP (Internet Printing Protocol)&lt;br /&gt;
&lt;br /&gt;
CUPSi enda konf: /etc/cups/cupsd.conf. Sarnaneb ülesehituselt Apache&#039;i konfiga:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /printers&amp;gt;&lt;br /&gt;
 	Order Deny,Allow 			&amp;amp;&amp;amp; vaikimisi keelatud, ekstra lubamine&lt;br /&gt;
 	Deny from All				&amp;amp;&amp;amp; vaikimisi kõik kinni&lt;br /&gt;
 	BrowseAllow from 127.0.0.1		&amp;amp;&amp;amp; lubame konkreetseid asju...&lt;br /&gt;
 	BrowseAllow from 192.168.1.0/24&lt;br /&gt;
 	BrowseAllow from @LOCAL&lt;br /&gt;
 	Allow from 127.0.0.1&lt;br /&gt;
 	Allow from 192.168.1.0/24&lt;br /&gt;
 	Allow from @LOCAL&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Browsing On - printerite autdetect võrgus, kasulik suurte, kiirelt muutuvate printeritega võrgu korral&lt;br /&gt;
&lt;br /&gt;
Printeridefinitsioone saab distrost endast, Foomaticust, Gutenprintist, CUPSi DDK-st ja vahel ka printeritootjatelt&lt;br /&gt;
&lt;br /&gt;
CUPSi IPP-protokoll on nii sarnane HTTP-ga, et  sinna saab ligi veebilehitsejaga: http://localhost:631&lt;br /&gt;
&lt;br /&gt;
CUPSi häälestamisel peavad USB printerid olema ühendatud ja töötama! Kui ei, tuleb panna tööle ja CUPS taaskäivitada&lt;br /&gt;
&lt;br /&gt;
Võrguprinteri korral võib minna vaja asukohta: lpd://printserv/brother   (protokoll, arvuti, printer)&lt;br /&gt;
&lt;br /&gt;
CUPSi ei tohiks üle võrgu häälestada - ühendus on krüptimata!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Võrguprinterid ====&lt;br /&gt;
&lt;br /&gt;
Samba:&lt;br /&gt;
&lt;br /&gt;
Üldkuju: smb://username:password@SERVER/SHARE&lt;br /&gt;
&lt;br /&gt;
vrdl EIK ketaste ühendamisega:&lt;br /&gt;
&lt;br /&gt;
 zerblat/Avalik$    /media/itk_avalik   cifs  credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777  0  0&lt;br /&gt;
 //zerblat/kaido$    /media/itk_kodu   cifs  credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777  0  0&lt;br /&gt;
&lt;br /&gt;
LPD: lpd://hostname/queue&lt;br /&gt;
IPP: ipp://hostname/queue&lt;br /&gt;
&lt;br /&gt;
Võimaluse korral protokollide eelistusjärjekord: IPP, LPD, SMB/CIFS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Printerijärjekorra haldamine ====&lt;br /&gt;
&lt;br /&gt;
Käsud: lpr, lpq, lprm ja lpc. Kõigile saab lisada -P parameetri konkreetse järjekorra määramiseks (kui on mitu)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lpr:&lt;br /&gt;
* -Pqueue (NB! vanades süsteemides ei tohi tühikut vahel olla!) - järjekord&lt;br /&gt;
* -r - kustutab algse faili peale printimist&lt;br /&gt;
* -h - ei lisa trükipäist&lt;br /&gt;
* -j, -C, -T jobname - konkreetse töö valimine printerijärjekorrast&lt;br /&gt;
* -m username - saadab peale printimist kasutajale e-kirja&lt;br /&gt;
* -# nr  - koopiate arv&lt;br /&gt;
&lt;br /&gt;
N: $ lpr -Plexmark -m ljones report.txt  &amp;amp;&amp;amp; report läheb lexmarki järjekorda, peale printimist saab ljones meili.&lt;br /&gt;
&lt;br /&gt;
mpage - mitu lehte vähendatuna samale paberile. N: $ mpage -Plexmark report.ps. Võib määrata ka lehtede arvu, -1, -2, -4, -8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lpq - järjekorra vaatamine&lt;br /&gt;
&lt;br /&gt;
 $ lpq -Php4000&lt;br /&gt;
 hp4000 is ready and printing&lt;br /&gt;
 Rank	Owner	Job	File(s)&lt;br /&gt;
 active rodsmit 1630	file:///&lt;br /&gt;
 Total Size 90112 bytes&lt;br /&gt;
&lt;br /&gt;
lprm - töö eemaldamine:&lt;br /&gt;
* lprm nr - vastava numbriga (vt eelmist!) töö eemaldamine&lt;br /&gt;
* lprm - - kõik selle kasutaja tööd&lt;br /&gt;
&lt;br /&gt;
lpc - juhtimiskäsk, kuid selle asemel soovitatakse kasutada CUPSi veebiliidest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU... [[LPIC-1 - Kaku konspekt 2011, 4. osa]]&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_2._osa&amp;diff=102917</id>
		<title>LPIC-1 - Kaku konspekt 2011, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_2._osa&amp;diff=102917"/>
		<updated>2016-04-26T11:01:10Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU... [[LPIC-1 - Kaku konspekt 2011, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Riistvara ===&lt;br /&gt;
&lt;br /&gt;
BIOS - EEPROM ehk taaskasutatav püsimälu (flash memory)&lt;br /&gt;
&lt;br /&gt;
POST - power-on self test&lt;br /&gt;
&lt;br /&gt;
POST =&amp;gt; riistvaratest =&amp;gt; alglaaduri laadimine andmekandjalt =&amp;gt; alglaaduri käivitus =&amp;gt; OS käivitus&lt;br /&gt;
&lt;br /&gt;
Apple&#039;il on BIOSi asemel OpenFirmware (PowerPC) või EFI (Intel Macs)&lt;br /&gt;
&lt;br /&gt;
BIOS setup - F1, F2, F10, Esc, Del vmm klahv&lt;br /&gt;
&lt;br /&gt;
Arvuti käivitus ilma klaverita - kbd check BIOSist välja lülitada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Katkestused (IRQ) ====&lt;br /&gt;
&lt;br /&gt;
i386 puhul 0-15, x86_64 jt puhul on neid veel&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| 0 &lt;br /&gt;
| Süsteemikell&lt;br /&gt;
| Reserveeritud sisemiseks kasutuseks&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| Klaviatuur&lt;br /&gt;
| Reserveeritud klaviatuurile&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| Katkestused 8–15 &lt;br /&gt;
| Algselt suutis x86 hallata vaid 8 katkestust, see oli ülemiste katkestuste jaoks&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| Teine RS-232 jadaliides (Windowsis COM2)&lt;br /&gt;
| Võib ka olla jagatud neljanda jadaliidesega (kui see olemas on)&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Esimene RS-232 jadaliides (Windowsis COM1)&lt;br /&gt;
| Võib ka olla jagatud kolmanda jadaliidesega (kui see olemas on) &lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| Helikaart või teine rööpliides (Windowsis LPT2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| Disketiseade &lt;br /&gt;
| Reserveeritud esimesele disketiseadmele&lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| Esimene rööpliides (Windowsis LPT1)&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| Reaalajakell &lt;br /&gt;
| Reserveeritud süsteemikellale&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| Vaba&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| Vaba&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 11 &lt;br /&gt;
| Vaba&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 12 &lt;br /&gt;
| PS/2 hiir&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 13 &lt;br /&gt;
| Kaasprotsessor&lt;br /&gt;
| Reserveeritud süsteemile&lt;br /&gt;
|-&lt;br /&gt;
| 14 &lt;br /&gt;
| Esimene ATA liides &lt;br /&gt;
| ATA seadmete (kõvakettad - Linuxis enamasti /dev/hda ja /dev/hdb) kontroller&lt;br /&gt;
|-&lt;br /&gt;
| 15 &lt;br /&gt;
| Teine ATA liides &lt;br /&gt;
| ATA seadmete (kõvakettad - Linuxis enamasti /dev/hdc ja /dev/hdd) kontroller&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Põhiline konfliktiallikas on 5 - helikaardid ja teine paralleelport!&lt;br /&gt;
&lt;br /&gt;
Linuxis näitab  cat /proc/interrupts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/proc - virtuaalne failisüsteem: mitte päris failid, vaid failisüsteemina esitatav kerneli info (riistvara, protsessid jne).  Paljud utiliidid kasutavad seda, kuid cat&#039;iga vmm moel saab ka otse vaadata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== I/O aadressid ====&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Linuxis&lt;br /&gt;
! Windows  &lt;br /&gt;
! Tüüpiline IRQ&lt;br /&gt;
! I/O Aadress&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS0 &lt;br /&gt;
| COM1&lt;br /&gt;
| 4 &lt;br /&gt;
| 0x03f8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS1 &lt;br /&gt;
| COM2	&lt;br /&gt;
| 3 &lt;br /&gt;
| 0x02f8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS2 &lt;br /&gt;
| COM3 &lt;br /&gt;
| 4 &lt;br /&gt;
| 0x03e8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS3 &lt;br /&gt;
| COM4 &lt;br /&gt;
| 3 &lt;br /&gt;
| 0x02e8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/lp0 &lt;br /&gt;
| LPT1 &lt;br /&gt;
| 7 &lt;br /&gt;
| 0x0378-0x037f&lt;br /&gt;
| /dev/lp1 	&lt;br /&gt;
| LPT2 &lt;br /&gt;
| 5 &lt;br /&gt;
| 0x0278-0x027f&lt;br /&gt;
|-&lt;br /&gt;
| /dev/fd0 &lt;br /&gt;
| A: &lt;br /&gt;
| 6 &lt;br /&gt;
| 0x03f0-0x03f7&lt;br /&gt;
| /dev/fd1 &lt;br /&gt;
| B: &lt;br /&gt;
| 6 &lt;br /&gt;
| 0x0370-0x0377&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vahel kasutatakse vananenud tähistust /dev/cuax - seega /dev/cua0 = /dev/ttyS0&lt;br /&gt;
&lt;br /&gt;
cat /proc/ioports&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Igasugust ====&lt;br /&gt;
&lt;br /&gt;
DMA (Direct Memory Addressing) cat /proc/dma&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CHS geomeetria vs dünaamiline &lt;br /&gt;
&lt;br /&gt;
cold vs hot plug &lt;br /&gt;
&lt;br /&gt;
Hotplug-seadmed =&amp;gt; /sys (sysfs)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAL (Hardware Abstraction Layer) daemon - jooksev info saadaolevate välisseadmete kohta&lt;br /&gt;
&lt;br /&gt;
D-Bus  (Desktop Bus) daemon - ditto&lt;br /&gt;
&lt;br /&gt;
udev - virtuaalne failisüsteem /dev all, mõeldud hotplug-seadmetele&lt;br /&gt;
&lt;br /&gt;
NB! RS-232 (COM) ja paralleelpordi (LPT) seadmed on tegelikult coldplugged - tegelikult peaks reboodi tegema!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PCI konfiks: lspci ja setpci&lt;br /&gt;
&lt;br /&gt;
* -v   - detailsem info (-vv ja -vvv &amp;quot;lobiseb&amp;quot; veel enam!)&lt;br /&gt;
* -n   - info esitatakse arvkoodina (ei tõlgita tootjanimedeks)&lt;br /&gt;
* -nn  - näitab nii arvkoode kui nimesid&lt;br /&gt;
* -x   - kuvab 16-ndkoodis seadmeinfo (hirmus abrakadabra). Eriti kreisid inimesed panevad -xxx või -xxxx ...&lt;br /&gt;
* -b   - kuvab andmeid seadmete, mitte kerneli vaates&lt;br /&gt;
* -t 	- kuvab seadmete suhtepuu&lt;br /&gt;
* -s     - kuvab etteantud spetsifikatsiooniga seadmed&lt;br /&gt;
* -i file - kasutab etteantud faili seamenimede jaoks (vaikimisi võetakse /usr/share/misc/pci.ids.)&lt;br /&gt;
* -m 	- masinloetavas vormingus andmed skriptide jaoks. -m on vanem, -mm uuem vorming.&lt;br /&gt;
* -D    -  näitab PCI domeeninumbreid&lt;br /&gt;
* -M	 - skaneerib seadmeid siinirežiimis, võib aidata leida möödakonfitud ja seetõttu nähtamatuid seadmeid&lt;br /&gt;
* --version - versiooniinfo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kerneli moodulid ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lsmod - kuvab ainult moodulite info, mitte aga draivereid, mis on otse kernelisse kompileeritud!&lt;br /&gt;
&lt;br /&gt;
# insmod /lib/modules/2.6.26/kernel/drivers/block/floppy.ko&lt;br /&gt;
&lt;br /&gt;
NB! Täisnimi koos kataloogiteega!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
modprobe - laeb mooduli koos sõltuvustega&lt;br /&gt;
&lt;br /&gt;
# modprobe floppy&lt;br /&gt;
&lt;br /&gt;
Põhivalikud:&lt;br /&gt;
* -v, --verbose - kuvab lisainfot&lt;br /&gt;
* -C failinimi - kohandatud konfifail (vaikimisi /etc/modprobe.conf)&lt;br /&gt;
* -n, --dry-run  - simuleeritud moodulilisamine (reaalselt ei lisa)&lt;br /&gt;
* -r, --remove - eemaldab mooduli koos sõltuvustega (v.a. juhul, kui sõltuvused on teiste poolt kasutuses)&lt;br /&gt;
* -f, --force - jõuga lisamine&lt;br /&gt;
* --show-depends - näitab mooduli sõltuvusi&lt;br /&gt;
* -l, --list -    näitab saadaolevaid mooduleid&lt;br /&gt;
&lt;br /&gt;
rmmod - mooduli eemaldamine&lt;br /&gt;
&lt;br /&gt;
Põhivalikud:&lt;br /&gt;
* -v, --verbose - kuvab lisainfot&lt;br /&gt;
* -f, --force - jõuga eemaldamine&lt;br /&gt;
* -w, --wait - kui moodul on kasutuses, ei anna veateadet, vaid ootab kasutuse lõppemist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== USB ====&lt;br /&gt;
&lt;br /&gt;
* USB 1.0 ja 1.1 - kuni 127 seadet, 12Mbps&lt;br /&gt;
* USB 2.0 - kuni 480Mbps&lt;br /&gt;
&lt;br /&gt;
lsusb &lt;br /&gt;
&lt;br /&gt;
Uuemal ajal on USB seadmed ühendatud /proc/bus/usb/001, 002, 003 jne &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kõvakettad ====&lt;br /&gt;
&lt;br /&gt;
* (P)ATA - paralleelkaabel, 40 või 80 juhet&lt;br /&gt;
* SATA - jadakaabel, 7 juhet?&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
Uuemal ajal võidakse ka ATA kettaid tähistada nagu SCSI omi (sda)&lt;br /&gt;
&lt;br /&gt;
Välised USB- ja Firewire (IEEE1394) kettad - nagu SCSI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettamajandus ===&lt;br /&gt;
&lt;br /&gt;
==== Kettajaotised (partitsioonid) ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Enamikku andmekandjaid käsitletakse võrdväärselt kõvaketastega (USB ja ZIP kettad). Ei partitsioneerita plaate, MO-kettaid ja flopisid!&lt;br /&gt;
&lt;br /&gt;
fdisk -l /dev/hdx (vastav nr) näitab reeglina, kas on partitsioneeritav või ei&lt;br /&gt;
&lt;br /&gt;
Enamik PC-sid kasutab x86 partitsioneerimist, osa AMD64 ja Inteli Macid aga GUID GPT (Globally Unique Identifier Partition Table) süsteemi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPT partitsioone on kindlam töödelda GNU Parted&#039;iga, mitte fdiskiga&lt;br /&gt;
&lt;br /&gt;
LVM - ei kuulu otseselt programmi. Aga konkreetne soovitus: kui kasutada, tuleb jätta /boot (või / koos buudiga) väljapoole LVM-i (nagu Kakupesas!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Jaotisteskeem&lt;br /&gt;
|-&lt;br /&gt;
| Saaleala (ei haagita) &lt;br /&gt;
| 1,5–2 korda põhimälu&lt;br /&gt;
| &amp;quot;Mälupikendus&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| /home	&lt;br /&gt;
| 200MB–1000GB &lt;br /&gt;
| Kasutajate failid, eraldi jaotis võimaldab süsteemi uuendada ilma kasutajaandmeid ringi tõstmata&lt;br /&gt;
|-&lt;br /&gt;
| /boot &lt;br /&gt;
| 20–200MB &lt;br /&gt;
| Käivitusfailid. Eraldi hoidmine eriti arukas vanematel masinatel&lt;br /&gt;
|-&lt;br /&gt;
| /usr &lt;br /&gt;
| 500MB–10GB &lt;br /&gt;
| Põhiline tarkvara&lt;br /&gt;
|-&lt;br /&gt;
| /usr/local &lt;br /&gt;
| 100MB–3GB &lt;br /&gt;
| Unikaalne (enamasti isekompileeritud) tarkvara&lt;br /&gt;
|-&lt;br /&gt;
| /opt 	&lt;br /&gt;
| 100MB–5GB &lt;br /&gt;
| Distroväline (kolmanda osapoole) tarkvara&lt;br /&gt;
|-&lt;br /&gt;
| /var &lt;br /&gt;
| 100MB–500GB &lt;br /&gt;
| Logid, e-post, veeb, andmebaasid&lt;br /&gt;
|-&lt;br /&gt;
| /tmp &lt;br /&gt;
| 100MB–20GB &lt;br /&gt;
| Ajutised failid&lt;br /&gt;
|-&lt;br /&gt;
| /mnt &lt;br /&gt;
| N/A &lt;br /&gt;
| Väliste andmekandjate haakepunkt&lt;br /&gt;
|-&lt;br /&gt;
| /media&lt;br /&gt;
| N/A&lt;br /&gt;
| Väliste andmekandjate haakepunkt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failisüsteemi loomine kettale: # mkfs -t ext3 /dev/hda6&lt;br /&gt;
&lt;br /&gt;
NB! mõnel juhul tasub reserveeritud ruum (žurnaali jaoks; ca 5% kettast) ära jätta - lisada -m 0 -võti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saaleala tegemine: &lt;br /&gt;
* # mkswap /dev/hda7&lt;br /&gt;
* # swapon /dev/hda7&lt;br /&gt;
&lt;br /&gt;
Püsiva jaoks tuleb /etc/fstab&#039;is ära kirjeldada!&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==== Diagnostika ====&lt;br /&gt;
&lt;br /&gt;
dumpe2fs -h &amp;lt;jaotis&amp;gt; N: dumpe2fs -h /dev/sda1&lt;br /&gt;
&lt;br /&gt;
tune2fs&lt;br /&gt;
&lt;br /&gt;
debugfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fsck / e2fsck&lt;br /&gt;
&lt;br /&gt;
Põhivalikud:&lt;br /&gt;
* fsck -A  - kõik /etc/fstab-is kirjas olevad failisüsteemid&lt;br /&gt;
* fsck -C - progressinäidik&lt;br /&gt;
* fsck -V - rohkem juttu&lt;br /&gt;
* fsck -N - simulatsioon (ilma reaalse tegevuseta)&lt;br /&gt;
&lt;br /&gt;
Tavaliselt võib jooksutada lihtsalt fsck &amp;lt;failisüsteem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
df - ketta täituvus&lt;br /&gt;
&lt;br /&gt;
hea võti - -h näitab kordseid ühikuid:&lt;br /&gt;
&lt;br /&gt;
 kakk@aragorn:~$ df -h&lt;br /&gt;
 Failisüsteem            Size  Used Avail Use% Haagitud&lt;br /&gt;
 /dev/sda2              16G   12G  3,1G  80% /&lt;br /&gt;
 none                  2,0G  288K  2,0G   1% /dev&lt;br /&gt;
 none                  2,0G  172K  2,0G   1% /dev/shm &lt;br /&gt;
 none                  2,0G  308K  2,0G   1% /var/run&lt;br /&gt;
 none                  2,0G     0  2,0G   0% /var/lock&lt;br /&gt;
 /dev/sda3             212G  118G   84G  59% /home&lt;br /&gt;
 //zerblat/kaido$/     347G  324G   23G  94% /media/itk_kodu&lt;br /&gt;
 //zerblat/Avalik$/    347G  324G   23G  94% /media/itk_avalik&lt;br /&gt;
 /home/kakk/.Private   212G  118G   84G  59% /home/kakk&lt;br /&gt;
 kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
-a näitab kõiki (ka /proc jt)&lt;br /&gt;
-T kuvab failisüsteemi tüübi&lt;br /&gt;
&lt;br /&gt;
Võib anda ette ka failisüsteemi või konkreetse kataloogi&lt;br /&gt;
&lt;br /&gt;
du - kettakasutus&lt;br /&gt;
&lt;br /&gt;
Võtmed:&lt;br /&gt;
* -c - kogusumma&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Failisüsteemide haakimine ====&lt;br /&gt;
&lt;br /&gt;
mount&lt;br /&gt;
&lt;br /&gt;
Võtmed:&lt;br /&gt;
* -a  - kõik fstab&#039;is kirjas olevad&lt;br /&gt;
* -r - ainult lugemiseks&lt;br /&gt;
* -w (või -o rw) - lugemiseks-kirjutamiseks&lt;br /&gt;
* -t tüüp - failisüsteemi tüüp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lihtne kuju: # mount /dev/sdb7 /mnt/shared&lt;br /&gt;
&lt;br /&gt;
Haakimise hetkeseis: /etc/mtab (erinevalt fstab&#039;ist pole konfifail ja seda ei näpita!)&lt;br /&gt;
&lt;br /&gt;
Parameetreid:&lt;br /&gt;
* loop - lubab faili haakida kui partitsiooni: mount -t vfat -o loop image.img /mnt/image &lt;br /&gt;
* auto vs noauto - kas haagitakse buudil või ei (eemaldatavaid kettaid ei tasu)&lt;br /&gt;
* user vs nouser - kas kõik kasutajad või vaid root&lt;br /&gt;
* ro vs rw - read-only vs read-write&lt;br /&gt;
* umask väärtus - failisüsteemidele, mis muidu ei toeta Unixi õigustesüsteemi. N: umask 027 =&amp;gt; vaikimisi õigused 750, 022 =&amp;gt; 755 jne.&lt;br /&gt;
&lt;br /&gt;
user vs users vs owner:&lt;br /&gt;
* user - iga kasutaja võib külge haakida, lahti haakida võib vaid sama kasutaja&lt;br /&gt;
* users - igaüks võib kinni-lahti haakida&lt;br /&gt;
* owner - ainult omanik&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
umount &lt;br /&gt;
* -a 	kõik  NB!!! mitte fstab&#039;i, vaid mtab&#039;i järgi!&lt;br /&gt;
* -f 	sunnib&lt;br /&gt;
* -r    kui ei õnnestu, haagib uuesti read-only&#039;na&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Andmete reaalne kettale kirjutamine võib puhvri tõttu toimuda viivitusega - alati tuleb kettad enne eemaldamist lahti ühendada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab&lt;br /&gt;
&lt;br /&gt;
kaks viimast veergu:&lt;br /&gt;
* dumpi lipp - tänapäeval pea alati 0 (dumpi enam ei kasutata, muidu oleks 1)&lt;br /&gt;
* fsck kontroll buudi ajal - 0-ei kontrollita, 1-esmane kontroll (root part), 2-teised kontrollitavad&lt;br /&gt;
&lt;br /&gt;
CIFS-faili õigused: fstab&#039;is on parameeter credentials=/etc/creds (ja mitte otsene nimi/parool)!&lt;br /&gt;
&lt;br /&gt;
/etc/creds sel juhul (root-readable only!):&lt;br /&gt;
username=hschmidt&lt;br /&gt;
password=yiW7t9Td&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Failihaldus ===&lt;br /&gt;
&lt;br /&gt;
Failiõigused: avabiti väärtused&lt;br /&gt;
* -  - tavafail&lt;br /&gt;
* d - kataloog&lt;br /&gt;
* l - sümlink&lt;br /&gt;
* p - nimega toru&lt;br /&gt;
* s - sokkel&lt;br /&gt;
* b - blokiseade (ketas)&lt;br /&gt;
* c - märgiseade (jada- või rööppordid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
loabitid (käivad kõige ees: ntx 0750; 4750; 6750 jne):&lt;br /&gt;
* SUID - set user ID: programm jookseb mitte käivitaja, vaid omaniku õigustes. N: käivitan tavakasutajana fdiski, kui seal on SUID peale pandud&lt;br /&gt;
N: rwsr-xr-x  (s-täht sees). Väärtus: 4&lt;br /&gt;
* SGID - sama grupiga. N: wxr-sr-x. Väärtus: 2&lt;br /&gt;
* sticky - faile saab kustutada vaid nende omanik, kataloogi omanik või root. Kirjutatakse x-i kohale: rwxr-xr-t. Väärtus: 1&lt;br /&gt;
&lt;br /&gt;
SUID ja SGID on suured turvariskid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sümbolkuju:&lt;br /&gt;
* ugoa - user, group, other, all&lt;br /&gt;
* + - =  - add, remove, set&lt;br /&gt;
* rwxXstugo - read,write,execute,exec2,suid/sgid,sticky,user,group,other&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Näide&lt;br /&gt;
|-&lt;br /&gt;
! Käsk&lt;br /&gt;
! Algseis&lt;br /&gt;
! Lõppseis&lt;br /&gt;
|-&lt;br /&gt;
| chmod a+x bigprogram 	&lt;br /&gt;
| rw-r--r-- &lt;br /&gt;
| rwxr-xr-x&lt;br /&gt;
|-&lt;br /&gt;
| chmod ug=rw report.tex&lt;br /&gt;
| r-------- &lt;br /&gt;
| rw-rw---- &lt;br /&gt;
|-&lt;br /&gt;
| chmod o-rwx  bigprogram &lt;br /&gt;
| rwxrwxr-x &lt;br /&gt;
| rwxrwx---&lt;br /&gt;
|-&lt;br /&gt;
| chmod g=u report.tex &lt;br /&gt;
| rw-r--r-- &lt;br /&gt;
| rw-rw-r--&lt;br /&gt;
|-&lt;br /&gt;
| chmod g-w,o-rw report.tex &lt;br /&gt;
| rw-rw-rw- &lt;br /&gt;
| rw-r-----&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Umask ====&lt;br /&gt;
&lt;br /&gt;
* Kataloogid: 777 - mask = õigused  (022 =&amp;gt; 755)&lt;br /&gt;
* Failid: 666 - mask = õigused (022 =&amp;gt; 644)&lt;br /&gt;
&lt;br /&gt;
Tegelikult bitikaupa lahutamine, mitte tavaline: kataloogi puhul 027 =&amp;gt; 640 ja 277 =&amp;gt; 400)&lt;br /&gt;
&lt;br /&gt;
umask ja newgrp -käsud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
chattr - ainult Linuxi failisüsteemides, täiendavad õigused:&lt;br /&gt;
* -a - append, kirjutada saab ainult lisades (mitte üle)&lt;br /&gt;
* -c - compress, automaatne jooksev kinni-lahtipakkimine&lt;br /&gt;
* -i - immutable, ei saa muuta, ümber nimetada, kustutada, linkida (isegi root mitte - bitt tuleb enne maha võtta!)&lt;br /&gt;
* -j - journal (kui failisüstemem toetab) - faili žurnaalimine (kergem taastada, ent aeglane)&lt;br /&gt;
* -s - secure delete - püsikustutus (nullidega ülekirjutus)&lt;br /&gt;
* -t - no tail-merging - faili ei ümardata üle blokkide&lt;br /&gt;
* -A - no access time update - faili viimase vaatamise atribuuti ei uuendata&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kettakvoodid ====&lt;br /&gt;
&lt;br /&gt;
* 2.4 kernelid 	- v1&lt;br /&gt;
* 2.6 		- v2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab&#039;i rida: /dev/hdc5  /home   ext3   usrquota,grpquota   1  1&lt;br /&gt;
&lt;br /&gt;
Sisselülitamine (RH): chkconfig quota on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Otsing ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== find ====&lt;br /&gt;
* - name&lt;br /&gt;
* - perm&lt;br /&gt;
* - size&lt;br /&gt;
* - gid&lt;br /&gt;
* - uid&lt;br /&gt;
&lt;br /&gt;
Peamiselt root-kasutaja tööriist - ei sõida üle failiõigustest!&lt;br /&gt;
&lt;br /&gt;
==== locate ====&lt;br /&gt;
&lt;br /&gt;
* kasutab andmebaasi (vt updatedb!), kiirem ja lihtsam&lt;br /&gt;
* slocate - turvalisem, ei näita tavakasutajale asju, mida ei peaks näitama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== whereis ====&lt;br /&gt;
&lt;br /&gt;
Ainult kindlad süsteemsed kohad, mõeldud käskude leidmiseks:&lt;br /&gt;
&lt;br /&gt;
 $ whereis ls&lt;br /&gt;
 ls: /bin/ls /usr/share/man/man1/ls.1.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== which ====&lt;br /&gt;
&lt;br /&gt;
Väga nõrk otsing ainult kasutaja kataloogitee raames, tagastab leitud faili kogu kataloogitee:&lt;br /&gt;
 $ which xterm&lt;br /&gt;
 /usr/bin/xterm&lt;br /&gt;
&lt;br /&gt;
==== type ====&lt;br /&gt;
&lt;br /&gt;
kas sise- või väliskäsk, alias vmms:&lt;br /&gt;
 $ type type&lt;br /&gt;
 type is a shell builtin&lt;br /&gt;
 $ type cat&lt;br /&gt;
 cat is /bin/cat&lt;br /&gt;
 $ type ls&lt;br /&gt;
 ls is aliased to `ls --color’&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tar - t-võti on --list!&lt;br /&gt;
&lt;br /&gt;
kvootide nägemine:  repquota -a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arvuti käivitusprotsess ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LILO:  /etc/lilo.conf  (NB! peale muudatusi tuleb lilo-käsk anda)&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Single-user mode: linux 1, linux s, linux S või linux single&lt;br /&gt;
&lt;br /&gt;
GRUB: /boot/grub/menu.lst või /boot/grub/grub.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
buuditeated: dmesg (vt ka /var/log/dmesg)&lt;br /&gt;
&lt;br /&gt;
buudiprotsessi etapid:&lt;br /&gt;
# poweron, BIOS&lt;br /&gt;
# BIOS kontrollib riistvara, otsib buutsektori&lt;br /&gt;
# alglaadur&lt;br /&gt;
# käivitub kernel&lt;br /&gt;
# /sbin/init&lt;br /&gt;
# muud käivitusprogrammid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitustasemed (runlevel):&lt;br /&gt;
* 0 - üleminekutase (sisuliselt shutdown)&lt;br /&gt;
* 1 - single user&lt;br /&gt;
* 2 - Debianil (Ubuntul ka!) full multiuser w/ X, graph login. teistel defineerimata&lt;br /&gt;
* 3 - enamasti full multi user text mode&lt;br /&gt;
* 4 - enamasti defineerimata&lt;br /&gt;
* 5 - enamasti 3 + graafiline keskkond&lt;br /&gt;
* 6 - reboot&lt;br /&gt;
&lt;br /&gt;
Muidu on default level /etc/inittab-is. Ubuntul vaikimisi pole! &lt;br /&gt;
&lt;br /&gt;
Runleveli sättimise vahendid: chkconfig, ntsysv, rc-update ja update-rc.d (Ubuntul on viimane!)&lt;br /&gt;
&lt;br /&gt;
Check:  runlevel-käsk : N näitab, et level pole viimase buudiga muutunud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vahetamine: init level (N: init 3)&lt;br /&gt;
&lt;br /&gt;
telinit - kindlam ja suuremate võimalustega &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Shutdown ====&lt;br /&gt;
&lt;br /&gt;
* # shutdown now - otsekohe level 1 peale&lt;br /&gt;
* # shutdown -h +15 “system going down for maintenance” 15 minuti pärast  (saab ka kellaaja panna: 06:00)&lt;br /&gt;
&lt;br /&gt;
katkestus: # shutdown -c “never mind”&lt;br /&gt;
&lt;br /&gt;
Parameetrid:&lt;br /&gt;
* -h - halt - peatab, ei lülita välja&lt;br /&gt;
* -H - Halt - peatab, enamasti lülitab välja&lt;br /&gt;
* -r - reboot&lt;br /&gt;
* -P - poweroff&lt;br /&gt;
&lt;br /&gt;
reboot ja poweroff on tänapäeva halti sümlingid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== vi redaktor ===&lt;br /&gt;
&lt;br /&gt;
Kolm režiimi:&lt;br /&gt;
* käsurežiim: ühetähelised käsud (N: a, i ja R viivad kõik sisestusrežiimi - R on overwrite!)&lt;br /&gt;
* failirežiim: koolon + kaks tähte&lt;br /&gt;
* sisestusrežiim: Esc viib tagasi käsurežiimi&lt;br /&gt;
&lt;br /&gt;
Kui ei tea, kus oled, viib Esc alati tagasi käsurežiimi!&lt;br /&gt;
&lt;br /&gt;
* Salvestus: :w&lt;br /&gt;
* Salvesta ja välja: :wq&lt;br /&gt;
* Välja ilma salvestuseta:  :q!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU... [[LPIC-1 - Kaku konspekt 2011, 3. osa]]&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_1._osa&amp;diff=102916</id>
		<title>LPIC-1 - Kaku konspekt 2011, 1. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_1._osa&amp;diff=102916"/>
		<updated>2016-04-26T11:00:40Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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&amp;amp;qid=1299599031&amp;amp;sr=8-1 LPIC-1: Linux Professional Institute Certification Study Guide].&lt;br /&gt;
&lt;br /&gt;
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPI-101 ==&lt;br /&gt;
&lt;br /&gt;
=== bash ja käsurida ===&lt;br /&gt;
&lt;br /&gt;
Käsukestad:&lt;br /&gt;
* bash&lt;br /&gt;
* csh&lt;br /&gt;
* tcsh&lt;br /&gt;
* ksh&lt;br /&gt;
* zsh&lt;br /&gt;
&lt;br /&gt;
/bin/sh - sümlink soovitavale kestale&lt;br /&gt;
&lt;br /&gt;
Sisekäsud:&lt;br /&gt;
* cd&lt;br /&gt;
* cwd&lt;br /&gt;
* echo&lt;br /&gt;
* exec&lt;br /&gt;
* time&lt;br /&gt;
* set&lt;br /&gt;
* exit/logout&lt;br /&gt;
&lt;br /&gt;
NB! exec-iga programmi x-terminalist käivitades suletakse lõpetamisel ka xterm!&lt;br /&gt;
&lt;br /&gt;
Mõned sisekäsud on dubleeritud väliskäskudeks - sel juhul on prioriteet sisekäsul, kui pole lisatud täit kataloogiteed väliskäsuni&lt;br /&gt;
&lt;br /&gt;
Käskude tabuleerimine (tab completion) - Tab pakub käsu alguse järgi lõpusümboleid&lt;br /&gt;
&lt;br /&gt;
.history -  kättesaadav terminalis üles-noole abil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bashi kiirklahvid on võetud Emacsilt:&lt;br /&gt;
* Ctrl-A - rea algus (Home)&lt;br /&gt;
* Ctrl-E - rea lõpp (End)&lt;br /&gt;
* Ctrl-B - märk vasakule (&amp;lt;-)&lt;br /&gt;
* Ctrl-F - märk paremale (-&amp;gt;)&lt;br /&gt;
* Ctrl-Left - sõna vasakule (Esc-B)&lt;br /&gt;
* Ctrl-Right - sõna paremale (Esc-F)&lt;br /&gt;
&lt;br /&gt;
* Ctrl-D - kustutus paremalt (Del)&lt;br /&gt;
* Ctrl-K - kustutus kursorist rea lõpuni&lt;br /&gt;
* BkSp - kustutus vasakule&lt;br /&gt;
* Ctrl-X + BkSp - kustutus kursorist rea alguseni&lt;br /&gt;
&lt;br /&gt;
* Ctrl-T - vahetab kursori all oleva sümboli eelmisega&lt;br /&gt;
* Esc-T - vahetab kursori all oleva sõna eelmisega&lt;br /&gt;
&lt;br /&gt;
* Esc-U - muudab kursorist sõna lõpuni suurtähtedeks&lt;br /&gt;
* Esc-L - muudab kursorist sõna lõpuni väiketähtedeks&lt;br /&gt;
* Esc-C - muudab kursorialuse tähe suurtäheks&lt;br /&gt;
&lt;br /&gt;
* Ctrl-X + Ctrl-E - käivitab editori (määratud $EDITOR või $FCEDIT -muutujas). Varuvariant: Emacs&lt;br /&gt;
&lt;br /&gt;
history sisaldab enamasti 500 viimast käsku;  history -c puhastab&lt;br /&gt;
&lt;br /&gt;
Kasutaja sätted:  ~/.bashrc, ~/.profile&lt;br /&gt;
&lt;br /&gt;
Süsteemsed: /etc/bash.bashrc,  /etc/profile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Keskkonnamuutujad ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näide: &lt;br /&gt;
* $ NNTPSERVER=news.abigisp.com&lt;br /&gt;
* $ export NNTPSERVER&lt;br /&gt;
&lt;br /&gt;
Võib ka kokku panna: $ export NNTPSERVER=news.abigisp.com&lt;br /&gt;
&lt;br /&gt;
env - kuvab kõik muutujad!&lt;br /&gt;
&lt;br /&gt;
man &amp;lt;käsk&amp;gt;  - saab anda ka manuaali sektsiooni: &lt;br /&gt;
&lt;br /&gt;
man 5 passwd - passwd-käsu manuaali 5. sektsioon (peatükk)&lt;br /&gt;
&lt;br /&gt;
man vs info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Suunamised ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Standardsed vood (enamasti käsitletakse programmides samaväärselt andmefailidega):&lt;br /&gt;
* stdin - tüüpiliselt klaver&lt;br /&gt;
* stdout - tüüpiliselt kuvar&lt;br /&gt;
* stderr - tüüpiliselt kuvar&lt;br /&gt;
&lt;br /&gt;
S/V suunamine:&lt;br /&gt;
* käsk &amp;gt; fail.txt&lt;br /&gt;
* käsk &amp;gt; käsk&lt;br /&gt;
&lt;br /&gt;
* &amp;gt;  - loob stdout-i infost uue faili (olemasolev kirjutatakse üle)&lt;br /&gt;
* &amp;gt;&amp;gt; - lisab stdout-i info olemasolevale failile (kui pole olemas, luuakse)&lt;br /&gt;
* 2&amp;gt; - loob stderr-i infost uue faili (olemasolev kirjutatakse üle)&lt;br /&gt;
* 2&amp;gt;&amp;gt; - lisab stderr-i info olemasolevale failile (kui pole olemas, luuakse)&lt;br /&gt;
* &amp;amp;&amp;gt;  loob stdout-i JA stderr-i infost uue faili (olemasolev kirjutatakse üle)&lt;br /&gt;
* &amp;lt; - kasutab määratud faili stdin-ina&lt;br /&gt;
* &amp;lt;&amp;lt; - järgnevate ridade teksti kasutatakse stdin-ina&lt;br /&gt;
* &amp;lt;&amp;gt; - kasutab määratud faili NII stdin-i KUI stdout-ina&lt;br /&gt;
&lt;br /&gt;
/dev/null - eimiski. N: whine 2&amp;gt; /dev/null  - whine&#039;i kõik veateated visatakse ära&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt; - nimet. ka &amp;quot;here document&amp;quot; (here doc) - enamasti ainult skriptides, mitte käsureal!&lt;br /&gt;
&lt;br /&gt;
N: proge &amp;lt;&amp;lt; blah  jääb kuulama:&lt;br /&gt;
 aaa - läheb proge sisendisse&lt;br /&gt;
 bbb - see ka&lt;br /&gt;
 ccc - see ka&lt;br /&gt;
 ddd - see ka&lt;br /&gt;
 blah - lõpetab ära&lt;br /&gt;
&lt;br /&gt;
Ctrl-D - EOF-sümbol!&lt;br /&gt;
&lt;br /&gt;
tee - suunab stdout-i lisaks ka mainitud failidesse. Enamasti skriptikäsk.&lt;br /&gt;
&lt;br /&gt;
N: ls | tee blabla.txt  - ls kuvab nagu tavaliselt, kuid lisaks läheb ka faili (nagu ls ja ls &amp;gt; blabla.txt koos!)&lt;br /&gt;
&lt;br /&gt;
==== Toru ====&lt;br /&gt;
&lt;br /&gt;
Ühe käsu väljundi suunamine teise sisendisse&lt;br /&gt;
&lt;br /&gt;
esimene | teine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Backtick ====&lt;br /&gt;
&lt;br /&gt;
Kasutatakse &amp;quot;käsk käsus&amp;quot; loomiseks:&lt;br /&gt;
&lt;br /&gt;
$ rm `find ./ -name “*~”` - kustutab kõik ~-lõpulised failid&lt;br /&gt;
&lt;br /&gt;
xargs - saadab argumendid edasi:&lt;br /&gt;
&lt;br /&gt;
$ find ./ -name “*~” | xargs rm - find&#039;i argumendid söödetakse rm-käsku (rm esimene~ , rm teine~ , rm kolmas~ jne )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Tekstifiltrid ====&lt;br /&gt;
&lt;br /&gt;
cat - faili kuvamine või failide sidumine&lt;br /&gt;
&lt;br /&gt;
cat esimene teine &amp;gt; kolmas&lt;br /&gt;
&lt;br /&gt;
argumendid:&lt;br /&gt;
* -E  - näita realõpusümbolit ($)&lt;br /&gt;
* -n - nummerdab read&lt;br /&gt;
* -b - nummerdab mittetühjad read&lt;br /&gt;
* -s - asendab tühjade ridade plokid üheainsa tühja reaga&lt;br /&gt;
* -T - näitab tabulatsioone (ˇI)&lt;br /&gt;
* -v - näitab mittetrükitavaid sümboleid&lt;br /&gt;
&lt;br /&gt;
tac - cat tagurpidi, kuvab read vastupidises järjekorras&lt;br /&gt;
&lt;br /&gt;
join - ühendab failid väljade kaupa. N:&lt;br /&gt;
&lt;br /&gt;
fail nimed.txt:&lt;br /&gt;
 1. Jüri&lt;br /&gt;
 2. Mari&lt;br /&gt;
 3. Peeter&lt;br /&gt;
 4. Elmar&lt;br /&gt;
&lt;br /&gt;
fail pikkus.txt:&lt;br /&gt;
 1. 198&lt;br /&gt;
 2. 166&lt;br /&gt;
 3. 180&lt;br /&gt;
 4. 178&lt;br /&gt;
&lt;br /&gt;
Kokku:&lt;br /&gt;
 1. Jüri 198&lt;br /&gt;
 2. Mari 166&lt;br /&gt;
 3. Peeter 180&lt;br /&gt;
 4. Elmar 178&lt;br /&gt;
&lt;br /&gt;
Saab määrata ka erinevaid võtmevälju:&lt;br /&gt;
* -1 n - esimeses failis on võtmeväljaks n-es väli&lt;br /&gt;
* -2 m - teises...&lt;br /&gt;
jne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
paste - ühendab failid rida-realt:&lt;br /&gt;
 1. Jüri 198&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
NB! sed jt tekstivahendid ei muuda algset faili, vaid saadavad muudetud tulemuse kas stout-i (kuvarile) või faili!&lt;br /&gt;
&lt;br /&gt;
expand - asendab Tab-id tühikutega. Vaikimisi 8, väärtust saab lisada parameetriga expand -t number&lt;br /&gt;
&lt;br /&gt;
unexpand - vastupidine&lt;br /&gt;
&lt;br /&gt;
od (octal dump) - algselt mõeldud failide kuvamiseks kaheksandsüsteemis, aga suudab kuvada ka kuueteistkümnend- ja kümnendsüsteemi, ASCIId jmm.&lt;br /&gt;
&lt;br /&gt;
sort&lt;br /&gt;
* -f (--ignore-case) - ei erista suur- ja väiketähti&lt;br /&gt;
* -M (--month-sort) - sorteerib ingliskeelsete kolmetäheliste kuunimede järgi (JAN...DEC)&lt;br /&gt;
* -n (--numeric-sort) - arvude järgi&lt;br /&gt;
* -r (--reverse-sort) - tagurpidi&lt;br /&gt;
* -k väli (--key-field=) - võtmeväli (vaikimisi esimene). Saab panna ka kaks välja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
split - jagab faili kaheks või enamaks failiks. Ette antakse väljundfaili nimi - komponendid luuakse kujul nimiaa,nimiab,nimiac ...&lt;br /&gt;
* -b maht (--byte-size=) - komponentide maht baitides (märgipealt =&amp;gt; viimane rida enamasti poolik)&lt;br /&gt;
* -C maht (--line-bytes=) - maht ilma ridu poolitamata (kui aga rida on pikem kui etteantud suurus, poolitub ikkagi)&lt;br /&gt;
* -l maht (--lines=) - komponentide ridade arv&lt;br /&gt;
&lt;br /&gt;
N: $ split -l 2 listing1.1.txt numbers  (väljund: numbersaa,numbersab ... kahe rea kaupa)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tr - tähtede asendamine - esimesena toodud hulga tähed asendatakse teise omadega&lt;br /&gt;
&lt;br /&gt;
N: $ tr BCJ bc &amp;lt; listing1.1.txt  - sisendfailis asendatakse B b-ga, C c-ga ja J samuti c-ga (viimane saadaolev märk teises hulgas)&lt;br /&gt;
&lt;br /&gt;
erikuju: tr -d HULK - hulga elemendid kustutatakse tekstist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uniq - eemaldab topeltread&lt;br /&gt;
N: $ sort shakespeare.txt | uniq&lt;br /&gt;
 be&lt;br /&gt;
 is&lt;br /&gt;
 not&lt;br /&gt;
 or&lt;br /&gt;
 question&lt;br /&gt;
 that&lt;br /&gt;
 the&lt;br /&gt;
 to&lt;br /&gt;
&lt;br /&gt;
(eemaldati üks &#039;to&#039; ja üks &#039;be&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Failiformaatimiskäsud ====&lt;br /&gt;
&lt;br /&gt;
fmt - silub tekstifaili. Eeldab, et lõigud on eraldatud vähemalt 2 tühja rea või siis tabuleeritud. Vaikimisi reapikkus 75 märki&lt;br /&gt;
&lt;br /&gt;
nl - ridade nummerdamine (nagu cat -b, aga võimsam). &lt;br /&gt;
&lt;br /&gt;
pr - trükkimiseks ettevalmistamine (näit. päiste ja jaluste lisamine; mitu veergu jne). Peamiselt kasutatakse kombineeritud käskudes:&lt;br /&gt;
&lt;br /&gt;
N: cat kiviajamull.txt | pr --columns=2 &amp;gt; blabla.txt&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Failikuvamiskäsud ====&lt;br /&gt;
&lt;br /&gt;
cat - vt eespool&lt;br /&gt;
&lt;br /&gt;
head - kuvab stout-i faili alguse. Vaikimisi 10 esimest rida, saab määrata ka baitide (-c) või ridade (-n) arvu&lt;br /&gt;
&lt;br /&gt;
tail - sama, kuid lõpust. Kasulik logide jälgimisel (värskeimad sissekanded). Lisavõimalused:&lt;br /&gt;
* -f - jääb jälgima ja kuvab lisanduvad read&lt;br /&gt;
* -pid=nr - lõpetab -f-iga alustatud jälgimise, kui protsess nr lõpetab töö&lt;br /&gt;
&lt;br /&gt;
less - tõsisem failikuvaja.  Enamasti ei kasutata käsuahelates (liiga interaktiivne), v.a. viimase käsuna&lt;br /&gt;
* /sõna - otsing ettepoole. ainult / annab interaktiivse. n edasi, N tagasi&lt;br /&gt;
* ?sõna - sama tahapoole&lt;br /&gt;
* gNR - reale minek. N: g65&lt;br /&gt;
* h - abiinfo&lt;br /&gt;
* q - välja&lt;br /&gt;
&lt;br /&gt;
==== Kokkuvõtvad käsud ====&lt;br /&gt;
&lt;br /&gt;
cut - võimaldab filtreerida failist infot mingite tingimuste (baitide, märkide, väljade) järgi:&lt;br /&gt;
* -b - baidid&lt;br /&gt;
* -c - märgid&lt;br /&gt;
* -f - väljad&lt;br /&gt;
&lt;br /&gt;
Väärtused võivad olla konkreetsed (4), vahemikud (2-4) ja avatud vahemikud (-2, 4- - kuidas määratakse negatiivseid arve?)&lt;br /&gt;
&lt;br /&gt;
N: $ ifconfig eth0 | grep HWaddr | cut -d “ “ -f 11  - kuvab ifconfig&#039;ist MAC-aadressi&lt;br /&gt;
&lt;br /&gt;
wc - sõnaloend. Võimaldab lugeda ka ridu (-l), sõnu (-w), baite (-b) ja märke (-c).&lt;br /&gt;
&lt;br /&gt;
N: 65  372 2672 kiviajamull.txt  - 65 rida, 372 sõna, 2672 baiti/märki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Regulaaravaldised ====&lt;br /&gt;
&lt;br /&gt;
* Kantsulud - variandid. N:  b[aeiou]g - bag, beg, big, bog, bug&lt;br /&gt;
* kriips - vahemik. N:  a[2-4]z - a2z, a3z, a4z&lt;br /&gt;
* punkt - suvaline märk (peale reaalgussümboli). N: a.z - a2z, abz, aQz&lt;br /&gt;
* katus (karee) - reaalgus&lt;br /&gt;
* dollar - realõpp&lt;br /&gt;
* tärn - 0-n sümbolit&lt;br /&gt;
* pluss - 1-n sümbolit&lt;br /&gt;
* küsimärk - 0-1 sümbol&lt;br /&gt;
* kaigas - üks kahest. N: liha|kala&lt;br /&gt;
* tavasulud - alamavaldis nagu matemaatikas&lt;br /&gt;
* kurakaldkriips - paosümbol eelmiste sümbolite tavakasutuseks. N: kakupesa\.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
grep - paindlik otsinguvahend. Üldkuju: grep [valikud] regulaaravaldis [failid]&lt;br /&gt;
* -c - ridade lugemine kuvamise asemel&lt;br /&gt;
* -f failinimi - loeb regulaaravaldise failist&lt;br /&gt;
* -i - ei erista suur- ja väiketähti&lt;br /&gt;
* -r - rekursiivne otsing alamkataloogidest (võib aga ka rgrep-i kasutada)&lt;br /&gt;
* -E - kasutab laiendatud regulaaravaldist (vaikimisi on tavakujul; võib aga ka egrep&#039;i kasutada)&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
NB! Siin ja mõnel muul juhul kasutatakse jutumärke, et kest ei tõlgendaks avaldise osi enda käskudena!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sed - käsurearedaktor. Muudab faili ja saadab selle stdout&#039;i. Kaks põhikuju:&lt;br /&gt;
* sed [valikud] -f skriptifail [sisendfail]&lt;br /&gt;
* sed [valikud] skriptifail [sisendfail]&lt;br /&gt;
&lt;br /&gt;
N: $ sed ‘s/2011/2012/‘ cal-2011.txt &amp;gt; cal-2012.txt  - asendab aastanumbri ja teeb järgmise aasta kalendri&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pakihaldus ===&lt;br /&gt;
&lt;br /&gt;
RPM (RPM Package Manager, varem Redhat Package Manager)&lt;br /&gt;
&lt;br /&gt;
Paki üldkuju: packagename-a.b.c-x.arch.rpm  (a.b.c - versioon, x - build; arch - arhitektuur, v.a. lähtekoodipakil src)&lt;br /&gt;
&lt;br /&gt;
Ideaalis peaks iga pakk töötama kõigil RPM-distrodel. Reaalselt ei pruugi, kuna&lt;br /&gt;
* iga distro paigaldab erinevad RPM-i utiliidid&lt;br /&gt;
* ühe versiooni pakil võivad olla sõltuvused, mida teises pole&lt;br /&gt;
* sõltuvused võivad olla distroti eri nimedega&lt;br /&gt;
* pakkides olevad failid võivad distroti veidi erineda&lt;br /&gt;
* pakkides olevad skriptid ei pruugi ühilduda&lt;br /&gt;
&lt;br /&gt;
RPM üldine süntaks: rpm [operation][options] [package-files|package-names]&lt;br /&gt;
&lt;br /&gt;
Põhioperatsioonid:&lt;br /&gt;
* -i   - paigaldab paki, sama nimega pakki ei tohi varem olla&lt;br /&gt;
* -U  - uuendab olemasolevat või paigaldab, kui veel pole&lt;br /&gt;
* -F  - uuendab ainult siis, kui vanem versioon on olemas&lt;br /&gt;
* -q  - päring paki kohta&lt;br /&gt;
* -V  - paki kontroll&lt;br /&gt;
* -e  - eemaldab paki&lt;br /&gt;
* -b  - (vana) lähtekoodi ja konfi olemasolul ehitab binaarpaki; alates rpm 4.2-st teeb seda rpmbuild&lt;br /&gt;
* --rebuild - sama&lt;br /&gt;
* --rebuilddb - loob RPM-i andmebaasi uuesti, parandab vead&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Põhivalikud&lt;br /&gt;
|-&lt;br /&gt;
! Valik&lt;br /&gt;
! Käsud&lt;br /&gt;
! Kirjeldus&lt;br /&gt;
|-&lt;br /&gt;
| --root dir&lt;br /&gt;
| Kõik	&lt;br /&gt;
| Määrab konkreetse kataloogi juurkataloogiks&lt;br /&gt;
|-&lt;br /&gt;
| --force &lt;br /&gt;
| -i, -U, -F &lt;br /&gt;
| Sundpaigaldus (ka ülekirjutamise korral)&lt;br /&gt;
|-&lt;br /&gt;
| -h, --hash &lt;br /&gt;
| -i, -U, -F &lt;br /&gt;
| Näitab käsu täitmise edenemist #-sümbolite reaga&lt;br /&gt;
|-&lt;br /&gt;
| -v&lt;br /&gt;
| -i, -U, -F&lt;br /&gt;
| Kasutatakse koos -h-ga näitamaks iga paki kohta ühtmoodi #-de rida (-Uvh)&lt;br /&gt;
|-&lt;br /&gt;
| --nodeps&lt;br /&gt;
| -i, -U, -F, -e&lt;br /&gt;
| Eirab sõltuvusi (ohtlik!)&lt;br /&gt;
|-&lt;br /&gt;
| --test &lt;br /&gt;
| -i, -U, -F&lt;br /&gt;
| Kontrollib kõike nagu päris paigalduses, aga reaalselt ei paigalda&lt;br /&gt;
|-&lt;br /&gt;
| --prefix path&lt;br /&gt;
| -i, -U, -F 		&lt;br /&gt;
| Määrab paigalduskataloogi (toimib vaid osade pakkidega)&lt;br /&gt;
|-&lt;br /&gt;
| -a, --all &lt;br /&gt;
| -q, -V &lt;br /&gt;
| Kontrollib kõiki pakke&lt;br /&gt;
|- &lt;br /&gt;
| -f file, --file file 	&lt;br /&gt;
| -q, -V &lt;br /&gt;
| Kontrollib faili omanikuks olevat pakki&lt;br /&gt;
|-&lt;br /&gt;
| -p package-file &lt;br /&gt;
| -q&lt;br /&gt;
| Päring eemaldatud faili kohta&lt;br /&gt;
|-&lt;br /&gt;
| -i &lt;br /&gt;
| -q	&lt;br /&gt;
| Kuvab paki info&lt;br /&gt;
|-&lt;br /&gt;
| -R, --requires &lt;br /&gt;
| -q&lt;br /&gt;
| Kuvab sõltuvused (pakid ja failid)&lt;br /&gt;
|-&lt;br /&gt;
| -l, --list &lt;br /&gt;
| -q &lt;br /&gt;
| Kuvab pakis olevad failid&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
NB! Osa operatsioone tahavad paki nime (lühem), teised aga paki täis-failinime (pikem)!&lt;br /&gt;
&lt;br /&gt;
rpm -qi - põhjalikum info paki kohta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Andmete eraldamine RPMist ====&lt;br /&gt;
&lt;br /&gt;
RPM on muudetud cpio-fail (vt http://en.wikipedia.org/wiki/Cpio). &lt;br /&gt;
&lt;br /&gt;
rpm2cpio -utiliit saadab väljundi stdout&#039;i, seega tuleb suunata:&lt;br /&gt;
&lt;br /&gt;
rpm2cpio samba-server-3.0.25b-4.5mdv2008.0.src.rpm &amp;gt; samba-server-3.0.25b-4.5mdv2008.0.cpio&lt;br /&gt;
&lt;br /&gt;
seejärel cpio-fail lahti pakkida: $ cpio -i --make-directories &amp;lt; samba-server-3.0.25b-4.5mdv2008.0.cpio&lt;br /&gt;
&lt;br /&gt;
-i pakib lahti, --make-directories loob vajalikud alamkataloogid&lt;br /&gt;
&lt;br /&gt;
Võib ka ühe käsuga: $ rpm2cpio samba-server-3.0.25b-4.5mdv2008.0.src.rpm | cpio -i --make-directories&lt;br /&gt;
&lt;br /&gt;
NB! Mitte pakkida olemasoleva failisüsteemi selga! Alati peaks looma eraldi alamkataloogi - pakk võib sisaldada /etc, /usr jt hierarhiaid&lt;br /&gt;
&lt;br /&gt;
Debiani alien suudab rpm-i teha lisaks deb-ile ka tarballiks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Yum ====&lt;br /&gt;
&lt;br /&gt;
Üldkuju: yum [valikud] [käsk] [pakid]&lt;br /&gt;
&lt;br /&gt;
Põhikäsud:&lt;br /&gt;
* install  - paigaldab pakid ja nende sõltuvused&lt;br /&gt;
* update - uuendab valitud pakid - ilma argumendita paneb paika kõik uuendused&lt;br /&gt;
* check-update - näitab võimalikke uuendusi&lt;br /&gt;
* erase, remove - eemaldab&lt;br /&gt;
* upgrade - sama mis update --obsoletes, sobib versiooniuuenduseks&lt;br /&gt;
* list - paki info&lt;br /&gt;
* provides, whatprovides - konkreetse teenuse pakid. N: yum whatprovides apache&lt;br /&gt;
* search - otsing&lt;br /&gt;
* info - paki info (vrdl info-käsk)&lt;br /&gt;
* clean - puhvri puhastamine, aeg-ajalt soovitatav&lt;br /&gt;
* resolvedep - etteantud sõltuvusega pakid&lt;br /&gt;
* localinstall - kohaliku rpm-i paigaldus, sõltuvused tulevad yum&#039;i varamutest&lt;br /&gt;
* localupdate - vt eelmist&lt;br /&gt;
* deplist - sõltuvuste loend&lt;br /&gt;
* shell - yum&#039;i käsukest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! yum&#039;i kasutamine on lihtsam kui tavalise rpm&#039;i puhul, kuid süsteemi haldamine antakse rohkem distro koostaja kätte!&lt;br /&gt;
&lt;br /&gt;
yumdownloader - laeb soovitud paki alla aktiivsesse kataloogi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== RPM&#039;i ja yum&#039;i konf ====&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Peamine mõte on lisada arhitektuurivõtmeid: optflags: athlon -O2 -g -march=i686&lt;br /&gt;
&lt;br /&gt;
Yum: /etc/yum.conf + /etc/yum.repos.d/ -varamute konfid&lt;br /&gt;
&lt;br /&gt;
Red Hati/Fedora põhilised lisavaramud:&lt;br /&gt;
* Livna (http://rpm.livna.org)&lt;br /&gt;
* FreshRPMs (http://freshrpms.net)&lt;br /&gt;
* Red Hat KDE (http://kde-redhat.sourceforge.net)&lt;br /&gt;
&lt;br /&gt;
Asjalik teenus: http://rpmfind.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deb/dpkg ====&lt;br /&gt;
&lt;br /&gt;
Debian, Ubuntu, Xandros, Mepis, Libranet...&lt;br /&gt;
&lt;br /&gt;
Üldkuju: dpkg [options][action] [package-files|package-name]&lt;br /&gt;
&lt;br /&gt;
Põhikäsud:&lt;br /&gt;
* -i, --install 	paigaldus&lt;br /&gt;
* --configure 		konfib paigaldatud paki&lt;br /&gt;
* -r, --remove 		eemaldab paki, jätab konfifailid alles&lt;br /&gt;
* -P,  --purge 		eemaldab paki koos konfiga&lt;br /&gt;
* -p, --print-avail 	info paigaldatud paki kohta&lt;br /&gt;
* -I, --info 		info paigaldamata paki kohta&lt;br /&gt;
* -l &amp;lt;muster&amp;gt;, --list 	loetelu pakkidest, mille nimes esineb &amp;lt;muster&amp;gt;&lt;br /&gt;
* -L, --listfiles 	loetelu pakiga seotud paigaldatud failidest&lt;br /&gt;
* -S &amp;lt;muster&amp;gt;, --search otsing mustri järgi&lt;br /&gt;
* -C, --audit		poolikute pakkide otsing, annab soovitusi&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Võtmed&lt;br /&gt;
|-&lt;br /&gt;
| --root=dir&lt;br /&gt;
| Kõik &lt;br /&gt;
| Määrab juurkataloogi (kasulik erakorralise remondi puhul)&lt;br /&gt;
|-&lt;br /&gt;
| -B, --auto-deconfigure &lt;br /&gt;
| -r &lt;br /&gt;
| Deaktiveerib pakid, mis sõltuvad eemaldatavast pakist&lt;br /&gt;
|-&lt;br /&gt;
| --force-things&lt;br /&gt;
| Mõned	&lt;br /&gt;
| Sunnib tegevusi&lt;br /&gt;
|-&lt;br /&gt;
| --ignore-depends=package &lt;br /&gt;
| -i, -r &lt;br /&gt;
| Eirab sõltuvusi&lt;br /&gt;
|-&lt;br /&gt;
| --no-act &lt;br /&gt;
| -i, -r &lt;br /&gt;
| Kontrollib sõltuvusi ilma reaalset operatsiooni sooritamata&lt;br /&gt;
|-&lt;br /&gt;
| --recursive &lt;br /&gt;
| -i &lt;br /&gt;
| Rekursioon läbi alamkataloogide&lt;br /&gt;
|-&lt;br /&gt;
| -G &lt;br /&gt;
| -i &lt;br /&gt;
| Ei paigalda pakki, mille uuem versioon on juba paigaldatud&lt;br /&gt;
|-&lt;br /&gt;
| -E, --skip-same-version &lt;br /&gt;
| -i &lt;br /&gt;
| Ei paigalda pakki, mille sama versioon on juba paigaldatud&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mõnel juhul eeldatakse paki-, mõnel failinime. Install ja info tahavad faili, eemaldamine pakki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt-cache - mitmesugune info paki kohta:&lt;br /&gt;
* apt-cache showpkg pakinimi - &lt;br /&gt;
* apt-cache stats - pakistatistika. &lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
 kakk@aragorn:~$ sudo apt-cache stats&lt;br /&gt;
 [sudo] password for kakk: &lt;br /&gt;
 Pakettide nimesid kokku: 42027 (841k)&lt;br /&gt;
 Total package structures: 42027 (2 354k)&lt;br /&gt;
  Tavapakette: 32271&lt;br /&gt;
  Puhtalt virtuaalseid pakette: 530&lt;br /&gt;
  Üksikuid virtuaalseid pakette: 3059&lt;br /&gt;
  Kombineeritud virtuaalseid pakette: 293&lt;br /&gt;
  Puudu: 5874&lt;br /&gt;
 Kokku erinevaid versioone: 34394 (2 476k)&lt;br /&gt;
 Erinevaid kirjeldusi kokku: 34394 (825k)&lt;br /&gt;
 Sõltuvusi kokku: 222752 (6 237k)&lt;br /&gt;
 Versioonide/failide seoseid kokku: 38085 (914k)&lt;br /&gt;
 Kirjelduste/failide seoseid kokku: 34394 (825k)&lt;br /&gt;
 Total Provides mappings: 6341 (127k)&lt;br /&gt;
 Total globbed strings: 183 (2 517)&lt;br /&gt;
 Total dependency version space: 1 091k&lt;br /&gt;
 Lõtkukohti kokku: 53,4k&lt;br /&gt;
 Total space accounted for: 12,2M&lt;br /&gt;
&lt;br /&gt;
* apt-cache unmet - puuduvad sõltuvused&lt;br /&gt;
* apt-cache depends pakinimi - konkreetse paki sõltuvused&lt;br /&gt;
* apt-cache pkgnames sa - sa-ga algavad pakinimed&lt;br /&gt;
&lt;br /&gt;
==== Apt-get ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Apti allikaid ei tasu suvaliselt lisada :)&lt;br /&gt;
&lt;br /&gt;
Põhikäsud:&lt;br /&gt;
* update 			loeb sources.listi varamute uuendused&lt;br /&gt;
* upgrade 			uuendab&lt;br /&gt;
* dselect-upgrade		uuendab dselecti järel tegemata jäänud asjad*&lt;br /&gt;
* dist-upgrade 			nagu upgrade, aga parema konfliktikontrolliga (distrouuendus)&lt;br /&gt;
* install 			paigaldab paki&lt;br /&gt;
* remove 			eemaldab&lt;br /&gt;
* source			tõmbab lähtekoodipaki (failinime järgi!)&lt;br /&gt;
* check 			kontrollib pakiandmebaasi&lt;br /&gt;
* clean				puhastab puhvri&lt;br /&gt;
* autoclean			puhastab puhvri vaid vanadest failidest, mida enam kasutada ei saa&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Valikud&lt;br /&gt;
|-&lt;br /&gt;
| -d, --download-only 		&lt;br /&gt;
| upgrade, dselect-upgrade, install, source	&lt;br /&gt;
| Laeb pakid alla, kuid ei paigalda&lt;br /&gt;
|-&lt;br /&gt;
| -f, --fix-broken &lt;br /&gt;
| install, remove &lt;br /&gt;
| Üritab lahendada sõltuvused&lt;br /&gt;
|-&lt;br /&gt;
| -m, --ignore-missing, --fix-missing &lt;br /&gt;
| upgrade, dselect-upgrade, install, remove, source &lt;br /&gt;
| Eirab pakke, mille lähtekood pole saadaval&lt;br /&gt;
|-&lt;br /&gt;
| -q, --quiet &lt;br /&gt;
| Kõik	&lt;br /&gt;
| Ei näita osasid väljundeid (-qq on veel vaiksem!)&lt;br /&gt;
|-&lt;br /&gt;
| -s, --simulate, --just-print, --dry-run, --recon, --no-act &lt;br /&gt;
| Kõik	&lt;br /&gt;
| Simuleerib tegevust (reaalselt ei tee)&lt;br /&gt;
|-&lt;br /&gt;
| -y, --yes,  --assume-yes&lt;br /&gt;
| Kõik&lt;br /&gt;
| Vastab küsimustele &amp;quot;jah&amp;quot; (skriptides kasutamiseks)&lt;br /&gt;
|- &lt;br /&gt;
| -b, --compile,  --build &lt;br /&gt;
| source &lt;br /&gt;
| Laeb lähtekoodipaki alla ja kompileerib selle&lt;br /&gt;
|-&lt;br /&gt;
| --no-upgrade &lt;br /&gt;
| install &lt;br /&gt;
| Ei uuenda pakki, kui vanem versioon on juba olemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Apt - sama jutt kui RPMiga: kontroll nihkub pakendaja kätte!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dselect, aptitude - pakibrauserid (aptitude töötab apt-geti analoogina, kui anda pakid ette, ilma parameetriteta läheb interaktiivsesse režiimi). &lt;br /&gt;
&lt;br /&gt;
Graafiline analoog on Synaptic.&lt;br /&gt;
&lt;br /&gt;
aptitude - full-upgrade vs safe-upgrade, viimane on konservatiivsem&lt;br /&gt;
&lt;br /&gt;
dpkg-reconfigure - paki ümberkonfimine&lt;br /&gt;
&lt;br /&gt;
Debiani pakk koosneb eri failidest! lähtekoodi tarball, kontrollfail ja .dsc-signatuurifail (ehtsuse kontroll)&lt;br /&gt;
&lt;br /&gt;
==== Pakihaldurite konfimine ====&lt;br /&gt;
&lt;br /&gt;
dpkg konf:  /etc/dpkg/dpkg.cfg või kohalik ~/.dpkg.cfg&lt;br /&gt;
&lt;br /&gt;
apt: /etc/apt/sources.list (ja repod /etc/sources.list.d); apt&#039;i enda konf: /etc/apt/apt.conf (Ubuntul /etc/apt/apt.conf.d/ all eri failid eri rakendustele)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== alien ====&lt;br /&gt;
&lt;br /&gt;
Nõuab nii RPMi kui DPKG paigaldamist&lt;br /&gt;
&lt;br /&gt;
Üldkuju: alien [options] file[...]&lt;br /&gt;
&lt;br /&gt;
Tähtsaimad valikud: --to-deb, --to-rpm, --to-slp ja --to-tgz (3. on Stampede Linuxi pakett, suht vananenud, 2002 lõpetas töö)&lt;br /&gt;
&lt;br /&gt;
Näited:&lt;br /&gt;
* # alien --to-rpm someprogram-1.2.3-4_i386.deb - rpm-iks&lt;br /&gt;
* # alien --install binary-tarball.tar.gz  - installib ja lisab Debiani andmebaasi nagu .deb-i&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Pakikonfliktid ====&lt;br /&gt;
&lt;br /&gt;
Peamised põhjused:&lt;br /&gt;
* puuduvad teegid/utiliidid&lt;br /&gt;
* mitteühilduvad teegid/utiliidid&lt;br /&gt;
* topelt failid - mingi paki failid on teise pakiga juba paigaldatud ja ei ühildu&lt;br /&gt;
* mitteklappivad nimed&lt;br /&gt;
&lt;br /&gt;
RPM-i puhul saab jõuga:&lt;br /&gt;
* # rpm -i apackage.rpm --nodeps&lt;br /&gt;
* # rpm -i apackage.rpm --force&lt;br /&gt;
&lt;br /&gt;
DPKG puhul  --ignore-depends=package, --force-depends või --force-conflicts -parameetrid&lt;br /&gt;
&lt;br /&gt;
Vahel aitab sõltuvuspakkide uuendamine&lt;br /&gt;
&lt;br /&gt;
Vahel võib paki ümber ehitada: # rpmbuild --rebuild packagename-version.src.rpm&lt;br /&gt;
&lt;br /&gt;
Vahel saab leida paki alternatiivversiooni&lt;br /&gt;
&lt;br /&gt;
Vahel (serveritarkvara puhul) on vaja muuta käivitusskripte:  /etc/rc.d/rc.local või /etc/rc.d/boot.local&lt;br /&gt;
&lt;br /&gt;
=== Jagatud teegid ===&lt;br /&gt;
&lt;br /&gt;
näiteks libc/glibc, qt, gtk+&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
Põhimõtteliselt saaks teeke ka staatiliselt linkida, aga tulemus oleks suur ja paindumatu (uuendamine eeldaks relinki). Linux kasutab dünaamilist&lt;br /&gt;
teegisüsteemi sarnaselt Windowsi DLL-idega. Linuxis on vastavad laiendid:&lt;br /&gt;
* jagatud teek - .so või .so.versioon (n: .so.6)&lt;br /&gt;
* staatiline teek - .a&lt;br /&gt;
&lt;br /&gt;
Jagatud teegi miinused:&lt;br /&gt;
* mõningane jõudluskadu, kui teine programm juba sama teeki kasutab&lt;br /&gt;
* teegi muutmine võib tekitada ühilduvusprobleeme seda kasutavate programmidega&lt;br /&gt;
* programm ei pruugi teeki leida&lt;br /&gt;
* sõltuvustepusa&lt;br /&gt;
* teegi probleem (N: kettaviga) tekitab kogu süsteemile hirmsa kolaka&lt;br /&gt;
&lt;br /&gt;
Teekide leidmine - nime ja/või kataloogitee järgi&lt;br /&gt;
&lt;br /&gt;
Põhiline konf: /etc/ld.so.conf . Ubuntul on seal rida &amp;quot;include /etc/ld.so.conf.d/*.conf&amp;quot; - kõik conf-failid seal laetakse, nagu nad oleks juba ld.so.conf&#039;is sees&lt;br /&gt;
&lt;br /&gt;
Gentoos tuleb redigeerida /etc/env.d/ kataloogis olevaid konfifaile ja seejärel anda käsk env-update.&lt;br /&gt;
&lt;br /&gt;
Lisaks seal määratule on alati kättesaadavad ka /lib ja /usr/lib sisu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teekide asukohti saab määrata ka LD_LIBRARY_PATH -keskkonnamuutujaga:&lt;br /&gt;
&lt;br /&gt;
$ export LD_LIBRARY_PATH=/usr/local/testlib:/opt/newlib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
ldd programminimi - kuvab kõik teegid, mida programm kasutab:&lt;br /&gt;
 kakk@aragorn:~$ ldd /usr/bin/xbiff&lt;br /&gt;
 	linux-vdso.so.1 =&amp;gt;  (0x00007fff3a7ff000)&lt;br /&gt;
 	libXaw.so.7 =&amp;gt; /usr/lib/libXaw.so.7 (0x00007f4941c22000)&lt;br /&gt;
 	libXt.so.6 =&amp;gt; /usr/lib/libXt.so.6 (0x00007f49419bd000)&lt;br /&gt;
 	...&lt;br /&gt;
&lt;br /&gt;
ldconfig - laeb teekide puhvri uuesti (vajalik peale muutusi). Nii RPM kui DPKG teevad seda automaatselt. Saab ka eri parameetreid kasutada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Protsessihaldus ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== uname ====&lt;br /&gt;
&lt;br /&gt;
Kerneliprotsessi info&lt;br /&gt;
&lt;br /&gt;
Põhiparameetrid:&lt;br /&gt;
* -n, --nodename - hostinime kuvamine&lt;br /&gt;
* -s, --kernel-name - kerneli nimi (enamasti Linux)&lt;br /&gt;
* -v, --kernel-version  - kerneli versioon (algselt kuvas kompileerimise aega)&lt;br /&gt;
* -r, --kernel-release - kerneli väljalase&lt;br /&gt;
* -m, --machine - arvuti info (enamasti arhitektuur: x86_64)&lt;br /&gt;
* -p, --processor  - prose info (enamasti näitab paljudel juhtudel unknown)&lt;br /&gt;
* -i, --hardware-platform - riistvaraplatvorm (enamasti unknown)&lt;br /&gt;
* -o, --operating-system - OS  (GNU/Linux)&lt;br /&gt;
* -a, --all - kogu saadaolev info (kõik kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ps ==== &lt;br /&gt;
&lt;br /&gt;
Protsessikäsk. Hirmus hulk parameetreid, kolm klassi:&lt;br /&gt;
* Unix98 valikud - ühetähelised, võib grupeerida, algavad ÜHE kriipsuga (-)&lt;br /&gt;
* BSD valikud - ühetähelised, võib grupeerida, algavad ILMA kriipsuta&lt;br /&gt;
* GNU pikad valikud - mitmetähelised, ei grupeerita, algavad KAHE kriipsuga (--)&lt;br /&gt;
&lt;br /&gt;
PS_PERSONALITY keskkonnamuutuja määrab PS-i käitumise: posix, old, linux, bsd, sun, digital jt&lt;br /&gt;
&lt;br /&gt;
Peamised Linuxi ps-käsud:&lt;br /&gt;
* ps - konkreetse terminali kõik protsessid&lt;br /&gt;
* abiinfo - ps --help&lt;br /&gt;
* kuva kõik protsessid - ps -A või ps -e&lt;br /&gt;
* kuva kõik aktiivse kasutaja protsessid - ps -x&lt;br /&gt;
* kuva kõik konkreetse kasutaja protsessid: ps -u kasutaja, ps U kasutaja või ps --user kasutaja (võib olla kasutajanimi või ID)&lt;br /&gt;
* täiendav info:  -f, -l, j, l, u ja v võtmed&lt;br /&gt;
* protsesside hierarhia: -H, -f ja --forest -võtmed&lt;br /&gt;
* lai väljund (üle 80 märgi): -w ja w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näidatav info:&lt;br /&gt;
* kasutajanimi&lt;br /&gt;
* protsessi ID&lt;br /&gt;
* ülemprotsessi (vanema) ID&lt;br /&gt;
* TTY (terminal)&lt;br /&gt;
* protsessori ajakasutus&lt;br /&gt;
* protsessori prioriteet&lt;br /&gt;
* mälukasutus&lt;br /&gt;
* käivituskäsk&lt;br /&gt;
&lt;br /&gt;
NB! init &amp;quot;adopteerib&amp;quot; orbudeks jäänud (ülemprotsess lõppenud) protsessid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== top ====&lt;br /&gt;
&lt;br /&gt;
ps-i dünaamiline variant. Tavaliselt kasutatakse interaktiivselt ilma argumentideta, aga saab ka anda parameetreid&lt;br /&gt;
&lt;br /&gt;
Eriti kasulik on protsessoriaja jälgimine (load average)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
jobs - jooksva sessiooniga seotud protsessid. Kasulik vahel PID leidmiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Tausta- ja esiplaaniprotsessid ====&lt;br /&gt;
&lt;br /&gt;
Ctrl-Z peatab terminalis jooksva protsessi ja vabastab terminali&lt;br /&gt;
&lt;br /&gt;
fg jätkab uuesti (kui mitu on peatatud, siis fg number)&lt;br /&gt;
&lt;br /&gt;
bg jätkab taustal&lt;br /&gt;
&lt;br /&gt;
käsk &amp;amp; käivitab taustal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== nice ====&lt;br /&gt;
&lt;br /&gt;
Määrab protsessi prioriteetsuse:&lt;br /&gt;
&lt;br /&gt;
nice [argument] [command [command-arguments]]&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
$ nice -12 number-crunch data.txt  - käivitab number-crunch&#039;i, andmed võetakse data.txt&#039;ist&lt;br /&gt;
&lt;br /&gt;
Tavaprioriteet on 0. vahemik on -20-st 19-ni, negatiivsed on kõrgema prioriteediga. Prioriteetseid protsesse (alla 0) saab käivitada vaid root, &lt;br /&gt;
madalamaid prioriteete iga kasutaja (N: wine puhul oli -5). Kasutaja saab muuta vaid oma protsesside prioriteete ja ainult madalamaks!&lt;br /&gt;
&lt;br /&gt;
Töö käigus saab prioriteeti muuta: renice priority [[-p] pids] [[-g] pgrps] [[-u] users]&lt;br /&gt;
&lt;br /&gt;
N: # renice 7 16580 -u pdavison tbaker - protsess 16580 ja kõik kahe kasutaja protsessid saavad prioriteedi 7.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Protsessi tapmine ====&lt;br /&gt;
&lt;br /&gt;
kill - võib olla nii sise- kui väliskäsk, viimase jaoks tuleks anda koos teega /bin/kill&lt;br /&gt;
&lt;br /&gt;
Üldkuju: kill -s signaal PID&lt;br /&gt;
&lt;br /&gt;
Signaalide loetelu: kill -l&lt;br /&gt;
&lt;br /&gt;
signaali võib anda nii nime kui numbri järgi. Enamlevinud:&lt;br /&gt;
* 1 - SIGHUP, tapab interaktiivsed programmid&lt;br /&gt;
* 9 - SIGKILL, räige kohene surm ilma shutdown&#039;ita&lt;br /&gt;
* 15 - SIGTERM, pehmem, üritab failid sulgeda jne. Vaikimisi valik!&lt;br /&gt;
&lt;br /&gt;
lühikuju: kill -signaalilõpp PID  (ilma SIGita: HUP, KILL, TERM jne)&lt;br /&gt;
&lt;br /&gt;
Root saab killida kõike, muud ainult omi protsesse&lt;br /&gt;
&lt;br /&gt;
nohup programm [valikud]  - käivitab nii, et SIGHUPiga tappa ei saa (eiratakse)&lt;br /&gt;
&lt;br /&gt;
killall - nime järgi killimine. -i parameeter küsib:&lt;br /&gt;
 kakk@aragorn:~$ killall -i firefox-bin&lt;br /&gt;
 Kill firefox-bin(8074) ? (y/N) y&lt;br /&gt;
 kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
NB!!! Mõnes muus Unixis tapab killall KÕIK SELLE KASUTAJA PROTSESSID!!! Ettevaatust...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2011, 2. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2&amp;diff=102915</id>
		<title>LPIC-1 - Kaku konspekt 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2&amp;diff=102915"/>
		<updated>2016-04-26T10:59:46Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt 2 to LPIC-1 - Kaku konspekt 2011, 2. osa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[LPIC-1 - Kaku konspekt 2011, 2. osa]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_2._osa&amp;diff=102914</id>
		<title>LPIC-1 - Kaku konspekt 2011, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_2._osa&amp;diff=102914"/>
		<updated>2016-04-26T10:59:45Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt 2 to LPIC-1 - Kaku konspekt 2011, 2. osa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU... [[LPIC-1 - Kaku konspekt 2011, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Riistvara ===&lt;br /&gt;
&lt;br /&gt;
BIOS - EEPROM ehk taaskasutatav püsimälu (flash memory)&lt;br /&gt;
&lt;br /&gt;
POST - power-on self test&lt;br /&gt;
&lt;br /&gt;
POST =&amp;gt; riistvaratest =&amp;gt; alglaaduri laadimine andmekandjalt =&amp;gt; alglaaduri käivitus =&amp;gt; OS käivitus&lt;br /&gt;
&lt;br /&gt;
Apple&#039;il on BIOSi asemel OpenFirmware (PowerPC) või EFI (Intel Macs)&lt;br /&gt;
&lt;br /&gt;
BIOS setup - F1, F2, F10, Esc, Del vmm klahv&lt;br /&gt;
&lt;br /&gt;
Arvuti käivitus ilma klaverita - kbd check BIOSist välja lülitada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Katkestused (IRQ) ====&lt;br /&gt;
&lt;br /&gt;
i386 puhul 0-15, x86_64 jt puhul on neid veel&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| 0 &lt;br /&gt;
| Süsteemikell&lt;br /&gt;
| Reserveeritud sisemiseks kasutuseks&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| Klaviatuur&lt;br /&gt;
| Reserveeritud klaviatuurile&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| Katkestused 8–15 &lt;br /&gt;
| Algselt suutis x86 hallata vaid 8 katkestust, see oli ülemiste katkestuste jaoks&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| Teine RS-232 jadaliides (Windowsis COM2)&lt;br /&gt;
| Võib ka olla jagatud neljanda jadaliidesega (kui see olemas on)&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Esimene RS-232 jadaliides (Windowsis COM1)&lt;br /&gt;
| Võib ka olla jagatud kolmanda jadaliidesega (kui see olemas on) &lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| Helikaart või teine rööpliides (Windowsis LPT2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| Disketiseade &lt;br /&gt;
| Reserveeritud esimesele disketiseadmele&lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| Esimene rööpliides (Windowsis LPT1)&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| Reaalajakell &lt;br /&gt;
| Reserveeritud süsteemikellale&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| Vaba&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| Vaba&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 11 &lt;br /&gt;
| Vaba&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 12 &lt;br /&gt;
| PS/2 hiir&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 13 &lt;br /&gt;
| Kaasprotsessor&lt;br /&gt;
| Reserveeritud süsteemile&lt;br /&gt;
|-&lt;br /&gt;
| 14 &lt;br /&gt;
| Esimene ATA liides &lt;br /&gt;
| ATA seadmete (kõvakettad - Linuxis enamasti /dev/hda ja /dev/hdb) kontroller&lt;br /&gt;
|-&lt;br /&gt;
| 15 &lt;br /&gt;
| Teine ATA liides &lt;br /&gt;
| ATA seadmete (kõvakettad - Linuxis enamasti /dev/hdc ja /dev/hdd) kontroller&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Põhiline konfliktiallikas on 5 - helikaardid ja teine paralleelport!&lt;br /&gt;
&lt;br /&gt;
Linuxis näitab  cat /proc/interrupts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/proc - virtuaalne failisüsteem: mitte päris failid, vaid failisüsteemina esitatav kerneli info (riistvara, protsessid jne).  Paljud utiliidid kasutavad seda, kuid cat&#039;iga vmm moel saab ka otse vaadata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== I/O aadressid ====&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Linuxis&lt;br /&gt;
! Windows  &lt;br /&gt;
! Tüüpiline IRQ&lt;br /&gt;
! I/O Aadress&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS0 &lt;br /&gt;
| COM1&lt;br /&gt;
| 4 &lt;br /&gt;
| 0x03f8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS1 &lt;br /&gt;
| COM2	&lt;br /&gt;
| 3 &lt;br /&gt;
| 0x02f8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS2 &lt;br /&gt;
| COM3 &lt;br /&gt;
| 4 &lt;br /&gt;
| 0x03e8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS3 &lt;br /&gt;
| COM4 &lt;br /&gt;
| 3 &lt;br /&gt;
| 0x02e8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/lp0 &lt;br /&gt;
| LPT1 &lt;br /&gt;
| 7 &lt;br /&gt;
| 0x0378-0x037f&lt;br /&gt;
| /dev/lp1 	&lt;br /&gt;
| LPT2 &lt;br /&gt;
| 5 &lt;br /&gt;
| 0x0278-0x027f&lt;br /&gt;
|-&lt;br /&gt;
| /dev/fd0 &lt;br /&gt;
| A: &lt;br /&gt;
| 6 &lt;br /&gt;
| 0x03f0-0x03f7&lt;br /&gt;
| /dev/fd1 &lt;br /&gt;
| B: &lt;br /&gt;
| 6 &lt;br /&gt;
| 0x0370-0x0377&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vahel kasutatakse vananenud tähistust /dev/cuax - seega /dev/cua0 = /dev/ttyS0&lt;br /&gt;
&lt;br /&gt;
cat /proc/ioports&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Igasugust ====&lt;br /&gt;
&lt;br /&gt;
DMA (Direct Memory Addressing) cat /proc/dma&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CHS geomeetria vs dünaamiline &lt;br /&gt;
&lt;br /&gt;
cold vs hot plug &lt;br /&gt;
&lt;br /&gt;
Hotplug-seadmed =&amp;gt; /sys (sysfs)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAL (Hardware Abstraction Layer) daemon - jooksev info saadaolevate välisseadmete kohta&lt;br /&gt;
&lt;br /&gt;
D-Bus  (Desktop Bus) daemon - ditto&lt;br /&gt;
&lt;br /&gt;
udev - virtuaalne failisüsteem /dev all, mõeldud hotplug-seadmetele&lt;br /&gt;
&lt;br /&gt;
NB! RS-232 (COM) ja paralleelpordi (LPT) seadmed on tegelikult coldplugged - tegelikult peaks reboodi tegema!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PCI konfiks: lspci ja setpci&lt;br /&gt;
&lt;br /&gt;
* -v   - detailsem info (-vv ja -vvv &amp;quot;lobiseb&amp;quot; veel enam!)&lt;br /&gt;
* -n   - info esitatakse arvkoodina (ei tõlgita tootjanimedeks)&lt;br /&gt;
* -nn  - näitab nii arvkoode kui nimesid&lt;br /&gt;
* -x   - kuvab 16-ndkoodis seadmeinfo (hirmus abrakadabra). Eriti kreisid inimesed panevad -xxx või -xxxx ...&lt;br /&gt;
* -b   - kuvab andmeid seadmete, mitte kerneli vaates&lt;br /&gt;
* -t 	- kuvab seadmete suhtepuu&lt;br /&gt;
* -s     - kuvab etteantud spetsifikatsiooniga seadmed&lt;br /&gt;
* -i file - kasutab etteantud faili seamenimede jaoks (vaikimisi võetakse /usr/share/misc/pci.ids.)&lt;br /&gt;
* -m 	- masinloetavas vormingus andmed skriptide jaoks. -m on vanem, -mm uuem vorming.&lt;br /&gt;
* -D    -  näitab PCI domeeninumbreid&lt;br /&gt;
* -M	 - skaneerib seadmeid siinirežiimis, võib aidata leida möödakonfitud ja seetõttu nähtamatuid seadmeid&lt;br /&gt;
* --version - versiooniinfo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kerneli moodulid ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lsmod - kuvab ainult moodulite info, mitte aga draivereid, mis on otse kernelisse kompileeritud!&lt;br /&gt;
&lt;br /&gt;
# insmod /lib/modules/2.6.26/kernel/drivers/block/floppy.ko&lt;br /&gt;
&lt;br /&gt;
NB! Täisnimi koos kataloogiteega!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
modprobe - laeb mooduli koos sõltuvustega&lt;br /&gt;
&lt;br /&gt;
# modprobe floppy&lt;br /&gt;
&lt;br /&gt;
Põhivalikud:&lt;br /&gt;
* -v, --verbose - kuvab lisainfot&lt;br /&gt;
* -C failinimi - kohandatud konfifail (vaikimisi /etc/modprobe.conf)&lt;br /&gt;
* -n, --dry-run  - simuleeritud moodulilisamine (reaalselt ei lisa)&lt;br /&gt;
* -r, --remove - eemaldab mooduli koos sõltuvustega (v.a. juhul, kui sõltuvused on teiste poolt kasutuses)&lt;br /&gt;
* -f, --force - jõuga lisamine&lt;br /&gt;
* --show-depends - näitab mooduli sõltuvusi&lt;br /&gt;
* -l, --list -    näitab saadaolevaid mooduleid&lt;br /&gt;
&lt;br /&gt;
rmmod - mooduli eemaldamine&lt;br /&gt;
&lt;br /&gt;
Põhivalikud:&lt;br /&gt;
* -v, --verbose - kuvab lisainfot&lt;br /&gt;
* -f, --force - jõuga eemaldamine&lt;br /&gt;
* -w, --wait - kui moodul on kasutuses, ei anna veateadet, vaid ootab kasutuse lõppemist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== USB ====&lt;br /&gt;
&lt;br /&gt;
* USB 1.0 ja 1.1 - kuni 127 seadet, 12Mbps&lt;br /&gt;
* USB 2.0 - kuni 480Mbps&lt;br /&gt;
&lt;br /&gt;
lsusb &lt;br /&gt;
&lt;br /&gt;
Uuemal ajal on USB seadmed ühendatud /proc/bus/usb/001, 002, 003 jne &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kõvakettad ====&lt;br /&gt;
&lt;br /&gt;
* (P)ATA - paralleelkaabel, 40 või 80 juhet&lt;br /&gt;
* SATA - jadakaabel, 7 juhet?&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
Uuemal ajal võidakse ka ATA kettaid tähistada nagu SCSI omi (sda)&lt;br /&gt;
&lt;br /&gt;
Välised USB- ja Firewire (IEEE1394) kettad - nagu SCSI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettamajandus ===&lt;br /&gt;
&lt;br /&gt;
==== Kettajaotised (partitsioonid) ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Enamikku andmekandjaid käsitletakse võrdväärselt kõvaketastega (USB ja ZIP kettad). Ei partitsioneerita plaate, MO-kettaid ja flopisid!&lt;br /&gt;
&lt;br /&gt;
fdisk -l /dev/hdx (vastav nr) näitab reeglina, kas on partitsioneeritav või ei&lt;br /&gt;
&lt;br /&gt;
Enamik PC-sid kasutab x86 partitsioneerimist, osa AMD64 ja Inteli Macid aga GUID GPT (Globally Unique Identifier Partition Table) süsteemi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPT partitsioone on kindlam töödelda GNU Parted&#039;iga, mitte fdiskiga&lt;br /&gt;
&lt;br /&gt;
LVM - ei kuulu otseselt programmi. Aga konkreetne soovitus: kui kasutada, tuleb jätta /boot (või / koos buudiga) väljapoole LVM-i (nagu Kakupesas!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Jaotisteskeem&lt;br /&gt;
|-&lt;br /&gt;
| Saaleala (ei haagita) &lt;br /&gt;
| 1,5–2 korda põhimälu&lt;br /&gt;
| &amp;quot;Mälupikendus&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| /home	&lt;br /&gt;
| 200MB–1000GB &lt;br /&gt;
| Kasutajate failid, eraldi jaotis võimaldab süsteemi uuendada ilma kasutajaandmeid ringi tõstmata&lt;br /&gt;
|-&lt;br /&gt;
| /boot &lt;br /&gt;
| 20–200MB &lt;br /&gt;
| Käivitusfailid. Eraldi hoidmine eriti arukas vanematel masinatel&lt;br /&gt;
|-&lt;br /&gt;
| /usr &lt;br /&gt;
| 500MB–10GB &lt;br /&gt;
| Põhiline tarkvara&lt;br /&gt;
|-&lt;br /&gt;
| /usr/local &lt;br /&gt;
| 100MB–3GB &lt;br /&gt;
| Unikaalne (enamasti isekompileeritud) tarkvara&lt;br /&gt;
|-&lt;br /&gt;
| /opt 	&lt;br /&gt;
| 100MB–5GB &lt;br /&gt;
| Distroväline (kolmanda osapoole) tarkvara&lt;br /&gt;
|-&lt;br /&gt;
| /var &lt;br /&gt;
| 100MB–500GB &lt;br /&gt;
| Logid, e-post, veeb, andmebaasid&lt;br /&gt;
|-&lt;br /&gt;
| /tmp &lt;br /&gt;
| 100MB–20GB &lt;br /&gt;
| Ajutised failid&lt;br /&gt;
|-&lt;br /&gt;
| /mnt &lt;br /&gt;
| N/A &lt;br /&gt;
| Väliste andmekandjate haakepunkt&lt;br /&gt;
|-&lt;br /&gt;
| /media&lt;br /&gt;
| N/A&lt;br /&gt;
| Väliste andmekandjate haakepunkt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failisüsteemi loomine kettale: # mkfs -t ext3 /dev/hda6&lt;br /&gt;
&lt;br /&gt;
NB! mõnel juhul tasub reserveeritud ruum (žurnaali jaoks; ca 5% kettast) ära jätta - lisada -m 0 -võti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saaleala tegemine: &lt;br /&gt;
* # mkswap /dev/hda7&lt;br /&gt;
* # swapon /dev/hda7&lt;br /&gt;
&lt;br /&gt;
Püsiva jaoks tuleb /etc/fstab&#039;is ära kirjeldada!&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==== Diagnostika ====&lt;br /&gt;
&lt;br /&gt;
dumpe2fs -h &amp;lt;jaotis&amp;gt; N: dumpe2fs -h /dev/sda1&lt;br /&gt;
&lt;br /&gt;
tune2fs&lt;br /&gt;
&lt;br /&gt;
debugfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fsck / e2fsck&lt;br /&gt;
&lt;br /&gt;
Põhivalikud:&lt;br /&gt;
* fsck -A  - kõik /etc/fstab-is kirjas olevad failisüsteemid&lt;br /&gt;
* fsck -C - progressinäidik&lt;br /&gt;
* fsck -V - rohkem juttu&lt;br /&gt;
* fsck -N - simulatsioon (ilma reaalse tegevuseta)&lt;br /&gt;
&lt;br /&gt;
Tavaliselt võib jooksutada lihtsalt fsck &amp;lt;failisüsteem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
df - ketta täituvus&lt;br /&gt;
&lt;br /&gt;
hea võti - -h näitab kordseid ühikuid:&lt;br /&gt;
&lt;br /&gt;
 kakk@aragorn:~$ df -h&lt;br /&gt;
 Failisüsteem            Size  Used Avail Use% Haagitud&lt;br /&gt;
 /dev/sda2              16G   12G  3,1G  80% /&lt;br /&gt;
 none                  2,0G  288K  2,0G   1% /dev&lt;br /&gt;
 none                  2,0G  172K  2,0G   1% /dev/shm &lt;br /&gt;
 none                  2,0G  308K  2,0G   1% /var/run&lt;br /&gt;
 none                  2,0G     0  2,0G   0% /var/lock&lt;br /&gt;
 /dev/sda3             212G  118G   84G  59% /home&lt;br /&gt;
 //zerblat/kaido$/     347G  324G   23G  94% /media/itk_kodu&lt;br /&gt;
 //zerblat/Avalik$/    347G  324G   23G  94% /media/itk_avalik&lt;br /&gt;
 /home/kakk/.Private   212G  118G   84G  59% /home/kakk&lt;br /&gt;
 kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
-a näitab kõiki (ka /proc jt)&lt;br /&gt;
-T kuvab failisüsteemi tüübi&lt;br /&gt;
&lt;br /&gt;
Võib anda ette ka failisüsteemi või konkreetse kataloogi&lt;br /&gt;
&lt;br /&gt;
du - kettakasutus&lt;br /&gt;
&lt;br /&gt;
Võtmed:&lt;br /&gt;
* -c - kogusumma&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Failisüsteemide haakimine ====&lt;br /&gt;
&lt;br /&gt;
mount&lt;br /&gt;
&lt;br /&gt;
Võtmed:&lt;br /&gt;
* -a  - kõik fstab&#039;is kirjas olevad&lt;br /&gt;
* -r - ainult lugemiseks&lt;br /&gt;
* -w (või -o rw) - lugemiseks-kirjutamiseks&lt;br /&gt;
* -t tüüp - failisüsteemi tüüp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lihtne kuju: # mount /dev/sdb7 /mnt/shared&lt;br /&gt;
&lt;br /&gt;
Haakimise hetkeseis: /etc/mtab (erinevalt fstab&#039;ist pole konfifail ja seda ei näpita!)&lt;br /&gt;
&lt;br /&gt;
Parameetreid:&lt;br /&gt;
* loop - lubab faili haakida kui partitsiooni: mount -t vfat -o loop image.img /mnt/image &lt;br /&gt;
* auto vs noauto - kas haagitakse buudil või ei (eemaldatavaid kettaid ei tasu)&lt;br /&gt;
* user vs nouser - kas kõik kasutajad või vaid root&lt;br /&gt;
* ro vs rw - read-only vs read-write&lt;br /&gt;
* umask väärtus - failisüsteemidele, mis muidu ei toeta Unixi õigustesüsteemi. N: umask 027 =&amp;gt; vaikimisi õigused 750, 022 =&amp;gt; 755 jne.&lt;br /&gt;
&lt;br /&gt;
user vs users vs owner:&lt;br /&gt;
* user - iga kasutaja võib külge haakida, lahti haakida võib vaid sama kasutaja&lt;br /&gt;
* users - igaüks võib kinni-lahti haakida&lt;br /&gt;
* owner - ainult omanik&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
umount &lt;br /&gt;
* -a 	kõik  NB!!! mitte fstab&#039;i, vaid mtab&#039;i järgi!&lt;br /&gt;
* -f 	sunnib&lt;br /&gt;
* -r    kui ei õnnestu, haagib uuesti read-only&#039;na&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Andmete reaalne kettale kirjutamine võib puhvri tõttu toimuda viivitusega - alati tuleb kettad enne eemaldamist lahti ühendada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab&lt;br /&gt;
&lt;br /&gt;
kaks viimast veergu:&lt;br /&gt;
* dumpi lipp - tänapäeval pea alati 0 (dumpi enam ei kasutata, muidu oleks 1)&lt;br /&gt;
* fsck kontroll buudi ajal - 0-ei kontrollita, 1-esmane kontroll (root part), 2-teised kontrollitavad&lt;br /&gt;
&lt;br /&gt;
CIFS-faili õigused: fstab&#039;is on parameeter credentials=/etc/creds (ja mitte otsene nimi/parool)!&lt;br /&gt;
&lt;br /&gt;
/etc/creds sel juhul (root-readable only!):&lt;br /&gt;
username=hschmidt&lt;br /&gt;
password=yiW7t9Td&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Failihaldus ===&lt;br /&gt;
&lt;br /&gt;
Failiõigused: avabiti väärtused&lt;br /&gt;
* -  - tavafail&lt;br /&gt;
* d - kataloog&lt;br /&gt;
* l - sümlink&lt;br /&gt;
* p - nimega toru&lt;br /&gt;
* s - sokkel&lt;br /&gt;
* b - blokiseade (ketas)&lt;br /&gt;
* c - märgiseade (jada- või rööppordid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
loabitid (käivad kõige ees: ntx 0750; 4750; 6750 jne):&lt;br /&gt;
* SUID - set user ID: programm jookseb mitte käivitaja, vaid omaniku õigustes. N: käivitan tavakasutajana fdiski, kui seal on SUID peale pandud&lt;br /&gt;
N: rwsr-xr-x  (s-täht sees). Väärtus: 4&lt;br /&gt;
* SGID - sama grupiga. N: wxr-sr-x. Väärtus: 2&lt;br /&gt;
* sticky - faile saab kustutada vaid nende omanik, kataloogi omanik või root. Kirjutatakse x-i kohale: rwxr-xr-t. Väärtus: 1&lt;br /&gt;
&lt;br /&gt;
SUID ja SGID on suured turvariskid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sümbolkuju:&lt;br /&gt;
* ugoa - user, group, other, all&lt;br /&gt;
* + - =  - add, remove, set&lt;br /&gt;
* rwxXstugo - read,write,execute,exec2,suid/sgid,sticky,user,group,other&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Näide&lt;br /&gt;
|-&lt;br /&gt;
! Käsk&lt;br /&gt;
! Algseis&lt;br /&gt;
! Lõppseis&lt;br /&gt;
|-&lt;br /&gt;
| chmod a+x bigprogram 	&lt;br /&gt;
| rw-r--r-- &lt;br /&gt;
| rwxr-xr-x&lt;br /&gt;
|-&lt;br /&gt;
| chmod ug=rw report.tex&lt;br /&gt;
| r-------- &lt;br /&gt;
| rw-rw---- &lt;br /&gt;
|-&lt;br /&gt;
| chmod o-rwx  bigprogram &lt;br /&gt;
| rwxrwxr-x &lt;br /&gt;
| rwxrwx---&lt;br /&gt;
|-&lt;br /&gt;
| chmod g=u report.tex &lt;br /&gt;
| rw-r--r-- &lt;br /&gt;
| rw-rw-r--&lt;br /&gt;
|-&lt;br /&gt;
| chmod g-w,o-rw report.tex &lt;br /&gt;
| rw-rw-rw- &lt;br /&gt;
| rw-r-----&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Umask ====&lt;br /&gt;
&lt;br /&gt;
* Kataloogid: 777 - mask = õigused  (022 =&amp;gt; 755)&lt;br /&gt;
* Failid: 666 - mask = õigused (022 =&amp;gt; 644)&lt;br /&gt;
&lt;br /&gt;
Tegelikult bitikaupa lahutamine, mitte tavaline: kataloogi puhul 027 =&amp;gt; 640 ja 277 =&amp;gt; 400)&lt;br /&gt;
&lt;br /&gt;
umask ja newgrp -käsud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
chattr - ainult Linuxi failisüsteemides, täiendavad õigused:&lt;br /&gt;
* -a - append, kirjutada saab ainult lisades (mitte üle)&lt;br /&gt;
* -c - compress, automaatne jooksev kinni-lahtipakkimine&lt;br /&gt;
* -i - immutable, ei saa muuta, ümber nimetada, kustutada, linkida (isegi root mitte - bitt tuleb enne maha võtta!)&lt;br /&gt;
* -j - journal (kui failisüstemem toetab) - faili žurnaalimine (kergem taastada, ent aeglane)&lt;br /&gt;
* -s - secure delete - püsikustutus (nullidega ülekirjutus)&lt;br /&gt;
* -t - no tail-merging - faili ei ümardata üle blokkide&lt;br /&gt;
* -A - no access time update - faili viimase vaatamise atribuuti ei uuendata&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kettakvoodid ====&lt;br /&gt;
&lt;br /&gt;
* 2.4 kernelid 	- v1&lt;br /&gt;
* 2.6 		- v2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab&#039;i rida: /dev/hdc5  /home   ext3   usrquota,grpquota   1  1&lt;br /&gt;
&lt;br /&gt;
Sisselülitamine (RH): chkconfig quota on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Otsing ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== find ====&lt;br /&gt;
* - name&lt;br /&gt;
* - perm&lt;br /&gt;
* - size&lt;br /&gt;
* - gid&lt;br /&gt;
* - uid&lt;br /&gt;
&lt;br /&gt;
Peamiselt root-kasutaja tööriist - ei sõida üle failiõigustest!&lt;br /&gt;
&lt;br /&gt;
==== locate ====&lt;br /&gt;
&lt;br /&gt;
* kasutab andmebaasi (vt updatedb!), kiirem ja lihtsam&lt;br /&gt;
* slocate - turvalisem, ei näita tavakasutajale asju, mida ei peaks näitama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== whereis ====&lt;br /&gt;
&lt;br /&gt;
Ainult kindlad süsteemsed kohad, mõeldud käskude leidmiseks:&lt;br /&gt;
&lt;br /&gt;
 $ whereis ls&lt;br /&gt;
 ls: /bin/ls /usr/share/man/man1/ls.1.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== which ====&lt;br /&gt;
&lt;br /&gt;
Väga nõrk otsing ainult kasutaja kataloogitee raames, tagastab leitud faili kogu kataloogitee:&lt;br /&gt;
 $ which xterm&lt;br /&gt;
 /usr/bin/xterm&lt;br /&gt;
&lt;br /&gt;
==== type ====&lt;br /&gt;
&lt;br /&gt;
kas sise- või väliskäsk, alias vmms:&lt;br /&gt;
 $ type type&lt;br /&gt;
 type is a shell builtin&lt;br /&gt;
 $ type cat&lt;br /&gt;
 cat is /bin/cat&lt;br /&gt;
 $ type ls&lt;br /&gt;
 ls is aliased to `ls --color’&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tar - t-võti on --list!&lt;br /&gt;
&lt;br /&gt;
kvootide nägemine:  repquota -a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arvuti käivitusprotsess ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LILO:  /etc/lilo.conf  (NB! peale muudatusi tuleb lilo-käsk anda)&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Single-user mode: linux 1, linux s, linux S või linux single&lt;br /&gt;
&lt;br /&gt;
GRUB: /boot/grub/menu.lst või /boot/grub/grub.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
buuditeated: dmesg (vt ka /var/log/dmesg)&lt;br /&gt;
&lt;br /&gt;
buudiprotsessi etapid:&lt;br /&gt;
# poweron, BIOS&lt;br /&gt;
# BIOS kontrollib riistvara, otsib buutsektori&lt;br /&gt;
# alglaadur&lt;br /&gt;
# käivitub kernel&lt;br /&gt;
# /sbin/init&lt;br /&gt;
# muud käivitusprogrammid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitustasemed (runlevel):&lt;br /&gt;
* 0 - üleminekutase (sisuliselt shutdown)&lt;br /&gt;
* 1 - single user&lt;br /&gt;
* 2 - Debianil (Ubuntul ka!) full multiuser w/ X, graph login. teistel defineerimata&lt;br /&gt;
* 3 - enamasti full multi user text mode&lt;br /&gt;
* 4 - enamasti defineerimata&lt;br /&gt;
* 5 - enamasti 3 + graafiline keskkond&lt;br /&gt;
* 6 - reboot&lt;br /&gt;
&lt;br /&gt;
Muidu on default level /etc/inittab-is. Ubuntul vaikimisi pole! &lt;br /&gt;
&lt;br /&gt;
Runleveli sättimise vahendid: chkconfig, ntsysv, rc-update ja update-rc.d (Ubuntul on viimane!)&lt;br /&gt;
&lt;br /&gt;
Check:  runlevel-käsk : N näitab, et level pole viimase buudiga muutunud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vahetamine: init level (N: init 3)&lt;br /&gt;
&lt;br /&gt;
telinit - kindlam ja suuremate võimalustega &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Shutdown ====&lt;br /&gt;
&lt;br /&gt;
* # shutdown now - otsekohe level 1 peale&lt;br /&gt;
* # shutdown -h +15 “system going down for maintenance” 15 minuti pärast  (saab ka kellaaja panna: 06:00)&lt;br /&gt;
&lt;br /&gt;
katkestus: # shutdown -c “never mind”&lt;br /&gt;
&lt;br /&gt;
Parameetrid:&lt;br /&gt;
* -h - halt - peatab, ei lülita välja&lt;br /&gt;
* -H - Halt - peatab, enamasti lülitab välja&lt;br /&gt;
* -r - reboot&lt;br /&gt;
* -P - poweroff&lt;br /&gt;
&lt;br /&gt;
reboot ja poweroff on tänapäeva halti sümlingid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== vi redaktor ===&lt;br /&gt;
&lt;br /&gt;
Kolm režiimi:&lt;br /&gt;
* käsurežiim: ühetähelised käsud (N: a, i ja R viivad kõik sisestusrežiimi - R on overwrite!)&lt;br /&gt;
* failirežiim: koolon + kaks tähte&lt;br /&gt;
* sisestusrežiim: Esc viib tagasi käsurežiimi&lt;br /&gt;
&lt;br /&gt;
Kui ei tea, kus oled, viib Esc alati tagasi käsurežiimi!&lt;br /&gt;
&lt;br /&gt;
* Salvestus: :w&lt;br /&gt;
* Salvesta ja välja: :wq&lt;br /&gt;
* Välja ilma salvestuseta:  :q!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU... [[LPIC-1 - Kaku konspekt 3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_2._osa&amp;diff=102913</id>
		<title>LPIC-1 - Kaku konspekt 2011, 2. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_2._osa&amp;diff=102913"/>
		<updated>2016-04-26T10:59:26Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;JÄTKUU... [[LPIC-1 - Kaku konspekt 2011, 1. osa]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Riistvara ===&lt;br /&gt;
&lt;br /&gt;
BIOS - EEPROM ehk taaskasutatav püsimälu (flash memory)&lt;br /&gt;
&lt;br /&gt;
POST - power-on self test&lt;br /&gt;
&lt;br /&gt;
POST =&amp;gt; riistvaratest =&amp;gt; alglaaduri laadimine andmekandjalt =&amp;gt; alglaaduri käivitus =&amp;gt; OS käivitus&lt;br /&gt;
&lt;br /&gt;
Apple&#039;il on BIOSi asemel OpenFirmware (PowerPC) või EFI (Intel Macs)&lt;br /&gt;
&lt;br /&gt;
BIOS setup - F1, F2, F10, Esc, Del vmm klahv&lt;br /&gt;
&lt;br /&gt;
Arvuti käivitus ilma klaverita - kbd check BIOSist välja lülitada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Katkestused (IRQ) ====&lt;br /&gt;
&lt;br /&gt;
i386 puhul 0-15, x86_64 jt puhul on neid veel&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| 0 &lt;br /&gt;
| Süsteemikell&lt;br /&gt;
| Reserveeritud sisemiseks kasutuseks&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| Klaviatuur&lt;br /&gt;
| Reserveeritud klaviatuurile&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| Katkestused 8–15 &lt;br /&gt;
| Algselt suutis x86 hallata vaid 8 katkestust, see oli ülemiste katkestuste jaoks&lt;br /&gt;
|-&lt;br /&gt;
| 3 &lt;br /&gt;
| Teine RS-232 jadaliides (Windowsis COM2)&lt;br /&gt;
| Võib ka olla jagatud neljanda jadaliidesega (kui see olemas on)&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Esimene RS-232 jadaliides (Windowsis COM1)&lt;br /&gt;
| Võib ka olla jagatud kolmanda jadaliidesega (kui see olemas on) &lt;br /&gt;
|-&lt;br /&gt;
| 5 &lt;br /&gt;
| Helikaart või teine rööpliides (Windowsis LPT2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 6 &lt;br /&gt;
| Disketiseade &lt;br /&gt;
| Reserveeritud esimesele disketiseadmele&lt;br /&gt;
|-&lt;br /&gt;
| 7 &lt;br /&gt;
| Esimene rööpliides (Windowsis LPT1)&lt;br /&gt;
|-&lt;br /&gt;
| 8 &lt;br /&gt;
| Reaalajakell &lt;br /&gt;
| Reserveeritud süsteemikellale&lt;br /&gt;
|-&lt;br /&gt;
| 9 &lt;br /&gt;
| Vaba&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| Vaba&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 11 &lt;br /&gt;
| Vaba&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 12 &lt;br /&gt;
| PS/2 hiir&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 13 &lt;br /&gt;
| Kaasprotsessor&lt;br /&gt;
| Reserveeritud süsteemile&lt;br /&gt;
|-&lt;br /&gt;
| 14 &lt;br /&gt;
| Esimene ATA liides &lt;br /&gt;
| ATA seadmete (kõvakettad - Linuxis enamasti /dev/hda ja /dev/hdb) kontroller&lt;br /&gt;
|-&lt;br /&gt;
| 15 &lt;br /&gt;
| Teine ATA liides &lt;br /&gt;
| ATA seadmete (kõvakettad - Linuxis enamasti /dev/hdc ja /dev/hdd) kontroller&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Põhiline konfliktiallikas on 5 - helikaardid ja teine paralleelport!&lt;br /&gt;
&lt;br /&gt;
Linuxis näitab  cat /proc/interrupts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/proc - virtuaalne failisüsteem: mitte päris failid, vaid failisüsteemina esitatav kerneli info (riistvara, protsessid jne).  Paljud utiliidid kasutavad seda, kuid cat&#039;iga vmm moel saab ka otse vaadata.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== I/O aadressid ====&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Linuxis&lt;br /&gt;
! Windows  &lt;br /&gt;
! Tüüpiline IRQ&lt;br /&gt;
! I/O Aadress&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS0 &lt;br /&gt;
| COM1&lt;br /&gt;
| 4 &lt;br /&gt;
| 0x03f8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS1 &lt;br /&gt;
| COM2	&lt;br /&gt;
| 3 &lt;br /&gt;
| 0x02f8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS2 &lt;br /&gt;
| COM3 &lt;br /&gt;
| 4 &lt;br /&gt;
| 0x03e8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/ttyS3 &lt;br /&gt;
| COM4 &lt;br /&gt;
| 3 &lt;br /&gt;
| 0x02e8&lt;br /&gt;
|-&lt;br /&gt;
| /dev/lp0 &lt;br /&gt;
| LPT1 &lt;br /&gt;
| 7 &lt;br /&gt;
| 0x0378-0x037f&lt;br /&gt;
| /dev/lp1 	&lt;br /&gt;
| LPT2 &lt;br /&gt;
| 5 &lt;br /&gt;
| 0x0278-0x027f&lt;br /&gt;
|-&lt;br /&gt;
| /dev/fd0 &lt;br /&gt;
| A: &lt;br /&gt;
| 6 &lt;br /&gt;
| 0x03f0-0x03f7&lt;br /&gt;
| /dev/fd1 &lt;br /&gt;
| B: &lt;br /&gt;
| 6 &lt;br /&gt;
| 0x0370-0x0377&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vahel kasutatakse vananenud tähistust /dev/cuax - seega /dev/cua0 = /dev/ttyS0&lt;br /&gt;
&lt;br /&gt;
cat /proc/ioports&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Igasugust ====&lt;br /&gt;
&lt;br /&gt;
DMA (Direct Memory Addressing) cat /proc/dma&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CHS geomeetria vs dünaamiline &lt;br /&gt;
&lt;br /&gt;
cold vs hot plug &lt;br /&gt;
&lt;br /&gt;
Hotplug-seadmed =&amp;gt; /sys (sysfs)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HAL (Hardware Abstraction Layer) daemon - jooksev info saadaolevate välisseadmete kohta&lt;br /&gt;
&lt;br /&gt;
D-Bus  (Desktop Bus) daemon - ditto&lt;br /&gt;
&lt;br /&gt;
udev - virtuaalne failisüsteem /dev all, mõeldud hotplug-seadmetele&lt;br /&gt;
&lt;br /&gt;
NB! RS-232 (COM) ja paralleelpordi (LPT) seadmed on tegelikult coldplugged - tegelikult peaks reboodi tegema!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PCI konfiks: lspci ja setpci&lt;br /&gt;
&lt;br /&gt;
* -v   - detailsem info (-vv ja -vvv &amp;quot;lobiseb&amp;quot; veel enam!)&lt;br /&gt;
* -n   - info esitatakse arvkoodina (ei tõlgita tootjanimedeks)&lt;br /&gt;
* -nn  - näitab nii arvkoode kui nimesid&lt;br /&gt;
* -x   - kuvab 16-ndkoodis seadmeinfo (hirmus abrakadabra). Eriti kreisid inimesed panevad -xxx või -xxxx ...&lt;br /&gt;
* -b   - kuvab andmeid seadmete, mitte kerneli vaates&lt;br /&gt;
* -t 	- kuvab seadmete suhtepuu&lt;br /&gt;
* -s     - kuvab etteantud spetsifikatsiooniga seadmed&lt;br /&gt;
* -i file - kasutab etteantud faili seamenimede jaoks (vaikimisi võetakse /usr/share/misc/pci.ids.)&lt;br /&gt;
* -m 	- masinloetavas vormingus andmed skriptide jaoks. -m on vanem, -mm uuem vorming.&lt;br /&gt;
* -D    -  näitab PCI domeeninumbreid&lt;br /&gt;
* -M	 - skaneerib seadmeid siinirežiimis, võib aidata leida möödakonfitud ja seetõttu nähtamatuid seadmeid&lt;br /&gt;
* --version - versiooniinfo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kerneli moodulid ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lsmod - kuvab ainult moodulite info, mitte aga draivereid, mis on otse kernelisse kompileeritud!&lt;br /&gt;
&lt;br /&gt;
# insmod /lib/modules/2.6.26/kernel/drivers/block/floppy.ko&lt;br /&gt;
&lt;br /&gt;
NB! Täisnimi koos kataloogiteega!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
modprobe - laeb mooduli koos sõltuvustega&lt;br /&gt;
&lt;br /&gt;
# modprobe floppy&lt;br /&gt;
&lt;br /&gt;
Põhivalikud:&lt;br /&gt;
* -v, --verbose - kuvab lisainfot&lt;br /&gt;
* -C failinimi - kohandatud konfifail (vaikimisi /etc/modprobe.conf)&lt;br /&gt;
* -n, --dry-run  - simuleeritud moodulilisamine (reaalselt ei lisa)&lt;br /&gt;
* -r, --remove - eemaldab mooduli koos sõltuvustega (v.a. juhul, kui sõltuvused on teiste poolt kasutuses)&lt;br /&gt;
* -f, --force - jõuga lisamine&lt;br /&gt;
* --show-depends - näitab mooduli sõltuvusi&lt;br /&gt;
* -l, --list -    näitab saadaolevaid mooduleid&lt;br /&gt;
&lt;br /&gt;
rmmod - mooduli eemaldamine&lt;br /&gt;
&lt;br /&gt;
Põhivalikud:&lt;br /&gt;
* -v, --verbose - kuvab lisainfot&lt;br /&gt;
* -f, --force - jõuga eemaldamine&lt;br /&gt;
* -w, --wait - kui moodul on kasutuses, ei anna veateadet, vaid ootab kasutuse lõppemist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== USB ====&lt;br /&gt;
&lt;br /&gt;
* USB 1.0 ja 1.1 - kuni 127 seadet, 12Mbps&lt;br /&gt;
* USB 2.0 - kuni 480Mbps&lt;br /&gt;
&lt;br /&gt;
lsusb &lt;br /&gt;
&lt;br /&gt;
Uuemal ajal on USB seadmed ühendatud /proc/bus/usb/001, 002, 003 jne &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kõvakettad ====&lt;br /&gt;
&lt;br /&gt;
* (P)ATA - paralleelkaabel, 40 või 80 juhet&lt;br /&gt;
* SATA - jadakaabel, 7 juhet?&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
Uuemal ajal võidakse ka ATA kettaid tähistada nagu SCSI omi (sda)&lt;br /&gt;
&lt;br /&gt;
Välised USB- ja Firewire (IEEE1394) kettad - nagu SCSI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kettamajandus ===&lt;br /&gt;
&lt;br /&gt;
==== Kettajaotised (partitsioonid) ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Enamikku andmekandjaid käsitletakse võrdväärselt kõvaketastega (USB ja ZIP kettad). Ei partitsioneerita plaate, MO-kettaid ja flopisid!&lt;br /&gt;
&lt;br /&gt;
fdisk -l /dev/hdx (vastav nr) näitab reeglina, kas on partitsioneeritav või ei&lt;br /&gt;
&lt;br /&gt;
Enamik PC-sid kasutab x86 partitsioneerimist, osa AMD64 ja Inteli Macid aga GUID GPT (Globally Unique Identifier Partition Table) süsteemi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPT partitsioone on kindlam töödelda GNU Parted&#039;iga, mitte fdiskiga&lt;br /&gt;
&lt;br /&gt;
LVM - ei kuulu otseselt programmi. Aga konkreetne soovitus: kui kasutada, tuleb jätta /boot (või / koos buudiga) väljapoole LVM-i (nagu Kakupesas!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Jaotisteskeem&lt;br /&gt;
|-&lt;br /&gt;
| Saaleala (ei haagita) &lt;br /&gt;
| 1,5–2 korda põhimälu&lt;br /&gt;
| &amp;quot;Mälupikendus&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| /home	&lt;br /&gt;
| 200MB–1000GB &lt;br /&gt;
| Kasutajate failid, eraldi jaotis võimaldab süsteemi uuendada ilma kasutajaandmeid ringi tõstmata&lt;br /&gt;
|-&lt;br /&gt;
| /boot &lt;br /&gt;
| 20–200MB &lt;br /&gt;
| Käivitusfailid. Eraldi hoidmine eriti arukas vanematel masinatel&lt;br /&gt;
|-&lt;br /&gt;
| /usr &lt;br /&gt;
| 500MB–10GB &lt;br /&gt;
| Põhiline tarkvara&lt;br /&gt;
|-&lt;br /&gt;
| /usr/local &lt;br /&gt;
| 100MB–3GB &lt;br /&gt;
| Unikaalne (enamasti isekompileeritud) tarkvara&lt;br /&gt;
|-&lt;br /&gt;
| /opt 	&lt;br /&gt;
| 100MB–5GB &lt;br /&gt;
| Distroväline (kolmanda osapoole) tarkvara&lt;br /&gt;
|-&lt;br /&gt;
| /var &lt;br /&gt;
| 100MB–500GB &lt;br /&gt;
| Logid, e-post, veeb, andmebaasid&lt;br /&gt;
|-&lt;br /&gt;
| /tmp &lt;br /&gt;
| 100MB–20GB &lt;br /&gt;
| Ajutised failid&lt;br /&gt;
|-&lt;br /&gt;
| /mnt &lt;br /&gt;
| N/A &lt;br /&gt;
| Väliste andmekandjate haakepunkt&lt;br /&gt;
|-&lt;br /&gt;
| /media&lt;br /&gt;
| N/A&lt;br /&gt;
| Väliste andmekandjate haakepunkt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failisüsteemi loomine kettale: # mkfs -t ext3 /dev/hda6&lt;br /&gt;
&lt;br /&gt;
NB! mõnel juhul tasub reserveeritud ruum (žurnaali jaoks; ca 5% kettast) ära jätta - lisada -m 0 -võti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saaleala tegemine: &lt;br /&gt;
* # mkswap /dev/hda7&lt;br /&gt;
* # swapon /dev/hda7&lt;br /&gt;
&lt;br /&gt;
Püsiva jaoks tuleb /etc/fstab&#039;is ära kirjeldada!&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==== Diagnostika ====&lt;br /&gt;
&lt;br /&gt;
dumpe2fs -h &amp;lt;jaotis&amp;gt; N: dumpe2fs -h /dev/sda1&lt;br /&gt;
&lt;br /&gt;
tune2fs&lt;br /&gt;
&lt;br /&gt;
debugfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fsck / e2fsck&lt;br /&gt;
&lt;br /&gt;
Põhivalikud:&lt;br /&gt;
* fsck -A  - kõik /etc/fstab-is kirjas olevad failisüsteemid&lt;br /&gt;
* fsck -C - progressinäidik&lt;br /&gt;
* fsck -V - rohkem juttu&lt;br /&gt;
* fsck -N - simulatsioon (ilma reaalse tegevuseta)&lt;br /&gt;
&lt;br /&gt;
Tavaliselt võib jooksutada lihtsalt fsck &amp;lt;failisüsteem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
df - ketta täituvus&lt;br /&gt;
&lt;br /&gt;
hea võti - -h näitab kordseid ühikuid:&lt;br /&gt;
&lt;br /&gt;
 kakk@aragorn:~$ df -h&lt;br /&gt;
 Failisüsteem            Size  Used Avail Use% Haagitud&lt;br /&gt;
 /dev/sda2              16G   12G  3,1G  80% /&lt;br /&gt;
 none                  2,0G  288K  2,0G   1% /dev&lt;br /&gt;
 none                  2,0G  172K  2,0G   1% /dev/shm &lt;br /&gt;
 none                  2,0G  308K  2,0G   1% /var/run&lt;br /&gt;
 none                  2,0G     0  2,0G   0% /var/lock&lt;br /&gt;
 /dev/sda3             212G  118G   84G  59% /home&lt;br /&gt;
 //zerblat/kaido$/     347G  324G   23G  94% /media/itk_kodu&lt;br /&gt;
 //zerblat/Avalik$/    347G  324G   23G  94% /media/itk_avalik&lt;br /&gt;
 /home/kakk/.Private   212G  118G   84G  59% /home/kakk&lt;br /&gt;
 kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
-a näitab kõiki (ka /proc jt)&lt;br /&gt;
-T kuvab failisüsteemi tüübi&lt;br /&gt;
&lt;br /&gt;
Võib anda ette ka failisüsteemi või konkreetse kataloogi&lt;br /&gt;
&lt;br /&gt;
du - kettakasutus&lt;br /&gt;
&lt;br /&gt;
Võtmed:&lt;br /&gt;
* -c - kogusumma&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Failisüsteemide haakimine ====&lt;br /&gt;
&lt;br /&gt;
mount&lt;br /&gt;
&lt;br /&gt;
Võtmed:&lt;br /&gt;
* -a  - kõik fstab&#039;is kirjas olevad&lt;br /&gt;
* -r - ainult lugemiseks&lt;br /&gt;
* -w (või -o rw) - lugemiseks-kirjutamiseks&lt;br /&gt;
* -t tüüp - failisüsteemi tüüp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lihtne kuju: # mount /dev/sdb7 /mnt/shared&lt;br /&gt;
&lt;br /&gt;
Haakimise hetkeseis: /etc/mtab (erinevalt fstab&#039;ist pole konfifail ja seda ei näpita!)&lt;br /&gt;
&lt;br /&gt;
Parameetreid:&lt;br /&gt;
* loop - lubab faili haakida kui partitsiooni: mount -t vfat -o loop image.img /mnt/image &lt;br /&gt;
* auto vs noauto - kas haagitakse buudil või ei (eemaldatavaid kettaid ei tasu)&lt;br /&gt;
* user vs nouser - kas kõik kasutajad või vaid root&lt;br /&gt;
* ro vs rw - read-only vs read-write&lt;br /&gt;
* umask väärtus - failisüsteemidele, mis muidu ei toeta Unixi õigustesüsteemi. N: umask 027 =&amp;gt; vaikimisi õigused 750, 022 =&amp;gt; 755 jne.&lt;br /&gt;
&lt;br /&gt;
user vs users vs owner:&lt;br /&gt;
* user - iga kasutaja võib külge haakida, lahti haakida võib vaid sama kasutaja&lt;br /&gt;
* users - igaüks võib kinni-lahti haakida&lt;br /&gt;
* owner - ainult omanik&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
umount &lt;br /&gt;
* -a 	kõik  NB!!! mitte fstab&#039;i, vaid mtab&#039;i järgi!&lt;br /&gt;
* -f 	sunnib&lt;br /&gt;
* -r    kui ei õnnestu, haagib uuesti read-only&#039;na&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! Andmete reaalne kettale kirjutamine võib puhvri tõttu toimuda viivitusega - alati tuleb kettad enne eemaldamist lahti ühendada!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab&lt;br /&gt;
&lt;br /&gt;
kaks viimast veergu:&lt;br /&gt;
* dumpi lipp - tänapäeval pea alati 0 (dumpi enam ei kasutata, muidu oleks 1)&lt;br /&gt;
* fsck kontroll buudi ajal - 0-ei kontrollita, 1-esmane kontroll (root part), 2-teised kontrollitavad&lt;br /&gt;
&lt;br /&gt;
CIFS-faili õigused: fstab&#039;is on parameeter credentials=/etc/creds (ja mitte otsene nimi/parool)!&lt;br /&gt;
&lt;br /&gt;
/etc/creds sel juhul (root-readable only!):&lt;br /&gt;
username=hschmidt&lt;br /&gt;
password=yiW7t9Td&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Failihaldus ===&lt;br /&gt;
&lt;br /&gt;
Failiõigused: avabiti väärtused&lt;br /&gt;
* -  - tavafail&lt;br /&gt;
* d - kataloog&lt;br /&gt;
* l - sümlink&lt;br /&gt;
* p - nimega toru&lt;br /&gt;
* s - sokkel&lt;br /&gt;
* b - blokiseade (ketas)&lt;br /&gt;
* c - märgiseade (jada- või rööppordid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
loabitid (käivad kõige ees: ntx 0750; 4750; 6750 jne):&lt;br /&gt;
* SUID - set user ID: programm jookseb mitte käivitaja, vaid omaniku õigustes. N: käivitan tavakasutajana fdiski, kui seal on SUID peale pandud&lt;br /&gt;
N: rwsr-xr-x  (s-täht sees). Väärtus: 4&lt;br /&gt;
* SGID - sama grupiga. N: wxr-sr-x. Väärtus: 2&lt;br /&gt;
* sticky - faile saab kustutada vaid nende omanik, kataloogi omanik või root. Kirjutatakse x-i kohale: rwxr-xr-t. Väärtus: 1&lt;br /&gt;
&lt;br /&gt;
SUID ja SGID on suured turvariskid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sümbolkuju:&lt;br /&gt;
* ugoa - user, group, other, all&lt;br /&gt;
* + - =  - add, remove, set&lt;br /&gt;
* rwxXstugo - read,write,execute,exec2,suid/sgid,sticky,user,group,other&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Näide&lt;br /&gt;
|-&lt;br /&gt;
! Käsk&lt;br /&gt;
! Algseis&lt;br /&gt;
! Lõppseis&lt;br /&gt;
|-&lt;br /&gt;
| chmod a+x bigprogram 	&lt;br /&gt;
| rw-r--r-- &lt;br /&gt;
| rwxr-xr-x&lt;br /&gt;
|-&lt;br /&gt;
| chmod ug=rw report.tex&lt;br /&gt;
| r-------- &lt;br /&gt;
| rw-rw---- &lt;br /&gt;
|-&lt;br /&gt;
| chmod o-rwx  bigprogram &lt;br /&gt;
| rwxrwxr-x &lt;br /&gt;
| rwxrwx---&lt;br /&gt;
|-&lt;br /&gt;
| chmod g=u report.tex &lt;br /&gt;
| rw-r--r-- &lt;br /&gt;
| rw-rw-r--&lt;br /&gt;
|-&lt;br /&gt;
| chmod g-w,o-rw report.tex &lt;br /&gt;
| rw-rw-rw- &lt;br /&gt;
| rw-r-----&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Umask ====&lt;br /&gt;
&lt;br /&gt;
* Kataloogid: 777 - mask = õigused  (022 =&amp;gt; 755)&lt;br /&gt;
* Failid: 666 - mask = õigused (022 =&amp;gt; 644)&lt;br /&gt;
&lt;br /&gt;
Tegelikult bitikaupa lahutamine, mitte tavaline: kataloogi puhul 027 =&amp;gt; 640 ja 277 =&amp;gt; 400)&lt;br /&gt;
&lt;br /&gt;
umask ja newgrp -käsud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
chattr - ainult Linuxi failisüsteemides, täiendavad õigused:&lt;br /&gt;
* -a - append, kirjutada saab ainult lisades (mitte üle)&lt;br /&gt;
* -c - compress, automaatne jooksev kinni-lahtipakkimine&lt;br /&gt;
* -i - immutable, ei saa muuta, ümber nimetada, kustutada, linkida (isegi root mitte - bitt tuleb enne maha võtta!)&lt;br /&gt;
* -j - journal (kui failisüstemem toetab) - faili žurnaalimine (kergem taastada, ent aeglane)&lt;br /&gt;
* -s - secure delete - püsikustutus (nullidega ülekirjutus)&lt;br /&gt;
* -t - no tail-merging - faili ei ümardata üle blokkide&lt;br /&gt;
* -A - no access time update - faili viimase vaatamise atribuuti ei uuendata&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Kettakvoodid ====&lt;br /&gt;
&lt;br /&gt;
* 2.4 kernelid 	- v1&lt;br /&gt;
* 2.6 		- v2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fstab&#039;i rida: /dev/hdc5  /home   ext3   usrquota,grpquota   1  1&lt;br /&gt;
&lt;br /&gt;
Sisselülitamine (RH): chkconfig quota on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Otsing ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== find ====&lt;br /&gt;
* - name&lt;br /&gt;
* - perm&lt;br /&gt;
* - size&lt;br /&gt;
* - gid&lt;br /&gt;
* - uid&lt;br /&gt;
&lt;br /&gt;
Peamiselt root-kasutaja tööriist - ei sõida üle failiõigustest!&lt;br /&gt;
&lt;br /&gt;
==== locate ====&lt;br /&gt;
&lt;br /&gt;
* kasutab andmebaasi (vt updatedb!), kiirem ja lihtsam&lt;br /&gt;
* slocate - turvalisem, ei näita tavakasutajale asju, mida ei peaks näitama&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== whereis ====&lt;br /&gt;
&lt;br /&gt;
Ainult kindlad süsteemsed kohad, mõeldud käskude leidmiseks:&lt;br /&gt;
&lt;br /&gt;
 $ whereis ls&lt;br /&gt;
 ls: /bin/ls /usr/share/man/man1/ls.1.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== which ====&lt;br /&gt;
&lt;br /&gt;
Väga nõrk otsing ainult kasutaja kataloogitee raames, tagastab leitud faili kogu kataloogitee:&lt;br /&gt;
 $ which xterm&lt;br /&gt;
 /usr/bin/xterm&lt;br /&gt;
&lt;br /&gt;
==== type ====&lt;br /&gt;
&lt;br /&gt;
kas sise- või väliskäsk, alias vmms:&lt;br /&gt;
 $ type type&lt;br /&gt;
 type is a shell builtin&lt;br /&gt;
 $ type cat&lt;br /&gt;
 cat is /bin/cat&lt;br /&gt;
 $ type ls&lt;br /&gt;
 ls is aliased to `ls --color’&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tar - t-võti on --list!&lt;br /&gt;
&lt;br /&gt;
kvootide nägemine:  repquota -a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arvuti käivitusprotsess ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LILO:  /etc/lilo.conf  (NB! peale muudatusi tuleb lilo-käsk anda)&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Single-user mode: linux 1, linux s, linux S või linux single&lt;br /&gt;
&lt;br /&gt;
GRUB: /boot/grub/menu.lst või /boot/grub/grub.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
buuditeated: dmesg (vt ka /var/log/dmesg)&lt;br /&gt;
&lt;br /&gt;
buudiprotsessi etapid:&lt;br /&gt;
# poweron, BIOS&lt;br /&gt;
# BIOS kontrollib riistvara, otsib buutsektori&lt;br /&gt;
# alglaadur&lt;br /&gt;
# käivitub kernel&lt;br /&gt;
# /sbin/init&lt;br /&gt;
# muud käivitusprogrammid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitustasemed (runlevel):&lt;br /&gt;
* 0 - üleminekutase (sisuliselt shutdown)&lt;br /&gt;
* 1 - single user&lt;br /&gt;
* 2 - Debianil (Ubuntul ka!) full multiuser w/ X, graph login. teistel defineerimata&lt;br /&gt;
* 3 - enamasti full multi user text mode&lt;br /&gt;
* 4 - enamasti defineerimata&lt;br /&gt;
* 5 - enamasti 3 + graafiline keskkond&lt;br /&gt;
* 6 - reboot&lt;br /&gt;
&lt;br /&gt;
Muidu on default level /etc/inittab-is. Ubuntul vaikimisi pole! &lt;br /&gt;
&lt;br /&gt;
Runleveli sättimise vahendid: chkconfig, ntsysv, rc-update ja update-rc.d (Ubuntul on viimane!)&lt;br /&gt;
&lt;br /&gt;
Check:  runlevel-käsk : N näitab, et level pole viimase buudiga muutunud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vahetamine: init level (N: init 3)&lt;br /&gt;
&lt;br /&gt;
telinit - kindlam ja suuremate võimalustega &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Shutdown ====&lt;br /&gt;
&lt;br /&gt;
* # shutdown now - otsekohe level 1 peale&lt;br /&gt;
* # shutdown -h +15 “system going down for maintenance” 15 minuti pärast  (saab ka kellaaja panna: 06:00)&lt;br /&gt;
&lt;br /&gt;
katkestus: # shutdown -c “never mind”&lt;br /&gt;
&lt;br /&gt;
Parameetrid:&lt;br /&gt;
* -h - halt - peatab, ei lülita välja&lt;br /&gt;
* -H - Halt - peatab, enamasti lülitab välja&lt;br /&gt;
* -r - reboot&lt;br /&gt;
* -P - poweroff&lt;br /&gt;
&lt;br /&gt;
reboot ja poweroff on tänapäeva halti sümlingid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== vi redaktor ===&lt;br /&gt;
&lt;br /&gt;
Kolm režiimi:&lt;br /&gt;
* käsurežiim: ühetähelised käsud (N: a, i ja R viivad kõik sisestusrežiimi - R on overwrite!)&lt;br /&gt;
* failirežiim: koolon + kaks tähte&lt;br /&gt;
* sisestusrežiim: Esc viib tagasi käsurežiimi&lt;br /&gt;
&lt;br /&gt;
Kui ei tea, kus oled, viib Esc alati tagasi käsurežiimi!&lt;br /&gt;
&lt;br /&gt;
* Salvestus: :w&lt;br /&gt;
* Salvesta ja välja: :wq&lt;br /&gt;
* Välja ilma salvestuseta:  :q!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU... [[LPIC-1 - Kaku konspekt 3]]&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt&amp;diff=102912</id>
		<title>LPIC-1 - Kaku konspekt</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt&amp;diff=102912"/>
		<updated>2016-04-26T10:58:26Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt to LPIC-1 - Kaku konspekt 2011, 1. osa: Vanale lisandub uus&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[LPIC-1 - Kaku konspekt 2011, 1. osa]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_1._osa&amp;diff=102911</id>
		<title>LPIC-1 - Kaku konspekt 2011, 1. osa</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPIC-1_-_Kaku_konspekt_2011,_1._osa&amp;diff=102911"/>
		<updated>2016-04-26T10:58:25Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page LPIC-1 - Kaku konspekt to LPIC-1 - Kaku konspekt 2011, 1. osa: Vanale lisandub uus&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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&amp;amp;qid=1299599031&amp;amp;sr=8-1 LPIC-1: Linux Professional Institute Certification Study Guide].&lt;br /&gt;
&lt;br /&gt;
Diskleimer: otseseid vastuseid päris eksamiküsimustele on eksamireeglite järgi keelatud levitada. Seetõttu neid ka siit konspektist ei leia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LPI-101 ==&lt;br /&gt;
&lt;br /&gt;
=== bash ja käsurida ===&lt;br /&gt;
&lt;br /&gt;
Käsukestad:&lt;br /&gt;
* bash&lt;br /&gt;
* csh&lt;br /&gt;
* tcsh&lt;br /&gt;
* ksh&lt;br /&gt;
* zsh&lt;br /&gt;
&lt;br /&gt;
/bin/sh - sümlink soovitavale kestale&lt;br /&gt;
&lt;br /&gt;
Sisekäsud:&lt;br /&gt;
* cd&lt;br /&gt;
* cwd&lt;br /&gt;
* echo&lt;br /&gt;
* exec&lt;br /&gt;
* time&lt;br /&gt;
* set&lt;br /&gt;
* exit/logout&lt;br /&gt;
&lt;br /&gt;
NB! exec-iga programmi x-terminalist käivitades suletakse lõpetamisel ka xterm!&lt;br /&gt;
&lt;br /&gt;
Mõned sisekäsud on dubleeritud väliskäskudeks - sel juhul on prioriteet sisekäsul, kui pole lisatud täit kataloogiteed väliskäsuni&lt;br /&gt;
&lt;br /&gt;
Käskude tabuleerimine (tab completion) - Tab pakub käsu alguse järgi lõpusümboleid&lt;br /&gt;
&lt;br /&gt;
.history -  kättesaadav terminalis üles-noole abil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bashi kiirklahvid on võetud Emacsilt:&lt;br /&gt;
* Ctrl-A - rea algus (Home)&lt;br /&gt;
* Ctrl-E - rea lõpp (End)&lt;br /&gt;
* Ctrl-B - märk vasakule (&amp;lt;-)&lt;br /&gt;
* Ctrl-F - märk paremale (-&amp;gt;)&lt;br /&gt;
* Ctrl-Left - sõna vasakule (Esc-B)&lt;br /&gt;
* Ctrl-Right - sõna paremale (Esc-F)&lt;br /&gt;
&lt;br /&gt;
* Ctrl-D - kustutus paremalt (Del)&lt;br /&gt;
* Ctrl-K - kustutus kursorist rea lõpuni&lt;br /&gt;
* BkSp - kustutus vasakule&lt;br /&gt;
* Ctrl-X + BkSp - kustutus kursorist rea alguseni&lt;br /&gt;
&lt;br /&gt;
* Ctrl-T - vahetab kursori all oleva sümboli eelmisega&lt;br /&gt;
* Esc-T - vahetab kursori all oleva sõna eelmisega&lt;br /&gt;
&lt;br /&gt;
* Esc-U - muudab kursorist sõna lõpuni suurtähtedeks&lt;br /&gt;
* Esc-L - muudab kursorist sõna lõpuni väiketähtedeks&lt;br /&gt;
* Esc-C - muudab kursorialuse tähe suurtäheks&lt;br /&gt;
&lt;br /&gt;
* Ctrl-X + Ctrl-E - käivitab editori (määratud $EDITOR või $FCEDIT -muutujas). Varuvariant: Emacs&lt;br /&gt;
&lt;br /&gt;
history sisaldab enamasti 500 viimast käsku;  history -c puhastab&lt;br /&gt;
&lt;br /&gt;
Kasutaja sätted:  ~/.bashrc, ~/.profile&lt;br /&gt;
&lt;br /&gt;
Süsteemsed: /etc/bash.bashrc,  /etc/profile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Keskkonnamuutujad ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näide: &lt;br /&gt;
* $ NNTPSERVER=news.abigisp.com&lt;br /&gt;
* $ export NNTPSERVER&lt;br /&gt;
&lt;br /&gt;
Võib ka kokku panna: $ export NNTPSERVER=news.abigisp.com&lt;br /&gt;
&lt;br /&gt;
env - kuvab kõik muutujad!&lt;br /&gt;
&lt;br /&gt;
man &amp;lt;käsk&amp;gt;  - saab anda ka manuaali sektsiooni: &lt;br /&gt;
&lt;br /&gt;
man 5 passwd - passwd-käsu manuaali 5. sektsioon (peatükk)&lt;br /&gt;
&lt;br /&gt;
man vs info&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Suunamised ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Standardsed vood (enamasti käsitletakse programmides samaväärselt andmefailidega):&lt;br /&gt;
* stdin - tüüpiliselt klaver&lt;br /&gt;
* stdout - tüüpiliselt kuvar&lt;br /&gt;
* stderr - tüüpiliselt kuvar&lt;br /&gt;
&lt;br /&gt;
S/V suunamine:&lt;br /&gt;
* käsk &amp;gt; fail.txt&lt;br /&gt;
* käsk &amp;gt; käsk&lt;br /&gt;
&lt;br /&gt;
* &amp;gt;  - loob stdout-i infost uue faili (olemasolev kirjutatakse üle)&lt;br /&gt;
* &amp;gt;&amp;gt; - lisab stdout-i info olemasolevale failile (kui pole olemas, luuakse)&lt;br /&gt;
* 2&amp;gt; - loob stderr-i infost uue faili (olemasolev kirjutatakse üle)&lt;br /&gt;
* 2&amp;gt;&amp;gt; - lisab stderr-i info olemasolevale failile (kui pole olemas, luuakse)&lt;br /&gt;
* &amp;amp;&amp;gt;  loob stdout-i JA stderr-i infost uue faili (olemasolev kirjutatakse üle)&lt;br /&gt;
* &amp;lt; - kasutab määratud faili stdin-ina&lt;br /&gt;
* &amp;lt;&amp;lt; - järgnevate ridade teksti kasutatakse stdin-ina&lt;br /&gt;
* &amp;lt;&amp;gt; - kasutab määratud faili NII stdin-i KUI stdout-ina&lt;br /&gt;
&lt;br /&gt;
/dev/null - eimiski. N: whine 2&amp;gt; /dev/null  - whine&#039;i kõik veateated visatakse ära&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt; - nimet. ka &amp;quot;here document&amp;quot; (here doc) - enamasti ainult skriptides, mitte käsureal!&lt;br /&gt;
&lt;br /&gt;
N: proge &amp;lt;&amp;lt; blah  jääb kuulama:&lt;br /&gt;
 aaa - läheb proge sisendisse&lt;br /&gt;
 bbb - see ka&lt;br /&gt;
 ccc - see ka&lt;br /&gt;
 ddd - see ka&lt;br /&gt;
 blah - lõpetab ära&lt;br /&gt;
&lt;br /&gt;
Ctrl-D - EOF-sümbol!&lt;br /&gt;
&lt;br /&gt;
tee - suunab stdout-i lisaks ka mainitud failidesse. Enamasti skriptikäsk.&lt;br /&gt;
&lt;br /&gt;
N: ls | tee blabla.txt  - ls kuvab nagu tavaliselt, kuid lisaks läheb ka faili (nagu ls ja ls &amp;gt; blabla.txt koos!)&lt;br /&gt;
&lt;br /&gt;
==== Toru ====&lt;br /&gt;
&lt;br /&gt;
Ühe käsu väljundi suunamine teise sisendisse&lt;br /&gt;
&lt;br /&gt;
esimene | teine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Backtick ====&lt;br /&gt;
&lt;br /&gt;
Kasutatakse &amp;quot;käsk käsus&amp;quot; loomiseks:&lt;br /&gt;
&lt;br /&gt;
$ rm `find ./ -name “*~”` - kustutab kõik ~-lõpulised failid&lt;br /&gt;
&lt;br /&gt;
xargs - saadab argumendid edasi:&lt;br /&gt;
&lt;br /&gt;
$ find ./ -name “*~” | xargs rm - find&#039;i argumendid söödetakse rm-käsku (rm esimene~ , rm teine~ , rm kolmas~ jne )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Tekstifiltrid ====&lt;br /&gt;
&lt;br /&gt;
cat - faili kuvamine või failide sidumine&lt;br /&gt;
&lt;br /&gt;
cat esimene teine &amp;gt; kolmas&lt;br /&gt;
&lt;br /&gt;
argumendid:&lt;br /&gt;
* -E  - näita realõpusümbolit ($)&lt;br /&gt;
* -n - nummerdab read&lt;br /&gt;
* -b - nummerdab mittetühjad read&lt;br /&gt;
* -s - asendab tühjade ridade plokid üheainsa tühja reaga&lt;br /&gt;
* -T - näitab tabulatsioone (ˇI)&lt;br /&gt;
* -v - näitab mittetrükitavaid sümboleid&lt;br /&gt;
&lt;br /&gt;
tac - cat tagurpidi, kuvab read vastupidises järjekorras&lt;br /&gt;
&lt;br /&gt;
join - ühendab failid väljade kaupa. N:&lt;br /&gt;
&lt;br /&gt;
fail nimed.txt:&lt;br /&gt;
 1. Jüri&lt;br /&gt;
 2. Mari&lt;br /&gt;
 3. Peeter&lt;br /&gt;
 4. Elmar&lt;br /&gt;
&lt;br /&gt;
fail pikkus.txt:&lt;br /&gt;
 1. 198&lt;br /&gt;
 2. 166&lt;br /&gt;
 3. 180&lt;br /&gt;
 4. 178&lt;br /&gt;
&lt;br /&gt;
Kokku:&lt;br /&gt;
 1. Jüri 198&lt;br /&gt;
 2. Mari 166&lt;br /&gt;
 3. Peeter 180&lt;br /&gt;
 4. Elmar 178&lt;br /&gt;
&lt;br /&gt;
Saab määrata ka erinevaid võtmevälju:&lt;br /&gt;
* -1 n - esimeses failis on võtmeväljaks n-es väli&lt;br /&gt;
* -2 m - teises...&lt;br /&gt;
jne&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
paste - ühendab failid rida-realt:&lt;br /&gt;
 1. Jüri 198&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
NB! sed jt tekstivahendid ei muuda algset faili, vaid saadavad muudetud tulemuse kas stout-i (kuvarile) või faili!&lt;br /&gt;
&lt;br /&gt;
expand - asendab Tab-id tühikutega. Vaikimisi 8, väärtust saab lisada parameetriga expand -t number&lt;br /&gt;
&lt;br /&gt;
unexpand - vastupidine&lt;br /&gt;
&lt;br /&gt;
od (octal dump) - algselt mõeldud failide kuvamiseks kaheksandsüsteemis, aga suudab kuvada ka kuueteistkümnend- ja kümnendsüsteemi, ASCIId jmm.&lt;br /&gt;
&lt;br /&gt;
sort&lt;br /&gt;
* -f (--ignore-case) - ei erista suur- ja väiketähti&lt;br /&gt;
* -M (--month-sort) - sorteerib ingliskeelsete kolmetäheliste kuunimede järgi (JAN...DEC)&lt;br /&gt;
* -n (--numeric-sort) - arvude järgi&lt;br /&gt;
* -r (--reverse-sort) - tagurpidi&lt;br /&gt;
* -k väli (--key-field=) - võtmeväli (vaikimisi esimene). Saab panna ka kaks välja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
split - jagab faili kaheks või enamaks failiks. Ette antakse väljundfaili nimi - komponendid luuakse kujul nimiaa,nimiab,nimiac ...&lt;br /&gt;
* -b maht (--byte-size=) - komponentide maht baitides (märgipealt =&amp;gt; viimane rida enamasti poolik)&lt;br /&gt;
* -C maht (--line-bytes=) - maht ilma ridu poolitamata (kui aga rida on pikem kui etteantud suurus, poolitub ikkagi)&lt;br /&gt;
* -l maht (--lines=) - komponentide ridade arv&lt;br /&gt;
&lt;br /&gt;
N: $ split -l 2 listing1.1.txt numbers  (väljund: numbersaa,numbersab ... kahe rea kaupa)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tr - tähtede asendamine - esimesena toodud hulga tähed asendatakse teise omadega&lt;br /&gt;
&lt;br /&gt;
N: $ tr BCJ bc &amp;lt; listing1.1.txt  - sisendfailis asendatakse B b-ga, C c-ga ja J samuti c-ga (viimane saadaolev märk teises hulgas)&lt;br /&gt;
&lt;br /&gt;
erikuju: tr -d HULK - hulga elemendid kustutatakse tekstist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
uniq - eemaldab topeltread&lt;br /&gt;
N: $ sort shakespeare.txt | uniq&lt;br /&gt;
 be&lt;br /&gt;
 is&lt;br /&gt;
 not&lt;br /&gt;
 or&lt;br /&gt;
 question&lt;br /&gt;
 that&lt;br /&gt;
 the&lt;br /&gt;
 to&lt;br /&gt;
&lt;br /&gt;
(eemaldati üks &#039;to&#039; ja üks &#039;be&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Failiformaatimiskäsud ====&lt;br /&gt;
&lt;br /&gt;
fmt - silub tekstifaili. Eeldab, et lõigud on eraldatud vähemalt 2 tühja rea või siis tabuleeritud. Vaikimisi reapikkus 75 märki&lt;br /&gt;
&lt;br /&gt;
nl - ridade nummerdamine (nagu cat -b, aga võimsam). &lt;br /&gt;
&lt;br /&gt;
pr - trükkimiseks ettevalmistamine (näit. päiste ja jaluste lisamine; mitu veergu jne). Peamiselt kasutatakse kombineeritud käskudes:&lt;br /&gt;
&lt;br /&gt;
N: cat kiviajamull.txt | pr --columns=2 &amp;gt; blabla.txt&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Failikuvamiskäsud ====&lt;br /&gt;
&lt;br /&gt;
cat - vt eespool&lt;br /&gt;
&lt;br /&gt;
head - kuvab stout-i faili alguse. Vaikimisi 10 esimest rida, saab määrata ka baitide (-c) või ridade (-n) arvu&lt;br /&gt;
&lt;br /&gt;
tail - sama, kuid lõpust. Kasulik logide jälgimisel (värskeimad sissekanded). Lisavõimalused:&lt;br /&gt;
* -f - jääb jälgima ja kuvab lisanduvad read&lt;br /&gt;
* -pid=nr - lõpetab -f-iga alustatud jälgimise, kui protsess nr lõpetab töö&lt;br /&gt;
&lt;br /&gt;
less - tõsisem failikuvaja.  Enamasti ei kasutata käsuahelates (liiga interaktiivne), v.a. viimase käsuna&lt;br /&gt;
* /sõna - otsing ettepoole. ainult / annab interaktiivse. n edasi, N tagasi&lt;br /&gt;
* ?sõna - sama tahapoole&lt;br /&gt;
* gNR - reale minek. N: g65&lt;br /&gt;
* h - abiinfo&lt;br /&gt;
* q - välja&lt;br /&gt;
&lt;br /&gt;
==== Kokkuvõtvad käsud ====&lt;br /&gt;
&lt;br /&gt;
cut - võimaldab filtreerida failist infot mingite tingimuste (baitide, märkide, väljade) järgi:&lt;br /&gt;
* -b - baidid&lt;br /&gt;
* -c - märgid&lt;br /&gt;
* -f - väljad&lt;br /&gt;
&lt;br /&gt;
Väärtused võivad olla konkreetsed (4), vahemikud (2-4) ja avatud vahemikud (-2, 4- - kuidas määratakse negatiivseid arve?)&lt;br /&gt;
&lt;br /&gt;
N: $ ifconfig eth0 | grep HWaddr | cut -d “ “ -f 11  - kuvab ifconfig&#039;ist MAC-aadressi&lt;br /&gt;
&lt;br /&gt;
wc - sõnaloend. Võimaldab lugeda ka ridu (-l), sõnu (-w), baite (-b) ja märke (-c).&lt;br /&gt;
&lt;br /&gt;
N: 65  372 2672 kiviajamull.txt  - 65 rida, 372 sõna, 2672 baiti/märki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Regulaaravaldised ====&lt;br /&gt;
&lt;br /&gt;
* Kantsulud - variandid. N:  b[aeiou]g - bag, beg, big, bog, bug&lt;br /&gt;
* kriips - vahemik. N:  a[2-4]z - a2z, a3z, a4z&lt;br /&gt;
* punkt - suvaline märk (peale reaalgussümboli). N: a.z - a2z, abz, aQz&lt;br /&gt;
* katus (karee) - reaalgus&lt;br /&gt;
* dollar - realõpp&lt;br /&gt;
* tärn - 0-n sümbolit&lt;br /&gt;
* pluss - 1-n sümbolit&lt;br /&gt;
* küsimärk - 0-1 sümbol&lt;br /&gt;
* kaigas - üks kahest. N: liha|kala&lt;br /&gt;
* tavasulud - alamavaldis nagu matemaatikas&lt;br /&gt;
* kurakaldkriips - paosümbol eelmiste sümbolite tavakasutuseks. N: kakupesa\.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
grep - paindlik otsinguvahend. Üldkuju: grep [valikud] regulaaravaldis [failid]&lt;br /&gt;
* -c - ridade lugemine kuvamise asemel&lt;br /&gt;
* -f failinimi - loeb regulaaravaldise failist&lt;br /&gt;
* -i - ei erista suur- ja väiketähti&lt;br /&gt;
* -r - rekursiivne otsing alamkataloogidest (võib aga ka rgrep-i kasutada)&lt;br /&gt;
* -E - kasutab laiendatud regulaaravaldist (vaikimisi on tavakujul; võib aga ka egrep&#039;i kasutada)&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
NB! Siin ja mõnel muul juhul kasutatakse jutumärke, et kest ei tõlgendaks avaldise osi enda käskudena!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sed - käsurearedaktor. Muudab faili ja saadab selle stdout&#039;i. Kaks põhikuju:&lt;br /&gt;
* sed [valikud] -f skriptifail [sisendfail]&lt;br /&gt;
* sed [valikud] skriptifail [sisendfail]&lt;br /&gt;
&lt;br /&gt;
N: $ sed ‘s/2011/2012/‘ cal-2011.txt &amp;gt; cal-2012.txt  - asendab aastanumbri ja teeb järgmise aasta kalendri&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pakihaldus ===&lt;br /&gt;
&lt;br /&gt;
RPM (RPM Package Manager, varem Redhat Package Manager)&lt;br /&gt;
&lt;br /&gt;
Paki üldkuju: packagename-a.b.c-x.arch.rpm  (a.b.c - versioon, x - build; arch - arhitektuur, v.a. lähtekoodipakil src)&lt;br /&gt;
&lt;br /&gt;
Ideaalis peaks iga pakk töötama kõigil RPM-distrodel. Reaalselt ei pruugi, kuna&lt;br /&gt;
* iga distro paigaldab erinevad RPM-i utiliidid&lt;br /&gt;
* ühe versiooni pakil võivad olla sõltuvused, mida teises pole&lt;br /&gt;
* sõltuvused võivad olla distroti eri nimedega&lt;br /&gt;
* pakkides olevad failid võivad distroti veidi erineda&lt;br /&gt;
* pakkides olevad skriptid ei pruugi ühilduda&lt;br /&gt;
&lt;br /&gt;
RPM üldine süntaks: rpm [operation][options] [package-files|package-names]&lt;br /&gt;
&lt;br /&gt;
Põhioperatsioonid:&lt;br /&gt;
* -i   - paigaldab paki, sama nimega pakki ei tohi varem olla&lt;br /&gt;
* -U  - uuendab olemasolevat või paigaldab, kui veel pole&lt;br /&gt;
* -F  - uuendab ainult siis, kui vanem versioon on olemas&lt;br /&gt;
* -q  - päring paki kohta&lt;br /&gt;
* -V  - paki kontroll&lt;br /&gt;
* -e  - eemaldab paki&lt;br /&gt;
* -b  - (vana) lähtekoodi ja konfi olemasolul ehitab binaarpaki; alates rpm 4.2-st teeb seda rpmbuild&lt;br /&gt;
* --rebuild - sama&lt;br /&gt;
* --rebuilddb - loob RPM-i andmebaasi uuesti, parandab vead&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Põhivalikud&lt;br /&gt;
|-&lt;br /&gt;
! Valik&lt;br /&gt;
! Käsud&lt;br /&gt;
! Kirjeldus&lt;br /&gt;
|-&lt;br /&gt;
| --root dir&lt;br /&gt;
| Kõik	&lt;br /&gt;
| Määrab konkreetse kataloogi juurkataloogiks&lt;br /&gt;
|-&lt;br /&gt;
| --force &lt;br /&gt;
| -i, -U, -F &lt;br /&gt;
| Sundpaigaldus (ka ülekirjutamise korral)&lt;br /&gt;
|-&lt;br /&gt;
| -h, --hash &lt;br /&gt;
| -i, -U, -F &lt;br /&gt;
| Näitab käsu täitmise edenemist #-sümbolite reaga&lt;br /&gt;
|-&lt;br /&gt;
| -v&lt;br /&gt;
| -i, -U, -F&lt;br /&gt;
| Kasutatakse koos -h-ga näitamaks iga paki kohta ühtmoodi #-de rida (-Uvh)&lt;br /&gt;
|-&lt;br /&gt;
| --nodeps&lt;br /&gt;
| -i, -U, -F, -e&lt;br /&gt;
| Eirab sõltuvusi (ohtlik!)&lt;br /&gt;
|-&lt;br /&gt;
| --test &lt;br /&gt;
| -i, -U, -F&lt;br /&gt;
| Kontrollib kõike nagu päris paigalduses, aga reaalselt ei paigalda&lt;br /&gt;
|-&lt;br /&gt;
| --prefix path&lt;br /&gt;
| -i, -U, -F 		&lt;br /&gt;
| Määrab paigalduskataloogi (toimib vaid osade pakkidega)&lt;br /&gt;
|-&lt;br /&gt;
| -a, --all &lt;br /&gt;
| -q, -V &lt;br /&gt;
| Kontrollib kõiki pakke&lt;br /&gt;
|- &lt;br /&gt;
| -f file, --file file 	&lt;br /&gt;
| -q, -V &lt;br /&gt;
| Kontrollib faili omanikuks olevat pakki&lt;br /&gt;
|-&lt;br /&gt;
| -p package-file &lt;br /&gt;
| -q&lt;br /&gt;
| Päring eemaldatud faili kohta&lt;br /&gt;
|-&lt;br /&gt;
| -i &lt;br /&gt;
| -q	&lt;br /&gt;
| Kuvab paki info&lt;br /&gt;
|-&lt;br /&gt;
| -R, --requires &lt;br /&gt;
| -q&lt;br /&gt;
| Kuvab sõltuvused (pakid ja failid)&lt;br /&gt;
|-&lt;br /&gt;
| -l, --list &lt;br /&gt;
| -q &lt;br /&gt;
| Kuvab pakis olevad failid&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
NB! Osa operatsioone tahavad paki nime (lühem), teised aga paki täis-failinime (pikem)!&lt;br /&gt;
&lt;br /&gt;
rpm -qi - põhjalikum info paki kohta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Andmete eraldamine RPMist ====&lt;br /&gt;
&lt;br /&gt;
RPM on muudetud cpio-fail (vt http://en.wikipedia.org/wiki/Cpio). &lt;br /&gt;
&lt;br /&gt;
rpm2cpio -utiliit saadab väljundi stdout&#039;i, seega tuleb suunata:&lt;br /&gt;
&lt;br /&gt;
rpm2cpio samba-server-3.0.25b-4.5mdv2008.0.src.rpm &amp;gt; samba-server-3.0.25b-4.5mdv2008.0.cpio&lt;br /&gt;
&lt;br /&gt;
seejärel cpio-fail lahti pakkida: $ cpio -i --make-directories &amp;lt; samba-server-3.0.25b-4.5mdv2008.0.cpio&lt;br /&gt;
&lt;br /&gt;
-i pakib lahti, --make-directories loob vajalikud alamkataloogid&lt;br /&gt;
&lt;br /&gt;
Võib ka ühe käsuga: $ rpm2cpio samba-server-3.0.25b-4.5mdv2008.0.src.rpm | cpio -i --make-directories&lt;br /&gt;
&lt;br /&gt;
NB! Mitte pakkida olemasoleva failisüsteemi selga! Alati peaks looma eraldi alamkataloogi - pakk võib sisaldada /etc, /usr jt hierarhiaid&lt;br /&gt;
&lt;br /&gt;
Debiani alien suudab rpm-i teha lisaks deb-ile ka tarballiks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Yum ====&lt;br /&gt;
&lt;br /&gt;
Üldkuju: yum [valikud] [käsk] [pakid]&lt;br /&gt;
&lt;br /&gt;
Põhikäsud:&lt;br /&gt;
* install  - paigaldab pakid ja nende sõltuvused&lt;br /&gt;
* update - uuendab valitud pakid - ilma argumendita paneb paika kõik uuendused&lt;br /&gt;
* check-update - näitab võimalikke uuendusi&lt;br /&gt;
* erase, remove - eemaldab&lt;br /&gt;
* upgrade - sama mis update --obsoletes, sobib versiooniuuenduseks&lt;br /&gt;
* list - paki info&lt;br /&gt;
* provides, whatprovides - konkreetse teenuse pakid. N: yum whatprovides apache&lt;br /&gt;
* search - otsing&lt;br /&gt;
* info - paki info (vrdl info-käsk)&lt;br /&gt;
* clean - puhvri puhastamine, aeg-ajalt soovitatav&lt;br /&gt;
* resolvedep - etteantud sõltuvusega pakid&lt;br /&gt;
* localinstall - kohaliku rpm-i paigaldus, sõltuvused tulevad yum&#039;i varamutest&lt;br /&gt;
* localupdate - vt eelmist&lt;br /&gt;
* deplist - sõltuvuste loend&lt;br /&gt;
* shell - yum&#039;i käsukest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! yum&#039;i kasutamine on lihtsam kui tavalise rpm&#039;i puhul, kuid süsteemi haldamine antakse rohkem distro koostaja kätte!&lt;br /&gt;
&lt;br /&gt;
yumdownloader - laeb soovitud paki alla aktiivsesse kataloogi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== RPM&#039;i ja yum&#039;i konf ====&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Peamine mõte on lisada arhitektuurivõtmeid: optflags: athlon -O2 -g -march=i686&lt;br /&gt;
&lt;br /&gt;
Yum: /etc/yum.conf + /etc/yum.repos.d/ -varamute konfid&lt;br /&gt;
&lt;br /&gt;
Red Hati/Fedora põhilised lisavaramud:&lt;br /&gt;
* Livna (http://rpm.livna.org)&lt;br /&gt;
* FreshRPMs (http://freshrpms.net)&lt;br /&gt;
* Red Hat KDE (http://kde-redhat.sourceforge.net)&lt;br /&gt;
&lt;br /&gt;
Asjalik teenus: http://rpmfind.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Deb/dpkg ====&lt;br /&gt;
&lt;br /&gt;
Debian, Ubuntu, Xandros, Mepis, Libranet...&lt;br /&gt;
&lt;br /&gt;
Üldkuju: dpkg [options][action] [package-files|package-name]&lt;br /&gt;
&lt;br /&gt;
Põhikäsud:&lt;br /&gt;
* -i, --install 	paigaldus&lt;br /&gt;
* --configure 		konfib paigaldatud paki&lt;br /&gt;
* -r, --remove 		eemaldab paki, jätab konfifailid alles&lt;br /&gt;
* -P,  --purge 		eemaldab paki koos konfiga&lt;br /&gt;
* -p, --print-avail 	info paigaldatud paki kohta&lt;br /&gt;
* -I, --info 		info paigaldamata paki kohta&lt;br /&gt;
* -l &amp;lt;muster&amp;gt;, --list 	loetelu pakkidest, mille nimes esineb &amp;lt;muster&amp;gt;&lt;br /&gt;
* -L, --listfiles 	loetelu pakiga seotud paigaldatud failidest&lt;br /&gt;
* -S &amp;lt;muster&amp;gt;, --search otsing mustri järgi&lt;br /&gt;
* -C, --audit		poolikute pakkide otsing, annab soovitusi&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Võtmed&lt;br /&gt;
|-&lt;br /&gt;
| --root=dir&lt;br /&gt;
| Kõik &lt;br /&gt;
| Määrab juurkataloogi (kasulik erakorralise remondi puhul)&lt;br /&gt;
|-&lt;br /&gt;
| -B, --auto-deconfigure &lt;br /&gt;
| -r &lt;br /&gt;
| Deaktiveerib pakid, mis sõltuvad eemaldatavast pakist&lt;br /&gt;
|-&lt;br /&gt;
| --force-things&lt;br /&gt;
| Mõned	&lt;br /&gt;
| Sunnib tegevusi&lt;br /&gt;
|-&lt;br /&gt;
| --ignore-depends=package &lt;br /&gt;
| -i, -r &lt;br /&gt;
| Eirab sõltuvusi&lt;br /&gt;
|-&lt;br /&gt;
| --no-act &lt;br /&gt;
| -i, -r &lt;br /&gt;
| Kontrollib sõltuvusi ilma reaalset operatsiooni sooritamata&lt;br /&gt;
|-&lt;br /&gt;
| --recursive &lt;br /&gt;
| -i &lt;br /&gt;
| Rekursioon läbi alamkataloogide&lt;br /&gt;
|-&lt;br /&gt;
| -G &lt;br /&gt;
| -i &lt;br /&gt;
| Ei paigalda pakki, mille uuem versioon on juba paigaldatud&lt;br /&gt;
|-&lt;br /&gt;
| -E, --skip-same-version &lt;br /&gt;
| -i &lt;br /&gt;
| Ei paigalda pakki, mille sama versioon on juba paigaldatud&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mõnel juhul eeldatakse paki-, mõnel failinime. Install ja info tahavad faili, eemaldamine pakki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt-cache - mitmesugune info paki kohta:&lt;br /&gt;
* apt-cache showpkg pakinimi - &lt;br /&gt;
* apt-cache stats - pakistatistika. &lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
 kakk@aragorn:~$ sudo apt-cache stats&lt;br /&gt;
 [sudo] password for kakk: &lt;br /&gt;
 Pakettide nimesid kokku: 42027 (841k)&lt;br /&gt;
 Total package structures: 42027 (2 354k)&lt;br /&gt;
  Tavapakette: 32271&lt;br /&gt;
  Puhtalt virtuaalseid pakette: 530&lt;br /&gt;
  Üksikuid virtuaalseid pakette: 3059&lt;br /&gt;
  Kombineeritud virtuaalseid pakette: 293&lt;br /&gt;
  Puudu: 5874&lt;br /&gt;
 Kokku erinevaid versioone: 34394 (2 476k)&lt;br /&gt;
 Erinevaid kirjeldusi kokku: 34394 (825k)&lt;br /&gt;
 Sõltuvusi kokku: 222752 (6 237k)&lt;br /&gt;
 Versioonide/failide seoseid kokku: 38085 (914k)&lt;br /&gt;
 Kirjelduste/failide seoseid kokku: 34394 (825k)&lt;br /&gt;
 Total Provides mappings: 6341 (127k)&lt;br /&gt;
 Total globbed strings: 183 (2 517)&lt;br /&gt;
 Total dependency version space: 1 091k&lt;br /&gt;
 Lõtkukohti kokku: 53,4k&lt;br /&gt;
 Total space accounted for: 12,2M&lt;br /&gt;
&lt;br /&gt;
* apt-cache unmet - puuduvad sõltuvused&lt;br /&gt;
* apt-cache depends pakinimi - konkreetse paki sõltuvused&lt;br /&gt;
* apt-cache pkgnames sa - sa-ga algavad pakinimed&lt;br /&gt;
&lt;br /&gt;
==== Apt-get ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Apti allikaid ei tasu suvaliselt lisada :)&lt;br /&gt;
&lt;br /&gt;
Põhikäsud:&lt;br /&gt;
* update 			loeb sources.listi varamute uuendused&lt;br /&gt;
* upgrade 			uuendab&lt;br /&gt;
* dselect-upgrade		uuendab dselecti järel tegemata jäänud asjad*&lt;br /&gt;
* dist-upgrade 			nagu upgrade, aga parema konfliktikontrolliga (distrouuendus)&lt;br /&gt;
* install 			paigaldab paki&lt;br /&gt;
* remove 			eemaldab&lt;br /&gt;
* source			tõmbab lähtekoodipaki (failinime järgi!)&lt;br /&gt;
* check 			kontrollib pakiandmebaasi&lt;br /&gt;
* clean				puhastab puhvri&lt;br /&gt;
* autoclean			puhastab puhvri vaid vanadest failidest, mida enam kasutada ei saa&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+Valikud&lt;br /&gt;
|-&lt;br /&gt;
| -d, --download-only 		&lt;br /&gt;
| upgrade, dselect-upgrade, install, source	&lt;br /&gt;
| Laeb pakid alla, kuid ei paigalda&lt;br /&gt;
|-&lt;br /&gt;
| -f, --fix-broken &lt;br /&gt;
| install, remove &lt;br /&gt;
| Üritab lahendada sõltuvused&lt;br /&gt;
|-&lt;br /&gt;
| -m, --ignore-missing, --fix-missing &lt;br /&gt;
| upgrade, dselect-upgrade, install, remove, source &lt;br /&gt;
| Eirab pakke, mille lähtekood pole saadaval&lt;br /&gt;
|-&lt;br /&gt;
| -q, --quiet &lt;br /&gt;
| Kõik	&lt;br /&gt;
| Ei näita osasid väljundeid (-qq on veel vaiksem!)&lt;br /&gt;
|-&lt;br /&gt;
| -s, --simulate, --just-print, --dry-run, --recon, --no-act &lt;br /&gt;
| Kõik	&lt;br /&gt;
| Simuleerib tegevust (reaalselt ei tee)&lt;br /&gt;
|-&lt;br /&gt;
| -y, --yes,  --assume-yes&lt;br /&gt;
| Kõik&lt;br /&gt;
| Vastab küsimustele &amp;quot;jah&amp;quot; (skriptides kasutamiseks)&lt;br /&gt;
|- &lt;br /&gt;
| -b, --compile,  --build &lt;br /&gt;
| source &lt;br /&gt;
| Laeb lähtekoodipaki alla ja kompileerib selle&lt;br /&gt;
|-&lt;br /&gt;
| --no-upgrade &lt;br /&gt;
| install &lt;br /&gt;
| Ei uuenda pakki, kui vanem versioon on juba olemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Apt - sama jutt kui RPMiga: kontroll nihkub pakendaja kätte!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
dselect, aptitude - pakibrauserid (aptitude töötab apt-geti analoogina, kui anda pakid ette, ilma parameetriteta läheb interaktiivsesse režiimi). &lt;br /&gt;
&lt;br /&gt;
Graafiline analoog on Synaptic.&lt;br /&gt;
&lt;br /&gt;
aptitude - full-upgrade vs safe-upgrade, viimane on konservatiivsem&lt;br /&gt;
&lt;br /&gt;
dpkg-reconfigure - paki ümberkonfimine&lt;br /&gt;
&lt;br /&gt;
Debiani pakk koosneb eri failidest! lähtekoodi tarball, kontrollfail ja .dsc-signatuurifail (ehtsuse kontroll)&lt;br /&gt;
&lt;br /&gt;
==== Pakihaldurite konfimine ====&lt;br /&gt;
&lt;br /&gt;
dpkg konf:  /etc/dpkg/dpkg.cfg või kohalik ~/.dpkg.cfg&lt;br /&gt;
&lt;br /&gt;
apt: /etc/apt/sources.list (ja repod /etc/sources.list.d); apt&#039;i enda konf: /etc/apt/apt.conf (Ubuntul /etc/apt/apt.conf.d/ all eri failid eri rakendustele)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== alien ====&lt;br /&gt;
&lt;br /&gt;
Nõuab nii RPMi kui DPKG paigaldamist&lt;br /&gt;
&lt;br /&gt;
Üldkuju: alien [options] file[...]&lt;br /&gt;
&lt;br /&gt;
Tähtsaimad valikud: --to-deb, --to-rpm, --to-slp ja --to-tgz (3. on Stampede Linuxi pakett, suht vananenud, 2002 lõpetas töö)&lt;br /&gt;
&lt;br /&gt;
Näited:&lt;br /&gt;
* # alien --to-rpm someprogram-1.2.3-4_i386.deb - rpm-iks&lt;br /&gt;
* # alien --install binary-tarball.tar.gz  - installib ja lisab Debiani andmebaasi nagu .deb-i&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Pakikonfliktid ====&lt;br /&gt;
&lt;br /&gt;
Peamised põhjused:&lt;br /&gt;
* puuduvad teegid/utiliidid&lt;br /&gt;
* mitteühilduvad teegid/utiliidid&lt;br /&gt;
* topelt failid - mingi paki failid on teise pakiga juba paigaldatud ja ei ühildu&lt;br /&gt;
* mitteklappivad nimed&lt;br /&gt;
&lt;br /&gt;
RPM-i puhul saab jõuga:&lt;br /&gt;
* # rpm -i apackage.rpm --nodeps&lt;br /&gt;
* # rpm -i apackage.rpm --force&lt;br /&gt;
&lt;br /&gt;
DPKG puhul  --ignore-depends=package, --force-depends või --force-conflicts -parameetrid&lt;br /&gt;
&lt;br /&gt;
Vahel aitab sõltuvuspakkide uuendamine&lt;br /&gt;
&lt;br /&gt;
Vahel võib paki ümber ehitada: # rpmbuild --rebuild packagename-version.src.rpm&lt;br /&gt;
&lt;br /&gt;
Vahel saab leida paki alternatiivversiooni&lt;br /&gt;
&lt;br /&gt;
Vahel (serveritarkvara puhul) on vaja muuta käivitusskripte:  /etc/rc.d/rc.local või /etc/rc.d/boot.local&lt;br /&gt;
&lt;br /&gt;
=== Jagatud teegid ===&lt;br /&gt;
&lt;br /&gt;
näiteks libc/glibc, qt, gtk+&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
Põhimõtteliselt saaks teeke ka staatiliselt linkida, aga tulemus oleks suur ja paindumatu (uuendamine eeldaks relinki). Linux kasutab dünaamilist&lt;br /&gt;
teegisüsteemi sarnaselt Windowsi DLL-idega. Linuxis on vastavad laiendid:&lt;br /&gt;
* jagatud teek - .so või .so.versioon (n: .so.6)&lt;br /&gt;
* staatiline teek - .a&lt;br /&gt;
&lt;br /&gt;
Jagatud teegi miinused:&lt;br /&gt;
* mõningane jõudluskadu, kui teine programm juba sama teeki kasutab&lt;br /&gt;
* teegi muutmine võib tekitada ühilduvusprobleeme seda kasutavate programmidega&lt;br /&gt;
* programm ei pruugi teeki leida&lt;br /&gt;
* sõltuvustepusa&lt;br /&gt;
* teegi probleem (N: kettaviga) tekitab kogu süsteemile hirmsa kolaka&lt;br /&gt;
&lt;br /&gt;
Teekide leidmine - nime ja/või kataloogitee järgi&lt;br /&gt;
&lt;br /&gt;
Põhiline konf: /etc/ld.so.conf . Ubuntul on seal rida &amp;quot;include /etc/ld.so.conf.d/*.conf&amp;quot; - kõik conf-failid seal laetakse, nagu nad oleks juba ld.so.conf&#039;is sees&lt;br /&gt;
&lt;br /&gt;
Gentoos tuleb redigeerida /etc/env.d/ kataloogis olevaid konfifaile ja seejärel anda käsk env-update.&lt;br /&gt;
&lt;br /&gt;
Lisaks seal määratule on alati kättesaadavad ka /lib ja /usr/lib sisu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teekide asukohti saab määrata ka LD_LIBRARY_PATH -keskkonnamuutujaga:&lt;br /&gt;
&lt;br /&gt;
$ export LD_LIBRARY_PATH=/usr/local/testlib:/opt/newlib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
ldd programminimi - kuvab kõik teegid, mida programm kasutab:&lt;br /&gt;
 kakk@aragorn:~$ ldd /usr/bin/xbiff&lt;br /&gt;
 	linux-vdso.so.1 =&amp;gt;  (0x00007fff3a7ff000)&lt;br /&gt;
 	libXaw.so.7 =&amp;gt; /usr/lib/libXaw.so.7 (0x00007f4941c22000)&lt;br /&gt;
 	libXt.so.6 =&amp;gt; /usr/lib/libXt.so.6 (0x00007f49419bd000)&lt;br /&gt;
 	...&lt;br /&gt;
&lt;br /&gt;
ldconfig - laeb teekide puhvri uuesti (vajalik peale muutusi). Nii RPM kui DPKG teevad seda automaatselt. Saab ka eri parameetreid kasutada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Protsessihaldus ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== uname ====&lt;br /&gt;
&lt;br /&gt;
Kerneliprotsessi info&lt;br /&gt;
&lt;br /&gt;
Põhiparameetrid:&lt;br /&gt;
* -n, --nodename - hostinime kuvamine&lt;br /&gt;
* -s, --kernel-name - kerneli nimi (enamasti Linux)&lt;br /&gt;
* -v, --kernel-version  - kerneli versioon (algselt kuvas kompileerimise aega)&lt;br /&gt;
* -r, --kernel-release - kerneli väljalase&lt;br /&gt;
* -m, --machine - arvuti info (enamasti arhitektuur: x86_64)&lt;br /&gt;
* -p, --processor  - prose info (enamasti näitab paljudel juhtudel unknown)&lt;br /&gt;
* -i, --hardware-platform - riistvaraplatvorm (enamasti unknown)&lt;br /&gt;
* -o, --operating-system - OS  (GNU/Linux)&lt;br /&gt;
* -a, --all - kogu saadaolev info (kõik kokku)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ps ==== &lt;br /&gt;
&lt;br /&gt;
Protsessikäsk. Hirmus hulk parameetreid, kolm klassi:&lt;br /&gt;
* Unix98 valikud - ühetähelised, võib grupeerida, algavad ÜHE kriipsuga (-)&lt;br /&gt;
* BSD valikud - ühetähelised, võib grupeerida, algavad ILMA kriipsuta&lt;br /&gt;
* GNU pikad valikud - mitmetähelised, ei grupeerita, algavad KAHE kriipsuga (--)&lt;br /&gt;
&lt;br /&gt;
PS_PERSONALITY keskkonnamuutuja määrab PS-i käitumise: posix, old, linux, bsd, sun, digital jt&lt;br /&gt;
&lt;br /&gt;
Peamised Linuxi ps-käsud:&lt;br /&gt;
* ps - konkreetse terminali kõik protsessid&lt;br /&gt;
* abiinfo - ps --help&lt;br /&gt;
* kuva kõik protsessid - ps -A või ps -e&lt;br /&gt;
* kuva kõik aktiivse kasutaja protsessid - ps -x&lt;br /&gt;
* kuva kõik konkreetse kasutaja protsessid: ps -u kasutaja, ps U kasutaja või ps --user kasutaja (võib olla kasutajanimi või ID)&lt;br /&gt;
* täiendav info:  -f, -l, j, l, u ja v võtmed&lt;br /&gt;
* protsesside hierarhia: -H, -f ja --forest -võtmed&lt;br /&gt;
* lai väljund (üle 80 märgi): -w ja w&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näidatav info:&lt;br /&gt;
* kasutajanimi&lt;br /&gt;
* protsessi ID&lt;br /&gt;
* ülemprotsessi (vanema) ID&lt;br /&gt;
* TTY (terminal)&lt;br /&gt;
* protsessori ajakasutus&lt;br /&gt;
* protsessori prioriteet&lt;br /&gt;
* mälukasutus&lt;br /&gt;
* käivituskäsk&lt;br /&gt;
&lt;br /&gt;
NB! init &amp;quot;adopteerib&amp;quot; orbudeks jäänud (ülemprotsess lõppenud) protsessid!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== top ====&lt;br /&gt;
&lt;br /&gt;
ps-i dünaamiline variant. Tavaliselt kasutatakse interaktiivselt ilma argumentideta, aga saab ka anda parameetreid&lt;br /&gt;
&lt;br /&gt;
Eriti kasulik on protsessoriaja jälgimine (load average)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
jobs - jooksva sessiooniga seotud protsessid. Kasulik vahel PID leidmiseks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Tausta- ja esiplaaniprotsessid ====&lt;br /&gt;
&lt;br /&gt;
Ctrl-Z peatab terminalis jooksva protsessi ja vabastab terminali&lt;br /&gt;
&lt;br /&gt;
fg jätkab uuesti (kui mitu on peatatud, siis fg number)&lt;br /&gt;
&lt;br /&gt;
bg jätkab taustal&lt;br /&gt;
&lt;br /&gt;
käsk &amp;amp; käivitab taustal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== nice ====&lt;br /&gt;
&lt;br /&gt;
Määrab protsessi prioriteetsuse:&lt;br /&gt;
&lt;br /&gt;
nice [argument] [command [command-arguments]]&lt;br /&gt;
&lt;br /&gt;
Näide:&lt;br /&gt;
&lt;br /&gt;
$ nice -12 number-crunch data.txt  - käivitab number-crunch&#039;i, andmed võetakse data.txt&#039;ist&lt;br /&gt;
&lt;br /&gt;
Tavaprioriteet on 0. vahemik on -20-st 19-ni, negatiivsed on kõrgema prioriteediga. Prioriteetseid protsesse (alla 0) saab käivitada vaid root, &lt;br /&gt;
madalamaid prioriteete iga kasutaja (N: wine puhul oli -5). Kasutaja saab muuta vaid oma protsesside prioriteete ja ainult madalamaks!&lt;br /&gt;
&lt;br /&gt;
Töö käigus saab prioriteeti muuta: renice priority [[-p] pids] [[-g] pgrps] [[-u] users]&lt;br /&gt;
&lt;br /&gt;
N: # renice 7 16580 -u pdavison tbaker - protsess 16580 ja kõik kahe kasutaja protsessid saavad prioriteedi 7.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Protsessi tapmine ====&lt;br /&gt;
&lt;br /&gt;
kill - võib olla nii sise- kui väliskäsk, viimase jaoks tuleks anda koos teega /bin/kill&lt;br /&gt;
&lt;br /&gt;
Üldkuju: kill -s signaal PID&lt;br /&gt;
&lt;br /&gt;
Signaalide loetelu: kill -l&lt;br /&gt;
&lt;br /&gt;
signaali võib anda nii nime kui numbri järgi. Enamlevinud:&lt;br /&gt;
* 1 - SIGHUP, tapab interaktiivsed programmid&lt;br /&gt;
* 9 - SIGKILL, räige kohene surm ilma shutdown&#039;ita&lt;br /&gt;
* 15 - SIGTERM, pehmem, üritab failid sulgeda jne. Vaikimisi valik!&lt;br /&gt;
&lt;br /&gt;
lühikuju: kill -signaalilõpp PID  (ilma SIGita: HUP, KILL, TERM jne)&lt;br /&gt;
&lt;br /&gt;
Root saab killida kõike, muud ainult omi protsesse&lt;br /&gt;
&lt;br /&gt;
nohup programm [valikud]  - käivitab nii, et SIGHUPiga tappa ei saa (eiratakse)&lt;br /&gt;
&lt;br /&gt;
killall - nime järgi killimine. -i parameeter küsib:&lt;br /&gt;
 kakk@aragorn:~$ killall -i firefox-bin&lt;br /&gt;
 Kill firefox-bin(8074) ? (y/N) y&lt;br /&gt;
 kakk@aragorn:~$ &lt;br /&gt;
&lt;br /&gt;
NB!!! Mõnes muus Unixis tapab killall KÕIK SELLE KASUTAJA PROTSESSID!!! Ettevaatust...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JÄTKUU....&lt;br /&gt;
&lt;br /&gt;
[[LPIC-1 - Kaku konspekt 2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPI_%C3%BCldinfo&amp;diff=102910</id>
		<title>LPI üldinfo</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPI_%C3%BCldinfo&amp;diff=102910"/>
		<updated>2016-04-26T10:57:02Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LPI Linuxi sertifikaadil on kolm taset:&lt;br /&gt;
* [http://www.lpi.org/eng/certification/the_lpic_program/lpic_1 Junior Level Linux Professional] (LPIC-1)&lt;br /&gt;
* [http://www.lpi.org/eng/certification/the_lpic_program/lpic_2 Advanced Level Linux Professional] (LPIC-2)&lt;br /&gt;
* [http://www.lpi.org/eng/certification/the_lpic_program/lpic_3 Senior Level Linux Professional] (LPIC-3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sertifikaadieksamite maksumused on 2016. aasta kevade seisuga järgmised (NB! Need on tavahinnad, mis ei sisalda võimalikke soodustusi!):&lt;br /&gt;
* LPIC-1 - kaks eksamit (LPI-101 ja LPI-102), kumbki koos käibemaksuga 162 USD ehk ~142 EUR, kokku seega ~284 EUR. Saab maksta ka eksamikeskuse arvega, kuid siis tuleb natuke juurde maksta.&lt;br /&gt;
* LPIC-2 - kaks eksamit (LPI-201 ja LPI-202), nagu eelmine&lt;br /&gt;
* LPIC-3 - mitu spetsialiseerumistega eksamit, vt lähemalt [http://www.lpi.org LPI veebist].&lt;br /&gt;
&lt;br /&gt;
Sertifikaat kehtib 5 aastat. Järgnev tase eeldab eelmise olemasolu, kuid näiteks LPIC-2 tegemisel nullist võib neli vajalikku eksamit sooritada vabalt valitud järjekorras. Kehtivusaja lõppedes tuleb teha kas sama sertifikaat uuesti või siis kõrgema taseme oma. Enne kehtivusaja lõppu tehtud kõrgema taseme sertifikaat alustab ajaarvestust nullist. Sertifikaadi kehtivust saab kontrollida LPI veebikeskkonnast - seal on kasutajaandmete all kirjas ka kontrollkood, mille võib koos LPI kasutajatunnusega saata näiteks tulevasele tööandjale, kes saab siis samuti kehtivust kontrollida (ilma samas muudele andmetele ligi pääsemata).&lt;br /&gt;
&lt;br /&gt;
2016. aasta kevade seisuga koosneb LPIC-1 eksam 60-st erineva kaaluga küsimusest, mis võivad olla nii &amp;quot;üks mitmest&amp;quot; kui &amp;quot;mitu mitmest&amp;quot; -valikvastused, konkreetse termini/failinime/kataloogitee/käsu küsimised (tekstilahter) kui ka arvutamised (peamiselt TCP/IP aadresside puhul). Eksam toimub putkas arvuti taga, mingit abimaterjali kasutada ei tohi - ainus legaalne abivahend on märkmete tegemiseks kasutatav plastalus. Aega antakse 90 minutit ehk poolteist tundi.&lt;br /&gt;
&lt;br /&gt;
VT ka [[LPI eksami sooritamine - soovitusi ja näpunäiteid]]&lt;br /&gt;
&lt;br /&gt;
(Lisainfot saab Kaku käest)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:LPI]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPI_sertifikaadiga_inimesed_IT_Kolled%C5%BEis&amp;diff=102909</id>
		<title>LPI sertifikaadiga inimesed IT Kolledžis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPI_sertifikaadiga_inimesed_IT_Kolled%C5%BEis&amp;diff=102909"/>
		<updated>2016-04-26T10:49:59Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Lauri Võsandi, LPIC-2&lt;br /&gt;
* Kaido Kikkas, LPIC-1&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPI_eksamiteks_valmistumise_abimaterjalid&amp;diff=102908</id>
		<title>LPI eksamiteks valmistumise abimaterjalid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPI_eksamiteks_valmistumise_abimaterjalid&amp;diff=102908"/>
		<updated>2016-04-26T10:49:16Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://www.ibm.com/developerworks/linux/lpi/ IBM DeveloperWorks Linux Professional Institute (LPI) exam prep]&lt;br /&gt;
* [http://lcdp.sourceforge.net/ Linux Certification Documentation Project]&lt;br /&gt;
* [http://savannah.nongnu.org/projects/lpi-manuals/ LPI manuals]  @ Savannah (NB! Vanemad versioonid!)&lt;br /&gt;
* [http://snow.nl/dist/htmlc/index.html The LPIC-2 Exam Prep]&lt;br /&gt;
&lt;br /&gt;
* [http://www.penguintutor.com/ PenguinTutor.com]&lt;br /&gt;
* [http://www.itexampractice.org/ ITExamPractice.org]&lt;br /&gt;
&lt;br /&gt;
* [[LPIC-1 - Kaku konspekt]] (aastast 2011; neljas osas)&lt;br /&gt;
&lt;br /&gt;
LPI tasemete tutvustused @lpi.org (sh eksami põhiväljundid ja näiteküsimused):&lt;br /&gt;
* [http://www.lpi.org/index.php/eng/certification/the_lpic_program/lpic_1 LPIC-1]&lt;br /&gt;
* [http://www.lpi.org/eng/certification/the_lpic_program/lpic_2 LPIC-2]&lt;br /&gt;
* [http://www.lpi.org/eng/certification/the_lpic_program/lpic_3 LPIC-3]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:LPI]]&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LPI_eksamite_sooritamine_Eestis&amp;diff=102907</id>
		<title>LPI eksamite sooritamine Eestis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LPI_eksamite_sooritamine_Eestis&amp;diff=102907"/>
		<updated>2016-04-26T10:48:36Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LPI eksameid saab teha Eestis kahes kohas:&lt;br /&gt;
* [http://www.koolitus.ee/  IT Koolitus] (Lõõtsa 8, Ülemiste City - Elioni maja 2. korrus. Eeliseks BCSi ees paremad parkimisvõimalused - kahjuks päris tasuta enam ei saa)&lt;br /&gt;
* [http://www.bcs.ee/koolitus.php?lang=est&amp;amp;main_id=109 BCS Koolitus] (Ahtri 10B, Tallinna kesklinn)&lt;br /&gt;
&lt;br /&gt;
Registreerumiseks ja tasumiseks on kaks varianti:&lt;br /&gt;
* [http://www.vue.com/ Pearson VUE] kaudu veebist (NB! Alates 2012. aasta suvest [http://securereg3.prometric.com/ Prometricu] kaudu enam LPI eksameid teha ei saa!). Tasumine toimub krediitkaardiga (füüsiline kaart pole nõutav, SEB-i virtuaalkaart toimib ilusti)&lt;br /&gt;
* ühes kahest kohalikust eksamikeskusest - võimalik saada arve, kuid kokkuvõttes läheb vahendustasu võrra kallimaks&lt;br /&gt;
&lt;br /&gt;
NB!!! Eksamile minnes tuleb nägudekontrolliks kaasa võtta lausa KAKS isikuttõendavat dokumenti (ID + juhiluba on OK. Teisel korral piisas Kakul isegi juhiloast + kaelakaardist, aga üldiselt tahetakse kaht pildi ja allkirjaga dokumenti).&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:LPI]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Aktiivsed_Linuxi-kasutajad_ITK_personali_seas&amp;diff=102906</id>
		<title>Aktiivsed Linuxi-kasutajad ITK personali seas</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Aktiivsed_Linuxi-kasutajad_ITK_personali_seas&amp;diff=102906"/>
		<updated>2016-04-26T10:44:05Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page Aktiivsed Linuxi-kasutajad ITK personali seas to Aktiivsed Linuxi-kasutajad EIK personali seas: lühend ITK -&amp;gt; EIK&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Aktiivsed Linuxi-kasutajad EIK personali seas]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Aktiivsed_Linuxi-kasutajad_EIK_personali_seas&amp;diff=102905</id>
		<title>Aktiivsed Linuxi-kasutajad EIK personali seas</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Aktiivsed_Linuxi-kasutajad_EIK_personali_seas&amp;diff=102905"/>
		<updated>2016-04-26T10:44:05Z</updated>

		<summary type="html">&lt;p&gt;Kaido: Kaido moved page Aktiivsed Linuxi-kasutajad ITK personali seas to Aktiivsed Linuxi-kasutajad EIK personali seas: lühend ITK -&amp;gt; EIK&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ITK personali seast kasutavad olulisel määral Linuxit järgmised kodanikud (tähestiku järjekorras):&lt;br /&gt;
&lt;br /&gt;
* Margus Ernits&lt;br /&gt;
* Kaido Kikkas&lt;br /&gt;
* Katrin Loodus&lt;br /&gt;
* Mikk Mangus&lt;br /&gt;
* Jaanus Pöial&lt;br /&gt;
* Truls Ringkjob&lt;br /&gt;
* Lauri Võsandi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(kes puudu on, võib end lisada!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Aktiivsed_Linuxi-kasutajad_EIK_personali_seas&amp;diff=102904</id>
		<title>Aktiivsed Linuxi-kasutajad EIK personali seas</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Aktiivsed_Linuxi-kasutajad_EIK_personali_seas&amp;diff=102904"/>
		<updated>2016-04-26T10:43:23Z</updated>

		<summary type="html">&lt;p&gt;Kaido: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ITK personali seast kasutavad olulisel määral Linuxit järgmised kodanikud (tähestiku järjekorras):&lt;br /&gt;
&lt;br /&gt;
* Margus Ernits&lt;br /&gt;
* Kaido Kikkas&lt;br /&gt;
* Katrin Loodus&lt;br /&gt;
* Mikk Mangus&lt;br /&gt;
* Jaanus Pöial&lt;br /&gt;
* Truls Ringkjob&lt;br /&gt;
* Lauri Võsandi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(kes puudu on, võib end lisada!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kaido</name></author>
	</entry>
</feed>