Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

Správa balíkov pomocou apt

Modul 4: Softvér a aktualizácie · Čas čítania: 10 minút

Cieľ lekcie: Po tejto lekcii dokážete inštalovať, aktualizovať a odstraňovať softvér pomocou apt, zistíte, odkiaľ balík pochádza, a rozpoznáte, ktoré aktualizácie sú bezpečnostné.

Kľúčové pojmy: balík, zdroj balíkov (repozitár), sources.list, súbor .sources (deb822), signed-by, apt update, apt upgrade, apt full-upgrade, remove, purge, autoremove, apt-cache policy, bezpečnostný zdroj, dnf

Prečo správca balíkov?

Vo Windows si inštalačný program stiahnete z webovej stránky. Na linuxovom serveri to nerobíte takmer nikdy. Softvér prichádza ako balík zo zdroja balíkov (repozitára): je to server distribúcie s tisíckami programov, ktoré sú všetky zostavené a otestované pre vašu verziu Debianu alebo Ubuntu. Program, ktorý tieto balíky sťahuje, inštaluje a aktualizuje, sa nazýva správca balíkov. Na Debiane a Ubuntu je to apt (pod ním dpkg), na AlmaLinux a Rocky Linux dnf.

To má tri veľké výhody:

  1. Jeden príkaz aktualizuje všetko. Webový server, SSH server, knižnice aj jadro pochádzajú z rovnakého zdroja. Nemusíte pri každom programe zvlášť kontrolovať na webe, či vyšla nová verzia.
  2. Pôvod je overený. Každý zdroj balíkov je podpísaný kľúčom. apt odmietne balíky, ktorých podpis nesedí.
  3. Závislosti sa riešia automaticky. Ak nginx potrebuje knižnicu, apt ju automaticky doinštaluje a neskôr ju aj odstráni.

Zdroje balíkov: odkiaľ to pochádza?

Ktoré zdroje apt používa, je uvedené v /etc/apt/. Dlho to bol jediný súbor sources.list s riadkami ako:

deb http://deb.debian.org/debian bookworm main

Ubuntu 24.04 a novšie, cloudové obrazy Debianu a čoraz viac nových inštalácií používajú novší formát deb822: samostatné súbory s príponou .sources v /etc/apt/sources.list.d/. Starý sources.list môžete previesť príkazom sudo apt modernize-sources (apt 3, Debian 13). Napríklad na Debiane 13:

anna@web1:~$ cat /etc/apt/sources.list.d/debian.sources
Types: deb
URIs: http://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: http://deb.debian.org/debian-security
Suites: trixie-security
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Čítajte to takto: suite je verzia (trixie je Debian 13; noble je Ubuntu 24.04), component je časť zdroja (main pri Debiane; main, universe, restricted a multiverse pri Ubuntu) a Signed-By určuje, ktorým kľúčom musí byť zdroj podpísaný. To posledné je dôležité: kľúč patrí k jednému zdroju, nie ku všetkým zdrojom naraz. Ak neskôr pridáte zdroj od výrobcu (Docker, Caddy, PostgreSQL), dostane vlastný súbor s kľúčom a vlastný riadok Signed-By (lekcia 9.2).

Zdroj s -security v názve je bezpečnostný zdroj. Z neho prichádzajú bezpečnostné aktualizácie, väčšinou v ten istý deň, keď sa zraniteľnosť zverejní. Na Ubuntu sa táto suite volá noble-security (alebo podľa názvu vašej verzie).

Ak ešte používate starý sources.list, všetko funguje normálne. Len nemiešajte ten istý zdroj v oboch formátoch, pretože apt sa potom sťažuje na duplicitné riadky.

update, upgrade a full-upgrade

Rozdiel medzi týmito tromi pojmami je prvá pasca pre začiatočníkov.

PríkazČo robí
apt updateStiahne zoznam balíkov a verzií, ktoré sú v zdrojoch. Nič neinštaluje.
apt upgradeAktualizuje nainštalované balíky na najnovšiu verziu z tohto zoznamu. Nikdy nič neodstráni. Aktualizácia, ktorá by vyžadovala odstránenie iného balíka, sa preskočí.
apt full-upgradeTo isté, ale v prípade potreby smie balíky aj odstrániť alebo nainštalovať nové. Potrebné pri upgrade na nové vydanie (lekcia 4.3) a niekedy pri novom jadre.

Preto vždy najprv update, potom upgrade:

anna@web1:~$ sudo apt update
Hit:1 http://deb.debian.org/debian trixie InRelease
Get:2 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
...
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
anna@web1:~$ apt list --upgradable
Listing... Done
libssl3t64/trixie-security 3.5.1-1+deb13u1 amd64 [upgradable from: 3.5.1-1]
openssh-server/trixie-security 1:10.0p1-7+deb13u1 amd64 [upgradable from: 1:10.0p1-7]
tzdata/trixie-updates 2026b-0+deb13u1 all [upgradable from: 2026a-0+deb13u1]

(Čísla verzií vyššie sú len príklad.) Za názvom je uvedené, z ktorej suite nová verzia pochádza. Všetko s -security je bezpečnostná aktualizácia: tú chcete čo najskôr. -updates sú ostatné stabilné aktualizácie, napríklad nové údaje o časových pásmach.

Potom:

anna@web1:~$ sudo apt upgrade

apt zobrazí, čo sa zmení, a požiada o potvrdenie. Tento zoznam si prečítajte. Ak sa v ňom objaví „The following packages will be REMOVED“ (tieto balíky budú odstránené), deje sa niečo neobvyklé a najprv chcete vedieť prečo.

Inštalácia, odstránenie a upratanie

anna@web1:~$ sudo apt install nginx
anna@web1:~$ sudo apt remove nginx       # program odstránený, konfigurácia v /etc zostáva
anna@web1:~$ sudo apt purge nginx        # program aj konfigurácia odstránené
anna@web1:~$ sudo apt autoremove         # vyčistiť to, čo už nikto nepotrebuje

Rozdiel medzi remove a purge je užitočný: ak chcete niečo dočasne odstrániť a neskôr znova nainštalovať s rovnakými nastaveniami, použite remove. Ak chcete naozaj začať odznova, purge.

Vyhľadávanie a ďalšie informácie:

anna@web1:~$ apt search fail2ban
anna@web1:~$ apt show fail2ban
anna@web1:~$ apt-cache policy openssh-server
openssh-server:
  Installed: 1:10.0p1-7
  Candidate: 1:10.0p1-7+deb13u1
  Version table:
     1:10.0p1-7+deb13u1 500
        500 http://deb.debian.org/debian-security trixie-security/main amd64 Packages
 *** 1:10.0p1-7 500
        500 http://deb.debian.org/debian trixie/main amd64 Packages

apt-cache policy je príkaz, ktorý použijete, keď chcete zistiť, odkiaľ balík pochádza a ktorú verziu apt zvolí. *** je pri nainštalovanej verzii, Candidate je to, čo by nainštaloval upgrade.

Verzie Debianu a verzia programu

Častá sťažnosť: „V Debiane je stará verzia nginx.“ Je to pravda a je to zámer. Debian a Ubuntu zmrazia verzie pri vydaní a potom pridávajú len bezpečnostné opravy a opravy vážnych chýb, bez nových funkcií. Preto môže mať balík so „starým“ číslom verzie aj tak všetky nedávne bezpečnostné opravy: tie sú spätne prenesené (backport) do starej verzie. Spoznáte to podľa prípony, napríklad +deb13u1 alebo ubuntu0.1.

Preto nikdy neporovnávajte len číslo verzie s webom výrobcu, keď posudzujete, či ste zraniteľní. Pozrite sa na bezpečnostné oznámenia vašej distribúcie: Debian Security Tracker (security-tracker.debian.org) a Ubuntu Security Notices (ubuntu.com/security/notices) uvádzajú pri každej zraniteľnosti, či je vaša verzia opravená.

Niekoľko pravidiel pre pokojný server

  • Inštalujte len to, čo potrebujete. Každý balík je kód, ktorý treba aktualizovať, a niekedy aj služba, ktorá počúva (lekcia 5.1).
  • Radšej z distribúcie než z webovej stránky. Program, ktorý si sami skompilujete alebo stiahnete ako samostatný súbor, apt upgrade neaktualizuje. Bezpečnostné oznámenia potom musíte sledovať sami.
  • Ďalší zdroj len priamo od výrobcu, s vlastným kľúčom a Signed-By. Nikdy nepridávajte kľúč „pre všetko“ a nikdy zdroj z neznámej webovej stránky (lekcia 4.3).
  • Čítajte, na čo sa apt pýta. Pri upgrade sa apt môže opýtať, či chcete zmenený konfiguračný súbor nahradiť novou verziou od výrobcu. Ak neviete, čo ste v ňom menili, zvoľte „keep the local version“ (ponechať lokálnu verziu, predvolené) a rozdiel si neskôr pozrite pomocou diff: nová verzia je uložená vedľa ako .dpkg-dist.

Na AlmaLinux a Rocky Linux

Tam sa správca balíkov volá dnf a balíky sú .rpm. Príkazy sa podobajú na apt: dnf check-update (zoznam), dnf upgrade (aktualizácia, update a upgrade v jednom), dnf install, dnf remove, dnf info. Zdroje sú v /etc/yum.repos.d/*.repo. Veľa ďalšieho softvéru (napríklad fail2ban) pochádza zo samostatného zdroja EPEL, ktorý najprv zapnete pomocou dnf install epel-release. Len bezpečnostné aktualizácie zobrazíte pomocou dnf updateinfo list --security.

V praxi: obrazovka VPS

Vo WebOké, rovnako ako u väčšiny iných poskytovateľov, inštalácia vášho VPS už správne nastaví štandardné zdroje distribúcie. Spravidla na nich nemusíte nič meniť. Server aktualizujte hneď po prvom prihlásení pomocou apt update a apt upgrade (lekcia 1.2) a pred väčšími zmenami si vytvorte snapshot v paneli vášho poskytovateľa.

Zhrnutie

  • Softvér na Debiane a Ubuntu pochádza z podpísaných zdrojov balíkov; apt sťahuje, inštaluje, aktualizuje a upratuje.
  • apt update len stiahne zoznam; apt upgrade aktualizuje bez odstraňovania; apt full-upgrade smie aj odstraňovať.
  • Bezpečnostné aktualizácie pochádzajú zo suite s -security v názve; apt list --upgradable a apt-cache policy ukážu, odkiaľ verzia pochádza.
  • Staré číslo verzie s +deb13u1 alebo ubuntu0.x môže obsahovať všetky opravy (backport): pozrite sa na bezpečnostné oznámenia vašej distribúcie.
  • Ďalší zdroj len priamo od výrobcu, s vlastným kľúčom v Signed-By.

Kvíz

1. Na serveri, na ktorom ste týždeň nič nerobili, zadáte sudo apt upgrade a apt oznámi, že je všetko aktuálne. Viete však, že včera vyšla aktualizácia OpenSSH. Aké je najpravdepodobnejšie vysvetlenie?



2. Aký je rozdiel medzi apt remove a apt purge?



3. V apt list --upgradable je uvedené openssh-server/noble-security .... Čo hovorí časť noble-security?



4. Na webe programu je verzia 2.8, zatiaľ čo Debian dodáva 2.6 s +deb13u2. Kolega hovorí: „Debian je teda zraniteľný voči všetkým chybám opraveným vo verziách 2.7 a 2.8.“ Čo platí?



5. Prečo patrí k ďalšiemu zdroju balíkov vlastný kľúč s Signed-By?



Úloha

Úloha Z4.1: Ktoré aktualizácie sú bezpečnostné? V ukážkovom súbore apt-upgradable.txt je výstup príkazov apt list --upgradable a apt-cache policy zo servera s Debianom 13. Odpovedzte: ktoré balíky pochádzajú z bezpečnostného zdroja, ktorý balík pochádza zo zdroja výrobcu namiesto Debianu, ktorá verzia openssh-server je teraz nainštalovaná a ktorý balík je bežná stabilná aktualizácia bez bezpečnostného dôvodu? Program odpovede porovná s pevným kľúčom. Ak už máte vlastný server, spustite tie isté príkazy a pozrite sa, čo uvidíte.

Úloha Z4.1: Ktoré aktualizácie sú bezpečnostné?

Súbor k tejto úlohe: apt-upgradable.txt





Čo vyplníte a čo nájdeme, neukladáme. Váš prehliadač si pamätá vaše odpovede a to, či ste úlohu splnili. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že úloha bola (takmer) správne vyriešená; aj to tam môžete odstrániť.

Ďalšie čítanie

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…