Windows Updates по месту жительства

15 апрель, 2003 - 23:00Игорь Дериев
В разгар антимонопольного процесса против Microsoft, когда всерьез муссировались слухи о якобы возможном делении компании на две дочерние фирмы, известный американский журналист Брайан Ливингстон предложил за первой оставить оригинальное имя, а вторую назвать PatchSoft. Смысл этой шутки вполне прозрачен -- "латание" программного обеспечения действительно превратилось в целую "подындустрию", со своими приемами и технологиями.

-- Ого! -- сказал восхищенный Остап. -- Полный архив на дому!
-- Совершенно полный, --
скромно ответил архивариус.
-- Я, знаете, на всякий случай...
И. Ильф, Е. Петров.
Двенадцать стульев

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

Windows Updates по месту жительства
Специальный шаблон позволяет управлять функционированием Auto Updates через редактор групповых политик
Windows Updates по месту жительства

Скорее всего, у многих тут же возникнет вопрос об актуальности и целесообразности каких-либо дополнительных рассуждений ввиду наличия довольно эффективной Web-службы Windows Updates и встроенного в ОС сервиса автоматического поиска и установки "заплаток" Auto Updates. И в самом деле, сегодня обновление отдельных компьютеров -- дело совершенно тривиальное, тем более, что ответственность лежит на самом пользователе. Однако если говорить об офисной среде, то здесь имеются многочисленные нюансы, особенно при автоматизации вышеупомянутого процесса (не секрет, что полагаться при этом на сознательность рядовых пользователей вряд ли приходится).

Начнем с того, что в больших организациях далеко не всем позволяется иметь полноценный доступ в Internet. Кроме того, Auto Updates испытывает трудности с некоторыми брандмауэрами, в частности с теми, которые требуют аутентификации пользователей. Также при достаточно большом числе рабочих мест трудно спрогнозировать возможный трафик. Многие администраторы предпочитают устанавливать "заплатки" и обновления лишь после определенного тестирования или по истечении времени, достаточного для накопления критических отзывов. В конце концов, не всем нравится практика, применяемая Microsoft при сборе информации о локальных системах. Сегодня на сервер Windows Updates передаются Product ID (тот, что отображается в свойствах системы) и аппаратная конфигурация, но некоторые источники склоняются к тому, что в системе уже предусмотрена (но пока не задействована) и инвентаризация ПО -- нынешнее лицензионное соглашение предоставляет компании в этом отношении полную свободу.

Одним словом, любой из перечисленных аргументов требует иного решения, и интересно, что оно существует с июля прошлого года и реализовано самой же Microsoft. Речь идет о Software Updates Services (SUS) -- серверном компоненте, который организует локальный аналог Windows Updates (естественно, не с такими широкими возможностями), предназначенный для обслуживания встроенных служб автоматического обновления Windows 2000 и XP (а в перспективе и Windows Server 2003). Более того, SUS распространяется совершенно бесплатно, со всеми необходимыми аксессуарами и документацией.


Возможности

Windows Updates по месту жительства
Загруженные "заплатки" нуждаются в специальном "одобрении" администратора

Итак, что же конкретно обеспечивает SUS? Прежде всего -- загрузку и локальное хранение архива "заплаток", а также его синхронизацию вручную либо в автоматическом режиме по расписанию. Формально SUS может выступать и в качестве своеобразного proxy-сервера в том смысле, что (хотя общение локальных ПК продолжится именно с ним) необходимые файлы по-прежнему будут загружаться с официального сервера Windows Updates.

Однако SUS работает не со всеми категориями "заплаток" и обновлений -- в его компетенцию попадают лишь те, которые имеют отношение к безопасности либо (по другим причинам) характеризуются как "критичные". На сегодняшний день их объем составляет около 200 MB только для англоязычных версий клиентских ОС, а SUS, естественно, поддерживает все доступные локализации. Уже из этого понятно, что реализовать полноценное "зеркало" Windows Updates -- весьма проблематично, да, пожалуй, и не имеет особого смысла. Аналогично администратору придется самостоятельно разбираться с Service Pack. Через SUS они не распространяются -- впрочем, это вполне традиционная практика.

Зато с функциональной точки зрения, SUS действительно имитирует Windows Updates. С ним могут общаться те же самые стандартные компоненты Windows (Windows 2000 SP3 и Windows XP SP1 не требуют обновления), используется тот же алгоритм выявления "заплаток", актуальных для конкретной конфигурации, и пр. Поддерживается даже технология Background Intelligent Transfer Service (BITS), при которой загрузка информации осуществляется в моменты простоя сетевого интерфейса на локальной машине, чтобы минимизировать интерференцию с другими процессами.


Реализация

Windows Updates по месту жительства
SUS позволяет обновлять любые локализованные версии Windows

Из самого назначения SUS следует его архитектура -- фактически это Web-сайт, для функционирования которого требуется Internet Information Server (при инсталляции происходит автоматическая проверка наличия защитных средств, вроде IIS Lockdown, и при необходимости они будут установлены). Однако пакет признает только серверные платформы, т. е. Windows 2000 Server либо Windows Server 2003. Последняя ОС представляет дополнительный интерес, в том числе и с финансовой точки зрения: во-первых, появившаяся редакция Web Edition не требует пользовательских лицензий, и ее стоимость существенно ниже, чем у остальных; во-вторых, пробные версии имеют годичный срок действия -- идеально для всевозможных экспериментов.

SUS рекомендуется размещать на отдельном сервере, который, впрочем, может совмещать и другие обязанности. Использование для этой цели контроллера домена нежелательно, хотя и возможно в нынешней версии SUS 1.0 SP1. Формально системные требования выглядят следующим образом: Pentium III 700 MHz, 512 MB RAM, жесткий диск 6 GB. По оценкам самой Microsoft, этого должно хватить для обслуживания примерно 15 тыс. клиентов. Более того, SUS-серверы могут подключаться "в цепочку" для более равномерного распределения нагрузки или поддержки сети со сложной топологией.

Мы устанавливали SUS на "виртуальном" компьютере под управлением Windows Server 2003 RC2, организованном с помощью VMware 4. Совершенно обычная офисная система с Celeron 1,7 GHz и 512 MB RAM прекрасно совмещала функции сервера и рабочей станции. Некоторые проблемы возникали разве что с предварительными версиями VMware, но и они со временем исчезли.

Как уже отмечалось, "современные" рабочие места (Windows 2000 SP3 и Windows XP SP1) не нуждаются в дополнительном ПО, для прочих необходимо обновление компонента Auto Updates. Настройку клиентских компьютеров (даже в индивидуальном порядке) проще всего осуществлять посредством групповых политик -- для этого предназначен специальный административный шаблон waua.adm, последняя версия которого (доступная на сайте SUS) позволяет конфигурировать несколько дополнительных параметров. Того же эффекта можно добиться и непосредственным редактированием реестра.


Особенности эксплуатации

Windows Updates по месту жительства
Работу Auto Updates на локальной машине можно контролировать и с помощью системного журнала событий

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

Конфигурирование клиентских машин также не вызывает трудностей. При индивидуальной настройке рабочих станций предварительно требуется подключить к редактору групповых политик соответствующий шаблон. Из всех доступных в нем настроек важны лишь предназначенные для адресации локального сервера. Собственно говоря, их две: одна -- непосредственно для SUS, другая -- для сервера статистики. В качестве последнего может выступить любой компьютер с IIS, и нет никаких показаний против того, чтобы настройки были идентичными. Хотя можно указывать и IP-адрес, и NetBIOS-имя, однако использование второго варианта в некоторых случаях (вероятно, из-за особенностей конфигурации сетевой инфраструктуры) чревато сбоями, вплоть до невозможности загрузки служебной информации.

В редакторе политик доступны и временные настройки Auto Updates, но с ними не следует торопиться. Их активизация запрещает обычное редактирование параметров службы (через свойства My Computer или Control Panel). Вместе с тем этот механизм полезен при поиске и устранении проблем и прочих экспериментах. В частности, с его помощью можно принудительно запустить очередную итерацию обновления, попросту отключив и повторно включив Auto Updates. Хотя по мере выявления всех нюансов, конечно, имеет смысл задать для нее максимально автономный режим.

Windows Updates по месту жительства
Даже такое простое средство, как LogNut сделает просмотр журналов операций более комфортным

Тем не менее определенный (периодический) контроль за функционированием локальной системы обновления ПО со стороны администратора все же необходим -- особенно на начальном этапе внедрения. Для этой цели ведутся специальные протоколы операций -- ystemroot%\Windows Updates.log на рабочих станциях и журналы IIS, хранящиеся в подпапках каталога ystemroot%\system32\logfiles на сервере. Первые позволяют проверить сам факт работы Auto Updates, а вторые -- подробности функционирования и возможные ошибки, часть которых (равно, как и методы выявления) уже описаны в статьях Microsoft KnowledgeBase -- например, support.microsoft.com/default.aspx?scid=kb;en-us;323184. В любом случае администратору не помешает обзавестись специальными утилитами для комфортной работы с Web-журналами (хотя бы самыми простыми, вроде LogNut), а также познакомиться с некоторыми популярными HTTP-кодами, которые часто помогают прояснить ситуацию. Скажем, причиной невозможности обновления клиентского компьютера оказалось банальное отсутствие (хорошо знакомая ошибка 404) одной из необходимых "заплаток" (несмотря на то что она значилась в списке загруженных и "одобренных") -- вероятно, в результате какого-то сбоя в процессе синхронизации архива SUS.

На этом описание SUS можно и завершить. Безусловно, данное ПО не идеальное, простор для улучшений имеется -- но ведь речь идет всего лишь о первой версии (Service Pack устранил только наиболее явные недостатки и ошибки). Учитывая бесплатное распространение, его, несомненно, стоит опробовать администраторам любых относительно крупных организаций -- вполне вероятно, что пакет поможет избавиться если не от каких-то проблем, то уж во всяком случае от рутины и головной боли. Следует также иметь в виду, что SUS -- отнюдь не единственное средство корпоративного управления "заплатками". Та же Microsoft поставляет Software Update Services Feature Pack для SMS, но это (как и сам SMS) решение, скорее, для действительно крупных компаний. Интересные продукты есть и у сторонних разработчиков. С ними мы планируем познакомить читателей в следующих публикациях.