Apt: Porovnání verzí

Smazaný obsah Přidaný obsah
náhrada zastaralého prezentačního tagu vhodnější konstrukcí
optimalizace kódu; oprava kódu; vhodnější sémantika; kosmetické úpravy
Řádek 3:
= Tabulka nejčastěji používaných příkazů a jejich kombinací =
 
{| class="wikitable"
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 75%; border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%"
|-
|- style="background: #ececec;"
! Popis
! Příkaz
|-
!| Výpis všech nainstalovaných balíků
| dpkg -l
|-
!| Vyhledání balíčku ke kterému patří určitý soubor
| dpkg -S '/cesta/k/souboru'
|-
!| Výpis obsahu balíčku
| dpkg -L <nainstalovaný balíček>
|-
!| Výpis informací z '''nenainstalovaného''' lokálně uloženého balíčku
| dpkg -i /cesta/k/balíku/něco-1.2.3-i386.deb
|-
!| Výpis obsahu '''nenainstalovaného''' lokálně uloženého balíčku
| dpkg -c /cesta/k/balíku/něco-1.2.3-i386.deb
|-
!| Aktualizace databáze dostupných balíků
| apt-get update
|-
!| Instalace nejnovejších dostupných verzí všech balíčků
| apt-get upgrade
|-
!| Vyhledání balíčku z databáze dostupných balíků
| apt-cache search <regulární výraz pro hledaný řetězec>
|-
!| U dotazů na databáze balíků si lze pomáhat použitím rour a filtrovacích příkazů
| dpkg -L <nainstalovaný balíček> | grep bin
|}
 
= Jak nastavit APT =
 
Aby APT fungoval jak má, musí být správným způsobem nastaven. Základním konfiguračním souborem pro APT je <code>/etc/apt/apt.conf</code>
Řádek 44:
{{Pozor|Nastavení proxy lze obejít, nastavením proměnných <code>http_proxy</code> a <code>ftp_proxy</code> přímo na konzoli, ale některá jiná nastavení ne.}}
 
== Syntaxe konfiguračního souboru <code>apt.conf</code> ==
 
APT byl původně napsán v perlu, takže z perlovské syntaxe vychází i konfigurační soubor. Lze v něm používat i komentáře (což je veškerý text za sekvencí '''//''' až do konce řádku) a jeho struktura je stromová. Je tedy možný dvojí zápis. Buď jednořádkový, kdy jsou jednotlivé parametry odděleny dvojtečkami a volby v uvozovkách:
Řádek 73:
Příklad takového konfiguračního souboru naleznete níže v oddíle [[Apt#Vytvoření zdroje pro APT|Vytvoření zdroje pro APT]]
 
=== Nastavení přístupu (proxy) ===
 
Lze provést rovněž nastavením v konfiguračním souboru <code>/etc/apt/apt.conf</code>. Obsah tohoto souboru vypadá zhruba takto:
Řádek 85:
Nicméně má vlastní zkušenost je taková, že přes naši http proxy to ne vždy funguje jak má a tak raději vždy předtím než začnu na konzoli pracovat s APT vyexportuji nastavení proxy do proměnných ''http_proxy'' a ''ftp_proxy''
 
= Distribuce a verzování =
 
Ačkoliv i jiné distribuce používají balíčkovací systém DEB, neznamená to, že by musely nutně používat stejný systém verzování. Nejnápadnější je to asi u Ubuntu, které se pravděpodobně nechalo inspirovat vydávacím cyklem Mandrivy (každý rok jedna verze).
Řádek 103:
{{Pozn|Pokud chcete instalovat verzi ''unstable'', tak stejně (pokud neinstalujete přes [[Linux:debootstrap|debootstrap]]) se to většinou řeší tak, že nejprve nainstalujete z média verzi ''testing'' nebo ''stable'' a teprve pak, úpravou konfigurace pro APT zaktualizujete systém na ''unstable''.}}
 
{| class="wikitable"
{| border="1" cellpadding="1" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%"
|-
|- style="background: #ececec;"
! kódové jméno
! verze
! popis
|-
! woody
| oldstable || Je verze kterou nahradil v její pozici ''stable'' '''sarge'''
|-
Řádek 132:
}}
 
== Ubuntu versus Debian ==
 
==Ubuntu versus Debian==
 
Ubuntu byla distribuce zpočátku primárně zaměřená na desktop a vznikla jako tzv. derivát Debianu. Od samého počátku měla ambice na maximální záběr mezi laiky, proto se při jejím verzování a výběru software uplatňují poněkud jiná kritéria.
Řádek 143 ⟶ 142:
Jelikož Ubuntu používá stejně jako Debian APT, je přechod na novou, aktualizovanou verzi je pochopitelně realizovatelný. Vyžaduje to však uživatele s jistou dávkou odvahy a zkušeností a tak se stejně většinou provádí nová instalace, místo pouhé aktualizace.
 
{| class="wikitable"
{| border="1" cellpadding="1" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%"
|-
|- style="background: #ececec;"
! kódové jméno
! verze
Řádek 181 ⟶ 180:
}}
 
== Nastavení výchozí verze distribuce ==
 
Pro všechny distribuce používající APT platí, že podstatné je nastavení výchozí verze distribuce, kterou pak bude APT upřednostňovat. Provádí se to přidáním následujícího parametru do souboru <code>apt.conf</code>:
Řádek 214 ⟶ 213:
}}
 
= Nastavení politiky =
 
Umožňuje například zajistit, aby nám při automatické aktualizaci nedocházelo k nežádoucímu přeinstalování životně důležitých balíků, nebo upřednostnit náš vlastní zdroj (repository) před distribučním. ''Politiku'' (''Policy'') lze nastavit pomocí konfiguračního souboru <code>/etc/apt/preferences</code>, který má poměrně jednoduchou syntaxi:
Řádek 227 ⟶ 226:
Oddělovačem jednotlivých záznamů je prázdný řádek.
 
; Hodnota "Package"
; Hodnota "Package" : Určuje název balíku, na který se mají aplikovat následující pravidla v záznamu. V případě že se má pravidlo aplikovat na všechny balíky obsahuje pouze znak "*"
 
; Hodnota "Pin"
: upřesňuje vůči které z informací o balíku má být pravidlo aplikováno
:: version - specifikuje verzi balíku (obvykle část názvu balíku za jeho jménem); u verze lze použít masku "*" pro zobecnění čísla verze
:: release - verze distribuce z níž balík pochází
:: maintainers - správce, či vydavatel balíku
:: origin - adresa zdroje balíků
 
; Hodnota "Pin-Priority"
: Nastavuje prostřednictvím číselné hodnoty pravidla, co se bude s balíkem, který vyhoví záznamu dít. Pro hodnoty u "Pin-Priority" výše uvedeného příkladu by pak platilo, že:
:{|
|-
! valign="top" style="text-align: right; vertical-align: top;" | 1001
| APT balíček balik-0.1.3 nikdy nenahradí, a to i přesto, bude-li k dispozici balíček balik-0.1.4 V takovém případě provede downgrade na původní verzi 0.1.3
|-
! valign="top" style="text-align: right; vertical-align: top;" | 1000
| Stejný efekt jako 1001, pouze s tím rozdílem, že APT neudělá downgrade z verze balik-0.1.4 na nižší verzi 0.1.3
|-
! valign="top" style="text-align: right; vertical-align: top;" | 999
|
|-
! valign="top" style="text-align: right; vertical-align: top;" | 990
| Verze 0.1.3 bude nahrazena vyšší verzí balíku pouze z vydání určeného proměnnou "APT::Default-Release" v souboru <code>apt.conf</code>
|-
! valign="top" style="text-align: right; vertical-align: top;" | 500
| Výchozí hodnota, APT upřednostní jakoukoliv vyšší verzi balíčku balik než 0.1.3 bez ohledu na vydání (release)
|-
! valign="top" style="text-align: right; vertical-align: top;" | 100
| Jakákoliv vyšší verze balíčku balik z kteréhokoliv vydání, jakož i jakákoliv nainstalovaná vyšší verze bude mít přednost před verzí 0.1.3. Tuto prioritu mají nastavenu nainstalované balíčky
|-
! valign="top" style="text-align: right; vertical-align: top;" | -1
| Záporná priorita zcela zamezí instalaci verze 0.1.3
|}
Řádek 311 ⟶ 314:
}}
 
= Zdroje (repository) =
 
Zdroje pro APT se nastavují prostřednictvím souboru <code>/etc/apt/sources.list</code>
Řádek 325 ⟶ 328:
nastavuje zdroj pro rekompilace balíků, které jsou ve skupině main a contrib, unstable verze distribuce, která se nalézá na http adrese <nowiki>http://ftp.debian.org/debian</nowiki>
 
== Typy zdrojů: ==
 
deb - zdroj pro binární balíky
deb-src - zdroj pro zdrojové balíky, ze kterých lze kompilovat binární balíčky.
 
 
{{Příklad|1=
Řádek 361 ⟶ 363:
}}
 
* První sloupec určuje o jaký typ zdroje balíků se jedná:
:** '''rpm-srcdeb''' - pro rpmdebianovské zdrojovébinární balíky
 
:** '''deb-src''' - pro debianovské binární balíkyzdrojáky
:** '''deb-srcrpm''' - pro debianovskébinární rpm balíky (u aptu pro zdrojákyrpm)
:** '''rpm-src''' - pro binární rpm zdrojové balíky (u aptu pro rpm)
* V druhém sloupci je kořenová URL adresa zdroje.
: '''rpm-src''' - pro rpm zdrojové balíky
* Třetí sloupec obsahuje verzi distribuce:
 
:** stabilní - ''stable'' nebo ''sarge''
*V druhém sloupci je kořenová URL adresa zdroje.
:** testovací - ''testing'' nebo ''etch''
 
:** nestabilní - ''unstable'' nebo ''sid''
*Třetí sloupec obsahuje verzi distribuce:
:** některé zdroje nabízejí i vývojovou ''experimental''
: stabilní - ''stable'' nebo ''sarge''
* Pak následuje výběr větve podle typu licence.
: testovací - ''testing'' nebo ''etch''
:** main - je hlavním zdrojem balíků, který obsahuje všechny nezbytné součásti systému a důležité utility
: nestabilní - ''unstable'' nebo ''sid''
:** contrib - zahrnuje různé doplňkové balíky
: některé zdroje nabízejí i vývojovou ''experimental''
:** non-free - obsahuje cestu k balíkům, k nimž nejsou k dispozici zdrojové kódy, nebo mají nějak omezenou licenci
 
*Pak následuje výběr větve podle typu licence.
: main - je hlavním zdrojem balíků, který obsahuje všechny nezbytné součásti systému a důležité utility
: contrib - zahrnuje různé doplňkové balíky
: non-free - obsahuje cestu k balíkům, k nimž nejsou k dispozici zdrojové kódy, nebo mají nějak omezenou licenci
 
Každá z těchto větví pak obsahuje soubor Release, v němž můžete najít informace o architektuře, komentář ke zdroji, atp.. a soubor se seznamem balíků (u zdrojů pro binární balíky se jmenuje ''Packages'' a u zdroje pro zdrojáky ''Sources'').
 
"Deaktivaci" zdroje lze provést zakomentováním řádku (znakem #).
 
 
== Struktura zdroje ==
Řádek 432 ⟶ 429:
Vzhledem k tomu, že balíků je ohromné množství, může (ale nemusí) být adresář ''pool'' rozdělen do menších bloků, podle abecedy a názvu aplikací. '''Adresář s názvem aplikace obsahuje všechny binární a zdrojové balíky pro všechny aktuální distribuční verze.'''
 
== Vytvoření zdroje pro APT ==
 
Základní utilitou pro vytvoření nového zdroje je [[Linux:apt-ftparchive|apt-ftparchive]] který je součástí balíku ''apt-utils''.
 
=== Ověřovací klíče ===
 
Pokud chcete, aby váš zdroj byl považován za důvěryhodný, je třeba:
Řádek 444 ⟶ 441:
Bez by toho bude apt při instalaci vašich balíčků vždy vyžadovat manuální schválení. Předtím, než se do toho pustíte se důkladně seznamte s tím jak se vlastně vůbec s klíči pracuje.
 
=== Vytvoření zdroje (repository) ===
 
Zdroj musí mít odpovídající strukturu
Řádek 509 ⟶ 506:
}}
 
=== Vygenerování souboru Release ===
 
<div style="background-color:#f0fff0;font-family:monospace;">
Řádek 515 ⟶ 512:
</div>
 
=== Podepsání souboru Release ===
 
<div style="background-color:#f0fff0;font-family:monospace;">
Řádek 524 ⟶ 521:
 
= Základní nástroje a práce s nimi =
 
 
<!--balík dpkg-->
 
== cleanup-info ==
 
== dpkg ==
Řádek 533 ⟶ 530:
Nástroj dpkg se používá u dotazů a operací, které se týkají již nainstalovaných balíků.
 
== dpkg-deb ==
 
== dpkg-divert ==
 
== dpkg-query ==
 
== dpkg-split ==
 
== dpkg-statoverride ==
 
==install-info ==
 
==start-stop-daemon==
 
== install-info ==
 
== start-stop-daemon ==
 
== update-alternatives ==
 
Nástroj pro správu [[Linux:Alternatives | alternatives ]].
Řádek 559 ⟶ 554:
Nástroj apt-cache se používá pro dotazování zdroje '''všech''' dostupných balíků.
 
== apt-cdrom ==
 
Je nástroj, kterým lze přidat do seznamu repozitory také obsah repository uložené na CD
 
== apt-config ==
 
je nástroj kterým lze vypsat aktuální konfigurační nastavení pro APT. Ta lze ovlivňovat např. defaultním souborem <code>/etc/apt/apt.conf</code>, ale také lze u některých příkazů předávat operativně vlastní konfirační soubory.
Řádek 603 ⟶ 598:
 
: Zkontrolujte si nastavení pro APT. Jste-li za proxy, může být problém v tom, že nemáte na konzoli nastavené hodnoty pro vaši proxy. Vyžaduje-li proxy login a heslo, vypadá potřebný příkaz takto:
 
: <div style="background-color:#f0fff0;font-family:monospace;">{{Linux:root}}[[Linux:export|export]] http_proxy="<nowiki>http://</nowiki>&lt;login&gt;:&lt;password&gt;@&lt;IP adresa proxy&gt;:&lt;port&gt;"</div>
 
Řádek 624 ⟶ 618:
* balík závisí na jiném, nově přidaném balíku, ale seznam dostupných balíků ve zdroji na serveru ještě nebyl zaktualizován. V takovém případě se můžete pokusit chybějící balík stáhnout přes www prohlížeč, pokud se již ve zdroji vyskytuje a doinstalovat ho pak z lokálního adresáře. Nebo si chybějící balík rekompilovat (viz níže). Ale pozor! tento problém nejčastěji nastává tehdy, obsahuje-li zdrojový balík chybu, která brání rekompilaci. A nalezení a oprava takové chyby nemusí být vůbec triviální záležitost.
* balík má chybu v závislostech. Tj. balík na kterém závisí již byl nahrazen novější verzí. Tam pomůže pouze rekompilace balíku. Ovšem před ní je třeba upravit závislosti v souboru ''control'', který najdete v podadresáři rozbaleného instalačního balíku ''debian''
 
 
=== Instalace a odebírání binárních balíků ===
Řádek 674 ⟶ 667:
=== Řešení závislostí ===
 
== apt-key ==
 
Nástroj pro údržbu podpisů pro ověření balíčků
 
== apt-mark ==
 
'''Pozn.:''' Bez balíku ''apt-python'' si neškrtnete
Řádek 686 ⟶ 679:
Sada nástrojů pro přípravu zdroje instalačních balíčků
 
== apt-extracttemplates ==
 
Utilita pro extrakci config souboru z deb balíčku
 
== apt-ftparchive ==
 
Generuje indexové soubory pro zdroje (repository) balíčků
 
== apt-sortpkgs ==
 
Nástroj pro setřídění indexových souborů zdroje (repository) balíčků