Экзамен Flashcards

1
Q

Что такое файл?

A

Файл - это именованная часть пространства на носителе информации.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое файл в LINUX?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Какие типы файлов есть в Linux?

A
  1. Регулярные файлы
  2. Каталоги
  3. Физические устройства (Блочные устройства, Символьные устройства)
  4. Символические ссылки
  5. Именованные каналы
  6. Сокеты
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое “регулярный файл” в Linux?

A

Это то, что мы подразумеваем под словом “файл”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Что такое “каталог” в Linux?

A

Каталог в Linux - это файл, содержащий в себе информацию о других файлах в виде пар “имя - inode”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что такое блочные устройства?

Что такое символьные устройства?

A

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

Устройства, в которых считывание данных происходит сразу же, без буфера.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что такое “сиволическая ссылка” в Linux?

A

Сиволическая ссылка - это указатель на какой-то конкретный файл из другого места. (не путать с жесткими ссылками)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Что такое именованные каналы (p) в Linux?

A

Это файлы для обмена информацией между процессами. В действительности существуют в RAM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Что такое “Сокет” в Linux?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Перечислите атрибуты файлов в общем случае в Linux.

A
  1. Тип и права доступа
  2. Владелец
  3. Информация о разрешенных операциях
  4. Временные метки ( создания. последнего доступа, последнего изменения, удаления)
  5. Текущий размер файла
  6. Занимаемое колличество блоков
  7. Access Control List (ACL, права доступа).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Где можно хранить атрибуты файла в Linux?

A

Эту информацию можно хранить либо в структуре данных каталога, либо в отдельной структуре данных, имеющейся у каждого файла.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Перечислите способы управления правами доступа

к файлам и директориям.

A
  1. Хранить в структуре данных с атрибутами файла список прав доступа для каждого пользователя и группы.
  2. Сделать готовый набор типов доступа и раздаватьтипы доступа из этого набора группам пользователей.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Вывод команды ls -l для какого-нибудь файла.

A

crw-rw-rw- 1 root root 1, 3 янв 11 11:36 /dev/null

Что тут указано:

  1. Первый символ — тип файла;
  2. Следующие 9 символов — права на файл;
  3. После прав идёт количество жёстких ссылок на файл;
  4. Два слова после количества — владелец файла и группа владельца;
  5. Следом идёт размер файла, дата создания и непосредственно название.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

В какоих категориях может находится пользователь относительно файла?

A
  1. Владелец (User);
  2. Группа владельца (Group);
  3. Остальные пользователи (Other).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Каким образом у файла назначены правава доступа для трех основных категорий?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Из чего состоит каждая группа прав?

A

Каждая группа прав состоит из трёх бит, задающих права на чтение (Read), запись (Write) и выполнение (eXecute). Если буква стоит, право есть, иначе оно отсутствует.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Как работают права для каталогов?

A

Бит на чтение позволяет посмотреть содержимое папки, бит на запись дает создавать и удалять файлы в каталоге, бит на вполнение позволяет сделать папку текущей (т. е. выполнить команду cd и прочитать сами файлы). Обратите внимание, что для каталогов бит на запись без бита на выполнение смысла не имеет.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Зачем нужны скрытые биты?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Различия между реальными и эффективными ID:

A

Реальные ID — это идентификаторы, показаывающие реальных владельца и группу и использующиеся для учета ресурсов.

Эффективные ID — это идентификаторы, использующиеся для работы с правами доступа.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Перечислите биты, позволяющие изменять эффективные ID.

A
  1. SetUID (SUID)
  2. SetGID (SGID)
  3. Sticky bit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Что делает бит SetUID (SUID)?

A

SetUID (SUID) — позволяет выполнять файл не от имени текущего пользователя, а от имени владельца файла (т.е. меняется эффективный UID). Будучи установленным для каталога, для всех файлов в каталоге меняет эффективный UID на владельца каталога (поддерживается не на всех системах). Отображается в виде буквы s вместо x (или буквы S, если бит на выполнение не установлен) в правах владельца;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Что делает бит SetGID (SGID)?

A

SetGID (SGID) — аналогично SUID, но для группы владельца;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Что делает бит Sticky bit?

A

Sticky bit — бит, позволяющий не выгружать исполняемые файлы из RAM, сейчас в большинстве систем игнорируется. Для каталогов он не даёт пользователю удалять файлы, владельцем которых он не является, даже если у него есть права на запись в каталоге. Отображается в виде буквы t вместо x (или буквы T, если бит на выполнение не установлен) в правах остальных пользователей.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Что такое монтирование?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Как можно монтировать устройства?

A

Монтировать устройства можно как вручную, так и автоматически, при запуске системы.

26
Q

Что, в большинстве случаев, можно монтировать кроме усройств?

A

Каталоги, файлы, сетевые ресурсы.

27
Q

На каких командах основано ручное монтирование?

A

mount (монтирование) и umount (отмонтирование)

28
Q

Наиболее часто используемый способ вызова mount:

A

mount -t fs_type device dir

29
Q

mount -t fs_type device dir

Что означает ключ -t ?

A

Ключ -t позволяет явно указать тип монтируемой файловой системы. Если его не указывать, mount попытается самостоятельно определить тип, но это не всегда происходит успешно;

30
Q

mount -t fs_type device dir

Что означает device?

A

device - устройство, которое мы хотим примонтировать

31
Q

mount -t fs_type device dir

Что такое dir?

A

dir — директория в существующей файловой иерархии, к которой будет примонтировано устройство (точка монтирования). Директория должна существовать, в противном случае монтирование не произойдёт.

32
Q

Что будет, если вызвать mount без каких-либо параметров?

A

Вызов mount без каких-либо параметров выдвет список всех смонтированных ФС

33
Q

Благодаря чему работает автоматическое монтирование?

A

Автоматическое монтирование работает благодаря двум файлам: /etc/fstab и /etc/mtab.

В первом указываются ФС, которые будут автоматически смонтированы при загрузке, во втором - текущие смонтированные ФС (как автоматически, так и вручную)

34
Q

Из чего состоит файл /etc/fstab?

A

Файл /etc/fstab состоит из строк определённого синтаксиса:

  1. Название устройства, на котором расположена ФС. Это может быть как путь к устройству в файловой иерархии, так и UUID, и метка (label);
  2. Точка монтирования. Как и при ручном монтировании, должна существовать;
  3. Тип ФС (можно указать значение auto для автоопределения);
  4. Параметры монтирования (о них ниже);
  5. Необходимость создания дампа (0 или 1);
  6. Порядковый номер ФС для проверки утилитой fsck. (1 для корневой ФС, 2 для остальных, 0 для отключения).
35
Q

Параметры монтирования

A
  • sync/async — выполнять операции ввода/вывода (а)синхронно;
  • auto — смонтировать ФС автоматически при загрузке системы (по умолчанию);
  • noauto — не монтировать ФС автоматически при загрузке системы;
  • dev/nodev — интерпретировать (не интерпретировать) блочные/символьные устройства;
  • exec / noexec — разрешить/запретить выполнение файлов в ФС;
  • suid/nosuid — разрешить/запретить обработку битов SUID/SGID;
  • ro/rw — смонтировать ФС только на чтение/на чтение и запись;
  • user — разрешить всем пользователям монтировать ФС. Это неявно подразумевает параметры noexec и nosuid, если обратные параметры не указаны явно;
  • nouser — разрешить монтирование ФС только суперпользователю. Подразумевается по умолчанию;
  • defaults — Использовать настройки по умолчанию. Это неявно подразумевает rw, suid, dev, exec, auto, nouser, async;
  • _netdev — указывает на то, что ФС сетевая и монтировать её нужно только после подключения к сети. Имеет смысл только для ФС nfs.
36
Q

Как происходит монтирование сетевых ресурсов?

A

Сетевые ресурсы можно монтировать точно так же, как и обычные устройства. То есть прям точно так же:

sudo mount -t davfs webdav.yandex.ru yadisk

Достаточно в качестве типа ФС указать что-то сетевое (cifs, davfs, nfs) и в качестве устройства указать путь к ресурсу.

37
Q

Чем следует ПО при интеграции в ОС ОС GNU/Linux?

A

В ОС GNU/Linux ПО интегрируется в систему и следует File Hierarhy system

38
Q

Какие три способа установки ПО есть в LINUX/GNU?

A
  1. Make - сборка из исходных файлов. Makefile содержит набор инструкций для установки ПО.
  2. Пакет - архив файлов с настройками и скриптами для установки/удаления.
  3. Репозиторий - централизованное хранилище пакетов.
39
Q

Перечислите плюсы и минусы установки ПО через make.

A

Make - сборка из исходных файлов.. Makefile содеражит в себе набор инструкций для установки ПО.

+ Легко устанавливать, если приложение независимо.

  • ОС не запоминает, как мы устанавливаем ПО
  • Трудно его удалить
  • Сложно его перенести на другую машину
  • При обновлении системы может перестать работать т.к зависимости не отслеживаются.
40
Q

Перечислите плюсы и минусы установки ПО через пакет.

A

Пакет - архив файлов с настройками и скриптами установки/удаления.

+ Передача всех необходимых файлов одним архивом (библиотеки, сокеты и т.д)

+ Отслеживание конфликтов

+ Выполнение настроек в системе

  • Отсутствует разрешение конфликтов.
41
Q

Перечислите плюсы и минусы установки ПО через репозиторий.

A

+ Валидация всех пакетов в репозитории

+ Проверка зависимостей (все зависимости есть в репозитории)

  • Не всегда нужное ПО есть в репозитории
  • Разные пакетные менеджеры используют разные типы пакетов
42
Q

Что такое debian - пакет?

A

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

43
Q

Что составляет основную часть debian пакета?

A

Основную часть пакета составляет каталог /DEBIAN. При установке пакета содержимое этой папки распаковывается в корень файловой системы.

44
Q

Перечислите обязательное содержимое /DEBIAN

A
  • Файл control. Этот файл содержит всю описательную информацию на пакет.
  • Файл rules - основной скрипт установки. В большинстве случаев это вкрипт make, толкьо с некоторыми дополнительными командами.
  • Файл copyright - содержит информацию о местонахождении исходной программы, авторских правах и лицензионном соглашении.
  • Файл changelog - сведения об изменениях.
45
Q

Опишите струтуру файла control

A
  • Строка 1 (source) - название пакета
  • Строка 2 (Section) - название раздела, к к оторому относится данный пакет.
  • Строка 3 (Priority) - “важность пакета”
  • Строка 4 (Maintainer) - содержит имя и адрес разработчика
  • Строка 5(Standart-Version) - версия документа «Debian Policy», стандартам которого следует данный пакет.
  • Строка 6(Пустая строка) - разделитель

Секция package:

  • Строка 7 (Package) - имя бинарного пакета
  • Строка 8 (Architecture) - архитектура процессора, для которого может быть скомпилирован двоичный пакет
  • Строка 9 (Depends) - зависимости, без которых пакет точно не установится
  • Строка 10 (Recommends) - зависимости, без которых пакет установится, но все же лучше доустановить
  • Строка 11 (Suggests) - пакеты, расширябщие функциональность устанавливаемого пакета.
  • Строка 12 (Conflicts) - пакеты, наличие которых делает невозможным установку текущего пакета
  • Строка 13 (Replaces) - какие пакеты частично или полностью заменяют наш пакет
  • Строка 14 (Description) - короткое описание
  • Строка 15 и дальше - длинное описание
46
Q

Опишите опциональное содержимое /DEBIAN

A

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

preinst - вызывается перед распаковкой пакета в файловую систему

postinst - вызывается после распаковки пакета

prerm - вызывается перед вдалением пакета

postrm - вызывается после удаления пакета

config - вызывается на стадии конфигурирования и переконфигурирования пакета

47
Q

Что, обычно, делает preinst - скрипт?

A

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

48
Q

Что, обычно, делает скрипт postinst?

A

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

49
Q

Создание репозитория для APT и YUM.

A

Создание репозитория отличается для пакетных менеджеров APT и YUM, хотя в итоге все сводится к закидываению пакетов в одну папку, настройку этой папки с помощью утилит и прописыванию пути до этой папки в конфиге

50
Q

Опишите процесс создания локального репозитория для YUM.

A
  1. Создайте папку (пусть будет ~/repo) и закиньте туда файлы в формате RPM.
  2. Поставьте себе пакет createrepo (sudo yum install createrepo);
  3. Запустите createrepo, указав в качестве аргумента папку с пакетами
  4. Создайте в папке /etc/yum.repos.d новый файл с расширением .repo и внесите в него следующее содержимое:
  • [название_репозитория]
  • name=название_репозитория
  • baseurl=адрес_репозитория
  • enabled=значение_флага_доступности
  • gpgcheck=значение_флага_проверки_цифровой_подписи
51
Q

Опишите процесс создания локального репозитория APT

A
  1. Поставьте себе пакет local-apt-repository
  2. Создайте папку /srv/local-apt-repository для пакетов;
  3. Переместите в эту папку нужные пакеты в формате DEB.
52
Q

Что такое файловая система?

A

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

53
Q

На что логически разбивается пространство диска?

A

Логически, пространство диска разбивается на блоки.

54
Q

Что такое суперблок?

A

Суперблок - это начальная точка файловой системы.

55
Q

Для чего используется информация, хранимая в суперблоке?

A

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

56
Q

Что определяется в суперблоке?

A

В суперблоке определяется

  • Размер файловой системы
  • Максимальное число файлов в разделе
  • Объем свободного пространства
    *
57
Q

Что происходи при запуске ОС с суперблоком?

A

При запуске ОС суперблок считывается в память

58
Q

Структура суперблока

A
  • s_inodes_count - Число индексных дескрипторов в файловой системе
  • s_blocks_count - Число блоков в файловой системе
  • s_r_blocks_count - Число блоков, зарезервированных для суперпользователя
  • s_free_blocks_count - Счетчик числа свободных блоков
  • s_free_inodes_count - Счетчик сичла свободных индексных дескрипторов
  • s_first_data_block - Первый блок, который содержит данные
  • s_log_block_size - индикатор размер логического блока
  • s_blocks_per_group - число блоков в каждой группе блоков
  • s_inodes_per_group - число индексных дескрипторов в каждой группе блоков
  • s_mtime - время, когда последний раз была смонтирована файловая система
  • s_mnt_count - счетчик числа монтирования системы. После определенного значения происходит проверка ФС, счетчик обнуляется
  • s_max_mnt_count - число, определяющее, сколько раз может быть смонтирована ФС перед проверкой
  • s_wtime - время, когда последний раз производилась запись в ФС
  • s_magic - число, указывающее, к какому типу относится ФС
  • s_state - флаги, указывающие текущее состояние системы
  • s_errors - флаги, задающие процедуры обработки сообщений об ошибках
  • s_creator_os - тип ОС, в которой создана ФС
59
Q

Что такое описание группы блоков?

A

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

60
Q

Что такое битовая карта блоков?

A

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

61
Q

Что такое битовая карта индексных дескрипторов?

A

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

62
Q

Перечислите структуру группы блоков.

A
  1. Суперблок
  2. Описание группы блоков
  3. Битовая карта блоков
  4. Битовая карта индексных дескрипторов
  5. Таблица индексных дескрипторов
  6. Блоки даных