Что такое патч excel

Обновлено: 05.07.2024

Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 14 мая 2011.

Размер патчей может варьироваться от нескольких килобайт до сотен мегабайт. В частности, очень большими патчи могут быть при изменении или замене непрограммных данных, таких как файлы с графикой и звуком (часто встречаются в компьютерных играх). Тем не менее, большой размер может быть вызван и многочисленностью вносимых изменений. При этом слова «патч», «заплатка» обычно используются для обозначения небольших исправлений, большие же патчи, серьёзно меняющие или обновляющие программу, часто называются «service pack» или «software updates».

Содержание

Причины использования патчей

История

Позже для распространения патчей стали использоваться магнитные ленты. Когда же были изобретены дискеты, патчи стали отправляться на дискетах в конвертах по почте. Сегодня, в эру повсеместного распространения интернета, компьютерные программы и их пользователи скачивают патчи с сайтов разработчиков.

Виды патчей

  • Патчи могут распространяться в виде списка различий между двумя версиями файла или набора файлов. Такие патчи обычно используются при разработке программного обеспечения. Существуют специальные утилиты для автоматического создания и применения таких патчей.
  • Патчи для обновления откомпилированного программного обеспечения распространяются в виде двоичных файлов, скачиваемых самой программой, либо в составе самостоятельных программ, запускаемых самим пользователем. В этом случае необходимые изменения файлов программы или их полная замена зачастую происходит автоматически, без вмешательства пользователя.

Применение

Коротко выполняемые патчами задачи можно описать следующими действиями:

  • исправление обнаруженных за время существования программы недочетов и ошибок;
  • изменение или улучшение работы существующих функций;
  • добавление новых функций и возможностей;
  • обеспечение совместимости с разрабатываемыми отдельно библиотеками.

Программное обеспечение

Для автоматического обновления у конечного пользователя патчи используются обычно в крупных проектах, где важен объём пересылаемых данных.

При разработке программного обеспечения и т. п. патчи к исходным текстам используются независимо от размера проекта, обычно с помощью систем управления версиями. Созданные патчи, исправляющие частные проблемы или добавляющие некоторую функциональность, такую как поддержка других языков, обычно отправляются авторам или публикуются в сети.

Например, при разработке ядра операционной системы Linux, Линус Торвальдс, его автор, получал тысячи писем с патчами к его версии от множества программистов.

Все изменения кода Firefox и других продуктов Mozilla Foundation существуют в виде патчей, которые учитываются с помощью «багов» в системе Bugzilla.

Музыкальное ПО

В программах для создания музыки патчем называется сохранённый в памяти музыкального синтезатора набор программируемых параметров звучания определённого звука. Программный модуль, содержащий различные дополнительные звуковые эффекты и пресеты.

Участие пользователя в обновлении ПО

Бывает, что само обновление становится причиной новых ошибок в работе. Поэтому опытные пользователи предпочитают выждать некоторое время, пока не появятся первые отзывы о результатах использования новой версии ПО, и уже потом решают, стоит ли устанавливать данный патч. Особенно критичен данный момент для системных администраторов и при установке больших обновлений операционной системы.

В случае обновления операционных систем и серверного программного обеспечения патчи играют важную роль в поддержании безопасности и устранении дыр в защите. Чтобы облегчить установку таких обновлений, операционные системы часто поддерживают автоматические или полуавтоматические механизмы обновления. При этом осторожные пользователи (в частности, системные администраторы) обычно отключают автоустановку патчей, пока не убедятся в стабильной работе исправленных версий на чужих примерах. [1] В случае больших или очень важных патчей разработчики часто сначала сами проводят предварительное тестирование (бета-тестирование).

Принудительное обновление

Иногда разработчики программ принуждают пользователей к обновлению. Это может выражаться в ограничении доступа с помощью необновлённой программы к сервисам разработчика (например, невозможности устанавливать последующие патчи и обновления), либо в полном или частичном отказе самой программы.

Причинами могут быть:

  • уязвимости в программе, делающие её использование опасным для сервисов разработчика, компьютера пользователя, или других компьютеров;
  • изменения или исправления, напрямую связанные с сервисами разработчика (совместимость между установленными у всех пользователей копиями, правила игры, условия использования сервисов);
  • борьба против определённых действий пользователя (например, читерства в сетевых играх или использования несвободных компонентов ПО, не одобренного правообладателем); при этом могут удаляться важные функции, например возможность установки Unix-подобных операционных систем на игровую консоль PlayStation 3 («OtherOS»).

Патч встроенного ПО

Поскольку по сути перезаписывается не какая-то часть программ или функций, а вся операционная система устройства, любая неожиданная ошибка или вмешательство в процесс перепрошивки (например, выключение питания) могут помешать корректно записать её до конца, что в свою очередь чаще всего приводит к полной неработоспособности устройства.

Разработка патчей

Для создания, использования и учёта патчей используют системы управления версиями.

Автоматизация установки

Вспомогательные утилиты

Чтобы все изменения, совершаемые патчем, происходили автоматически без участия пользователя существуют специальные утилиты, с помощью которых создают самоустанавливающиеся патчи. В них записывается информация, какие файлы и должны быть заменены, или какие программы запущены после распаковки, если должно быть изменено содержимое файлов. Чаще всего полученный таким образом патч представляет собой самораспаковывающийся архив, содержащий обновленные файлы целиком.

Интересные факты

Компания Microsoft не раз сталкивалась с критикой в свой адрес по поводу недостаточного тестирования ежемесячных обновлений безопасности. В ответ на это представители корпорации дали понять, что в их планах переход на новую схему тестирования путем передачи услуги по тестированию обновлений «внешним» пользователям, то есть не сотрудникам Microsoft.
И, действительно, если взглянуть на данную проблему глазами компании-разработчика, то становится понятно, что тестирование обновлений на стороне разработчика довольно емкий по времени процесс. Каждое обновление должно быть протестировано в условиях максимально приближенных к тем, которые эксплуатируются на рабочих станциях и серверах потребителей продукта. Так, к примеру, компания Adobe тратит на тестирование обновлений (updates) до 6000 человеко-часов в месяц.

Но как показывает жизнь, тестирования компанией разработчиком никогда не будет достаточно для 100% пользователей в мире. Соответственно, риск того, что очередное обновление ПО остановит бизнес-процессы компании, остаётся. С другой стороны, не обновляться также нельзя, так как можно оказаться уязвимыми перед хакерами, которые могут нанести вред компании.

В качестве способа существенного снижения этих рисков крупные компании выбирают регулярную установку обновлений пакетами (релизами) с обязательным тестированием обновлений перед их развёртыванием в масштабе всей компании.

Методы управления обновлениями

Метод управления обновлениями является комбинацией подхода к тестированию обновлений и подхода к развёртыванию релизов с обновлениями. О них мы и расскажем далее.

  1. тестирование на локальных виртуальных машинах;
  2. тестирование в полноценной тестовой среде.
  • создание самой виртуальной машины не требует больших затрат по времени;
  • виртуальных машин на одной физической платформе может быть несколько;
  • каждая виртуальная машина имеет свои собственные виртуальные аппаратные компоненты: память, процессор, жесткий диск, сетевые адаптеры;
  • и самое главное – это возможность сделать «снимок» текущего состояния системы и содержимого дисков одним кликом мыши, а затем в течение очень короткого промежутка времени вернуться в исходное состояние, что может быть очень полезным при условии обнаружения обновления, установка которого вызывает критические неисправности в системе.

Инструменты для управления обновлениями

  1. System Center Configuration Manager (SCCM) – программный продукт Microsoft;
  2. Unicenter Software Delivery – программный продукт компании Computer Associates;
  3. OpenView – программный продукт компании Hewlett-Packard.
  • серверы сайта;
  • системы сайта, выполняющие определенные роли по управлению инфраструктурой;
  • собственно управляемые клиенты.

image

Здесь следует особо отметить, что сервер WSUS предназначен только для обновлений, выпущенных компанией Microsoft.
Однако существует еще один сервер обновлений – System Center Updates Publisher (SCUP) от Microsoft, который позволяет управлять обновлениями стороннего ПО и затем импортировать его на сервер WSUS, с последующим развертыванием на клиентах с помощью SCCM.

Стадии процесса Patch Management

image

Процесс управления обновлениями состоит из нескольких стадий:

  1. Подготовка тестовых клиентов
    На машину для тестирования обновлений накатывается образ операционной системы, включающий приложения, а также утвержденные ранее протестированные обновления. При последующей загрузке операционной системы происходит автоматическая установка данных утвержденных обновлений.
  2. Создание листов обновлений
    После того как тестовая среда подготовлена к установке новых обновлений, начинается создание листов обновлений, или, как это называется в SCCM, патч-листов.
    Патч-лист включает обновления, вышедшие в этом месяце и подходящие под определение «требуемые». Необходимость в обновлении для клиента определяет сам SCCM. Логика проста: если на клиенте установлено приложение Visio и в этом месяце вышло обновление для Visio, то подобный патч будет «требуемым» для данного клиента.
    Что же касается обновлений для операционных систем и серверов, то здесь необходимость определяется в зависимости от их разрядности и пакета Windows Service Pack.
    После того, как патч-лист создан, формируется новый пакет, включающий в себя все выбранные обновления, и пакет назначается на коллекцию, в которую добавлены тестовые клиенты.
  3. Развертывание в тестовой среде (LAB Deployment)
    При добавлении пакета к коллекции SCCM получает информацию о том, что для клиентов данной коллекции назначено новое задание, синхронизируется с SCCM-клиентом на тестовой машине и начинается развертывание (deployment). Процедура занимает всего несколько минут, по истечении которых, в области уведомлений панели задач появляется соответствующий значок. После двойного нажатия на значок, открывается Configuration Manager, где после выбора обновлений, начинается установка. Как правило, установка заканчивается запросом на перезагрузку системы. После нее начинается тестирование с задачей: найти патч, ломающий систему/компоненты системы, либо убедиться в отсутствии такового.
    По своей сути вход в систему после перезагрузки уже является одним из пунктов проверки. Важно, чтобы при входе в систему не возникало никаких предупреждений/ошибок. Далее тестирование проводится по определенной тест-матрице. Проверки, входящие в тест-матрицу, зависят, в основном, от программного обеспечения тестируемой ИТ-инфраструктуры. Подробнее о проводимых проверках будет рассказано в разделе — «Этапы тестирования» ниже.
  4. Развертывание на пилотных пользователях (стадия PRE Deployment)
    На этапе PRE Deployment готовится список протестированнных обновлений, который отправляется с помощью SCCM на клиенты пилотных пользователей. Принцип тот же: пакет с обновлениями добавляется к коллекции, включающей в себя только пилотных клиентов, SCCM получает информацию о том, что для клиентов данной коллекции назначено новое задание и начинается развертывание.
    Как правило, в качестве пилотных клиентов, выбираются те пользователи, которые
    хорошо разбираются в ПО, за которое отвечают, и проверяют нормально ли работает приложение после установки обновлений. Количество пользователей, которые участвуют в пилоте, обычно варьируется в зависимости от числа рабочих станций сети.
    Стадия PRE Deployment продолжается в течение 4-х дней, по истечении которых пилотные пользователи дают свою обратную связь (feedback). При возникновении конфликтов ПО с установленными обновлениями, последние исключаются из списка. Таким образом, формируется окончательный список обновлений, которые будут установлены на все рабочие станции промышленной сети.
  5. Развертывание протестированных обновлений в производственной информационной среде (PRO Deployment)
    Происходит на стадии PRO Deployment, с помощью SCCM, по тому же принципу, что и на тестовые и пилотные клиенты. В данном случае устанавливается время начала развертывания и дата завершения.

Как уже упоминалось ранее, тестирование происходит на основании тест-матрицы. Ниже мы представим описание базовых проверок, которые обычно включаются в такие матрицы.

  1. Запустить Word, Excel, Power Point, Publisher, Access.
  2. Убедиться, что приложения открываются без возникновения ошибок.
  3. Внести изменения в документ, убедиться, что при закрытии появляется вопрос о сохранении и сохранение документа происходит по умолчанию в папку «Документы» (если не предусмотрено другое хранилище по умолчанию (by default)).

image

Одной из наиболее распространенных проверок так же является проверка приложений Adobe, которые подвергаются обновлению. Минимальная проверка для Adobe Flash Player заключается в проверке версии данного ПО на сайте. Если же обновление для Adobe Reader, то проверяется версия и производится проверка работоспособности приложения.
Проверка работоспособности браузера также в ходит в список базовых. Патчи не должны вносить изменения в настройки прокси и ActiveX, и это также проверяется при тестировании.
Кроме того стоит обратить внимание на общее влияние обновлений на систему. На этапе подготовки тестового клиента, который уже содержит ранее протестированные обновления, проводятся тесты, описанные выше, и результаты такого тестирования принимаются за эталон.
Любое отклонение системы от состояния, предшествующего вновь установленным патчам, анализируется и, в некоторых случаях, может быть принято решение об исключении патчей, ведущих к нежелательным изменениям в системе.

Стоит заметить, что для экономии полезного времени, некоторые проверки могут быть автоматизированы с помощью VBScript, например:

Запла́тка, или па́тч (англ. patch /pætʃ/ — заплатка) — автоматизированное отдельно поставляемое программное средство, используемое для устранения проблем в программном обеспечении или изменения его функционала, а также сам процесс установки патча ("пропатчивание"). Исправление может применяться к уже установленной программе, либо к её исходным кодам. Сюда входит исправление ошибок, изменение внешнего вида, улучшение эргономичности или производительности программ, а также любые другие изменения, которые разработчик пожелал сделать.

В качестве синонима может использоваться термин "обновление" (англ. update ). Однако под словом "патч" чаще понимают исправление каких-то ошибок, в то время как под обновлением - улучшение функционала и добавление новых возможностей.

Размер патчей может варьироваться от нескольких килобайт до сотен мегабайт. В частности, очень большими патчи могут быть при изменении или замене непрограммных данных, таких как файлы с графикой и звуком. Такие ситуации часто возникают при обновлении компьютерных игр. Тем не менее, большой размер может быть вызван и многочисленностью вносимых изменений. При этом слова «патч», «заплатка» обычно используются для обозначения небольших исправлений, большие же патчи, серьёзно меняющие или обновляющие программу, часто называются «service pack» или «software updates».

По сравнению с первоначальной установкой программы применение патчей, как правило, занимает меньше времени, так как установливаются не все файлы программы, а только некоторая их часть (за исключением случаев глобального обновления программы или если обновление происходит сразу через несколько версий). Патчи, загружаемые из интернета, могут устанавливаться несколько дольше, поскольку помимо установки предварительно требуют время для загрузки на компьютер пользователя.

Если было выпущено несколько патчей, то разработчик может (обычно после наиболее полных изменений) сделать кумулятивный патч (лат. cumulatio – "увеличение, скопление"). Такой патч включает в себя изменения, находящиеся во всех предыдущих патчах, и вносит их в программу во время своей установки вместе с новыми. Это позволяет сэкономить время на поиск, загрузку и установку всех прежних версий патча.

Бывает, что сами патчи становятся причиной новых ошибок в работе. Поэтому опытные пользователи предпочитают выждать некоторое время, пока не появятся первые отзывы о результатах использования новой версии пропатченного ПО, и уже потом решают, стоит ли устанавливать данный патч. Особенно критичен данный момент для системных администраторов и при установке больших обновлений операционной системы.

Содержание

История

Во времена, когда для загрузки программ в компьютеры использовались перфокарты или бумажные ленты, разработчики программ распространяли патчи в виде перфокарт с отличным от первоначального набором перфорации или указывали на бумажной ленте места, которые следует изменить. Пользователи заменяли соответствующие перфокарты в стопке или вырезали помеченную часть ленты и вклеивали вместо нее новый кусок программы. Тогда же и возникло название «patch» (англ. patch ), буквально - "заплатка").

Позже для распространения патчей стали использоваться магнитные ленты. Когда же были изобретены дискеты, патчи стали отправляться на дискетах в конвертах по почте. Сегодня, в эру повсеместного интернета, конечные пользователи скачивают патчи с сайтов разработчиков.

Виды патчей

Разработчики программного обеспечения публикуют патчи в различной форме.

  • Авторы закрытых программных продуктов скрывают исходные коды, поэтому их патчи распространяются в виде откомпилированных программ. При запуске такой патч самостоятельно выполняет необходимые изменения с нужными файлами программы или полностью заменяет их более новыми.
  • Также патчи могут распространяться в виде списка различий между двумя версиями исходных кодов. Этот тип патчей обычно используется в open source-проектах. При этом предполагается, что пользователи или другие разработчики сами внесут эти изменения и просто соберут программу заново. Существуют специальные утилиты для автоматического создания и применения таких патчей.

Применение

Коротко выполняемые патчами задачи можно описать следующими действиями:

  • исправление обнаруженные за время существования программы недочетов и ошибок;
  • изменение или улучшение работы существующих функций;
  • добавление новых функций и возможностей.

Операционные системы

В случае обновления операционных систем и серверного программного обеспечения патчи играют важную роль в поддержании безопасности и устранении дыр в защите. Чтобы облегчить установку таких обновлений, операционные системы часто поддерживают автоматические или полуавтоматические механизмы обновления. При этом осторожные пользователи (в частности, системные администраторы) обычно отключают автоустановку патчей, пока не убедятся в стабильной работе исправленных версий на чужих примерах. В случае больших или очень важных патчей разработчики часто сначала сами проводят предварительное тестирование (бета-тестирование).

Программное обеспечение

В разработке программного обеспечения патчи иногда требуются для устранения проблем с часто используемыми или важными библиотеками и частями исходного кода. Такое обычно происходит в широкомасштабных проектах, и значительно реже — в малых.

В open source-проектах патчи, исправляющие частные проблемы или добавляющие некоторую функциональность, такую как поддержка других языков, обычно отправляются авторам или публикуются в сети. Например, на ранних стадиях разработки ядра операционной системы — Линус Торвальдс, его автор, получал тысячи писем с патчами к его версии от множества программистов.

Все изменения кода Firefox и других продуктов Mozilla Foundation существуют в виде патчей, которые учитываются с помощью «багов» в системе

Компьютерные игры

В отличие от обычных приложений, в которых исправляются обнаруженные ошибки и недочеты и вводятся новые функции, для компьютерных игр патчи играют особую роль. В них они могут быть предназначены для изменения правил или алгоритмов игры. Необходимость в выпуске таких патчей возникает порой при обнаружении возможности жульничества игроков.

Особенно важны такого рода патчи в многопользовательских играх, где превосходство за счет недоработок игры одного игрока над другими имеет более серьезные последствия, чем при одиночной игре против компьютерных соперников. Чтобы сделать невозможным дальнейшее распространение найденной возможности читерства, исправленной с выходом патча, а также избежать конфликта версий, многопользовательские игры часто не допускают к игре игрока, использующего версию игры, отличную от официальной.

Другим примером является защита от копирования. Патч может параллельно внести изменения в систему защиты игры, что может выражаться, например, в невозможности устанавливать последующие патчи и обновления, если установлена "пиратская" версия игры.

Патч встроенного ПО

Во многих устройствах программное обеспечение находится в памяти самого устройства в виде т.н. прошивки, которая включает в себя сразу и операционную систему, управляющую работой устройства, и собственно набор программ, обеспечивающих выполнение тех или иных его функций. Поэтому если разработчиком предусмотрена возможность замены его прошивки (перепрошивка), то применение патча на программное обеспечение устройства чаще всего представляет собой полную замену целиком всей прошивки на более новую версию. Обычно такой патч состоит из файла, содержащего обновленный программный код в двоичном виде, и специальной программы, записывающей его в память устройства вместо прежней версии. Пример такого вида патчей — перепрошивка БИОСа материнской платы компьютера или современного мобильного телефона, подключенного к компьютеру.

Поскольку по сути перезаписывается не какая-то часть программ или функций, а вся операционная система устройства, любая неожиданная ошибка или вмешательство в процесс перепрошивки (например, выключение питания) могут помешать корректно записать ее до конца, что в свою очередь чаще всего приводит к полной неработоспособности устройства.

Разработка патчей

Автоматизация установки

Зачастую современные программы обновлений могут управлять патчами. Автоматизация всего процесса упрощает задачу конечного пользователя — ему достаточно запустить программу, а та уже решит, нужно ли ставить патчи, и в каком порядке. Бывает и так, что программа скачивает обновления из интернета без участия пользователя. Такой способ часто применяется в поддержке серверного программного обеспечения и операционных систем. В ситуации, когда администратору приходится следить за несколькими компьютерами такой подход помогает поддерживать надёжность системы в целом. Обычно таким способом происходит установка обновлений безопасности.

Вспомогательные утилиты

Чтобы все изменения, совершаемые патчем, происходили автоматически без участия пользователя существуют специальные утилиты, с помощью которых создают самоустанавливающиеся патчи. В них записывается информация, какие файлы и должны быть заменены, или какие программы запущены после распаковки, если должны быть изменено содержимое файлов. Чаще всего полученный таким образом патч представляет собой самораспаковывающийся архив, содержащий обновленные файлы целиком.

Интересные факты

Microsoft Flight Simulator выпустила специальный патч после атак 11 сентября 2001-го на World Trade Center в Нью-Йорке. Из карты города были изъяты башни торгового центра. Это редкий пример патча, выпущенного из уважения к чувствам людей, а не для исправления ошибки в программе или усиления защиты от копирования.

English
Português Brasileiro
Русский
ไทย
Deutsch
Français
Español
한국어

Path of Exile - это сетевая ролевая игра активного действия в мрачном колдовском мире Рэкласта. В основу игры легли: мощная бартерная экономика, богатые возможности настройки героев, захватывающие PvP-сражения и гонки за рейтингом. Игра полностью бесплатна. Вам никогда не придется платить за победу.

Система камней умений

Ролевые игры активного действия всегда были о двух вещах: разрушительных способностях и ценных предметах. В Path of Exile способности — это тоже предметы: камни, которые наделяют героя умениями после вставки в снаряжение. Действие умений можно изменять с помощью множества камней поддержки. Можно так усилить огненный шар, что он будет отскакивать от врага к врагу или разделится на несколько сгустков пламени. В любой момент на умение могут влиять до пяти камней поддержки. Поскольку камни растут в уровнях сами по себе и бывают весьма редкими, их можно выгодно продавать.

Дерево пассивных умений

Все классы героев Path of Exile используют одно огромное дерево пассивных умений. Игроки начинают в одном из семи разнесенных по дереву мест, положение которого зависит от выбранного класса. Они могут сосредоточиться на основной характеристике своего класса или перемещаться по дереву для создания сложной комбинации умений из разных сфер. По дереву разбросаны ключевые пассивные умения, которые очень сильно меняют стиль игры за героя.Так, с ключевым умением Точные удары герой перестает наносить критические удары, зато не дает противникам уклоняться от своих атак. Посмертное покровительство распространяет свойства вашего щита не на героя, а на приспешников. Самоцветы позволят изменять само дерево, добавляя особые свойства или воздействуя на эффекты ближайших пассивных умений.

Мир Рэкласта

Рэкласт - это темный и жестокий континент. Он изувечен таинственными катастрофами прошлого и населен кошмарными тварями. Сама природа готова уничтожить изгнанников, которые посмеют выйти за стены.

Нам не нравится мода на светлые и мультяшные ролевые мирки. Для Path of Exile мы выбрали мрачный, суровый и реалистичный стиль. Рэкласт ужасает, и мы очень старались, чтобы вы им прониклись.

Повторные прохождения - одно из главных достоинств Path of Exile. Все регионы мира, включая открытые пространства, создаются для вашей группы случайным образом, вплоть до волшебных свойств обитающих там чудовищ и россыпей сокровищ, которые эти чудовища стерегут.

Система предметов

Path of Exile целиком и полностью вертится вокруг предметов. Как и любая система, вещи в которой могут наделяться случайными характеристиками. Наши флаконы не пропадают и поддерживают модификации. Финальные области нашей игры можно найти в виде карт - предметов, которые тоже модифицируются с изменением испытаний и наград. Мы даже убрали из игры золото. Вся экономика построена на обмене сферами, которые могут случайным образом изменять свойства других вещей.Мы с большим старанием создали эту систему предметов для ветеранов лучших ролевых игр активного действия.

Читайте также: