patch (Unix)
patch
(česky záplata) je v informatice označení pro příkaz patch
(zadávaný v příkazovém řádku) nebo pro soupis změn mezi soubory (textový soubor s vyznačeným starým a novým obsahem). Ve formě příkazu se jedná o nástroj, kterým může být zmíněný soupis změn aplikován na staré soubory tak, že získáme nové. Aplikací záplaty je provedena aktualizace software (typicky na novější verzi).
Aktuální verze | 2.7.6 (3. února 2018) |
---|---|
Operační systém | UN*X |
Typ softwaru | standardní UNIXová utilita či příkaz a svobodný software |
Licence | GNU General Public License, version 3.0 or later |
Web | savannah |
Některá data mohou pocházet z datové položky. |
Soupis změn
Soupis změn, který popisuje určitou záplatu (opravu, patch), je vždy v takové podobě, aby se s ní dalo dobře pracovat.
Textový rozdílový soupis změn
Soupis změn může být v textové podobě, kdy je využíván zejména programátory, kteří si tak mohou snadno předávat přehledné seznamy změn, ke kterým došlo ve zdrojovém kódu programu, aniž by si museli předávat kompletní zdrojové kódy.
Soupis změn je v takovém případě ve formě seznamu řádků, které se ve zdrojovém kódu změnily. Typicky je to vždy původní (stará) verze a opravená (nová) verze příslušných řádků. Okolo popsaných změn je obvykle několik okolních řádků (typicky tři), které vytvářejí kontext pro zlepšení srozumitelnosti seznamu změn. Kontext je využíván též v případě, kdy je seznam změn aplikován na již změněný soubor (avšak v jiné jeho části), protože je pomocí kontextu možné najít změněný úsek kódu (nacházející se v souboru o několik řádků výše nebo níže) a ověřit, že nedošlo ke kolizi dvou změn (kontextové řádky musí zůstat beze změny).
Binární rozdílový soupis změn
Soupis změn pro binární soubory je typicky vytvářen programem delta
a je tak i označován (delta rozdíl). Slouží obvykle pro aplikaci bezpečnostních záplat nebo aktualizaci software, který je k dispozici v binární podobě (spustitelné soubory EXE a ELF, knihovny a další).