Варпатч
- 1 year ago
- 0
- 0
|
Возможно, эта статья содержит
оригинальное исследование
.
|
|
В статье
не хватает
ссылок на источники
(см.
рекомендации по поиску
).
|
Запла́тка , или патч ( англ. patch /pætʃ/ — заплатка ) — информация, предназначенная для автоматизированного внесения определённых изменений в компьютерные файлы . Применение патча иногда называется «пропатчиванием».
Патчем или обновлением ( англ. update ) называется, в частности, содержащее такую информацию автоматизированное отдельно поставляемое программное средство, используемое для устранения проблем в программном обеспечении или изменения его функциональности.
Исправление может применяться к уже установленной программе либо к её исходным кодам . Сюда входит исправление ошибок, изменение внешнего вида, улучшение эргономичности или производительности программ, а также любые другие изменения, которые разработчик пожелал сделать.
Размер патчей может варьироваться от нескольких килобайт до сотен мегабайт . В частности, очень большими патчи могут быть при изменении или замене непрограммных данных, таких как файлы с графикой и звуком (часто встречаются в компьютерных играх ). Тем не менее, большой размер может быть вызван и многочисленностью вносимых изменений. При этом слова «патч», «заплатка» обычно используются для обозначения небольших исправлений, большие же патчи, серьёзно меняющие или обновляющие программу, часто называются « service pack » или « ».
Во времена, когда для загрузки программ в компьютеры использовались перфокарты или бумажные ленты, разработчики программ распространяли патчи в виде перфокарт с отличным от первоначального набором перфорации или указывали на перфоленте места, которые следует изменить. Пользователи заменяли соответствующие перфокарты в стопке или вырезали помеченную часть ленты и вклеивали вместо неё новый кусок программы. Тогда же и возникло название «patch» ( англ. patch , буквально — «заплатка»).
Позже для распространения патчей стали использоваться магнитные ленты . Когда же были изобретены дискеты , патчи стали отправляться на дискетах в конвертах по почте . Сегодня, в эру повсеместного распространения интернета , компьютерные программы и их пользователи скачивают патчи с сайтов разработчиков.
Коротко выполняемые патчами задачи можно описать следующими действиями:
Для автоматического обновления у пользователя патчи используются обычно в крупных проектах, где важен объём пересылаемых данных.
При разработке программного обеспечения и т. п. патчи к исходным текстам используются независимо от размера проекта, обычно с помощью систем управления версиями . Созданные патчи, исправляющие частные проблемы или добавляющие некоторую функциональность, такую, как поддержка других языков, обычно отправляются авторам или публикуются в сети.
Например, при разработке ядра операционной системы Linux , Линус Торвальдс , его автор, получал тысячи писем с патчами к своей версии от множества программистов.
Веб-сервер Apache развился из набора патчей, написанных ранее различными веб-мастерами для добавления функциональности к NCSA HTTPd . По легенде, отсюда и возникло название — означающее, что это есть по сути коллекция патчей: «a patchy server».
В программах для создания музыки патчем называется сохранённый в памяти музыкального синтезатора набор программируемых параметров звучания определённого звука — программный модуль, содержащий различные дополнительные звуковые эффекты и .
Бывает, что само обновление становится причиной новых ошибок в работе. Поэтому опытные пользователи предпочитают выждать некоторое время, пока не появятся первые отзывы о результатах использования новой версии ПО , и уже потом решают, стоит ли устанавливать данный патч. Особенно критичен данный момент для системных администраторов и при установке больших обновлений операционной системы.
В случае обновления операционных систем и серверного программного обеспечения патчи играют важную роль в поддержании безопасности и устранении дыр в защите . Чтобы облегчить установку таких обновлений, операционные системы часто поддерживают автоматические или полуавтоматические механизмы обновления. При этом осторожные пользователи (в частности, системные администраторы ) обычно отключают автоустановку патчей, пока не убедятся в стабильной работе исправленных версий на чужих примерах . В случае больших или очень важных патчей разработчики часто сначала сами проводят предварительное тестирование ( бета-тестирование ).
Иногда разработчики программ принуждают пользователей к обновлению. Это может выражаться в ограничении доступа с помощью необновлённой программы к сервисам разработчика (например, невозможности устанавливать последующие патчи и обновления), либо в полном или частичном отказе самой программы.
Причинами могут быть:
Во многих устройствах программное обеспечение находится в памяти самого устройства в виде т. н. прошивки , которая включает в себя сразу и операционную систему , управляющую работой устройства, и собственно набор программ, обеспечивающих выполнение тех или иных его функций. Поэтому если разработчиком предусмотрена возможность замены его прошивки ( перепрошивка ), то применение патча на программное обеспечение устройства чаще всего представляет собой полную замену целиком всей прошивки на более новую версию. Обычно такой патч состоит из файла, содержащего обновленный программный код в двоичном виде, и специальной программы, записывающей его в память устройства вместо прежней версии. Пример такого вида патчей — перепрошивка БИОСа материнской платы компьютера или современного мобильного телефона, подключённого к компьютеру.
Поскольку по сути перезаписывается не какая-то часть программ или функций, а вся операционная система устройства, любая неожиданная ошибка или вмешательство в процесс перепрошивки (например, выключение питания) могут помешать корректно записать её до конца, что в свою очередь чаще всего приводит к полной неработоспособности устройства.
Для создания, использования и учёта патчей используют системы управления версиями .
Зачастую современные программы обновлений могут управлять патчами. Автоматизация всего процесса упрощает задачу конечного пользователя — ему достаточно запустить программу, а та уже решит, нужно ли ставить патчи, и в каком порядке. Бывает и так, что программа скачивает обновления из интернета без участия пользователя. Такой способ часто применяется в поддержке серверного программного обеспечения и операционных систем. В ситуации, когда администратору приходится следить за несколькими компьютерами такой подход помогает поддерживать надёжность системы в целом. Обычно таким способом происходит установка обновлений безопасности.
Чтобы все изменения, совершаемые патчем, происходили автоматически без участия пользователя, существуют специальные утилиты , с помощью которых создают самоустанавливающиеся патчи. В них записывается информация, какие файлы должны быть заменены, или какие программы запущены после распаковки, если должно быть изменено содержимое файлов. Чаще всего полученный таким образом патч представляет собой самораспаковывающийся архив, содержащий обновленные файлы целиком.