186

Системный администратор Linux. Вопросы

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


Если кто пропустил, вот начало: Системный администратор Linux и продолжение: Продолжение поста «Системный администратор Linux»


В комментариях к предыдущим постам было высказано много мнений по поводу тематики и самих вопросов. Была и критика, и занудство, и здравые мысли. От себя могу сказать, что это не универсальный список вопросов для собеседования. Это то, с чем у нас приходится сталкиваться чаще всего, что надо понимать и без чего рост компетенций будет заметно усложнён. Часть вопросов просто для понимания кругозора кандидата.

Системный администратор Linux. Вопросы Linux, Windows, Сисадмин, Отдел кадров, Пригорело, Собеседование, Длиннопост

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


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


Готовы? Ну тогда поехали!


В: Как посмотреть версию ядра?

О: uname -a

В+: А если только версию?


О+: uname -r


В: Как узнать какие модули ядра загружены?

О: lsmod

В+: Как загрузить и выгрузить модуль?

О+: Загрузить командой modprobe, выгрузить ей же, но с ключом --remove, если модуль не используется.


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

О: Маршрут по умолчанию должен быть назначен на интерфейс с интернетом, нужно поднять NAT через iptables и SNAT/DNAT или MASQUERADE, надо включить forward пакетов.

В+: Как именно это сделать?

О+: Для примера шлюз будет на RHEL-based дистрибутиве. В других дистрибутивах есть созвучные или аналогичные опции. В настройках интерфейса с локалкой надо прописать defroute=no, на интерфейсе с интернетом defroute=yes. Либо можно указать маршрут в файле route-название_интерфейса, который располагается рядом с файлом настроек интерфейса. Настройка NAT будет зависеть от того, фиксирован ли список клиентов в локалке или нет. Если фиксирован - настройка через SNAT, если не фиксирован - MASQUERADE. Так же, если к клиенту будут обращения из внешней сети, придётся использовать DNAT. Включить forward пакетов можно временно командой echo 1 > /proc/sys/net/ipv4/ip_forward или постоянно, прописав net.ipv4.ip_forward = 1 в файл /etc/sysctl.conf и загрузить их из файла командой sysctl -p.

О++: Можно ещё поднять прокси и выпустить через него. Например squid. При этом либо явно указав этот прокси у клиентов, либо прозрачно, через iptables и POSTROUTING.


[Дословный синтаксис команд не нужен. Главное, что кандидат понимает что именно и как он будет делать. Если кандидат расскажет ещё что такое этот ip_forward - это будет дополнительным плюсом.]


В: Есть сервер с двумя интерфейсами, к каждому из которых подключён отдельный интернет провайдер. Например первый 100 мегабит, второй 50. Можно ли как-то получить суммарный внешний канал в 150 мегабит?

О: Штатно - нельзя. Но можно поставить пакет iproute2, который позволяет сделать два маршрута по умолчанию, каждый из которых будет иметь свой вес. Например вес первого интерфейса сделать вес 2, а второго - 1. Тогда трафик будет пытаться направляться в соотношении 2 к 1 относительно интерфейсов. В идеальных условиях это даст суммарные 150 мегабит. В реальных - будет зависимость и «тяжелых» сессий, которые будут привязываться к одному конкретному интерфейсу.


В: Как посмотреть какой DNS использует система? У нас настроен DHCP и «в лоб» в настройках на клиенте ничего нет. Файл /etc/resolv.conf много где считается устаревшим и там может быть пусто.

О: Попробовать отрезольвить любой адрес. Например командами nslookup, host или dig. Они показывают какой DNS сервер был использован.

В+: А если у нас какая нибудь Ubuntu, которая из коробки за собой тянет dnsmasq? В таком случае эти команды будут говорить, что DNS сервером является 127.0.1.1 или 127.0.0.53. Как быть?

О+: Если есть dnsmasq, значит у него есть конфиги и логи, в которых можно посмотреть что он использует. В крайнем случае можно использовать tcpdump и посмотреть какие есть исходящие подключения на 53 порт.


В: Как посмотреть таблицу маршрутизации на любой системе?

О: Это можно сделать командами route -n или ip r

В+: А на любой системе одной и той же командой?

О+: Команда netstat -rn работает везде, на Linux, Windows, MacOS, Solaris. Даже на Android. В некоторых системах это единственный вариант посмотреть маршруты.


В: Есть LVM. На одной VG есть 2 LV. Один смонтирован в корень системы, другой в /home. При создании разделов ошиблись и создали корень слишком маленький, а home слишком большой. Можно ли как-то перекинуть место из одного раздела в другой? Оба раздела содержат данные, которые нельзя удалять. В разделе home есть достаточно свободного места. Систему нельзя перезагружать.

О: Уменьшить можно, если файловая система позволяет уменьшать свой размер. Например ext4 позволяет это сделать, а xfs - нет. Увеличивать разделы можно «на горячую». Для уменьшения надо размонтировать /home, уменьшить файловую систему, уменьшить LV с этим разделом, смонтировать /home, увеличить LV раздела с корнем, увеличить файловую систему. Командой lvextend с ключом -r последние два действия можно совместить.

В+: А есть там xfs?

О+: Тогда придётся использовать временный диск. Скопировать на него данные из /home, пересоздать раздел меньшего размера, скопировать данные обратно. Можно командами pvs или vgs посмотреть свободное место на LVM. Возможно не всё пространство было размечено и его можно будет использовать вместо временного диска.


В: Как определить тип файловой системы, в которую отформатирован LV раздел в LVM? Команда fdisk -l показывает, что код раздела 83 или 8E, т.е. раздел Linux или LVM раздел.

О: Если раздел смонтирован можно командами df -T, mount или findmnt

В+: А если не смонтирован?

О+: Команда lsblk с ключом -f показывает тип файловой системы и метки, например для oracleasm дисков.


В: Как получить сводку о всём железе?

О: Командами группы ls. Например lspci, lsusb и т.д. Либо cat /proc/cpuinfo, cat /proc/meminfo и т.д.

В+: А более развёрнуто? Например с серийными номерами памяти и количеством плашек памяти?

О+: Можно через smbios командой dmidecode. Либо через ipmitool подключиться к менеджменту, если он есть, и через его shell достать данные.


В: Как обновить все пакеты, кроме одного? Например кроме ядра.

О: В RHEL-based командой yum update --exclude kernel*. В других дистрибутивах должен быть похожий ключ, который можно посмотреть в man’е к пакетному менеджеру.

В+: А если постоянно исключить из обновления?

О+: Можно использовать yum versionlock kernel*. В других дистрибутивах так же можно поискать в man’е по словам lock, hold или freeze.


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

GNU/Linux

720 постов13.3K подписчиков

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Подробнее
Лучшие посты за сегодня
6511

Счастье не в деньгах

Счастье не в деньгах
5711

Босс

Босс Картинка с текстом, Юмор, Комиксы, Бэтмен, DC Comics, Супергерои
Показать полностью 1
5291

Джентльмен

Джентльмен
5141

Почти коллеги

Почти коллеги Рынок, Магазин, Продавец, Торговля, Мясо, Негатив, Наглость, Двойные стандарты
Показать полностью 1
4499

Актуальненько)

Актуальненько)
4128

Бюджетный косплей по мотивам фильма Spirited Away студии Ghibli

Бюджетный косплей по мотивам фильма Spirited Away студии Ghibli
3898

Я охренел просто...

Я охренел просто...
3795

Грязь

Грязь
3328

Ответ QuietGreyDay в «Несуны в Беларуси еще не вымерли?» 

3054

Напряжённый триллер про ПАВУКА!

Напряжённый триллер про ПАВУКА! Авторский комикс, Комиксы, Рисунок, Иллюстрации, Паук, Арахнофобия, Длиннопост, Картина
Напряжённый триллер про ПАВУКА! Авторский комикс, Комиксы, Рисунок, Иллюстрации, Паук, Арахнофобия, Длиннопост, Картина
Напряжённый триллер про ПАВУКА! Авторский комикс, Комиксы, Рисунок, Иллюстрации, Паук, Арахнофобия, Длиннопост, Картина
Напряжённый триллер про ПАВУКА! Авторский комикс, Комиксы, Рисунок, Иллюстрации, Паук, Арахнофобия, Длиннопост, Картина
Показать полностью 4
3046

Несостоявшаяся свадьба

2812

Ответ на пост «Жительница Ленобласти утонула в необорудованной проруби на глазах у детей» 

2761

Термос

Показать полностью
2682

Яжмать из 3го подъезда

Яжмать из 3го подъезда Яжмать, Парковка, Угроза, Негатив, Неадекват
Показать полностью 1
2668

Лояльная полиция

2610

Оптимизация

2603

Игровое сообщество вступилось за 70-летнего геймера. Мужчина так медленно играл в World of Warcraft, что его забанили, приняв за бота

Игровое сообщество вступилось за 70-летнего геймера. Мужчина так медленно играл в World of Warcraft, что его забанили, приняв за бота World of Warcraft, Геймеры, Reddit
Показать полностью 1
2479

Ответ на пост «Кадыров пообещал семье экс-судьи ВС Чечни место "в тюрьме или под землей"» 

Ответ на пост «Кадыров пообещал семье экс-судьи ВС Чечни место "в тюрьме или под землей"» Политика, Новости, СМИ и пресса, Рамзан Кадыров, Суд, Общество, Россия, Пытки, Негатив, ЕСПЧ, СОБР, Терек, Ответ на пост, Длиннопост
Показать полностью 1
2330

Приметы

2320

Дядя умеет прикалываться ещё лучше

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