·Publikoval Frank Hliva·4 min čítania

Chocolatey - správca balíkov pre Windows

Chocolatey - správca balíkov pre Windows

Ak si už v minulosti používal alternatívne operačné systémy, určite si zvykol na ten luxus, ktorý ti dáva správca balíčkov (ďalej package manager). Všetok soft máš na jednom mieste v jednom centrálnom repozitári, o ktorý sa starajú autori distribúcie. Nemusíš nič hľadať, sťahovať ani inštalovať, len si to proste napíšeš yum install názov-aplikácie (ak si používal RHEL, CentOS, Oracle Linux, či Fedoru), či sudo pacman -S názov-aplikácie (ak si používal Arch, Manjaro Linux, ArcoLinux, AnarchyLinux), alebo sudo apt install názov-aplikácie (ak si používal Debian, Ubuntu). A je pravdepodobnosť hraničiaca s istotou, že do inštalovaného softu nikto nikdy nepribalí nejaký malware (aj keď nikdy nehovor nikdy). Kto je moc fajnový a nebaví ho písať príkazy do konzoly, ten si stiahne nejakú GUI nadstavbu (napr. Pamac pre pacman).

Windows 10 čím ďalej tým viac preberá filozofiu takýchto console-like systémov a popri fantastickom Windows Terminal už má aj vlastný package manager Chocolatey - väčšina bežných aplikácií má svoj balíček v Chocolatey. Microsoft používa ako primárny distribučný kanál na software svoj Windows Store čo je svojím spôsobom tiež package manager - aj keď klikací a určený pre BFU. Chocolatey je určený skôr power userom, ktorí namiesto klikania myškou preferujú klávesnicu… MS tento distribučný kanál používa tiež. Napr. Windows Terminal sa ocitol najprv v Chocolatey a až o pár dní neskôr vo Windows Store. Tak a teraz si ukážeme akým spôsobom nainštalujem balík (dajme tomu taký Chrome):

Upozornenie: predtým než začneš čokoľvek inštalovať, spusti si konzolu v správcovskom móde. Ako na to? Klik PRAVÝM tlačítkom na ikonu štart a potom zvoľ položku Windows PowerShell (správca): viac na tomto obrázku. Niektoré novšie balíky nepotrebujú správcovský mód, ale väčšina áno.

Do konzoly (PowerShell, alebo Windows Terminal) napíš:

choco install googlechrome

Týmto commandom sa nainštaluje aktuálne Chrome. Uvediem ešte ďalšie príklady:

Balík / AplikáciaPoznámkaPríkaz
VLC media playerobľúbený multimediálny prehrávačchoco install vlc
.NET CoreMultiplatformný FW od MSchoco install dotnetcore
JREJava Runtimechoco install jre8
WhatsAppKomunikačná appka od Facebookuchoco install whatsapp
ViberKomunikačná appkachoco install viber
nové Edge devbrowser od MS postavený na Chromáckom jadre Blinkchoco install microsoft-edge-insider-dev
7zipfajnová free alternatíva k WinRARchoco install 7zip.install
Gitdistribuovaný systém riadenia revíziíchoco install git.install
VSCodejednoduchý editor pre developerovchoco install vscode
Visual Studio 2019komplexné vývojové prostredie pre stovky rôznych jazykov napr. C#, F#, C++, Python, Ruby, JSchoco install visualstudio2019community

alebo ak sa mi nechce toľko písať, tak si to zjednoduším a nainštalujem všetko naraz - jedným príkazom:

choco install firefox vlc dotnetcore jre8 whatsapp viber microsoft-edge-insider-dev

A komu sa nechce písať vôbec, ten si stiahne GUI nadstavbu pre Chocolatey. Volá sa chocolatey-gui (aké prekvapenie), tu je screen a tu je príkaz ktorým ho nainštaluješ: choco install chocolateygui. Všetky ostatné balíčky nájdeš tu: https://chocolatey.org/packages. Ja som si appky nainštalované klasicky odinštaloval a následne nainštaloval cez Chocolatey. Výhoda je, že si ich viem všetky hromadne spravovať, všetky upgradnúť jedným príkazom a krásne z konzoly, aha:

choco upgrade all
Chocolatey
Hromadný upgrade nainštalovaných balíčkov

Takže už nemusím zisťovať či mám aktuálnu verziu… Taktiež si viem balíčky cez Chocolatey trebárs odinštalovať a dokonca nie jeden, ale viac naraz:

choco uninstall notepadplusplus googlechrome atom 7zip

Balíčkovací manager vznikol z NuGet - čo je balíčkovací systém pre .NET. Len nechápem prečo každý jazyk a technológia musí mať vlastný manager s vlastnou syntaxou, ja mám vo Windows aktuálne tieto:

Package managerPoznámka
Chocolateypackage manager pre Windows
OneGetpackage manager pre Windows
Windows Storepackage manager pre Windows
dotnetpackage manager pre .NET Core
NuGetpackage manager pre .NET Framework
MSIMicrosoft Installer - starší package manager od MS
aptpackage manager pre WSL - Ubuntu / Debian
npmzákladný package manager pre Node.JS
opampackage manager pre funkcionálny jazyk OCaml
cargopackage manager pre jazyk Rust

Jednoducho každé ďalšie prostredie má svoj - napr. OCaml má svoj Opam, Haskell má Cabal, Rust má svoje Cargo. Nechápem prečo ich nevedia zjednotiť do jedného (aspoň teda tie od Microsoftu by mohli).

Share:
Späť na blog

Súvisiace čítanie

Ďalšie články z blogu

Zobraziť všetky články
F# - async a kompatibilita s jazykom C#

F# - async a kompatibilita s jazykom C#

Jazyk F# je priekopníkom v zavádzaní nových paradigiem a postupov a tak to bolo aj v prípade práce s asynchrónnym kódom. Zatiaľ čo C# zaviedol async / await až vo verzii 5.0 (jún 2013), F# mal syntaktický cukor pre prácu s asynchrónnym kódom už dávno predtým.

Čítať článok