ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ

учебной дисциплины

ОП.01 ОПЕРАЦИОННЫЕ СИСТЕМЫ

 

Лабораторная работа №7  Работа с командами Linux общего назначения

Цель лабораторной работы

Целью данной работы является формирование компетенций: ОК1, ОК11, ОК12, ПК2, ПК5, в том числе получение практических навыков и умений  работы в ОС Linux (Red Hat, ASPLinux), а также исследование системы.

 

Задание на выполнение лабораторной работы

 

1) Загрузить операционную систему. Основные этапы монтирования системы внести в отчет по лабораторной работе.

2) Идентифицировать себя с помощью одной из регистрационных записей обычного пользователя (login – user , pass - user 123).

3) Определить количество текстовых и графических консолей. Выполнить переключение между консолями (используя горячие клавиши).

4) Просмотреть файлы /etc/passwd , /etc/shadow (под root).

5) Просмотреть файл /etc/group.

6) Определить, находится ли пользователь user2 в системе, если нет, то добавить, используя команду adduser.

7)  Изменить владельца текущего сеанса и просмотреть информацию о процессе (использовать команды su и ps ).

8) Создать текстовый файл, используя команду cat или touch, установить права на исполнение (сhmod).

9) Получить список файлов текущего каталога с указанием размера, времени создания и изменения, имени владельца, таблицы прав.

10) Вывести постранично список скрытых файлов каталога /etc (ls –a|less).

11) Используя текстовые и графическую консоль, выполнить:

§ ввод и вывод основных команд;

§ перенаправление команд;

§ использование каналов;

§  настройку прав доступа.

12) Выполнить поочередно поиск файлов: /etc/passwd, 1.txt, а также группу файлов по шаблонам: *.txt, *.exe, L*, L??*, [ab]*a;

13) Найти в текущем каталоге все файлы, в именах которых встречается хотя бы один символ в верхнем регистре.

14) Изучить интерфейс и выполнить основные файловые операции, используя встроенный редактор программ Midnight Commander (mc).

15) Выполнить монтирование сменных устройств (CD-R, floppy, flach) средствами графической оболочки.

16) Скопировать на сменное устройство созданный файл (п.7 задания).

17) Размонтировать сменное устройство.

18) Проверить командой df, что сменное устройство размонтировано.

19) Провести исследование системы:

а) получить информацию о пользователях, находящихся в системе;

б) получить информацию о пользователях и процессах, недавно завершивших работу;

в) определить, кто и когда зарегистрировался в системе;

г) получить информацию о зарегистрированных в настоящий момент пользователях;

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

е) оценить стабильность работы и загрузку системы;

ж) получить информацию о таблице взаимодействия процессов.

20) Просмотреть файл fstab.

21) Результаты исследований занести в отчет.

22) По окончании занятий перезагрузить систему (reboot).

 

Основные приемы работы

Назначение ОС Linux

ОС Linux - это название ядра операционной системы, базового программного обеспечения низкого уровня, которое управляет аппаратной частью компьютера. В то же время эта полноценная операционная система включает набор утилит и прикладных программ, который может варьироваться. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей. Она поддерживает стандарты открытых систем и протоколы сети Internet.

 В зависимости от состава программных компонент выделяют следующие дистрибутивы Linux: Red Hat, Caldera, SuSe, Debian, Slackware.

При выполнении лабораторной работы используется Red Hat Linux - многозадачная, многопользовательская сетевая операционная система. Многозадачность - очень важное достоинство Linux. Система устроена так, что под каждую задачу, выполняемую пользователем, выделяется определенное количество ресурсов. Ресурсы компьютера, такие как, например, оперативная память, не передаются приоритетной задаче (как это делается в Windows), а ис­пользуются параллельно несколькими приложениями. Это повышает производительность системы и снижает риск ее «зависания».

 Вход в систему и идентификация пользователя

После полной загрузки операционной системы появится подсказка, имеющая примерно следующий вид:

Kernel 2.2.5-22 on an i686

login:

 

Далее следует ввести имя пользователя и пароль. По имени пользователя система опознает (идентифицирует) Вас как од­ного из пользователей, которые могут работать в системе. Для идентификации пользователя:

- введите в поле ввода Login : регистрационное имя обычного пользователя.

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

- введите в поле Password : пароль пользователя.

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

Если при установке системы не было создано ни одной регистрационной записи обычного пользователя, введите имя суперпользователя root  и добавьте соответствующую запись.

Обзор основных команд

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

man имя_команды

Дополнительную информацию по команде :

 info имя_команды

 После ввода вышеперечисленных команд ОС Linux открывает на нескольких, сменяющих друг друга экранах описание нужной команды. Если не помните правильный синтаксис имени нужной команды, введите команду man с параметром -k, затем ключевое слово для поиска нужной команды. Система выполнит поиск в своих файлах справки, содержащей это ключевое слово. Для этой команды имеется также псевдоним apropos. Например, если ввести команду:

    man ls

ОС Linux выведет на экран справку о команде ls, в том числе обо всех ее параметрах. По команде:

man -k cls

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

Команда apropos cls аналогична команде man -k cls.

Ниже приведены наиболее употребительные команды и наиболее частые форматы.

а) команды управления файлами

ls [ opt ] [ file 1 file 2 …] - вывод имен файлов текущего каталога. В качестве параметров можно задать имена каталогов, содержимое которых нужно вывести, или имена файлов, информацию о которых нужно получить. Опции команды позволяют получить список дополнительной информации:

ls - список файлов текущего каталога (краткий формат).

ls - al - получить список файлов текущего каталога с указанием размера, времени создания и изменения, имени владельца, таблицы прав и других данных, например:

-rwxr- - r - - 2 nata group 34 Nov 10 10:34 a.out

где - rwxr -- r -- - права доступа (за исключением первого символа, обозначающего тип файла: - – обычный файл, d – каталог, p – именованный канал, b – специальное блочное устройство, c – специальное символьное устройство) на чтение (read -символ r), запись (write -символ w), выполнение (execute - символ x). Наличие прав обозначается соответствующим символом, а отсутствие - символом "-";

     2 – число жестких связей (hard link) данного файла;

nata - имя владельца -пользователя (user owner) файла. Владельцем-пользователем вновь созданного файла является пользователь, запустивший процесс, который и создал файл;

group – имя владельца - группы (group owner). Порядок назначения владельца группы зависит от конкретной версии UNIX;

34 - размер файла;

Nov 10 - дата последнего изменения;

 10:34 - время последнего изменения;

a . out - имя файла.

ls – a С – просмотр скрытых файлов;

ls -С nata - вывод списка файлов каталога nata в несколько колонок в алфавитном порядке;

ls – RC / home / nata / bin - рекурсивный просмотр каталогов, например, / home / nata / bin;

ls – tC - сортировка по времени модификации, все вновь созданные файлы размещаются в начале списка;

ls –с tC - сортировка по изменению статуса (изменение владельца или прав доступа). Если ключ t не задан, то ключ c игнорируется.

cd [ dir ]  - сменить текущий каталог. При задании без параметра – происходит переход в домашний каталог пользователя;

cp файл1 файл2  - копировать файл. Если вместо имени второго файла указать каталог, то файл1 копируется в каталог файл2 c тем же именем, при этом в имени первого файла допускается использование подстановочного символа “звездочка”;

rm файл1 – удалить файлы с указанными именами. Допускается использование подстановочного символа “звездочка” и другие специальные возможности. Например, команда rm * m * позволит удалить все файлы, в именах которых встречается буква m ;

mkdir [имя_каталога1]… – создать новый каталог;

rmdir [имя_каталога]… – удалить пустой каталог;

ln [-опция] source target -  создает жесткую связь имени source с файлом, адресуемым именем target. При использовании опции – s будет создана символическая ссылка;

pwd - вывести имя текущего каталога;

cmp [-опция] файл1 файл2  - сравнить два файла, указанных в качестве аргумента. Если файлы одинаковы, то никакое сообщение не выводится, в противном случае выводятся данные о первом несоответствии между этими файлами, например:

              file1 file2 differ: char 15, line 6    ,

 найдено различие в 15 символе 6-й строки.

    б) управление выводом на экран

cat [-опция] файл  - выводит содержимое файла на экран терминала. Использование ключа – v целесообразно при просмотре нетекстового файла. В этом случае вывод “непечатных ” символов, которые могут нарушить настройки терминала, будет подавлен;

more [-опция] файл – выводит стандартный входной поток на экран порциями по 24 строки, ожидая нажатия клавиши Пробел для вывода очередной порции. Досрочно завершить вывод можно, нажав клавишу Q;

less - выводит стандартный входной поток на экран порциями по 24 строки, ожидая нажатия клавиши Пробел для вывода очередной порции. В отличие от команды more поддерживает возможность прокрутки вверх и поиска;

head [- n ] файл – просмотреть только начало (первые n строк) файла;

tail [-опция] файл – просмотреть конец (последние n строк) файла;

    в) поиск файлов

find имя_каталога [-ключ] - выполнить поиск файла в файловой системе, начиная с каталога имя_каталога, используя различные критерии:

    - name – поиск по искомому имени файла, например:

find / - name sh ,

по этой команде будет осуществляться поиск в каталоге / файла с именем sh ;

-print обеспечивает вывод информации. Например,  для вывода полного имени исполняемого файла командного интерпретатора Bourne shell необходимо ввести команду:

              find / -name sh -print 2 >/dev/null ;

Для фрагментарного поиска по имени файла (только в последней части спецификации файла), например, ‘*core*’, следует ввести команду:

find ~ - name ‘*core*’ - print

- size [размер] – поиск по заданному размеру. Например, для поиска файлов размером больше 10 Мбайт по всей файловой системе необходимо ввести команду:

find . – size +20480 - print   ;

- atime -  поиск по последнему времени модификации. Например, поиск файлов с именем file 1, обращение к которым было более 15 дней назад:

find / –name file1 -atime +15 - print   ;

Для автоматического удаления всех найденных файлов с именем core (образ процесса, создаваемый при неудачном его завершении и используемый в целях отладки), последнее обращение к которым было более месяца (+30) назад, следует ввести команду:

find / –name сore -atime +30 - exec rm {} \   ;

Следует отметить, что каждый раз при запуске команды, указанной после ключа exec, создается новый процесс. Это приводит к увеличению нагрузки на систему и излишнему потреблению ресурсов процессора и оперативной памяти. Однако при необходимости выполнить операцию, например такую как rm ,  над большим количеством файлов, эффективнее сначала построить список файлов, а затем запустить команду rm лишь один раз, передав ей этот список в качестве параметра.  

Из приведенного выше видно, что при работе с командой find чаще всего используется опция - name . После нее в кавычках должен быть указан шаблон имени файла. Если необходимо найти все файлы с расширением txt в Вашем начальном каталоге, укажите символ '-' в качестве путевого имени. Имя начального каталога будет извлечено из переменной $номе.

find ~ - name "*. txt " - print

Чтобы найти все файлы с расширением txt, находящиеся в текущем каталоге, следует воспользоваться такой командой:

find . - name "*. txt " - print

Для нахождения в текущем каталоге всех файлов, в именах которых встречается хотя бы один символ в верхнем регистре, введите следующую команду:

find . - name "[ A - Z ]*" - print

Команда find . – print аналогична команде ls – Rfl , но в последнем случае выводимый список будет длиннее, т.к. в процессе обхода команда ls отмечает каждый новый каталог, а команда find не обращает внимание на каталог .. ;

which [-ключ] - поиск выполняемых файлов. Данная команда встроена в оболочку, позволяет определить точное местонахождение файла и передает результаты своего выполнения в стандартный выходной поток. В оболочке C команда which позволяет определить, какие из команд являются встроенными, а какие псевдонимами.

г) исследование и мониторинг системы

    Для управления дисковым пространством используются команды df , du и ulimit:

df [-ключ] – команда определяет, сколько свободного дискового пространства и индексных дескрипторов доступно в разделе смонтированного диска.

 По умолчанию команда используется без параметров и выводит объем свободного пространства, например:

/         (/dev/hdb1 ): 260836 blocks 12034 files

/home    (/dev/sda1 ): 260836 blocks 2104 files

     

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

    При использовании ключей:

 - k – вывод данных осуществляется в блоках по 1024 байт, или в килобайтах. При этом данные выводятся в формате, принятом в системе BSD:

Выполнение работы

Вход в систему

После загрузки системы загружается консоль - это монитор и клавиатура, связанные непосредственно с системой (понятие со времен мейнфреймов). В ней необходимо зарегистрироваться: ввести логин и пароль (Внимание: ввод пароля не отображается. Если вы ошиблись при вводе пароля, то до нажатия enter можно отменить ввод, нажав CTRL-U. Если enter уже нажат - на экран выведется сообщение об ошибке.). Linux, как и некоторые другие версии UNIX, обеспечивает доступ к нескольким консолям, которые позволяют войти в систему под несколькими именами в одно время. Свежеинсталлированный Linux позволяет работать с шестью-семью консолями, переключение между которыми выполняется по alt-F1 - alt-F7. Но возможно обеспечить работу с 12-ю - по одной на каждую функциональную клавишу. Как видите, вы можете работать на нескольких консолях одновременно. Пока вы работаете на консоли #1, вы можете переключиться на консоль #2 и начать работу над чем-то другим.

После успешной регистрации в большинстве случаев в консоли появляется приглашение командного интерпретатора (shell). Особенностью Unix-подобных систем является то, что управление системой может полноценно выполнятся с помощью команд, т.е. без графической оболочки, загружаемой опционально (команда startx - запуск графической оболочки или, говоря на сленге, "иксов"). Конечно, если одной из задач системы не является работа с графикой. Существует множество командных интерпретаторов, которые отличаются синтаксисом команд и набором возможностей. Наиболее распросраненные, это: bash (по умолчаyнию в Linux), sh (по умолчаyнию в Unix), csh. Shell - это просто программа, которая воспринимает введенное пользователем, (т.е. команды, которые вы напечатаете) и транслирует это в команды системе.

При наличии графической оболочки (например, KDE) для запуска консоли необходимо нажать на кнопку с изображением монитора на панели задач (см.рис.1.1). Или выполнить: Пуск/Выполнить/konsole.

Рис. 1.1 - Кнопка запуска консоли

Можно создавать несколько сеансов путем нажатия кнопки в левом нижнем углу окна текущего сеанса (см. рис. 1.2).

Рис. 1.2 - Кнопка запуска дополнительного сеанса

Oкно сеанса Knoppix имеет вид, показанный на рис. 1.3.

Рис. 1.3 - Oкно сеанса Knoppix

В нем система уже напечатала приглашение (по умолчанию приглашением в Unix/Linux является символ '$'), в ответ не которое Вы можете вводить команды.

Для окончания сеанса работы с Linux введите exit или нажмите комбинацию клавиш Ctrl+D .

В сеансе работы с Linux Вашим текущим (домашним) каталогом является каталог: /home/имя, где имя - Ваше сетевое имя. К этому каталогу Вы имеете права чтения, записи, выполнения. Вы не имеете права записи к каталогам, не являющимся подкаталогами вашего домашнего каталога. Однако при запуске ОС Knoppix с CD необходимо учитывать, что ваш домашний каталог находится в памяти (ramdisk), а не на жестком диске. Поэтому перед выходом из Knoppix необходимо сохранять ваши рабочие файлы.

Существует возможность сохранять данные на разделы (локальные диски) с FAT-файловой системой. flash-память в том числе, а также на гибкий диск. Для этого необходимо, чтобы раздел был "примонтирован" с правом записи на него. Примонтированные разделы обычно имеют имена hda1, hda2, ..., hdaN (или sda1, sda2 и т.д.), flash - sda1, sda2, ..., sdaN (или sdb1, sdb2 и т.д.), гибкий диск - fd0. Монтирование осуществляется с помощью команды mount, которой нужно указать что и куда вы монтируете (см. help с помощью команды man). Выполнять команду mount может только пользователь root. Например, для монтирования первого раздела с файловой системой FAT необходимо выполнить команду:
mount /dev/hda1 /mnt/hda1.

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


Выполнение команд

Работа в сеансе ведется в режиме командной строки. Стандартным приглашением в системах Unix и Linux является символ '$'. Обычно команда имеет вид:

имя_команды [опции]... [параметры]...

(Здесь и далее при описании команд квадратные скобки означают необязательный элемент, многоточие означает, что элементов данного типа может быть несколько.)

Опции команд являются флаговыми параметрами. В Linux, как правило, флаги имеют две формы - короткую и длинную. Короткая форма предваряется символом - и кодируется одной буквой. Длинная форма предваряется двумя символами -- и кодируется целым словом или даже фразой.

Все команды Linux имеют следующие стандартные опции:

--help Вывод подсказки по данной команде
--version Вывод информации о версии данной команды

Не забывайте , что командный язык Unix/Linux чувствителен к регистру!

Для первых экспериментов с командами используйте команды ls, cd и pwd. Команда 'ls -la' выведет Вам информацию о содержимом текущего каталога. Команда 'cd ..' переведет Вас в родительский каталог. Команда 'cd имя_подкаталога' переведет Вас в указанный подкаталог текущего каталога. Команда 'pwd' покажет Вам, какой каталог является текущим. Если Вы "заблудитесь", путешествуя по каталогам, команда 'cd' (без параметров) вернет Вас в Ваш домашний каталог. Не забывайте, что в Unix/Linux символ "слэш" - разделитель имен каталогов наклонен вправо: '/' !

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

Получение подсказки

Одним из основных преимуществ ОС Linux является наличие встроенной справочной системы, которая содержит почти всю информацию по всем командам, библиотекам, и конфигурационным файлам. Основную часть справочной системы ОС Linux занимают страницы руководства man.

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

Страницы руководства man сгруппированы в несколько разделов, сведенных в таблицу 1.1. К аждый раздел руководства имеет свою тематику.

Параметром команды manявляется имя команды, по которой Вы хотите получить подсказку (например, man cd). При вводе команды man имя команды на экран выводится текст - описание заданной команды. Вы можете перемещаться по этому описанию вверх-вниз, используя клавиши управления курсором и клавиши PageUp и PageDown. Для выхода из режима команды man введите символ '!' или 'q'.

Таблица 1.1. Разделы справочного руководства man

Номер раздела Описание
1 Команды пользовательского уровня
2 Системные вызовы и коды ошибок ядра
3 Библиотечные функции
4 Драйверы устройств и сетевые протоколы
5 Форматы файлов
6 Игры и демонстрационные программы
7 Различные файлы и документы
8 Команды системного администрирования
9 Внутренние интерфейсы и спецификации ядра

Альтернативным средством получения подсказки в Linux является команда info. Параметром команды info так же является имя интересующей Вас команды - info cd. При вводе команды infoбез параметров выводится список разделов, которые можно просмотреть при помощи команды info. Просмотр информации в info выполняется точно так же, как в man, кроме того, infoобнспечивает элементы гипертекстового режима.

У многих команд есть опция -- help, результатом выполнения команды с данной опцией будет выдача в консоль подсказки по использования данной команды, например ls --help.

Освойте работу с подсказками - они потребуются Вам еще неоднократно.

На первой странице нашего практикума содержится:

· Ссылка Избранные команды и свойства Unix. содержит список и краткое описание наиболее часто употребляемых команд Unix/Linux. Эта информация в основном взята из описаний, доступных в команде man, но, по возможности, сокращена.

Сохранение результатов

Для тех работ, в ходе которых Вы должны разработать и выполнить команды и/или скрипты и продемонстрировать их выполнение, используйте команду script, которая позволяет создать протокол работы пользователя на терминале. Мы рекомендуем вводить команду script перед выполнением окончательной (отчетной) версии созданной Вами команды/скрипта и заканчивать вложенный сеанс, команды script после выполнения команды/скрипта, чтобы не загромождать файл протокола отладочными вариантами с ошибками. Для того, чтобы результаты работы накапливались в файле протокола, используйте команду script с опцией -a.

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

Связь с коллегами

Определите, кто работает в системе (при помощи команды who ).

Обменяйтесь сообщениями (при помощи команды mail ) с одним или несколькими своими товарищами. Выберите себе партнера и по почте договоритесь с ним о дальнейшем сотрудничестве.

Другим способом обмена сообщениями является команда write. Правда, ее можно использовать только в том случае, когда и отправитель, и адресат работают в системе. Попробуйте командуwrite , возможно, она Вам больше понравится.

Управление файлами

В ОС Linux следует различать физическую файловую систему, которая отвечает за управление дисковым пространством и размещение файлов в физических адресах диска и логическую файловую систему, которая обеспечивает логическую структуру хранения файлов - пространство имен файлов. ОС Unix и Linux могут работать с различными физическими файловыми системами (Ext2, ext3, ufs), логическое же представление файловой системы в Unix/Linux структурировано. Все файлы в логической файловой системе располагаются в виде дерева, промежуточные вершины которого соответствуют каталогам, и листья - файлам и пустым каталогам. Реально на каждом логическом диске (разделе физического дискового пакета) располагается отдельная иерархия каталогов и файлов. Для получения общего дерева в динамике используется "монтирование" отдельных иерархий к фиксированной корневой файловой системе в качестве ветвей общего дерева. Самым верхом иерархии является корень, который имеет предопределенное имя “/” (слэш). Этот же символ используется как разделитель имен в пути. Далее в корне находятся папки с определенными для каждого дистрибутива именами (etc, home, bin, mnt, proc и т.д.).

Полное имя файла, например, /bin/sh означает, что в корневом каталоге должно содержаться имя каталога bin, а в каталоге bin должно содержаться имя файла sh. Коротким или относительным именем файла называется имя, задающее путь к файлу от текущего рабочего каталога. В каждом каталоге содержатся два специальных имени, имя "." - ссылка на текущий каталог, и имя ".." - ссылка "родительский" каталог данного текущего каталога, т.е. каталог, непосредственно предшествующий данному в иерархии каталогов. Так, например, для структуры, показанной на следующем рисунке 1.4 доступ к отмеченному на рисунке файлу из текущего каталога возможен по полному имени: /home/usr2/file2 или по относительному имени: ../../../usr2/file2 (если текущий каталог – os).

Рис. 1.4 - Пример иерархии каталогов

Управление файлами также можно выполнять с помощью Midnight Commander (mc)- один из файловых менеджеров с текстовым интерфейсом типа Norton Commander для UNIX-подобных операционных систем. Запуск mc из консоли выполняется с помощью команды mc.

Типы файлов

ОС LINUX поддерживают несколько типов файлов:

· Обычные файлы (или регулярные) - представляют собой последовательность байтов. Это текстовые, исполняесые файлы и т.д, Данный тип файла отображается командой ls -l в виде "-" (черточки).

· Каталоги - представляют собой особый вид файлов, которые хранятся во внешней памяти подобно обычным файлам, но их структура поддерживается самой файловой системой. Данный тип файла отображается командой ls -l в виде символа "d".

· Специальные файлы устройств, бывают блочные и символьные. Данный тип файла отображается командой ls -l в виде символа "b" или "с" соответственно. Специальные файлы не хранят данные. Они обеспечивают механизм отображения физических внешних устройств в имена файлов файловой системы. Каждому устройству, поддерживаемому системой, соответствует, по меньшей мере, один специальный файл. При выполнении чтения или записи по отношению к специальному файлу, производится прямой вызов соответствующего драйвера устройства. При этом имена специальных файлов можно использовать практически всюду, где можно использовать имена обычных файлов.

· Ссылка (link).

Данный тип файла отображается командой ls -l в виде символа "l". Файловая система UNIX/LINUX обеспечивает возможность связывания одного и того же файла с разными именами. Существуют жесткие и мягкие ссылки.

Жесткая ссылка является просто еще одним именем для исходного файла и не являетсятипом файла. Она прописывается в индексном дескрипторе исходного файла (в структуре, хранящей метаданные файла). После создания жесткой ссылки невозможно различить, где исходное имя файла, а где ссылка. Если вы удаляете один из этих файлов (точнее одно из этих имен), то файл еще сохраняется на диске (пока у него есть хоть одно имя-жесткая ссылка). Очень трудно различить первоначальное имя файла и позже созданные жесткие ссылки на него. Поэтому жесткие ссылки применяются там, где отслеживать различия и не требуется. Одно из применений жестких ссылок состоит в том, чтобы предотвратить возможность случайного удаления файла. Особенностью жестких ссылок является то, что они прямо указывают на номер индексного дескриптора, а, следовательно, такие имена могут указывать только на файлы внутри той же самой файловой системы (т. е., на том же самом носителе, на котором находится каталог, содержащий это имя).

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

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

Для создания ссылки, используется команда ln.

Пример:

[user]$ ln -s /home/user/ve/HOWTO/font-HOWTO-ru/ ~/FONTS

После выполнения такой команды в домашнем каталоге появился подкаталог FONTS. Если теперь просмотреть список файлов в каталоге /home/user с помощью команды ls -l, то среди прочих увидим такую строку:

lrwxrwxrwx 1 kos kos 31 Dec 13 21:13 FONTS -> /home/kos/ve/HOWTO/font-HOWTO-ru/

Обратите внимание на самый первый символ в этой строке: он показывает, что данная запись соответствует символической ссылке. Это видно и в поле имени, где после нового имени и стрелки указано исходное имя файла (в данном случае — каталога).

· Именованный программнй канал (pipe) - одно из средств межпроцессных взаимодействий (IPC) в ОС UNIX/LINUX. Данный тип файла отображается командой ls -l в виде символа "p". Именованному программному каналу обязательно соответствует элемент некоторого каталога. с данным средством IPC мы познакомимся во втръорой части лабораторного практикума.

· Сокет (socket)- предоставляют весьма мощный и гибкий IPC. Данный тип файла отображается командой ls -l в виде символа "s". Они могут использоваться для организации взаимодействия программ на одном компьютере, по локальной сети или через Internet, что позволяет создавать распределённые приложения различной сложности. Кроме того, с их помощью можно организовать взаимодействие с программами, работающими под управлением других операционных систем. Механизм сокетов вы будете изучать на пятом курсе в рамках дисциплины "Программирование локальных сетей".

Общие команды Linux

# uname -a # Показать версию ядра Linux;
# man hier # Описание иерархии файловой системы (для чего нужна каждая директория в linux);
# clear # Очищение экрана терминала;
# date # Показывает текущую дату и время
# cal -3 # Показывает в удобной форме календарь за предыдущий, текущий и последующий месяцы;
# uptime # Показать текущее время и работу системы без перезагрузки и выключения;
# hostname # Показать сетевое имя компьютера;
# whois linux.org # Показать информацию о доменом имени linux.org;
# export http_proxy=http://your.proxy:port # Изменить переменной окружения http_proxy, для использования интернета через proxy-сервер;
# wget http://itshaman.ru/images/logo_white.png # Скачать файл http://itshaman.ru/images/logo_white.png в текущую папку;
# wget --convert-links -r http://www.linux.org/ # Копирование сайта целиком и конвертирование ссылок для автономной работы. Копирование происходит на 5 уровней в глубину;
# !! # Выполнить последнюю команду;
# history | tail -50 # Показать последние 50 набранных команд;
# exit # Завершить сеанс текущего пользователя;
# passwd # Меняет пароль текущего пользователя;
# shutdown -h now # Выход из Linux;
# poweroff # Выход из Linux;
# reboot # Перезагрузка системы;
# last reboot # Cтатистика перезагрузок;
# host itshaman.ru # Показывает IP-адрес введенного сайта.
# who # Показывает пользователей системы.

Избранные функции bash

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

Например:

· групповые символы для поиска файлов по шаблонам имен,

· перенаправление выходных данных команд в файлы и входных данных из файлов,

· конвейеры (pipe) для того, чтобы делать выходные данные одной команды входными данными для другой,

· псевдонимы (alias) для быстрого вызова наиболее употребительных команд,

· переменные для хранения значений, которые может использовать командный процессор, и т. д.

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

Выполните команду info bash, чтобы получить полную документацию.

Групповые символы

Группвые символы предоставляют возможность задавать наборы файлов со схожими именами. Например, а* означает все файлы, которые начинаются с прописной буквы "а". Групповые символы "заменяются" командным процессором на набор имен файлов, которым они соответствуют. То есть если вы набираете:

$ Is а*

то командный процессор сначала заменяет а* на имена файлов в вашей рабочей директории, которые начинаются с буквы "а", как будто если бы вы набрали следующую команду.

Is aardvark adamantium apple

Команда ls никогда не узнает, что вы использовали групповой символ, она видит только окончательный список имен файлов после после того, как командный процессор обработает групповой символ.

Типы групповых символов

o * - Любой набор символов, в том числе пустая строка

o ? - Любой одиночный символ

o [набор] - Любой одиночный символ из заданного набора,

o который, как правило, является последовательностью символов, например [aeiouAEiou] для всех гласных букв, либо диапазоном с дефисом, например, [А-Z] для всех заглавных букв

o [^набор] - Любой одиночный символ, не заданный в наборе

o [!набор] - Любой одиночный символ, не заданный в наборе

Если вы хотите включить в набор символ минуса, то поместите его первым или последним. Чтобы включить в набор закрывающую квадратную скобку, поместите ее первой. Чтобы включить в набор символы ^ или !, не помещайте их на первое место.

Индивидуальные задания к лабораторной работе

Вариант 1.

1) Создайте в Вашем домашнем каталоге три каталога любой вложенности. Внутри каждого каталога создайте три текстовых файла, содержащих от 5 до 8 строк осмысленного текста (например, стихи) с помощью команды tee. Имена файлов могут быть произвольными.

2) Выведите содержимого созданных файлов на стандартное устройство вывода с помощью команды cat.

3) Выведете 5 последних строк любого созданного файла на стандартное устройство вывода.

4) Продемонстрируйте работу команды ls без параметров и с параметрами –l , - a.

5) В один из созданных каталогов скопируйте файлы, созданные в двух других каталогах.

6) Удалите содержимое одного каталога и сам каталог.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 2.

1) Создайте в Вашем домашнем каталоге три каталога любой вложенности. Внутри каждого каталога создайте три текстовых файла, содержащих от 5 до 8 строк осмысленного текста (например, стихи) с помощью текстового редактора vi. Имена файлов могут быть произвольными.

2) Выведите содержимого созданных файлов на стандартное устройство вывода с помощью команды less.

3) Выведете 5 первых строк любого созданного файла на стандартное устройство вывода.

4) Продемонстрируйте работу команды ls без параметров и с параметрами –d , - R , - h.

5) В двух созданных каталогах переименуйте все файлы.

6) Удалите содержимое одного каталога и сам каталог.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 3.

1) Создайте в Вашем домашнем каталоге три каталога любой вложенности. Внутри каждого каталога создайте три текстовых файла, содержащих от 5 до 8 строк осмысленного текста (например, стихи) с помощью текстового редактора nano (горячие клавиши работы см. внизу консоли). Имена файлов могут быть произвольными.

2) Выведите содержимого созданных файлов на стандартное устройство вывода с помощью команды cat .

3) Продемонстрируйте работу команды ls без параметров и с параметрами – X , – S ,–- c ,– t , – u.

4) Продемонстрируйте работу команды cd с использованием абсолютных и относительных путей.

5) Определите размер своего домашнего каталога и размеры созданных каталогов в блоках, Кб и Мб с помощью команды du.

6) Удалите два созданных файла.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 4.

1) Создайте структуру каталогов, изображенную на рис. 1.1, причем каждую ветвь иерархии с помощью одной команды. На рисунке каталоги представлены элементами вида: , файлы - элементами вида: . Черными линиями представлена вложенность файлов/подкаталогов в каталоги. Синими линиями представлены жесткие ссылки. Красными линиями - символические ссылки. Стрелка на красной линии указывает на целевой файл ссылки.

Корнем дерева должен быть Ваш домашний каталог.

Файлы создайте с помощью редактора vi, они должны содержать от 5 до 8 строк осмысленного текста (например, стихи).

Рис. 1.1

 

2) Создайте жесткие ссылки, представленные на рис. 1.1 синими линиями.

3) Создайте символические ссылки, представленные на рис. 1.1 красными линиями.

4) Выведите на консоль полную информацию о созданных файлах.

5) Проведите ряд экспериментов, иллюстрирующих реакцию системы на удаление файла, на который имеются жесткие ссылки, и файла, на который имеются символические ссылки.

6) Выведите на консоль дату в формате mm/dd/yy, день месяца, день года.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 5.

1) Создайте структуру каталогов, изображенную на рис. 1.2. На рисунке каталоги представлены элементами вида: , файлы - элементами вида: . Черными линиями представлена вложенность файлов/подкаталогов в каталоги. Синими линиями представлены жесткие ссылки. Красными линиями - символические ссылки. Стрелка на красной линии указывает на целевой файл ссылки.

Корнем дерева должен быть Ваш домашний каталог.

Файлы создайте с помощью команды tee, они должны содержать от 5 до 8 строк осмысленного текста (например, стихи).

Рис. 1.2

2) Создайте жесткие ссылки, представленные на рис. 1.2 синими линиями.

3) Создайте символические ссылки, представленные на рис. 1.2 красными линиями.

4) Выведите на консоль полную информацию о созданных файлах.

5) Проведите ряд экспериментов, иллюстрирующих реакцию системы на удаление файла, на который имеются жесткие ссылки, и файла, на который имеются символические ссылки.

6) Выведите на консоль время в формате hh:mm:ss, номер дня недели, номер недели в году.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 6.

1) Создайте структуру каталогов, изображенную на рис. 1.3, причем каждую ветвь иерархии с помощью одной команды. На рисунке каталоги представлены элементами вида: , файлы - элементами вида: . Черными линиями представлена вложенность файлов/подкаталогов в каталоги. Синими линиями представлены жесткие ссылки. Красными линиями - символические ссылки. Стрелка на красной линии указывает на целевой файл ссылки.

Корнем дерева должен быть Ваш домашний каталог.

Файлы создайте с помощью редактора nano, они должны содержать от 5 до 8 строк осмысленного текста (например, стихи).

Рис. 1.3

 

2) Создайте жесткие ссылки, представленные на рис. 1.3 синими линиями.

3) Создайте символические ссылки, представленные на рис. 1.3 красными линиями.

4) Выведите на консоль полную информацию о созданных файлах.

 

5) Провести ряд экспериментов, иллюстрирующих реакцию системы на удаление файла, на который имеются жесткие ссылки, и файла, на который имеются символические ссылки.

6) Выведите на консоль календарь текущего года. Определите, в какой день недели вы родились.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 7.

1) Создайте структуру каталогов, изображенную на рис. 1.4. На рисунке каталоги представлены элементами вида: , файлы - элементами вида: . Черными линиями представлена вложенность файлов/подкаталогов в каталоги. Синими линиями представлены жесткие ссылки. Красными линиями - символические ссылки. Стрелка на красной линии указывает на целевой файл ссылки.

Корнем дерева должен быть Ваш домашний каталог.

Файлы создайте с помощью редактора ed, они должны содержать от 5 до 8 строк осмысленного текста (например, стихи).

Рис. 1.4

 

2) Создайте жесткие ссылки, представленные на рис. 1.4 синими линиями.

3) Создайте символические ссылки, представленные на рис. 1.4 красными линиями.

4) Выведите на консоль полную информацию о созданных файлах.

5) Проведите ряд экспериментов, иллюстрирующих реакцию системы на удаление файла, на который имеются жесткие ссылки, и файла, на который имеются символические ссылки.

6) Выведите на консоль календарь текущего месяца в формате Вс как первый день недели. Определите, каким днем недели будет 31 декабря 2010 г.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 8.

1) Создайте структуру каталогов, изображенную на рис. 1.5, причем каждую ветвь иерархии с помощью одной команды.. На рисунке каталоги представлены элементами вида: , файлы - элементами вида: . Черными линиями представлена вложенность файлов/подкаталогов в каталоги. Синими линиями представлены жесткие ссылки. Красными линиями - символические ссылки. Стрелка на красной линии указывает на целевой файл ссылки.

Корнем дерева должен быть Ваш домашний каталог.

Файлы создайте с помощью команды tee, они должны содержать от 5 до 8 строк осмысленного текста (например, стихи).

Рис. 1.5

 

2) Создайте жесткие ссылки, представленные на рис. 1.5 синими линиями.

3) Создайте символические ссылки, представленные на рис. 1.5 красными линиями.

4) Выведите на консоль полную информацию о созданных файлах.

5) Провести ряд экспериментов, иллюстрирующих реакцию системы на удаление файла, на который имеются жесткие ссылки, и файла, на который имеются символические ссылки.

6) Выведите на консоль календарь на три месяца текущего года с отображением порядкового номера дня в году.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 9.

1) Создайте структуру каталогов, изображенную на рис. 1.6. На рисунке каталоги представлены элементами вида: , файлы - элементами вида: . Черными линиями представлена вложенность файлов/подкаталогов в каталоги. Синими линиями представлены жесткие ссылки. Красными линиями - символические ссылки. Стрелка на красной линии указывает на целевой файл ссылки.

Корнем дерева должен быть Ваш домашний каталог.

Файлы создайте с помощью команды vi, они должны содержать от 5 до 8 строк осмысленного текста (например, стихи).

Рис. 1.6

 

2) Создайте жесткие ссылки, представленные на рис. 1.6 синими линиями.

3) Создайте символические ссылки, представленные на рис. 1.6 красными линиями.

4) Выведите на консоль полную информацию о созданных файлах.

5) Провести ряд экспериментов, иллюстрирующих реакцию системы на удаление файла, на который имеются жесткие ссылки, и файла, на который имеются символические ссылки.

6) При выполнении пунктов 1-5 выведите на консоль полный текущий путь.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 10.

1) Создайте структуру каталогов, изображенную на рис. 1.7, причем каждую ветвь иерархии с помощью одной команды. На рисунке каталоги представлены элементами вида: , файлы - элементами вида: . Черными линиями представлена вложенность файлов/подкаталогов в каталоги. Синими линиями представлены жесткие ссылки. Красными линиями - символические ссылки. Стрелка на красной линии указывает на целевой файл ссылки.

Корнем дерева должен быть Ваш домашний каталог.

Файлы создайте с помощью редактора nano, они должны содержать от 5 до 8 строк осмысленного текста (например, стихи).

Рис. 1.7

2) Создайте жесткие ссылки, представленные на рис. 1.7 синими линиями.

3) Создайте символические ссылки, представленные на рис. 1.7 красными линиями.

4) Выведите на консоль полную информацию о созданных файлах.

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

6) Провести ряд экспериментов, иллюстрирующих реакцию системы на удаление файла, на который имеются жесткие ссылки, и файла, на который имеются символические ссылки.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 11.

1) Создайте в Вашем домашнем каталоге три текстовых файла, содержащих от 5 до 8 строк осмысленного текста (например, стихи) с помощью редактора vi . Имена файлов могут быть произвольными.

2) Выведите содержимого созданных файлов на стандартное устройство вывода с помощью команды cat .

4) Выполните копирование файлов с помощью команды cp без параметров и с параметрами –f , – i .

5) Выведите на консоль полную информацию о созданных и скопированных файлах.

6) Определите размеры вашего домашнего каталога с определением размеров вложенных каталогов и без (только домашний каталог).

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.

Вариант 12.

1) Создайте в Вашем домашнем каталоге три текстовых файла, содержащих от 5 до 8 строк осмысленного текста (например, стихи) с помощью редактора ed . Имена файлов могут быть произвольными.

2) Выведите содержимого созданных файлов на стандартное устройство вывода с помощью команды less .

4) Выполните копирование файлов и каталогов с помощью команды cp без параметров и с параметрами –R , – v .

5) Выведите на консоль полную информацию о созданных и скопированных файлах.

6) Выведите на консоль информацию о системе с помощью команды uname.

7) В отчете предоставьте все шаги ваших действий путем копирования с консоли. Кратко поясните результаты выполнения всех команд.



Выполнение работы

Вход в систему

В среде Windows запустите программу Terra Term. Программа Terra Term представлена на рабочем столе иконкой:

.

После запуска программы открывается окно Terra Term: New connection, показанное на рисунке ниже.

Проверьте, чтобы содержимое полей Host и TCP port# в этом окне совпадало с показанным на рисунке. После чего нажмите кнопку OK.

На экране появляется окно SSH Autentication:

В этом окне введите свое сетевое имя и пароль (пароль не отображается при вводе) и нажмите кнопку OK.

При нормальной аутентификации на сервере окно SSH Autentication сменяется окном сеанса Linux, показанным на рисунке ниже.

В нем система уже напечатала приглашение (по умолчанию приглашением в Unix/Linux является символ '$'), в ответ не которое Вы можете вводить команды.

Для окончания сеанса работы с Linux введите exit или нажмите комбинацию клавиш Ctrl+D.

В сеансе работы с Linux Вашим текущим (домашним) каталогом является каталог: /home/имя, где имя - Ваше сетевое имя. К этому каталогу Вы имеете права чтения, записи, выполнения. Вы не имеете права записи к каталогам, не являющимся подкаталогами вашего домашнего каталога.

Выполнение команд

Работа в сеансе ведется в режиме командной строки. Стандартным приглашением в системах Unix и Linux является символ '$'. Обычно команда имеет вид:

имя_команды [опции]... [параметры]...

(Здесь и далее при описании команд квадратные скобки означают необязательный элемент, многоточие означает, что элементов данного типа может быть несколько.)

Опции команд являются флаговыми параметрами. В Linux, как правило, флаги имеют две формы - короткую и длинную. Короткая форма предваряется символом - и кодируется одной буквой. Длинная форма предваряется двумя символами -- и кодируется целым словом или даже фразой.

Все команды Linux имеют следующие стандартные опции:

--help Вывод подсказки по данной команде
--version Вывод информации о версии данной команды

Не забывайте, что командный язык Unix/Linux чувствителен к регистру!

Для первых экспериментов с командами используйте команды ls, cd и pwd. Команда 'ls -la' выведет Вам информацию о содержимом текущего каталога. Команда 'cd ..' переведет Вас в родительский каталог. Команда 'cd имя_подкаталога' переведет Вас в указанный подкаталог текущего каталога. Команда 'pwd' покажет Вам, какой каталог является текущим. Если Вы "заблудитесь", путешествуя по каталогам, команда 'cd' (без параметров) вернет Вас в Ваш домашний каталог. Не забывайте, что в Unix/Linux символ "слэш" - разделитель имен каталогов наклонен вправо: '/'!

Получение подсказки

Стандартным средством получения подсказки в Unix является команда man. Параметром команды man является имя команды, по которой Вы хотите получить подсказку. При вводе команды manна экран выводится текст - описание заданной команды. Вы можете перемещаться по этому описанию вверх-вниз, используя клавиши управления курсором и клавиши PageUp и PageDown. Для выхода из режима команды man введите символ '!' (восклицательный знак).

В используемой нами версии Linux некоторые разделы man переведены на русский язык.

Обратите внимание на то, что в большинстве описаний опции команд даются в версии POSIX и в версии GNU. POSIX является стандартом для ОС Unix, но поскольку мы пользуемся ОС Linux, мы должны выбирать версию GNU.

Альтернативным средством получения подсказки в Linux является команда info. Параметром команды info также является имя интересующей Вас команды. При вводе команды info без параметров выводится список разделов, которые можно просмотреть при помощи команды info. Просмотр информации в info выполняется точно так же, как в man, кроме того, infoобнспечивает элементы гипертекстового режима.

Освойте работу с подсказками - они потребуются Вам еще неоднократно.

На первой странице нашего лабораторного практикума содержится также ряд ссылок:

· Ссылка "Избранные команды и свойства Unix" содержит список и краткое описание наиболее часто употребляемых команд Unix/Linux. Эта информация в основном взята из описаний, доступных в команде man, но, по возможности, сокращена.

· В нашей библиотеке содержится значительное количество литературы по Unix - от общих описаний системы до руководств по отдельным утилитам. Для выполнения лабораторных работ, возможно, наиболее полезным является документ "Manpages на русском", содержащий переводы описаний, доступных в команде man.

· На локальном сервере МИПК имеется полный текст стандарта "The Single UNIX Specification"

Сохранение результатов

Для тех работ, в ходе которых Вы должны разработать и выполнить команды и/или скрипты и продемонстрировать их выполнение, используйте команду script, которая позволяет создать протокол работы пользователя на терминале. Мы рекомендуем вводить команду script перед выполнением окончательной (отчетной) версии созданной Вами команды/скрипта и заканчивать вложенный сеанс, команды script после выполнения команды/скрипта, чтобы не загромождать файл протокола отладочными вариантами с ошибками. Для того, чтобы результаты работы накапливались в файле протокола, используйте команду script с опцией -a.

Связь с коллегами

Определите, кто работает в системе (при помощи команды who).

Обменяйтесь сообщениями (при помощи команды mail) с одним или несколькими своими товарищами. В следующей работе Вам потребуется кооперация с одним из своих коллег. Выберите себе партнера и по почте договоритесь с ним о дальнейшем сотрудничестве.

Другим способом обмена сообщениями является команда write. Правда, ее можно использовать только в том случае, когда и отправитель, и адресат работают в системе. Попробуйте командуwrite, возможно, она Вам больше понравится.

Варианты индивидуальных заданий

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15

Текст 1

Мы урожая ждем от лучших лоз, Чтоб красота жила, не увядая. Пусть вянут лепестки созревших роз, Хранит их память роза молодая. А ты, в свою влюбленный красоту, Все лучшие ей отдавая соки, Обилье превращаешь в нищету, - Свой злейший враг, бездушный и жестокий. Ты - украшенье нынешнего дня, Недолговременной весны глашатай, - Грядущее в зачатке хороня, Соединяешь скаредность с растратой. Жалея мир, земле не предавай Грядущих лет прекрасный урожай!

Текст 2

Шалтай-Болтай Сидел на стене, Шалтай-Болтай Свалился во сне. Вся королевская конница Вся королевская рать Не может Шалтая, Не может Болтая, Шалтая-Болтая, Болтая-Шалтая, Шалтая-Болтая сoбрать!

Результаты работы.

В отчете по лабораторной работе представляются следующие протоколы:

· содержимое домашнего каталога после создания файлов (протокол выполнения команды ls);

· распечатку созданных файлов (протокол выполнения команды cat);

· протокол переписки.



Chmod o-x junk

Для получения дополнительной информации наберите chmod --help или man chmod или почитайте любое руководство по Linux. Вы можете установить права доступа по умолчанию для создаваемых вами файлов с помощью команды"umask" (наберите man umask).

chown <новый_владелец> <файлы> -изменить владельца файлов.

chgrp <новая_группа> <файлы> -изменить группу для файла.

Вы можете использовать две последние команды, после того как сделали копию файла для кого-либо.

Контроль процессов

ps axu | grep <Ваше_имя_пользователя> -отобразить все процессы, запущенные в системе от Вашего имени пользователя.

kill <PID> -"убить" процесс. Для начала определите PID Вашего "убиваемого" процесса при помощи ps.

killall <имя_программы> -"убить" все процессы по имени программы.

xkill (в терминале X window) -"убить" процесс, на окно которого укажите курсором.

Программные утилиты и языки

emacs (в X терминале) -редактор emacs. Очень многофукционален, но весьма сложен для неопытных пользователей.

gcc <c_исходник> -GNU C компилятор. В сети есть очень хорошие руководства по использованию.

g++ <cpp_исходник> -GNU C++ компилятор.

perl -очень мощный скриптовый язык. Чрезвычайно гибкий, но с довольно сложным синтаксисом. Очень популярен среди продвинутых пользователей.

python -современный и довольно элегантный объектно-ориентированный интерпретатор. Выглядит таким же мощным и немного проще, чем perl.

g77 -GNU FORTRAN компилятор.

f2c -перекодировщик из FORTRAN в C.

fort77 -компилятор FORTRAN. Выполняет f2c, а затем использует gcc или g++.

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

tr -translation utility (другими словами - замена букв в текстовом файле).

gawk -GNU awk (используется для обработки форматированных текстовых файлов). Лучше вызывать просто awk.

sed -утилита для обработки текстовых файлов.



Просмотр каталогов

Чтобы увидеть структуру каталогов Red Hat Linux, выполните команду ls. Она предназначена для вывода листинга каталогов.
Для получения более детальной картины воспользуйтесь командой tree, которая выводит полную структуру файловой системы, начиная от корневого каталога (он называется root и обозначается косой чертой - /). При этом вы увидите все имеющиеся подкаталоги (каталог /usr/src в нашей системе может немного отличаться, все зависит от установленной версии Linux).


Таблица 1. Основные каталоги ОС Linux

Имя Описание
/ Корневой каталог
/bin Наиболее важные команды и программы
/boot Все, что необходимо для загрузки операционной системы, ядро Linux
/dev Файлы устройств
/etc Системные конфигурационные файлы
/home Домашние каталоги пользователей
/lib Общие библиотеки, модули ядра
/mnt Это каталог для монтирования локальных и удаленных файловых систем
/opt Дополнительные программные пакеты
/proc Информация, касающаяся ядра; управление процессами
/root Домашний каталог пользователя root
/sbin Системные команды
/tftpboot Поддержка сетевой загрузки ОС
/tmp Временные файлы
/usr Иерархия вторичных программных файлов
/var Переменные данные (например, регистрационные журналы); файлы спула (например, принтера)

Управление файлами

Управлять файлами, расположенными в вашем домашнем каталоге, можно с помощью нескольких легко запоминаемых команд. К основным операциям управления файлами относятся: чтение файла, пересылка, переименование, копирование, поиск и удаление файлов и каталогов. Для этих целей служат следующие команды:

cat filename Отображает на экран одержимое файла при чтении.
less filename Отображает на экран одержимое файла при чтении постранично
mv file1 file2 Переименовывает file1 в file2.
mv file dir Пересылает file в каталог dir.
cp file1 file2 Копирует file1 и создает file2.
rm file Удаляет файл file
rmdir dir Удаляет каталог dir (если он пустой).
grep string file(s) Проводит поиск в файле(ах) file(s) и отображает на экране строки, соответствующие сроке string.
Mkdir dirname Создаёт каталог dirname

Обратите внимание, что во всех этих командах можно использовать шаблоны, т.е. символы-заменители. Например, чтобы в текущем каталоге удалить все файлы, имена которых начинаются с abc, можно задать выражение, начинающееся с этих трех букв; затем к ним добавляется символ *, заменяющий любые символы:

$ rm abc*









Таблица 2. Клавиши перемещения, функционирующие в командном режиме редактора vi

Клавиша Действие
W Перемещает курсор вперед на одно слово.
B Перемещает курсор назад на одно слово
E Перемещает курсор в конец следующего слова.
0 Перемещает курсор в начало строки
$ Перемещает курсор в конец строки
) Перемещает курсор в начало следующего предложения
( Перемещает курсор в начало предыдущего предложения
} Перемещает курсор в начало следующего абзаца
{ Перемещает курсор в начало предыдущего абзаца
G Перемещает курсор в конец текущего документа
H Перемещает курсор на первую строку на экране
L Перемещает курсор на последнюю строку на экране

Обратите внимание, что с каждой командой этой таблицы по умолчанию используется число 1. Клавиша j перемещает курсор вниз на одну строку, клавиша k перемещает его вверх на одну строку, клавиша w перемещает вправо на одно слово и так далее. Все эти команды можно модифицировать, вводя перед ними число.
Чтобы работать с текстом понадобится ещё несколько команд. Вот они:

x Удаляет символ в позиции курсора и сдвигает следующие за ним символы влево.
X Удаляет символ перед курсором и сдвигает следующие за ним символы влево.
- Заменяет букву в позиции курсора той же буквой другого регистра.
D Удаляет текст от позиции курсора до конца строки.
dd Удаляет всю текущую строку целиком.
ndd Здесь n – число удаляемых строк. Например, команда 5dd удаляет текущую строку и четыре строки, следующие за ней.
:q Завершает работу редактора.
:q! Завершает работу программы без сохранения сделанных изменений.
:sh Запустить командный интерпретатор (чтобы вернуться в редактор, введите ‘exit’).
:w Сохранить редактируемы файл.
/ поиск текста.

Примечание: Чтобы быстро изучить команды редактора vi, вводимые с клавиатуры, воспользуйтесь командой vimtutor.












Назначение прав доступа

Права доступа к объекту могут быть заданы двумя способами: в цифровой или в буквенной форме. При использовании буквенной формы эти три категории обозначаются так: u – пользователь (владелец), g – группа, o – остальные и a – все эти категории вместе. Тремя основными типами прав доступа являются: r – право на чтение, w – право на запись и x – право на выполнение. Комбинации r, w и x для трех категорий и являются правами доступа к файлу:

User Group Others
rwx rwx rwx

Многие пользователи предпочитают представлять права доступа с помощью цифрового кода, базирующегося на 8-ричной системе счисления. Ниже даны значения прав доступа в числовой нотации:

· 4 означает право на чтение;

· 2 означает право на запись (модификацию);

· 1 означает право на выполнение.

Предыдущий пример (-rw-rw-r--) в восьмеричной нотации записывается короче – 664. Получается это число просто: старший разряд – права владельца файла, т.е. чтение и запись (4+2), далее идет группа (4+2) и весь остальной мир (только чтение – 4).


Права доступа к каталогам

В Linux, как и в остальных UNIX, каталоги также считаются файлами. Например, выполним следующую команду ls, чтобы увидеть разрешения на доступ:

$ mkdir foo
$ ls –ld foo
drwxrwxr-x 2 bball bball 4096 jul 23 12:37 foo

В данном примере команда mkdir создает каталог. Команда ls с параметром –ld отображает разрешения на доступ и иную информацию, касающуюся этого каталога в целом, но не его содержание. Здесь можно видеть, что права доступа к каталогу имеют значения 775 (владелец имеет все права 4+2+1, группа также все права, а весь остальной мир не может ничего изменять в нем 4+1).

Отсюда видно, что владелец и члены группы могут выводить содержание каталога и записывать в него. Все остальные пользователи могут только выводить содержание каталога. (Чтобы увидеть содержание каталога, необходимо иметь разрешение на выполнение).

Вы заметили, что в выходных данных команды ls в правах доступа стоит первой буква d. Это значит, что данный файл является каталогом; у обычного файла на этом месте стоит пробел. Другие буквы указывают на специальный тип файла. Например, если с помощью команды ls вывести информацию о файле устройства для последовательного порта, то можно увидеть следующее:

$ ls –l /dev/ttyS0
crw-rw---- 1 root uucp 4,64 Mar 23 23:38 /dev/ttyS0

Файл /dev/ttyS0 представляет символьное устройство (последовательный порт); владеет данным файлом пользователь root и этот файл доступен также любому члену группы uucp. Права доступа к файлу имеют значения 660 (чтение+запись, чтение+запись, нет прав).

Изменить права доступа к файлу можно с помощью команды chmod. Чтобы задать желаемое изменение в этой команде используют разные формы записи, включая восьмеричную и мнемоническую. В мнемонической форме параметры команды chmod обозначают следующее (со знаком плюс (+) они используются для добавления права на доступ, со знаком минус – для их удаления):

u Добавить (или удалить) право на какую-либо операцию с файлом (каталогом) для юзера.
g Добавить (или удалить) право для группы.
o Добавить (или удалить) право для всех остальных.
a Добавить (или удалить) право всем пользователям (all).
r Добавить (или удалить) право на чтение.
w Добавить (или удалить) право на запись.
x Добавить (или удалить) право на выполнение.

Из комбинации этих слов и складывается указание о том, как следует изменить права доступа. Например, если создать файл, скажем, readme.txt, то для этого файла будут установлены разрешения, используемые по умолчанию (они определяются маской unmask в файле /etc/bsdhrc);

-rw-rw-r-- 1 bball bball 12 Oct 2 16:48 readme.txt

Допустим, мы хотим запретить всем без исключения пользователям модифицировать этот файл. Сделать это можно с помощью команды Chmod:

$ chmod –aw readme.txt
$ ls –l readme.txt
-r--r--r-- 1 bball bball 12 Oct 2 16:48 readme.txt

Теперь никто не сможет записывать в файл. Впрочем, владелец, если файл находится в его домашнем каталоге или каталоге /tmp, сможет изменять этот файл – поскольку имеет право на доступ к этим каталогам. Чтобы восстановить право на чтение и запись для владельца, можно выполнить такую команду:

$ chmod u+rw readme.txt
$ ls –l readme.txt
-rw------- 1 bball bball 12 Oct 2 16:48 readme.txt

Чтобы только владелец мог читать файл и записывать в него, можно также использовать восьмеричную форму записи командой chmod. Для этого необходимо выполнить командуchmod со значениями прав доступа, равными 600:

$ chmod 600 readme.txt

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














Работа в качестве root

В UNIX и Linux пользователь root, суперпользователь, ­– это царь и бог в системе. У него специальная учетная запись, которая разрешает ему делать все, что ему заблагорассудится. После регистрации в качестве пользователя root, вы имеете возможность полностью разрушить работающую систему просто вызвав команду rm:

# rm –fr /

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

Работать в Linux в качестве root следует в тех случаях, когда необходимо сконфигурировать файловую систему или провести работы по ремонту или сопровождению операционной системы.

Добавление пользователей

Чтобы быстро добавить пользователя, выполните команду useradd и задайте в ней имя пользователя:

# useradd winky

После добавления пользователя необходимо с помощью команды passwd ввести начальный пароль для этого пользователя:

# passwd winky
Changing password for user winky.
New password:
Retype new password:
Passwd: all authentication tokens updated successfully.

Если для нового пользователя не ввести начальный пароль, то он не сможет зарегистрироваться и войти в систему. Чтобы увидеть используемые по умолчанию параметры для нового пользователя, выполните команду useradd с парметром –D:

# useradd –D
Group=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKELL=/etc/skel

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











Удаление пользователей

Для удаления учетной записи используется команда userdel. Эта команда удаляет запись, принадлежащую данному пользователю, из системного файла /etc/passwd. Чтобы удалить все его файлы и каталоги (например, файл почтовой очереди в каталоге /var/spool/mail), следует воспользоваться параметром -r:

# userdel –r winky

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

Выключение системы

Для выключения системы используйте команду shutdown. Эта команда имеет некоторое число опций, позволяющих например, выключить машину в заранее определенное время. Но если нужно выключить машину немедленно, можно воспользоваться опциями –h или halt:

# shutdown –h now

Или

# shutdown –h 0

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

Перезагрузка системы

Для перезагрузки системы также можно воспользоваться командой shutdown. Если необходимо перезагрузить систему, воспользуйтесь опцией –r (reboot); для немедленной перезагрузки укажите после опции now или 0 (ноль):

# shutdown –r now

Или

# shutdown –r 0

Другими командами, которые можно использовать для выключения системы и её перезагрузки, являются halt и reboot.

Практические задания

Задание 1. Запустить Linux.


Рис. 1. Экран после входа в графический режим операционной системы Linux


Задание 2. Запустить консоль Linux и войти в систему под пользователем root.

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


Рис. 2.Программа-оболочка Bash

В результате откроется окно программы-оболочки Bash. Это окно очень напоминает командную строку Windows. В окне этой программы вы видите приглашение:

dsl@box:~$

Введите после приглашения команду sudo su:

dsl@box:~$ sudo su

В результате приглашение примет такой вид:

[/home/dsl]#

Здесь символ «#» в командной строке указывает на то, что вы работаете из под пользователя root.

Введите команду whoami (эта команда сообщает имя, с которым вы вошли в систему).

Завершите работу пользователя root в системе. Для этого наберите в командной строке exit.

Задание 3. Добавьте в систему нового пользователя.

Войдите в систему под пользователем root.

Добавьте в систему пользователя с именем student (используйте команды useradd и passwd):

Useradd student
Passwd student

После ввода команды passwd student, на экране появится сообщение:

Enter new password:

Вы должные задать пароль для пользователя (не менее 5 символов) и нажать <Enter>. Обратите внимание, что при вводе пароля, он не отображается на экране. После этого выведется сообщение:

Re-enter new password:

Вы должны ещё раз ввести тот же самый пароль, который был вами задан для пользователя student. После нажатия на клавишу <Enter> на экран выведется:

Password changed.

Итак, вы зарегистрировали нового пользователя в системе и задали ему пароль, теперь можно зайти под этим пользователем, воспользовавшись командой login:

[home/dsl]# login
Box login: student
Password:

После ввода пароля вы увидите приглашение: student@tty0[/]$

Введите команду whoami и убедитесь в том, что вы зашли в систему из-под пользователя student.

Для завершения работы с пользователем воспользуйтесь командой logout.




Задание 4. Перейти в корневой каталог и просмотреть его содержимое

· Перейдите в корневой каталог:
cd /

· Просмотрите его содержимое командой ls либо dir (см. рис. 3).


Рис. 3. Результат выполнения команды ls

Можно использовать команду ls с дополнительными опциями:
ls –l



Задание 5. Ознакомьтесь с файловым менеджером Midnight Commander.

· Запустите оболочку Bash. Для этого щелкните по значку ATerminal на рабочем столе.

· Наберите в консоли команду mc.


Рис. 4. Окно программы Midnight Commander

В результате откроется окно программы Midnight Commander, очень похожей на Norton Commander и FAR Manager (см. рис. 4). Рассмотрим основные элементы окна этой оболочки. Большую часть окна занимает левая панель, правая панель. Ниже этих панелей располагается строка, позволяющая вводить команды Linux. Ещё ниже располагается строка, содержащая краткое напоминание о назначении функциональных клавиш (говорят также «горячих») программы. В верхней части окна располагается строка меню. Рассмотрим назначение некоторых клавиш и клавиатурных команд, применяемых при работы с Midnight Commander:


Таблица 3. Назначение клавиш оболочки Midnight Commander

Клавиши Назначение
TAB переключение между панелями
F3 просмотр файла
F4 редактирование файла
F5 копирование файла
Клавиши Назначение
F6 переименование (перемещение) файла
F7 создание каталога
F8 удаление файла
F9 активизация меню
F10 выход и командной оболочки
CTRL+O убрать обе панели
CTRL+U поменять панели местами
Insert пометка файлов
серый плюс выбор группы файлов (работает при включенном режиме Num Lock)

Для выбора файла в панели можно использовать клавиши управления курсором (стрелки), Page Up, Page Down.

Используя описанные в табл. 3 команды выполните следующие действия:

· Используя клавиши управления курсором, выберите подсветкой каталог и раскройте его содержание, нажав клавишу <Enter>.

· Перейдите в корневой каталог. Для того чтобы переходит в родительский каталог, необходимо выбирать подсветкой пункт /..

· Перейдите в каталог /ramdisk

· Создайте в каталоге /ramdisk подкаталог student.

· Скопируйте в каталог /ramdisk/student каталог ~home (он находится в корневом каталоге /)

· Выйдите из Midnight Commander, нажав F10.

Задание 6. Навигация по файловой системе из командной строки.

· Запустите программу оболочку bash.

· Зайдите в каталог /ramdisk/student с помощью команды cd:

dsl@box:~$ cd /ramdisk/student
dsl@box:/ramdisk/student$

· Перейдите в корневой каталог:

dsl@box:/ramdisk/student$ cd /
dsl@box:/$

· Перейдите в домашний каталог (домашний каталог обозначается символом «тильда» ~):

dsl@box:/$ cd ~
dsl@box:~$




Задание 7. Работа с текстовым редактором Vim

· Запустите программу оболочку bash.

· Перейдите в каталог /ramdisk/student

· Создайте в каталоге /ramdisk/student текстовый файл file1.txt:

dsl@box:/ramdisk/student$ vi file1.txt

Чтобы начать вводить текст нажмите одну из клавиш a, i или o. Для начала ввода текста можно также воспользоваться клавишей <Insert>. Напечатайте в текстовом файле в первой строке свою фамилию и имя, номер группы. В последующих строках наберите произвольный текст. В конце файла ещё раз напечатайте свою фамилию и имя. Ввод каждой из строк заканчивается нажатием клавиши <Enter>.

· Сохраните файл и выйдите из текстового редактора. Для этого сначала нажмите <Escape>; потом напечатайте :wq и нажмите <Enter>.

· Просмотрите созданный вами файл. Для этого вновь выполните команду cat:

dsl@box:/ramdisk/student$ cat file1.txt

Задание 8. Управление файлами

· Зайдите в каталог /ramdisk/student.

· Переименуйте файл file1.txt в file.txt.

· Создайте копию файла file.txt под именем file2.txt.

· Удалите файл file.txt.

· Найдите в файле file2.txt строки, содержащие ваше имя и отобразите их на экране.

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

· Зайдите в каталог /ramdisk/student

· Просмотрите, какие права установлены для файла file2.txt. Для этого воспользуйтесь командой ls:

dsl@box:/ramdisk/student$ ls –l file2.txt
-rw-rw-r-- 1 dsl staff 111 Nov 18 06:41 file2.txt

· Установите права для файла file2.txt следующим образом: владелец, группа и все остальные имеют на запись, чтение и выполнение:

dsl@box:/ramdisk/student$ Chmod 777 file2.txt


Задание 10. Работа с сетевыми утилитами

В Linux имеется множество утилит для работы с сетью. Рассмотрим некоторые из них.

· Запустите консоль. Зайдите под пользователем root.

· Выполните команду ifconfig (название команды происходит от «Interface Confuguration»). Для этого наберите в командной строке ifconfig и нажмите <ENTER>.

· С помощью команды можно также менять ip-адрес для сетевой карты. Наберите следующую команду:

[/home/dsl]# ifconfig eth0 192.168.192.130

В результате ip-адрес вашего компьютера будет 192.168.1.130. Чтобы убедиться в этом наберите команду ifconfig ещё раз:
[/home/dsl]# ifconfig


Рис. 5. Результат выполнения команды ifconfig

Eth0 – это обозначение сетевой карты (интерфейс Ethernet).
Если сетевых карт несколько, то остальные сетевые карты обозначаются eth1, eth2…

· «Пропинговать» какой-либо узел (то есть проверить работоспособность протоколов TCP/IP на компьютере) можно командой Ping. Например:

[/home/dsl]# ping 192.168.192.130.

В результате на указанный узел будут отправляться пакеты до тех пор, пока не будет нажата комбинация клавиш Ctrl+C.



Задание 11. Получение справки по командам.

· Откройте консоль.

· Получите справку по команде cd. Для этого введите в командной строке help cd

· Аналогичным образом получите справку для команд: dir, su, help.

Задание 12. Перезагрузка и выключение компьютера (Перед выполнением задания покажите преподавателю результаты вашей работы по заданиям 1-11).

· Перезагрузите компьютер. Для этого откройте оболочку bash. Зайдите под пользователем root. Введите в командной строке reboot.

· Вновь запустите Linux. Откройте оболочку bash и выключите компьютер командой halt.

Контрольные вопросы

· Какие основные каталоги содержаться в корневом каталоге в Linux?

· Какую команду необходимо использовать, чтобы просмотреть содержимое каталога?

· Как обозначаются родительский каталог и домашний каталог пользователя? Какая команда используется для навигации по файловой системе?

· Как запустить текстовый редактор vi? Какие клавиши нужно нажать, чтобы начать вводить текст в этом текстовом редакторе? Как сохранить текст и выйти из программы vi?

· Как удалить всю строку целиком в текстовом редакторе vi? Какие ещё команды vi для работы с текстом вы знаете?

· Как просмотреть содержимое текстового файла?

· Какой командой осуществляется поиск в файле и вывод на экран строк, содержащих заданный текст?

· Какие существуют права доступа к файлам и каталогам? Как задать права для файла, чтобы он был доступен только для чтения для всех пользователей; для выполнения и записи – только для владельца файла?

· Как войти в систему Linux? Как добавить, удалить нового пользователя?

· Как завершить работу с системой Linux?

· Для чего предназначена программа Midnight Commander?

· Почему нужно быть особенно осторожным при работе в системе Linux под пользователем root?

· Что означают права доступа к файлу, обозначенные числом 762?

· Какие команды нужно знать, чтобы добавить пользователя в систему?

· Как удалить пользователя в Linux?



ПО Oracle Virtual Box

 

Цель работы: Приобрести опыт работы с виртуальной машиной на базе ПО Oracle Virtual Box

План проведения занятия:

1. Ознакомиться с программным обеспечением Oracle VirtualBox.

2. Создать виртуальную машину исходя из предоставленной информации о минимальных аппаратных требований предлагаемой к установке и изучению операционной системы (ОС).

3. Установить ОС на виртуальный компьютер. Разобрать процесс установки ОС на этапы.

4. Познакомиться с основными группами программ входящих в состав ОС.

Оборудование:

Аппаратная часть: персональный компьютер, сетевой или локальный принтер.

Программная часть: программа VirtualBox, установочный диск либо образ диска с ОС.

 

Технология виртуализации предназначена для осуществления возможности одновременного запуска на одном компьютере нескольких (в том числе, различных) ОС.
VirtualBox:

· является кросс платформенным приложением виртуализации и работает на компьютерах с процессорами Intel или AMD под управлением операционных систем Windows, Mac, Linux или Solaris;

· расширяет возможности вашего компьютера тем, что позволяет работать множеству операционных систем одновременно (внутри виртуальных машин);

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

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

· появляется возможность инсталляции на одном компьютере нескольких ОС без необходимости соответствующего конфигурирования физических жестких дисков;

· возможно осуществлять работу с несколькими ОС одновременно с динамическим переключением между ними без перезагрузки реальной системы;

· сокращается время изменения состава и конфигурации установленных виртуальных ОС;

· осуществляется изоляция реального оборудования от нежелательного воздействия программного обеспечения, работающего в среде виртуальной ОС;

· появляется возможность моделирования вычислительной сети на единственном автономном компьютере.

Задачи, которые можно решать без перезагрузки системы и без опасения нанести ей какой-либо ущерб:

· освоение новой, альтернативной ОС;

· запуск специализированных приложений, предназначенных для работы в среде конкретной ОС;

· тестирование одного приложения под управлением различных ОС;

· установка и удаление оценочных или демонстрационных версий новых приложений;

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

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



Основная терминология

Операционная система хоста (ОС хоста, host OS) это операционная система физического компьютера, в которой установлен VirtualBox.
Гостевая операционная система (Гостевая ОС, guest OS) – это операционная система работающая внутри виртуальной машине.
Теоретически, в VirtualBox могут работать операционные системы DOS, Windows, OS/2, FreeBSD, OpenBSD.


Виртуальная машина (ВМ,VM) ­­­– это специальная среда которую VirtualBox создает для работы гостевой операционной системы.


Обычно, ВМ существует в виде окна на рабочем столе вашего компьютера, но в зависимости от используемого интерфейса она может занимать весь ваш экран или отображаться на экране другого компьютера.


VirtualBox воспринимает ВМ как множество параметров, которые определяют ее поведение. Эти параметры включают:

· аппаратные настройки (размер памяти выделенной для ВМ, типы жестких дисков, подключенные CD и т.д.);

· текущее состояние (ВМ работает, сохранена и т.п.).

Эти настройки представлены в окне менеджера VirtualBox, а также могут управляться через программу командной строки VBoxManage .
Гостевые дополнения (Guest Additions) – это пакет программных продуктов, поставляемых с VirtualBox и разработанных для установки внутри ВМ, способствующих улучшению производительности гостевой ОС и предоставления дополнительной функциональности.







Создание виртуальной машин

После клика по кнопке "Создать" появится диалоговое окно

Рисунок 5 Диалоговое окно создания виртуальной машины

Следуйте подсказкам в диалоговом окне. И все же:

· Имя ВМ будет позже отображаться в списке ВМ, также оно будет использоваться для имени файла настроек ВМ. Полезнее использовать информативные имена, например, " XP_SP2".

· Тип выберете из спискаоперационных систем. Если вы хотите установить, что-то другое, что не перечислено в списке, выберете "Other".

· Версия выбирается из предложенного списка и должна точно соответствовать имеющемуся дистрибутиву ОС.

В следующем окне будет предложение выбора размера оперативной памяти, которую VirtualBox будет выделять виртуальной машине при каждом запуске. Объем памяти указанный здесь будет не доступен для хоста и выделен гостевой операционной системе.


Рисунок 6 Окно для выбора размера памяти

В следующем окне необходимо подключить виртуальный жесткий диск . При этом можно использовать существующий виртуальный жесткий диск для ранее созданной ВМ.

Рисунок 7 Окно для подключения жесткого диска для ВМ

После выбора "Создать новый виртуальный жесткий диск" появится
окно

Рисунок 8 Окно создания виртуального жесткого диска

После клика по кнопке "Next" следующее окно предложит выбрать формат хранения.

Рисунок 9 Окно выбора формата хранения

Рекомендуется динамический формат. После клика по кнопке " Next " на левой панели открытого окна "Oracle VM VirtualBox Менеджер" появится имя новой созданной ВМ. По умолчанию, диск ВМ будет располагаться в папке c:\Users\Имя пользователя\VirtualBox VMs\, где «Имя пользователя» — имя вашей учетной записи в Windows 7. В других ОС все будет немного отличаться. Оставляем предложенный объем диска ВМ без изменений или изменяем в случае, если необходимо ужаться или выделить дополнительное место. Очередное нажатие Next. Машина уже готова, для запуска ВМ осталось подключить образ загрузочного диска к приводу ВМ или указать, что мы будем использовать физический привод оптических дисков, если установочный диск у вас уже есть на отдельном оптическом носителе.






Запуск виртуальной машины

Имеются следующие методы запуска виртуальной машины:

· дважды кликнуть мышью на ее наименовании в списке окна менеджера;

· выбрать ее в списке окна менеджера и нажать кнопку "Запустить".

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

Рисунок 10 Окно выбора загрузочного диска

Далее все будет точно так же как при обычной загрузке операционной системы.
После установки нескольких гостевых операционных систем получим следующее окно:


Рисунок 11 Окно с заголовком "Oracle VM VirtualBox Manager" после установки нескольких VM


Настройка аппаратной части виртуальной машины.

Каждую виртуальную машину можно настроить с учетом особенностей ее использования. Кликом по кнопке "Настроить" открываем окно "Имя_ВМНастройки".


Рисунок 12 Окно для изменения параметров ВМ

Левая панель напоминает диспетчер устройств. Правая панель содержит наборы вкладок, соответствующие активному пункту левой панели. В нижней части правой панели – интерактивная справка. Разберем каждую вкладку отдельно.

· Вкладка "Общие. Основные" содержит значения основных параметров нашей виртуальной машины.

· Вкладка "Общие. Дополнительно" содержит следующие параметры:

o «Папка для снимков» принимает значение пути для снимков ВМ. Снимки ВМ – это файловые снимки состояния, данных диска и конфигурации ВМ в определенный момент времени. На одну ВМ можно создать несколько снимков, содержащих отличные друг от друга настройки и установленные приложения.

o «Общий буфер обмена» и "Drag'n'Drop" могут принимать четыре значения: «выключено», «только из гостевой ОС в основную», «только из основной ОС в гостевую», «двунаправленный», которые определяют, как будет работать буфер обмена между Вашей host-системой и виртуальной машиной.

o "Сменные носители информации" может "запоминать изменения в процессе работы" (состояние CD\DVD-приводов, рекомендуется) либо нет.

o «Мини тулбар» – это небольшая консоль, содержащая элементы управления виртуальной машиной, рекомендуется использовать в полноэкранных режимах, "расположить снизу экрана" по умолчанию.

· Вкладка "Общие. Описание" содержит описание настроек.

· Вкладка "Система. Материнская плата" содержит информацию:

o о размере оперативной памяти;

o о порядке загрузки;

o о наборе микросхем, используемой ВМ;

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

· Вкладка "Система. Процессор" содержит информацию о количестве процессоров, доступных ВМ и некоторых режимах их работы (описание режимов в интерактивной подсказке).

· Вкладка "Система. Ускорение" содержит информацию о поддержке аппаратной виртуализации AMD-V или VT-x.

· Вкладка "Дисплей. Удаленный дисплей" позволяет включить режим работы ВМ как сервер удаленного рабочего стола (RDP).

· Вкладка "Дисплей. Удаленный дисплей" позволяет включить режим работы ВМ как сервер удаленного рабочего стола (RDP).

· Вкладка "Носители" отражает образы виртуальных дисков и приводы хоста.

· Вкладка "Аудио" отражает информацию об аудиодрайверах и аудиоконтроллере.

· Вкладка "Сеть. Адаптер 1" отражает следующую информацию:

o включение сетевого адаптера;

o тип подключения

§ Не подключен

§ NAT (Network Address Translation) обеспечивает подключение к внешнему миру (просмотр Web, загрузки файлов и просмотра сообщений электронной почты в гостевой) с помощью сети хоста.

§ Сетевой мост подключает ВМ к одной из установленных сетевых карт и обмену сетевыми пакетами напрямую, в обход сетевого стека вашей основной операционной системы.

§ Внутренняя сеть может быть использована для создания программного обеспечения на основе сети, которая видна выбранной ВМ, а не приложений, запущенных на хосте или с внешним миром.

§ Виртуальный адаптер хоста может быть использован для создания сети, содержащей хозяина и множество виртуальных машин, без необходимости физического сетевого интерфейса хоста. Вместо этого, виртуальный сетевой интерфейс (похожий на интерфейс обратной связи) создается на хосте, обеспечивая связь между виртуальными машинами и хостом.

§ Универсальный драйвер – редко используемый режим и тот же общий сетевой интерфейс, позволяет пользователю выбрать драйвер, который может быть включен в VirtualBox или распределен в расширении пакета.

o "Имя" используемого контроллера.

o "Неразборчивый режим" задает политику режима данного виртуального сетевого адаптера, если он подключен к внутренней сети, виртуальному адаптеру или сетевому мосту.

o Подключение кабеля.

· Вкладка "COM-порты. Порт1" отражает информацию о номере порта и его подключении.

· Выбор "USB" на левой панели позволит подключить USB-устройства, подключенные к хосту.

· Выбор "Общие папки" на левой панели позволит подключить папки хоста с регулируемыми параметрами доступа.







Лабораторная работа №13.

Задание для лабораторной работы

Выполнить установку и настройку VirtualBox.

Цель работы: ознакомиться с возможностями настройки виртуальных машин в приложении VirtualBox.

Задание 2.

Работа с USB устройствами

 

В MS Virtual PC можно легко открыть доступ к общей папке, если гостевая и хостовая системы – MS Windows, но работать с USB устройствами позволяет не каждая версия, поэтому задание выполняется в VirtualBox.

 

1. Если гостевая ОС включена - выключите.

 

2. Зайдите в ее настройки и включите поддержку USB. Если у вас USB2.0 - поставьте соответствующую галочку.

 

 

3. Закройте настройки и запустите гостевую Windows.

 

4. Подключите свое USB устройство.

 

5. Зайдите в меню "Устройства - Устройства USB" и выберите свой девайс.

 

 

После того, как вы нажмете на устройство - VirtualBox без предупреждений заберет у хостовой ОС ресурс и отдаст его гостевой операционной системе. Так что будьте аккуратны с сохранением данных на устройстве, прежде чем отдать его гостевой ОС.

 

Если вы выберите этот пункт еще раз - устройство также без предупреждений отключиться из гостевой Windows и ресурс будет передан назад хостовой ОС.

 

Задание 3.

Выполните описание любого дистрибутива ОС Linux по образцу:

Ubuntu MATE 12.10 x64 для современных и новых игр (nvidia) reloaded 20.10.2012

 

 

Год Выпуска : 2012

Версия : Ubuntu 12.04 upd 12.10 + MATE Desktop (Mint) 64bit Build test8

Сайт разработчика: http://ubuntu.ru

 

Системные требования: Intel/AMD не менее 1.4ггц

 Оперативной памяти: Минимум 1гб . Желательно от 2.5Гб

 Жёсткий диск: минимум 11гб.

 Видеокарта (GPU) для 3д и игр - Nvidia (из коробки будут работать от 7600 до GTX)

 Для других видеокарт есть встроенный универсальный драйвер Gallium

Архитектура: amd64 (годится и для AMD и для Intel)

Таблэтка: Не требуется

Язык интерфейса: Мультиязычный (русский присутствует)

Описание: Ядро: 3.6.0, 3.5.0-17

 

Образ сочетает все известные плюсы Ubuntu 10.10 + некоторые особенности:

 

Компоненты системы и драйвера:

 

+Linux-kernel 3.6.0

 (а значит больше драйверов для устройств, полную информацию о Linux kernel 3.6.0 читайте в интернете)

 +MATE Desktop 1.4.0 (классический старый добрый рабочий стол)

 +драйвер nvidia 310.14 (бета версия)

 +Compiz + Emerald 0.9.5(собран вручную, настроен,но выключен по умолчанию)

 +подключен репозиторий Quantal (!)

 т.е. можно аккуратно устанавливать приложения из Ubuntu 12.10

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

 поставлены все обновления на текущий момент.

 +возвращено отображение Wine в меню - линк wine из прочих в mate-applications-merged (баг оригинального mint13) (спасибо за исправление Mindgames!)

 

Присутствуют следующие приложения:

 +Wine 1.5.15

 +добавлена gwenview для того чтобы можно было удобно работать с фото и смотреть эскизы

 +для проверки смартов был добавлен gnome-disk-utility

 +в настройках флеш плеера для firefox было включено автосогласие на запрос о видеозвонках и микрофоне для сайтов Вконтакте и одноклассники.

 +GIMP 2.8.2 (теперь на русском, исправлена комбинация клавиш для "сохранения как" обратно на CTRL-S )

 +Audacious 3 , Nero 4, VLC 2, Skype 4, Linux Multimedia Studio

 Total commander 7, Winrar 4

 +FTP+Pureadmin (наиболее удобный FTP)

 +Nx client, server 3.5 (удалённое управление другими компьютерами)

 +Браузеры Firefox 16, Chrome 22 , Opera 12

 +слинковал pluma на gedit в /usr/bin

 +Поддержка таппинга для ноутбуков теперь включается через меню.

 +не забыт language-pack-ru для KDE и Gnome приложений, по идее непереведённого остаться не должно.

 +mesa обновлена до 9.0 (содержит универсальный видеодрайвер Gallium)

 *почищено меню от лишнего.

 +добавлена пара элементов для настройки интерфейса,Внешний вид немного изменён

http://cs317931.userapi.com/v317931257/2e5b/OldAG005Le0.jpg

 добавил кнопку "пуск"(Гном) для тех кто её ищет . ненужное меню можно просто удалить.

 +Для Firefox были установлены аддоны:

 элементы Яндекса (перевод англ. слов по указанию мышкой, поиск )

 Adblock 2 для блокировки рекламы

 Vkontakte downloader для музыки, фото , видео

 Youtube downloader для загрузки видео

 Для игр: PhysX, DirectX ,Xaudio (Xact) , K-lite codec pack

 .NET Framework 1.0, 2.0 , 4.0 (4.0 вроде как замещает 3.0)

 

Пользователь - user

Пароль - 000000

 (как для пользователя, так и для админа, кому надо поставите свой)

 

Новые комбинации клавиш

 *добавлено Ctrl-Alt-PgDn менеджер процессор (диспетчер программ)

 *добавлено Ctrl-Alt-PgUp немедленно убить все Win32 процессы

 *!! хранитель экрана пока что не убран и будет вас раздражать

 *добавлены фирменные драйверы и их источник для принтеров Canon Pixma и Mpxxx, без Turboprint 2.15+

 *добавлены схемы значков xp , 7 для ностальгирующих


 


II.

Ubuntu 12.04
http://releases.ubuntu.com/12.10/ubuntu-12.10-desktop-i386.iso.torrent

Год Выпуска: 2012

Самый новый выпуск

Разработчик: StartUbuntu.ru

Сайт разработчика: http://startubuntu.ru/?page_id=154

 

Системные требования: 32- или 64-разрядный процессор Intel, AMD или аналог с тактовой частотой 1ГГц, оперативная память 512Мб, свободное место на жестком диске 8Гб

Архитектура: x86

Таблэтка: Не требуется

Язык интерфейса: русский

Описание: Ubuntu 12.04 Classic Remix — это специальная сборка от проекта StartUbuntu.Ru с рабочим столом Gnome Classic, полной поддержкой русского языка, мультимедиа-кодеками и набором дополнительного ПО.

 

В качестве рабочего окружения используется классический рабочий стол Gnome Classic: классическое сгруппированное по категориям меню приложений, настраиваемые панели, стандартное расположение кнопок управления окном справа - тот самый простой и интуитивно-понятный интерфейс, который сделал Ubuntu известной во всем мире как дружественный к пользователю дистрибутив Linux!

 

Уже предустановлены пакеты поддержки русского языка, включая файлы справки!

 

Поддерживает воспроизведение большинства популярных аудио- и видео-форматов, благодаря предустановленным кодекам. Также в системе предустановлен пакет Abode Flash Player и набор дополнительных шрифтов. В дополнение к базовому набору программ, в Ubuntu 12.04 Classic Remix предустановлен графический редактор GIMP 2.8 с поддержкой однооконного режима работы. Кроме стандартного для Ubuntu браузера Mozilla Firefox, в Classic Remix предустановлены браузеры Google Chrome и Opera, Skype, а также пакет Wine для запуска Windows-приложений.




План работы

1.Ознакомиться с требованиями к аппаратной конфигурации компьютера для установки заданной преподавателем версии Windows.

2.Рассмотреть варианты запуска программы установки из различных программных сред.

3.Выполнить установку Windows с использованием загрузочного CD.

Использовать следующие параметры установки:

 - установка в текущий логический диск C:,

 - тип файловой системы - DOS-FAT,

- имя домена - MGUK,

 - имя компютера - y-x, где y – номер аудитории, x - номер компьютера,

- CD-key – предоставляется преподавателем,

 - способ подключения к сети – обычные параметры,

 - пароль совпадает с именем компьютера,

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

 

4.Изучить состав системного меню, состав и основные свойства программ группы Programs: Acsessories, Command Prompt, Explorer...

5.Изучить назначение и основные возможности программ группы Administrativ Tools.

6.Рассмотреть средства настройки системы средствами Control Panel.

Ознакомиться с апплетами Console, Devices, Network, Server, Services, System.

 Содержание отчета

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

 

Контрольные вопросы

1. Особенности использования объектной модели, связь объект-свойства в ОС

2. Важнейшие объекты ОС: файл-программа, файл-данные, файл-ярлык, каталог, каталог рабочий стол, каталог главное меню.

3. Технология "перетащил и бросил" ('drag-and -drop')

4. Правило 2-х кнопок и контекстное меню.

5. Глобальная для всей ОС связь данные-приложение.

6. Технология OLE , использование буфера обмена (clipboard) данными между приложениями.

7. Приложения как конверторы, окна импорта-экспорта.

8.

9. Общие свойства серверных ЛВС. Сети масштаба рабочей группы, кампуса, корпорации.

10.  Сетевая модель Windows.

11.  Архитектура Windows.

12.  Архитектура Windows. Состав и характеристика компонентов пользовательского режима. Множественные прикладные среды.

13.  Установка Windows. Варианты установки, выбор параметров, возможные проблемы и меры по их предотвращению.

14.  Этапы и отличительные особенности процедуры установки Windows. Последовательность действий и конфигурирование компонентов в процессе установки.

15.  Состав системного меню. Назначение и основные возможности программ групп Administrativ Tolls.

16.  Средства настройки системы, входящие в Control Panel: Network, Services, Servers, Devices, Console и т.д.

17.  Установить и определить свойства компонентов:

-клиент сетей Microsoft,

-клиент сетей NetWare,

- сетевой адаптер,

- протокол IPX/SPX,

- протокол NetBEUI,

- служба доступа к файлам Microsoft.

18.  Компоненты сетевой подсистемы: клиенты, сервисы, адаптеры, протоколы. Установка, основные параметры и взаимосвязь компонентов.

19.  Эталонная семиуровневая модель OSI. Функции уровней.

20.  Стек протоколов IPX/SPX. Поддержка IPX/SPX в Windows. Спецификации ODI, NDIS, протокол NetBEUI.

21.  Стек протоколов TCP/IP. Поддержка TCP/IP в Windows.

22.  Управление ресурсами в одноранговой сети Windows.

23.  Управление пользователями в одноранговой сети, профили пользователей.

24.  Свойства Windows как клиента в серверной сети Windows. Понятие о системной политике.

 

Приложение 1

Приложение 2

Примерный процесс установки на отдельный компьютер ОС семейства Windows.

ЭТАПЫ УСТАНОВКИ
1 Планирование установки
2 Запуск инсталляции
3 Копирование врем. Файлов
4 Загрузка текстовой части инсталляции
5 Распознавание/выбор устройств хранения информации.
6 Показ лицензии
7 Поиск версий
8 Выбор типа дисплея, клавиатуры, мыши и др.
9 Выбор дискового раздела
10 Изменение MBR
11 Выбор файловой системы
12 Выбор каталога для системы
13 Проверка целостности дисков
14 Копирование файлов
15 Запуск Windows
16 Ввод имени пользователя и организации
17 Ввод CD-ключа
18 Выбор метода лицензирования
19 Ввод имени компьютера
20 Выбор типа сервера (PDC,BDC, stand-alone)
21 Задание пароля адм-тора для учетной записи
22 Создание загр. диска
23 Выбор дополнительных компонентов
24 Выбор метода подсоединения к сети
25 Выбор IIS
26 Выбор драйвера сетевой карты
27 Выбор устанавливаемых сетевых протоколов
28 Выбор сетевых служб
29 Установка выбр. сетевых компонентов
30 Указание системного времени и часового пояса
31 Конфигурирование граф. адаптера
32 Копирование файлов дополнительных компонентов
33 Окончательные действия

 



Установка и настройка

Подключаем OpenVZ репозиторий:

1 wget -P /etc/yum.repos.d/ http://ftp.openvz.org/openvz.repo

Ипортируем OpenVZ GPG ключ

1 rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ

Устанавливаем OpenVZ ядро:

1 yum install vzkernel

Подправляем /etc/sysctl.conf:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # On Hardware Node we generally need # packet forwarding enabled and proxy arp disabled net.ipv4.ip_forward = 1 net.ipv6.conf.default.forwarding = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.default.proxy_arp = 0   # Enables source route verification net.ipv4.conf.all.rp_filter = 1   # Enables the magic-sysrq key kernel.sysrq = 1   # We do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0

Устанавливаем нужные инструменты для работы с контейнерами

1 yum install vzctl vzquota ploop

Перезагружаем ноду в загрузчике выбираем OpenVZ (должно быть стандартно)

Создание и управление

Создание VENET контейнера

Создаем CT:

1 vzctl create 101 --ostemplate centos-6-x86_64 --config vswap-1g --layout simfs

Конфигурируем CT:

1 2 3 4 5 6 7 8 9 10 11 12 vzctl set 101 --save --name server101 vzctl set 101 --save --onboot yes vzctl set 101 --save --hostname server101.example.com vzctl set 101 --save --ipadd 192.168.1.101 vzctl set 101 --save --searchdomain example.com vzctl set 101 --save --nameserver 8.8.8.8 --nameserver 8.8.4.4 vzctl set 101 --save --cpus 4 vzctl set 101 --save --ram 8G vzctl set 101 --save --swap 4G vzctl set 101 --save --diskspace 100G vzctl start 101 vzctl exec 101 passwd

Управление:

Список Ваших виртуальных машин и их состояние

1 2 3 4 5 6 vzlist -a CTID NPROC STATUS IP_ADDR HOSTNAME 168 25 running xx.xx.xx.xx hostname1 169 122 running xx.xx.xx.xx hostname2 170 163 running xx.xx.xx.xx hostname3 141 - stopped xx.xx.xx.xx hostname4

Запустить виртуальную машину

1 vzctl start 141

Попасть на виртуальную машину:

1 vzctl enter 141

Остановить виртуальную машину:

1 vzctl stop 141

Перезагрузить виртуальную машину:

1 vzctl restart 141

Удалить виртуальную машину:

1 vzctl destroy 141

Просмотреть сколько ресурсов отдано виртуальной машине:

   

Колонка failcnt очень важна, она должна содержать только нули; иначе,
это будет означать, что виртуальной машине нужно больше ресурсов, чем
ей выделено в данный момент. Откройте конфигурационный файл в каталоге
/etc/vz/conf и увеличьте соответствующий ресурс, а затем перезагрузите
виртуальную машину.





Базовый мониторинг

Если наша нода перегружена, в выводе команды top висит какой то процесс.
Нужно узнать какой виртуальной машине он принадлежит

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

1 2 3 vzpid 479522 Pid CTID Name 479522 176 apache2

Для удобства можно написать однострочный скрит:

1 2 echo "vzlist -a -o veid,hostname,laverage,numproc,kmemsize,kmemsize.b,privvmpages,privvmpages.b,numtcpsock,numfile" > /sbin/vtop chmod +x /sbin/vtop

Запустим и посмотрим что получилось:


Скрипты автоматизации

Для облегчения работы с OpenVZ, был написан скрипт по созданию контейнера и переустановке операционной системы в контейнере. Так же скрипт резервного копирования контейнеров.

Else

 

VZ_DIR='/vz'

 

if [ -z $1 ];then

 

  echo "Enter arguments 'new' or 'reinstall'"

 

elif [ $1 == 'new' ];then

 

  echo newVM

  echo "Select OS template"

  list_template=`ls $VZ_DIR/template/cache/|sed 's/.tar.gz//'`

  select select_template in ${list_template}

        do

               if [ "_$select_template" = "_" ];

          then

                      echo "You choosed wrong!"

               else

           break

             fi

  done

  while [ -z $vz_hostname ];do

        printf "Enter hostname: "

        read vz_hostname

  done

  while [ -z $vz_ip ];do

        printf "Enter IP address: "

        read vz_ip

  done

  while [[ -z ${DNS_CHOICE} ]]; do

        printf "1) Lucky.Net DNS\n2) Google DNS\n3) Another DNS\nYour choice: "

        read DNS_CHOICE

  done

        case ${DNS_CHOICE} in

               1 ) DNS1='193.193.193.126'

                      DNS2='62.244.62.244'

                      ;;

               2 ) DNS1='8.8.8.8'

                      DNS2='8.8.4.4'

                      ;;

               3 ) while [[ -z DNS1 ]]; do

                      printf "Primary DNS: "

                      read DNS1

                      done

                      printf "Secondary DNS: "

                      read DNS2

                      ;;

        esac

  while [ -z $vz_cpu ];do

        printf "CPUs(1...64): "

        read vz_cpu

  done

  while [ -z $vz_ram ];do

        printf "RAM: "

        read vz_ram

  done

  printf "SWAP: "

  read vz_swap

  while [ -z $vz_hdd ];do

        printf 'HDD: '

        read vz_hdd

  done

 

echo "Build setings:"

echo -e "\tOS:   $select_template"

echo -e "\tHostname: $vz_hostname"

echo -e "\tIP:   $vz_ip"

echo -e "\tCPUs: $vz_cpu"

echo -e "\tRAM:  $vz_ram"G

echo -e "\tSWAP: $vz_swap"G

echo -e "\tHDD:  $vz_hdd"G

Echo

printf "Confirm(y/n): "

read vz_build_yn

 

if [ $vz_build_yn == 'y' ];then

vznum=`vzlist -a| tail -n 1|awk '{print $1}'`

let vznum=$vznum+1

 

  printf "Creating VZ container [ id: $vznum ]...\n"

  vzctl create $vznum --ostemplate $select_template --layout simfs > /tmp/$vznum.log

  printf "Setting automatic boot on...\n"

  vzctl set $vznum --save --onboot yes >> /tmp/$vznum.log

  sleep 1

  printf "Setting hostname [ $vz_hostname ]...\n"

  vzctl set $vznum --save --name $vz_hostname >> /tmp/$vznum.log

  vzctl set $vznum --save --hostname $vz_hostname >> /tmp/$vznum.log

  sleep 1

  printf "Setting IP address [ $vz_ip ]...\n"

  vzctl set $vznum --save --ipadd $vz_ip >> /tmp/$vznum.log

  sleep 1

        if [ -z $DNS2 ];then

               printf "Setting DNS [ $DNS1 ]...\n"

               vzctl set $vznum --save --nameserver $DNS1 >> /tmp/$vznum.log

        else

               printf "Setting DNS [ $DNS1 and $DNS2]...\n"

               vzctl set $vznum --save --nameserver $DNS1 --nameserver $DNS2 >> /tmp/$vznum.log

        fi

  sleep 1

  printf "Setting CPU's [ $vz_cpu ]...\n"

  vzctl set $vznum --save --cpus $vz_cpu >> /tmp/$vznum.log

  sleep 1

  printf "Setting RAM [ $vz_ram ]...\n"

  vzctl set $vznum --save --ram "$vz_ram"G >> /tmp/$vznum.log

  if [ -n $vz_swap ];then

        vzctl set $vznum --save --swap "$vz_swap"G >> /tmp/$vznum.log

  fi

  sleep 1

  printf "Setting HDD quota [ $vz_hdd ]...\n"

  vzctl set $vznum --save --diskspace "$vz_hdd"G >> /tmp/$vznum.log

  sleep 1

  printf "Starting VZ container [ $vznum :: $select_template]...\n"

  vzctl start $vznum >> /tmp/$vznum.log

  sleep 1

  printf "For set root password run 'vzctl exec $vznum passwd'\n"

Else

 

  echo 'exit'

 

fi

 

elif [ $1 == 'reinstall' ];then

VZCONF_DIR='/etc/vz/conf'

RANDOM_CONF=`date|md5sum|cut -c-10`

           if [ -z $2 ];then

 

                   printf "Enter <CTID> "

           else

           printf "Are you sure wont reinstall [ id:`vzlist |grep "$2"|awk '{print $1,$5}'|sed 's/ / name:/g'` ]?(y/n) "

           read vz_reinstall_yesno

                   if [ $vz_reinstall_yesno == 'y' ];then

 

           list_template=`ls /vz/template/cache/|sed 's/.tar.gz//'`

           select select_template in $list_template

                   do

                 if [ "_${select_template}" = "_" ];then

 

                                           printf "You choosed wrong!\n"

                           else

                                           break

                           fi

                     done

 

OSTEMPLATE=`grep 'OSTEMPLATE=' "${VZCONF_DIR}"/"$2".conf|awk -F'"' '{print $2}'`

 

           if [ ${OSTEMPLATE} == ${select_template} ];then

 

           cp "${VZCONF_DIR}"/"${2}".conf "${VZCONF_DIR}"/"${RANDOM_CONF}"

                      printf "${OSTEMPLATE} == ${select_template}\n"

                   printf "Stoping container...\n"

                   vzctl stop ${2}

                   printf "Reinstalling container...\n"

                   vzctl destroy ${2}

                   vzctl create ${2} --ostemplate ${select_template} --layout simfs

                   mv "${VZCONF_DIR}"/"${RANDOM_CONF}" "${VZCONF_DIR}"/"${2}".conf

                   printf "Starting container...\n"

                   vzctl start ${2}

 

 

           else

 

               printf "Creating backup file ${VZCONF_DIR}"/"${RANDOM_CONF}\n"

                   sed -r "s/OSTEMPLATE=\"${OSTEMPLATE}\"/OSTEMPLATE=\"${select_template}\"/g" "${VZCONF_DIR}"/"$2".conf > "${VZCONF_DIR}"/"${RANDOM_CONF}"

                   printf "${OSTEMPLATE} != ${select_template}\n"

                   printf "Stoping container...\n"

                   vzctl stop ${2}

                   printf "Reinstalling container...\n"

                   vzctl destroy ${2}

                   vzctl create ${2} --ostemplate ${select_template} --layout simfs

                   printf "Restore file ${VZCONF_DIR}"/"${RANDOM_CONF}\n"

                   mv "${VZCONF_DIR}"/"${RANDOM_CONF}" "${VZCONF_DIR}"/"${2}".conf

                   printf "Starting container...\n"

                   vzctl start ${2}

 

           fi

 

                   elif [ $vz_reinstall_yesno == 'n' ];then

 

                   printf "Bye!"

                   exit

           fi

 

 

        fi

 

elif [ $1 == 'delete' ];then

 

  echo DeleteVM

 

fi

fi

 



Литература

1. Windows Vista и не только. Актуальное руководство: К. К. Ковалев — Москва, НТ Пресс, 2011 г.- 352 с.

2. Windows Vista. Просто и быстро: К. К. Ковалев — Санкт-Петербург, НТ Пресс, 2012 г.- 352 с.

3. Операционная система Windows XP: А. А. Гвоздев, Н. А. Дьяков — Санкт-Петербург, АСТ, Астрель-СПб, 2011 г.- 224 с.

4. Первые шаги с Windows Vista. Руководство для начинающих (+ CD-ROM): А. В. Поляк-Брагинский — Санкт-Петербург, БХВ-Петербург, 2007 г.- 288 с.

5. Современный самоучитель работы на компьютере: Сергей Топорков — Санкт-Петербург, ДМК Пресс, 2010 г.- 336 с.

Интернет ссылки

http://www.proklondike.com/books/linux.html

http://bookwebmaster.narod.ru/linux.html

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ

учебной дисциплины

ОП.01 ОПЕРАЦИОННЫЕ СИСТЕМЫ

 

Дата: 2019-02-18, просмотров: 2426.