přejít na obsah přejít na navigaci

Linux E X P R E S, Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows

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.

Nahoru

Příspěvky

Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows
Michal 31. 05. 2017, 17:09:24
Odpovědět  Odkaz 
Hmm, zkoušel jsem a bylo by to fajn, kdyby existovalo více repozitářů a aktualizovaný software v nich. Jinak je to takové na nic, když prostě chci aktuální SW a musím ho stáhnout mimo Chocolatey.
Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows
Rob Reynolds 1. 06. 2017, 01:48:54
Odpovědět  Odkaz 
Good article. A couple of notes:

* You can create packages even in the FOSS version. Package Builder just makes it near automatic.
* You can host your own package repositories without cost either.
* The "official" repository is really just the community package repository.
* The new ChocolateyGUI works much better. You can get to it at https://github.com/chocolatey/chocolateyGUI#installation and see what it looks like at https://github.com/chocolatey/chocolateyGUI#features
Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows
Rob Reynolds 1. 06. 2017, 01:49:00
Odpovědět  Odkaz 
Good article. A couple of notes:

* You can create packages even in the FOSS version. Package Builder just makes it near automatic.
* You can host your own package repositories without cost either.
* The "official" repository is really just the community package repository.
* The new ChocolateyGUI works much better. You can get to it at https://github.com/chocolatey/chocolateyGUI#installation and see what it looks like at https://github.com/chocolatey/chocolateyGUI#features
Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows
fidorkaaa 4. 06. 2017, 09:52:54
Odpovědět  Odkaz 
Pro tento ucel se ve firmach pouziva i WSUS s vlastnimi repositari sw. Instalovat dalsi sw a jeste placenej...
Re: Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows
nobody 4. 06. 2017, 16:25:32
Odpovědět  Odkaz 
tak WSUS, haha... no:
- nekdo povazuje za (piip)
- zbytecne ho pouzivat v male firme
- urcite ho nebudou pouzivat domaci uzivatele...
- aplikace si tam musi kazdy nasazet sam
- pro aplikace ktere nemaji msi se musi rozbalovat/konvertovat/vyrabet

Chocolatey:
- OpenSource verze je ZDARMA pro vsechny...
- je to naprosto vhodne pro domaci uzivatele
- v repositari je pripraveno jiz hromada aplikaci
- pouziti je stejne snadne jako si kazde BFU naintaluje "Apku do Founu"
Re: Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows
Michal 4. 06. 2017, 17:12:49
Odpovědět  Odkaz 
Mno, pokud je ale admin lempl a má tam neaktualizovaný SW (jakože např. Google Chrome 24, přičemž už je někde přes 50) tak je u WSUS na nic.
Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows
Peter 12. 06. 2017, 21:38:56
Odpovědět  Odkaz 
Ked som bol nuteny pouzivat v byvalej firme Windows 8 (cca rok 2015), tak som presne toto riesil. Tu je par mojich skusenosti:

* Skusal som "Chocolatey", ale vobec ma tento projekt neoslovil, pretoze nefungoval. Nejaky program sa po instalacii nedal ani spustit... ten projekt som zavrhol.

* Ovela viac sa mi osvecil projekt "npackd" - https://npackd.appspot.com/
Teda aspon, co sa tyka beznych aplikacii ako 7-zip, gimp, notepad2, openvpn, skype, virtualbox, vlc, double commander a mozno nejake dalsie softy, co som vtedy potreboval. Nie vsetko bolo absolutne aktualne, ale to mi prilis nevadilo. Bol som rad, ze nemusim po webe hladat instalacky a vyklikavat ich. Webove prehliadace (firefox, chrome, opera) som vsak instaloval mimo tohoto nastroja, chcel som ich mat, co najaktualnejsie. A aj tak ma dnes kazdy webovy prehliadac svoj aktualizacny proces.

* Co sa tyka terminalu, tak vseci vieme, ze Windows terminal nestoji za nic. Takze unixove utility (vratane gitu, vimu, ssh, atd.) som instaloval cez Cygwin. Je to jeden z najlepsich projektov, co na Windows poznam :).

* Este ma napada "ninite" - https://ninite.com/
Tento projekt neriesi aktualizacie a nema ani tolko softveru na vyber. Ked mam ale preinstalovat nejakemu znamemu pocitac, tak siahnem po tomto a chrome, skype, libreoffice a vlc su nainstalovane v mziku-okamziku. Teda na take rychle nainstalovanie najpouzivanejsieho softveru to celkom staci.
Chocolatey: „Čokoládovej“ balíčkovací systém pro Microsoft Windows
Rakosníček 15. 06. 2017, 22:53:32
Odpovědět  Odkaz 
Ve firmě doporučuji https://www.wapt.fr/en/
umí vše, co admin potřebuje.
chocolatey community + auto-update all
Martin Malec 30. 05. 2018, 22:11:17
Odpovědět  Odkaz 
Po prvotní instalaci balíčků přes Chocolatey spouštím powershellový skript, který do plánovače úloh přidá úlohu po bootu počítače provést potichu na pozadí aktualizaci všeho:

chocolatey-scheduledtask-autoupgradeallatstartup.ps1

# See if choco.exe is available. If not, stop execution
$chocoCmd = Get-Command -Name 'choco' -ErrorAction SilentlyContinue -WarningAction SilentlyContinue | Select-Object -ExpandProperty Source
if ($chocoCmd -eq $null) { break }

# Settings for the scheduled task
$taskAction = New-ScheduledTaskAction -Execute $chocoCmd -Argument 'upgrade all -y'
$taskTrigger = New-ScheduledTaskTrigger -AtStartup
$taskUserPrincipal = New-ScheduledTaskPrincipal -UserId 'SYSTEM'
$taskSettings = New-ScheduledTaskSettingsSet -Compatibility Win8

# Set up the task, and register it
$task = New-ScheduledTask -Action $taskAction -Principal $taskUserPrincipal -Trigger $taskTrigger -Settings $taskSettings
Register-ScheduledTask -TaskName 'Run a Choco Upgrade All at Startup' -InputObject $task -Force

(zdroj https://chocolatey.org/packages/choco-upgrade-all-at-startup/2017.01.10)

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Svatopluk Vít

Svatopluk Vít

Narodil se v Karviné, momentálně je však trvale usazen v Praze. Pracuje na pozici technologického konzultanta pro firmu zabývající se elektronickou komunikací obchodních partnerů. V rámci svých pracovních povinností je často nucen navrhovat rozličná řešení založená na firemních produktech a spolupracující s všemožnými komerčními i opensource nástroji. Je hrdým uživatelem Linuxu a rád prosazuje alternativní řešení do praxe. Ve volném čase poslouchá dobrou hudbu nebo pomáhá kamarádům s provozem webových stránek. A kloubí svůj život s manželkou a dvěma již školou povinnými dcerami.


  • Distribuce: Zorin OS
  • Grafické prostředí: GNOME