Před časem jste si mohli přečíst srovnání Linuxu a Windows z hlediska bezpečnosti. Nyní pokračujeme sérií podobných srovnání – tentokrát z hlediska instalace a aktualizace programů v jednotlivých systémech. Další díly můžete očekávat záhy.
Instalace programů ve Windows
V Microsoft Windows je třeba rozdělit „svět“ na dvě části. Na software, který přímo nebo nepřímo patří k Windows, a na ten, který k systému nepatří. První skupina se instaluje, aktualizuje a odinstalovává pomocí nástrojů systému, u softwaru z druhé skupiny může být situace různá.
Software „mimo Windows“
Zatím je pořád nejčastějším způsobem instalace softwaru metoda použití tzv. průvodce. Je to instalační program, obvykle vytvořený pomocí některého ze k tomu určených nástrojů, který pomocí série dialogů provede uživatele procesem instalace. Začíná obvykle přivítáním, pak se odsouhlasí licenční podmínky, definuje rozsah instalace, vybere cílová složka, cílové místo ve stromě nabídky Start, spustí se vlastní instalace a po jejím skončení může průvodce nabídnout třeba přečtení novinek o programu nebo jeho spuštění.
Do nabídky aplikací Start většina instalátorů přidá kromě samotných programů celou sbírku dalších položek, které pravděpodobně nikdy nepoužijete, každý program má tak v nabídce samostatnou „složku“.
Typická podoba úvodního dialogu instalačního průvodce
Je tedy třeba se proklikat sérií dialogů, obsahujících víceméně totéž, a většinou není potřeba nic měnit na výchozím nastavení. Ačkoli to většina uživatelů neví, instalační program lze obvykle nechat proběhnout i „tiše“. Spustí se, proběhne a skončí. Různé instalační programy mají různé parametry příkazové řádky, kterými lze toto chování ovlivnit. Tato možnost významně usnadňuje práci správcům, kteří potřebují tentýž program (resp. často více programů) nainstalovat na více počítačů a kdy proklikávat dialogy by bylo zdlouhavé a nepohodlné.
Pro instalaci je samozřejmě potřeba mít z čeho instalovat. Nejčastěji se vyskytuje buď velký spustitelný soubor (ve kterém je vše pro instalaci), nebo balíček typu MSI (Microsoft Installer, nyní pod názvem Windows Installer), anebo konečně obyčejný archiv (nejčastěji ZIP) se spustitelným souborem instalátoru (obvykle setup.exe
).
Při spouštění instalátoru nebo během instalace je potřeba potvrdit zvýšení oprávnění (za předpokladu aktivního Řízení uživatelského přístupu, tedy UAC, a dostatečných práv aktuálního uživatele; uživatel nedisponující dostatečnými právy nemůže přímo instalovat, musí se nejdříve některým z dostupných způsobů „přepnout“ pod administrátorský účet – to přesahuje rámec tohoto článku).
Dotaz na zvýšení oprávnění – instalátor je důvěryhodně podepsán
Výše uvedený dotaz se zobrazí jen v případě, že byl instalátor podepsán klíčem, jehož certifikát podepsala „důvěryhodná“ autorita – tedy uznaná firmou Microsoft. Takový certifikát není zdarma a navíc znamená projít určitou administrativní procedurou. Proto u mnoha (z celkového počtu zřejmě většiny) programů instalátory podepsány nejsou a zobrazí se pak poněkud jiný, varovněji vyhlížející dotaz:
Dotaz na zvýšení oprávnění – instalátor není důvěryhodně podepsán
Dlužno říci, že pokud uživatel používá prohlížeč Internet Explorer 9 ve výchozím nastavení, pravděpodobně se mu nepodepsaný instalační balíček ani nepodaří stáhnout. IE 9 se totiž silně brání stažení instalátoru, který nemá „dobrou reputaci“. Tato veličina je určena více faktory (mj. počtem stažení a instalací), ale rozhodující vliv má právě to, zda je soubor důvěryhodně podepsán.
Aktualizace obvykle probíhá velmi podobně. Někdy je aktualizace úplně totožná s čistou instalací, někdy jsou některé dialogy jiné nebo jich je méně. Některé programy si instalují svou aktualizační službu, která zjišťuje na serveru tvůrce nové verze a instaluje je. Takové služby se používají například pro software firmy Adobe, pro Javu apod. Jindy – jako například u webového prohlížeče Mozilla Firefox – se nová verze zjišťuje při startu programu, a ten se sám postará i o aktualizaci.
„Programy a funkce“
Přestože některé programy poskytují odinstalační nástroj, který lze spustit z nabídky Start, není to hlavní cesta, jak ze systému odebírat programy. Touto cestou je součást Ovládacích panelů, která se ve Windows 7 jmenuje Programy a funkce (ve Windows XP to bylo Přidat a odebrat programy).
Systém si udržuje informace o tom, které programy byly nainstalovány, a nabízí touto cestou možnost odinstalace. U některých programů – které to podporují – je nabídka možností širší, lze například přiinstalovat některé součásti či je naopak odebrat, případně opravit instalaci při jejím poškození nebo změnit nějaké nastavení.
Okno ovládacího panelu Programy a funkce
Nepříjemnou vlastností tohoto řešení je, že někdy neodinstaluje program zcela a nechá v systému jak soubory, tak i příslušnou položku v seznamu. Opakovaný pokus o odinstalaci je ale už neúspěšný a položka tam zůstane navždy (resp. do přeinstalace systému). Stává se to nejčastěji tehdy, když se postupně nainstaluje několik aktualizací téhož programu (ty se někdy zobrazují samostatně) a pak se při odinstalaci zvolí špatná položka.
Software „z Windows“
Samotný operační systém Windows nabízí určitou skupinu softwaru, který se buď instaluje hned přímo se systémem, anebo ho lze doinstalovat později. Pro doinstalaci nebo naopak odinstalaci těchto programů slouží ovládací panel Funkce systému Windows. Lze se k němu dostat z panelu Programy a funkce.
Okno ovládacího panelu Funkce systému Windows
V tomto ovládacím panelu je strom softwaru, který lze různě rozbalovat a zaškrtávat v něm větve (nainstaluje se celý podstrom) nebo i jednotlivé položky (nainstalují se jen ty, případně nadřazená položka).
Windows Update
Pro aktualizaci součástí Windows slouží nástroj Windows Update. Ten aktualizuje jednak automaticky (podle nastavení, ve výchozím stavu automaticky instaluje důležité aktualizace), jednak poloautomaticky a ručně. Pokud je nainstalován další software od společnosti Microsoft (například Microsoft SQL Server), aktualizuje se přes Windows Update i ten.
Některý software firmy Microsoft, byť je k dispozici vysloveně „pro Windows“ a zdarma, nelze instalovat přes Funkce systému Windows (a ani přes Windows Update). Jedinou možností je ruční stažení a instalace. To se týká typicky sady programů Windows Live Essentials.
Instalace programů v Linuxu
Občas lze ještě někde narazit na informaci, že se v GNU/Linuxu programy instalují takzvanou svatou trojicí. Je tím myšlena posloupnost příkazů: ./configure
, make
a make install
. Na to zapomeňte. Ano, ve většině linuxových distribucí lze tímto postupem nainstalovat program ze stažených zdrojových kódů, ale běžně neexistuje žádný důvod, proč to tak dělat. Realita života je už dávno někde jinde.
Balíčkové systémy
Balíčkové (též balíčkovací) systémy jsou jednou z největších vymožeností většiny linuxových distribucí. Základem každého takového systému je balíček – soubor obsahující nějaký program, knihovnu či různá data (dejme tomu třeba tapety na plochu). Balíček lze nainstalovat, odinstalovat, aktualizovat na novější verzi (nebo naopak „ponížit“ na verzi starší).
Součástí balíčků většiny programů s grafickým rozhraním je také jeden spouštěč do nabídky aplikací. Ty se v nabídce řadí do kategorií podle účelu, nikoli podle výrobce.
Každý trochu lepší balíčkový systém (což jsou skoro všechny) disponuje další součástí, kterou je databáze balíčků. Do ní systém ukládá informace o nainstalovaných balíčcích, takže lze kdykoli snadno a rychle zjistit, co všechno je v systému nainstalováno, v jaké verzi, jaké soubory jsou z kterého balíčku apod.
Vrcholnou součástí balíčkového systému jsou pak repozitáře balíčků. Takový repozitář je prostě úložiště, ve kterém jsou k dispozici balíčky a které o těchto balíčcích poskytuje různé informace. Repozitář může být i na nějakém datovém médiu (CD, DVD apod.), ale čím dál větší význam mají repozitáře na serverech, často vícenásobně zrcadlených a tedy snadno dostupných (s možností vybrat nejrychleji dostupné zrcadlo).
Jak to funguje?
Typická linuxová distribuce má své vlastní, velmi rozsáhlé repozitáře. Tam si každý najde programy a data, o které má zájem (lze procházet nabídkou repozitářů, vyhledávat podle názvu, popisu či obsahu atd.), a může rovnou instalovat. Že je k provozu nějakého programu potřeba ještě něco jiného – knihovny, data, další program? Žádný problém – balíčkové systémy umějí řešit závislosti mezi balíčky a automaticky doinstalovat vše potřebné.
Podobně funguje i aktualizace na novější verzi, pokud neprobíhá vysloveně automaticky. U aktualizací podporují některé systémy i tzv. delta balíčky, které obsahují pouze to, co se oproti starší verzi změnilo. Zejména u velkých programů, kdy se třeba změní jen pár souborů, se tak ušetří přenos velkého množství dat a celý proces se samozřejmě podstatně zrychlí.
Balíčky bývají elektronicky podepsané vydavatelem distribuce. Lze tak kontrolovat, zda se instalují opravdu jen „originální“ balíčky a ne takové, které nějaký útočník pozměnil k obrazu svému. Tím lze výrazně přispět k bezpečnosti systému.
Kromě repozitářů přímo z distribuce lze používat i různé další repozitáře s balíčky: komunitní, repozitáře jednotlivých vývojářů či firem a podobně. I napříč repozitáři samozřejmě funguje řešení závislostí – navíc lze volit priority různých repozitářů či dokonce jednotlivých balíčků. To umožňuje instalovat například novější verzi konkrétního balíčku, než je v repozitáři distribuce. Nemá to přitom vliv na zbytek systému. Navíc kdo se tím nechce zabývat, vůbec nemusí – je to možnost, ne nutnost. Výhodou využívání závislostí je, že určitý soubor (např. knihovna) bývá jen jednou. Vyniká to v kontrastu s tím, že leckteré programy pro Windows mívají přibalené různé knihovny, protože není jistota, že budou dané knihovny k dispozici. Totožné soubory pak mohou být v systému v mnoha exemplářích.
Rozlišení na software patřící k systému a na ten ostatní tady prakticky postrádá smysl. I ve standardních repozitářích linuxových distribucí je k dispozici nepřeberné množství softwaru, z něhož většina nemá nic společného ani s tvůrci distribuce, ani s tvůrci linuxového jádra či komponent z projektu GNU. Tvůrci distribuce, tedy přesněji správci balíčků, se pouze starají o tvorbu daných balíčků a nastavování závislostí mezi nimi.
V balíčkových systémech lze samozřejmě instalovat i balíčky získané jinou cestou než z repozitářů. Například se mohou stahovat z webů tvůrců, kteří je takto nabízejí. Bude to ovšem výrazně menšinová cesta než instalace z repozitářů.
Při používání balíčkových systémů nebývá obvyklé, že by se programy samy staraly o svou aktualizaci. I ty, které to v systému Windows dělají, v linuxových distribucích nejvýš upozorní na novou verzi, ale aktualizaci již ponechávají na balíčkovém systému.
Nelze samozřejmě vynechat nevýhody balíčkových systémů. V některých případech je potřeba instalovat balíčky, které závisejí na balíčcích nekompatibilních s nějakými již nainstalovanými. Tato je řešitelná dost obtížně, s potřebou hlubších znalostí systému. Naštěstí ale v běžné praxi nastává velmi zřídka. Dalším problémem může být fakt, že v repozitářích nemusí být nejaktuálnější verze aplikace, nebo že aplikace v repozitáři zcela chybí. V takovém případě pomůže vyhledat speciální repozitář, anebo software případně nainstalovat jinak (to je ale nad rámec tohoto článku).
Instalace a aktualizace v grafickém prostředí
Přestože lze programy ve formě balíčků instalovat i z příkazové řádky, není na desktopech žádný důvod tak činit, kromě případu, že to tak někdo vysloveně chce dělat. V každé linuxové distribuci s grafickým prostředím existuje nástroj, kterým lze instalovat/odebírat/aktualizovat programy doslova na jedno kliknutí.
Instalace, odinstalace a aktualizace programů v distribuci openSUSE (nástroj YAST2)
Balíčky v repozitářích si lze zobrazit různým způsobem, například podle kategorie programů. Ke standardním funkcím patří také vyhledávání podle názvu či popisu. I když mají různé distribuce často odlišné nástroje, ve skutečnosti dělají tyto nástroje prakticky totéž a stejně se i ovládají. Rozdíly jsou spíše kosmetické.
Instalace, odinstalace a aktualizace programů v distribuci Debian (nástroj Synaptic)
Pro instalaci programů bývají obvykle potřeba práva administrátora (roota). U distribucí, kde se využívá samostatný administrátorský účet (což je většina; něco jiného je distribuce Ubuntu a odvozeniny), je potřeba před manipulací s balíčky zadat administrátorské heslo, aby mohl instalovat či odebírat programy jen ten, kdo je k tomu skutečně oprávněn.
Zadání hesla k administrátorskému účtu root
Přestože lze balíčky aktualizovat ručně (což je obvyklé, pokud se provádí upgrade, tedy instalace významně novější verze), běžné aktualizace mohou probíhat zcela automaticky – týká se to veškerého softwaru z repozitářů. U většiny distribucí ale tvůrci raději volí poloautomatickou instalaci, kdy systém aktualizaci pouze nabídne a uživatel ji buď potvrdí, nebo nepotvrdí (případně může určit, co všechno se bude aktualizovat). V závislosti na bezpečnostní politice může být někdy potřeba administrátorské ověření.
Poloautomatická aktualizace v distribuci openSUSE (nástroj Apper)
I zde platí, že poloautomatický aktualizační nástroj může vypadat v každé distribuci mírně jinak. Ovládání je podobné, a pokud uživatel nechce do aktualizace nějak zasahovat, stačí pouze odkliknout potvrzení celého procesu.
Poloautomatická aktualizace v distribuci Sabayon (nástroj rigo)
Důležité je, že se takto aktualizuje veškerý software ze všech repozitářů. Proces tedy není vázán pouze na repozitáře dané distribuce, nýbrž vždy kontroluje (samozřejmě pokud není nastaven jinak) změny balíčků ve všech repozitářích a nabízí všechny aktualizace nainstalovaných balíčků. S tím samozřejmě souvisí i fakt, že čím více repozitářů je v systému nastaveno, tím déle aktualizace trvá (konkrétní rychlost závisí na rychlosti internetového připojení).
Častým dotazem, který se ohledně práce s balíčkovými systémy vyskytuje, je odsouhlasení licence. Kdy k němu dochází – pokud vůbec? Dotaz má kořeny v tom, že při instalaci průvodcem na Windows se licence odsouhlasuje. Je to prosté. Pokud licence neomezuje samotné používání programu (to se týká v podstatě všech open-source licencí, například GPL, LGPL, Apache, MIT, BSD apod.), není ji potřeba odsouhlasit, a proto se to neřeší nijak. Informace o licenci je samozřejmě v balíčku a lze ji přes příslušný nástroj zobrazit. Pokud u nějaké licence souhlas potřeba je (proprietární software – například Adobe Flash Player, Adobe Reader...), instalační nástroj licenci zobrazí a vyžádá si souhlas.
Neuvěřitelná lehkost instalace
Je možná až s podivem, že se u Windows dosud neujalo řešení založené na repozitářích. Přesněji řečeno, ujalo se teprve u mobilní verze (Windows Phone), a to v podobě obchodu Marketplace provozovaného Microsoftem, který vychází z koncepce obchodů Apple iTunes a Android Market (dnes Google Play). Pro desktopovou verzi Windows bude možná k dispozici s Windows 8. I tak je ale velmi omezena škála dostupného softwaru, například tam jsou zakázány některé licence.
Zatím tedy platí, že zatímco na moderních linuxových distribucích vás bude provázet „nesnesitelná lehkost instalace“ (téměř na jedno kliknutí), ve Windows se zatím nelze zbavit zdlouhavého proklikávání dialogů – a to většinou ani v případě aktualizace programů.