Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Введение в системное администрирование Unix. Учебное пособие
.pdf
информацию об уже инсталлированных пакетах, затем переходит в
режим установки (режим INSTALL/REMOVE переключается
соответствующими кнопочками) и, скорее всего, сообщает вам, что
"устройство не готово, поменяйте установки (property)" Дело в том, что
swmtool по умолчанию считает, что устанавливаемый пакет лежит на
CD-ROM и менеджер томов выключен. Если это действительно так, то
вставьте CD-ROM перед запуском swmtool. Иначе нажмите кнопку
Props... (установки), возникает бланк, на странице (категории) Source
Media которого вам надо задать устройство или директорию, где лежит
пакет.
Например, меняем Media Type на Mounted Directory, Directory Name
устанавливаем в /cdrom/cdrom0 (установка с CD-ROM при
включенном менеджере томов) и нажимаем кнопку Apply. Если в
указанной вами директории есть пакеты, то их описания будут
перечислены в главном окне swmtool. Для каждого пакета
указывается: иконка (один ящик - простой пакет - на такую иконку
можно жать два раза, и появляется подробное описание, 3 ящика составной пакет - на такую иконку можно жать два раза, и она
раскрывается в список внутренних пакетов - уровень вложенности не
ограничен), описание пакета и его предполагаемый размер. Выбираете
необходимые вам пакеты и нажимаете кнопку Begin Installation (начать
установку). Далее весь диалог происходит в а/ц режиме как при
установке pkgadd. Кстати, бланк установок имеет большое количество
кнопочек, менюшек и пр.: есть с чем поиграться...
Для того, чтобы удалить пакет, нажимаете кнопку Remove, выбираете
пакет (пакеты), который вы хотите удалить, и нажимаете кнопку Begin
Removal.
Изготовление собственного пакета
Чтобы легче администрировать этот разрозненный набор файлов,
получающийся после компиляции, их можно привести к формату
утилиты "pkgadd" самостоятельно. Легче всего этот вопрос рассмотреть
на конкретном примере. Пусть у нас есть пакет, состоящий из 3х
программ: "MyProg.bin", "Myprog.lib" и "MyProg.man", которые должны
храниться в каталогах "/usr/local/bin", "/usr/local/lib" и "/usr/local/man"
Введение в системное администрирование UnixМ.Е. Мошков
91

соответственно. Чтобы сделать из них пакет, надо проделать следующие
простые шаги:
Создадим директорию, где будут храниться исходные данные для
утилиты "pkgmk", которая и делает собственно пакет. Пусть в
нашем примере это будет директория "~/tmp/MyPackage".
Создадим под ним систему директорий, где должны располагаться
файлы пакета, и затем скопируем эти файлы на свои места. Т.о. в
результате у нас должны получиться файлы:
~/tmp/MyPackage/bin/MyProg.bin, ~/tmp/MyPackage/lib/MyProg.lib
и ~/tmp/MyPackage/man/MyProg.man
Затем надо создать файлы "pkginfo" и "prototype". Они должны
выглядеть примерно так (более подробную информацию об этих
файлах вы можете получить, набрав команды
man -s4 pkginfo
man -s4 prototype
Файл "prototype":
!PROJDIR=/usr/local
1 i pkginfo=pkginfo
1 d none bin 0755 root other
1 f none bin/MyProg.bin 0644 root other
1 d none lib 0755 poul insects
1 f none lib/MyProg.lib 0644 root other
1 d none man 0755 poul insects
1 f none man/MyProg.man 0644 root other
Файл "pkginfo":
PKG=MyProg
NAME=MyPackage
ARCH=sparc
VERSION=Version 1.0
CATEGORY=application
VENDOR=Pavel K. Klodin
EMAIL=webmaster@reksoft.ru
Введение в системное администрирование UnixМ.Е. Мошков
92

PSTAMP=Pstamp
BASEDIR=/usr/local
CLASSES=none
После того, как файлы сделаны, выполним следующие команды:
cd ~/tmp/MyPackage
pkgmk -o -d /tmp -r .
После этого в директории "/tmp" будет создан пакет "MyPackage" в виде
структуры файлов и директорий. С ним уже можно оперировать
утилитой "pkgadd". д) Теперь, наконец, выполним команды
(предварительно став суперпользователем с помощью команды "su -"):
cd /tmp
pkgadd -d .
ПРИМЕЧАНИЕ: Следует помнить, что пакеты могут быть представлены
в двух равноправных формах:
в виде структуры директорий (как уже было рассмотрено выше);
в виде так называемых "потоковых пакетов" (stream packages).
Они представляют собой простой файл, как если бы были записаны на
стриммерной кассете или каком-либо другом последовательном
устройстве (отсюда, возможно, и название). Обращаться с ними следует
так же, как и с "обычными" пакетами в виде структуры директорий и
файлов. Эти 2 формы взаимно преобразуются командой "pkgtrans".
Summary of pkg commands:
pkginfo {pkg} - test for presents of package.
pkgadd -d /cdrom/Solaris_2.3 <pkg ...>
- add missing packages
pkgrm {pkg ...} - remove packages.
pkgchk -q {pkg} - test for existance of package
pkgchk {options} [pkg] - check installed packages for
integrity.
Введение в системное администрирование UnixМ.Е. Мошков
93

Let's say your Solaris2 workstation is called "sol" and the 4.1.x server is called
"bertha" and you want the printer name to be "printer" (imaginative, eh?).
sol# lpsystem -t bsd bertha # says bertha is a bsd system
sol# lpadmin -p printer -s bertha # creates "printer" on "sol"
# to be printed on "bertha"
sol# accept printer # allow queuing
sol# enable printer # allow printing
sol# lpstat -t # check the status
sol# lpadmin -d printer # default
To get transparent mode, try this:
lpadmin -I any -p printer
Пакеты в Linux RedHat
Поставить пакет
rpm -i filesystem-1.2-1.i386.rpm
Удалить пакет
rpm --erase filesystem-1.2-1
Список всех пакетов
rpm -qa
Список файлов, входящих в неустановленный пакет:
rpm2cpio < packetname-1.2-1.i386.rpm | cpio -it
rpm2cpio < packetname-1.2-1.i386.rpm | cpio -it rpm2cpio < packet
name-1.2-1.i386.rpm | cpio -it
rpm2cpio < packetname-1.2-1.i386.rpm | cpio -it
Список файлов, входящих в установленный пакет:
Введение в системное администрирование UnixМ.Е. Мошков
94

rpm -l nfs-server-2.2beta16-5
Апдейты к RedHat лежат здесь. Обязательно ставить security
updates ссылка: ftp://ftp.funet.fi/pub/Linux/mirrors/redhat/redhat/redhat-
4.2/updates/i386/
Установка апдейта
rpm -Uvh samba-1.9.18p7-0.i386.rpm
Пакеты в HP-UX 10.20
Пакеты в HP-UX ставятся через подменюшку SAM.
Список всех пакетов
swlist -l product
swpackage
/usr/sbin/swpackage -s $DEPOTDATA/$PSFFILE -x media_type=tape @
$DEPOTDIR/$DEPOTNAME.depot;
Делаешь файл psf (читать man 5 swpackage ), запускаешь
вышеупомянутую коммандочку как тебе нужно и получаешь) формат
psf приблизительно такой:
# PSF file which defines an example product.
depot
layout_version 1.0
# Vendor definition:
vendor
tag AS
title Kaspersky Labs, Ashmanov & Partners
description AS Software Distributor
category
tag antivirus_sft
title Antiviral Sofware
Введение в системное администрирование UnixМ.Е. Мошков
95

description These are the aniviral software
revision 1.0
end
# Product definition:
product
tag VSAPI
revision A.@VSAPI_VERSION@
architecture @OS@_@OS_RELEASE@_32/64
vendor_tag AS
title The aniviral software, HP OpenMail Kaspersky Labs VSAPI patch
number B2002A
category_tag openmail_path
description < data/descr.sd
copyright < data/copyr.sd
readme < data/README
machine_type *
os_name @OS@
os_release ?.@OS_NUMBER@.*
os_version ?
directory /
is_locatable false
# Create a product script which executes during the swremove
# analysis phase. (This particular script returns an ERROR,
# which prevents the removal of the VSAPI product.)
fileset
tag Files
file ./vsapi/libvsapi.@so_suffix@ /etc/iscan/libvsapi.@so_suffix@
file ./vsapi/vsapi.cfg /etc/iscan/vsapi.cfg
file ./openmail_var/rules/ALL-ROUTES.VIR_2
/var/opt/openmail/rules/ALL-ROUTES.VIR
file ./openmail_var/rules/ndninfo.txt
/var/opt/openmail/rules/ndninfo.txt
Введение в системное администрирование UnixМ.Е. Мошков
96

#control_files
postinstall ./data/postinstall
postremove ./data/postremove
end
Пример 5.1.
Введение в системное администрирование UnixМ.Е. Мошков
97

Несколько сетевых команд Unix
Данная лекция описывает команды UNIX такие как finger, talk, telnet и т.д.
Рассмотрены вопросы: Как послать письмо вручную? Какое
приложение обслуживает заданный сетевой порт. Описана локальная
сеть, глобальная сеть, ТСР/IP. Приведены примеры.
1. ping. Прозвонить удаленую машину
Проверяет, откликается ли указанная машина по сети:
ping host.name
Включить непрерывную "прозвонку" (с интервалом в 1 сек.):
ping -i host.name
Прервать "прозвонку" - Сtrl-С .
2. finger. Кто работает в системе
Формат использования:
finger [-l] пользователь@сетевое.имя.компьютера
Кто работает на машине по имени ipsun.ras.ru :
finger @ipsun.ras.ru
Как поживает пользователь Мошков на этой машине:
finger -l moshkow@ipsun.ras.ru
3. talk. Вызвать пользователя на разговор
talk moshkow или talk moshkow@fedfond - вызвать
Введение в системное администрирование UnixМ.Е. Мошков
98

указанного пользователя на указанной машине на разговор.
У этого пользователя на экране появится приглашение поговорить:
Message from Talk_Daemon@ipsun at 23:29 ...
talk: connection requested by ivanov@server.fedfond.msk.su
talk: respond with: talk ivanov@server.fedfond.msk.su
И если он наберет ответную команду
talk ivanov@server.fedfond.msk.su
То вы сможете поговорить друг с другом. Окончание разговора - Ctrl-C
4. mailx. Послать кому нибудь электронную почту
/* в Linux надо использовать не mailx, а просто маил */
mailx username@host.name
Subject: Тема письма
Текст сообщения
. . .
Окончание текста сообщения
Чтобы окончить ввод текста письма, в пустой строке нажмите Ctrl-D.
Или поставьте точку "." в начале строки и нажмите ENTER.
Если письмо уже готово и находится в файле let.txt, то отправить его
можно так:
mailx -s "Проверка почты" semen@server.fedfond.spb.su < let.txt
5. mailx. Прочитать пришедшую на мой адрес почту
mailx, запущенный без аргументов, переходит в командный режим
чтения поступившей почты. В этом режиме можно пользоваться такими
командами:
Введение в системное администрирование UnixМ.Е. Мошков
99

? - выдать help по всем доступным командам
h 12 - заголовки писем начиная с 12-го номера
6 - читать 6-ое письмо
d - уничтожить текущее письмо
s fajl - сохранить письмо в файле "fajl"
r - ответить на письмо
для настроек программы mailx используется файл .mailrc, который
должен лежать в домашнем каталоге пользователя. В нем желательно
иметь строчки такого примерно содержания:
########### вставьте эти строки в свой файл .mailrc !!!!
set crt=22
set record='/home/moshkow/Mail.sended'
##############################################################
# чтобы длинные письма "листались" постранично командой more ;
# сохранять копии всех отправленных писем
# в файле /home/moshkow/Mail.sended ;
alias max moshkow@ipsun.ac.msk.su
alias kafedra petrov smirnov@nic.com lapin@sovim.mit.edu
# почтовые алиасы - можно задать синонимы для длинных почтовых
# адресов или группы адресов, и использовать эти синонимы
# вместо адреса при отправке почты
Если вы хотите завести себе благозвучное имя для адреса своей
электронной почты, вставьте в файл /etc/aliases примерно такие строчки:
Maksim.Moshkow: moshkow
moshkov: moshkow
и выполните команду
newaliases
И теперь мне можно отправлять письма по таким адресам:
moshkow@moshkow.ru
Введение в системное администрирование UnixМ.Е. Мошков
100
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
