Internet Info, s.r.o. Lupa Root Měšec Podnikatel DigiZone Slunečnice Vitalianew Bomba Navrcholu Weblogy Jagg Woko Dobrý web Computer.cz SK: MojeLinky
Root.czBlogyPetr Krčmář: blog nejen o Linuxu

Jak opravit či aktualizovat ISO obraz Ubuntu?

Petr Krčmář, 6. 05. 2009, 22:21 v kategorii Internet, Linux, štítky:

Nedávno jsem potřeboval aktualizovat ISO obraz RC verze Ubuntu a nechtělo se mi jej stahovat celý znovu. Hledal jsem proto postup, který by mi umožnil aktualizaci. Použil jsem rsync.

Když jsem nedávno připravoval článek o novém Ubuntu 9.04 Jaunty Jackalope, stáhl jsem si nejnovější vývojářskou verzi, kterou jsem pak testoval. Napsat takový článek je totiž běh na delší trať, znamená to instalaci, pořizování videí, obrázků, testování různých částí a podobně a proto je třeba stahovat a pracovat s předstihem.

Později jsem ale potřeboval ostrou verzi Jaunty kvůli instalaci na notebook mé švagrové. Když už jsem měl na disku podobný ISO obraz, nechtělo se mi celé médium stahovat znovu. Přestože je to z dnešního pohledu nějakých nepatrných 700 MB, není nutné za všech okolností vytěžovat servery.

Hledal jsem proto způsob, jak obraz jen „aktualizovat“. Logické mi přitom přišlo použití nástroje rsync, který umí kontrolovat bloky souboru na obou stranách (u klienta a serveru) a poslat jen změny. Skutečně to funguje, protože velké množství zrcadel Ubuntu provozuje také rsync server, takže je možno je takto využít.

Samotná akce je potom poměrně snadná. Stačí lokální ISO soubor přejmenovat tak, aby se jmenoval naprosto stejně, jako soubor nový, tedy ten, který „budeme stahovat“.

$ mv ubuntu-9.04-rc-desktop-i386.iso ubuntu-9.04-desktop-i386.iso

Pak stačí jen zvolit příslušný server a nechat rsync, aby provedl synchronizaci:

$ rsync -zhhP rsync://ucho.ignum.cz/ubuntu-releases/.pool/ubuntu-9.04-desktop-i386.iso .

Začne stahování a stáhne se opravdu jen to, co se změnilo. Pak doporučuji ještě stáhnout z některého zrcadla MD5SUMS a podívat se, jestli sedí kontrolní součty. Mimochodem stejný postup doporučuji i v případě, že se vám klasickým způsobem nepodaří stáhnout nepoškozené ISO. Nemusíte tahat znovu, jen si ho necháte pomocí rsync opravit.

Nějaké tipy a triky

Hledat správný mirror a cestu ke konkrétnímu souboru, nemusí být vždycky sranda. Doporučuji začít na seznamu CD zrcadel a najít si český server podporující rsync. Na něm začněte hledat ISO.

Pokud chcete vylistovat adresář, stačí zavolat

$ rsync rsync://server.neco.cz/

Tedy bez konkrétního souboru. Příkaz vám vypíše adresář. Poslední (a vážný) problém nastává u symlinků. Rsync je standardně nastaven tak, že vám symlink nestáhne a dozvíte se jen, že skipping non-regular file. Doporučuji pak přidat parametr --links, který vám řekne, kam vede onen link (kterých jsou Ubuntu mirrory plné!) a který soubor máte skutečně stahovat.

Všimněte si v příkladu výše, správný soubor byl v podadresáři .pool (ano, s tečkou). Kdo by ho tam hledal? Já ne a poradil až právě symlink. Symlink od reálného souboru poznáte tak, že má na serveru jen pár bajtů, namísto očekávaných 700 MB. Ve výpisu adresáře vám to rsync jasně řekne.

Tak hezkou rsynchronizaci...

Komentáře (24)

  1. 6. 05. 2009, 23:05 Elven napsal:

    su aj ine moznosti. Obraz rozbalit, aktualizovat zdroje a zabalit. S tym, ze sa daju pridat lubovolne programy, da sa obraz zmensit na 500MB (vyhodenim dokumentacie v korejcine a podobnych veci) a tiez to moze byt priamo k akemukolvek datumu...

  2. 6. 05. 2009, 23:11 Elven napsal:

    Inak... robit final z RC final ma svoju velku nevyhodu - urobi to tak trochu polovicnu robotu. Zaktuaktualizuje to sice na 9.04, no neposkytne to aktualizacie vydane po vydani. A tych je ako vzdy hodne...

  3. 7. 05. 2009, 00:15 CAPSLOCK napsal:

    že se vám klasickým způsobem nepodaří stáhnout nepoškozené ISO ... to je dar slova, mno pane jo ...

  4. 7. 05. 2009, 05:12 luky napsal:

    [1][2] asi jsi trochu nepochopil... ;)

  5. 7. 05. 2009, 05:22 luky napsal:

    [3] jestli narážís na ten dvojitý zápor, tak mezi "nepodaří stáhnout nepoškozené" a "podaří stáhnout poškozené" sice není faktický rozdíl, ale je z něj patrnější původní záměr.

  6. 7. 05. 2009, 06:11 Petr Krčmář napsal:

    [4] Já myslím, že to Stano pochopil velmi dobře. Naráží na to, na co se ptá hodně lidí, včetně mě: proč nevycházejí průběžné opravy vydání jednotlivých Ubuntu. Aneb když si stáhnu konkrétní verzi za tři měsíce od vydání, přijede mi po instalaci 200 MB aktualizací. Kdyby se ISO obraz jednou týdně přebalil (nemusela by se ani posunout verze) a přidaly by se do něj opravy, bylo by to pro nového stahovače podstatně příjemnější.

  7. 7. 05. 2009, 06:15 Enriques napsal:

    [1] O čom to točíš??

  8. 7. 05. 2009, 06:38 KLFMANiK napsal:

    na alternate cd je najlepsie pouzit jigdo ... jigdo vie pouzit stary ISO imidz a dotiahnut chybajuce baliky ... to je samozrejme nemozne pri desktop cd, lebo tam sa meni hlavne squashfs subor, ktory je najvacsi

  9. 7. 05. 2009, 07:36 Laco napsal:

    Pekna kravina. Kym zabijem cas 15-20 min tym ako to nastavit a potom este prekontrolovat tak to mam stiahnute z torrentu.

  10. 7. 05. 2009, 08:21 Ped napsal:

    [6] 8.04 vysla i v 8.04.1 a 8.04.2 verzi, takze uz to Canonical pomalu i dela, ale nemuzou si dovolit ten image prebalovat casto, protoze to vyzaduje dalsi testovani.

    I kdyz podle mne by klidne mohli davat na ty servery nejaky "unstable" image ktery by vzdy obsahoval prave posledni stable + vsechny oficialni updates, hned jak vyjdou, moc ho nepropagovat a dat k nemu upozorneni ze neni testovany. Sve "zakazniky" by si takovy image urcite nasel, ale obycejni uzivatele by obvykle skoncili nejdriv u "stable".

  11. 7. 05. 2009, 10:37 luky napsal:

    [6][1] Pak to tedy beru zpět. Jen mi to z pohledu opravy/aktualizace ISO obrazu přišlo jako nesouvisející odbočka.

  12. 7. 05. 2009, 12:15 Elven napsal:

    9: tak ale je rozdiel tahat 150MB a 700MB

  13. 7. 05. 2009, 12:17 Elven napsal:

    6: osobne by som bol velmi rad, keby vychadzalo aj ubuntu 8.10.1, 9.04.1 atd... no toto je len pri LTS vydaniach. no co, stava sa... nic nie je dokonale :)

    tu su riesenim neoficialne vydania. nie je problem zobrat ubuntu, nahodit aktualizacie, pridat a odobrat nejake programy a hotovo.

    Inak Petr, ponukam pre Roota urobit po par mesiacoch aktualizovane neoficialne Ubuntu 9.04.1. co povies? :)

  14. 7. 05. 2009, 12:18 Elven napsal:

    10: existuju na cdimage.ubuntu.com rozne nighthly buildy a podobne hracky :)

  15. 7. 05. 2009, 12:30 Andrej napsal:

    [6] pre fedoru su dostupne respin iso obrazy s aktualizovanymi balickami. pre *buntu to bude asi tiez nejako podobne.

  16. 7. 05. 2009, 14:09 Milan napsal:

    Já bych tady napsal jeden takový postřeh (stížnost) a to, že hodně ISO souborů open source projektů je poškozených.
    Chudák švagrová, už vidím jako to rsyncuje...

  17. 7. 05. 2009, 15:30 Petr Krčmář napsal:

    [10] Nesouhlasím. Když si nainstaluji systém z originálního (a otestovaného) média a hned se mi čtvrtina balíků přeplácne aktualizacemi, taky mi nikdo výslednou podobu netestuje. Jde tady jenom o opravy chyb, které se stejně vypouštějí do světa a uživatelům instalují. Čili při přebalování ISO obrazu by nebylo třeba testovat o nic víc, než teď. A ani by se nemuselo měnit číslo verze, uživatele se instalace z novějšího obrazu dotkne jen tím, že mu přijede podstatně méně aktualizací - technicky je to ale pořád stejná verze systému (= všech balíků).

  18. 7. 05. 2009, 15:49 lawful male human Knight napsal:

    v debianu staci stahnou 40MB iso a zbytek se pri instalaci dotahne ;)

  19. 7. 05. 2009, 15:51 KLFMANiK napsal:

    [9] torrent vobec nie je riesenim daneho problemu: "nechtělo se mi jej stahovat celý znovu"

  20. 7. 05. 2009, 15:52 KLFMANiK napsal:

    debian aj ubuntu maju aj mini.iso, ktore maju do cca 10MB a vsetko dalsie sa instaluje cez siet

  21. 7. 05. 2009, 19:53 RapMan napsal:

    Ti co touzi mit hned aktualni instalaci ubuntu, at si stahnou MiniISO a instaluji ze site, viz muj blog- http://www.abclinuxu.cz/blog/RapMan/2009/4/netradicni-instalace-ubuntu

  22. 8. 05. 2009, 13:42 me napsal:

    What about ZSYNC? (Client side RSYNC...)

    zsync -i ubuntu-9.04-rc-desktop-i386.iso http://psl.ic.cz/zsync/ubuntu-9.04-desktop-i386.iso.zsync

    http://brainstorm.ubuntu.com/idea/7590/

  23. 8. 05. 2009, 15:46 petr napsal:

    A neni jednodussi rovnou instalovat ze site?

  24. 15. 10. 2009, 16:35 David napsal:

    Ahoj,
    pokud zadám rsync -zhhP rsync://ucho.ignum.cz/ubuntu-releases/.pool/ubuntu-9.04-desktop-i386.iso a příkaz spouštím z adresáře kde je iso soubor, tak mi rsync vypíše pouze list název souboru v cestě na serveru. Poradíte mi nekdo kde dělám chybu?

    Díky

K tomuto spotu není povoleno přidávání komentářů.