ВВЕДЕНИЕ В СИСТЕМНОЕ АДМИНИСТРИРОВАНИЕ UNIX. Solaris 2.5

         

Формы и индексы


Войти в файл, и спозиционироваться на строку с шаблоном "cl"

http://hoohoo.ncsa.uiuc.edu/file.html#cl

Request for a CGI script with no extra path information and no query.

http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi

Request for a script with extra path information, and no query.

http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi/extra/path

Request for a script with no extra path information, and an ISINDEX query.

http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi?query

Request for a script with extra path information as well as an ISINDEX query.

http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi/extra/path?a+query

Вызывается одна и та же программа, но ей передается 0,1,1 или 2 аргумента:

extra path - "добавочный маршрут", идущий вслед за именем экзешника

query - длинная строка после знака "?"

на extra path работает image map - им передается имя описателя картинки

query передается заполненным ISINDEX



Готье


Готье (в версии перевода, ходившей на лентах для СМ и

многократно распечатанной на разных АЦПУ, фамилия автора

звучала как "Гаузер" :) "Руководство по операционной системе

UNIX". Точнее, SysV.release-unknown. Но тоже ничего для

начала.



Графическая оболочка X-Windows System


Для начала немного истории и общих мест. Представим, что нам

нужно написать программу, которая будет работать в графическом

режиме. Нам потребуется: опрашивать клавиатуру, снимать события

и координаты мыши, рисовать на экране, ... Как это делалось на

MS-DOSе? Очень просто. Пишем одну большую программу, в ней -

все: и логика, и обработка событий, и слежение за перемещениями

мыши, ну, а когда требуется что-то нарисовать, мы даем команду

на запись в порты EGA контроллера, рисуем пиксель... Через год

появляется контроллер VGA, еще через год SVGA 800x600, 16

цветов, вслед за ним UVGA 1024x768, 256 цветов, затем XGA

1280x1024, 16Мб цветов...



Информационные команды NIS.


ypwich

ypwich -m

ypwich clientname

yppush map

ypcat map

ypcat -k map

ypmatch key1 key2 map

[]

[]

[]



то на тему Инмос85.


Беляков Рабовер Фридман -- что- то на тему Инмос85. Интересно

почитать.

Но сильно устарела


ИНСТАЛЛЯЦИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ


Для инсталляции операционной системы на Unix-компьютер

используется загрузочные дискеты, загрузочные магнитные ленты,

а также CD-ROM'ы.

С дистрибутивного носителя загружается минимальная версия

операционной системы UNIX, и под управлением этого UNIX-а запускается программа инсталляции, которая извлекает и устанавливает с носителя пакеты.



IP-адрес.


Каждая машина в мире имеет свой уникальный IP-адрес.

IP-адрес - 32-битное число, которое принято записывать в смешанном 16-рично-десятичном формате, в виде 4 чисел, разделенных

точками. Например:

193.124.148.73

128.8.2.1

Каждое десятичное число здесь представляет на самом деле два

шестнадцатеричных разряда. Может принимать значения от 0 до

255. Допустима также шестнадцатеричная запись:

c1.7c.94.49 или 0xC17C9449

80.08.02.01 или 0x80080201

В условиях корректно сконфигуренной локальной сети, и при условии подключения ее к всемирной сети Internet, протокол TCP/IP

позволяет вашей сетевой программе работать с ЛЮБЫМ компьютером

в мире, как если бы он находился в вашей локальной сети.

Уникальность IP-адресов поддерживается просто. Они выдаются

централизованно. Контора, которая этим занимается, называется

NIC - Network Informational Center. Европейское отделение NIC

расположено в Амстердаме. Она ВЫДАЕТ IP-адреса. В адрес NIC

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

вашей сети. E-mail адрес, по которому нужно послать запрос:

hostmaster@sri-nic.net

Московский узел, раздающий IP-адреса, а так же домены *.ru

доступен по адресу

РосНИИРОС xSU/RU NetworkInformationalCenter

или



IP-сеть, подсеть.


IP-сеть - "пачка" из 2**n IP-адресов, ИДУЩИХ ПОДРЯД. Самый

младший - резервируется. Этот адрес называется адресом IP-сети.

Например 128.8.0.0, или 193.125.149.64 . Адрес сети используется, когда требуется указать всю сеть целиком, например, когда

задается маршрутизация до этой сети.

Маска сети - фактически размер сети, задает число адресов в се-

ти. Задается либо количеством битов в маске сети (например 8бит

- 256 адресов, 6 бит - 64 адреса), либо битовой маской вида

b'111...11100...00'

число^^ ^^ битов

которую тоже принято записывать в десятично-побайтной записи,

например:

255.255.255.192 - маска на 64 адреса

255.255.255.0 - маска на 256 адресов

255.255.0.0 - маска на 64Kb адресов

Broadcast адрес сети - самый старший адрес в сети. Резервируется для передачи сообщений типа "все-всем-всем" (в сети).

128.8.255.255

Сети делятся на классы:

Класс A.Класс B.Класс C.

"Огромные" сети.

Адреса этих сетей лежат в промежутке: 1 - 126.

Маска сети: 255.0.0.0

Содержит до 16777216 адресов (256*256*256).

Адреса хостов в этих сетях вида: 125.*.*.*

"Средние" сети.

Адреса этих сетей лежат в промежутке: 128.0 - 191.255

Маска сети: 255.255.0.0

Содержит до 65536 адресов (256*256).

Адреса хостов в этих сетях вида: 136.12.*.*

"Маленькие" сети.

Адреса сетей лежат в интервале: 192.0.0 - 255.254.255

Маска сети: 255.255.255.0

Содержит 254 адреса.

Адреса хостов в этих сетях вида: 195.136.12.*



Источник


<font size=+1 color=red face="Helvetica">

Текст большего размера, и покрашенный в красный цвет, с заданным типом фонта

</font>

<basefont size=3>

Дальше пойдет текст с фонтом заданного размера

<bgsound src=soundfile.au loop=10> а так же background звук


<table border=1 cellspacing=5 cellpadding=5 bgcolor=#00ffff>

<tr>

<td> tr - задает строку Столбец</td>

<td>Столбец</td>

</tr>

</table>

<caption>Внутри таблицы может быть такой таг, Подзаголовок?</caption>




<table width=300>

<tr>

<td> Табличка фиксированной ширины,</td>

<td>не зависящая от размеров внутреннего текста</td>

</tr>

</table>


moshkow@ipsun.ras.ru




<FORM ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi" METHOD="POST">

<INPUT TYPE="checkbox" NAME="button" VALUE="on">Press me.<p>

<INPUT TYPE="submit" VALUE="Submit"><p>

</FORM>

# ISINDEX - параметр запроса передается программе CGI в $1

# В форме METHOD=GET - там вызывается команда которой передается

# аргумент в переменной окружения QUERY_STRING

# http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi?button1=on&button2=off

# А вот как работает POST, и PUT. Дополнительная информация проталкивается

клиентом на сервер. Сервер подает ее cgi-программе на стандартный ввод.

длина посылаемого файла устанавливается в переменной окружения CONTENT_LENGTH

а тип данных - в CONTENT_TYPE

FORM ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi" METHOD="POST"




<FORM ACTION="/cgi-bin/proba" METHOD="GET">

<INPUT TYPE=hidden NAME="pg" size=0 VALUE="hidden from user information">

^^^^^ поле полезно чтоб хранить информацию о "сеансе"

<INPUT TYPE=checkbox NAME="button" VALUE="on">Press me.<p>

<INPUT TYPE=submit VALUE="Submit">

<INPUT TYPE=reset VALUE="Clear form">

<INPUT TYPE=text NAME=d0 VALUE="" SIZE=12 MAXLENGTH=32>

<INPUT TYPE=password NAME=passwd>

<TEXTAREA NAME="comments" ROWS=2 COLS=60>Текст внутри формы</TEXTAREA>

<SELECT NAME=what MULTIPLE>

<OPTION VALUE=web SELECTED>the Web

<OPTION VALUE=news >Usenet

</SELECT>

</FORM>




<form method=POST action="mailto:rauli@megabaud.fi">

I'm entering for the first time from (city, state/country) <INPUT size=60 name="From">

<br><br>

<input type="submit" value="Click here (only the first time, please)"><p>

</form>

Content-type: text/html

Set-Cookie: cookiename=valueofcookie; expires=Saturday, 28-Feb-96 23:59:59 GMT; path=/cgi-bin/mycgiprogram

Эта штучка будет автоматом отсылаться в наш сервер клиентом, как только он ее получил

Если сказать так, то клиент останется на старом мест, и не

будет переходить по ссылке

Status: 204 No Content



Итак, повторим.


X-сервер. Программа, которая написана специально под конкретное

физическое устройство (имеется в виду - монитор, графконтроллер, мышь и клавиатура), умеет на нем рисовать, и умеет понимать команды рисования по протоколу X Windows System.

X-клиент. Прикладная программа, обеспечивающая графический интерфейс с пользователем. Команды для рисования на экране передает X серверу по протоколу X Windows System.

X-терминал. Ящик (монитор, графконтроллер, мышь, клавиатура, ну

и, естественно, процессор и оперативная память), на котором

запущена программа X-сервер. X-терминалом может служить самая

обыкновенная графическая Unix-рабочая станция, на которой X

сервер выполняется, как одна из многих прикладных задач.

Специализированный X-terminal - ящик, на котором запускается

только X сервер, и ничего кроме. Можно использовать PC под MS-DOSом, на котором запущена DOSовская программа, реализующая X

сервер.

Xlib - библиотека C-ишных функций, реализующих протокол X

Windows System. С помощью этой библиотеки можно писать

графические программы - X-клиенты.



Как это запускается.


Пусть в нашей сети есть машина с графической подсистемой и X

сервером, и сетевой адрес этой машины pcat107.foms.msk.ru

на pcat107 нужно выполнить команду:

xhost + # разрешить X-овым программам с ЛЮБОЙ машины

# рисовать на экране машины pcat107

Запускаем на нашем компьютере X-овую программу, так, чтобы ее

окошко рисовалось на мониторе pcat107. Для этого на нашем

компьютере нужно выполнить команду:

xterm -display pcat107:0.0 &



КАК ПОДКЛЮЧИТЬ АЛФАВИТНО-ЦИФРОВОЙ ТЕРМИНАЛ


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

нульмодемным кабелем с разъемами 25папа/25мама, или 25/9. Четыре стандартных последовательных порта Motorol'ы имеют разъемы

RJ-45. (Такие же разъемы имеет витая пара.)

Выставьте правильные характеристики терминала, используя его

локальный setup. Как это сделать - написано в книжечке,

прилагаемой к терминалу. На терминале нужно выставить такие

характеристики последовательного порта:

Transmit speed 9600
Receive speed 9600
Data bits 8
Stop bits 1
Parity none
Flow control XON/XOFF

(скорость 9600, 8-ми битные символы, протокол ^S/^Q)

А также характеристики терминальной эмуляции:

Emulation vt220/7bit
Key click none
Style ansi

Посмотрите в файл /etc/inittab . В нем имеется строка для запуска login'а на консольный терминал. И строки для запуска

logina на остальные порты. Однако остальные строки "дезактивированы" - в них указанно "off" в третьей позиции. Замените его

на "respawn" в строке, которая соответствует вновь подключенному порту.

ct:234:respawn:/usr/lib/saf/ttymon -g -d /dev/contty -l contty

c2:234:off:/usr/lib/saf/ttymon -g -d /dev/contty02 -l contty

^^^^|

|

v

c2:234:respawn:/usr/lib/saf/ttymon -g -d /dev/contty02 -l contty

Выполните команду init q

чтобы процесс init обратил внимание на изменения, внесенные в

inittab. На терминале должно появиться приглашение Login:

Чтобы программы типа текстовых редакторов и баз данных корректно работали с вашим терминалом, в системе должно иметься правильное описание этого терминала. Естественно, об этом должен

позаботиться системный администратор.

В Unix имеется база с описаниями возможностей алфавитно-цифровых

терминалов. Большинство экранных программ используют ее для

настройки на терминал. Программы эти используют для работы с

терминалом библиотеку "curses" - функции этой библиотеки позволяют работать с экраном безотносительно от типа терминала.

[]

[]

[]



Создаем каталог cyrfonts. Копируем туда


















Создаем каталог cyrfonts. Копируем туда файлы *.bdf

mkdir cyrfonts

cp *.bdf cyrfonts

В каталоге с фонтами создаем оглавление фонтов для

X-server'а : fonts.dir

cd cyrfonts

mkfontdir

Указываем X-server'у, чтоб он брал фонты из нашего каталога

xset +fp $HOME/cyfonts

xset fp rehash

Пользуемся русскими фонтами.

xterm -fn koi9x15

mailtool -fn koi6x10

и т.д.


Как посмотреть зоны DNS


nslookup -ty=ns msk.ru

zzz=msk.ru ; named-xfer -z $zzz -f filename ns.$zzz

egrep '^[a-z]' filename | egrep -v A | grep NS| cut -f1 | sort -u| wc

или сходить в RIPE:



КАК СОЗДАТЬ TERMCAP ОПИСАНИЕ ТЕРМИНАЛА


Для настройки на терминалы UNIX-овские программы используют

файл termcap, в котором собраны описания всех (или почти всех)

терминалов, существующих в природе. Выяснив, какой тип

терминала подключен к машине (а задается это в переменной

окружения TERM - например TERM=d460 или TERM=d211),

UNIX-программа находит описание этого терминала в termcap и,

настроившись по хранящейся там информации, может адекватно

воспроизводить на нем информацию, подлежащую выводу.

INFORMIX имеет свой собственный файл с описаниями терминалов,

его имя /usr/informix/etc/termcap , в нем поддерживается больше

возможностей по сравнению со стандартным termcap UNIX'а. Зато

многих терминалов, известных UNIX, в INFORMIXовом termcape не

описано. Поэтому если на вашей машине стоят терминалы какой-то

другой конструкции (т.е., практически любой терминал помимо

d211, d460, vt220), вам придется описание делать самому.

Общий формат termcap-описания терминала можно описан в terminfo(4) ("Справочнике администратора UNIX V"), его так же легко

уразуметь, рассматривая описания других терминалов, и я не

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

См. также

За основу надо взять описание терминала из базы terminfo UNIXа,

отредактировать, исправить и отладить его, и вставить в файл

/usr/informix/etc/termcap

Поместить полное описание терминала vt220 в формате terminfo по

одной характеристике в строке в файл vt220 :

infocmp -r1 vt220 > vt220

Поместить исправленное описание терминала vt220 в базу данных terminfo


tic vt220

Поместить полное описание терминала vt220 в формате termcap по одной характеристике в строке в файл tmp :

infocmp -Cr1 vt220 > tmp

Поместить исправленное описание терминала vt220 в базу termcap

Самостоятельно, ручками, с помощью любого текстового редактора заменяем старое описание на новое в файле /etc/termcap или/и /usr/informix/etc/termcap

Сделать описание формата terminfo из описания формата termcap

captoinfo vt220.cap > vt220

В результате некоторого количества экспериментов я выяснил, какие команды для INFORMIX знать необходимо, а какие необязательны.

Вот какие характеристики имеет смысл, и следует, задавать (А

остальные, скорее всего, вообще необязательно указывать):

Символьные termcap характеристики.



:am:\ в терминале есть автоматические границы

:bw:\ можно переводить курсор из колонки 0 в последнюю

:mi:\ можно без опасений перемещаться в режиме вставки

:ms:\ можно без опасений перемещаться в режиме сообщений

:xo:\ терминал использует протокол xon/xoff

Ключи. Т.е. коды, которые посылаются клавишей, если на нее

нажать.

termcap
характеристикаклавиша
k0 ... k9 F1 ... F10
kA ... kK F11 .. F20
ki ключ вставить строку
kj ключ уничтожить строку
kf ключ на следующую страницу
kg ключ на предыдущую страницу
ku стрелка вверх
kd стрелка вниз
kr стрелка вправо
kl стрелка влево


например, для xterm:

:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:\

Коды управления курсором



vi сделать курсор невидимым

ve сделать курсор нормальным

vs сделать курсор ярким



cm позиционировать курсор #стр #столб

(использует стек-машину терминала),

например :cm=\E[%i%d;%dH:\ для vt220

:cm=^P%r%.%.:\ для d211



bc шаг назад

le курсор влево

do курсор вниз

nd курсор вправо

up курсор вверх

ho в начало экрана

cr вернуть каретку

nl перейти на новую строку

nw возврат каретки и переход к новой строке

например, для vt100:

:up=\E[A:do=\E[B:nd=\E[C:le=\E[D:\

Коды управления экраном



cl очистить экран

ic вставить символ

dc удалить символ

bl звонок

Инициализация терминала.



ti включить терминал в штатный режим работы.

te "восстановить" первобытное состояние

Например, для терминала d211-132:

:ti=^^FK:\ Включить 132 символьный экран

:te=^^FJ:\ Включить 80 символьный экран

Управление атрибутами.



as перейти к дополнительному алфавиту

ae вернуться из дополнительного алфавита

ac пары символов из графического алфавита

mr в режим REVERSE

me выключить все атрибуты

Символы рисования рамочек.

нужно перечислить символы ASCII, которые, будучи

выведены в режиме псевдографики, нарисуют "уголки"

gb символы рисования рамки pqbd-|

gs в режим псевдографики.

ge конец режима псевдографики.

Например, для терминала d460:

:gb=1324;\::\

:gs=^^FS11:ge=^^FS00:\

Управление цветами ZA.

Если характеристики ZA не задано, то терминал будет поддерживать только два цвета: REVERSE и NORMAL. (В termcap UNIX'а есть

аналогичная характеристика sa.)

Характеристика ZA использует стек_машину терминала и параметры.

Устроено все примерно так:



У терминала есть, так называемая, стек_машина:

Это несколько переменных, несколько статических переменных, восемь параметров от p1 до p8, и стек.

Имеется набор операций, которыми можно манипулировать с данными, лежащими в переменных и в параметрах, производить над ними

в стеке логические и арифметические операции и пересылать на

терминал.

Когда INFORMIX'у нужно поменять атрибуты вывода, он устанавливает в параметрах p1 - p4 нужные значения, а дальше применяет

команду терминала, записанную в ZA. В итоге на терминал уходит

ESC-последовательность, включающая на нем заданные атрибуты

(цвета).

ПараметрЗначениеЗадает атрибут(на монохроме) или цвет
p1от 0 до 7определяет цвет (от WHITE до BLACK)
p1 0 NORMAL WHITE
p1 1 BOLD CYAN
p1 2 BOLD YELLOW
p1 3 BOLD MAGENTA
p1 4 DIM RED
p1 5 DIM GREEN
p1 6 DIM BLUE
p1 7 INVISIBLE BLACK
p2 1 или 0 атрибут REVERSE (есть или нет)
p3 1 или 0 атрибут DIM (есть или нет)
p4 1 или 0 атрибут UNDERLINE (есть или нет)
Стек-машина понимает такие команды:

%pi параметр i в стек, где i=1,2,...,8

%{n} число n в стек

%c вершину стека на терминал в формате %c (1 байт)

%d вершину стека на терминал в формате %d (целое число)

Условный оператор %? %t %e %; Вынимается значение из стека, и, в зависимости от его значения (0 / не0), выполняет соотв.

ветвь.

%? операция %t операция_когда_истинно %e операция_когда_ложно %;

%? операция %t операция_когда_истинно %;

Есть еще некоторое количество команд, но они нам не понадобятся.

Остальные символы сразу пересылаются на терминал без изменений.


КАК УСТРОЕНА СИСТЕМА ПЕЧАТИ?


(описана система печати в System V)

Печатать, конечно, можно и так: cat file > /dev/lp. Но в

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

Поэтому печатаемый файл ставят в очередь на печать.

Имеем принтер. У принтера есть ИМЯ_ПРИНТЕРА. ПОРТ_ПРИНТЕРА -

специальный файл в который надо выталкивать данные для печати.

ИНТЕРФЕЙСНАЯ_ПРОГРАММА - программа, которая как раз и будет

этим заниматься.

Если у нас нормально сконфигурирована система печати, то печататься

можно так:

lp -d имя_принтера file

или, если мы хотим напечатать на "default" принтере

cat file | lp

lpstat Посмотреть в каком состоянии очередь печати

cancel [идентификатор_запроса ...] [принтер ...]

Срубить запрос на печать

lp просто складывает файл в SPOOL КАТАЛОГ. ДЕМОН ПЕЧАТИ lpshed

обнаруживает вновь поступивший файл, ставит его в очередь на

печать, и, когда очередь доходит, запускает наконец

ИНТЕРФЕЙСНУЮ ПРОГРАММУ, вход которой берется из печатаемого

файла, а ее вывод перенаправляется на ПОРТ_ПРИНТЕРА.



Какие Unix'ы бывают в природе?


Почти сразу после рождения Unix раскололся на две ветви - ветвь

как бы "прародительская", которой владеет "официальный" хозяин

торговой марки Unix - Unix System Laboratory - фактически ветвь

коммерческая. И проект Исследовательского института Беркли -

ветвь в основном свободных - бесплатных Unixов.

System III
System 6USLBerkeley

System 7BSD 4.0
Unix V 3.1
Unix V 3.2BSD 4.2
BSD 4.3
System V Release 4
BSD 4.4
SVR4.0Конец проекта Беркли
SVR4.1
SVR4.2

Не так давно USL таки окончательно "засудила" BSD за

использование фрагментов кода с копирайтом AT&T, что в не малой

степени способствовало закрытию проекта BSD. Предпоследний из

крупнейших поставщиков коммерческих BSD-подобных систем -

Sun/SunOs перешли на линию SVR4. Торжественно и официально

объявлено, что SVR4 является единственным наследником,

объединившим лучшие решения, пришедшие из Unix V и BSD.

Последним из могикан остается DEC: его OSF/1 для Alpha AXP -

немного искалеченный, но все же достаточно близкий к корням BSD

4.3.



Каталог "/etc" - место для конфигурационных файлов


passwd здесь определены все пользователи

shadow их пароли (в закодированном виде)

group группы пользователей

aliases синонимы почтовых адресов локальных пользователей

ftpusers список пользователей, на которых нельзя ftp-иться

shells список нормальных "shell'ов"

issue файл, содержимое которого выдается на экран перед

приглашением к входу в систему.

motd файл, содержимое которого выдается на экран после

приглашения к входу в систему.

ttydefs параметры терминальных линий

TIMEZONE файл с информацией о часовом поясе, в котором

находится компьютер

uucp конфигурационные файлы системы UUCP

mail конфигурационные файлы системы mailx/sendmail

vfstab таблица монтируемых файловых систем

dfs/dfstab таблица экспортируемых в NFS каталогов

auto_home карты автоматически монтируемых каталогов для automount

auto_master

format.dat параметры всех возможных дисков

hosts имена и IP адреса локальных host'ов

networks задает символические имена IP сетей

netmasks net маски IP сетей

ethers ethernet'ные адреса бездисковых клиентов

hosts.equiv список host'ов, которым позволено делать у нас rsh

defaultdomain задает NDS домен

resolv.conf кто служит нам DNS сервером

inetd.conf конфигурационный файл inetd демона

services соответствие номеров TCP портов их символическим именам

named.boot стартовая конфигурация сервера DNS

inittab схема работы процесса init.

rc0.d/ каталоги с командными файлами, которые запускают при переходе на/с соответствующего уровня выполнения

rc2.d/

rc3.d/

init.d/ а этом каталоге лежат копии ВСЕХ таких файлов вместе

rc0, rc2, rc3 Командные файлы, которые их запускают

magic Таблица с "магическими числами". Используется командой file для определения типа бинарного файла.

termcap файл с описаниями терминалов в формате termcap

wtmp Файл с информацией о сеансах работы пользователей в

системе. Рекомендуется иногда опустошать его.



Каталог "/usr"


sadm - файлы системного администратора

adm - накапливаемая информация о работе системы и

пользователей

bin - утилиты

sbin - утилиты системного администратора

ucb/bin - утилиты, характерные для BSD Unix

mail - каталог почтовой службы.

man - документация системы в man формате

tmp - временные файлы. Очищается при загрузке

include - include файлы для компилятора C

lib - библиотеки - системные, пользовательские,

разделяемые и статические, а так же многие

служебные каталоги начинаются отсюда.

/usr/lib/acct утилиты для сбора статистики

/usr/lib/terminfo база данных с описаниями терминалов.

/usr/lib/lp каталог системы LP спулинга печати

/usr/lib/uucp каталог системы UUCP пересылки файлов по модему

spool - место для служебных временных файлов

/usr/spool/lp каталоги для работы системы спулинга печати

/usr/spool/cron/crontabs команды, выполняемые по расписанию

/usr/spool/cron/atjobs поставленные на выполнение

/usr/spool/uucp спулинг системы uucp

/usr/local - GNU-сный каталог

/var - локальные служебные файлы

/var/yp/Makefile - конфигуратор NIS

/var/named - карты описания DNS



Керниган, Пайк


Керниган, Пайк, название почему-то перевели как "UNIX -

универсальная среда программирования". Warning! При наборе

русского издания наляпали ОКЕАН ачипяток и ашипок в части regex

и не только. Читать ее imho надо в параллель с manpages,

отдавая оным приоритет в стремных ситуациях.

Не смотря на это - отличная книжка. Мне было даже интересно ее

читать.



Kill - прервать процесс.


Команда kill посылает указанному процессу сигнал немедленной

остановки. Прервать процесс номер 1078 (номер можно узнать командой ps -e)

kill -9 1078

Прервать программу на вашем терминале, запущенную НЕ в фоновом

режиме, можно нажатием клавиши CTRL-C, или клавиши CTRL-\



Книжки про Unix


Рекомендуются любые книги в твердой обложке импортных

авторов в переводе на русский, ОСОБЕННО переводы книг

издательства O'Raily, все остальные (за редчайшим исключением)

- не рекомендуются. Т.е., написанные совками (ибо учебники

должны писать профессиональные преподаватели, а не

профессиональные программисты) и в мягкой обложке (естественно,

не считая издательства O'Raily)

На русском есть:



Команда CPIO. (Copy In/Out)


Команда cpio -o берет с системного ввода список имен и склеивает

эти файлы вместе в один архив, выталкивая его на свой системный

вывод.

Сбросить на ленту файлы по списку:

-o- (output) создавать архив
-H odc- Записывать в "совместимом формате" (чтобы архив можно было считать на Beste или 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Где можно, не копировать, а делать ссылки.



Команда find


find рекурсивно обходит указанные каталоги и файлы, проверяет

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

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, которая будет выполняться для всех таких найденных файлов. Вместо значка "{}"

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

[]

[]

[]



Команда grep/egrep


"фильтрует" строки - оставляя только "подходящие" под шаблон

egrep шаблон [ file ... ]

В шаблон могут входить обыкновенные символы (представляющие сами себя, а так же - спецсимволы, выполняющие служебные функции шаблона: . * ^ $ [ ]

.- любой произвольный символ
*- "множитель" (предыдущий символ любое число раз)
.*- любая последовательность символов
^шаблон- привязываем шаблон к началу строки
шаблон$- привязываем шаблон к концу строки
[символы]- ровно один символ из тех, что стоит в скобках

Вывести всех привелигированных пользователей:

egrep ':0:0:' /etc/passwd

Вывести всех непривелигированных пользователей:

egrep -v ':0:0:' /etc/passwd

Вывести всех пользователей, имена которых начинаются с букв

a,b,e,d

cat /etc/passwd | grep "^[abed].*"



Команда начальной загрузки.


STOP+A

ok boot cdrom

или

ok boot sd(0,6,2)

ok boot device(контроллер,dev,раздел) имя_загружаемого_файла параметры

где

device

контроллер

dev

раздел

параметры

st стриммер, sd SCSI-диск/cdrom, le ethernet
обычно 0
6 cdrom, 3 внутренний диск, ...
0 "/", 2 корень cdrom'а, номер файла на ленте, ...
-aинтерактивная загрузка (спросит дополнительные параметры)
-rпосле загрузки заняться переконфигурацией
-sзагрузиться в однопользовательский режим
-vverbose (подробно)
-wmakes filesystem writeable

У станций SS20 установлени boot-prom новой версии. Там команда

загрузки выглядит примерно так:

ok boot disk1:0 -sa

Загрузиться со 2-го жесткого диска (SCSI Taget 1), в однопользовательский режим. Все параметры загрузки запросить интерактивно, с клавиатуры.

[]

[]

[]



Команда 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" - Указывает на имя файла



R originate call in answer


B_

- B1 Bell mode (*)

- B2 Autoscan mode

D_

- R originate call in answer mode

- W whait for second dialtone

- , pause

- @ wait for 5 seconds silence

- ! flash

- ; return to command mode after dialing

H - 1 make busy

I [0-4] info

L - 2 medium speacker

M

- 0 internal speacker off

- 1 internal speacker on until carrier

- 2

- 3

O

- 0 return to data mode

- 1 return to data mode and initiate equaliser retrain


Команды, которые обычно и сами по себе установлены.


AT&P1 Make / break 33/67 (Europe)

ATQ0 Возвращать код возврата

ATV1 Код возврата текстовый



Команды, которые возможно захочется установить.


AT&L1 В режим выделенных линий

AT\N5 Запретить соединение БЕЗ сжатия MNP5 или V42bis

ATB6 Поставить скорость 2400 и ниже

ATL0 Самый тихий звук

ATM0 Speaker always off



Конфигурация BSD сокетов.


Для этого ничего делать не надо. Впрочем, в дальнейшем,

возможно, вам придется этим заниматься. Настройки inetd лежат в

файлах:

/etc/inetd.confназвание сетевого сервиса --> имя обслуживающей программы
/etc/servicesномер порта --> название сетевого сервиса

Состояние текущих соединений можно посмотреть командой:

netstat (или netstat -ta - если у вас Linux)



Конфигурация нашей машины как UUCP клиента.


После этого наша машина сможет звонить на удаленные машины и

посылать/забирать оттуда файлы. Для этого мы должны задать:

Наше собственное UUCP имя.

Имя(имена) удаленной(ых) UUCP системы.

Телефонный номер(а), по которому нужно туда звонить.

Login и пароль, которые выделены там для нашего uucp-account'а.

Порт, к которому подключен наш модем.

Наборщик - описание "AT" команд для управления нашим модемом.

Эти данные задаются в нескольких конфигурационных файлах, которые должны лежать в каталоге /etc/uucp (или /usr/lib/uucp ,

или /usr/lib/uucp/taylor_config ) (или в каком-нибудь другом, см. man uucp для более точной информации). Это файлы:

Config # задает имя нашей машины (и многое другое) ;

Systems # описывает удаленные uucp-системы: имя, но-

# мер телефона, uucp-logname, uucp-passwd ;

Devices # порты, к которым подключены модемы.

Dialers # описывает модемы-наборщики (систему AT-ко-

# манд).

(А в Linux они называются: config, sys, port, dial)

Итак, представим классический случай. У вас один Hayes-совместимый модем V32/V42bis на 14400 baud (GVC, ZyXEL, US-Robotics...), подключенный к последовательному порту /dev/modem

(если у вас порт называется /dev/contty03, вам никто не мешает сделать символический линк ln -s /dev/contty03 /dev/modem не так ли ?). Имя вашего узла fedf-uru.

ВНИМАНИЕ. На большинстве Unix-ов выделены раздельные специальные файлы для одного и того-же порта: терминальная линия (для

подключения терминала или модема, НА который будут звонить -


используется для getty или ttymon), и линия с модемным управлением, на выход - например, чтоб звонить НАРУЖУ модемом. Эти

специальные файлы и называются по разному, например:

SunOS: /dev/ttyy01 IN, /dev/ttyz01 OUT

Linux: /dev/ttyS1 IN, /dev/cua1 OUT

ISC: /dev/ttyFD01 IN, /dev/ttyFM01 OUT

SVR4/88: /dev/contty00 IN, /dev/??????? OUT

На самом деле все не совсем так. Цитирую Linux-Serial-HOWTO:

> There has been some discussion on the merits of /dev/mouse

> and /dev/modem. I strongly discourage the use of these links.

> In particular, if you are planning on using your modem for

> dialin you will run into problems because the lock files will

> not work correctly if you use /dev/modem. Also, Taylor UUCP

> does not support symlinks either.

Однако uugetty позволяет корректно отрабатывать эту ситуацию. См. параметр ALTLOCK в

/etc/defaults/getty файле.


Конфигурация TLI


Демон listen управляется специальной базой данных, в которую

необходимо вписать IP-адрес нашего host'а. Делается это "один

раз в жизни". IP-адрес задается в хитрой шестнадцатеричной записи.

Итак, если наши IP-адреса 198.8.2.1 и 198.8.3.1, их шестнадцатиричная запись C6080201, C6080301 , то мы должны единовременно

выполнить три команды:

nlsadmin -i tcp

nlsadmin -l '\x00020acec60802010000000000000000' tcp

nlsadmin -l '\x00020acec60803010000000000000000' tcp

"волшебное ^^^^^^^^шестнадцать нулей

слово 0acе" |

|

сюда вписывается наш фактический IP-адрес



Конфигурирование automount-демона


Авто-монтировщик - демон, запущенный на NFS-клиенте. Этот

демон монтирует удаленные каталоги "ПО ТРЕБОВАНИЮ" - т.е.,

когда к ним происходит обращение. Если к автоматически

смонтированному каталогу долго не было обращений,

автомонтировщик его автоматически отмонтирует.

Авто-монтирование поддерживается демоном automountd. Этот демон

запускается при начальной загрузке операционной системы.

Запускается он в командном файле /etc/rc2.d/S20nfs.client

automountd (если все карты будут браться из NIS)

или automountd -m -f /etc/auto.master (брать только локальные карты

Управляется automountd несколькими "картами" - файлами с описанием кого и куда надо монтировать. В простейшем случае нужно

иметь три файла:

/etc/auto_master - головной конфигурационный файл. Ссылается на:

/etc/auto_direct - указывает, какие каталоги куда монтировать

/etc/auto_home - задает правила монтирования домашних

каталогов пользователей, расположенных на

удаленных машинах.



Конфигурирование DNS-клиента


/etc/resolv.conf :

domain fedfond.msk.su

nameserver 127.0.0.1

;nameserver 128.8.2.1

/etc/defaultdomain :

fedfond.msk.su

/etc/host.conf :

order hosts, nis, bind

multi on



Конфигурирование DNS-сервера


/etc/named.boot

; домен fedfond.msk.su IP-сеть - 128.8.2

;

; boot file for name server

;

directory /var/named

cache . named.root

; type domain source host/file backup file

primary fedfond.msk.su fedfond.msk.su.hosts

primary 0.0.127.in-addr.arpa named.local

primary 2.8.128.in-addr.arpa 2.8.128.hosts.rev

----------------

; local dns file named.local 0.0.127.in-addr.arpa

;

@ IN SOA fedfond1.fedfond.msk.su. moshkow.fedfond.msk.su. (

94092101; Serial

10800; Refresh

1800; Retry

3600000; Expire

86400 ); Minimum

IN NS fedfond1.fedfond.msk.su.

1 IN PTR localhost.

===========================

; fedfond.msk.su zone hosts file for server fedfond1.fedfond.msk.su

;

@ IN SOA fedfond1.fedfond.msk.su. moshkow.fedfond1.fedfond.su. (

94092501; Serial

10800; Refresh

1800; Retry

3600000; Expire

86400 ); Minimum

NS fedfond1.fedfond.msk.su.

NS ipsun.ac.msk.su.

;

MX 0 fedfond1.fedfond.msk.su.

MX 20 ipsun.ac.msk.su.

MX 30 mailhost.cs.msu.su.

MX 40 mail.gmd.de.

MX 50 sunic.sunet.se.

; localhost A 127.0.0.1

$INCLUDE /var/named/fedfond-hosts-spisok

----------------

; Hosts in fedfond.msk.su zone

mailrelay CNAME fedfond1

mailhost CNAME fedfond1

mailserver CNAME fedfond1

newshost CNAME fedfond1

ftp CNAME fedfond1

www CNAME fedfond1

gopher CNAME fedfond1

master CNAME fedfond1

server CNAME fedfond1

;

; Host fedfond1

;

fedfond1 A 128.8.2.1

MX 0 mailrelay

HINFO Motorola88110 "SVR4.1/88"

WKS 128.8.2.1 UDP ( time domain name )

WKS 128.8.2.1 TCP ( echo telnet discard


sunrpc uucp-path systat

daytime netstat nntp

link chargen ftp time

whois pop-2 rje finger smtp

supdup hostnames domain )

;

; Host s20

;

s20 A 128.8.2.20

MX 0 mailrelay

HINFO Besta/31 UNIX-V.3

besta CNAME s20

prilipko CNAME s20

;

; Host s30

;

s30 A 128.8.2.30

A 128.9.2.30

A 193.124.148.59

MX 0 mailrelay

HINFO PC486/66DX2 UnixWare_1.1

WKS 128.8.2.30 UDP ( time domain name )

WKS 128.8.2.30 TCP ( echo telnet discard

sunrpc uucp-path systat

daytime netstat nntp

link chargen ftp time

whois pop-2 rje finger smtp

supdup hostnames domain )

unixware CNAME s30

;

; Host pcat101

;

pcat101 A 128.8.2.101

MX 0 mailrelay

HINFO PC486/66DX2 "MSDOS 6.2"

pc101 CNAME pcat101

guest01 CNAME pcat101

;

; Host pcat101

;

pcat102 A 128.8.2.102

MX 0 mailrelay

HINFO PC486/66DX2 "MSDOS 6.2"

pc102 CNAME pcat102

guest02 CNAME pcat102

===========================

; Initial cache data for root domain servers

;

; list of servers ...

;

99999999 IN NS NS.INTERNIC.NET.

99999999 IN NS NS.NIC.DDN.MIL.

99999999 IN NS NS1.ISI.EDU.

99999999 IN NS AOS.ARL.ARMY.MIL.

99999999 IN NS C.NYSER.NET.

99999999 IN NS TERP.UMD.EDU.

99999999 IN NS NS.NASA.GOV.

99999999 IN NS NIC.NORDU.NET.

; ... and their adresses

;

NS.INTERNIC.NET. 99999999 IN A 198.41.0.4

NS.NIC.DDN.MIL. 99999999 IN A 192.112.36.4

NS1.ISI.EDU. 99999999 IN A 128.9.0.107

AOS.ARL.ARMY.MIL. 99999999 IN A 128.63.4.82

AOS.ARL.ARMY.MIL. 99999999 IN A 192.5.25.82

C.NYSER.NET. 99999999 IN A 192.33.4.12



TERP.UMD.EDU. 99999999 IN A 128.8.10.90

NS.NASA.GOV. 99999999 IN A 128.102.16.10

NS.NASA.GOV. 99999999 IN A 192.52.195.10

NIC.NORDU.NET. 99999999 IN A 192.36.148.17

===========================

@ IN SOA fedfond1.fedfond.msk.su. moshkow.fedfond1.fedfond.msk.su. (

94102501; Serial

10800; Refresh

1800; Retry

3600000; Expire

86400 ); Minimum

NS s08.fedfond.msk.su.

NS ipsun.ac.msk.su.

NS ns.itep.ru.

NS suncom.itep.ru.

NS ns.cs.msu.su.

PTR s30.fedfond.msk.su.; Gateway

;

; Reverse-name [ttl] PTR Real-name-dot

;

1 PTR fedfond1.fedfond.msk.su.

20 PTR s20.fedfond.msk.su.

30 PTR s30.fedfond.msk.su.

101 PTR pcat101.fedfond.msk.su.

102 PTR pcat102.fedfond.msk.su.

[]

[]

[]


Конфигурирование серверной части UUCP.


Итак, мы уже можем звонить на чужие машины, и пересылать на них

файлы. Теперь нужно сделать, чтобы чужие машины (клиенты) могли

звонить нам. Для этого нужно:

Иметь описание звонящей нам uucp-системы в файле Systems -

для клиента такое же, как и для сервера.

Проверить права доступа для клиента в файле Permitions

Завести для него специальный uucp-login

Убедиться, что модем стоит в "Auto-answer" режиме, и на порт

/dev/modem запущена программа getty (или ttymon), позволяющая логиниться по телефону на порт /dev/modem

Описание добавляется в файл Systems, (номер телефона и

название порта не обязательны), если мы сами не

собираемся туда звонить, но я бы посоветовал их вписать, для

единообразия.

В файле /etc/passwd завести строчку вида:

uupetrov:x:1002:14:UU Petrov:/var/spool/uucp:/usr/lib/uucp/uucico

выполнить команды:

pwconv

passwd uupetrov

Любой терминальной программой "войти" в модемный порт и выполнить команды

atz0 # Загрузить пользовательский profile 0

ats0=1 # Регистр0=1 - снимать трубку после 1-го звонка

at&w0 # Сохранить текущий setup в profile 0

at&y0 # Чтобы при включении питания загружался профайл 0

# at&f # загрузить заводские установки, если вы запутались

# с профайлами, можно сделать модему "reset"

Ввиду отсутствия коммуникационных программ в SVR4 (за

исключением сумасшедшего "cu"), используйте "echo".

echo atz0 > /dev/modem

echo ats0=0 > /dev/modem

echo at&w0 > /dev/modem # и так далее

А еще лучше gold, там есть режим прямой связи с любым портом.

В файле /etc/inittab иметь строчку вида:

c3:234:respawn:/usr/lib/saf/ttymon -g -d /dev/modem -l contty



Конфигурирование SLIP/CSLIP.


Для этого соединяем два host'а нульмодемным кабелем через

последовательные порты, и запускаем фоном программу slattach,

переводящую порты в режим передачи протокола TCP/IP.

Естественно, что SLIP надо запускать с обоих концов, причем

"одинаковый".

SVR4, slip

slattach /dev/comport NASH-IP-ADRES IH-IP-ADRES 19200 &

# переводит порт /dev/comport в режим "slip" на скорости 19200

# и устанавливает IP-адрес на slip-интерфейс

SVR4, cslip

slattach -c /dev/comport NASH-IP-ADRES IH-IP-ADRES 38400 &

# переводит порт /dev/comport в режим "Compressed-slip"

# на скорости 38400

# и устанавливает IP-адрес на C-slip-интерфейс

slattach -e /dev/comport NASH-IP-ADRES IH-IP-ADRES 38400 &

# переводит порт в режим slip или cslip,

# автоматически определяя, какой именно протокол запущен

# "на том конце", и устанавливает со своей стороны такой же

Linux, SLIP.

slattach -p slip /dev/modem & # переводит порт в режим "slip"

ifconfig sl0 NASH-IP-ADRES pointopoint IH-IP-ADRES

route add IH-IP-ADRES

route add default gw IH-IP-ADRES

Linux, CSLIP.

# сперва переводим порт в режим "cslip"

slattach -p cslip /dev/modem &

ifconfig cs0 NASH-IP-ADRES pointopoint IH-IP-ADRES

route add IH-IP-ADRES

route add default gw IH-IP-ADRES

Linux, PLIP.

ifconfig plip1 NASH-IP-ADRES pointopoint IH-IP-ADRES

route add IH-IP-ADRES

route add default gw IH-IP-ADRES



Конфигурирование TCP/IP на Мотороле 922.


Придумайте сетевое имя вашего компьютера. Пусть вы решили, что

ваш компьютер должен называться fedfond, и иметь IP-adres

198.8.2.1 . Однако не забывайте, что у Моторолы ДВА ethernet-контроллера, и КАЖДЫЙ из них ДОЛЖЕН иметь свой УНИКАЛЬНЫЙ

IP-адрес. Мы решаем, что второй наш ethernet будет иметь

IP-адрес 198.8.3.1, ну и этому адресу можно назначить вполне

человеческое имя, например "fedfond-gate".

ВНИМАНИЕ: если вы внимательно рассмотрите содержание файла

/etc/inet/rc.inet, особенно строку вида

/usr/sbin/ifconfig e1x70 `uname -n`-gate $net_mask up

то поймете, что второй ethernet должен называться именно

fedfond-gate , и никак иначе.

Итак, чтобы установить сетевое имя и IP-адреса нашего host'а

командой sysadm установите "nodename" . ВНИМАНИЕ: именно nodename (имя узла), а не systemname (имя операционной системы)

В файл /etc/hosts вставьте строчки, привязывающие IP-адреса

к имени fedfond и, ВНИМАНИЕ!, fedfond-gate

198.8.2.1 fedfond

198.8.3.1 fedfond-gate

Перезагрузитесь.



Конфигурирование UUCP с использованием sysadm.


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

network_services / basic_network



Конфигурирование X Windows


В Linux используется X11 в реализации XFree86.

Чтобы его сконфигурировать, выполните команду

xf86config



Корневой каталог "/"


bin - каталог наиболее употребительных команд пользователя.

sbin - утилиты системного администратора

это все, что у него будет в однопользовательском режиме

dev - "устройства" - специальные файлы

etc - место для конфигурационных файлов

tmp - каталог временных файлов - для системы и для пользователей. Чистится при каждой загрузке.

lib - библиотеки и файлы, используемые компиляторами, разделяемые библиотеки

shlib - разделяемые библиотеки

usr - страшно говорить, но чего там только нет

mnt - "дежурный" каталог, для подмонтирования

файловых систем

var - изменяемые конфигурационные и служебные файлы

home - здесь живут "userы"

export - "экспортируемые" файлы. В частности, содержит файловые

системы для бездисковых клиентов, монтирующих их по NFS

proc - псевдо-файловая система отображает состояние запущенных процессов

stand - раздел с загрузочными файлами (unix, kdebug)

tftpboot "загрузчики" для бездисковых клиентов

unix - ядро операционной системы. - обыкновенный выполняемый

файл. Возможно, что лежит он не в /, и называется по

другому (например vmunix, vmlinuz)

lost+found - каталог, куда при ремонте файловой системы складываются файлы, "потерявшие" свои имена.



Linux IBM PC.


Диск может быть разбит на 4 primary раздела с 1 по 4. Один из

разделов может быть extended - тогда он может быть разбит еще

на 4 раздела с 5 по 8

Физический диск (целиком)

/dev/hda - Первый IDE жесткий диск

/dev/hdb - Второй IDE жесткий диск

/dev/sda - Первый SCSI жесткий диск

/dev/sdb - Второй SCSI жесткий диск

CD-ROM

/dev/sbpcd, /dev/sonycd, ...

а лучше /dev/cdrom

Магнитные ленты.

/dev/rmt1

Дискеты.

/dev/fd0 - флоппи A:

/dev/fd1 - флоппи B:

Как отформатировать SCSI диск.

Форматировать SCSI на низком уровне не умеет ни один unix в мире. Формат обычно заключается в тестировании bad blockов и

нанесении логической разметки диска - разделении его на логические разделы.



LINUX: Какие есть SCSI устройства.


IBM PC/Linux сообщает об опознанных устройствах при начальной

загрузке. Чтобы еще раз просмотреть эти сообщения, выполните

команду

dmesg

Как называются диски на машине.

Каждое "устройство" имеет соответствующий ему "специальный

файл" От системы к системе имена эти абсолютно друг на друга не

похожи. Одно, пожалуй, постоянно: все специальные файлы обычно

расположены в каталоге /dev или его подкаталогах.

В SVR4 устройства собраны в отдельные каталоги:

/dev/rdsk/*- бесструктурные диски и разделы дисков
/dev/dsk/*- блочные диски и разделы дисков
/dev/rmt/*- стриммерные накопители на магнитной ленте
/dev/term/*- линии для подключения терминалов (dial-in)
/dev/cua/*- линии с модемным управлением (dial-out)
/dev/pts/*- псевдо-терминальные линии



Linux: Разметка форматированного диска на разделы.


fdisk - диалоговая программа для разметки жесткого диска

mke2fs /dev/hda1 создает файловую систему типа ext2 на первом разделе

Какого типа у нас файловые системы.

fstyp имя_дискового_раздела

рекомендуемый тип для неспециализированных (т.е. не тех, которые /stand, /boot и некоторые другие) файловых систем стандартный Unix'овский "ufs" - Unix File System. Это быстрая файловая система BSD-подобного типа с символическими линками,

длинными именами файлов (до 256 байт), изменяемым размером блока, "размазанной" таблицей inod'ов (описатели файлов расположены группами, которые равномерно распределены по диску)

mkfs - создает пустую файловую систему.

# создаем файловую систему типа s5 на 4-ом разделе диска, раз-

# мером 200 Мб !!! Размер указывается в 512-байтных блоках

mkfs -F s5 /dev/rdsk/m328_c2d0s4 400000

# создаем файловую систему типа ufs на 5-ом разделе диска

mkfs -F ufs -o bsize=4096,nsect=36,ntrack=9,free=1 \

/dev/rdsk/m328_c2d0s5

Монтирование файловых систем.

Чтобы сделать "видимыми" файлы, лежащие на дисковом разделе,

Unix использует команду mount. Mount "подцепляет" файловую

систему к общему дереву файлов. При монтировании нужно указать

"точку монтажа" - каталог, к которому "подцепляется" наша новая

файловая система. Например:

mount -F ufs /dev/dsk/m197_c0d0s8 /home1

Чтобы посмотреть, какие файловые системы у нас смонтированы

выполните команду

df

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


вставить соответствующие строки в файл /etc/vfstab . Формат

строчек можно посмотреть в этом же файле.

MOTOROLA: Монтирование CD-ROM.

Если на CDROM' е записана файловая система формата "ufs" - т.е.

это "родной", моторольный cdrom, то монтировать его нужно по

тем же правилам, что и обычный жесткий диск, только "read only"

mount -F ufs -r /dev/dsk/m197_c0d6s0 /cdrom

Если же это обычный "game'овый" диск для MSDOSа, а точнее, CDROM

стандартного формата iso9660, то монтировать его надо так:

mount -F cdfs -o ro /dev/dsk/m197_c0d6s7 /cdrom

(использование ключей -r и -o ro - равнозначно)

Отмонтирование файловых систем.

umount /home1

Выделение раздела под swap.

Под swap область рекомендуется выделять не более одного раздела

(предпочтительнее самого первого) на каждом жестком диске.

под swap рекомендуется выделять 1*RAM - 2*RAM места, а если

на машине активно используется X-Windows, то 3*RAM.

После выделения раздела под swap его надо активизировать:

swap -a /dev/rdsk/m328_c2d0s0 0 0

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

его под swapping. Пример: выделяем 20 Mb-овый файл

dd if=/dev/zero of=/var/swapfile bs=1k count=20480

swap -a /var/swapfile 0 40960 # Внимание - здесь длина

# указывается в 512-байтных блоках

Bad-блоки.

Лучше будет, если вы ознакомитесь с документацией - раздел "Bad

blocks" в Томе "Disks and Tapes Managment"

см. также man по ddefs, mvme328, scsi1x7, dinit

Утилита тестирования оборудования GOLD.

Для тестирования и диагностики оборудования станции Motorola

922 можно воспользоваться утилитой gold. Она имеет систему меню, очень похожую на систему меню утилиты sysadm.

[]

[]

[]


Ln - связать файлы.


Формат команды:

ln файл1 файл2 - создается "жесткий" линк

ln -s файл1 файл2 - создается "символический" линк

Эта команда создает файлу файл1 еще одно имя. В итоге файл1 и

файл2 на самом деле физически являются одним и тем же файлом.

Если вы создаете так называемый "символический линк", (используя ключ "-s"), то файл file1 при этом не обязан существовать.

Имя "файл2" при этом все равно будет создано.



Логические стили


<dfn></dfn> Definition. Определяемое слово italic

<em></em> Emphasis. Ударение italic

<cite></cite> Titles of books. Цитата italic

<code></code> Programm. Программный текст fixed

<kbd></kbd> User keyboard entry. bold fixed

<samp></samp> Status message fixed

<var></var> Variable. italic

<strong></strong> Strong emphasis. bold

<address></address> Выделяется адрес italic



Ls - распечатать каталог.


Формат команды:ls [ключи] [имена]

именаимена файлов или директорий; для директорий распечатывается список входящих в нее файлов, для файлов - повторяется имя файла и дополнительная информация в соответствии с ключами. Имена файлов выводятся в алфавитном порядке. Если имена не заданы, выдается содержимое текущей директории
ключипо умолчанию выдаются только имена файлов, в одну колонку и в алфавитном порядке

ls -al - вывод в длинном полном формате:

Права

Число
линков
(имен)

Владелец

Группа

Размер

Время
модификации

Имя
файла

-rwxr-xr-x
drwxr-xr-x
-rwxr-xr-x
1
1
1
moshkow
moshkow
moshkow
sys
sys
sys
17
12
0
Oct 18 16:13
Oct 18 16:11
Oct 13 14:14
../jean
../jelly
../j.bu.txt
Описание прав - строка из 10 символов

1 символ - "-" - значит файл, "d" - директория

2 символ - права "владельца" файла

5 символ - права пользователей одной с "владельцем" группы

7 символ - права всех "прочих" пользователей по отношению к файлу

Права:

r - файл доступен для чтения,

w - файл доступен для записи,

x - файл является выполнимым,

- - данное право доступа отсутствует.

Основные ключи команды ls

-a - вывести все файлы (даже те, имена которых начинаются с точки);

-x - вывод в 4 колонки;

-t - имена файлов сортируются не по алфавиту, а по времени последнего изменения (сначала идут самые свежие, только что измененные файлы);

-R - рекурсивно пройти по всем подкаталогам

-CF - оглавление каталога в несколько столбиков

-al - оглавление в полном формате



Man - если вы забыли как пользоваться командой.


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

информацию вы можете получить так:

man имя_интересующей_вас_команды

man -k ключевое_слово - список команд, относящихся к ...



Маршрутизация локальной сети.


Объявляем, что машины с адресами вида 198.8.2.* *=1,...,254 сидят на нашем верхнем локальном сегменте ethernet, и разговаривать с ними надо напрямую, через верхний ethernet, соответствующий нашему адресу 198.8.2.1 - т.е. - elx70. А с машинами, имеющими адреса вида 198.8.3.* - через нижний ethernet - с адресом

198.8.3.1

route add net 198.8.2.0 198.8.2.1 netmask 255.255.255.0 0

route add net 198.8.3.0 198.8.3.1 netmask 255.255.255.0 0

Сетевые пакеты для IP-адресов, которые не лежат в нашей локальной сети, переправлять на машину с сетевым адресом 198.8.2.107

- а уж она сама будет разбираться, что с ними делать, и как

доставить их до конкретных адресатов.

route add default 198.8.2.107 1

Последний аргумент команды route - метрика. Ее можно интерпретировать как "расстояние" до "того" gateway'я, или "сколько пересадок между gateway'ями придется сделать IP-пакету по дороге

туда. Поскольку IP-адреса 198.8.2.1 и 198.8.3.1 соответствуют

нашим собственный платам ethernet, то и метрика (расстояние) до

них 0. 198.8.2.107 - другая машина - "расстояние до нее" 1.

Смотрим, что у нас получилось

netstat -rn # распечатать таблицу маршрутизации

ping -s fedfond # "прозвонить" узлы сети

ping -s fedfond-gate

ping -s 198.8.2.107

netstat -i # статистика о работе сетевых интерфейсов

Настала пора объяснить, что такое lo0 и localhost. Это так называемый Loop-back интерфейс. Он имитирует сетевой интерфейс

локально, не выходя за границы нашего компьютера. Loop-back интерфейсу соответствует зарезервированный за ним IP-адрес

127.0.0.1



Мастер-NIS-сервер.


domainname foms.msk.su

echo foms.msk.su > /etc/defaultdomain

mkdir /var/yp

В файле /etc/rc.local раскомментировать или добавить:

ypserv

ypbind

rpc.yppasswdd /etc/passwd -m passwd

ypxfrd

Скопировать NIS-Makefile в /var/yp

: cp /usr/lib/NIS.Makefile /var/yp/Makefile

или вставить CD-ROM с системой и

cd /tmp

/usr/etc/extract_files sr0 root -f ./var/yp/Makefile

mv ./var/yp/Makefile /var/yp/Makefile

Проинициализировать сервера в Мастер-режиме

cd /usr/etc/yp

ypinit -m

В ответ на запросы перечислить всех предполагаемых

slave-серверов, и нажать CTRL-D

Перезагрузиться

После любого изменений информационных файлов, лежащих в NIS на

мастер-сервере

cd /var/yp

make