Štart a vypnutie systému

Úloha

  1. Zoznámte s obsahom adresára /boot
  2. Preskúmajte adresár /boot/grub
  3. Preskúmajte adresár /boot/efi
  4. Preskúmajte adresár /boot/efi/EFI/debian. Zistite účel súborov
    grub.cfg base.cfg grub.ok custom.cfg
  5. Nainštalujte si počas výuky všetky grafické prostredia

Teoretický rozbor

Popis systému systemd v Linuxe

systemd je moderný init systém a správca služieb používaný v Linuxe. Je to prvý proces, ktorý sa spustí po načítaní jadra (má PID 1), a stará sa o spúšťanie všetkých ostatných procesov, služieb a systémových funkcií.

1. Spustenie systemd

Po načítaní jadra Linuxu sa vykoná:

/sbin/init → symlink → /lib/systemd/systemd

Tým sa spustí proces systemd ako PID 1.

2. Načítanie konfigurácie

Systemd načítava jednotky (units) z týchto priečinkov:

3. Jednotky (Units)

Každá služba, mount alebo cieľ je definovaný v súbore s príponou .service, .target, .mount, .socket, .timer atď.

    # /lib/systemd/system/sshd.service
    [Unit]
    Description=OpenSSH server daemon
    After=network.target
    
    [Service]
    ExecStart=/usr/sbin/sshd -D
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

4. Ciele (Targets)

Systemd používa tzv. targets namiesto starých "runlevelov".

Runlevelsystemd TargetPopis
1rescue.targetJednouchý režim (single user)
3multi-user.targetBežný textový režim
5graphical.targetGrafické prostredie
0poweroff.targetVypnutie systému
6reboot.targetReštart systému

5. Paralelné spúšťanie

Systemd dokáže spúšťať služby paralelne podľa ich závislostí (After=, Requires=), čo výrazne zrýchľuje štart systému.

6. Správa služieb

Na správu služieb sa používa príkaz systemctl:

    systemctl status sshd.service      # stav služby
    systemctl start sshd.service       # spustiť
    systemctl stop sshd.service        # zastaviť
    systemctl restart sshd.service     # reštartovať
    systemctl enable sshd.service      # spúšťať pri štarte
    systemctl disable sshd.service     # nespúšťať pri štarte
    

7. Logovanie – journald

Systemd má vlastný systém logovania (journald):

    journalctl             # všetky logy
    journalctl -b          # logy od posledného bootu
    journalctl -u sshd     # logy konkrétnej služby
    

8. Analýza bootu

Na analýzu rýchlosti štartu systému:

    systemd-analyze
    systemd-analyze blame
    systemd-analyze critical-chain
    

9. Zhrnutie komponentov

FunkciaKomponent
Init proces/lib/systemd/systemd
Správa služiebsystemctl
Logovaniejournald
Čas a dátumtimedated
Sieťnetworkd
Používatelialogind
Automatické úlohysystemd-timer
Poznámka: Systemd spúšťa služby paralelne a sleduje ich stav počas celého behu systému. Ak služba zlyhá, môže ju automaticky reštartovať.

Postup