Здравствуйте, уважаемые читатели!

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

Напомню, что свои вопросы с вариантами ответов Вы можете отправить мне на почту — sandro331k@yandex.ru. При наличии времени, я обязательно проведу разбор и опубликую его в блоге. Ну что, начнём?

1.  Какая из поддерживаемых в Astra Linux Special Edition файловая система позволяет создавать снимки состояния?

Честно говоря, я пока не видел, чтобы кто-то из моих коллег устанавливал Astra Linux на btrfs.
Да и сам ей не пользуюсь, устанавливал только для экспериментов. Снимки состояния файловой системы могут быть удобны перед обновлением версии операционной системы, либо в учебных целях (лично я в учебных целях предпочитаю Vbox и снимок виртуальной машины). В проде предпочитаю ansible и git. Возможно, я ещё просто не оценил удобство btrfs, что ж — всё впереди.

Ответ: btrfs

2. Вы настраиваете монтирование файловой системы, используя systemd. Какое имя будет иметь создаваемый с этой целью юнит-файл, если точка монтирования – каталог /opt/repo/1.7?

Система инициализации Systemd в своё время вызвала волну негодования Linux сообщества. Linux way говорит нам о том, что каждая программа должна выполнять одну задачу, но делать это идеально. А тут systemd замахнулась на всё разом – тут и настройка сети, и синхронизация времени, и монтирование файловых систем, и таймеры…

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

Скорее всего, Вы не будете создавать юнит-файлы для монтирования файловых систем каждый день – но знать, что такая возможность есть нужно обязательно. Дальше в «час нужды» Вы просто читаете man и ищите нужный параметр.

Касательно имён юнит-файлов при монтировании с помощью systemd Вы должны знать, что именем юнит-файла будет путь точки монтирования, в котором слеши заменяются на тире, причём первый слеш опускается и не заменяется (подробнее об этом можно прочесть в man systemd.unit).

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

systemd-escape --path --suffix=mount /opt/repo/1.7

Ответ: opt-repo-1.7.mount

3. Как добавить юнит example.service в «автозагрузку»?

Знание данной команды жизненно необходимо для любого администратора – запоминайте на всю жизнь.

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

systemctl enable --now example.service

Но в данном вопросе этого не требуют – советую запомнить для удобства.

Ответ: systemctl enable example.service

4. Вы подключили веб-камеру с USB интерфейсом. Как из командной строки можно узнать модель подключённой камеры? (введите только имя команды)

Указанную команду знать просто необходимо, будете сталкиваться с ней время от времени.

К слову, недавно ко мне обратились коллеги из другого филиала с проблемой «USB камера работает на Windows, но не работает на Astra Linux SE 1.6». Сам руководитель моего филиала попросил оказать помощь – поэтому я принялся за неё с изрядной долей энтузиазма.

Сразу спросил – «Точно камера рабочая»? — ответили «Да, только вчера дома проверяли».

Два дня удалённо консультировал пользователей – ничего не вышло. В итоге, передали мне камеру, начал проверять – не работает она на Windows (7,8,10 -глухо везде). Определяется в системе, но нет изображения.

Мораль – даже если говорят, что устройство рабочее – перед тем, как бросаться «во все тяжкие» (именно «во все тяжкие» – по другому, работу с устройствами, которые не работают на Linux из коробки не назовёшь) проверьте их исправность на Windows.

Ответ: lsusb

5. Вам нужно определить права доступа к новому подключаемому устройству. Какую утилиту Вы будете использовать?

Кстати, из-за того, что с открытием данной утилиты в графике периодически происходят проблемы (во всех версиях от 1.5 до 1.7 лично видел, как нажатие на значок в панели управления не открывает окно утилиты) знать её имя действительно обязательно — можно избежать проблем, запустив её через консоль и sudo.

Ответ: fly-admin-smc

6. В какой каталог смонтирована псевдофайловая система, в которую ядро ОС экспортирует информацию об устройствах?

Опять же, знать, что такая система есть — необходимость для администратора. При стабильной работе операционной системы Вы не будете заходить в данный каталог годами, но когда потребуется сделать chroot с загрузочного диска, неплохо бы знать какие псевдофайловые системы нужно монтировать в целевой каталог (живой пример – ссылка).

Ответ: /sys

7. Вам нужно создать правило udev, которое будет создавать символическую ссылку в каталоге /dev на файл подключаемого устройства. В каком каталоге Вы создадите это правило?

Чем мне нравится этот тест — все вопросы пока идут исключительно по делу. Нет каких-то сугубо теоретических вопросов для галочки – всё это пригодиться в реальной жизни.

Вот, например, на Astra Linux SE 1.5 был баг, когда символическая ссылка на устройство с мандатной меткой выше нуля оставалась в системе и мешала работе флеш-носителей. Чтобы его устранить, нужно было написать собственное правило udev.

Или ещё пример, периодически на Astra Linux SE 1.6 при работе с FreeIPA не монтируются сетевые правила udev. В качестве решения Вы можете создать эти правила локально, но через fly-admin-smc невозможно установить доменного пользователя и группу. Выход? Отредактировать правило.

Я могу долго об этом писать, но думаю, Вам стало ясно, что знать название каталога с правилами udev, как минимум полезно.

Ответ: /etc/udev/rules.d

8. Какая утилита командной строки предназначена для создания собственного репозитория? (введите только имя утилиты)

Рано или поздно, Вы задумаетесь о создании собственного репозитория. Возможно, Вы напишите свою программу для автоматизации создания шаблонных документов (как это сделал я, устав бороться с бюрократией). Или скопируете туда дополнительные пакеты для Astra Linux для удобства развёртывания (ну правда, не всё же делать руками, верно?).

Ответ: reprepro

9. Вы подключаете сторонний репозиторий с программным обеспечением. Какую команду следует использовать, чтобы добавить ключ этого репозитория в список доверенных ключей?

В предыдущем вопросе, я рассказал о поводах для создания своего репозитория. Буквально в этот же день Вы решите его подписать. APT будет ругаться, что репозиторий не подписан, ansible будет нудить и т.п. А как подпишите, нужно будет добавить ключ репозитория в список доверенных ключей. Вот почему нужно знать, как это делается. Кроме того сторонние программы часто распространяются через собственные репозитории – но это больше применимо не для защищённых систем.

Ответ: apt-key add

10. В каком файле находятся настройки для ротации журналов с сообщениями от экранного менеджера fly? Введите абсолютное имя файла.

Честно, мне не нравится этот вопрос. Файл ротации журналов fly-dm далеко не самый важный файл системы, чтобы помнить, как назвали его разработчики Astra Linux. Я вот не знаю, как он называется, но я знаю, что файлы настроек logrotate хранятся в /etc/logrotate.d/. Там же к слову лежит файл fly-dm (время поиска 3 секунды, смысл хранить это в голове отсутствует).

Ответ: /etc/logrotate.d/fly-dm

11. Какой параметр утилиты journalctl позволяет просматривать поступающие в журнал сообщения по мере их поступления?

Честно, мне нравится systemd, но journalctl я всё никак не распробую. Иногда полезно смотреть на поступающие сообщения в режиме реального времени, но редко.

Ответ: -f

12. Какая команда позволяет узнать текущий целевой уровень (target) системы? (части командной строки разделяйте одним пробелом)

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

Чтобы узнать текущий уровень нужно выполнить команду:

 runlevel

Чтобы узнать уровень по умолчанию, нужно ввести:

systemctl get-default

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

Ответ: systemctl get-default

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

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

Знания LVM полезны, так как это механизм не ограничивается изменением размеров разделов, его так же можно использовать в качестве RAID 1 или 0 (я же предпочитаю использовать mdadm для этих целей).

Сначала инициализируем физические тома для работы с LVM (pvcreate), далее создадим группу томов (vgcreate), далее создадим логические разделы (lvcreate) – ну а после — всё как обычно mkfs, и поправки в fstab, либо systemd.mount (с systemd вариант отсутствует).

Ответ: pvcreate, vgcreate, lvcreate, mkfs, /etc/fstab

 14. Вы включили компьютер. Какими способами можно посмотреть, какие сообщения от ядра поступали при загрузке системы?

Способов масса, например вместо:

dmesg | less 

следует использовать:

dmesg –H

Результат тот же, а писать меньше, верно? Можно посмотреть /var/log/kern.log вручную командой less, а можно с помощью journalctl -k.

Ответ: dmesg | less, less /var/log/kern.log, journalctl -k

15. Какая служба позволяет выполнять пропущенные из-за выключения компьютера периодические задания?

Правильный ответ anacron — только anacron это не служба, а программа, он не работает в фоновом режиме, а запускается таймером systemd. С другой стороны для него создан файл anacron.service, но только для работы таймера. Вот в таком странном мире мы живём — не служба, но называется, как служба.

Обязательно столкнётесь с ним при администрировании.

Ответ: anacron

16. Для отложенного одноразового запуска задания предназначена команда:

Которой я так же никогда не пользовался из-за отсутствия необходимости. Но в каждой книге о Linux про неё написано.

Ответ: at

17. С помощью какой команды можно сбросить счётчик числа неудачных попыток ввода пароля для пользователя?

В своё время на Astra Linux SE 1.5 регламентом организации не было установлено требование для автоматической разблокировки учётных записей. В день разблокировали учётные записи вручную по пять раз. Потом плюнул, установил время разблокировки и забыл как страшный сон. А потом подкорректировали и регламент.

Ответ: faillog -r

18.  Какие типы юнитов systemd должны быть задействованы для запуска заданий по расписанию?

Как говорилось ранее, в вопросе про anacron — для запуска таймеров systemd создаются юниты timer и service.

Ответ: .timer, .service

19. Какое значение приобретет переменная $# при запуске сценария с аргументами 1 3 5?

Написание сценариев на bash будет происходить в Вашей практике администрирования довольно часто. Не редко будет происходить ситуация, когда надо будет разобраться в чужом коде, поэтому настоятельно рекомендую уделить bash должное внимание.

Конкретно переменную $# я использую редко. В основном это защита от дурака – если скрипту требуется три аргумента, а предоставлено меньше – выдать сообщение об ошибке.

Таким образом, запуск скрипта с аргументами 1 3 5 присвоит значение переменной $# равное трём.

Ответ: 3  

20. Служба ОС Astra Linux, которая управляет сетевыми интерфейсами в случае графической установки?

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

Касательно настройки сети — лично я предпочитаю systemd-networkd, мне не нравится излишняя самостоятельность NetworkManager, но как известно на вкус и цвет…

Ответ: NetworkManager.service

Добавить комментарий

Ваш e-mail не будет опубликован.