Vlákno názorů k článku Potrava pro vaši Fedoru - snadno a rychle (2) od Jan Zich - Me by spise zajimal clanek, ktery by popisoval...

  • Článek je starý, nové názory již nelze přidávat.
  • 28. 7. 2004 17:10

    Jan Zich (neregistrovaný)

    Me by spise zajimal clanek, ktery by popisoval presny vztah a funkce Yum, Apt, Rpm ajin. Zajimalo by me, jak a kam presne yum a apt ukladaji nejake informace o naisntalovanych programech? Pouzivaji nejaky centranlni seznam? Kde? Nakolik jsou oba kompatibilni? Jak jeden pozna, ze druhy neco nainstaloval. Vsiml jsem si napr., ze yum a apt me neukazuji presne stejny seznam nainstalovanych balicky, proc? Jak yum a apt komuniuji se servery? Kde jsou jejich konfiguracni soubory? Do jakeho adresare instaluji programy? Pouziva apt primarne rpm? Nebo ho jen podporuje a ma jiny nativni format? Jake jsou duvody pouzivat ten ci onen system? atp. atp. Vim, ze na nektere otazky je odpoved jednoducha, ale rad bych videl nejaky hezky souhrnny clanek - uz me nebavi cist dlouhe manualy nebo hledat zmatene pres Google.

  • 29. 7. 2004 10:39

    Jan Uhlíř (autor) (neregistrovaný)

    Mě by osobně takový článek taky zajímal ;-)
    Také jsem ho hledal marně. Hodně se toho dozvíte z konferencí k jednotlivým repozitářům, zejména k ATRpms, protože všechny umožňují používání jak Yumu tak Apt, takže s tím mají bohaté zkušenosti.

    Lákalo mě něco takového do svého článku zapojit, ale s Yumem mám jen minimální zkušenosti, takže bych se mohl dopustit nepřesností.

    Jenom krátce. Yum a Apt LZE používat bezpečně dohromady. A také to lidé, dle konference, běžně dělají. Dokonce tam lze objevit rady jako: tohle stáhněte raději Yumem a v tomhle je lepší pře Apt.

    Oba dva jsou postaveny nad RPM, přesněji řečeno, nad librpm (volají knihovnu, ne binárku). Měli by tudíž ukazovat minimálně stejný seznam nainstalovaného SW.
    Díky tomu také poznají, co kdo nainstaloval.

    Mám podezření, že každý z nich se trochu jinak vypořádává se závislostmi mezi balíčky a trochu jinak řeší rozpoznávání nových verzí (ono to občas není jednoduché ani jednoznačné, různé 'pre' verze, číslování patchů, různé varianty balíčku atd.)

    > Jak yum a apt komunikují se servery?
    Jak jsme psal, výhradně výměnou souborů přes HTTP a (výjimečně) FTP. apt-get update vám stáhne soubory se seznamem dostupných balíčků, od všech serverů + lokální seznam, v paměti si zrekonstruuje celou pavučinu vztahů. Pak zadáte install nějakého vytouženého balíčku, apt prozkoumá, zda ho už nemáte nainstalovaný, pokud ne, podívá se do "pavučiny" jestli vám neschází nějaké závislosti, z toho sestaví seznam, co je potřeba stáhnout. Tenhle seznam vás nechá potvrdit (pokud tam je víc jak jedna položka) a začne download. Pokud doběhne celý a dobře předá apt řízení Rpm (seznam stažených balíčků) a pak jen oznámí výsledek uživateli. Se Synapticem je to podobné, pouze je nad tím ještě jedna - GUI - vrstva, která zaobalí vstupy a výsledek.

    Repozitář musí mít předepsanou strukturu. Musí tam být podaresář 'base', a v něm soubory jako "pkglist.at-stable.bz2" atd. Sám název napovídá o co jde.
    Podívejte se sem, bude vám to jasné už od pohledu:
    http://apt.physik.fu-berlin.de/fedora/2/en/i386/
    http://apt.physik.fu-berlin.de/fedora/2/en/i386/base/

    Yum to má velmi podobné, pouze leží v jiném adresáři (resp. adresářích) mají koncovku hdr (a zcela jistě i jiný formát než pro Apt, nicméně obsahují zhruba stejné informace) a jsou per balíček (apt to má koncentrované per repozitář). Viz:
    http://apt.physik.fu-berlin.de/fedora/2/en/i386/at-stable/headers/

    Také balíčky jsou různě (leč podobně) organizované.
    V adresářích jako 'RPMS.at-stable' hledá Apt a v
    'at-stable/RPMS' zase Yum. Často jde o symbolické linky, takže jde o fyzicky zcela stejné balíčky. I seznam bývá naprosto stejný (ale teoreticky se může lišit!).


    Na generování těhle seznamů existují speciální programy, jako Apt4Rmp a jiné, ale tohle Vás jako koncového uživatele nemusí zajímat, leda by jste chtěl zřídit vlastní repozitář :)


    > Kde jsou jejich konfiguracni soubory?
    O konfigurace bude ještě řeč.
    Ale zkuste se podívat do /etc ;-)

  • 29. 7. 2004 13:02

    Jan Zich (neregistrovaný)

    Super, dik. Tohle je idealni zachytny bod. Ted uz aspon mam jistotu, ze kdyz neco nainstaluju jednim nebo druhym, tak je to jedno ...

    Vcera jsem si cetl nejake zaklady o rpm a uvedomil jsem si, ze rpm skutecne MA nekde cetralni databazi nainstalovanych balicku. Takze ted se to pokusim shrnout do jednoho odtavce - opravte me, jestli neco rikam spatne.

    Kdyz to reknu hodne zjednodusene, tam rpm je relativne "jednoduchy" program, ktery umi nainstalovat/odinstalovat balicky a pripadne vypisovat informace o jiz nainstalovanych. Apt a yum slouzi potom k tomu, ze najdou a stahnou balicky na internetu (v danem seznamu repozitaru), vyresi zavilosti, stahnou pripadne chybejici balicky a predhodi to rpm. Je to OK?

    Kdyz jsem to tedy rekl takto, tak se zda, ze je jedno, jestli mam pouzivat apt nebo yum. Ale urcite to neni - urcite existuji lide, kteri by se bili za jeden z nich do krve :-) Lze nekde najit srovnani? Nebo existuje jeden duvod proc ten a ne onen? Ma treba jeden vice repozitaru? Je jeden z nich nejak chytrejsi?

    No budu hledat sam. Zatim dik.

  • 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:

    Apt - má volitelné GUI front-endy (Synaptic a další)!! starší a odzkoušený systém, snadný přechod z/na Debian, napsaný v C++, update musíte volat manuálně, celkově rychlejší. Standard v Debianu a jeho derivátech, standardně v SuSE, Mandrake (?) a jeho klonech (PCLinuxOnLine)

    Yum - napsaný v Pythonu, poměrně nový projekt, standard v RedHatu (oficiálně v distribuci od dob FC1, asi nahradí starší Up2date) Prý si poradí lépe s rozpoznáním verzí (?) Nemá *zatím* žádné GUI nebo nějaký front-end. Je výhradně pro RPM a je pro ně optimalizován. Blíže ho neznám, mám informace jen z konferencí ;-)

    Repozitáře obvykle podporují jak Yum tak Apt, takže to je jedno.