Bash pro začátečníky/Přehledy

Z Wikiverzity
Jak používat klasifikační nálepkuTato stránka je součástí kurzu:
začátečníci
Příslušnost: všeobecná

Přehledy[editovat]

Instalace/odinstalace[editovat]

V této sekci vytváříme podrobný postup způsobů instalace či odinstalace balíčků či softwaru. Jednotlivé kroky jsou samozřejmě volitelné, ale zde si ukazujeme kroky v režimu „doporučené a bezpečné“.

Jelikož není statistika distribucí Linuxu pro ČR, vycházíme ze světových statistik za rok 2022, že asi 50 % uživatelů používá Debian (Debian, Ubuntu) takže je balíčkovací systém debianu apt pro balíčky *.deb jena prvním místě. Na druhém místě jsou systémy odvozené od RedHatu (RedHat, CentOS, Fedora) s 20 % používající magery dnf a balíčky *.rpm. Globální balíčkovací systémy (snap, flatpack) následují poté.

Apt (systémy na bázi Debian)
Krok Co Kód Vysvětlení
1 update informací o balíčcích sudo apt update Před každým záměrem instalovat nový software přes příkaz apt, je dobré si stáhnout aktuální informace o debian baličcích. Ty se dají procházet i online, kde jsou seřazeny do různých kategorii.
2 nainstalovat micro sudo apt install micro Nainstaluje textový editor Micro. Micro je textový editor, který umožní lépe prohlédnout celkový seznam nabízených balíčků. Lze to udělat i v předinstalovaným Less. Na druhou stranu Nano má například problém celý seznam načíst.
3 vypsat seznam dostupných balíčků apt list | micro Vypíše seznam dostupných balíčků a pipne je do editoru Micro. Pokud nechcete používat micro, můžete si je zobrazit například v Less. Kód by pak byl sudo apt list | less.
4 vyhledat v micro CTRL+F ^ V Micro se dá hledat po stisku kláves CTRL+F řetězec. Pokud chcete hledat na začátku každého řádku, musíte před Váš řetězec vložit znak stříky (^).
5 zobrazit informace o balíčku apt-cache show balíček Pokud si nejste jisti, který balíček nainstalovat, můžete po opuštění Micro (CTRL+Q) vypsat informace o balíčku příkazem apt-cache show, tedy například sudo apt-cache show micro.
6 instalace programu viz bod 2
A odinstalace programu sudo apt remove název programu Takže například sudo apt remove nano odebere textový editor Nano.
B odinstalace knihoven sudo apt autoremove Odinstaluje nepotřebné závislosti (angl. dependiencies), které používal odnistalovaný sw.

Byť aplikace instalované pomocí příkazu apt, běží v jádru a mohou ho poškodit, jsou na druhou stranu kontrolovány správci repozitáře, takže by k tomu nemělo dojít. Horší by bylo instalovat aptem z jiných zdrojů. Pak jsou aplikace, které nejde kontajnerizovat, tak zcela logicky jedou přes apt (jako například flatpak).

dnf (systémy na odvozené od RedHat)
Krok Co Kód Vysvětlení
1
2
3
Snap
Krok Co Kód Vysvětlení
1 Najít odpovídající balíček snap find název balíčku Jelikož se na rozdíl od balíčků typu apt nevytváří v PC seznam dostupných balíčků, je možné pouze vyhledávat konkrétní, nebo se podívat na web snapů: https://snapcraft.io/store. Příkaz by tedy mohl vypadat: snap find kdenlive.
2 Informace o balíčku snap info název balíčku Zobrazí podrobnější informace o balíčku včetně vydavatele a krátkého popisu.
3 Instalace sudo snap install název balíčku Nainstaluje balíček, který obsahuje samotný program plus software, který tento program potřebuje (angl. dependecies).
A Odinstalace sudo snap remove název balíčku Odinstaluje konkrétní program a jeho závislosti.

Jsou kritizovány za to, že repozitáře moc nekontrolují kód. Nicméně snapy mohou být zapouzdřeny a nevyužívat tak vnější prostředky (kategorie strict). Pokud instalujeme soubor, který nemá pevné zapouzdření, jsme na to upozornění (např. kategorie classic). Snapy mají různé úrovně zapouzdření:

  1. strict - jede pouze ve své obálce a nemůže používat nepřidělené zdroje
  2. classic - funguje jako aplikace instalovaná přes klasický apt, tedy využívá prostředky mimo zapouzdření. Může představovat určitou úroveň hrozby
  3. devmode - dočasné zapouzdření určené pro vývoj, ovšem s širokou možností využívat zdroje
  4. jailmode - zapouzdření pro snapd a jeho vývoj s omezenými možnostmi využívat prostředky
Flatpak
Krok Co Kód Vysvětlení
1 nainstalovat flatpak sudo apt install flatpak Instalujeme příkazem apt.
2 ověření jestli jsou připojeny repozitáře flatpak remotes Pokud už je Flathub nastaven, nemusím nic dál řešit, v opačném případě ho nastavíme následujícím krokem.
3 připojení Flathub repozitáře flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Odinstalace repozitáře flatpak remote-delete název repozitáře Takže například v případě odebrální repozitáře Flathub, by příkaz vypadal následovně: flatpak remote-delete flathub.
4 Updatovat informace o balíčcích flatpak update
5 Vypsat seznam dostupných balíčků v repozitáři flatpak remote-ls
6 Zobrazit podrobnější informace o balíčku flatpack info ID balíčku Zde se neuvádí jméno, jako u příkazu apt, ale rovnou ID balíčku (označeno je to ale jako ID Application), ta je ve druhém sloupci zleva ve výpisu. Dotaz by zněl flatpack info org.telegram.desktop.webview.
7 instalace balíčku flatpak install název repozitáře ID balíčku Takže například flatpak install flathub net.kvirc.KVIrc instaluje balíček KVIrc z repozitáře Flathub.
A vyjet seznam nainstalovaných aplikací flatpak list --app Důvod proč to děláme je, abysme zjistili ID balíčku, který chceme odinstalovat. Atribut --app vypíše pouze aplikace. Pokud bysme potřebovali řešit i jiné balíčky, pak stačí napsat flatpak list.
B odinstalujeme aplikaci flatpak uninstall ID balíčku Takže například flatpak uninstall net.kvirc.KVIrc.
C odinstaluje nepoužívané závislosti v prostředí flatpak flatpak uninstall --unused Slouží k pročištění systému na podobné bázi jako sudo apt autoremove. Jeližkož flatpak a apt pracují každý v jiným prostředí, zároveň také nesdílí závislosti a nemůže se stát, že by jsme odinstalací knihoven ve flatpaku znefunkčnili nějakou aplikaci nainstalovanou přes apt.
odinstalace flatpaku sudo apt remove název programu
odstranění závislostí sudo apt autoremove

Installují pouze dektopové aplikace (tedy nenabízí aplikace do příkazového řádku) bez použití administrátorských práv (sudo). Flatpakové aplikace používají systémy postavené na kontajnerizaci (např. běží ve svém jmenném prostoru) tak, aby se oddělili od hlavního systému.

PPA repozitář pro apt
Krok Co Kód Vysvětlení
0 zjistit, jestli není zkontrolovaný balíček v apt repozitáři apt list | micro Jde totiž o to, že pokud je balíček dostupný ve zkontrolovaném repozitáři, tak po zadání sudo apt install název balíčku, stejně apt nainstaluje balíček z zkontrolovaného repozitáře, nikoliv z PPA. Apt totiž volí ten balíček, který je novější a z repozitáře, který je uveden první v seznamech repozitářů. Pokud jsme tedy nepozmněnili seznami repozitářů, či neuděli jiné piny, nainstaluje se to z toho oficiálního.
1 získat ppa Někde na webu, nebo si ho vyhledat v repozitáři launchpad.net
2 přidat repozitář sudo apt-add-repository ppa:název repozitáře/ppa Takže například sudo apt-add-repository ppa:jeffreyratcliffe/ppa.
3 updatovat informace o balíčcích sudo apt update
4 nainstalovat balíček PPA sudo apt install název balíčku Pokud bych chtěl apt donutit, aby instaloval balíček z konkrétního repozitáře (viz krok 0), musím použí následující příkaz: sudo apt-get install -t název repozitáře název balíčku.
A odinstalovat program sudo apt remove název programu
B odinstalovat nepoužívané závislosti sudo apt autoremove

PPA je archiv repozotářů od Canonical (stejná firma spravuje oficiální apt repozitář) pro nezkontrolované balíčky vývojářů (každý balíček má většinou vlastní repozitář). Zde je tedy při každé instalaci balíčku potřeba mít daný balíček nebo daného vývojáře ověřeného, aby nedošlo k zanesení škodlivého systému. Ideální je před instalací a spoštěním systém zazálohovat. Fakt, že má každý vývojáře či balíček vlastní repozitář umožňuje oddělit balíčky a dobře vyhledávat odkud jsou. Odděluje se tím odpovědnost za špatný kód.

Instalace z kódu (např. GitHub)
Krok Co Kód Vysvětlení
0 podívat se jestli je instalátor a instalační návod Jednoduší je instalovat poskytnutým instalátorem. Pokud neni dostupný ani návod instalace, může to být docela složité. Konfigurační skrypty se nazývají většinou *configure*. A spouští se příkazem ./configure. Nápověda bývá v souborech nazvaných readme, install či build.
1 stáhnout zdrojový kód
2 sestavení softwaru (angl. build) Build, česky sestavení je převod kódu z člověku čitelné podoby do binárního kódu pro počítač. To se dělá přiloženým instalátorem, nebo příkazem make. Projekt ale musí obsazovat makefile soubor s instrukcemi, jak program složit.
3 instalace Instalace je umístění binárních souborů tak, aby byly spustitelné. To se dělá přiloženým instalátorem, nebo příkazem make.

Samoinstalace softwaru je složitá, nainstalovaný software se pak sám neupdatuje a bývá problém ho odinstalovat.

Zvážít zpracování appimage, dkpg