Home!
Up!

Linux:

Linux je versatilní operační systém, na kterém se dá udělat - minimálně v teorii - úplně všechno.

Pro naše potřeby nám stačí hrubá znalost principů Linuxu a dále jen ovládání programů v sekci

"Programy" tohoto webu - není to většinou nic složitého,

jenom je to občas otravné jako debil.


Pravomoci:

V Linuxu je jen jeden uživatel, který může reálně ovládat celý systém, instalovat aplikace, upravovat soubory

v chráněných složkách a nebo spravovat uživatele. Jmenuje se root - kořen systému. To může na první pohled

vypadat stupidně, a je to vážně hodně otravné, ale pracovat s ním se dá snadno a má to pár bezpečnostních výhod.

Taky to znamená, že root je něco jako Bůh - co řekne systému, to se stane - i kdyby to bylo, aby spáchal harakiri

a celý se vymazal. K jeho pravomocím se můžeme dostat dvěma způsoby: můžeme použít příkaz "sudo", který nám

na jeden příkaz půjčí jeho pravomoce, a nebo se za něj můžeme pokusit přihlásit:

sudo echo "hello"

nebo

su

a potom

echo "hello"

přičemž v obou případech budeme muset zadat heslo - v prvním naše a v druhém to, které jsme rootovi přidělili.

Root mimochodem nechodí s vlastním heslem ze základu (v Mintu ani Ubuntu, což jsou věci které nás teď zajímají) -

- proto ho musíme nejdříve nastavit příkazem

sudo passwd root

(kde opět použijeme sudo). Sudo obecně budeme používat hodně, takže je nejlepší se s tím prostě smířit.


Balíčkovací systém:

Každá moderní Linux distribuce má tzv. "balíčkovací systém" - jedná se v podstatě o software, který

instaluje aplikace, kontroluje - většinou na manuálně zadaný požadavek - aktualizace, upgraduje podle nich

aplikace i systém a pokud je potřeba, stará se i o odinstalaci. V našem případě budeme používat apt, což je

balíčkovací systém pro Ubuntu, Linux Mint a další deriváty Debianu.


Pokud chceme něco instalovat, nejdříve zkontrolujeme, že je všechno - včetně seznamů aplikací - aktualizované:

sudo apt update && sudo apt upgrade

a až poté můžeme pokračovat k dalšímu kroku, totiž samotné instalaci. Řekněme, že chceme instalovat webserver

Apache, který je v repozitářích pod jménem "apache2":

sudo apt install apache2

Linux také obvykle netřeba restartovat kvůli změnám v systému.


RWX (POSIX) práva

V návaznosti na UNIXovou filozofii - ze které celý Linux vychází - disponuje Linux tzv. POSIXovými právy.

Jedná se o velice primitivní způsob, jak určit vlastníka souboru, práva pro něj i ostatní atp. Jde o tohle:

Každý soubor může být čten (read - R), zapsán (write - W) a spouštěn (execute - X). A každý soubor má určenou

skupinu a uživatele. Tato skupina a uživatel mohou mít od ostatních odlišná práva, například soubor tridnice:

-rwxr-xr-- ucitel rodic tridnice

znamená:

- jedná se o soubor ("-"" na začátku, může být i d jako složka - directory a l jako link - odkaz)

- jedná se o soubot uživatele ucitel (vlastník souboru)

- jedná se o soubor skupiny rodic

- ucitel má práva "rwx" (první sada znaků), členové skupiny rodic mají práva "r" a "x" ("r-x")a všichni ostatní

můžou jenom číst ("r--").

Takový výpis můžeme sehnat pomocí příkazů "ll" nebo "ls -l"


Nastavení práv:

POSIX práva můžeme nastavit příkazem chmod:

sudo chmod 754 tridnice

kde 754 reprezentuje práva v oktálové soustavě - pokud bychom měli třeba RWX, je to jako 111, což je v binární

soustavě 7, takže proto je první místo 7 - stejně tak 101 (R-X) je 5 a 100 (R--) je 4, a tridnice je náš soubor.

pokud pracujeme s adresářem, přidáme před číslo -R, aby se provedla akce rekurzivně pro všechny soubory uvnitř:

sudo chmod -R 754 fajneslozka

Nastavení vlastnictví:

Vlastnictví souboru (pro aplikaci POSIX práv) můžeme nastavit příkazem chown:

sudo chown fajneuzivatel:fajneskupina fajnesoubor

kde zkrátka nahradíme správné názvy uživatelů, skupiny a soubotu (v případě adresáře potom provedeme to samé

s příkazem

sudo chown -R fajneuzivatel:fajneskupina fajneslozka

a voila, máme nastavené vlastníky.


Služby

Linux dělá se službami několik věcí, ale pro naše účely jsou hlavní jenom dvě:

- Linux vytvoří pro každou službu jejího vlastního uživatele a

- Linux spravuje služby přes příkazy "service" nebo "systemctl"

když chceme službu restartovat, napíšeme tedy:

sudo service restart služba

kde za službu dáme jméno služby, například:

sudo service restart apache2

Uživatelé

Linux má samozřejmě možnost více uživatelů - přidávají se příkazem

sudo useradd uživatel

kde "uživatel" nahradíme jménem uživatele - třeba pepa:

sudo useradd pepa

a dále budeme muset změnit jeho heslo, aby se k němu dalo přihlásit:

sudo passwd pepa

Pokud se chceme za někoho přihlásit z pohodlí naší plochy, použijeme příkaz

su pepa

který nám dovolí procházet terminál daného uživatele. Pro odhlášení poté použijeme

exit

Pokud necháme příkaz

su

bez názvu uživatele, pokusí se přihlásit za roota - to taky může být docela užitečné.


Základní příkazy

Abychom se dokázali v Linuxovém terminálu vůbec orientovat, musíme ovládat některé jednoduché příkazy. Například: ls - vypíše věci z momentálního adresáře. Pomocí -a vypíše i skryté (ty s tečkou na začátku) cd - změní adresář na ten, který mu specifikujeme - "cd ~" nás poté dá do domovské složky a "cd .." o složku nahoru pwd - napíše nám momentální adresář - většinou zbytečné, protože dokud si budeme pamatovat, že "~"" je zkratka pro "/home/[jméno uživatele]" - například "/home/user", můžeme si ho přešíst z promptu mkdir - vytvoří složku - "mkdir pepa" vytvoří složku "pepa" nano - není to sice příkaz, ale přívětivý textový editor. Můžeme s ním i tvořit soubory, když neexistují. "nano test" otevře soubor test, a jestli neexistuje, otevře prázdný list který se potom dá uložit jako "test" cat - rychle vypíše text ze souboru. Více možností viz. --help tail - stejné jako cat, ale procuje s koncem textu ze souboru. viz. --help head - tail, ale se začátkem. viz. --help touch - prostě vytvoří soubor - "touch pepa" vytvoří soubor "pepa", ve kterém nic není rm - něco smaže - "rm pepa" smaže pepu. "rm -R neco" smaže "neco", a jestli to byla složka, tak díky "-R" smaže i všechno v ní Důležitá funkce čehokoliv v Linuxu je možnost za to napsat --help a ono to vypíše nápovědu. Například "cd --help" nebo "rm --help" a podobně.