dum | žák

Linux

Název školy Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace
Adresa školky Kostelní 134, 411 08 Štětí
46773509
Název operačního programu OP Vzdělávání pro konkurenceschopnost
Registrační číslo CZ.1.07/1.5.00/34.1006
Označení vzdělávacího materiálu VY_32_INOVACE_21_PSS_410
Název tématické oblasti (sady) Operační systémy
Název materiálu Správa balíčků
Anotace Materiál vysvětluje pojmy a koncepci repozitářů a balíčků. Dále pak popisuje správu software, totiž instalaci/odinstalaci balíčků a přidávání dalších repozitářů jako zdrojů pro balíčky.
Autor Ivan Pomykacz Jazyk český
Očekávaný výstup Nastaví vzdálený repozitář. Instaluje/Odinstaluje balíček. Rozumí závislostem mezi balíčky a proč je tyto závislosti vhodné dodržovat.
Klíčová slova balíček, repozitář, instalace, odinstalace
Druh výukového zdroje Výklad Věková skupina žáků 17+
Typ interakce aktivita Ročník 3.
Speciální vzdělávací potřeby žádné
Zhotoveno, (datum/období) 21.01.2014 Celková velikost

pdf icon
Správa balíčků

Obsah

Repozitáře

V systému Linux se software spravuje jiným způsobem neš např. v MS Windows. Princip spočívá v tom, že veškerý software je umístěn v tzv. repozitáři. Repozitář může být jakékoli úložiště, např. CD/DVD nebo server síti Internet. Například právě nainstalovaný Debian GNU Linux (Wheezy) obsahuje na instalačním CD část repozitáře s vybranými balíčky, nutnými pro instalaci základního systému.

Umístění repozitářů lze samozřejmě mezi sebou kombinovat. Část repozitáře je tedy na CD a zbytek v Internetu. Repozitář není navíc jen jeden, ale můžeme jich mít nastaveno hned několik.

Balíček

Balíčky jsou soubory se speciální koncovkou deb. Je to vlastně obyčejný komprimovaný archiv, který se rozbalí do předem daných adresářů. Může obsahovat poinstalační skripty, které se postarají o dodatečnou konfiguraci dle aktuálního nastavení systému.

Pokud chceme nainstalovat nějaký program musíme znát název balíčku, a potom stačí tento balíček nainstalovat přes správce balíčků. Například program Midnight Commander má instalační balíček mc. Lze jej nainstalovat (jako root) příkazem:

root@wheezy:~# apt-get install mc
Čtu seznamy balíků… Hotovo
Vytváří se strom závislostí
Čtu stavové informace… Hotovo
Následující extra balíky budou instalovány:
  libglib2.0-0 libglib2.0-data mc-data shared-mime-info unzip
Navrhované balíky:
  zip arj xpdf pdf-viewer dbview odt2txt gv catdvi djvulibre-bin imagemagick
  python-boto python-tz
Následující NOVÉ balíky budou nainstalovány:
  libglib2.0-0 libglib2.0-data mc mc-data shared-mime-info unzip
0 aktualizováno, 6 nově instalováno, 0 k odstranění a 0 neaktualizováno.
Potřebuji stáhnout 5 785 kB archivů.
Po této operaci bude na disku použito dalších 22,8 MB.
Chcete pokračovat [Y/n]?

Výpis program apt-get je poněkud upovídaný. Později se dozvíme, že existuje něco jako závislosti mezi balíčky.

Balíčky nemusí nutně obsahovat jen programy, ale mohou to být například tapety na plochu nebo sdílené součásti mezi programy například knihovna SDL. Nebo to mohou být jazykové balíčky pro dané programy (např. iceweasel-l10n-cs).

Vyhledávání balíčků

Pokud neznáme název balíčku, můžeme prohledávat databázi balíčku pomocí klíčových slov. K tomu slouží příkaz apt-cache:

root@wheezy:~# apt-cache search webový prohlížeč
ajaxterm - Webový terminál napsaný v Pythonu
bluefish - pokročilý Gtk+ HTML editor
chimera2 - Webový prohlížeč pro X
doc-central - Webový prohlížeč dokumentace
dpkg-www - Webový prohlížeč balíčků Debianu
elinks - Pokročilý textový prohlížeč WWW stránek
epiphany-browser - Intuitivní webový prohlížeč pro GNOME
epiphany-browser-data - Datové soubory pro hlavní webový prohlížeč prostředí GNOME
epiphany-browser-dbg - Ladicí symboly pro hlavní webový prohlížeč prostředí GNOME
ezmlm-browse - Webový prohlížeč archivů ezmlm-idx
feh - Prohlížeč obrázků používající imlib2
httrack - Zkopíruje kompletní weby do Vašeho počítače (prohlížení offline)
jsmath - Rovnice TeXu v dokumentech HTML
junior-internet - Debian Jr. - internetové nástroje
links2 - Webový prohlížeč běžící v grafickém i textovém módu
midori - Rychlý, nenáročný grafický prohlížeč
...

Větší šanci ovšem budete mít, použijete-li anglická slova, neboť ne všechny texty jsou přeložené do češtiny.

Správce balíčků

Každá distribuce používá zpravidla jeden balíčkovací systém. Distribuce odvozené od Debianu (např. Ubuntu) používají nástroje APT. Spustíte-li samotný příkaz apt-get, vypíše se vám nápověda, kde je vše potřebné.

Instalace

Instalaci provedeme příkazem apt-get install, za kterým následuje jeden nebo více balíčků, které chceme nainstalovat. Není tedy nutné při instalaci 5 balíčků spouštět příkaz pětkrát.

Odinstalace

Lze provést příkazy apt-get remove nebo apt-get purge. V druhém případě se odstraní i konfigurační soubory (jak uvádí nápověda)

Aktualizace seznamu balíčků

Debian si stahuje seznamy všech balíčků pro offline použití. Např. když jsme hledali v databázi balíčků příkazem apt-cache.

Pokud ovšem přidáme do seznamu zdrojů další repozitáře (nebo naopak odebereme), je nezbytné okamžitě provést apt-get update. Ten se postará o stažení a sestavení aktuální cache balíčků.

Aktualizace software

Pokud chceme provést aktualizaci nainstalovaných balíčků, použijeme příkaz apt-get upgrade (v návaznosti na apt-get update). APT pak stáhne aktuální verze balíčků z repozitáře a nainstaluje.

Povýšení verze celého systému

Předchozí verze Debianu (v době psaní) byla verze 6 (kódové jméno Squeeze). Nyní je aktuální verze 7 (Wheezy). Mezi vydáním verze 6 a 7 uplynuly 3 roky. Za takovou dobu se toho ve vývoji distribuce vždy hodně změní (většinou k lepšímu).

Změny mají ovšem negativní vliv na stávající konfiguraci systému (ve smyslu nekompatibility). Vždy hodně záleží, co všechno a jak jste v systému nastavovali. Pokud na systému provozuje minimum věcí a víte, že upgrade na tuto verzi neovlivní budoucí fungování, např. databáze, která běží na serveru, pak asi nebude problém.

Linux je ovšem "zrádný" v tom, že umožňuje věci tvořit na míru. S tím ovšem nepočítají hlavní vývojáři distribuce a je proto možné, že upgradem rozbijí vaše nastavení a systém pak nebude fungovat jako před upgradem.

Zkráceně se tedy nedoporučuje provádět povyšování systému. Je třeba nejprve nastudovat všechny změny, které se odehrály za poslední 3 roky, aby nedošlo k nějaké kolizi. V produkčním prostředí si totiž nemůžeme dovolit žádné výpadky serveru.

Spravá zdrojů

Ne všechny programy musím nutně být v jednom repozitáři. Zpravidla to funguje tak že distribuce má svůj hlavní repozitář kde se nachází většina používaných balíčků. Tyto balíčky mají zpravidla podobnou licenci která umožňuje tento způsob jejich distribuce. pokud balíčky mají jinou licenci pak se nachází v jiné větvi repozitáře. main free non-free Může se stát že balíček se neobjeví v žádné z větví repozitáře. Může to tak být z různých důvodů buď si to nepřejí vývojáři distribuce nebo autor balíčku nebo to neumožňuje license. Výhoda repozitářů je ta že se software jednoduše udržuje. To znamená pokud někdo vydá aktualizaci tato aktualizace se umístí do repozitáře a všichni si jí mohou stáhnout.

V závislosti na distribuci se liší konfigurace repozitáře. Debian GNU/Linux používá jako správce balíčků: aptitude. Jeho konfigurační soubory se nacházejí v adresáři /etc/apt. Tam se nachází soubor sources.list, kde jsou zapsány všechny repozitáře, ze kterých se mohou balíčky stahovat. Nový řádek v souboru sources.list vypadá obecně takto: deb :// ... Nechť máme repozitář např. na www serveru dusin v adresáři debian. Tento lokální repozitář obsahuje několik balíčků z větve main a contrib. Obě tyto větve chceme využít. Použitý repozitář musí odpovídat instalované verzi Debian Linuxu, což je v našem případě verze Lenny. Výsledný řádek by pak mohl vypadat: deb http://dusin/debian lenny main contrib Poslední tři klíčová slova v řádku tedy označují verzi GNU/Linuxu Debian, tj. lenny a dále dvě podskupiny repozitáře: hlavní větev, tj. main a větev přispěvatelů (contrib). Debian se takto snaží rozlišit balíčky od různých dodavatelů, případně různých licencí, např. free nebo nonfree. Při změně v konfiguraci je potřeba provést update repozitářů, během kterého si aptitude stáhne aktuální seznam dostupných balíčků. apt-get update