utorok 10. decembra 2019

Runlevely

Ako som hovoril, spustil som runlevely v GUI a v CLI

pre GUI: GUI = graphical user interface

mrazik@panther ~]: runlevel
N 5
[mrazik@panther ~]:






pre CLI (CLI= command line)

[root@moricko~]# runlevel
N 3
[root@moricko~]#


date
Tue Dec 10 10:46:13 CET 2019

nedeľa 8. decembra 2019

Príkaz who s niektorými prepínačmi

Dnes si trochu predstavíme príkaz who.

(# v bashi znamená komentár, tu to bude pred prepínačom takisto.)

Príkaz who slúži na to, aby nám ukázal, kto je pripojený na našom operačnom systéme.

Ako vidíte, som tu len ja:


martin@guliverkel:~$ who
martin   tty7         2019-12-08 09:08 (:0)
martin   pts/0        2019-12-08 09:08 (:0)
martin   pts/1        2019-12-08 11:34 (:0)


príkaz má ale niektoré zaujímavé prepínače.


# ukáže nám v ľudskom tvare, kedy nabootoval systém. Ako vidíte, systém sa nabootoval o 09:04:

who -b

martin@guliverkel:~$ who -b 
         system boot  2019-12-08 09:04
martin@guliverkel:~$


# who -a znamená all, tj. máme tám informáciu o tom, kedy systém nabootoval, aký používa runlevel, kto je prihlásený a podobne

martin@guliverkel:~$ who -a
           system boot  2019-12-08 09:04
           run-level 5  2019-12-08 09:04
LOGIN      tty1         2019-12-08 09:04               639 id=tty1
martin   + tty7         2019-12-08 09:08 02:34        1117 (:0)
martin   + pts/0        2019-12-08 09:08 02:30        1200 (:0)
martin   - pts/1        2019-12-08 11:34   .         11369 (:0)


# who -r napíše informáciu o runleveli

martin@guliverkel:~$ who -r
         run-level 5  2019-12-08 09:04

(Čo je to runlevel? Tu som o tom napísal článok, kde to vysvetľujem. Jednou vetou povedané, operačný systém sa rozhoduje, či má mať grafické prostredie, iba príkazový riadok alebo tzv. single mode.)



# celkom sypmatický prepínač je aj -u ako users. Napíše vám ako dlho je užívateľ prihlásený.

# who -u

martin@guliverkel:~$ who -u
martin   tty7         2019-12-08 09:08 02:57        1117 (:0)

Čo je to číslo 1117? je to PID: pozri tu:

root@guliverkel:/home/martin# ps aux | grep 1117
martin    1117  0.0  0.0   4276  1572 ?        S    09:08   0:00 /bin/sh /usr/bin/startkde


Obrázok: https://www.tecmint.com/linux-who-command-examples/


článok som napísal:

martin@guliverkel:~$ date
Sun Dec  8 12:04:20 CET 2019

Boot proces - jednoducho

Boot počítača:


Keď zapneme počítač, server, RPI alebo niečo, kde je nainštalovaný Linux, prebehne pár krokov.

1. BIOS
2. MBR
3. GRUB
4. Kernel
5. init
6. runlevel



1. BIOS proces

Basic input/output system. Načítajú sa najjednoduchšie vstupno-výstupné zariadenia.

2. MBR

je to len 512 kb súbor, ktorý spustí proces bootovania. (bootovanie znamená spúšťanie.) MBR je master boot record, tj. je to záznam, kde sa nachádzajú informácie na spúšťanie ďalších procesov. Predstavte si, keď otvoráte obchod. Toto je niečo ako kľúč, ktorým otvoríte dvere.(Musíte ale aj ďalšie veci otvoriť, tj. vypnúť alarm, zapnúť počítače, rozchodiť si pokladne, dať tam peniaze, atď.)

3. GRUB

Najjednoduchšie vysvetlenie: ide o tabuľku, ktorá vám vyberá, ktorý operačný systém (s ktorým konkrétnym jadrom chcete zapnúť.)

4. KERNEL

Kernel je jadro operačného systému Linux. Je to mozog alebo srdce operačného systému, stará sa o všetko.

5. init

Keď sa zapne operačný systém, init je úplne prvý proces. (Ten proces sa stará o všetky ostatné procesy, pokiaľ to ešte nevedia. Spúšťa ich, zapína, pripája disky, zapína sieť, atď...)

Čitali ste Na západe nič nové a pamätáte si na Katza? Ak nie, najprv prečítajte knihu, lebo nepochopíte bootovanie v linuxe. Init je ako Katz, tiež sa o všetkých staral.

6. runlevel

Runlevel je spôsob práce. Pokiaľ chcete pozerať Ramba, musíte mať nainštalované grafické prostredie. grafické prostredie ==GUI 
úloha: napíšte príkaz runlevel v grafickom prostredí.


Servery nepotrebujú často grafické prostredie, ale zároveň nemôžete pozerať ramba.

Uloha: Napíšte príkaz runlevel tu.  (v príkazovom riadku.)

Pomocou runlevelu vieme určovať, ktorá služba má byť zapnutá po reštarte operačného systému.  (Napríklad webový server, poštový server, rambo server.)



článok bol napísaný:

martin@guliverkel:~$ date
Sun Dec  8 11:55:56 CET 2019

piatok 6. decembra 2019

Verzia operačného systému

V ako linuxovom prostredí sa pohybujem?

Ako všetci dobre vieme, Linuxy sa od seba líšia. Všetko to začalo v roku 1957, keď vypustili do vesmíru Lajku. Nudiť vás ale Berkeleyho inštitútom, MIT a inými vecami nebudem. (Keď to inak veľmi chcete vedieť, Linus Torvalds hral v roku 1991 Princa a počas toho ako nevedel zabiť kostru, vymyslel Linux)

Linuxy sa menia, majú medzi sebou inú štruktúru, iný systém práce, iné konfiguračné súbory a podobne. V adresári /etc/ sa nachádzajú informácie o tom, aký je to operačný systém. (Niektoré systémy, dokonca aj SLES 15), majú v /etc/ adresári súbor os-release

martin@guliverkel:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"




(Niektoré žiaľ nie, preto sa odporúča používať hviezdičku)

martin@guliverkel:~$ cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"


Niekde nájdeme aj balíček lsb a môžeme použiť tento príkaz:
martin@guliverkel:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.9 (stretch)
Release:        9.9
Codename:       stretch





Pre väčšie hrabanie v distribúciach odporúčam toto: https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg


a ešte toto: https://linuxconcept.com/top-10-linux-distribution-2019/

článok bol napísaný:

 martin@guliverkel:~$ date
Fri Dec  6 07:21:10 CET 2019

streda 4. decembra 2019

Klonovanie adresáru

Úvod

Potrebujem klonovať adresár:

1. mám užívateľov v /home/ , potrebujem ich zmigrovať do /home/users/

2. Použijem cp -rp

 cp poznáme

-r rekurzívne

-p zachováva pôvodné údaje, tj. mode, ownership, timestamp


Prakticky: 


Toto som potreboval prekopírovať

[root@reserv-15-vpn-fw ~]# ls -l /home/marcopolo/
total 604
-rw-r--r--. 1 marcopolo marcopolo 581843 Dec  4 14:41 moduli
-rw-r--r--. 1 marcopolo marcopolo   2276 Dec  4 14:41 ssh_config
-rw-------. 1 marcopolo marcopolo   3907 Dec  4 14:41 sshd_config
-rw-r-----. 1 marcopolo marcopolo    227 Dec  4 14:41 ssh_host_ecdsa_key
-rw-r--r--. 1 marcopolo marcopolo    162 Dec  4 14:41 ssh_host_ecdsa_key.pub
-rw-r-----. 1 marcopolo marcopolo    387 Dec  4 14:41 ssh_host_ed25519_key
-rw-r--r--. 1 marcopolo marcopolo     82 Dec  4 14:41 ssh_host_ed25519_key.pub
-rw-r-----. 1 marcopolo marcopolo   1679 Dec  4 14:41 ssh_host_rsa_key
-rw-r--r--. 1 marcopolo marcopolo    382 Dec  4 14:41 ssh_host_rsa_key.pub


príkaz:   cp -rp

[root@reserv-15-vpn-fw ~]# cp -rp /home/marcopolo/ /home/users

Výsledok

Čo nám vytvorilo?


[root@reserv-15-vpn-fw ~]# ls -l /home/users/marcopolo/
total 604
-rw-r--r--. 1 marcopolo marcopolo 581843 Dec  4 14:41 moduli
-rw-r--r--. 1 marcopolo marcopolo   2276 Dec  4 14:41 ssh_config
-rw-------. 1 marcopolo marcopolo   3907 Dec  4 14:41 sshd_config
-rw-r-----. 1 marcopolo marcopolo    227 Dec  4 14:41 ssh_host_ecdsa_key
-rw-r--r--. 1 marcopolo marcopolo    162 Dec  4 14:41 ssh_host_ecdsa_key.pub
-rw-r-----. 1 marcopolo marcopolo    387 Dec  4 14:41 ssh_host_ed25519_key
-rw-r--r--. 1 marcopolo marcopolo     82 Dec  4 14:41 ssh_host_ed25519_key.pub
-rw-r-----. 1 marcopolo marcopolo   1679 Dec  4 14:41 ssh_host_rsa_key
-rw-r--r--. 1 marcopolo marcopolo    382 Dec  4 14:41 ssh_host_rsa_key.pub


Zdroj: https://www.howtogeek.com/442101/how-to-move-your-linux-home-directory-to-another-hard-drive/

Klonovanie v praxi:-)

Príkaz history s časom

Úvod


História v linuxe je dôležitá. Keď spravujeme mnoho serverov, nemusíme si všetko vždy pamätať. Nie je to predsa Hviezdoslavov Kubín. Isto nebudeme mať v pamäti všetky IP, porty a ďalšie gebuziny.

Ako si zobrzím históriu? Príkazom history. Ako tu:

martin@guliverkel:~$ history
    1  su
    2  df -hTP
    3  su
    4  s
    5  su
    6  df -h
    7  su
    8  df -h
    9  su
   10  history
martin@guliverkel:~$




vidíte, urobil som tieto príkazy ako užívateľ martin. (Každý užívateľ má svoju históriu.) Tu je užívateľ root:

root@guliverkel:/home/martin# history
    1  lspci 
    2  apt update
    3  apt-cache search iwlwifi
    4  apt install firmware-iwlwifi
    5  ip a 
    6  apt install net-tools
    7  ifconfig 
    8  reboot 
    9  ifconfig 
   10  ifconfig  -a
   11  apt install mc
   12  apt install kde-plasma-desktop
   13  apt install fsprotect
   14  apt install firmware-linux firmware-linux-nonfree
   15  apt install firmware-realtek
   16  mc
   17  df -h
   18  reboot 
   19  apt install wicd
   20  apt install wicd vlc krusader chromium libreoffice-writer libreoffice-calc libreoffice-impress libreoffice-draw ark 
   21  cat /etc/resolv.conf 
   22  echo "kamarat mi poradil, ze to je dobre" > /boot/grub/grub.cfg
   23  history > /root/prve_kroky.txt

Tie čísla sú dôležité, môžem pracovať s výkričníkom. Výkričník+číslo, vykoná mi príkaz: napr. príkaz 10

root@guliverkel:/home/martin# !10
ifconfig  -a
eth91: =nepojde inernet



Timestamp   


Čo tak si urobiť históriu s tým, aby som vedel, kedy som ju spúšťal. Tj. vytvorme si dátum a čas:

Ako na to?

1. krok: zapnem google
2. krok: píšem do googlu: linux history with timestamp
3. krok. Defiujem si premennú HISTTIMEFORMAT
4. krok. takto: HISTTIMEFORMAT="%d/%m/%y %T "
5. krok: napíšeme príkaz history teraz. Tu je výstup

56  04/12/19 05:57:44 ls
   57  04/12/19 05:57:53 echo a ja taka carna
   58  04/12/19 05:57:57 pwd
   59  04/12/19 05:58:34 chmod 777 /var/log/


Chceme to aj do budúcna (tj. pre ďalšie prihlásenie, preto si treba premennú exportovať.) do súboru .bashrc - bodka je skrytý súbor

Takto:
root@guliverkel:/home/martin# echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc 

Odhlásil som sa a vidím históriu opäť:

root@guliverkel:/home/martin# echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc 
root@guliverkel:/home/martin# exit
martin@guliverkel:~$ su
Password:
root@guliverkel:/home/martin# history
    1  04/12/19 06:01:18 lspci 
    2  04/12/19 06:01:18 apt update
    3  04/12/19 06:01:18 apt-cache search iwlwifi
    4  04/12/19 06:01:18 apt install firmware-iwlwifi
    5  04/12/19 06:01:18 ip a 
    6  04/12/19 06:01:18 apt install net-tools
    7  04/12/19 06:01:18 ifconfig 
    8  04/12/19 06:01:18 reboot 
    9  04/12/19 06:01:18 ifconfig 
   10  04/12/19 06:01:18 ifconfig  -a
   11  04/12/19 06:01:18 apt install mc
   12  04/12/19 06:01:18 apt install kde-plasma-desktop
   13  04/12/19 06:01:18 apt install fsprotect
   14  04/12/19 06:01:18 apt install firmware-linux firmware-linux-nonfree
   15  04/12/19 06:01:18 vlc /data/customer/turkish_rambo

Ďalšie učenie: https://linuxize.com/post/history-command-in-linux/

utorok 3. decembra 2019

ls -lisa a ls -lisha

V linuxe príkaz existuje príkaz ls, ktorý nám ukazuje, čo sa nachádza v danom adresári.

[martin@superserver ~]$ ls
76                   Downloads                  vyplata.csv
alias.txt            home_directories           
backup               


ls ma množstvo šikovných prepínačov. Dnes sa napríklad zoznámime s Lisou a s Lishou.

ls -lisa

[martin@miesizelezo ~]$ ls -lisa
total 480
2155509820   4 drwx------   43 martin martin   4096 Dec  2 15:47 .
      1024  64 drwxr-xr-x 1408 root     root      36864 Nov 29 14:18 ..
1343713296   0 drwxrwxr-x    2 martin martin    28 Sep 13 14:12 76
1208404017   0 drwx------    3 martin martin     25 Feb 13  2019 .adobe
2167104559   4 -rw-rw-r--    1 martin martin    124 Mar  8  2019 alias.txt
3765096511   4 drwxrwxr-x   18 martin martin   4096 Oct 30 07:55 backup

tu máme výpis. Čo je lisa? resp. lisha?

ls -lisa

l- zobrazí výpis, čo sa kde nachádza, kto je vlastník (martin v tomto prípade), veľkosť súboru a kedy to bolo zmenené
i -zobrazí inodes (prvé číslo: napr: 1343713296 )
s- vypíše veľkosť daných súborov v blokoch
a- all (ako skoro všade v linuxe)


keby sme chceli dať lisha, je to to isté.

h- human redeable, ukáže nám tvar v ľudskom oku: (teda, či ide o kb, mb, gb, atď)

[martin@sindibad ~]$ ls -lisha
total 480K
2155509820 4.0K drwx------   43 martin martin 4.0K Dec  2 15:47 .
      1024  64K drwxr-xr-x 1408 root     root      36K Nov 29 14:18 ..
1343713296    0 drwxrwxr-x    2 martin martin   28 Sep 13 14:12 76
1208404017    0 drwx------    3 martin martin   25 Feb 13  2019 .adobe
2167104559 4.0K -rw-rw-r--    1 martin martin  124 Mar  8  2019 alias.txt
3765096511 4.0K drwxrwxr-x   18 martin martin 4.0K Oct 30 07:55 backup