Формы и индексы
Войти в файл, и спозиционироваться на строку с шаблоном "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
Сети делятся на классы:
"Огромные" сети. Адреса этих сетей лежат в промежутке: 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
Ключи. Т.е. коды, которые посылаются клавишей, если на нее
нажать.
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 7 | BSD 4.0 |
Unix V 3.1 | |
Unix V 3.2 | BSD 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,раздел) имя_загружаемого_файла параметры
где
st стриммер, sd SCSI-диск/cdrom, le ethernet | |
обычно 0 | |
6 cdrom, 3 внутренний диск, ... | |
0 "/", 2 корень cdrom'а, номер файла на ленте, ... | |
-a | интерактивная загрузка (спросит дополнительные параметры) |
-r | после загрузки заняться переконфигурацией |
-s | загрузиться в однопользовательский режим |
-v | verbose (подробно) |
-w | makes 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