Linux E X P R E S

Facebook

Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows

Chocolatey

Dnes chci psát o programu, který není určen pro linuxové uživatele. Je cílen na uživatele Microsoft Windows a v Linuxu není zapotřebí, protože už tam je. Ale přesto by mohl být zajímavý i pro uživatele ne-Windows, už proto, aby věděli, jak tuto problematiku systém od Microsoftu řeší. Je to totiž tzv. správce balíčků, někdy také označovaný jako balíčkovací systém. 


Poměrně zásadní rozdíl v tom, jak se instalují aplikace v rámci operačních systémů na bázi Linuxu a Microsoft Windows, přináší nejednomu uživateli vrásky na čele. Pokud se budeme bavit snadnosti instalace z pohledu začátečníka, jednoznačně vedou Microsoft Windows. Následná správa aktualizací jednotlivých aplikací a tzv. závislostí jde však jednoznačně za Linuxem.

Logo projektu Chocolatey Logo projektu Chocolatey

Poznámka: Wikipedie definuje správce balíčků jako „nástroj pro správu software nainstalovaného v počítači. Jednotlivé programy a aplikace jsou umístěny do speciálních souborů (tzv. softwarových balíčků), které je možné pomocí správce balíčků jednoduchým způsobem nainstalovat i odinstalovat. Správce balíčků obvykle umožňuje jednotlivé balíčky automaticky stahovat ze softwarových repozitářů umístěných na Internetu.“

Správce balíčků

Aplikace, kterou zná každý uživatel linuxových distribucí, protože to je obvykle jediná možnost, jak do Linuxu dostat novou aplikaci (samozřejmě pokud neřešíme kompilaci přímo ze zdrojových kódů či alternativních distribučních způsobů jako Snap či Flatpak), je ve světě Microsoft Windows naprosto neznámou a bezvýznamnou. A obvykle ani nikoho z domácích uživatelů nezajímá.

Poznámka šéfredaktora: Ve světě Windows existuje obchod (nejen) s aplikacemi Microsoft Store. Ten funguje podobně jako Google Play v systému Android, resp. jako Apple App Store v systému iOS. Využívá ho ale minimum uživatelů, převážně v mobilním systému Windows Phone.

Problém nastává při dotazu na to, jak často a jakým způsobem aplikace v počítači aktualizovat. A proto mohou existovat servisní aplikace, které alespoň částečně funkci balíčkovacího systému nahrazují – kontaktují stránky jednotlivých aplikací a zjišťují, zda je něco nového. Ty pokročilejší dokonce instalační balíčky stáhnou a umějí i přeinstalovat za novější. Napadá mne např. antivirový program Avast nebo Appupdater či trochu sofistikovanější Personal Software Inspector.

Tyhle programy mají v sobě „zadrátované“ funkce, které spolupracují se stránkami aplikací a přizpůsobují se jim. Pokud vznikne nová aplikace, musí být upravena i aktualizační aplikace, aby uměla se stránkami komunikovat. Dalším řešením je aktualizační rutina přímo v dané aplikaci, která si vše zařídí sama. Tento způsob je dnes poměrně běžný a vývojáři programů jej zhusta integrují.

Pokud však chcete vše řešit jaksi systémově a na vyšší úrovni (už třeba z pozice správce IT techniky nějaké firmy), musíte mít k dispozici nástroj jiný. To je právě prostor pro implementaci balíčkovacího systému a správce balíčků.

Své první kořeny má dnes představovaná aplikace Chocolatey zapuštěny do počátku roku 2011, kdy se objevila první verze (0.6.0) a v září 2011 byl zpřístupněn první komunitní repozitář. Do širšího povědomí se projekt dostal v říjnu 2014, kdy spustil kampaň na kickstarteru. Ta byla úspěšná. Moc se mi i líbí informační materiál, který je samozřejmě zaměřen na uživatele Microsoft Windows a Linuxákům nemusí dávat smysl. Dozvídáte se, že aplikace Chocolatey je alternativní Windows store jako yum nebo apt-get. Cítíte v tom ten rozpor? Použít slovo repozitář a správce balíčků by totiž byla chyba – to nikdo ze světa Microsoft Windows nezná a nepoužíval by.

Poznámka: Kompletní historii projektu najdete zde. Zjistíte podrobnosti ke všem podstatným milníkům až do roku 2016.

Chocolatey

Chocolatey je klasický balíčkovací systém a repozitář tak, jak jej všichni známe z Linuxu. Navíc přináší možnost integrace s ve firmách hojně používaným SCCM či jinými alternativami. Ovládá se z příkazové řádky, která se integruje s Windows Power Shellem. A pak už můžete používat klasické příkazy jako „choco install balíček“ nebo „choco upgrade balíček“ a jiné.

Z pohledu správců systému Microsoft Windows vám přináší možnost tvorby vlastního repozitáře s „firemními“ aplikacemi. Nastavíte jednou a pak už jen přidáte balíčky k distribuci. Pro tvůrce aplikací přináší dokumentaci, jak vytvářet balíčky. Je k dispozici nástroj, který váš spustitelný instalátor nebo balíček ZIP převede na chocolatey balíček během okamžiku. Prostě vyvíjíte jako doposud a na závěr jen vygenerujte balíček do repozitáře.

Chocolatey je opensource a je nabízen ve třech verzích. Základní verze Free je pro individuální užití zdarma (v podstatě jen obsah konzumujete). Prostřední verze Pro stojí 96 USD na jeden rok a je k dispozici až pro 8 vašich PC. Získáte s ní více nástrojů pro tvorbu balíčků a rozšířenou podporu. Pokud jste velká společnost, odvíjí se cena Business verze od počtu PC ve vaší organizaci a pohybuje se v řádu kolem 15 dolarů ročně za stanici. S Business verzí získáte podporu a ještě více konverzních nástrojů pro správu vašeho portfolia aplikací určených k distribuci v rámci vašeho repozitáře. Můžete provozovat celé serverové řešení a to dokonce nemusí nutně běžet na Microsoft Windows serverech.

Pokud chcete použít Chocolatey jako správce balíčků z nějakého repozitáře (obvykle toho oficiálního), nepotřebujete žádnou licenci. Pokud chcete mít možnost balíčky vytvářet a spravovat, pořiďte si verzi Pro (slouží k tomu aplikace Package Builder). Typické masové využití tedy vidím ve verzi Free a tam je to ono alternativní yum či apt-get v Microsoft Windows.

Ke konci května 2017 je k dispozici skoro 5 000 balíčků s všemožnými aplikacemi. Na stránce s balíčky můžete vyhledávat a ke každému z nich dostanete instrukce, jak jej nainstalovat. Projekt funguje díky mnoha příznivcům, kteří se o tvorbu balíčků starají, v mnoha případech tak činí i sami vývojáři aplikací (tohle je stejné jako v Linuxu). Přestože je celý „svět“ Chocolatey poměrně otevřený všem, je otázka bezpečnosti a legálnosti obsáhle řešena. Nechybí ani nezbytné tlačítko, které umožní nahlásit „neoprávněnou“ distribuci aplikace tj. v nesouladu s autorskými právy.

Po instalaci skrz Chocolatey se každá aplikace objeví i ve standardní aplikaci Microsoft Windows pro instalaci programů. A samozřejmostí je i správa závislostí – pokud potřebuje aplikace např. .NET framework (a není v systému k dispozici), Chocolatey si jej stáhne a nainstaluje.

Integrace do systému je velmi triviální. Stáhnete si Chocolatey, nainstalujete do systému, pak přidáte oficiální repozitář a vše je připraveno k použití. Opět vše shrnuji – tohle umí jakákoliv linuxová distribuce už léta. Pro Microsoft Windows je to něco nového.

Poznámka: Existuje i modul OneGet od Microsoftu, který do PowerShellu 5.0 přidá podporu pro oficiální Chocolatey repozitář. Znamená to, že i Microsoft třeba v budoucnu bude něco takového nabízet?

Jedinou nevýhodu spatřuji v tom, že aplikace ve verzi Free na pozadí neumí sama zjišťovat, co je nového. Když ji spustíte, můžete spustit vyhledání aktualizací a pak už vše funguje jak má. Ale pokud si nevzpomenete a Chocolatey nespustíte, aktualizace se nekoná, což je v jistých případech dobře, někdy ne. Jistě, pokročilý uživatel si dokáže napsat skript a ten pak spouštět v pravidelných intervalech. Bez vašeho přičinění to nejde. Ve verzi Business je tato funkce samozřejmě přítomna pomocí specializovaného agenta.

Instalace Chocolatey spočívá v tom, že si spustíte PowerShell a v něm zadáte několik příkazů. Chocolatey se stáhne a nainstaluje. A od té chvíle jej můžete používat. Základním požadavkem jsou Microsoft Windows 7 SP1 a vyšší.

Grafická nadstavba ChocolateyGUI

Jistě si také říkáte, že koncový uživatel a typický uživatel Microsoft Windows nebude používat příkazový řádek. A máte pravdu. Proto existuje aplikace ChocolateyGUI, která vše zařídí jako jakákoliv stejná aplikace v Linuxu – můžete s ní aplikace instalovat, aktualizovat či mazat. Jednoduše a rychle. Např. přidání nového repozitáře je otázka chvíle. Klikněte na nabídku Settings – Sources – Add source a zadejte jméno a URL adresu repozitáře (např. https://chocolatey.org/api/v2 pro výchozí oficiální Chocolatey repozitář) a pak už se vám bude Chocolatey synchronizovat proti tomuto repozitáři.

ChocolateyGUI: seznam balíčků z oficiálního repozitáře ChocolateyGUI: seznam balíčků z oficiálního repozitáře

Předpokládám, že do vyšších verzí si aktualizace na pozadí najde cestu, současná aplikace má až příliš nízké číslo 0.13.2.0 (ale i tak je aplikace funkční a použitelná k dennímu nasazení, což autor článku dělá na pracovním PC). Vzhledem k tomu, že už teď je aktualizace dostupná ve vyšších verzích Chocolatey (konkrétně ve verzi Business), není to tak jednoznačné. Prostředí aplikace je takové hodně spartánské, zapomeňte na nějaké dělení aplikací na skupiny. Pokud chcete něco nainstalovat, musíte znát jméno aplikace. Nefunguje něco jako např. klíčová slova, či snad vyhledávání v popisech. A to hlavní nakonec – současná verze je z prosince 2015 a nikdy se překotně nevyvíjela. Třeba se to v budoucnu změní.

ChocolateyGUI: Seznam balíčků k aktualizaci ve vašem PC ChocolateyGUI: Seznam balíčků k aktualizaci ve vašem PC

Mám-li osobně promluvit o výhodách projektu, cením si na něm, že velmi rychle můžu vědět, jaká mnou používaná aplikace byla aktualizována a můžu ji nainstalovat. To jsou výhody pro koncové uživatele. Zároveň z pozice správce IT infrastruktury ve velké organizaci můžu říci že mne láká idea vlastního světa firemních aplikací aktualizovaných tehdy a jen tehdy, kdy já sám určím. Příprava balíčků není nic složitého a je dobře popsána.

Na závěr můžeme konstatovat – v Microsoft Windows můžete používat „důvěryhodný“ repozitář s balíčky aplikací (ať už vlastní nebo ten oficiální) a bude to mít stejné výhody, jako v Linuxu. Pro linuxové uživatele nic nového, pod Microsoft Windows převratná věc.

Diskuze (9) Nahoru