Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
комп коммуникации и сети.doc
Скачиваний:
7
Добавлен:
28.05.2015
Размер:
11.18 Mб
Скачать

Тема1 Введение в unix

UNIX - это семейство операционных систем, объединенных одной идеологией и очень большой совместимостью на уровне исходных текстов программ. Любая система UNIX яв­ляется многопользовательской, мультизадачной, многопоточной, сетевой операционной сис­темой. UNIX-системы работают на всех существующих платформах от суперкомпьютеров до устройств, встраиваемых в бытовые приборы. Вы можете построить все, что захотите, от компьютеризированной кофеварки до систем планетарного масштаба. Скорость и произво­дительность этих операционных систем на порядок лучше конкурирующих. За годы сущест­вования UNIX-системы приобрели феноменальную устойчивость к сбоям. Многие ОС рабо­тают без перезагрузки по несколько лет. Известная шутка по поводу наступления конца све­та, когда на атомных станциях начнут ставить Windows NT, а не UNIX, по-моему, шуткой не является. Системы на базе UNIX имеют хорошую защищенность от злоумышленников - не даром провайдеры строят свои сервера на нем.

Тема2 Загрузка системы и выход из нее.

Существует несколько способов загрузки системы: либо с дискеты, либо с жесткого диска. 2.1.1 Использование загрузочной дискеты

Многие загружают Linux, используя "загрузочную дискету", которая содержит копию ядра Linux. В ядре есть информация о корневом разделе Linux, так что ядро знает, где искать на жестком диске корневую файловую систему. Это тип дискеты, созданной, например, Slackware в процессе инсталляции.

Для создания своей собственной загрузочной дискеты, сначала разместите образ ядра на сво­ем жестком диске. Оно должно быть в файле /Image или /etc/Image. Некоторые инсталляции используют для формирования ядра файл /vmlinux.

Вместо этого у Вас может быть скомпрессированное ядро, (^компрессированное ядро само раскомпрессируется при загрузке в память и занимает значительно меньше места на диске. Если у Вас есть скомпрессированное ядро, оно находится в файле /zlmage или /etc/zlrnage. Зная, где у Вас находится ядро, установите корневое устройство в образе ядра на имя вашего корневого раздела командой rdev. Формат команды:

rdev <kemel-name> <root-device> где <kernel-name>; это имя образа ядра, a <root-device> - имя корневого раздела Linux. На­пример, для установки корневого устройства в ядре /etc/Image на /dev/hda2 используется ко­манда

# rdev /etc/Image /dev/hda2

rdev может устанавливать другие опции в ядре, такие как взятый по умолчанию режим SVGA, для использования во время загрузки. Используйте "rdev -h" для получения помощи. После установки корневого устройства Вы можете просто скопировать образ ядра на дис­кету. При копировании данных на дискету, хорошо бы сначала отформатировать дискету в MS-DOS. При форматировании выдается информация о секторах и треках дискеты, так что можно определить какую плотность записи имеет эта дискета. Например, для копирования файла ядра /etc/Image на дискету в /etc/fdO используйте команду

# ср /etc/Image /dev/fdO

Теперь эта дискета должна загружать Linux. 2.1.2 Использование LILO

Другой метод загрузки - это использование LILO, программы, которая располагается в за­грузочном секторе вашего жесткого диска. Эта программа выполняется, когда система за­гружается с жесткого диска и может автоматически загрузить Linux из образа ядра, храняще­гося на жестком диске.

LILO может быть также использована, как начальный загрузчик для нескольких операцион­ных систем, позволяя вам выбирать во время загрузки, какую операционную систему (на­пример, Linux или MS-DOS) загружать. Когда Вы загружаетесь с использованием LILO, то загружается операционная система, установленная по умолчанию, если Вы не нажмете Ctrl, alt или shift во время выполнения загрузочной последовательности. Если Вы нажмете любой из этих ключей, то вам будет выдана подсказка загрузчика, в ответ на которую Вы напеча­таете имя операционной системы, которую надо загрузить (например, "iinux" или "msdos"). Если Вы нажмете tab в ответ на подсказку загрузчика, вам будет выдан перечень доступных операционных систем.

Простой способ инсталлировать LILO - отредактировать файл конфигурации /etc/lilo.conf и выполнить команду

# /sbin/lilo

Файл конфигурации LILO содержит "stanza"("cTaHCbin - не пугайтесь, это действительно про поэзию), для каждой операционной системы, которую Вы желаете загрузить. Лучший способ продемонстрировать это на примере конфигурационного файла LILO config. Нижеприведен­ные установки для системы, которая имеет корневой раздел Linux на /dev/hdal и раздел MS-DOS на/dev/hda2.

  • Tell LILO to modify the boot record on /dev/hda (the first

  • non-SCSI hard drive). If you boot from a drive other than /dev/hda,

  • change the following line, boot = /dev/hda

  • Name of the boot loader. No reason to modify this

  • un less you're doing some serious hacking on LILO.

install = /boot/boot.b

  • Have LILO perform some optimization, compact

  • Stanza for Linux root partition on /dev/hdal. image = /etc/Image # Location of kernel

label = linux # Name of OS (for the LILO boot menu)

root = /dev/hdal # Location of root partition

vga = ask # Tell kernel to ask for SVGA modes at boot time

# Stanza for MSDOS partition on /dev/hda2. other - /dev/hda2 # Location of partition

table = /dev/hda # Location of partition table for /dev/hda2

label = msdos # Name of OS (for boot menu) Стансы первой операционной системы в файле config - это та ОС, которую LILO загружает по умолчанию. Вы можете выбрать другую ОС во время загрузки в ответ на подсказку LILO, как это уже обсуждалось ранее.

Помните, что каждый раз, когда Вы изменяете, образ ядра на диске, Вы должны заново вы­полнить /sbin/lilo, чтобы изменения отразились в загрузочном секторе вашего диска. Имейте также в виду, что если Вы используете здесь строку "root -", нет смысла использо­вать rdev для установки корневого раздела в образе ядра. LILO установит ее во время загруз­ки.

Регистрация в системе Прежде, чем Вы сможете использовать систему, Вы должны зарегистрировать себя в сис­теме. Это необходимо потому, что неразумно использовать имя суперпользователя (root) для обычных нужд. Пользователь root нужен для выполнения привилегированных команд и со­провождения системы. Есть, однако, еще несколько неперсонируемых регистрационных имён, которые используются для системных целей. Пароли в файле /etc/passwd обычно заме­няют звёздочкой, чтобы в их бюджет нельзя было войти. • root- привилегированный пользователь. UNIX позволяет пользователю выполнять над файлом или процессом любую операцию. Кроме того, некоторые системные вызовы может выполнять только привилегированный пользователь. Например:

  • монтирование и демонтирование файловой системы

  • изменение корневого каталога

  • создание файлов устройств

  • установка системных часов

  • изменение принадлежности файлов

  • увеличение лимитов использования ресурсов и назначение приоритетов процессов

  • задание hoct-имени системы

  • конфигурирование сетевых интерфейсов

  • останов системы

  • daemon- владелец непривилегированного программного обеспечения. Файлы, которые должны принадлежать ОС, а не конкретному пользователю, часто назначаются этому пользователю а не пользователю root, чтобы уменьшить угрозу безопасности.

  • bin- владелец системных команд. Является владельцем каталогов, которые содержат сис­темные команды, а также большинство выполняемых файлов.

  • sys- владелец образов ядра и памяти. Владеет специальными файлами, такими как /dev/kmem, /dev/mem и /dev/drum или /dev/swap, которые содержат соответственно ад-

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

nobody- владелец ничего. Владелец программного обеспечения, которому не нужны специальные права доступа или который не должен их иметь. Сетевая файловая система использует это средство для защиты файловых серверов в сетях, где бездисковые клиен­ты могут перегружаться в однопользовательском режиме. Для того, чтобы зарегистрировать себя, вам необходимо зайти в систему под именем root и

использовать команду useradd или adduser.

Вход в систему При входе Вы увидите на экране подсказку, например, такого вида:

mousehouse login: Введите свое имя и нажмите клавишу Return. Нам напечатает следующее:

mousehouse login: larry

Password: Теперь введите ваш пароль (password). При вводе пароль не будет отображаться на экране, так что набирайте внимательнее. Если Вы неправильно набрали пароль, то увидите на экране сообщение

Login incorrect и вам следует попытаться еще раз.

Когда Вы наконец правильно введете имя пользователя и пароль, Вы официально будете до­пущены в систему и можете в ней свободно путешествовать.

ТемаЗ Работа с файлами и каталогахми

Во многих операционных системах (включая UNIX) существует концепция файла, по ко­торой его можно рассматривать просто, как набор информации, которому дано имя. Приме­рами файлов будут: программа, которая может выполняться, письмо, полученное по элек­тронной почте, написанная вами статья. Существенно то, что все, что хранится на диске, хранится в отдельных файлах.

Файлы идентифицируются по именам. Эти имена обычно каким-то образом отражают со­держание. Не существует стандартного формата имен файлов, как в MS-DOS и других опе­рационных системах; в общем случае имена файлов могут содержать любые символы (кроме / - смотрите ниже обсуждение формирования "путей") и ограничены 256 символами по дли­не.

Одновременно с концепцией файла рассмотрим и концепцию каталога. Каталог - это сово­купность файлов. Его можно рассматривать как "папку", содержащую множество различных файлов. Каталоги сами по себе также получают имена, по которым Вы их различаете. Ката­логи организованы в древовидную структуру, т.е. каталоги, могут содержать другие катало­ги.

К файлу можно обращаться по пути (pathname), формируемого из имени файла, которому предшествует имя каталога, содержащего файл. Например, скажем, Larry имеет каталог, на­званный papers, который содержит три файла: history-final, english-lit, и masters-thesis. (Каж­дый из этих трех файлов содержит информацию о проводимых Larry работах). Для того что­бы обратиться к файлу english-lit, Larry может указать маршрут: papers/english-lit

Как Вы видите, имена каталогов и файлов разделяются единичным слэшем (/). Поэтому имена файлов сами по себе не могут содержать этот символ. Пользователи MS-DOS увидят в этом что-то знакомое, поскольку в MS-DOS для этого используется бэкслэш (\).

Как уже говорилось, каталоги могут быть вставлены друг в друга. Например, пусть Larry в каталоге papers имеет другой каталог с названием notes. Этот каталог содержит файлы с именами math-notes и cheat-sheet. Путь файла cheat-sheet будет

papers/notes/cheat-sheet Поэтому путь - это маршрут, который надо проделать, чтобы добраться до конкретного файла. Каталог выше данного (под)каталога называется родительским каталогом. Здесь ката­лог papers является родительским для каталога notes.

Дерево каталогов

Большинство систем UNIX имеет стандартную структуру каталогов, что облегчает кон­кретную установку системы. Структура представляет собой дерево каталогов, начинающееся с каталога л7", известного под названием "корневой каталог". Каталоги ниже / относятся к числу важнейших подкаталогов: среди них /bin, /etc, /dev, и /usr. Эти каталоги в свою очередь содержат другие каталоги, которые содержат системные конфигурационные файлы, про­граммы и т.д.

В частности, каждый пользователь имеет домашний каталог, который выделяется пользо­вателю для хранения его файлов. В вышеприведенном примере все файлы Larry (такие как cheat-sheet и history-final) содержались в домашнем каталоге Larry. Обычно домашний поль­зовательский каталог находится под каталогом /home и называется именем пользователя. Так домашний каталог Larry будет /home/larry.

На Рис. 1 представлено простое дерево каталогов. Оно даст вам некоторое представление о том, как организуется дерево каталогов в вашей системе.

Текущий рабочий каталог Команды, которые Вы даете shell, выдаются из вашего текущего каталога. Вы можете ду­мать о вашем рабочем каталоге, как о каталоге, в котором Вы находитесь. При начальном входе в систему вашим рабочим каталогом автоматически становится домашний каталог (в нашем случае /home/larry). При обращении к файлу Вы можете обращаться к нему с учетом вашего местоположения, вместо того, чтобы указывать полный путь.

Вот, например, у Larry есть каталог papers, a papers содержит файл history-final. Если Larry хочет посмотреть этот файл, он может использовать команду

/home/larry# more /home/larry/papers/history- final Команда more просто показывает файл на экране порциями. Поскольку текущий рабочий ка­талог Larry /home/larry, он вместо этого может обратиться к файлу с учетом своего текущего местоположения. Команда будет

/home/larry# more papers/history-final Так что Вы можете начинать имя файла (такого как papers/final) с символа, отличного от "7", система предполагает, что Вы обращаетесь к файлу с учетом вашего текущего рабочего ка­талога. Это называют относительным именем (а полный маршрут - полное (абсолютное) имя

- т.е. путь от корня до данного имени).