Лабораторная работа №3 по дисциплине: «Операционные системы» Работа пользователя в Linux



страница2/5
Дата24.11.2016
Размер2.04 Mb.
Просмотров1471
Скачиваний0
ТипЛабораторная работа
1   2   3   4   5
раздел для пользовательских программ (/usr)

  • раздел, содержащий персональные данные пользователей (/home)

  • раздел для хранения временных данных, таких как очереди печати и почты (/var)

  • раздел для дополнительного программного обеспечения (/opt)

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

    Для удобства файловая система Linux обычно представляется в виде древовидной структуры. В стандартной системе Linux можно обнаружить подобный перечень и расположение, как на схеме приведенной на рисунке 22.



    структура каталогов ос linux

    Рис. 22 Древовидная структура файловой системы linux

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

    Дерево файловой системы начинается со слэша, обозначаемого наклоненной вперед косой чертой (/). Это каталог, содержащий все основные каталоги и файлы, также называется корневой директорией или "корнем" файловой системы. В таблице 1 представлены подкаталоги корневого каталога.


    Таблица 1 - Подкаталоги корневого каталога

    /bin

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

    /boot

    Загрузочные файлы и ядро, vmlinuz. В некоторых последних дистрибутивах также данные grub. Grub – это большой единый загрузчик, который представляет собой попытку избавиться от многих различных загрузчиков известных нам на сегодняшний день.

    /dev

    Содержит ссылки на все периферийные устройства, которые представлены файлами с особыми свойствами.

    /etc

    Большинство важных системных файлов конфигурации находятся в/etc, этот каталог содержит данные, аналогичные тем что в Панели Управления Windows

    /home

    Домашние каталоги обычных пользователей.

    /initrd

    (в некоторых дистрибутивах) Информация для загрузки. Не удаляйте!

    /lib

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

    /lost+found

    Каждый раздел имеет lost+found в его верхней директории. Здесь находятся файлы, которые были спасены во время сбоев.

    /misc

    Для разных целей.

    /mnt

    Стандартные точки монтирования для внешних файловых систем, например, CD-ROM'а или цифровой камеры.

    /net

    Стандартные точки монтирования для удаленных файловых систем

    /opt

    Как правило, содержит дополнительное ПО и ПО третьих сторон.

    /proc

    Виртуальная файловая система, содержащая информацию о системных ресурсах. Более подробная информация о назначении файлов в proc можно получить, введя команду man proc в окне терминала. Файл proc.txt рассматривает виртуальную файловую систему в деталях.

    /root

    Домашняя директория администратора. Помните о разнице между / (корневым каталогом) и /root (домашним каталогом пользователяroot).

    /sbin

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

    /tmp

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

    /usr

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

    /var

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

    Файловая система в реальности

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

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

    Каждый раздел имеет свой собственный набор индексных дескрипторов; на всей системе с несколькими разделами могут существовать файлы с одним и тем же номером индексного дескриптора.

    Каждый inode описывает структуру данных на жестком диске, хранит информацию о свойствах файла, в том числе физическое местоположение его данных. Когда жесткий диск назначается для хранения данных (обычно во время начала процесса установки системы или при добавлении дополнительных дисков к существующей) в разделе создается определенное количество индексных дескрипторов. Этот число будет максимальным количеством файлов всех типов (в том числе каталогов, специальных файлов, ссылок и т.д.), которые могут существовать в одно и то же время на данном разделе. Как правило, мы рассчитываем на 1 inode от 2 до 8 килобайт памяти.

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



    • Владельца и группа-владелец файла.

    • Тип файла (обычный, каталог, ...)

    • Разрешения на файл (Раздел "Права доступа: первая линия обороны Linux")

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

    • Дата и время, когда эта информация была изменена в индексном дескрипторе.

    • Количество ссылок на этот файл.

    • Размер файла

    • Адрес, определяющий фактическое расположение данных файла.

    Виртуальная файловая система /proc

    В ОС Linux виртуальная файловая система /proc содержит файлы с текущей информацией о процессах и системе в целом. Файловая система создается в оперативной памяти компьютера в процессе загрузки и используется в качестве интерфейса обмена данными со структурами ядра. Использование файлов /proc/* в большинстве случаев позволяет избавиться от необходимости чтения и записи в устройство /dev/kmem. Большинство расположенных в структуре /proc файлов доступны пользователям только для чтения, а для записи требуют полномочий root.

    Для поддержки виртуальной файловой системы /proc при компиляции ядра должна быть включена опция /proc file system support.

    Файловая система /proc содержит множество каталогов с численными именами – эти каталоги создаются для каждого запущенного в системе процесса. Имя каталога определяется идентификатором (PID) соответствующего процесса. Каждый из таких каталогов содержит ряд подкаталогов файлов, кратко описанных ниже.

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

    Данная команда монтирует файловую систему.



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

    Операция монтирования состоит из нескольких этапов:



    1. Определение типа монтируемой системы

    2. Проверка целостности монтируемой системы

    3. Считывание системных структур данных и инициализация соответствующего модуля файлового менеджера (драйвера файловой системы)

    4. Установка флага, что система смонтирована. При корректном размонтировании этот флаг сбрасывается, если при загрузке система определяет, что он не сброшен, значит работа завершена некорректно и возможно ФС нуждается в починке.

    5. Включение новой файловой системы в общее пространство имен.

    Синтаксис команды mount:

    mount [-lhV]

    mount -a [-fFnrsvw] [-t тип_ФС] [-O список_параметров]


    mount [-fnrsvw] [-o параметры [,...]] устройство | каталог
    mount [-fnrsvw] [-t тип_ФС] [-o параметры] устройство каталог  
    Параметры

    • -V - выводит информацию о версии программы.

    • -h - выводит подсказку.

    • -v - подробно информирует о выполняемых действиях.

    • -a - монтирует все файловые системы указанного типа, описания которых содержатся в файле /etc/fstab.

    • -F - позволяет подключать файловые системы на различных устройствах или на серверах NFS параллельно. Это благоприятно сказывается на производительности; также параллельно обслуживаются тайм-ауты NFS.

    • -f - пытается делать все возможное для выполнения системного вызова; если это невозможно, тогда создаётся видимость успешного выполнения монтирования файловой системы. Этот параметр полезен в сочетании с -v , чтобы отследить попытки, предпринимаемые командой mount .

    • -l - к выводу информации добавляет описания файловых систем ext2, ext3 и XFS. Для работы этого параметра, монтирование должно разрешать операцию чтения дискового устройства (т.е. активизирован suid root).

    • -n - монтирует без записи в /etc/mtab. Необходимость в этом возникает когда, например, /etc находится на файловой системе с режимом доступа "только для чтения".

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

    • -r - монтирует файловую систему в режиме "только для чтения".

    Пример: Опробуем команду mount.

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

    Наиболее часто встречающаяся форма команды mount выглядит следующим образом:

    mount -t vfstype device dir

    1. Подключим флеш накопитель к компьютеру.

    2. В меню виртуальной машины virtual machine подключим этот накопитель к виртуальной ОС.

    3. При подключении накопителя был создан файл устройства /dev/sdb1. Смонтируем его в папку /home/andrew/FlashD. Для этого пропишем mount /dev/sdb1 /home/andrew/FlashD, предварительно создав каталог FlashD. Чтобы проверить результат введем ls /home/andrew/FlashD. Результат и проделанные действия отображены на рисунке 23.




    Рис. 23 Результат монтирования

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


    Команда umount

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

    Следует отметить, что файловая система не может быть размонтирована, если в настоящий момент она "занята" или используется, а именно: на ней есть открытые файлы, некоторые процессы имеют там рабочие каталоги или на ней размещён файл подкачки (swap).

    Синтаксис:

    umount [-hV]

    umount -a [-dflnrv] [-t тип_vfs] [-O параметры]


    umount [-dflnrv] каталог | устройство [...]  

    Параметры:



    • -V - вывести информацию о версии программы и завершить работу.

    • -h - вывести справку о программе, её параметрах и завершить работу.

    • -v - подробно комментирует происходящее.

    • -n - размонтировать без регистрации событий в файле /etc/mtab.

    • -r - если размонтирование выполнить не удалось, пытается перемонтировать файловую системы в режим "только для чтения".

    • -d - если размонтируемое устройство являлось петлевым (loop), тогда освобождает его.

    • -t тип_vfs - требует выполнение действий лишь для файловых систем указанного типа тип_vfs. Вообще тип_vfs является списком файловых систем, разделённых запятыми. Этот список может начинаться с префикса no для указания файловых систем, на которые не распространяются никакие действия.

    • -O параметры - действия будут выполнены лишь для тех файловых систем, для которых в /etc/fstab указаны заданные параметры. Кортеж из нескольких параметров подряд может быть указан через запятую. Этот список может содержать префикс no, что предпишет не выполнять действий над файловой системой, имеющую в /etc/fstab заданный параметр.

    Продемонстрируем размонтирование смонтированной ранее файловой системы на устройстве /dev/sdb1. Для этого пропишем umounts /dev/sdb1 /home/andrew/FlashD и проверим результат командой ls /home/andrew/FlashD/. Результат проделанных операций отображен на рисунке 24.



    Рис. 24 Результат размонтирования

    После данных операций видно, что каталог FlashD является пустым.

    Команда df

    Команда df выдаёт отчёт о доступном и использованном дисковом пространстве на файловых системах. При запуске без аргументов df выдаёт отчёт по доступному и использованному пространству для всех смонтированных файловых систем (всех типов) рис. 25.



    Рис. 25 Результат команды df без аргументов

    Синтаксис:

    df [опции] [файл...]

    Опции:


    • -a, --all - включает в список файловых систем те, которые имеют размер в 0 блоков, и которые по умолчанию опускаются. Такие файловые системы обычно являются псевдо-файловыми системами специального назначения. Кроме того, только если задана эта опция, будут показаны файловые системы типа "ignore" или "auto", которые поддерживаются некоторыми операционными системами.

    • -B, --block-size=size - выдаёт размеры в блоках размера байт.

    • -h, --human-readable - добавляет к каждому размеру букву, например M для мегабайт

    Результат выполнения команды df -h отображен на рисунке 26.

    Рис. 26 Результат выполнения команды df -h



    • -H, --si - делает то же, что и опция -h, но использует официальные SI единицы измерения (где для расчётов используется 1000 вместо 1024 и, таким образом, M~-- это 1000000, а не 1048576).

    • -i, --inodes - вместо информации о блоках выдаётся информация об использовании inode'ов в файловой системе. Inode содержит информацию о файле: владелец, права доступа, временные штампы и местоположение на диске.

    Результат выполнения команды df –i отображен на рисунке 27.

    Рис. 27 Результат выполнения команды df –i



    • -k, --kilobytes - при выводе устанавливает размер блока в 1024 байт.

    • -l, --local - выводит только данные о локальных файловых системах.

    • -m, --megabytes - при выводе устанавливает размер блока в двоичный мегабайт (1048576 байт). Отмечу, что четыре опции -h, -H, -k, -m носят взаимоисключающий характер и фактически будет работать только последняя, указанная в командной строке; например, если заданы одновременно опции --si и -m, то в результате при выводе размер блока будет установлен в мегабайт (1048576 байт).

    • -P, --portability - использовать формат вывода по стандарту POSIX. Он такой же, как формат по умолчанию, только информация о каждой файловой системе всегда выводится на одной строке; имя смонтированного устройства никогда не помещается на отдельную строку. Это приводит к тому, что если длина имени смонтированного устройства больше, чем 20 символов, то колонки не выравниваются.

    • -t тип-файловой-системы, --type=тип-файловой-системы - показывать только файловые системы с указанным типом-файловой-системы. Можно задать несколько типов файловых систем, если использовать несколько опций -t. По умолчанию никакие типы файловых системы не опускаются.

    • -T, --print-type – печатать тип файловой системы. Тип берётся от операционной системы (и определяется системно-зависимым способом, например посредством чтения файла /etc/mtab).

    Результат выполнения команды df –T -H отображен на рисунке 28.

    Рис. 28 Результат выполнения команды df –T -H



    • -x тип-файловой-системы, --exclude-type=тип-файловой-системы - не показывать файловые системы с заданным типом-файловой-системы. Можно задать несколько типов файловых систем, если использовать несколько опций -x . По умолчанию никакие типы файловых систем не опускаются.

    Команда mkfs

    mkfs создаёт новую файловую систему Linux.

    Синтаксис:mkfs [ -V ] [ -t fstype ] [ fs-options ] filesys [ blocks ]  

    Команда mkfs используется для создания файловой системы Linux на некотором устройстве, обычно в разделе жёсткого диска. В качестве аргумента filesys для файловой системы может выступать или название устройства (например, /dev/hda1, /dev/sdb2) или точка монтирования (например, /, /usr, /home). Аргументом blocks указывается количество блоков, которые выделяются для использования этой файловой системой. По окончании работы mkfs возвращает 0 - в случае успеха, а 1 - при неудачной операции.


    Параметры:

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

    • -t fstype - указывает тип создаваемой файловой системы. Если этот параметр не указан, тогда, по умолчанию, принимается тип файловой системы ext2.

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

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

    • -l filename - считывает список сбойных блоков из указанного файла filename. Для составления подобного списка, можно выполнить предварительную проверку, например, с помощью программы badblocks.

    • -v - подробно комментирует происходящее.

    В качестве примера создадим файловую систему ext3 на флеш диске. Флешка подключена.

    Для этого пропишем mkfs –V –t ext3 /dev/sdb1. Результат отображен на рисунке 29.


    Рис. 29 Результат выполнения команды «mkfs –V –t ext3 /dev/sdb1»


    Команда Fsck - команда UNIX, которая проверяет и устраняет ошибки в файловой системе. Fsck используется для проверки файловых систем и для исправления ошибок файловой системы, если они будут обнаружены. Основное требование при проверки файловой системы: файловая система должна быть размонтирована. Запуск fsck для уже смонтированной файловой системы может привести к ее разрушению. К счастью, при запуске fsck на смонтированной файловой системе, программа выдаёт предупреждение.

    Синтаксис: fsck [options] [filesystem]

    filesys может быть именем устройства (например, /dev/sda7), точкой монтирования этого блочного устройства (/, /mnt/sda7 и т. д.), меткой раздела или UUID-индексом. Обычно fsck параллельно проверяет данные на разных физических дисках, чтобы сократить общее время, необходимое для полной проверки всех дисков.

    Если файловых систем не указано и не указана опция -A, то fsck по порядку проверит файловые системы, указанные в /etc/fstab. Это эквивалентно опции -As.

    Код, возвращаемый fsck, является суммой следующих условий:


    • 0 — нет ошибок

    • 1 — ошибки файловой системы исправлены

    • 2 — необходима перезагрузка системы

    • 4 — ошибки файловой системы не исправлены

    • 8 — в процессе проверки произошли ошибки

    • 16 — неверное использование команды либо синтаксическая ошибка

    • 32 — fsck была прервана пользователем

    • 128 — ошибка разделяемых объектов

    Воспользуемся командой fsck /dev/sdb1. Но перед этим размонтируем sdb1. Результат отображен на рисунке 30.



    Рис. 30 Результат выполнения команды fsck /dev/sdb1



    Файл /etc/fstab

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

    Полный путь к файлу — /etc/fstab.



    Каждая запись имеет следующие поля (которые разделяются пробелом или табуляцией):




    • Поле, (файловая система) сообщает демону монтирования файловых систем mount, что монтировать, имя монтируемого устройства.

    • Второе поле, (директория), определяет куда монтировать .

    • Поле (тип) содержит тип файловой системы монтируемого устройства. Полный список поддерживаемых систем можно просмотреть выполнив команду: man mount

    • Следующее поле называется (опции). Для полного их списка опций используется команда man mount.

    Список опций отображен в таблице ниже:

    auto

    Файловая система монтируется при загрузке автоматически или после выполнения команды 'mount -a'.

    noauto

    Файловая система может быть смонтирована только вручную.

    exec

    Это опция установлена по умолчанию. Она позволяет вам исполнять бинарные файлы на этом разделе диска.

    noexec

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

    ro

    Монтирует файловую систему только для чтения

    rw

    Монтирует файловую систему для чтения/записи

    sync

    Все операции ввода/вывода должны выполняться синхронно

    async

    Все операции ввода/вывода должны выполняться асинхронно

    user

    Разрешает любому пользователю монтировать файловую систему. Применяет опции noexec, nosuid, nodev, если они не переопределены.

    nouser

    Только суперпользователь может монтировать файловую систему. Это опция используется по умолчанию.

    defaults

    Использовать значения по умолчанию. То же самое, что и rw, suid, dev, exec, auto, nouser, async.

    suid

    Разрешить операции с suid и sgid битами. В основном используются, чтобы позволить пользователям выполнять бинарные файлы со временно приобретёнными привилегиями для выполнения определённой задачи.

    nosuid

    Запрещает операции с suid и sgid битами.

    nodev

    Данная опция предполагает, что на монтируемой файловой системе не будут созданы файлы устройств (/dev). Корневой каталог и целевая директория команды chroot всегда должны монтироваться с опцией dev или defaults.

    noatime

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




    • Поле используется утилитой dump для того чтобы решить, когда делать резервную копию. dump проверяет это поле и использует число, чтобы решить, надо ли делать резервную копию. Возможные значения поля — 0 и 1. Если 0, то dump игнорирует файловую систему, если 1, то dump сделает резервную копию. Для большинства разделов в данном поле записывается 0.

    • Последнее поле —
      (пропуск). fsck проверяет число, подставленное в поле
      и решает, в каком порядке проверять файловую систему. Возможные значения 0, 1 и 2. Файловые систему со значением
      , равным 0, не будут проверены утилитой fsck. У корневой системы должен быть наибольший приоритет, 1, остальные файловые системы должны иметь приоритет 2.

    Вместо указания имени устройства, можно указать UUID или метку тома, написав LABEL=

    Каталог: files -> stud
    stud -> Отчет по лабораторной работе №1
    stud -> Лабораторная работа №1 «Сетевое взаимодействие Windows и Linux» студент группы 10-в-2
    stud -> Лабораторная работа №3 по дисциплине: «Операционные системы» Работа пользователя в Linux
    stud -> Лабораторная работа №2 по дисциплине: «Программное обеспечение вычислительных сетей» «Установка и конфигурирование ос windows 2003 Server»
    stud -> 1. Сетевые модели организации пользователей: модель рабочих групп и доменная модель. Доверительные отношения
    stud -> Логика развития и ключевые свойства версий ос windows 3x, 9x, nt, 2000, xp
    stud -> Практическая работа №1 «Сетевые свойства и конфигурирование Windows 7» студент группы 10-в-1 Маясов Д. А проверил
    stud -> «Сетевые свойства и конфигурирование Windows 7»
    stud -> Server-based (Сеть на базе выделенного сервера)


    Поделитесь с Вашими друзьями:
  • 1   2   3   4   5


    База данных защищена авторским правом ©nethash.ru 2019
    обратиться к администрации

    войти | регистрация
        Главная страница


    загрузить материал