Igor Kulman

Chocolatey: automatická inštalácia softvéru pre Windows

· Igor Kulman

Ak máte skúsenosti s Linuxom, určite poznáte balíčkovacie systémy jednotlivých distribúcií, ako napríklad APT. Výhoda tých balíčkovacích systémov je, že vďaka ním môžete pohodlne a jednoducho z konzoly inštalovať a aktualizovať softvér, vrátane závislostí. Presne to sa Chocolatey snaží priniesť do Windows.

Chocolatey je balíčkovací systém pre Windows založený na Nugete. Jeho inštalácia je veľmi jednoduchá, stačí do príkazového riadka zadať

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

Po inštalácii môžete ihneď začať inštalovať softvér pomocou príkazu cinst (obdoba apt-get install z Linuxu) a názvu balíčka, napríklad cinst vlc. Chocolatey stiahne inštalátor daného programu a vykoná inštaláciu bez zásahu používateľa. Katalóg softvéru, ktorý je cez Chocolatey možné nainštalovať je celkom rozsiahly, aktuálne obsahuje 1809 balíčkov. 

Ďalšou výhodou použitia Chocolatey je jednoduchá aktualizácia softvéru. Stačí, ak do konzoly zadáte príkaz cup a Chocolatey skontroluje a prípadne ihneď nainštaluje aktualizácie všetkých balíčkov (teda všetkého softvéru, nainštalovaného cez Chocolatey).

Chocolatey sa taktiež hodí na automatizovanú inštaláciu väčšieho množstva softvéru napríklad na čerstvo nainštalovaný systém, kedy namiesto postupného sťahovania a inštalovania softvéru jednoducho spustíte pripravený skript. Podobné využitie môže byť napríklad setup vývojárskeho stroja kolegu, ktorému len jednoducho dáte skript, ktorý mu nainštaluje všetky potrebné vývojárske nástroje.

Môj inštalačný skript vyzerá takto

cinst google-chrome-x64
cinst 7zip
cinst vlc
cinst skype
cinst winscp
cinst ccleaner
cinst dropbox
cinst f.lux
cinst sublimetext3
cinst sublimetext3.packagecontrol
cinst poshgit
cinst git
cinst poshgit
cinst tortoisegit
cinst 1password
cinst totalcommander
cinst sumatrapdf
cinst openvpn
cinst paint.net
cinst fiddler4
cinst irfanview