Gyakori kérdések: jobban merül-e az iTunes helyett Wi-Fi-n keresztül, OTA frissített készülék?

Egyre többször találkozunk azzal a kérdéssel, hogy valóban jobban merül-e egy készülék pusztán azért, mert annak szoftverét az iTunes helyett a készülék menüjéből, over-the-air (OTA) módszerrel, Wi-Fi kapcsolaton keresztül frissítette – csak mert valahol ezt olvasta róla az illető, és így nem mer frissíteni.

OTA_frissites

Az eddig még nem derült ki, hogy honnan származik ez a merüléssel riogató legenda, de jellemzően mindig valaki ismeretlen hozzászóló írja be, hogy biztosan ez lesz a gond, de nem linkel semmi olyan cikket, ami ezt alá is támasztaná. Ezért most azt írnánk le, hogyan működik az OTA, és hogyan az iTunes-os frissítés, és hogy ebből kifolyólag mik köztük technikai szempontból a különbségek.

Röviden: a merüléshez nincs köze annak, hogy milyen módon került frissítésre a készülék.

Frissítés OTA segítségével

Az OTA frissítésről itt írtunk még részletesen, ezt is érdemes elolvasni: Gyakori kérdések: hogyan működik az OTA frissítés?

Az OTA frissítés lehetőségét az Apple az iOS 5-ben vezette be, így az első frissítés, ami OTA elérhető volt, az az 5.0.1 volt, hiszen az 5.0 csak elérhetővé tette ezt a lehetőséget, de azt magát még iTunes segítségével kellett feltenni.

Az OTA lényege, hogy nem szükséges az IPSW-t letölteni iTunes-ban és számítógéppel frissíteni, hanem elegendő, ha az eszközön a Beállítások (Settings) / Általános (General) / Szoftverfrissítés (Software Update) menüpontja alatt kiválasztjuk a Letöltés és telepítés (Download and install) opciót:

Ennek használatához Wi-Fi kapcsolat és legalább 50% akkumulátor-töltöttség szükséges, vagy töltőre kell dugni az eszközt. Ezt a módosítást az Apple többek között azért lépte meg, hogy azok is frissíteni tudják a készüléküket, akik nem rendelkeznek számítógéppel.

Az OTA frissítés úgynevezett delta update. Használatakor a készülék egy zip fájlban tömörített, aláírásokkal ellátott csomagot tölt le, ami kibontása után rendelkezésére állnak az egyes fájlokban végrehajtandó módosítások listái, így a frissítési ramdisk az adott fájlokat patchelni tudja. Az ilyen patch pedig csak a változásokat tartalmazza azok helyét is megjelölve, nem pedig magát a teljes fájlt, hiszen ez utóbbi sokkal nagyobb méretű lenne.

Ezt leegyszerűsítve úgy kell elképzelni, mintha az iOS egy nagy könyvespolc lenne, amin az egyes könyvek a rendszert alkotó fájlok. Az OTA frissítés pedig egy borítékban érkezik, és összehajtogatva tartalmazza az egyes könyvek esetén azt, hogy melyik oldalon melyik szavak változtak, illetve adott esetben a plusz fejezeteket, vagy adott esetben az egyes új könyveket is. Ez így tehát sokkal kevesebb helyet foglal, mintha a teljes könyvespolc összes könyvét levennénk, és helyettük felpakolnánk a több nagy dobozban érkezett új kiadásokat, még ha 1-1 könyvben csak 30-40 szó változott.

Az OTA frissítéshez azért kell jellemzően sok hely, mert a frissítés közben a rendszer lemásolja a frissítendő fájlt, azt patcheli, majd miután újraindul, ezekkel a módosított fájlokkal írja felül az eredetieket. Az eredmény pedig a frissített rendszer, ami működésében semmiben sem különbözik az iTunes-ban megtett restore vagy update utáni rendszertől.

Jailbreakelt rendszer nem frissíthető OTA segítségével, aminek technikai okai vannak, így az evasi0n például eleve kikapcsolja a rendszerben az OTA lehetőségét. OTA frissítés közben a folyamat ugyanis olyan fájlokat is felülírna, ami miatt utána a készülék nem tudna betölteni. Míg egyes fájlokat módosítana a folyamat, másokat ugyanakkor nem, ezzel viszont a jailbreaket teljesen összekavarná, mert így több olyan fájl is változhat, amit a jailbreak is módosított korábban.

Frissítés iTunes-ban

Az iTunes-ban történő frissítés esetén a fájlok patchelése helyett azokat egy az egyben az új verzióval írja felül a folyamat, mert az IPSW maga már eleve a frissített változatokat tartalmazza. Ennek eredményeként mindenki tapasztalhatja, hogy míg egy OTA frissítés apróbb verzióváltás esetén 100MB-nál is kevesebb adat letöltését igényli, addig egy-egy IPSW készüléktípustól függően 1GB feletti méretű jelenleg.

Az IPSW valójában egy zip fájl, amibe egyszerűen belepillanthatunk, ha a fájl kiterjesztését .zip-re módosítjuk. Az alábbi képen az iOS 8 beta 2 iPhone 4s-re való IPSW-fájljának tartalma látható:

IPSW_kibontva

Az itt látható fájlokból a három .dmg a legfontosabb. Ebből az első kettő, kis méretű a restore és update ramdisk, az 1.63GB méretű pedig magát a rendszert tartalmazza az összes fájllal. A két ramdisk csak úgy nem mountolható, a rendszer dmg-je pedig még jelszóval is védett, így azt pláne nem lehet kinyitni csak úgy. Ezt a nagy dmg fájlt kell elképzelni úgy, mint a fentebb említett könyvespolcunk esetén az összes meglévő könyv új verzióját tartalmazó óriási dobozt, amiből az iTunes kiveszi az új köteteket, és a polcról pedig kidobálja a régi kiadásokat, lecserélve őket a frissített kiadásúra, és besuvasztja közéjük az esetleges új könyveket is. A két ramdisk pedig a két könyvtáros kis inas, akik közül az egyik a polcon a könyvek fölé betett füzeteinket otthagyja (adataink megtartása update esetén), vagy a másikuk azokat is kidobja (restore esetén az összes adat törlése).

Az iTunes a frissítés (update) vagy a szoftver visszatöltése (restore) során tehát kibontja az IPSW-t, az abban található fájlokat aláírja a készülékhez és az adott iOS-verzióhoz tartozó SHSH-val, majd ezt küldi el a folyamat során a készüléknek, ahol a ramdisk vagy csak a rendszerfájlokat írja felül a felhasználói adatok megtartása mellett (update), vagy egy az egyben felülírja a készülék rendszerét és törli a felhasználói adatokat is (restore).

Az SHSH-val való aláírás és az iTunes-ban történő frissítés folyamatának pontos részleteiről az alábbi cikkünket érdemes elolvasni: Gyakori kérdések: mi az a TSS Center és mi történt a Cydia által mentett iOS 6-os SHSH-kkal?

Jobban merül-e az OTA frissített készülék az iTunes-ban frissítettnél?

Nem. A fentiek alapján látható, hogy a két folyamat közt a lényegi különbség tehát csak a frissített fájlok létrehozásának módja: az OTA esetén a már a készüléken meglévő fájlok patchelése történik meg a változásokat tartalmazó utasítás alapján, majd az így frissült fájlokkal felülírásra kerülnek az eredetiek; míg az iTunes nem foglalkozik patcheléssel, hanem a letöltött IPSW-ből a már eleve patchelt fájlokkal írja felül a rendszert. A végeredmény mindkét esetben ugyanaz a frissített rendszer, az egyes fájlokat bitről bitre össze lehet hasonlítani, azok egyezni fognak (azonos készüléktípus esetén).

Akinek a készenléti idővel, melegedéssel, merüléssel, vagy bármi mással van problémája, az nyugodjon meg: ez nem azért van, mert “rosszul frissített” volna, mert nem lehet rosszul frissíteni. Logikusan végiggondolva is egyértelmű lehet, hogy az Apple nem azért tette lehetővé az OTA frissítést, hogy aztán mégis az iTunes-ra, és a sokkal nagyobb méretű IPSW-k letöltögetésére kényszerítse a felhasználókat.

Aki nem elégedett a frissítés után a készüléke működésével, annak az alábbi cikkeinket ajánljuk: Gyakori kérdések: akkuproblémák megoldása 8 lépésben illetve  Gyakori kérdések: mit tehetünk, ha furcsa dolgokat produkál a készülékünk?, mert az esetek döntő többségében egyszerű szoftveres gondról van szó, ami esetén teljesen mindegy, hogy milyen módszerrel frissítettük korábban az adott készüléket.

Legutóbbi frissítés: 2017.05.02.

Ezek még érdekelhetnek:


  1. Nem tölem jon az info, de tények ide, vagy oda, nekem még 3GS-sel iOS 5.x röl 5.(x+1)-re valo frissiteskor sikerult rosszabb akksiidöt eredményezni. Utána iTunes restore pedig megoldotta.
    Azota teszem hozzá minden frissites OTA volt, de tobbszor nem tapasztaltam. Egyszer viszont belefutottam.

  2. Az tény hogy nem merül jobban de viszont nekem a i5s em 8% nál kikapcsolt a 7.1.2 szoftverral! Többszöri próbálkozás után is mindég… Visszatettem a 7.1.1 et és hibátlan 1% ig lemegy és ott kapcsol ki!

  3. Ez szép és jó, meg remekül hangzik, hogy bitről bitre egyezik, de akkor miért is volt az, hogy csak az iTunesból restorolt készüléket lehetett jailbreakelni, az OTA frissítetten nem működött a jb? Asszem 7.0-7.01nél volt ilyen, de lehet régebben. Ha egyformák, akkor nem lehetne különbség attól függően, hogy milyen módon frissítettünk, nem? Tehát mégiscsak van valami különbség, csak elsiklottunk felette, és engem érdekelne ez a része is.

  4. @Jecy: azért van különbség, mert az OTA frissítés más jellegű SHSH-t kap, mint az iTunes-os, de ezt anno, amikor követelménnyé vált, hogy nem lehet OTA frissített készüléken lefuttatni az evasi0n-típusú jailbreakeket, akkor már leírtuk.

  5. Jaa, hogy csak az shsh más, de a fájlok azonosak? Azt hittem a fájlok is mások, mert a jb ugye a fájl rendszerben csinál módosítást és így azonos fájlokkal futhatnának ugyanazok a módosítások..
    Amúgy nem tudjátok, ez a kínai jb se szereti az ota frissítést? Csak ezért nem raktam még fel az updatet, mert nem akarom adott esetben újrahúzni..

  6. @Jecy: a fájlok nyilván azonosak lesznek a végén, hiszen ugyanazt a rendszert teszi fel, csak másként – de ezt a fenti cikkben részletesen leírtam. egyetlen jailbreakelt rendszer sem frissíthető OTA, de ez is ott van a fenti cikkben, azzal együtt, hogy ennek technikai oka van. régebben nem tiltotta le a jailbreak az OTA frissítést, de akkor is elhullott hibával – épp azért, mert az technikai okokból nem futhat le. (a jelenleg nem jailbreakelt rendszert pedig probléma nélkül frissíted iTunes-ban, és kész.)

  7. @norbert05: ha jelenleg még nem jailbreakelt a készüléke, semmi sem gátolja meg abban, hogy OTA helyett iTunes-ban frissítsen, ezzel rögtön elejét véve bármi, az OTA frissítésből fakadható problémának. ha viszont jailbreakelt, akkor meg nem is fog tudni OTA frissíteni, mert technikai okokból az nem lehetséges, így eleve nem kérdés, hogy mit szól a jailbreak az OTA frissített készülékhez, hiszen egy már jailbreakelt készülék nem frissíthető OTA. akár jailbreakelt a készüléke, akár nem, mindkét esetben van lehetősége iTunes-os frissítésre, így eleve nem értelmezhető a kérdés ezen része.

  8. Ha úgy nézzük, hogy van valami szoftveres hiba a rendszerben, akkor javasoltok egy restore-t. Az iTuneson keresztüli frissítés "minden könyvet ki söpör a polcról és újakkal tölti fel", így a hibát is kisöpörné a rendszerből. Addig az OTA csak a frissíteni kívánt "könyvekhez" nyúl hozzá, így a szoftveres hiba benne marad a rendszerben.
    Ebből a szempontból jobb az iTunesos frissítés 🙂

  9. @areon: a cikkben az OTA és az iTunes-os frissítést hasonlítottuk össze, és nem az OTA frissítést és az iTunes restore-t. amit te írtál le, az az iTunes-os restore, és nem a frissítés.

  10. Hogy kell kikapcsolni az iTunes-ban hogy ne cserélje ki a biztonsági mentést?
    Vagyis ha csinálok egy mentést 07.02-án és most is csinálok egyet akkor mér cseréli ki a mentést,mintha a régit letörölte volna és egy ujra kicserélte??!!

  11. Igen egyébként arra gondoltam, hogy a tiszta jelenleg iTunesből felrakott rendszeremet ota frissítem 7.1.2re, akkor ahogy korábban a 7.0nál sem ment, vajon az új kínai jb se megy-e csak ituneses verziókkal. Világos, hogy technikai okai vannak, de épp ezért akár ezek át is hidalhatóak adott esetben, ha ügyes a csapat.
    Sőt, akár cydiában is kinyomhatnák incrementális patchként az updatet, ha nem teszi tönkre a jb-t

  12. @Jecy: nem értem, miért ragaszkodsz pont az OTA frissítéshez itt. ha jelenleg nincs jailbreakelve a készüléked, akkor nem értem, miért nem frissíted egyszerűen iTunes-ban. frissítéskor megmaradnak az adataid.

    “Világos, hogy technikai okai vannak, de épp ezért akár ezek át is hidalhatóak adott esetben, ha ügyes a csapat.”
    nyilván ezek olyan technikai okok, amik nem hidalhatóak át. hidd el, a jailbreaket fejlesztő csapatok tagjai nálunk sokkal jobban átlátják a frissítés pontos működését, és ha ők nem oldották ezt meg eddig, annak nyilván olyan technikai oka van, ami miatt ezt nem lehet megcsinálni, vagy egyszerűen felesleges.

  13. Hát jó, ha nem tudjuk az indítékot, akkor nem tudjuk. Amúgy minden csak addig akadály, amíg nem jön valaki, aki nem tudja, hogy az lehetetlen és megcsinálja 😀 Nem olyan rég még internet sem volt.
    Sose szoktam gépre dugni, de való igaz, nem lenne nagy ügy. Általában wifin van a telóm, de akkor majd kerítek rá időt vmikor és iTunesből felrakom. Egyelőre nem kell jb, de ki tudja, egyszer lehet megint fel akarom rakni és akkor nem kezdeném restore-al.

  14. @Jecy: “ha nem tudjuk az indítékot, akkor nem tudjuk”
    volt erről valami cikk korábban, vagy twitteren írta le MuscleNerd, már nem tudom, de már annak idején leírták, hogy miért nem lehet ezt áthidalni, és miért kell eleve letiltani így az OTA frissítést. tehát a technikai részletek ismertek, és a folyamat működése miatt nem lehet megoldani. ahogy írtam, az egyik fontos része, hogy az OTA frissítés más típusú SHSH-t ad, mint az iTunes-os. ennyi.

Írd le a véleményedet! (Moderációs elveinket ide kattintva olvashatod.)

Hozzászólás írásához be kell jelentkezned!