Многим пользователям компьютеров и мобильной техники встречалось слово «патч». Но не все понимают, что это такое и как им пользоваться.
Определение патча
Само слово «Патч» не является русским. Точное понимание можно получить при переводе с английского: patch – это заплатка. А по сути заплатка – попытка прикрыть дыру с помощью имеющихся материалов. Примечательно, что такое определение как нельзя точнее описывает назначение патчей в программном обеспечении. Они выпускаются для улучшения функционирования или для закрытия «дыр».
Особенно в плане «закрытия дыр» можно выделить исправления, которые закрывают уязвимости в системе. Собственно, такая уязвимость считается «дырой», а patch – набор команд и инструкций, которые эту самую дыру закроют.
Историческая справка
Слово «заплатка» используется не просто так. В годы, когда передача информации производилась на перфокартах, места с ошибками вырезались физически, а исправленная перфорация вклеивалась на их место. Таким образом установка «заплаток» имела не фигуральное, а реальное значение. Изменять слово со временем не стали, и по сей день обновления и исправления именуются «заплатками».
Виды патчей в компьютере
Естественно, существует несколько характерных разновидностей «заплаток». Зависят они от нескольких факторов, но назвать это полноценной классификацией нельзя. Связано это с тем, что факторы зачастую перекликаются, а «исправления» могут одновременно классифицироваться по разным параметрам:
- HotFix. Быстрое (дословно — горячее) исправление, которое выпускается в результате появления уязвимости в последнем крупном обновлении. Выпускаются иногда на следующий день и содержат минимальное количество изменений.
- ServicePack. Огромный набор исправлений и улучшений, которые зачастую меняют принципы работы программы. Примером являются «паки» для Windows, которые можно отнести к патчам, но фактически они «стоят» отдельно и перестали классифицироваться, как «заплатки».
- Плановые исправления. Чаще всего встречаются в играх, направленных на сезонный контент. Плановые «заплатки» завершают активность сезона и запускают следующий. Можно встретить в «Diablo» и «Path of Exile» (также, в целом легионе игр с сезонными рейтинговыми таблицами и событиями).
- Взаимодействие с ПО. Самым распространённым вариантом является «графический патч», который адаптирует работу программы к новым реалиям, ОС или расширяет возможности графики. Самым ярким примером является patch13d для Diablo II, выпущенный спустя 10 лет, после последнего обновления.
- Игровые. Можно сразу отметить, что патчи для игр обладают собственной классификацией и разбирать их следует отдельно. Такие вещи, как плановые, интерфейсные, балансные, и прочие изменения в играх называются патчами. Даже смена номерной версии (адд-он) тоже будет патчем не смотря на расширение контента.
- Принудительные. Когда, программа без обновления перестаёт работать. Это исправления уязвимостей в клиент-банках или эксплойтов в играх.
- Автоматические. Которые закачиваются и распаковываются через саму программу или специальный «launcher».
- Ручные. Такие исправления нужно загружать и запускать самостоятельно. Примером является обновление «S.T.A.L.K.E.R», которое нужно было скачивать с сайта и запускать самостоятельно.
Вместе с видами стоит упомянуть и выражение – пропатчить файл или программу. Это значит, что целевой файл или программу нужно определенным образом обновить.
Например, русификация также является «заплаткой». И, чтобы русифицировать программу нужно пропатчить ее, т.е. установить патч, который добавит русский язык в приложение.
Функции патчей
Выше, вместе с классификацией уже затронута тема назначения. Также применение заплаток рассматривалось и ранее по тексту. Поэтому вопрос будет рассмотрен перечислением только некоторых моментов:
- исправление предыдущих ошибок;
- откат изменений предыдущего исправления (когда выбирается ошибочное исправление, приводящее к ещё большим проблемам);
- улучшение графической составляющей или взаимодействия с ПО/железом;
- добавление новых функций.
Перечисленные варианты являются составляющей почти любого «patch-notes», которые сопровождают обновления при нормальных условиях. Особенно такие «заметки об исправлениях» интересуют геймеров, ведь в них указывает перечень изменений, способный пошатнуть привычный баланс.
Patch Notes
Заслуживают отдельного упоминания. Это документы, которые распространяются вместе с патчами. Они могут называться «история изменений» или также, как данный раздел. В них, в текстовом и удобном формате указывается какие именно изменения поставляются в указанном обновлении.
Такая информация крайне важна для геймеров, но иногда доходит до абсурда. Примером служит Diablo III “Reaper of Souls”, где 2 строки было отведено, под следующую информацию:
- уменьшено количество кучек золота, выпадающих с убитых монстров;
- увеличено количество золота в кучках, выпадающих с убитых монстров.
При этом с точки зрения игрока разработчики вообще ничего не изменили. С другой стороны, это немного улучшило оптимизацию в самой игре (уменьшив количество объектов на экране). Поэтому нелогичные пункты в «исправлениях» часто имеют скрытый смысл, который направлен на улучшение работы программы.
Примеры использования
В классификации было указано, что есть разные виды патчей. Они могут быть ориентированы на самые разные аспекты работы программы, поэтому рассматривать их следует в комплексе с источником (программой).
Операционные системы
Упомянутые выше «Service Pack» для ОС Windows служат отличным примером крупных патчей для операционных систем. Также существует такое явление, как обновления ОС. Особенно знакомо это пользователям Windows 10, которые вынуждены сталкиваться с обновлениями иногда по нескольку раз в неделю. Каждое отдельное исправление из списка в таком случае является отдельной «заплаткой» для указанных в списке компонентов.
Также примером является «lucky patcher» для Андроид, который позволяет отключить рекламу и прочие подобные элементы в самой ОС.
Программное обеспечение
Здесь исправления либо более глобальные, либо важные. Следует отметить, что они направлены на корректировку проблемных моментов в программе или улучшения (расширения) функционала. Примером можно назвать новые версии «adobe flash player», которые постоянно развивают быстродействие графических компонентов при обработке.
Игры
Здесь явление обновлений более глобально. Каждая новая «заплатка» может нести, как новый контент (например, с технической точки зрения аддоны в World Of WarCraft тоже являются патчами), так и незначительные исправления баланса (patch 1.0001 в Stalker Shadow of Chernobyl, где было исправлено повреждение костюмов).
В некоторых играх исправления выходят настолько часто, что появляются отдельные каналы, которые занимаются их разбором. Примером, является канал Ярослава Кузнецова (aka NS), который занимается разбором интересных моментов игры Dota 2 и нередко обозревает самые крупные патчи.