Hlavní navigace

Red Hat Enterprise Linux 8: novinky v distribuci, která prostě funguje

Miroslav Suchý

Na začátku května byla vydána osmá verze očekávané enterprise linuxové distribuce Red Hat Enterprise Linux. Podívejme se společně na nejzajímavější novinky: změnu v balíčkovacím systému, nové kontejnery či kompresi.

Doba čtení: 5 minut

Sdílet

Poznámka: autor tohoto článku pomáhal vytvářet RHEL 8 a pracuje pro Red Hat.

Na začátku května jsme vás informovali o vydání Red Hat Enterprise Linuxu 8 (RHEL 8). Pojďme se nyní spolu podívat, co vše je v něm nového.


Začátkem května proběhl Red Hat Summit, kde bylo oznámeno spoustu nových vydání: Red Hat OpenShift 4, OpenShift on Azure a samozřejmě také Red Hat Enterprise Linux 8 (RHEL 8). RHEL je vlastně ze všech novinek nejméně zajímavý, protože se dá shrnout do jedné věty: „prostě funguje“. Předchozí verze RHEL 7 ovšem vyšla už před pěti lety. To je v IT hodně dlouhá doba, takže je jasné, že vevnitř se skrývá mnoho novinek.

Pokud jste netrpěliví a chcete si RHEL sami vyzkoušet, nemusíte čekat na vydání CentOS 8, které bude asi za měsíc, ale můžete si zdarma stáhnout vývojářskou edici.

Novinky

Asi největší změnou je přítomnost DNF místo YUM. V RHELu je dostupný jako YUM v4 a byl kladen velký důraz na zachovaní zpětné kompatibility se starým YUMem. Takže téměř všechno z RHEL 7 funguje stejně i v RHEL 8 (stále používáte /usr/bin/yum). Změny v chování tam samozřejmě jsou, ale jsou dobře dokumentovány. Pokud jste ještě neměli možnost si vyzkoušet DNF osobně: jeho výhodami jsou rychlost a velmi dobře dokumentované API.

Změnil se i způsob distribuce. Balíčky se nyní nachází ve dvou druzích repozitářů:

  • BaseOS
  • AppStream

První z nich (BaseOS) obsahuje základní sadu balíčků společnou pro všechny instalace. Jedná se klasický repozitář, tak jak ho známe z předchozích verzí RHELu, a na všechny balíčky v tomto repozitáři poskytuje Red Hat svoji obvyklou desetiletou podporu.

Druhý repozitář je úplná novinka. Aplikační stream (Application Stream) je speciální druh repozitáře, který může maskovat některé balíky. Vy, jako správci systému, si vyberete, který stream si zvolíte. Zda chcete starší verzi programu s delší dobou podpory, nebo zda dáte přednost novější verzi programu, který může mít jenom omezenou podporu. V praxi to vypadá takto:

# yum install @postgresql       # installs the default, PostgreSQL 10
# yum install @postgresql:9.6   # installs PostgreSQL 9.6

Pokud chcete vidět seznam dostupných aplikačních streamů (někdy též označovaných jako moduly), tak napište:

# yum module list

Podrobný seznam modulů a doby jejich podpory.

K čemu to je? U některých programů nepotřebujete držet deset let binární kompatibilitu – např. git. Ale chcete novější verze a přitom nechcete novější verze ostatních knihoven v operačním systému. Nebo příklad PostgreSQL – někdo chce nejnovější verzi hned, když vyjde, někdo preferuje stejnou verzi po celou dobu životnosti stroje. To je nyní možné: nové či starší aplikace, ale vše na stejném RHELu.

Placená verze RHELu 8 zahrnuje předplatné Red Hat Insights. Prediktivní analýza systému – dokáže najít nevhodné nebo rovnou nebezpečné konfigurace ve vašem systému a pokud to je možné, tak vám rovnou navrhne Ansible playbook, který dokáže váš systém opravit. Video jak to funguje pro manažery nebo pro techniky.

Novinkou je též Podman. Je to engine pro kontejnery a je plně kompatibilní s Dockerem. A to tak hodně, že si klidně můžete do .bashrc uložit alias docker=podman. Největší výhodou Podmanu je, že nepotřebuje žádného démona a může být spouštěn i neprivilegovaným uživatelem.

Když už jsme u kontejnerů – minimální Red Hat Universal Base Images (UBI images) neobsahují YUM, protože jeho závislost na Pythonu by příliš zvětšila kontejner. Obsahuje microdnf, které je napsané v céčku a nepotřebuje Python. Na druhou stranu umí jenom příkazy installremove.

Pokud se moc nekamarádíte s příkazovou řádkou, bude se vám líbit webová konzole založená na Cockpitu, která umožní správu přes intuitivní webové rozhraní. Cockpit je socket-activated, takže pokud ho nepoužíváte, nespotřebovává žádné zdroje. Pomocí Cockpitu je možné spravovat i více počítačů, a to i na dálku, nebo např. virtuální stroje.

Ovoce sklízí i akvizice Permabitu a v RHELu 8 nalezneme VDO (Virtual Data Optimizer). Jedná se kompresi na úrovni blokového zařízení. Komprese probíhá pro uživatele naprosto neviditelně – podobně jako šifrování u LUKSu. Zjednodušeně řečeno: nakonfigurujete /dev/sda2 jako VDO volume a VDO vám vytvoří /dev/mapper/vdo1, které si normálně naformátujete pomocí mkfs a připojíte. Úroveň komprese někde mezi 90 a 15 %. K dispozici jsou benchmarkypodrobný návod.

Nahlédněte do brněnské pobočky společnosti Red Hat:

Co naopak chybí

Nejsou ale jenom nové funkce – některé věci v RHEL 8 chybí. Např. už není podporovaný Btrfs. Tomcat byl odstraněn a místo něj Red Hat doporučuje JBoss Web Server. Staré network skripty už nejsou obsaženy v základní instalaci (ale fungují, když si je sami vytvoříte). Síť je nyní spravována NetworkManagerem.

Hlavu vám může zamotat to, že dříve byly všechny lokalizace a překlady dostupné v jednom balíku glibc-common a nyní jsou rozděleny do glibc-langpack-CODE a jsou instalované jenom ty lokalizace, které si vyberete při instalaci.

Velkou změnou je migrace na Python 3 (konkrétně 3.6). RHEL 8 sice obsahuje Python 2.7. Ten ale nebude podporován po celou dobu RHEL 8 a je k dispozici jen pro zajištění hladšího přechodu zákazníků z Pythonu 2 na 3. Všechny programy v RHEL 8 už používají Python 3. Už není poskytován příkaz /usr/bin/python  – musíte použít explicitně buď /usr/bin/python3 nebo /usr/bin/python2. Pokud chcete používat neverzovaný Python, musíte spustit  alternatives --config python.

Novinkou jsou in-place upgrady. Poprvé je možné (oficiální cestou) upgradovat z RHEL 7 na RHEL 8. Upgrade probíhá pomocí programu leapp, který nejdříve zjistí, zda je upgrade možný, vytvoří vám report, a pokud to je možné, tak leapp upgrade upgraduje váš systém na RHEL 8.

Kudy dál

Tohle jsou novinky, které zaujaly mě osobně. Pokud vám chybí suchý výčet nových verzí programů nebo kernelu, poslužte si ve vyčerpávající dokumentaci. Pokud váš oblíbený program chybí přímo v RHEL 8, velmi pravděpodobně ho najdete po vydání CentOS 8 v EPELu, RPM Fusion nebo v COPRu.

Red Hat změnil logo, podívejte se na novou podobu: