Mi az a patch?

2022-07-14
Egy kis "patch történelem" azoknak, akik szeretik ismerni a szakmai kifejezések eredetét. Leendő IT hallgatóknak különösen ajánlott.

Írásainkat olyan, az informatika iránt érdeklődőknek szánjuk, akik egyelőre még szinte semmit vagy csak nagyon keveset tudnak az IT, weboldal készítés, internet, hálózatok, programozás, stb. világáról. Az általunk használt kifejezések és magyarázatok a nem szakmabelieknek szólnak. Cserébe közérthetően szeretnénk bemutatni az informatika különböző területeit és fogalmait.

***

A "patch" szó eredete

Szinte mindenki ismeri a kifejezést, aminek eredete az informatika hőskorára nyúlik vissza, sőt, még azelőttre.

Az ipar hőskorában a szövőszékek automatizálása jelentette az első mérföldkövet. Joseph Marie Jacquard, francia feltaláló 1806-ban szabadalmaztatta automata szövőszékét, amely lényegében az első sikeres megoldás volt a szabadon programozható gépvezérlésre. 1901-ben  Donald Murray összekombinált egy írógép billentyűzetet egy lyukasztó berendezéssel, amit a távírásban használtak fel az üzenetek gyors küldésére.

A kezdetetekben a „program kódot” is lyukszalagon, vagy lyukkártyákon tárolták, amik időnként elszakadtak. Ha az operátorok (üzemeltetők) nem akartak egy teljesen új lyukszalagra várni, kénytelenek voltak megfoltozni (angolul patch: folt) a szakadást, majd a folton a megfelelő helyeken elhelyezték a tényleges „programkódot”, azaz a lyukakat. Amennyiben magában az anyagban nem történt roncsolás, alkalmazhatták a „hot fix”-et. Ez a hősidőkben egy szimpla cellux volt, amivel összeragasztották a szakadt lyukkártyát.


A képen az egyik első programnyelv, a Cobol lyukkártyája látható
(kép forrása: wikimédia)

Ez ugyan erősen "házilagos", ideiglenes, de általában jól működő megoldás volt, így a gyakorlat és az elnevezés is beépült az informatikába.

Mivel minden szoftvert folyamatosan javítgatni vagy fejleszteni kell, ezért a kifejezés velünk maradt: A szoftvereket rendszeresen "patcheljük", vagyis foltozzuk, javítjuk. Ez jelentheti egy aktuális szoftververzió javítását, de a folyamatos fejlesztés által akár egy teljesen új verzió megszületését is.


Patchelés napjainkban

A modern informatikában a patch jelentése a következő: A patchek (javítások) olyan szoftver- és operációs rendszer (OS) frissítések, amelyek egy program vagy egyéb informatikai termék sebezhetőségeit orvosolják vagy funkcionalitásukat javítják. A szoftvergyártók dönthetnek úgy, hogy frissítéseket adnak ki a teljesítménybeli hibák kijavítása és a továbbfejlesztett funkciók biztosítása érdekében.

A patch-ek céljai a következők lehetnek:

  • Szoftverhibák javítása (javító patch, bug fix)
  • Új illesztőprogramok telepítése (driver patch)
  • Újonnan felfedezett sebezhetőségek kezelése (security patch)
  • Szoftverstabilitási problémák kezelése
  • Szoftver verziófrissítése

A patch-eket régebben floppy-n, később CD-n, vagy DVD-n küldték el, manapság már az internetről tölthetjük le.

Az egyszerűbb patch-eket zip formátumban letöltjük és bemásoljuk a program telepített mappájába, felülírva a régebbi futtatható állományokat, egyéb állományokat. Bonyolultabb, összetettebb szoftverek esetén a szoftvert kiszolgáló adatbázisokban is módosításokat kell végezni, esetleg a rendszerváltozókat is felül kell írni. Ilyenkor egy külön futtatható részt is mellékelnek a fejlesztők, ami elvégzi ezeket a módosításokat is. A könnyebb felhasználás érdekében gyakran az egészet egyetlen futtatható állományba pakolják, ami a szükséges részeket menet közben tölti le az internetről. Ezek már rendszerint inkább javítócsomagok, de sok esetben patch-ként nevezik.

A patch-ek egy része ingyenes, garanciális, más részüket viszont előfizetéshez szokták kötni vagy külön megvásárolhatók. Ez mindig az adott szoftvertől, illetve az adott javítás jellegétől, természetétől függ.

Sok esetben a vásárláskor már a patch-eket is mellékelik a szoftver csomaghoz, amik az installálás után maguktól is települnek. Más esetekben már a megvásárolt szoftver van „patch-elve”. Ebben az esetben külön verziószámot kap a patch-elt és az eredeti változat. Természetesen a magasabb verziószám nem csak a patch-eket tartalmazhatja, lehetnek benne teljesen új funkciók, de jellemzően ilyenkor az előzőleg kiadott hibajavítások már benne vannak a csomagban.

A patch-elések nyomon követésére találták a ki a verzió történetet (version history), amiben nyomon követhető a funkcionalitás bővülése, illetve a sebezhetőségek javítása, egyéb hibajavítások.

Komolyabb, összetettebb rendszerek esetén külön patch kezelő alkalmazására is szükség lehet. Linuxhoz például többféle patch manager-t is találhatunk: az egyik legnépszerűbb a Patch Manager Plus, ami a Red Hat, SUSE, Ubuntu, Debian, CentOS, Pardus és Oracle linux verziókat is kezeli.

Ha érdekel az IT világa, az alábbi képzések között érdemes szétnézni:

Webszerkesztés alapjai
Webfejlesztő
Junior frontend fejlesztő
Junior Java backend fejlesztő
Junior szoftvertesztelő
Junior rendszerüzemeltető

Ha pedig szeretnél többet megtudni arról, hogy hogyan is kell patch-elni, következő írásunkból megtudhatod.