You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1806 lines
107 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## 🧱 Основы системы
### Анкета: Структура файловой системы
#### 🟢 Уровень 1: Основы
+ **1. Что такое корневой каталог в Linux и как он обозначается?**
+ A) Домашний каталог текущего пользователя, обозначается `~`
+ B) Каталог для программ администратора, обозначается `/root`
+ C) Главный каталог файловой системы, содержащий всё остальное, обозначается `/`
+ D) Каталог с загрузочными файлами ядра, обозначается `/boot`
+ **2. Для чего в основном используется каталог `/home`?**
+ A) Для хранения общесистемных конфигурационных файлов.
+ B) Для хранения личных файлов и настроек пользователей.
+ C) Для временного хранения файлов удалённых пользователей.
+ D) Для хранения файлов веб-сервера.
+ **3. Каково назначение каталога `/bin`?**
+ A) Это "корзина" для удалённых файлов.
+ B) В нём хранятся двоичные файлы драйверов устройств.
+ C) В нём хранятся все исполняемые файлы системы.
+ D) В нём хранятся основные исполняемые файлы, доступные всем пользователям.
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **4. В чем ключевое различие между каталогами `/bin` и `/sbin`?**
+ A) В `/bin` находятся исполняемые файлы, а в `/sbin` — их исходные коды.
+ B) `/bin` содержит команды для всех пользователей, а `/sbin` — команды, требующие прав суперпользователя (администратора).
+ C) `/bin` — это реальный каталог, а `/sbin` — символическая ссылка на него.
+ D) В `/bin` хранятся 32-битные программы, а в `/sbin` — 64-битные.
+ **5. Какую роль выполняет каталог `/etc`?**
+ A) Хранит исполняемые файлы дополнительных (et cetera) программ.
+ B) Используется для временного хранения электронных текстовых документов.
+ C) Содержит общесистемные конфигурационные файлы.
+ D) Содержит шаблоны для создания домашних каталогов новых пользователей.
+ **6. Что такое Filesystem Hierarchy Standard (FHS)?**
+ A) Утилита для проверки файловой системы на наличие ошибок.
+ B) Стандарт, описывающий структуру каталогов и расположение файлов в UNIX-подобных системах.
+ C) Модуль ядра, отвечающий за поддержку файловых систем, таких как ext4 и XFS.
+ D) Сетевой протокол для организации общего доступа к файлам.
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **7. Какова основная функция каталога `/proc`?**
+ A) Хранение лог-файлов всех системных процессов.
+ B) Хранение предварительно скомпилированного программного кода для ускорения запуска.
+ C) Это защищённый каталог для хранения микрокода процессора.
+ D) Это виртуальная файловая система, предоставляющая доступ к информации о процессах и параметрах ядра.
+ **8. Что такое inode (индексный дескриптор)?**
+ A) Структура данных, хранящая метаданные файла (права доступа, размер, владелец), но не его имя и содержимое.
+ B) Специальный файл, который содержит имя и полный путь к файлу.
+ C) Блок на диске, в котором хранится непосредственно содержимое (данные) файла.
+ D) Запись в системном журнале об операциях, произведенных с файлом.
+ **9. Что означает фундаментальная концепция Linux "всё есть файл"?**
+ A) Все данные на диске, включая свободное пространство, организованы в виде скрытых файлов.
+ B) Все программы в Linux должны быть написаны в виде одного исполняемого файла.
+ C) Ресурсы системы, такие как устройства (диски, терминалы), представляются в файловой системе и с ними можно работать как с файлами.
+ D) Все пользовательские данные должны храниться исключительно в текстовых файлах для универсальности.
---
### Анкета: Права доступа и владение
#### 🟢 Уровень 1: Основы
+ **10. Что означают права доступа `rwx` для файла?**
+ A) Read, Write, Execute (Чтение, Запись, Исполнение)
+ B) Read, Watch, Extract (Чтение, Наблюдение, Извлечение)
+ C) Run, Wait, Exit (Запуск, Ожидание, Выход)
+ D) Rewrite, Work, eXamine (Перезапись, Работа, Изучение)
+ **11. Какая команда используется для изменения прав доступа к файлу или каталогу?**
+ A) `chown`
+ B) `chgrp`
+ C) `chmod`
+ D) `access`
+ **12. Для чего предназначена команда `chown`?**
+ A) Для изменения прав доступа.
+ B) Для изменения владельца и/или группы файла.
+ C) Для создания нового владельца в системе.
+ D) Для просмотра текущего владельца файла.
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **13. Какие права доступа устанавливает команда `chmod 755` для файла?**
+ A) `rwxr-xr-x` (владелец может всё, группа и остальные могут читать и исполнять)
+ B) `rwxr-xr--` (владелец может всё, группа может читать и исполнять, остальные только читать)
+ C) `rwx--x--x` (все могут исполнять, но только владелец может читать и писать)
+ D) `rwxrwxrwx` (все могут делать всё)
+ **14. Что означает SUID-бит (Set User ID), установленный на исполняемый файл?**
+ A) Файл может быть запущен только пользователем с указанным ID.
+ B) Файл при запуске выполняется с правами владельца файла, а не пользователя, который его запустил.
+ C) Любой пользователь может сменить владельца этого файла.
+ D) Файл будет автоматически удалён после первого успешного запуска.
+ **15. Что даёт SGID-бит (Set Group ID), установленный на каталог?**
+ A) Только члены группы-владельца могут входить в этот каталог.
+ B) Все новые файлы, созданные в этом каталоге, будут наследовать группу каталога.
+ C) Запрещает создание подкаталогов внутри.
+ D) При входе в каталог первичная группа пользователя временно меняется на группу-владельца каталога.
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **16. Каково назначение "sticky bit" (липкого бита), установленного на каталог (например, `/tmp`)?**
+ A) Файлы в этом каталоге нельзя изменить после создания.
+ B) Каталог нельзя удалить, пока он не пуст.
+ C) Удалить файл в этом каталоге может только владелец файла, владелец каталога или root.
+ D) Все файлы, перемещенные в этот каталог, "прилипают" к нему и не могут быть перемещены.
+ **17. Что такое `umask`?**
+ A) Команда, которая показывает маску подсети для сетевых интерфейсов.
+ B) Маска прав доступа, которая определяет права по умолчанию для вновь создаваемых файлов и каталогов.
+ C) Утилита для скрытия (маскировки) файлов от определённых пользователей.
+ D) Системный параметр, определяющий максимальное количество файлов, которые может создать пользователь.
+ **18. В чем отличие прав доступа символической ссылки от прав её цели?**
+ A) У символических ссылок всегда полные права (`rwxrwxrwx`).
+ B) Права символической ссылки полностью копируются с цели в момент создания.
+ C) Права на символическую ссылку не имеют значения; важны только права на файл, на который она указывает.
+ D) При изменении прав на цель, права на ссылку автоматически меняются.
---
### Анкета: Пользователи и группы
#### 🟢 Уровень 1: Основы
+ **19. Кто такой пользователь `root` в Linux?**
+ A) Первый созданный в системе пользователь.
+ B) Пользователь с ограниченными правами.
+ C) Суперпользователь, имеющий полный доступ ко всем файлам и командам.
+ D) Системная учётная запись для запуска служб, не требующих прав.
+ **20. Какая команда используется для добавления нового пользователя в систему?**
+ A) `newuser`
+ B) `adduser` (или `useradd`)
+ C) `personadd`
+ D) `mkuser`
+ **21. В каком файле в основном хранится информация об учётных записях пользователей?**
+ A) `/etc/users`
+ B) `/etc/config`
+ C) `/home/users.list`
+ D) `/etc/passwd`
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **22. Что такое первичная и вторичная группа пользователя?**
+ A) Первичная — для входа в систему, вторичная — для доступа к сети.
+ B) Первичная — группа, с которой создаются файлы по умолчанию; вторичные — предоставляют доп. права доступа.
+ C) Первичная группа имеет ID до 1000, вторичные — после 1000.
+ D) Пользователь может менять свою вторичную группу, но не первичную.
+ **23. Для чего используется команда `sudo`?**
+ A) Для полного переключения на другого пользователя, включая его окружение.
+ B) Для выполнения одной команды с правами другого пользователя (по умолчанию `root`).
+ C) Для просмотра списка всех пользователей в системе.
+ D) Для установки прав `SUID` на файл.
+ **24. Как изменить домашний каталог и оболочку (shell) для уже существующего пользователя?**
+ A) Отредактировав файл `/etc/passwd` вручную.
+ B) С помощью команды `usermod`.
+ C) С помощью команды `useredit`.
+ D) Необходимо удалить пользователя и создать его заново с новыми параметрами.
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **25. Каково назначение оболочки `/sbin/nologin`?**
+ A) Это специальная оболочка для удалённого входа, которая не ведёт лог-файлы.
+ B) Это оболочка, которая немедленно завершает сессию, эффективно запрещая интерактивный вход.
+ C) Оболочка, которая используется по умолчанию, если другая не указана.
+ D) Оболочка с повышенным уровнем безопасности.
+ **26. В чём принципиальное различие между командами `su` и `sudo`?**
+ A) `su` требует пароль целевого пользователя, а `sudo` — пароль текущего пользователя.
+ B) `sudo` позволяет выполнять только одну команду, а `su` открывает полноценную сессию.
+ C) `su` — более старая команда, `sudo` — более новая; функционально они идентичны.
+ D) `sudo` позволяет тонко настраивать, какие именно команды может выполнять пользователь.
+ **27. Что такое UID (User ID) и какое значение имеет UID 0?**
+ A) Уникальный идентификатор пользователя; UID 0 зарезервирован для суперпользователя `root`.
+ B) Уникальный идентификатор диска; UID 0 обозначает системный раздел.
+ C) Индекс пользователя в файле `/etc/passwd`; UID 0 — первая запись.
+ D) Приоритет пользователя в системе; UID 0 имеет самый низкий приоритет.
---
### Анкета: Kernel/userspace взаимодействие (/proc, /sys)
#### 🔴 Уровень 3: Эксперт
+ **28. В чем основное различие между `/proc` и `/sys`?**
+ A) `/proc` используется ядром, а `/sys` — системными службами.
+ B) `/proc` ориентирован на информацию о процессах, тогда как `/sys` представляет иерархию устройств и драйверов.
+ C) Данные в `/proc` можно только читать, а в `/sys` — читать и изменять.
+ D) `/proc` — это реальная файловая система на диске, а `/sys` — виртуальная.
+ **29. Как можно изменить параметр ядра "на лету" (без перезагрузки), используя файловую систему?**
+ A) Записав новое значение в соответствующий файл в `/sys/kernel/`.
+ B) Записав новое значение в соответствующий файл в `/proc/sys/`.
+ C) Изменив конфигурационный файл в `/etc/kernel/` и перезапустив службу ядра.
+ D) С помощью специальной команды `kernel_update`, указав параметр и значение.
+ **30. Что представляет собой `kobject` в контексте `sysfs`?**
+ A) Объект ядра, который представляет собой каталог в `/sys`. Вся иерархия `/sys` построена на них.
+ B) Бинарный файл в `/sys`, содержащий скомпилированный код драйвера.
+ C) Скрипт конфигурации для конкретного объекта ядра.
+ D) Блокировка, которая предотвращает одновременный доступ нескольких процессов к одному файлу в `/sys`.
---
### Анкета: Работа с устройствами (/dev, udev)
#### 🟡 Уровень 2: Продвинутый пользователь
+ **31. Какова роль каталога `/dev`?**
+ A) В нём содержатся инструменты для разработчиков (development tools).
+ B) Он содержит файлы устройств, которые представляют собой интерфейсы к оборудованию.
+ C) Это основной каталог для хранения драйверов устройств.
+ D) Временный каталог для обмена данными между устройствами.
+ **32. Какова основная задача службы `udev`?**
+ A) Управлять обновлениями (updates) установленных драйверов.
+ B) Динамически создавать и удалять файлы устройств в `/dev` при подключении/отключении оборудования.
+ C) Проверять подлинность устройств, подключаемых к системе.
+ D) Предоставлять универсальный API для доступа к устройствам (Universal Device API).
+ **33. В чем разница между блочным (block) и символьным (character) устройством?**
+ A) Блочные устройства передают данные большими блоками и буферизуются (диски), а символьные — посимвольно (терминал, мышь).
+ B) Блочные устройства нельзя удалить из системы, а символьные можно.
+ C) Блочные устройства находятся в `/dev/block/`, а символьные — в `/dev/char/`.
+ D) Блочные устройства — это физическое оборудование, а символьные — виртуальное.
#### 🔴 Уровень 3: Эксперт
+ **34. Что такое правило `udev` и где обычно размещают пользовательские правила?**
+ A) Это скрипт, выполняемый при загрузке системы; размещается в `/etc/udev/init.d`.
+ B) Это файл конфигурации, описывающий, что делать при появлении устройства; размещается в `/etc/udev/rules.d/`.
+ C) Это бинарный файл драйвера; размещается в `/lib/udev/devices/`.
+ D) Это настройка ядра, задающая поведение `udev`; размещается в `/proc/sys/dev/`.
+ **35. Что такое старший (major) и младший (minor) номера файла устройства?**
+ A) Старший номер указывает на версию драйвера, младший — на версию прошивки устройства.
+ B) Старший номер идентифицирует драйвер устройства, а младший — конкретное устройство, управляемое этим драйвером.
+ C) Старший номер — это приоритет устройства, младший — его порт подключения.
+ D) Это серийный номер устройства, разделенный на две части.
+ **36. Каково практическое назначение устройства `/dev/null`?**
+ A) Это "черная дыра": всё, что в него записывается, исчезает, а чтение из него сразу возвращает конец файла.
+ B) Это временное хранилище, которое очищается при перезагрузке.
+ C) Это файл, содержащий список всех неиспользуемых (NULL) устройств.
+ D) Это символическая ссылка на корневой каталог, используемая для отладки.
---
## 💻 Работа с файлами и текстом
### Анкета: Работа с файлами и каталогами
#### 🟢 Уровень 1: Основы
+ **37. Какая команда используется для вывода содержимого текущего каталога?**
+ A) `list`
+ B) `dir`
+ C) `ls`
+ D) `show`
+ **38. С помощью какой команды можно создать новый каталог с именем `test`?**
+ A) `newdir test`
+ B) `mkdir test`
+ C) `crdir test`
+ D) `makedir test`
+ **39. Какая команда используется для удаления пустого каталога `mydir`?**
+ A) `del mydir`
+ B) `rm mydir`
+ C) `rmdir mydir`
+ D) `erase mydir`
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **40. Что делает команда `ln -s /path/to/file link_name`?**
+ A) Создаёт жёсткую ссылку на файл.
+ B) Создаёт символическую (мягкую) ссылку на файл.
+ C) Копирует файл с сохранением метаданных.
+ D) Проверяет, существует ли файл.
+ **41. Какая команда найдёт все файлы с расширением `.log` в текущем каталоге и всех его подкаталогах?**
+ A) `grep .log`
+ B) `search *.log`
+ C) `ls -R *.log`
+ D) `find . -name "*.log"`
+ **42. В чем основное отличие жёсткой ссылки от символической?**
+ A) Жёсткая ссылка не может указывать на каталог, а символическая может.
+ B) Жёсткая ссылка указывает на тот же inode, что и оригинал; символическая — это файл с путём к оригиналу.
+ C) Жёсткую ссылку нельзя удалить, пока существует оригинал.
+ D) Символическая ссылка работает быстрее, чем жёсткая.
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **43. Что делает команда `find . -type f -exec chmod 644 {} \;`?**
+ A) Находит все каталоги и меняет их права на 644.
+ B) Находит все файлы и меняет их права на 644, запуская `chmod` для каждого файла отдельно.
+ C) Находит все файлы и передаёт их список в `chmod` одной командой.
+ D) Ищет файлы с правами 644.
+ **44. Для чего используется команда `stat`?**
+ A) Для вывода статистики использования файловой системы.
+ B) Для вывода подробной информации о файле или файловой системе, включая inode, права, временные метки.
+ C) Для отображения статуса системных служб.
+ D) Для статической компиляции программ.
+ **45. Как с помощью `find` и `xargs` удалить все файлы, заканчивающиеся на `.tmp`?**
+ A) `find . -name "*.tmp" | xargs rm`
+ B) `find . -name "*.tmp" -exec rm`
+ C) `xargs rm < find . -name "*.tmp"`
+ D) `rm $(find . -name "*.tmp")`
---
### Анкета: Работа с текстом и потоками (grep, awk, sed, cut, sort, uniq)
#### 🟡 Уровень 2: Продвинутый пользователь
+ **46. Какая команда выведет все строки из файла `access.log`, содержащие слово "ERROR"?**
+ A) `find "ERROR" access.log`
+ B) `grep "ERROR" access.log`
+ C) `cat access.log | search "ERROR"`
+ D) `text "ERROR" < access.log`
+ **47. Что делает команда `sort file.txt | uniq -c`?**
+ A) Сортирует строки в файле и удаляет дубликаты.
+ B) Сортирует строки, считает количество каждой уникальной строки и выводит результат.
+ C) Считает количество уникальных строк в отсортированном файле.
+ D) Удаляет все строки, кроме уникальных.
+ **48. Как вывести только третье поле из строк файла `data.csv`, где разделителем является запятая?**
+ A) `grep -f3 ',' data.csv`
+ B) `awk -f3 ',' data.csv`
+ C) `cut -d',' -f3 data.csv`
+ D) `sed 's/,/ /3' data.csv`
#### 🔴 Уровень 3: Эксперт
+ **49. Какая команда `sed` заменит первое вхождение "apple" на "orange" в каждой строке файла `fruits.txt`?**
+ A) `sed 's/apple/orange/g' fruits.txt`
+ B) `sed 's/apple/orange/' fruits.txt`
+ C) `sed 'r/apple/orange/' fruits.txt`
+ D) `sed '/apple/orange/' fruits.txt`
+ **50. Какая команда `awk` напечатает второе поле каждой строки, если первое поле равно "user1"?**
+ A) `awk '$1 == "user1" {print $2}'`
+ B) `awk '{if $1 = "user1" print $2}'`
+ C) `awk 'print $2 where $1 == "user1"'`
+ D) `awk '/user1/ {print $2}'`
+ **51. Что делает `grep -E '^(root|admin)' /etc/passwd`?**
+ A) Ищет строки, которые содержат "root" или "admin" в любом месте.
+ B) Ищет строки, которые начинаются со слов "root" или "admin", используя расширенные регулярные выражения.
+ C) Ищет строки, которые заканчиваются на "root" или "admin".
+ D) Ищет файлы с именами `root` или `admin` в каталоге `/etc/passwd`.
---
### Анкета: Перенаправления и пайпы
#### 🟢 Уровень 1: Основы
+ **52. Что делает оператор `>` в команде `ls > file.txt`?**
+ A) Добавляет вывод `ls` в конец `file.txt`.
+ B) Считывает ввод для `ls` из `file.txt`.
+ C) Перенаправляет стандартный вывод `ls`, перезаписывая `file.txt`.
+ D) Сравнивает вывод `ls` с содержимым `file.txt`.
+ **53. Что означает символ `|` (пайп) в команде `cat file.txt | grep "word"`?**
+ A) Выполняет обе команды одновременно.
+ B) Передаёт стандартный вывод `cat` на стандартный ввод `grep`.
+ C) Выполняет вторую команду только если первая завершилась успешно.
+ D) Записывает вывод `cat` во временный файл и передаёт его `grep`.
+ **54. В чем разница между `>` и `>>`?**
+ A) `>` работает с текстовыми файлами, `>>`с бинарными.
+ B) `>` перезаписывает файл, а `>>` добавляет данные в конец файла.
+ C) `>` перенаправляет стандартный вывод, `>>` — стандартную ошибку.
+ D) Разницы нет, это синонимы.
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **55. Что делает конструкция `2> errors.log`?**
+ A) Перенаправляет стандартный вывод (дескриптор 2) в файл.
+ B) Перенаправляет стандартную ошибку (дескриптор 2) в файл.
+ C) Создаёт 2 копии файла `errors.log`.
+ D) Добавляет вывод второй запущенной команды в `errors.log`.
+ **56. Каково назначение команды `tee` в `command | tee file.log`?**
+ A) Выводит результат `command` на экран и одновременно записывает его в `file.log`.
+ B) Записывает результат `command` только в `file.log`, подавляя вывод на экран.
+ C) Фильтрует вывод `command`, оставляя только строки, содержащие `file.log`.
+ D) Ставит выполнение `command` на паузу.
+ **57. Как перенаправить и стандартный вывод, и стандартную ошибку в один файл `all.log`?**
+ A) `command > all.log < all.log`
+ B) `command > all.log 2> all.log`
+ C) `command &> all.log` (или `command > all.log 2>&1`)
+ D) `command | all.log`
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **58. Что такое "here document" (heredoc)?**
+ A) Встроенный в команду файл документации.
+ B) Способ передать многострочный текст на стандартный ввод команды, используя `<<`.
+ C) Специальный файл в `/dev`, который дублирует свой ввод на вывод.
+ D) Скрипт, который документирует сам себя.
+ **59. Что делает конструкция `diff <(sort file1) <(sort file2)`?**
+ A) Сортирует `file1` и `file2` и сохраняет их во временные файлы перед сравнением.
+ B) Сравнивает результат выполнения команд `sort file1` и `sort file2` без создания реальных файлов на диске.
+ C) Сравнивает файлы с именами `<(sort file1)` и `<(sort file2)`.
+ D) Сравнивает `file1` и `file2`, а затем сортирует результат.
+ **60. Что означает команда `exec 3> output.log`?**
+ A) Выполняет команду `3` и перенаправляет её вывод в `output.log`.
+ B) Открывает файл `output.log` для записи под файловым дескриптором 3.
+ C) Запускает 3 копии процесса, пишущего в `output.log`.
+ D) Копирует содержимое дескриптора 3 в `output.log`.
---
### Анкета: Архивация и резервное копирование (tar, gzip, rsync)
#### 🟢 Уровень 1: Основы
+ **61. Какая команда создаст архив `archive.tar` из каталога `mydir`?**
+ A) `tar -xvf mydir archive.tar`
+ B) `tar -cvf archive.tar mydir`
+ C) `gzip mydir > archive.tar`
+ D) `archive mydir archive.tar`
+ **62. Как извлечь файлы из архива `archive.tar`?**
+ A) `tar -cvf archive.tar`
+ B) `unzip archive.tar`
+ C) `tar -xvf archive.tar`
+ D) `untar archive.tar`
+ **63. Что делает команда `gzip file.txt`?**
+ A) Создаёт архив `file.txt.zip`.
+ B) Сжимает `file.txt` и заменяет его на `file.txt.gz`.
+ C) Показывает содержимое `file.txt` в сжатом виде.
+ D) Архивирует, но не сжимает `file.txt`.
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **64. Какая команда создаст сжатый gzip-архив `files.tar.gz` из каталога `files`?**
+ A) `tar -cvf files.tar.gz files`
+ B) `tar -czvf files.tar.gz files`
+ C) `tar -c files | gzip > files.tar.gz`
+ D) `gzip -c files > files.tar.gz`
+ **65. Для чего в основном используется утилита `rsync`?**
+ A) Для удалённого выполнения скриптов.
+ B) Для асинхронного копирования файлов.
+ C) Для эффективной синхронизации файлов и каталогов, в том числе по сети.
+ D) Для сжатия файлов в реальном времени.
+ **66. Какой ключ `tar` используется для сжатия с помощью `bzip2`?**
+ A) `-z`
+ B) `-b`
+ C) `-j`
+ D) `-Z`
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **67. Что означает флаг `--delete` в `rsync`?**
+ A) Удалять исходные файлы после успешного копирования.
+ B) Удалять файлы в месте назначения, которых нет в источнике.
+ C) Спрашивать подтверждение перед удалением каждого файла.
+ D) Не копировать файлы, помеченные для удаления.
+ **68. Как создать полную копию диска `/dev/sda` в файл `image.img`?**
+ A) `rsync /dev/sda image.img`
+ B) `cp /dev/sda image.img`
+ C) `dd if=/dev/sda of=image.img`
+ D) `tar -cvf image.img /dev/sda`
+ **69. Какая команда позволит заархивировать удалённый каталог `/var/log` с хоста `server1` в локальный файл `logs.tar`?**
+ A) `tar -cvf logs.tar server1:/var/log`
+ B) `rsync -avz server1:/var/log logs.tar`
+ C) `ssh server1 "tar -c /var/log" > logs.tar`
+ D) `scp server1:/var/log/*.log logs.tar`
---
### Анкета: Компиляция и сборка программ из исходников
#### 🟡 Уровень 2: Продвинутый пользователь
+ **70. Каков типичный порядок команд для сборки программы из исходного кода?**
+ A) `make` -> `make install` -> `./configure`
+ B) `make install` -> `./configure` -> `make`
+ C) `./configure` -> `make` -> `make install`
+ D) `compile` -> `build` -> `install`
+ **71. Каково назначение скрипта `configure`?**
+ A) Он компилирует исходный код.
+ B) Он устанавливает скомпилированную программу в систему.
+ C) Он проверяет наличие необходимых библиотек и создаёт `Makefile`.
+ D) Он скачивает исходный код программы.
+ **72. Что делает команда `make install`?**
+ A) Скачивает и устанавливает все зависимости.
+ B) Компилирует программу.
+ C) Копирует скомпилированные файлы в системные каталоги (например, `/usr/local/bin`).
+ D) Удаляет временные файлы, созданные во время компиляции.
#### 🔴 Уровень 3: Эксперт
+ **73. Для чего используется команда `ldd`?**
+ A) Для загрузки драйверов устройств.
+ B) Для отображения списка динамических библиотек, от которых зависит исполняемый файл.
+ C) Для линковки объектных файлов в исполняемый файл.
+ D) Для вывода логов системного загрузчика.
+ **74. В чем разница между статической и динамической линковкой?**
+ A) Статическая линковка происходит при загрузке системы, динамическая — во время работы программы.
+ B) При статической линковке код библиотек включается в исполняемый файл; при динамической — загружается во время выполнения.
+ C) Статическая линковка используется для скриптов, динамическая — для бинарных файлов.
+ D) Статическая линковка быстрее, но создаёт большие файлы; динамическая — медленнее, но файлы меньше.
+ **75. Какова роль `pkg-config` в процессе сборки?**
+ A) Управляет пакетами программ в системе, аналог `apt` или `yum`.
+ B) Предоставляет компилятору пути к заголовочным файлам и библиотекам установленных пакетов.
+ C) Настраивает конфигурацию ядра для сборки модулей.
+ D) Проверяет целостность скачанных пакетов с исходным кодом.
---
## ⚙️ Процессы и выполнение
Продолжаю.
---
## ⚙️ Процессы и выполнение
### Анкета: Работа с процессами
#### 🟢 Уровень 1: Основы
+ **76. Какая команда выводит список запущенных в данный момент процессов?**
+ A) `list proc`
+ B) `ps`
+ C) `proc`
+ D) `top`
+ **77. Что такое PID?**
+ A) Process Priority (Приоритет процесса).
+ B) Parent ID (ID родительского процесса).
+ C) Process ID (Уникальный идентификатор процесса).
+ D) Program ID (Идентификатор программы).
+ **78. Какая команда используется для завершения процесса с известным PID?**
+ A) `stop`
+ B) `exit`
+ C) `end`
+ D) `kill`
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **79. Что делает команда `kill -9 1234`?**
+ A) Вежливо просит процесс с PID 1234 завершиться.
+ B) Принудительно и немедленно завершает процесс с PID 1234 (сигнал SIGKILL).
+ C) Приостанавливает процесс с PID 1234.
+ D) Отправляет процессу с PID 1234 девятое по счёту уведомление.
+ **80. Какая команда покажет дерево процессов (родительские и дочерние)?**
+ A) `ps -tree`
+ B) `pstree` (или `ps axjf`)
+ C) `ls -proc`
+ D) `top -tree`
+ **81. Что означает "зомби-процесс" (zombie process)?**
+ A) Процесс, который потребляет 100% CPU.
+ B) Процесс, который завершился, но его запись в таблице процессов всё ещё существует, так как родительский процесс не считал его код завершения.
+ C) Процесс, который невозможно завершить командой `kill`.
+ D) Скрытый процесс, работающий в фоновом режиме.
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **82. Чем отличается "демон" (daemon) от обычного процесса?**
+ A) Демон всегда запускается от имени `root`.
+ B) Демон — это процесс, работающий в фоновом режиме без привязки к терминалу, обычно для выполнения служебных задач.
+ C) Демон нельзя завершить командой `kill`.
+ D) Демон не имеет PID.
+ **83. Для чего используется команда `pgrep`?**
+ A) Для поиска PID процесса по его имени или другим атрибутам.
+ B) Для приостановки всех процессов, принадлежащих группе.
+ C) Для графического отображения дерева процессов.
+ D) Для изменения приоритета процесса.
+ **84. Что такое PPID?**
+ A) Primary Process ID (PID основного процесса).
+ B) Process Priority ID (ID приоритета процесса).
+ C) Parent Process ID (PID родительского процесса).
+ D) Process Path ID (ID пути к исполняемому файлу процесса).
---
### Анкета: Сигналы и взаимодействие процессов
#### 🟡 Уровень 2: Продвинутый пользователь
+ **85. Какой сигнал обычно отправляется процессу при нажатии `Ctrl+C` в терминале?**
+ A) `SIGKILL` (9)
+ B) `SIGTERM` (15)
+ C) `SIGHUP` (1)
+ D) `SIGINT` (2)
+ **86. В чем разница между сигналами `SIGTERM` и `SIGKILL`?**
+ A) `SIGTERM` — это запрос на завершение, который процесс может проигнорировать; `SIGKILL` — принудительное завершение, которое нельзя перехватить.
+ B) `SIGKILL` завершает процесс, а `SIGTERM` — только приостанавливает.
+ C) `SIGTERM` используется для системных служб, а `SIGKILL` — для пользовательских приложений.
+ D) Разницы нет, это синонимы.
+ **87. Какой сигнал традиционно используется для того, чтобы демон перечитал свой конфигурационный файл?**
+ A) `SIGSTOP`
+ B) `SIGCONT`
+ C) `SIGHUP`
+ D) `SIGUSR1`
#### 🔴 Уровень 3: Эксперт
+ **88. Для чего предназначена команда `killall`?**
+ A) Для завершения всех процессов в системе.
+ B) Для отправки сигнала всем процессам с указанным именем.
+ C) Для отправки сигнала всем дочерним процессам текущей оболочки.
+ D) Для завершения всех процессов, запущенных текущим пользователем.
+ **89. Что произойдёт с дочерними процессами, если их родительский процесс завершается?**
+ A) Они немедленно завершаются вместе с родителем.
+ B) Они становятся "осиротевшими" и "усыновляются" процессом `init` (PID 1) или его аналогом.
+ C) Они становятся зомби-процессами.
+ D) Они продолжают работать, но больше не могут создавать свои дочерние процессы.
+ **90. Можно ли перехватить или проигнорировать сигнал `SIGKILL`?**
+ A) Да, с помощью системного вызова `signal()`.
+ B) Да, если процесс имеет права `root`.
* C) Нет, этот сигнал обрабатывается непосредственно ядром и не может быть перехвачен процессом.
+ D) Да, но только если процесс запущен с опцией `--ignore-kill`.
---
### Анкета: Сессии, терминалы, pty
#### 🟡 Уровень 2: Продвинутый пользователь
+ **91. Для чего используется команда `nohup`?**
+ A) Для запуска команды с повышенным приоритетом.
+ B) Для запуска команды, которая продолжит выполняться даже после закрытия терминала.
+ C) Для запуска команды без вывода в консоль.
+ D) Для запрета команде использовать сеть.
+ **92. Что такое `screen` или `tmux`?**
+ A) Утилиты для записи видео с экрана.
+ B) Утилиты для удалённого управления рабочим столом.
+ C) Терминальные мультиплексоры, позволяющие управлять несколькими сессиями терминала в одном окне.
+ D) Драйверы для виртуальных дисплеев.
+ **93. Что представляет собой файл в `/dev/pts/` (например, `/dev/pts/0`)?**
+ A) Файл, представляющий псевдотерминал, связанный с сессией SSH или эмулятором терминала.
+ B) Файл конфигурации для последовательного порта (COM-порта).
+ C) Физический порт на материнской плате.
* D) Драйвер для сенсорного экрана.
#### 🔴 Уровень 3: Эксперт
+ **94. В чём разница между сессией (session) и группой процессов (process group)?**
+ A) Сессия — это набор групп процессов, обычно связанных с одним терминалом.
+ B) Сессия — это синоним группы процессов.
+ C) Сессия относится к пользователю, а группа процессов — к программам.
+ D) В сессии может быть только один процесс, в группе — много.
+ **95. Что такое управляющий терминал (controlling terminal) процесса?**
+ A) Терминал, на котором отображается вывод процесса.
+ B) Терминал, с которого процесс был запущен и который может отправлять ему сигналы (например, `Ctrl+C`).
+ C) Терминал, который имеет права на управление этим процессом.
+ D) Главный терминал системы (`/dev/tty1`).
+ **96. Для чего нужен `disown` в `bash`?**
+ A) Чтобы передать владение процессом другому пользователю.
+ B) Чтобы отвязать запущенный в фоне процесс от текущей сессии shell, предотвращая его завершение при выходе.
+ C) Чтобы запретить процессу доступ к файловой системе.
+ D) Чтобы удалить процесс из списка `jobs`.
---
### Анкета: Переменные окружения и shell
#### 🟢 Уровень 1: Основы
+ **97. Какая команда выводит значение переменной окружения `HOME`?**
+ A) `print $HOME`
+ B) `var HOME`
+ C) `show $HOME`
+ D) `echo $HOME`
+ **98. Каково назначение переменной `PATH`?**
+ A) Она указывает путь к домашнему каталогу пользователя.
+ B) Она содержит список каталогов, в которых оболочка ищет исполняемые файлы.
+ C) Она хранит путь к текущему рабочему каталогу.
+ D) Она определяет путь для сохранения временных файлов.
+ **99. Как установить переменную окружения `MYVAR` со значением `hello` для текущей сессии и дочерних процессов?**
+ A) `set MYVAR=hello`
+ B) `let MYVAR="hello"`
+ C) `export MYVAR="hello"`
+ D) `env MYVAR="hello"`
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **100. В чем разница между `VAR=value` и `export VAR=value` в `bash`?**
+ A) `export` делает переменную доступной только для чтения.
+ B) `VAR=value` создаёт локальную переменную оболочки; `export` делает её переменной окружения, видимой в дочерних процессах.
+ C) `export` работает только для системных переменных.
* D) Разницы нет, `export` — это устаревший синтаксис.
+ **101. Какой файл обычно используется для установки переменных окружения для всех пользователей при входе в систему?**
+ A) `~/.bashrc`
+ B) `/etc/profile`
+ C) `~/.profile`
+ D) `/etc/environment`
+ **102. Что такое `PS1`?**
+ A) Переменная, определяющая основной системный прокси.
+ B) Переменная, управляющая внешним видом приглашения командной строки.
+ C) Переменная, указывающая на первый скрипт, запускаемый при старте сессии.
+ D) Переменная, хранящая PID текущего процесса оболочки.
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **103. Какая команда выполнит `my_command`, временно установив для неё переменную `DEBUG` в `true`?**
+ A) `export DEBUG=true && my_command`
+ B) `DEBUG=true my_command`
+ C) `my_command --env DEBUG=true`
+ D) `setenv DEBUG=true; my_command`
+ **104. Для чего используется команда `env`?**
+ A) Для редактирования переменных окружения.
+ B) Для вывода списка текущих переменных окружения или запуска команды в изменённом окружении.
+ C) Для загрузки переменных окружения из файла.
+ D) Для шифрования переменных окружения.
+ **105. Что произойдет, если выполнить `(cd /tmp && ls)`?**
+ A) Текущий каталог навсегда изменится на `/tmp`.
+ B) Команды будут выполнены в подоболочке (subshell), поэтому текущий каталог родительской оболочки не изменится.
+ C) Команда `ls` будет выполнена в `/tmp`, но сначала будет запрошено подтверждение.
+ D) Произойдет ошибка синтаксиса.
---
### Анкета: Bash-скрипты
#### 🟡 Уровень 2: Продвинутый пользователь
+ **106. Что такое "shebang" (шибанг) в скрипте?**
+ A) Комментарий с именем автора скрипта.
+ B) Последняя строка скрипта, возвращающая код завершения.
+ C) Первая строка вида `#!/bin/bash`, указывающая интерпретатор для выполнения скрипта.
+ D) Специальная переменная для хранения аргументов командной строки.
+ **107. Как в bash-скрипте получить первый аргумент, переданный ему при запуске?**
+ A) `$ARG1`
+ B) `$1`
+ C) `%1`
+ D) `$$1`
+ **108. Что проверяет условная конструкция `if [ -f "file.txt" ]`?**
+ A) Что `file.txt` существует и является каталогом.
+ B) Что `file.txt` существует и является обычным файлом.
+ C) Что `file.txt` имеет права на исполнение.
+ D) Что `file.txt` не пустой.
#### 🔴 Уровень 3: Эксперт
+ **109. Каково назначение `set -e` в начале bash-скрипта?**
+ A) Включить режим отладки, печатая каждую команду перед выполнением.
+ B) Немедленно завершить выполнение скрипта, если какая-либо команда завершится с ненулевым кодом выхода.
+ C) Запретить использование незаданных переменных.
+ D) Включить расширенный синтаксис (extended mode).
+ **110. Что хранится в переменной `$?`?**
+ A) PID текущего скрипта.
+ B) Количество аргументов, переданных скрипту.
+ C) Код возврата (exit code) последней выполненной команды.
+ D) Имя самого скрипта.
+ **111. В чём разница между одинарными (`'`) и двойными (`"`) кавычками в bash?**
+ A) Одинарные кавычки используются для строк, двойные — для чисел.
+ B) В двойных кавычках происходит подстановка переменных и команд, а в одинарных — нет, текст воспринимается буквально.
+ C) Двойные кавычки быстрее обрабатываются.
+ D) Разницы нет, они взаимозаменяемы.
---
## 🧠 Управление системой
### Анкета: Управление службами и демонами
#### 🟢 Уровень 1: Основы
+ **112. Какая команда используется в современных системах с `systemd` для запуска службы `nginx`?**
+ A) `service nginx start`
+ B) `/etc/init.d/nginx start`
+ C) `systemctl start nginx`
+ D) `start nginx`
+ **113. Как проверить статус службы `sshd` с помощью `systemd`?**
+ A) `systemctl status sshd`
+ B) `service sshd status`
+ C) `check sshd`
* D) `systemctl query sshd`
+ **114. Как сделать так, чтобы служба `apache2` автоматически запускалась при загрузке системы?**
+ A) `systemctl boot apache2`
+ B) `systemctl enable apache2`
+ C) `systemctl startup apache2`
+ D) `systemctl on apache2`
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **115. Что такое "юнит" (unit) в `systemd`?**
+ A) Это любой ресурс, которым управляет `systemd` (служба, точка монтирования, устройство и т.д.), описанный в конфигурационном файле.
+ B) Это исполняемый файл службы.
+ C) Это скрипт инициализации в стиле SysVinit.
+ D) Это модуль ядра, необходимый для работы `systemd`.
+ **116. Где обычно располагаются пользовательские unit-файлы `systemd`?**
+ A) `/lib/systemd/system/`
+ B) `/usr/share/systemd/`
+ C) `/etc/systemd/system/`
+ D) `/var/run/systemd/`
+ **117. Какая команда перезагрузит конфигурацию службы, не перезапуская её полностью (если служба это поддерживает)?**
+ A) `systemctl restart`
+ B) `systemctl reload`
+ C) `systemctl update`
+ D) `systemctl refresh`
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **118. Для чего нужен `systemd-analyze`?**
+ A) Для анализа логов, собранных `systemd`.
+ B) Для анализа производительности и времени загрузки системы и отдельных служб.
+ C) Для проверки синтаксиса unit-файлов.
+ D) Для анализа зависимостей между юнитами.
+ **119. Что такое "сокет-активация" (socket activation) в `systemd`?**
+ A) Способ активировать сетевой интерфейс при запуске службы.
+ B) `systemd` слушает сетевой сокет от имени службы и запускает её только при поступлении первого соединения.
+ C) Процесс привязки службы к конкретному IP-адресу и порту.
+ D) Механизм защиты сокетов с помощью файрвола.
+ **120. Как посмотреть все зависимости для юнита `multi-user.target`?**
+ A) `systemctl show-deps multi-user.target`
+ B) `systemctl depends multi-user.target`
+ C) `systemctl list-dependencies multi-user.target`
+ D) `systemctl graph multi-user.target`
---
### Анкета: Запуск и завершение системы (systemd, targets, runlevels)
#### 🟡 Уровень 2: Продвинутый пользователь
+ **121. Что пришло на смену "уровням запуска" (runlevels) из SysVinit в `systemd`?**
+ A) Цели (targets)
+ B) Службы (services)
+ C) Режимы (modes)
+ D) Состояния (states)
+ **122. Какая цель (target) в `systemd` соответствует многопользовательскому режиму с поддержкой сети, но без графического интерфейса?**
+ A) `graphical.target`
+ B) `network.target`
+ C) `multi-user.target`
+ D) `rescue.target`
+ **123. Как переключиться в режим восстановления (rescue mode) в работающей системе?**
+ A) `systemctl rescue`
+ B) `systemctl isolate rescue.target`
+ C) `reboot --rescue`
+ D) `telinit 1`
#### 🔴 Уровень 3: Эксперт
+ **124. Каков первый процесс, который ядро запускает в пользовательском пространстве в большинстве современных дистрибутивов Linux?**
+ A) `/sbin/init` (который обычно является ссылкой на `systemd`)
+ B) `/bin/bash`
+ C) `/etc/rc.local`
+ D) `/usr/bin/kdm`
+ **125. В чем основная идея параллельного запуска служб в `systemd` в отличие от последовательного в SysVinit?**
+ A) `systemd` запускает службы на разных ядрах процессора.
+ B) `systemd` анализирует зависимости и запускает службы, не зависящие друг от друга, одновременно, ускоряя загрузку.
+ C) `systemd` создаёт копии служб и запускает их параллельно.
+ D) `systemd` использует предзагрузку служб в память.
+ **126. Как изменить цель по умолчанию, в которую загружается система?**
+ A) Отредактировать файл `/etc/inittab`.
+ B) Использовать команду `systemctl set-default graphical.target`.
+ C) Изменить параметр ядра `systemd.default_target=graphical.target`.
+ D) Создать файл `/etc/systemd/default.target`.
---
### Анкета: Планировщики задач (cron, at, systemd timers)
#### 🟢 Уровень 1: Основы
+ **127. Какая команда используется для редактирования `crontab` текущего пользователя?**
+ A) `cron -e`
+ B) `crontab -edit`
+ C) `crontab -e`
+ D) `edit cron`
+ **128. Что означает запись `* * * * * command` в `crontab`?**
+ A) Выполнять `command` один раз в час.
+ B) Выполнять `command` каждую минуту.
+ C) Выполнять `command` один раз в день.
+ D) Выполнять `command` при каждой загрузке.
+ **129. Для чего предназначена команда `at`?**
+ A) Для выполнения команды в определённое время в будущем, но только один раз.
+ B) Для измерения времени выполнения другой команды.
+ C) Для повторения команды через заданные интервалы.
+ D) Для просмотра запланированных задач.
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **130. Как будет интерпретироваться запись `0 3 * * 1 /scripts/backup.sh`?**
+ A) Каждый понедельник в 3:00 ночи.
+ B) Первого числа каждого месяца в 3:00 ночи.
+ C) Каждый день в 1:03 ночи.
+ D) Каждый понедельник в полночь и в 3:00.
+ **131. В чем преимущество использования `systemd timers` по сравнению с `cron`?**
+ A) Они имеют более простой синтаксис.
+ B) Они интегрированы с `systemd`, что даёт лучшее логирование и управление зависимостями.
+ C) Они могут запускать задачи чаще, чем раз в минуту.
+ D) Они не требуют прав `root`.
+ **132. Где находится системный `crontab` и файлы для `cron.d`?**
+ A) `/var/cron`
+ B) `/etc/crontab` и `/etc/cron.d/`
+ C) `/usr/lib/cron/`
+ D) `~/.crontab`
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **133. Что такое `anacron`?**
+ A) Альтернативный, более современный планировщик, заменяющий `cron`.
+ B) Планировщик, который выполняет пропущенные задачи `cron` при включении системы, если она была выключена во время их планового запуска.
* C) Утилита для анализа и отладки `crontab`.
+ D) Сетевая версия `cron`.
+ **134. Как запустить скрипт `/opt/cleanup.sh` в 17:00 сегодня с помощью `at`?**
+ A) `at 17:00 < /opt/cleanup.sh`
+ B) `echo "/opt/cleanup.sh" | at 17:00`
+ C) `at run /opt/cleanup.sh at 17:00`
+ D) `at 17:00 -f /opt/cleanup.sh`
+ **135. Что определяет опция `OnCalendar=` в unit-файле `systemd.timer`?**
+ A) Календарь, который нужно использовать для определения даты.
+ B) Время и дату для запуска задачи, аналогично синтаксису `crontab`.
+ C) Дату, когда таймер должен быть автоматически удалён.
+ D) Путь к файлу календаря с событиями.
---
### Анкета: Системные журналы и логи
#### 🟡 Уровень 2: Продвинутый пользователь
+ **136. Какая команда используется для просмотра логов, собранных `systemd-journald`?**
+ A) `cat /var/log/syslog`
+ B) `logread`
+ C) `journalctl`
+ D) `dmesg`
+ **137. Как с помощью `journalctl` посмотреть логи только от службы `sshd`?**
+ A) `journalctl | grep sshd`
+ B) `journalctl -u sshd`
+ C) `journalctl --unit=sshd`
+ D) `journalctl /units/sshd`
+ **138. Для чего используется `logrotate`?**
+ A) Для просмотра логов в реальном времени.
+ B) Для автоматического управления файлами логов: их ротации, сжатия и удаления.
+ C) Для отправки логов на удалённый сервер.
+ D) Для шифрования лог-файлов.
#### 🔴 Уровень 3: Эксперт
+ **139. Что делает команда `journalctl -f`?**
+ A) Форматирует вывод лога в удобном виде.
+ B) Показывает только фатальные (fatal) ошибки.
+ C) Показывает последние записи в журнале и продолжает выводить новые по мере их поступления (аналог `tail -f`).
+ D) Ищет (find) записи по шаблону.
+ **140. В чем ключевое отличие `journald` от традиционного `syslog`?**
+ A) `journald` хранит логи в структурированном бинарном формате, а не в простом тексте.
+ B) `journald` не может отправлять логи по сети.
+ C) `journald` хранит логи только в оперативной памяти.
+ D) `syslog` может собирать логи только от ядра.
+ **141. Какая команда выведет сообщения ядра, записанные с момента последней загрузки?**
+ A) `journalctl -k` (или `dmesg`)
+ B) `journalctl --system`
+ C) `journalctl -p err`
+ D) `cat /var/log/kernel.log`
---
### Анкета: Безопасность и аудит
#### 🟡 Уровень 2: Продвинутый пользователь
+ **142. Какой файл содержит информацию о том, кто, когда и откуда входил в систему?**
+ A) `/var/log/auth.log` (или `/var/log/secure`)
+ B) `/etc/passwd`
+ C) `~/.bash_history`
+ D) `/var/log/messages`
+ **143. Для чего используется команда `last`?**
+ A) Для просмотра последнего запущенного процесса.
+ B) Для отображения истории последних входов пользователей в систему.
+ C) Для просмотра последней строки в лог-файле.
+ D) Для поиска последнего измененного файла.
+ **144. Где по умолчанию логируются попытки использования `sudo`?**
+ A) В `~/.sudo_history`.
+ B) В `/var/log/sudo.log`.
+ C) В системном журнале, обычно в `/var/log/auth.log` или в журнале `systemd`.
+ D) Логи `sudo` не ведутся по умолчанию.
#### 🔴 Уровень 3: Эксперт
+ **145. Что такое `fail2ban`?**
+ A) Утилита для поиска вирусов.
+ B) Файрвол, блокирующий все входящие соединения.
+ C) Служба, которая анализирует логи и блокирует IP-адреса, с которых производятся подозрительные действия (например, подбор пароля).
+ D) Система двухфакторной аутентификации.
+ **146. Для чего предназначена подсистема `auditd`?**
+ A) Для аудита производительности системы.
+ B) Для записи подробной информации о событиях, связанных с безопасностью, на уровне системных вызовов.
+ C) Для проверки целостности системных файлов.
+ D) Для управления пользователями и группами.
+ **147. Что делает команда `ausearch -k mykey`?**
+ A) Ищет в системе ключ шифрования с именем `mykey`.
+ B) Ищет в логах аудита события, помеченные ключом `mykey` в правилах `auditd`.
+ C) Ищет SSH-ключ `mykey`.
+ D) Ищет в логах все события, связанные с нажатием клавиш.
---
### Анкета: Управление доступом (sudo, su, capabilities)
#### 🟡 Уровень 2: Продвинутый пользователь
+ **148. Какая команда позволяет выполнить `apt update` от имени `root`, не входя в его сессию?**
+ A) `su "apt update"`
+ B) `root apt update`
+ C) `sudo apt update`
+ D) `runas root apt update`
+ **149. В чем разница между `su` и `su -`?**
+ A) `su -` требует пароль, а `su` нет.
+ B) `su` просто меняет пользователя, а `su -` запускает полноценную сессию входа (login shell) с окружением целевого пользователя.
+ C) `su` переключает на `root`, а `su -` — на любого другого пользователя.
+ D) `su -` — это устаревшая форма команды `su`.
+ **150. Какой файл используется для настройки прав `sudo`?**
+ A) `/etc/sudo.conf`
+ B) `/etc/sudoers`
+ C) `/etc/passwd`
+ D) `~/.sudoers`
#### 🔴 Уровень 3: Эксперт
+ **151. Что такое "Linux capabilities"?**
+ A) Список возможностей, которые поддерживает текущая версия ядра.
+ B) Механизм, который делит всемогущество `root` на отдельные привилегии, которые можно назначать процессам.
+ C) Утилита для измерения производительности системы.
+ D) Набор плагинов для расширения функциональности `sudo`.
+ **152. Как разрешить пользователю `user1` выполнять команду `/sbin/reboot` без пароля через `sudo`?**
+ A) Добавить в `/etc/sudoers` строку: `user1 ALL=(ALL) /sbin/reboot`
+ B) Добавить в `/etc/sudoers` строку: `user1 ALL=(ALL) NOPASSWD: /sbin/reboot`
+ C) Добавить `user1` в группу `reboot`.
+ D) Установить SUID-бит на `/sbin/reboot` и сделать `user1` его владельцем.
+ **153. Зачем использовать `visudo` для редактирования `/etc/sudoers`?**
+ A) `visudo` предоставляет графический интерфейс.
+ B) `visudo` автоматически делает резервные копии.
+ C) `visudo` проверяет синтаксис файла перед сохранением, чтобы не заблокировать систему.
+ D) `visudo` позволяет редактировать файл без прав `root`.
---
## 🌐 Сеть и взаимодействие
### Анкета: Настройка физических интерфейсов
#### 🟡 Уровень 2: Продвинутый пользователь
+ **154. Какая современная команда используется для просмотра IP-адресов на всех интерфейсах?**
+ A) `ifconfig`
+ B) `netstat -i`
+ C) `ip addr show`
+ D) `ipconfig`
+ **155. Как временно добавить IP-адрес `192.168.1.100/24` на интерфейс `eth0`?**
+ A) `ifconfig eth0 add 192.168.1.100/24`
+ B) `ip addr add 192.168.1.100/24 dev eth0`
+ C) `net link add 192.168.1.100/24 dev eth0`
+ D) `echo "192.168.1.100/24" > /sys/class/net/eth0/address`
+ **156. Какая команда покажет текущую таблицу маршрутизации?**
+ A) `ip route show` (или `route -n`)
+ B) `ip forward list`
+ C) `netstat -r`
+ D) `ip gateway list`
#### 🔴 Уровень 3: Эксперт
+ **157. Как изменить MTU (Maximum Transmission Unit) для интерфейса `eth1` на 1492?**
+ A) `ip link set mtu 1492 dev eth1`
+ B) `ip addr change mtu 1492 dev eth1`
+ C) `ifconfig eth1 mtu 1492`
+ D) `ethtool -S eth1 mtu 1492`
+ **158. Что такое `default route` (маршрут по умолчанию)?**
+ A) Маршрут к локальной сети.
+ B) Маршрут, который используется для пакетов, если для их адреса назначения нет более конкретного маршрута в таблице.
+ C) Маршрут к DNS-серверу.
+ D) Первый маршрут, добавляемый в таблицу при загрузке.
+ **159. Какая команда удалит маршрут по умолчанию через шлюз `192.168.1.1`?**
+ A) `ip route flush 192.168.1.1`
+ B) `ip route del default`
+ C) `ip route del 0/0 via 192.168.1.1`
+ D) `route del default gw 192.168.1.1`
---
### Анкета: Настройка виртуальных интерфейсов
#### 🔴 Уровень 3: Эксперт
+ **160. Что такое `bridge` (сетевой мост) в Linux?**
+ A) Виртуальный сетевой интерфейс для соединения двух хостов.
+ B) Виртуальный коммутатор (switch), который объединяет несколько сетевых интерфейсов в один сегмент L2.
+ C) Устройство для преобразования IP-адресов (NAT).
+ D) Тип VPN-туннеля.
+ **161. Для чего используется `bonding` (агрегация каналов)?**
+ A) Для объединения нескольких физических интерфейсов в один логический для повышения отказоустойчивости или пропускной способности.
+ B) Для привязки IP-адреса к MAC-адресу.
+ C) Для создания виртуальных копий одного физического интерфейса.
+ D) Для разделения одного физического интерфейса на несколько виртуальных (VLAN).
+ **162. Что такое пара интерфейсов `veth` (Virtual Ethernet)?**
+ A) Два виртуальных интерфейса, подключенных друг к другу как патч-корд, используемые для соединения сетевых пространств имён (network namespaces).
+ B) Интерфейс для связи виртуальной машины с хостом.
+ C) Виртуальный интерфейс, который отбрасывает весь трафик.
+ D) Интерфейс для создания VLAN.
---
### Анкета: Управление маршрутизацией
#### 🔴 Уровень 3: Эксперт
+ **163. Что такое `policy-based routing`?**
+ A) Маршрутизация на основе политик безопасности файрвола.
+ B) Маршрутизация пакетов на основе правил, которые могут учитывать не только адрес назначения, но и адрес источника, порт и т.д.
+ C) Динамическая маршрутизация с использованием протоколов OSPF или BGP.
+ D) Маршрутизация, которая меняется в зависимости от времени суток.
+ **164. Какая команда используется для управления правилами в `policy-based routing`?**
+ A) `ip route`
+ B) `ip rule`
+ C) `ip policy`
+ D) `iptables -t route`
+ **165. Что делает команда `ip route add 10.0.0.0/8 via 192.168.0.1`?**
+ A) Добавляет маршрут по умолчанию.
+ B) Добавляет маршрут для сети `10.0.0.0/8` через шлюз `192.168.0.1`.
+ C) Добавляет IP-адрес `10.0.0.1` на интерфейс со шлюзом `192.168.0.1`.
+ D) Запрещает весь трафик в сеть `10.0.0.0/8`.
---
### Анкета: Firewall и фильтрация трафика
#### 🟡 Уровень 2: Продвинутый пользователь
+ **166. Каковы три основные предопределенные цепочки в таблице `filter` `iptables`?**
+ A) `ACCEPT`, `DROP`, `REJECT`
+ B) `IN`, `OUT`, `FORWARD`
+ C) `INPUT`, `OUTPUT`, `FORWARD`
+ D) `PRE_ROUTING`, `POST_ROUTING`, `ROUTING`
+ **167. В чем разница между `DROP` и `REJECT` в `iptables`?**
+ A) `DROP` тихо отбрасывает пакет, `REJECT` отбрасывает и отправляет в ответ сообщение об ошибке (например, `port unreachable`).
+ B) `DROP` блокирует, а `REJECT` перенаправляет трафик.
+ C) `DROP` используется для TCP, `REJECT` — для UDP.
+ D) Разницы нет, это синонимы.
+ **168. Что такое `firewalld`?**
+ A) Старая утилита для управления `iptables`.
+ B) Динамический менеджер файрвола с поддержкой "зон" для управления правилами.
+ C) Аппаратный файрвол для Linux-серверов.
+ D) Утилита для тестирования правил файрвола.
#### 🔴 Уровень 3: Эксперт
+ **169. Что такое `nftables`?**
+ A) Новая система фильтрации пакетов, пришедшая на смену `iptables`.
+ B) Таблица в `iptables` для NAT.
+ C) Утилита для создания сетевых туннелей.
+ D) База данных для хранения правил файрвола.
+ **170. Какая цепочка `iptables` обрабатывает пакеты, которые предназначены для самого хоста?**
+ A) `PREROUTING`
+ B) `POSTROUTING`
+ C) `FORWARD`
+ D) `INPUT`
+ **171. Для чего используется `conntrack` (connection tracking)?**
+ A) Для отслеживания маршрутов к другим хостам.
+ B) Для отслеживания состояния сетевых соединений (например, `NEW`, `ESTABLISHED`, `RELATED`), что позволяет создавать stateful-файрвол.
+ C) Для подсчета количества пакетов, проходящих через интерфейс.
+ D) Для отслеживания физических подключений к коммутатору.
---
### Анкета: Диагностика сети
#### 🟡 Уровень 2: Продвинутый пользователь
+ **172. Какая команда используется для проверки доступности хоста по IP-адресу или имени, отправляя ICMP-запросы?**
+ A) `netstat`
+ B) `traceroute`
+ C) `ping`
+ D) `ss`
+ **173. Для чего нужна утилита `traceroute` (или `tracepath`)?**
+ A) Для отслеживания маршрута (последовательности маршрутизаторов), который проходят пакеты до указанного хоста.
+ B) Для измерения скорости сетевого соединения.
+ C) Для сканирования открытых портов на хосте.
+ D) Для просмотра таблицы маршрутизации.
+ **174. Какая современная команда пришла на смену `netstat` для просмотра сетевых сокетов?**
+ A) `socket`
+ B) `ip socket`
+ C) `nstat`
+ D) `ss`
#### 🔴 Уровень 3: Эксперт
+ **175. Каково назначение `tcpdump`?**
+ A) Для сброса (dump) TCP-соединений.
+ B) Для анализатора сетевого трафика, который позволяет перехватывать и отображать пакеты, проходящие через сетевой интерфейс.
+ C) Для создания TCP-туннелей.
+ D) Для вывода статистики по TCP-протоколу.
+ **176. Что показывает команда `ss -ltn`?**
+ A) Все установленные TCP-соединения.
+ B) Все TCP-сокеты в состоянии прослушивания (LISTEN), с отображением числовых портов и без разрешения имён.
+ C) Все UDP-сокеты.
+ D) Все сетевые туннели.
+ **177. Как с помощью `nmap` проверить, открыт ли TCP-порт 80 на хосте `example.com`?**
+ A) `nmap -p 80 example.com`
+ B) `nmap -check 80 example.com`
+ C) `nmap example.com | grep 80`
+ D) `nmap --port 80 --host example.com`
---
## 💾 Хранилище и файловые системы
### Анкета: Работа с файловыми системами
#### 🟡 Уровень 2: Продвинутый пользователь
+ **178. Какая команда используется для монтирования файловой системы?**
+ A) `attach`
+ B) `connect`
+ C) `mount`
+ D) `fsck`
+ **179. Каково назначение файла `/etc/fstab`?**
+ A) Он содержит таблицу статических маршрутов.
+ B) Он содержит информацию о файловых системах и их точках монтирования, которые монтируются автоматически при загрузке.
+ C) Это скрипт для проверки файловых систем.
+ D) Он содержит список всех файлов в системе.
+ **180. Что делает команда `umount /mnt/data`?**
+ A) Форматирует устройство, смонтированное в `/mnt/data`.
+ B) Отмонтирует файловую систему от каталога `/mnt/data`.
+ C) Удаляет каталог `/mnt/data`.
+ D) Проверяет файловую систему на ошибки.
#### 🔴 Уровень 3: Эксперт
+ **181. Что такое "ленивое" отмонтирование (`umount -l`)?**
+ A) Отмонтирование происходит с задержкой в несколько секунд.
+ B) Файловая система немедленно отсоединяется от иерархии, но остаётся занятой, пока все процессы, использующие её, не завершатся.
+ C) Отмонтируется только часть файловой системы.
+ D) Команда возвращает управление сразу, а отмонтирование происходит в фоновом режиме.
+ **182. Как перемонтировать файловую систему в режим "только для чтения" (read-only)?**
+ A) `mount -o remount,ro /path`
+ B) `remount ro /path`
+ C) `mount --change --readonly /path`
+ D) `fsck -r /path`
+ **183. Что такое `bind mount`?**
+ A) Монтирование файловой системы, защищенной паролем.
+ B) Монтирование одного каталога в другой каталог, делая его содержимое доступным по двум путям.
+ C) Монтирование сетевой файловой системы.
+ D) Монтирование зашифрованного раздела.
---
### Анкета: Работа с памятью и свопом
#### 🟡 Уровень 2: Продвинутый пользователь
+ **184. Какая команда показывает информацию об использовании оперативной памяти и swap-раздела?**
+ A) `mem`
+ B) `top`
+ C) `free`
+ D) `vmstat`
+ **185. Что такое `swap` (своп) в Linux?**
+ A) Область на диске, используемая как виртуальное расширение оперативной памяти (RAM).
+ B) Быстрый кэш для часто используемых файлов.
+ C) Временный раздел для хранения загрузочных файлов.
+ D) Процесс обмена данными между ядром и пользовательским пространством.
+ **186. Как включить swap-файл `/swapfile`?**
+ A) `swapon /swapfile`
+ B) `mount /swapfile`
+ C) `swap enable /swapfile`
+ D) `mkswap /swapfile && activate`
#### 🔴 Уровень 3: Эксперт
+ **187. Что показывает столбец `buff/cache` в выводе команды `free`?**
+ A) Память, используемую ядром для собственных нужд.
+ B) Память, используемую для дискового кэша (page cache) и буферов, которая может быть освобождена при необходимости.
+ C) Память, которая зарезервирована, но еще не используется.
+ D) Память, выделенную под swap.
+ **188. Для чего используется параметр ядра `swappiness`?**
+ A) Он определяет, насколько "охотно" ядро будет сбрасывать данные из оперативной памяти в swap.
+ B) Он задает максимальный размер swap-раздела.
+ C) Он включает или выключает использование swap.
+ D) Он задает приоритет использования разных swap-разделов.
+ **189. Что такое OOM Killer (Out of Memory Killer)?**
+ A) Утилита для очистки оперативной памяти.
+ B) Механизм ядра, который при нехватке памяти принудительно завершает процессы, чтобы освободить память.
+ C) Вирус, который потребляет всю доступную память.
+ D) Процесс, который отслеживает утечки памяти в приложениях.
---
## 📈 Наблюдение и оптимизация
### Анкета: Мониторинг ресурсов
#### 🟢 Уровень 1: Основы
+ **190. Какая интерактивная утилита в реальном времени показывает список процессов, отсортированных по использованию CPU?**
+ A) `ps`
+ B) `free`
+ C) `top` (или `htop`)
+ D) `df`
+ **191. Какая команда показывает использование дискового пространства файловыми системами?**
+ A) `du`
+ B) `df`
+ C) `ls -l`
+ D) `free`
+ **192. Для чего нужна команда `du -sh /path/to/dir`?**
+ A) Чтобы показать количество файлов в каталоге.
+ B) Чтобы показать права доступа к каталогу.
+ C) Чтобы показать суммарный размер каталога `/path/to/dir` в удобном для чтения формате.
+ D) Чтобы показать свободное место в разделе, где находится каталог.
#### 🟢🟢 Уровень 2: Продвинутый пользователь
+ **193. Что такое `iostat`?**
+ A) Утилита для мониторинга статистики ввода-вывода (чтения/записи) для дисковых устройств.
+ B) Утилита для мониторинга состояния сетевых интерфейсов.
+ C) Утилита для вывода информации об inode.
+ D) Утилита для измерения производительности CPU.
+ **194. Какая утилита предоставляет подробную информацию о статистике виртуальной памяти, процессов, прерываний, дискового ввода-вывода и CPU?**
+ A) `free`
+ B) `vmstat`
+ C) `meminfo`
+ D) `cpustat`
+ **195. В чем основное преимущество `htop` перед `top`?**
+ A) `htop` потребляет меньше ресурсов.
+ B) `htop` предустановлен во всех системах.
* C) `htop` предоставляет более удобный и интерактивный интерфейс с цветной подсветкой, прокруткой и управлением процессами.
+ D) `htop` может показывать только процессы текущего пользователя.
#### 🟢🟢🟢 Уровень 3: Эксперт
+ **196. Что означает `wa` (IO-wait) в выводе `top` или `vmstat`?**
+ A) Процент времени, в течение которого CPU простаивал, ожидая завершения операций ввода-вывода.
+ B) Процент времени, потраченный на ожидание ответа от сети.
+ C) Количество процессов, ожидающих своей очереди на выполнение.
+ D) Среднее время ожидания для завершенных процессов.
+ **197. Для чего используется `sar` (System Activity Reporter)?**
+ A) Для сбора, отчета и сохранения информации о системной активности (CPU, память, I/O) за длительный период.
+ B) Для отправки отчетов о сбоях системы разработчикам.
+ C) Для архивации системных логов.
+ D) Для поиска файлов в системе по их активности.
+ **198. Что делает команда `watch df -h`?**
+ A) Делает снимок вывода `df -h` и сохраняет его в файл.
+ B) Запускает `df -h` каждые 2 секунды (по умолчанию) и выводит результат на экран, позволяя наблюдать за изменениями.
+ C) Отслеживает изменения в файловой системе и запускает `df -h` при каждом изменении.
+ D) Запускает `df -h` в фоновом режиме.
---
### Анкета: Производительность
#### 🟡 Уровень 2: Продвинутый пользователь
+ **199. Что такое `Load Average`?**
+ A) Средняя загрузка процессора в процентах за последние 1, 5 и 15 минут.
+ B) Среднее количество процессов в очереди на выполнение (или ожидающих I/O) за 1, 5 и 15 минут.
+ C) Средняя температура процессора.
+ D) Среднее использование оперативной памяти.
+ **200. Для чего используются команды `nice` и `renice`?**
+ A) Для установки "хорошего" имени для процесса.
+ B) Для изменения приоритета планировщика для новых (`nice`) или уже запущенных (`renice`) процессов.
+ C) Для проверки состояния процесса.
+ D) Для ограничения ресурсов, которые может использовать процесс.
+ **201. Что означает, если `Load Average` на 4-ядерном процессоре равен 4.0?**
+ A) Система перегружена, не хватает ресурсов.
+ B) Система простаивает.
+ C) Все ядра процессора полностью утилизированы, но очереди на выполнение нет.
+ D) Два из четырех ядер полностью загружены.
#### 🔴 Уровень 3: Эксперт
+ **202. Какой инструмент позволяет трассировать системные вызовы и сигналы, получаемые процессом?**
+ A) `gdb`
+ B) `ltrace`
+ C) `strace`
+ D) `perf`
+ **203. Для чего используется команда `lsof`?**
+ A) Для вывода списка открытых файлов (List Open Files), включая сетевые сокеты, каналы и т.д.
+ B) Для поиска файлов по их содержимому.
+ C) Для блокировки файла от изменений.
+ D) Для вывода списка "мягких" (символических) ссылок.
+ **204. Что делает команда `dmesg`?**
+ A) Выводит сообщения из буфера сообщений ядра, что полезно для диагностики проблем с оборудованием и драйверами.
+ B) Показывает сообщения, отправленные другим пользователям.
+ C) Выводит отладочную информацию из запущенных приложений.
+ D) Форматирует и выводит системный журнал.
---
## 🧩 Изоляция и управление ресурсами
### Анкета: Namespaces и cgroups
#### 🔴 Уровень 3: Эксперт
+ **205. Что такое `namespaces` (пространства имён) в ядре Linux?**
+ A) Механизм для организации файлов в каталоги.
+ B) Механизм изоляции, который позволяет процессам иметь собственный, отдельный от других, набор глобальных системных ресурсов (например, PID, сеть, точки монтирования).
+ C) Система именования переменных в ядре.
+ D) Способ управления доступом пользователей к файлам.
+ **206. Каково основное назначение `cgroups` (контрольных групп)?**
+ A) Для группировки пользователей с одинаковыми правами.
+ B) Для организации процессов в иерархические группы, а также для ограничения и учёта использования ресурсов (CPU, память, I/O) этими группами.
+ C) Для создания виртуальных сетевых интерфейсов.
+ D) Для контроля версий конфигурационных файлов.
+ **207. Какие два механизма ядра лежат в основе большинства современных систем контейнеризации, таких как Docker?**
+ A) `iptables` и `SELinux`
+ B) `namespaces` и `cgroups`
+ C) `KVM` и `QEMU`
+ D) `systemd` и `udev`
---
### Анкета: Контейнеризация
#### 🟡 Уровень 2: Продвинутый пользователь
+ **208. Что такое `Docker`?**
+ A) Система виртуализации, эмулирующая аппаратное обеспечение.
+ B) Платформа для разработки, доставки и запуска приложений в контейнерах.
+ C) Система управления конфигурациями, аналог Ansible.
+ D) Менеджер пакетов для Linux.
+ **209. В чем ключевое отличие контейнера от виртуальной машины?**
+ A) Контейнер работает быстрее, но менее безопасен.
+ B) Контейнеры виртуализируют операционную систему, используя ядро хоста, а виртуальные машины эмулируют целое аппаратное обеспечение и запускают свою собственную ОС.
+ C) Виртуальные машины используют меньше дискового пространства.
+ D) Контейнеры не могут работать с сетью, в отличие от ВМ.
+ **210. Что такое "образ" (image) в Docker?**
+ A) Запущенный экземпляр контейнера.
+ B) Снимок состояния оперативной памяти контейнера.
+ C) Шаблон только для чтения с инструкциями для создания контейнера.
+ D) Файл резервной копии контейнера.
#### 🔴 Уровень 3: Эксперт
+ **211. Что такое `Podman` и чем он отличается от `Docker`?**
+ A) `Podman` — это графический интерфейс для `Docker`.
+ B) `Podman` — это инструмент для управления контейнерами, который не требует центрального демона и может работать без прав `root`.
+ C) `Podman` — это форк `Docker`, разработанный Microsoft.
+ D) `Podman` используется для оркестрации контейнеров, а `Docker` — для их создания.
+ **212. Что такое `Dockerfile`?**
+ A) Файл журнала работающего контейнера Docker.
+ B) Текстовый файл с инструкциями для автоматической сборки образа Docker.
+ C) Конфигурационный файл для демона Docker.
+ D) Скрипт для запуска контейнера.
+ **213. Какая команда покажет список всех запущенных контейнеров Docker?**
+ A) `docker list`
+ B) `docker ps`
+ C) `docker images`
+ D) `docker top`
---
### Анкета: Виртуализация
#### 🔴 Уровень 3: Эксперт
+ **214. Что такое `KVM` (Kernel-based Virtual Machine)?**
+ A) Полноценный гипервизор, работающий как отдельная ОС.
+ B) Механизм в ядре Linux, который превращает его в гипервизор 1-го типа, используя аппаратную виртуализацию.
+ C) Эмулятор аппаратного обеспечения, работающий в пользовательском пространстве.
+ D) Технология контейнеризации.
+ **215. Какую роль выполняет `QEMU` в связке с `KVM`?**
+ A) `QEMU` управляет сетевыми подключениями для `KVM`.
+ B) `KVM` обеспечивает ускорение, а `QEMU` эмулирует аппаратное обеспечение (диски, сетевые карты и т.д.) для виртуальной машины.
+ C) `QEMU` — это графический интерфейс для `KVM`.
+ D) `QEMU` не используется вместе с `KVM`.
+ **216. Что такое `libvirt`?**
+ A) Драйвер для виртуальных устройств.
+ B) Библиотека и набор инструментов для унифицированного управления различными технологиями виртуализации (`KVM`, `Xen`, `LXC` и др.).
+ C) Файловая система для виртуальных машин.
* D) Протокол для удалённого доступа к виртуальным машинам.
---
### Анкета: Ограничение и распределение ресурсов
#### 🔴 Уровень 3: Эксперт
+ **217. Как с помощью `systemd` ограничить использование памяти для службы `myservice.service` до 500 МБ?**
+ A) Добавить в unit-файл опцию `MemoryLimit=500M`.
+ B) Добавить в unit-файл опцию `MemoryMax=500M`.
+ C) Добавить в unit-файл опцию `MemoryAccounting=true` и `MemoryHigh=500M`.
+ D) Добавить в unit-файл опцию `LimitMEM=500M`.
+ **218. Что делает команда `ulimit -n 1024`?**
+ A) Ограничивает количество процессов до 1024.
+ B) Ограничивает использование памяти до 1024 КБ.
+ C) Ограничивает максимальное количество открытых файловых дескрипторов до 1024 для текущей сессии.
+ D) Ограничивает размер файла до 1024 байт.
+ **219. Какой механизм используется для управления ресурсами, выделенными для службы `systemd` или контейнера `docker`?**
+ A) `nice`
+ B) `ulimit`
+ C) `cgroups` (контрольные группы)
+ D) `namespaces` (пространства имён)
---
## 🔐 Ответы
1. **C**
2. **B**
3. **D**
4. **B**
5. **C**
6. **B**
7. **D**
8. **A**
9. **C**
10. **A**
11. **C**
12. **B**
13. **A**
14. **B**
15. **B**
16. **C**
17. **B**
18. **C**
19. **C**
20. **B**
21. **D**
22. **B**
23. **B**
24. **B**
25. **B**
26. **D**
27. **A**
28. **B**
29. **B**
30. **A**
31. **B**
32. **B**
33. **A**
34. **B**
35. **B**
36. **A**
37. **C**
38. **B**
39. **C**
40. **B**
41. **D**
42. **B**
43. **B**
44. **B**
45. **A**
46. **B**
47. **B**
48. **C**
49. **B**
50. **A**
51. **B**
52. **C**
53. **B**
54. **B**
55. **B**
56. **A**
57. **C**
58. **B**
59. **B**
60. **B**
61. **B**
62. **C**
63. **B**
64. **B**
65. **C**
66. **C**
67. **B**
68. **C**
69. **C**
70. **C**
71. **C**
72. **C**
73. **B**
74. **B**
75. **B**
76. **B**
77. **C**
78. **D**
79. **B**
80. **B**
81. **B**
82. **B**
83. **A**
84. **C**
85. **D**
86. **A**
87. **C**
88. **B**
89. **B**
90. **C**
91. **B**
92. **C**
93. **A**
94. **A**
95. **B**
96. **B**
97. **D**
98. **B**
99. **C**
100. **B**
101. **B**
102. **B**
103. **B**
104. **B**
105. **B**
106. **C**
107. **B**
108. **B**
109. **B**
110. **C**
111. **B**
112. **C**
113. **A**
114. **B**
115. **A**
116. **C**
117. **B**
118. **B**
119. **B**
120. **C**
121. **A**
122. **C**
123. **B**
124. **A**
125. **B**
126. **B**
127. **C**
128. **B**
129. **A**
130. **A**
131. **B**
132. **B**
133. **B**
134. **B**
135. **B**
136. **C**
137. **B**
138. **B**
139. **C**
140. **A**
141. **A**
142. **A**
143. **B**
144. **C**
145. **C**
146. **B**
147. **B**
148. **C**
149. **B**
150. **B**
151. **B**
152. **B**
153. **C**
154. **C**
155. **B**
156. **A**
157. **A**
158. **B**
159. **B**
160. **B**
161. **A**
162. **A**
163. **B**
164. **B**
165. **B**
166. **C**
167. **A**
168. **B**
169. **A**
170. **D**
171. **B**
172. **C**
173. **A**
174. **D**
175. **B**
176. **B**
177. **A**
178. **C**
179. **B**
180. **B**
181. **B**
182. **A**
183. **B**
184. **C**
185. **A**
186. **A**
187. **B**
188. **A**
189. **B**
190. **C**
191. **B**
192. **C**
193. **A**
194. **B**
195. **C**
196. **A**
197. **A**
198. **B**
199. **B**
200. **B**
201. **C**
202. **C**
203. **A**
204. **A**
205. **B**
206. **B**
207. **B**
208. **B**
209. **B**
210. **C**
211. **B**
212. **B**
213. **B**
214. **B**
215. **B**
216. **B**
217. **A**
218. **C**
219. **C**