Hlavní navigace

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

Jan Uhlíř 28. 7. 2004

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.

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
Našli jste v článku chybu?

3. 8. 2004 15:55

Jan Uhlíř (autor) (neregistrovaný)

Tak i Yum už má svoje GUI:
http://cobind.com/yumgui.html
Nezkoušel jsem..



29. 7. 2004 18:51

Jan Uhlíř (autor) (neregistrovaný)

Ano, RPM jste shrnul v podstatě správně, jen bych ještě dodal, že je schopné si říct, co mu k instalaci balíčku xxx chybí, které závislosti nejsou splněny a při instalaci umí například zdetekovat kolizi, nebo že už je nainstalována novější verze a nemá cenu xxx instalovat atd. Takže jistou inteligenci má, ale jak správně říkáte, stáhnou chybějící balíčky nedovede, neví kde a jak. O to se starají nadstavby jako Apt, Yum, Urpmi, Emerge, ...

Co je lepší Yum nebo Apt? Co jak v čem:

A…

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

120na80.cz: Bojíte se encefalitidy?

Bojíte se encefalitidy?

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Lupa.cz: Není sleva jako sleva. Jak obchodům nenaletět?

Není sleva jako sleva. Jak obchodům nenaletět?

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně