Hlavní navigace

Potrava pro vaši Fedoru - snadno a rychle (2)

28. 7. 2004
Doba čtení: 7 minut

Sdílet

V dnešním dílu se podíváme, kterak lze přes apt-get provádět upgrade KDE či instalaci her, a také na to, jak se řeší přístup ke službě zpoza restriktivní http proxy.

Aktuálně

Vyzkoušel jsem apt-get na čerstvě nainstalované Fedora Core 2 u kolegy v práci. Stažení Synapticu proběhlo dobře, ale při instalaci narazilo rpm na konflikt se souborem patřícím balíčku Yum. Vyřešil jsem to tak, že jsem korektně pomocí rpm odinstaloval Yum, pomocí apt-get nainstaloval Synaptic, teď již instalace proběhla bez problému, a pak nainstaloval znovu Yum, opět s pomocí apt-get a také bez problému a v novější verzi. Sekvence příkazů byla:

apt-get update

(tohle uvádím jen pro jistotu, opakování je matka moudrosti… neslyšeli jste to už někde?)

$ rpm -e yum
$ apt-get install synaptic
$ apt-get install yum

Jinou možností, ne tolik čistou, ale rychlejší, by bylo vynutit si instalaci volbou:

$ apt-get -o RPM::Options="--force" install synaptic

Je nutné počítat s tím, že sporný soubor bude nejspíš přepsán. K formátu voleb se dostanu v následujících kapitolách.

Druhý problém – instalace Firefoxu. Správce a autor projektu ATRpms Alex Thimm se rozhodl dočasně „zapoznámkovat“ Dagův repozitář. A právě v Dagově repozitáři se, mimo jiné, nachází Firefox. Jednoduchá náprava spočívá v odpoznámkování repozitáře v souboru /etc/apt/sources­.list. Pro naše potřeby by to mělo být zcela bezpečné. Nabízená verze Firefoxu je 0.8, zatímco na stránkách projektu Mozilla je ke stažení již verze 0.9.1. Důvodem může být fakt, že tato verze dosud není označována jako stabilní.

Upgrade KDE

$ apt-get update – není na škodu připomenout, že na začátku práce s apt-get bychom měli z Internetu načíst čerstvý seznam dostupných balíčků. To samé platí, pokud například uděláme změny do konfiguračních souborů.

$ apt-get install kde themer arts qt kdelibs kdebase gtk+ gtk2 redhat-artwork kdeaddons – nutný základ. Doporučuji zadat najednou, jak je uvedeno, jinak ze zatím neodhalených příčin hlásí chybu ohledně dependencies. Z nějakého důvodu si nedokáže vyřešit závislosti mezi balíčky sám.

$ apt-get install kdeutils kdegraphics kdemultimedia kdenetwork kdepim – doporučeno

$ apt-get install kdeadmin – získáte KPackage, jediný univerzální GUI systém pro práci s RPM, umožňuje prohlížet nainstalované balíčky, zjistit, který soubor patří do kterého balíčku, odinstalovat.

$ apt-get install kdeartwork – sada dodatečných ikonek a témat pro KDE, také doporučuji

$ apt-get install kdeedu kdegames kdetoys – názvy balíčků jsou dostatečně vypovídající

$ apt-get install quanta – editor HTML stránek podobný HomeSite.

$ apt-get install kdevelop – jedno z nejvyspělejších IDE pro vývoj C/C++ aplikací, nejen pro KDE.

A něco málo her

Několik lidí si v diskusi pod články tady na rootu stěžovalo, že uvedené hry je komplikované nainstalovat. Apt-get nabízí komfortní řešení. Pro úsporu místa neuvádím celý apt-get install příkaz, ale pouze název balíčku.

  • torcs – simulátor závodů pod licencí GPL, na rootu o něm článek zatím nebyl, ale je to velmi podobné Race. Doporučuji stáhnout všechny dodatečné balíčky, pozor, je jich hodně a mají dlouhá jména, takže použijte myš a Synaptic.
  • netpanzer – realtimová válečná strategie, viděno v isometrickém pohledu, určená především po hraní po síti.
  • flightgear – letecký simulátor FlighGear, viz článek na rootu.
  • scorched3d – viz článek na rootu
  • gl117 – bojový letecký simulátor, viz článek na rootu.

V dalším dílu si řekneme něco o repozitářích a přidám některé další inspirace ke stažení.

Když něco nejde

Některý z uvedených balíčků v tomto článku nenalezen? E: Couldn't find package synaptic? Opravdu jste nezapomněli dát apt-get update? Není se čeho bát, apt-get update můžete klidně dát před každým installem, před každým upgradem. Stažení všech hlaviček balíčků ze všech repozitářů je zdlouhavé, proto apt-get nestahuje hlavičky automaticky přek každou instalací jako Yum, ale má na to speciální příkaz – update. V Synapticu je to tlačítko „refresh“.

Přes apt-get je možné předat jakýkoliv parametr pro Rpm včetně voleb, jako je –nodeps a –force. Už jsme ho zmiňovali, hned na začátku článku. Výmluvný příklad:

$ apt-get -o RPM::Options="--force --nodeps" install synaptic 

Pozor, okolo znaku = (rovná se) nesmí být mezery. Bohužel se mi nepodařilo zjistit, jak jednoduše a interaktivně zadat v Synapticu.

Stahuje se velmi pomalu, síť je velmi pomalá a během stahování nás apt-get rozpojí? Pokud skončí stahování hlaviček při apt-get update na hlášce Connection timed out … Failed to fetch, mohla by zde pomoci volba Acquire::Timeout „1000“; Nejlépe do souboru /etc/apt/apt.conf, tak mám nastaveno já.

Vynucení reinstalace. Apt-get inteligentně rozpozná, že se snažíte nainstalovat něco, co už bylo nainstalováno, a instalaci odmítne. Nicméně pokud trváte na svém a reinstalaci z nějakého důvodu chcete provést znovu:

$ apt-get install --reinstall kde-i18n-Czech 

Mně se stalo, že se při update KDE nainstalovala Japonština a ta přebila češtinu i angličtinu, takže jsem měl hned přihlašovací obrazovku v exotickém písmu. Chvíli trvalo, než jsem se jako root dokázal přihlásit :-)

Zkontrolujte si, jestli si Apt nespouští rozšiřující skripty. Schopnosti Apt je samozřejmě možné rozšiřovat pomocí skriptů, k tomu byl vybrán poměrně exotický jazyk Lua. Skripty poznáte snadno, mají (překvapivě) příponu lua. Pokud požíváte apt-get z projektu Kde-Redhat, jsou například volány ze souboru /etc/apt/apt.con­f.d/mirrors.list a snaží se o inteligentní výběr mirroru repozitáře. Jako nápad je to dobré, ale mně osobně se stalo, že zcela znemožnily načtení některých repozitářů (neporadilo si to s proxy?). Pokud máte takové podezření, zkuste je zakomentovat. Ke skriptování se ještě vrátíme.

Záhadně se vám načítají i repozitáře, které nemáte v /etc/apt/sources­.list? Případně jste si je tam před chvílí zakomentovali a přesto se načítají? Pak si důkladně prohlédněte soubory v adresáři /etc/apt/sources­.list.d, soubory s příponou list. Jejich obsah se totiž bere v úvahu také.

Máte dojem že vás rpm zbytečně „buzeruje“ s chybějícími závislostmi? Můžete mu nasimulovat existenci jakéhokoliv balíčku:

RPM::Fake-Provides "XFree86 4.4.0"; "XFree86-xfs 4.4.0"; "XFree86-truetype-fonts 4.4.0" 

(do souboru /etc/apt/apt.conf)

Takhle jsem se musel vypořádat se závislostmi, když jsem nahradil XFree86 za X.org – vlastnoručně zkompilované SRPM z RawHide nainstalováno do FC1. Správně by toho nemělo být potřeba, chyba byla ve spec souboru X.org, ale na opravu rozsáhlého spec souboru jsem prostě neměl čas ani znalosti.

Doporučení k instalaci

Většinou nezáleží na tom, zda balíček instalujeme jednotlivě, nebo ve větší dávce najednou. Teoreticky by to vždy mělo být jedno, nicméně a bohužel jsou tu výjimky. Hned update KDE vyžaduje (resp. je to silně doporučeno) zadat instalaci všech podstatných částí najednou, jak bylo uvedeno výše. Většinou je při potížích doporučeno nainstalovat balíček spíše samostatně.

Můžeme instalovat KDE v prostředí KDE? Je bezpečný update X serveru, když na něm právě pracuji? Kupodivu ano. Nemusíte se přepínat do textového režimu, do init-módu 3. Pouze je silně doporučeno po úspěšné instalaci restartovat KDE či X server (jednoduše – odhlásíte se a přihlásíte znovu jako uživatel, celý systém samozřejmě restartovat nemusíte). Při update kernelu se nový kernel instaluje odděleně a znamená se jako nová položka do boot manažeru (funguje pro Grub i Lilo).

Stahování balíčků, zvláště pokud jich stahujeme větší množství najednou, můžeme libovolně přerušovat. Apt-get má poměrně odolný mechanismus navazování přerušeného stahování, co se jednou stáhlo, i neúplné balíčky (poznáme je podle přípony .part), se neztratí.

Proxy

Tento odstavec je určen všem, kteří se podobně jako já připojují k internetu v rámci rozsáhlé sítě a jsou za restriktivní proxy. Apt-get používá pro stahování balíčků pouze standardní síťové protokoly http a ftp (v pasivním režimu), takže si poradí i s velmi restriktivní http proxy typu Squid.

Pokud jste za proxy typu Squid a musíte se autorizovat pomocí NTLM, apt-get se na rozdíl od Mozilly autorizovat tímto způsobem neumí, je nutné zprovoznit si malou lokální autorizační proxy. Já spokojeně používám již delší dobu (i když se jedná o mrtvý projekt; mimochodem, je to napsáno v Pythonu) APServer, tady je link na stažení. Konfigurace je triviální, do souboru server.cfg je nutné zadat tři údaje. Jediná potíž je v tom, že do konfiguračního souboru je nutné zadat doménové (mám na mysli MS Active Domain) jméno a heslo, což z hlediska bezpečnosti není to nejlepší. Pokud víte o lepším řešení, o lepším software, podělte se s ostatními!

Jsou dva způsoby, jak nakonfigurovat apt-get přes proxy. První vede přes apt.conf, vzor najdete v dokumentaci k Apt. Vřele mohu doporučit způsob druhý, nastavení environmentálních proměnných http_proxy a ftp_proxy. Mám na to malý skript:

#!/bin/bash
export ftp_proxy=http://127.0.0.1:5001
export http_proxy=http://127.0.0.1:5001

Ten je pak nutné spouštět:

$. ./nastav_proxy

Důležitá je ta tečka mezera na začátku. Jinak se nastavení okamžitě po skončení skriptu zase zapomene. Ani příkaz export totiž nedokáže exportovat proměnnou nahoru, k rodičovskému procesu. Více manuál k bashi.

root_podpora

Já měl trochu problém s proxy a Synapticem. Mám podezření, že ignoruje nastavení apt.conf a v některých případech i nastavení těchto systémových proměnných. Synaptic má vlastní nastavení proxy přes menu Preferences, záložka Network.

Příště

V další kapitole si posvítíme na dva hlavní konfigurační soubory – apt.conf a sources.list, upravíme je, stáhneme si Flash plugin pro Mozillu a probereme další záludnosti Apt.

Odkazy

  1. Apt-rpm FAQ, nachází se na stránkách projektu Apt4Rpm, což je sada software pro tvorbu repozitářů, ale jejich FAQ je užitečné i pro koncové uživatele Apt.
  2. New features in APT-RPM na LWN.net od Gustavo Niemeyer (současný vývojář a maintainer Apt-get)
  3. stránky projektu AptRpm, doporučuji k nahlédnutí podrobný changelog
  4. man:/apt.conf
  5. man:/sources.list
  6. NTLM Authorization Proxy Server

Byl pro vás článek přínosný?