Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Введение в системное администрирование Unix. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
пришедшие из Unix V и BSD. Последним из могикан остается DEC: его OSF/1 для Alpha AXP - немного искалеченный, но все же достаточно близкий к корням BSD 4.3.
Unix'ы для IBM/PC
Некоммерческие или условно бесплатные
BSD/OS 2.0 BSDi/386 Недорогой коммерческий. Хорошо поддерживается. Поддерживает бинарную совместимость с SCO Unix
386bsd BSD 4.3 для "Интеловской" платформы
NetBSD производная от 386bsd
FreeBSD 4.10 Самая качественная сеть. Дабы не связываться с USL, в нем полностью заново переписаны куски ядра, на которых стоял копирайт AT&T.
Linux 2.6.13 Самый популярный среди бесплатных Unix'ов. Число инсталляций оценочно - десятки миллионов. Непрерывное совершенствование силами сотен добровольцев довело его до уровня довольно надежной, быстрой, качественной и удобной системы, пригодной для работы как в качестве графической рабочей станции, так и интернет-сервера. Поддерживает больше всех приложений и hardware. Поддерживает спецификации iBCS, и потому может выполнять коммерческие приложения для SCO, в частности, Oracle и Informix. В Linux реализованы клиент и сервер Netware и Samba. Эмулятор MS Windows WABI - работоспособен.
Коммерческие Unix'ы
UnixWare 2.1 SVR4.2 от SCO. Совместима с сетями Windows и Netware. До сих пор не доведена до ума сеть. Поддерживает мультипроцессорные PC. После того как ее у Novell перекупило SCO, будущее этой системы туманно.
Введение в системное администрирование UnixМ.Е. Мошков
31
Solaris 2.10 SVR4.0 от SunSoft. Совсем как на Sun'е. В принципе, это должно говорить само за себя.
SCO Unix 4.0 SVR3.2 когда-то был лидером по количеству установок среди всех Unix'ов для PC. Старая надежная отлаженная система. Поддерживает достаточно много hardware. Поддерживает мультипроцессорные PC. Непомерно дорог. Морально устарел. Имеет проблемы с русификацией. Медленный.
ISC Unix 3.2 Надежен и компактен в работе. Морально устарел.
Unix'ы, поставляемые производителями компьютеров
Машина Операционная система "Оригинал" HP 9000 HP-UX 11 BSD 4.2 & SV 3.2 & SVR4.0 Sun 1,2,10,... SunOS 4.1.2 BSD 4.3 Sun 10,20,1000 Solaris 2.10 SVR4.0 IBM RS/6000 AIX SV 3.2 DEC Alpha AXP OSF/1 BSD 4.3 DEC Alpha AXP Tru64 OSF/1 Sequent Dynix SV 4.0 Motorola 922 SVR4/88 SVR4.0 Беста-88 Bestix SV 3.1 DEC Ultrix BSD 4.2 SGCS Silicon Graphic IRIX 6.0
Выбирая платформу, мы автоматически получаем с ней "ее собственный" Unix.
С точки зрения удобства и цельности администраторского управления самые приятные из них - HP-UX 11.11 и AIX.
А самые распространенные -
Linux 2.6 и FreeBSD 4.10 - среди некоммерческих
Введение в системное администрирование UnixМ.Е. Мошков
32
Solaris 2.10 и HP-UX/11 - среди коммерческих
Команды поиска GREP и FIND
Команда grep/egrep
"фильтрует" строки - оставляя только "подходящие" под шаблон
egrep шаблон [ file ... ]
В шаблон могут входить обыкновенные символы (представляющие сами себя), а также - спецсимволы, выполняющие служебные функции шаблона: . * ^ $ [ ]
. - любой произвольный символ
* - "множитель" (предыдущий символ любое число раз) .* - любая последовательность символов ^шаблон - привязываем шаблон к началу строки шаблон$ - привязываем шаблон к концу строки [символы] - любой один символ из тех, что стоят в скобках
Вывести всех привелегированных пользователей:
egrep ':0:0:' /etc/passwd
Вывести всех непривелегированных пользователей:
egrep -v ':0:0:' /etc/passwd
Вывести всех пользователей, имена которых начинаются с букв a,b,e,d
cat /etc/passwd | grep "^[abed].*"
Команда find
find рекурсивно обходит указанные каталоги и файлы, проверяет для
них выполнение указанных условий и может вдобавок выполнять с
Введение в системное администрирование UnixМ.Е. Мошков
33
найденными файлами указанные действия. Например, самое простое действие - распечатать имя файла.
find файл [ ... ] ключи/условия/действия
Ключи-условия команды find:
-name "*.c" - простое имя подходит под шаблон *.c
-type f - брать только обыкновенные файлы
-type d - брать только каталоги
-size +500 - файлы размером БОЛЬШЕ 500*512 байт
-mtime -3 - дата модификации МЕНЬШЕ 3-х дней
-newer filename - дата модификации нашего файла
МЕНЬШЕ, чем у заданного файла filename
ВНИМАНИЕ: Команда find использует стандартные SHELL'овские шаблоны. Команда grep использует шаблоны другого формата, называемые регулярными выражениями.
Ключи-действия команды find
-print - просто распечатать маршрутное имя файла
-exec команда над файлом {} \;
Пример.
Напечатать имена всех обыкновенных Си-шных файлов, изменившихся за последние 4 дня в текущем каталоге и его подкаталогах.
find . -type f -mtime -4 -print
Уничтожить все файлы с окончаниями *.bu, *%, которые не менялись больше месяца.
find / \( -name "*.bu" -o -name "*%" \) -type f \
-atime +30 -exec rm {} \;
запись "rm {} \;" - обозначает команду Unix, которая будет выполняться для всех таких найденных файлов. Вместо значка "{}"
Введение в системное администрирование UnixМ.Е. Мошков
34
будет подставляться каждый раз имя найденного файла. Естественно, что таким образом мы их все и уничтожим.
Архивирование. Копирование файлов на стример
В Unix для этого можно пользоваться двумя утилитами:
tar попроще в использовании, но не все умеет cpio более гибкая, чем tar, и посложнее.
Команда tar (Tape Archiver).
Предназначена для создания архивов на ленте и в файлах.
Ключи: "-c" Create, "-x" eXtract, "-a" Append, "-t"
оглавление
tar -cvf arhiw.tar fajl1 fajl2 katalog3 ... - создать архив tar -tvf /dev/rmt/ctape вывести оглавление ленты tar -xvf arhiw.tar katalog3/fajl4 извлечь из архива файл tar -xvf /dev/rmt/ctape архив лежит на магнитной ленте извлечь с ленты все файлы tar -avf arhiw.tar fajl5 добавить файл к архиву
Ключи:
"v" Выводить список файлов в длинном формате (Verbose) "f" Указывает на имя файла
Команда CPIO. (Copy In/Out)
Команда cpio -o берет с системного ввода список имен и склеивает эти файлы вместе в один архив, выталкивая его на свой системный вывод.
Сбросить на ленту файлы по списку:
Введение в системное администрирование UnixМ.Е. Мошков
35
-o - (output) создавать архив.
-H odc - Записывать в "совместимом формате" (чтобы архив можно было считать на Besta или Sun)
-c - Записывать в "престарелом" совместимом формате
cat spisok | cpio -ovB -H odc > /dev/rmt/ctape1 find katalog -print | cpio -ovc > arhiwnyj-fajl.cpio
Команда cpio -i читает с системного ввода cpio-архив и извлекает из него файлы
# Просмотреть содержание стримера. cpio -itB < /dev/rmt/ctape
# Извлечь файлы со стримера. cpio -idmvB ["шаблон" ...] < /dev/rmt/ctape
-B Размер блока 5120 байт - стримерный формат.
-d Создавать каталоги в случае необходимости.
-v Вывести список имен обработанных файлов.
-m Сохранять прежнее время последней модификации.
-f Брать все файлы, кроме указанного шаблоном.
-u Безусловно заменять существующий файл архивным.
-l Где можно, не копировать, а делать ссылки.
Архивация со сжатием.
Архиваторы tar и cpio, в отличие от DOS-овских архиваторов, не занимаются компрессией. Чтобы получить сжатый архив, нужно воспользоваться специализированной командой compress или gzip.
Команда compress читает свой системный ввод, а на свой системный выход подает "прожатые" данные.
Команда zcat ("сжатый cat":-) читает с системного входа "пожатый" файл, а на выход подает "разжатые" данные.
Создать сжатый tar-архив:
Введение в системное администрирование UnixМ.Е. Мошков
36
tar -cvf - emacs-19.28 | compress > emacs-19.28.tar.Z
Прочитать оглавление сжатого tar-архива:
zcat < emacs-19.28.tar.Z | tar -tvf -
Обратите внимание на ключ минус "-" на том месте, где в tar нужно указывать имя файла с архивом. Он означает "брать данные со стандартного входа" (или выводить архив на стандартный выход).
GNU Zip - достаточно известный упаковщик, имеет степень сжатия
более высокую, чем у compress, почти как у arj или pkzip. Создать сжатый cpio архив, используя "компрессор" gzip.
find . -print | cpio -ovcaB | gzip > arhiw.gz
Извлечь файлы из сжатого cpio-архива
gunzip < arhiw.gz | cpio -idmv
mt - управление магнитной лентой
Специализированная программа для работы с магнитными лентами. В частности, с ее помощью можно дописывать файлы на ленту один за другим.
Чтобы узнать, что она может делать, наберите:
man mt
В SCO Unix программа управления лентой называется "tape"
Другие утилиты архивации
В зависимости от версии Unix могут существовать и другие программы для бэкапирования и создания архивов.
backup/restore
Введение в системное администрирование UnixМ.Е. Мошков
37
dump fbackup/frestore (HP/UX) pax ...
Управление ленточными библиотеками - mc
Для HP-UX/11. Перекомпилировать ядро с поддержкой schngr
ioscan -funC autochange # покажет путь до авточенджера
mc -p /dev/rac/c12t0d0 -r IMDS # посмотреть статус и состояние библиотеки
# Обнуление ленточки в слоте 26
mc -p /dev/rac/c12t0d0 -s S26 -d D2 dd if=/dev/zero bs=48k count=10 of=/dev/rmt/1m mc -p /dev/rac/c12t0d0 -d S26 -s D2
Графическая оболочка X-Window System
Для начала немного истории и общих мест. Представим, что нам нужно написать программу, которая будет работать в графическом режиме. Нам потребуется: опрашивать клавиатуру, снимать события и координаты мыши, рисовать на экране, ... Как это делалось на MS-DOSе? Очень просто. Пишем одну большую программу, в ней - все: и логика, и обработка событий, и слежение за перемещениями мыши, ну, а когда требуется что-то нарисовать, мы даем команду на запись в порты EGA контроллера, рисуем пиксел... Через год появляется контроллер VGA, еще через год SVGA 800x600, 16 цветов, вслед за ним UVGA 1024x768, 256 цветов, затем XGA 1280x1024, 16Мб цветов...
Основная идея X Window
Имеем две независимых программы. Одна умеет рисовать на графическом мониторе, и вообще, обслуживать все это железо. Она называется X-сервер. Вторая программа (называем ее клиент X Window)
Введение в системное администрирование UnixМ.Е. Мошков
38
рисовать физически не умеет. Зато она знает, что именно надо рисовать, и умеет командовать. Команды типа: "нарисовать прямоугольник", "провести линию", "открыть окно", "вывести символ в заданном шрифте", "опросить координаты мыши", и т.п. передаются X-серверу, а тот их исполняет - рисует. Формат и спецификации этих команд опубликованы, стандартизованы, и широко известны. Все вместе они называются "Протокол X Window".
Итак, повторим.
X-сервер. Программа, которая написана специально под конкретное физическое устройство (имеется в виду - монитор, графконтроллер, мышь и клавиатура), умеет на нем рисовать, и умеет понимать команды рисования по протоколу X Window System.
X-клиент. Прикладная программа, обеспечивающая графический интерфейс с пользователем. Команды для рисования на экране передает X серверу по протоколу X Window System.
X-терминал. Ящик (монитор, графконтроллер, мышь, клавиатура, ну и, естественно, процессор и оперативная память), на котором запущена программа X-сервер. X-терминалом может служить самая обыкновенная графическая Unix-рабочая станция, на которой X сервер выполняется, как одна из многих прикладных задач. Специализированный X-terminal - ящик, на котором запускается только X сервер, и ничего кроме. Можно использовать PC под MS-DOSом, на котором запущена DOSовская программа, реализующая X сервер.
Xlib - библиотека C-ишных функций, реализующих протокол X Window System. С помощью этой библиотеки можно писать графические программы - X-клиенты.
Что мы с этого имеем.
Мы получаем универсальный GAPI - (Graphical Application Programming Interface) - средство программирования графических приложений. Пользовательские графические программы при этом полностью отвязаны от железа, от конкретного графконтроллера. О железе пусть беспокоится X-сервер.
Введение в системное администрирование UnixМ.Е. Мошков
39
Протокол X Window умеет "ездить" по сети: например по TCP/IP, или по DEC-net. Поэтому Xсервер может крутиться на одной машине, а X­клиент - на другой. То есть, картинка рисуется на одной машине, а программа, которая ее обеспечивает - крутится на другой.
X-сервер способен обслуживать сразу много клиентов, причем всех ­одновременно. На нашем графическом экране может быть открыто сразу много окон - каждое окно порождается его собственным X клиентом. Клиенты эти могут быть запущены и на нашей машине (к которой подключена графическая подсистема), и на удаленных машинах, соединенных с нами по сети.
Чего нам это стоит
Понятно чего - ресурсов. X Window очень любит ресурсы - память, процессор, диск; он способен их есть в неограниченных количествах. А еще ведь надо программировать (к счастью, не всем). Кто видел, как выглядят программы для MS Windows или Mac, может представить себе внешний вид исходных текстов X-овой программы.
Как это запускается
Пусть в нашей сети есть машина с графической подсистемой и X сервером, и сетевой адрес этой машины pcat107.foms.msk.ru
на pcat107 нужно выполнить команду:
xhost + # разрешить X-овым программам с ЛЮБОЙ машины # рисовать на экране машины pcat107
Запускаем на нашем компьютере X-овую программу, так, чтобы ее окошко рисовалось на мониторе pcat107. Для этого на нашем компьютере нужно выполнить команду:
xterm -display pcat107:0.0 &
Библиотеки, Motif, и война круглых и квадратных кнопок
Введение в системное администрирование UnixМ.Е. Мошков
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]