Опубликован: 04.07.2008 | Уровень: специалист | Доступ: платный | ВУЗ: Европейский Университет в Санкт-Петербурге
Лекция 2:

Настройка ядра, добавление оборудования, установка программ и обновлений

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Проверка пакетов ПО с помощью pkgchk

bash-2.05# pkgchk SMCtop
bash-2.05#

Как видим, сообщений от pkgchk не последовало. Отсутствие новостей – лучшие новости. Если программа pkgchk не выдала сообщений, стало быть, проблем нет.

Можно проверить, изменилось ли содержимое файла пакета с момента его установки:

pkgchk -p /etc/shadow
ERROR: /etc/shadow
modtime <11/04/02 01:06:28 > expected <03/18/04 05:05:29 > actual
file size <253> expected <298> actual
file cksum <17353> expected <20785> actual

Файл изменился с момента установки системы. Это естественно: ведь мы добавили новых пользователей и назначили им пароли.

Для более подробной информации можно использовать ключ l:

pkgchk -l -p /etc/shadow
Pathname: /etc/shadow
Type: editted file
Expected mode: 0400
Expected owner: root
Expected group: sys
Referenced by the following packages:
SUNWcsr
Current status: installed

База данных установленных пакетов

Информация об установленных пакетах сохраняется в файле /var/sadm/install/contents.

Можно просмотреть его содержимое для изучения того, что именно и куда было установлено при инсталляции пакета. Программа pkgrm использует содержимое этого файла для удаления пакета. Например, взгляните, какие файлы и с какими правами были созданы в результате установки пакета top. Кстати, если имя пакета начинается на SUNW, это значит, что пакет создан компанией Sun Microsystems, а если начало имени пакета иное – то это продукт третьей фирмы. Как видите, последнее относится и к программе top – ведь ее пакет называется SMCtop.

more /var/sadm/install/contents | grep SMCtop
/usr/local/bin d none 0755 root bin SMCgcc SMCtop
/usr/local/bin/top f none 2711 root sys 47348 46603 1081404717 SMCtop
/usr/local/doc d none 0755 root bin SMCgcc SMCtop
/usr/local/doc/top d none 0755 root bin SMCtop
/usr/local/doc/top/Changes f none 0644 root bin 30674 28431 1081404751 SMCtop
/usr/local/doc/top/FAQ f none 0644 root bin 15167 37360 1081404751 SMCtop
/usr/local/doc/top/INSTALL f none 0644 root bin 7460 472 1081404751 SMCtop
/usr/local/doc/top/Porting f none 0644 root bin 7058 38204 1081404751 SMCtop
/usr/local/doc/top/README f none 0644 root bin 7958 47937 1081404751 SMCtop
/usr/local/doc/top/SYNOPSIS f none 0644 root bin 2109 45452 1081404751 SMCtop
/usr/local/man d none 0755 root bin SMCgcc SMCtop
/usr/local/man/man1 d none 0755 root bin SMCgcc SMCtop
/usr/local/man/man1/top.1 f none 0644 root bin 12736 8086 1081404723 SMCtop

Поскольку в файле /var/sadm/install/contents указано, в какой каталог установлена программа, можно искать в нем нужную программу, чтобы понять, в какой каталог она установлена (если установлена вообще).

Для того, чтобы просмотреть базу данных установленных пакетов, удобно использовать программу pkginfo – стандартный интерфейс получения информации о пакетах.

В графическом режиме просматривать, устанавливать и удалять пакеты поможет диспетчер пакетов prodreg (рис. 2.1).

Окно программы prodreg

увеличить изображение
Рис. 2.1. Окно программы prodreg

Установка обновлениий

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

Для работы с обновлениями и заплатками в Solaris предсмотрен ряд программ: patch, gpatch, patchadd, patchrm, smpatch.

Кроме того, можно устанавливать обновления системы с использованием Solaris Management Console. Это делается через пункт "Patches", подробности можно почерпнуть из руководства по smc(1M).

Чтобы точно узнать версию установленной системы Solaris и получить информацию обо всех установленных обновлениях системы, следует использовать команду showrev:

showrev –a
Hostname: sola
Hostid: 284521a
Release: 5.9
Kernel architecture: i86pc
Aplication architecture: i386
Hardware provider:
Domain:
Kernel version: SunOS 5.9 Generic_112234-03 November 2002
OpenWindows version:
Solaris X11 Version 6.6.1 16 October 2002
No patches are installed

Для изменения текстовых файлов (например, исходных текстов программ или файлов конфигураций) можно применять программу patch, которой нужно два файла: исходный текстовый файл, который надо изменить, и файл заплатки (patch-файл). Файл заплатки обычно имеет формат вывода программы diff, но patch понимает также формат скрипта редактора ed или контекстный вывод diff. Контекстным называется формат вывода, когда в файле различий, создаваемом diff, приводятся не только те строки файлов, которые отличаются друг от друга, но и контекст, в котором они появились (по три строки сверху и снизу от них).

Типичный файл заплатки для исходного текста или файла конфигурации выглядит так:

cat system.patch
--- system Mon May 17 02:15:34 2004
+++ system.new Tue Jun 22 10:50:48 2004 @@ -76,6 +76,6 @@
*
* set test_module:debug = 0x13
-set semsys:seminfo_semmni=100
+set semsys:seminfo_semmni=110
set semsys:seminfo_semopm=100

Этот файл заплатки system.patch можно "приложить" к старому файлу system для того, чтобы внести в него изменения; предполагается, что старый файл имеет имя, совпадающее с именем в первой строке файла заплатки (то, что написано после --- ):

patch –i system.patch system

Кроме программы patch в Solaris имеется программа gpatch (GNU Patch), которая, в отличие от традиционной команды patch, строго соответствует стандарту POSIX и несколько отличается в интерпретации ключей и обработке полных имен файлов в файлах заплаток. Применяйте ту программу, которая требуется согласно описанию заплатки; в трудных случаях имеет смысл изучить раздел Compatibility issues в man gpatch.

Программы patch и gpatch не предназначены для установки обновлений Solaris, которые Sun Microsystems регулярно выпускает по мере обнаружения ошибок в существующем коде, или для усовершенствования тех или иных системных программ. Для установки обновлений системы, а это – наборы двоичных файлов, используются программы patchadd. Для удаления обновления и возвращения системы в состояние, в котором она пребывала до обновления, применяйте patchrm. Программы patchadd и patchrm работают с Solaris версий 2.x и более новых.

С помощью команды smpatch можно установить обновления системы на несколько машин сразу, удалить их с нескольких машин и выяснить текущее состояние систем в сети с точки зрения установленных обновлений. Работа с smpatch требует заранее создать роль, отвечающую за управление обновлениями, в каждой из систем вашей сети.

Установка пакетов и обновлений в OpenSolaris

OpenSolaris — это находящаяся в постоянной разработке версия Solaris, в то время как Solaris 10 — стабильная версия системы. OpenSolaris появился в результате проекта под кодовым названием Indiana; материалы проекта доступны на сайте opensolaris.org. Дистрибутив OpenSolaris можно загрузить с сайта opensolaris.com.

Систему отличают прежде всего принципиально новая подсистема управления пакетами (IPS — Image Packaging System), значительно улучшенная программа установки и возможность работать с несколькими средами загрузки на одном физическом разделе диска (загружая в разное время системы с разными версиями пакетов и/или ядра).

IPS подобна диспетчеру пакетов в Debian GNU/Linux – т.е. устанавливается только базовая версия системы, а все необходимые пакеты следует установить через сеть из репозитория. Последний может находиться как на сайте pkg.opensolaris.org, так и в вашей локальной сети. Локальный репозиторий, разумеется, будет требовать регулярного обновления.

Обновления ядра также доступны через репозиторий.

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

Для загрузки пакета из репозитория и управления им в OpenSolaris следует использовать команду pkg.

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.

Анатолий Натрусов
Анатолий Натрусов
Россия
Виктор Саркисов
Виктор Саркисов
Россия, Нижний Новгород, НГТУ, 2001