182

Системный администратор 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

664 поста12K подписчиков

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

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

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

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

Подробнее
+38

не удержался, просто из очень любимой классики:

Начальник - секретарю:

- Катенька, дорогая, перепиши месячную отчетность нашим партнерам,

они сейчас к тебе подойдут.


- Добрый день, это вам переписать oтчетность?

- Добрый день, да, будьте так любезны, вот чистая дискета, можно на нее.

- Да, конечно.


Вставляет в дисковод. И:.


# mkfs -t vfat -c dev/fd0h1440

# mount -t vfat -o iocharset=koi8-are,codepage=866 /dev/fd0 /mnt/floppy

# find -noleaf -type f -name Otchet_april. [a-zA-Z] -exec cp {}; /mnt/floppy \;

# ls -la /mnt/floppy/Otchet_april. [a-z][A-Z] && sync && sleep 3


- Возьмите пожалуйста!

Партнеры.

- Них..$%#@я себе!!!


- Что такое?!: Я опять отмонтировать забыла?!

раскрыть ветку 9
+1
Хэй народ) смотрю тут собрались админы линукса) у меня к вам вопрос который уже мучает многих новичков) может дать кто хорошие курсы по Linux в целом? Я сам просто Сетевой инженер) но знания Linux часто требуются) да и я планирую уйти в это направление) прошу вашей помощи) может хоть затопить минусами) просто давно ищу именно подачу знаний как примерно в школе) но к сожалению чего то стоящего не попадалось поэтому прошу вашей помощи =)
раскрыть ветку 4
0

если синк дала можно не отмонтировать, потом с ключиком L чтоб в системе не болталось

-4

Боян же кривой. Уже давно не кои в линуксе, можно гонять utf везде пока влезает длина, на дискетах fat12 который надо уточнять по хорошему и таки да, забыла, sync не катит таким макаром уже давно.

раскрыть ветку 2
+13

Странные у вас вопросы, если честно. С одной стороны, вы пишите про кандидата под вашу задачу, а с другой стороны - "общеобразовательные" вопросы (или более узкие и сложные попросту не указали). Читал предыдущие два поста, сложилось впечатление, что у вас все мега-серьезно, а в вопросах проскакивают вопросы про балансировку трафика и шлюз на линухах. Делаем серьезные вещи, но игнорируем железячные маршрутизаторы? Интересный подход. Далее, часть вопросов реально общеобразовательная, остальная часть - на узкий опыт. Давайте реально посмотрим на вещи, кому и когда приходилось расширять раздел с XFS? Неужели отсутствие этого знания сделает человека "дешевле"?
IMHO#1, вопросы на тему "какой командой сделать то, а какой - это" - такое себе. Это даст минимальное понимание о том, как мыслит человек, каков его потенциал. Да, вы можете таким образом найти человека, который очень часто пользуется командой uname -r, только толку от этого? Более того, в какой ситуации вам может понадобиться uname -r, а не uname -a, кроме как при написании скриптов (а в этой ситуации ну никак не обязательно знать всевозможные ключи, достаточно знать что это возможно, а для остального - man uname, благо время позволяет, ведь никто не будет писать скрипты на скорость)? Поэтому складывается ощущение, что собеседования больше походит на поиск next-level-эникей, не более.
IMHO#2. Одни из самых лучший собеседований лично для меня (и интересных, разумеется) - это просто диалог на тему "ситуация" -> "как из нее выйти". Например (из реальных собеседований), "есть дефолтный веб-стек (php+mysql). появился всплеск времени ответа. ваши действия для локализации проблемы?" или "есть веб-проект, каким образом можно повысить его отказоустойчивость?". Либо нечто более общеобразовательное, вроде "Есть два хоста, они соединены кабелем напрямую. У одного адрес 192.168.0.1, у второго - 192.168.0.2. При попытке пинга - пинг не проходит. В чем может быть проблема и каковы ваши действия?"

раскрыть ветку 2
0
А можете пожалуйста расписать ответы на описанные ситуации, спасибо
раскрыть ветку 1
+17

Вопрос о том "как выйти из vi" уже предлагали?

раскрыть ветку 18
-3

А нужен ли он уже... vi по самому себе нужен только для унификации и где терминалы совсем древние, я даже ee/aee буду рад больше стоковому freebsd.

раскрыть ветку 10
-3

Ещё нет. Но в следующий раз это будет номером 1 в списке.

раскрыть ветку 6
+15

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


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

раскрыть ветку 2
+13

Скорее, вот так:
ценность админа в том, чтобы он понимал какие есть потребности и задачи и типовые решения (знания не типовых решений в плюс) и понимание как решать типовые проблемы (про не типовые - аналогично ++) + практический опыт, ибо практика может значительно отличаться от теории.

раскрыть ветку 1
+20

и тут я понял что на самом то деле я ни разу не прошареный пользователь ПК, а баба Клава с соседнего подьезда

раскрыть ветку 15
+11

Если ты работаешь с серверным линуксом, то там вообще ничего сложного нет среди вопросов.

раскрыть ветку 9
-15

Если не отличаешь ПК от сервера - да.

раскрыть ветку 4
ещё комментарии
+5
Сколько платят за это?
ещё комментарии
+3
Иллюстрация к комментарию
раскрыть ветку 1
0

Тоже хотел картинку эту запилить. только с вопросом: Почем опиум для народа при прохождении данного квеста с ответами?)))

+4

Как-то слабовато.

При нормальном остальном - про LAN+WAN=Internet бред столетний с masquerade, мы ж ничего не знаем про LAN маршруты и может и там ещё гейт есть по дефолту, раскидывание по iproute2 и два WAN туда же - формально решено будет, а вот работать треть софта не будет так, да и те только по TCP, потому как бред, так делать абсолютно точно нельзя, weight по lanmac/lanip разве что, но тогда эффективность никакая даже при 20 клиентах.


Причём на вопрос 100+50 без сотрудничества с провайдером уже как раз именно формальный тестовый ответ -- НИКАК НЕЛЬЗЯ, вообще, совсем. Это уже точка зрения формализации. В НЕКОТОРЫХ СЛУЧАЯХ когда много коннектов, TCP/Static endpoint UDP, все соединения исходящие итд можно воспользоваться таким, но это нечасто, и уж подавно нельзя от балды по весу раскидывать коннекты как в случае выше.

раскрыть ветку 10
+1
По второму вопросу - если применить некоторые извращения - то можно и балансить: построить бгп с 2 провайдерами, и от обеих принимать фв или урезанный фв) но это уже не штатными средствами линуха тоже
раскрыть ветку 7
-8

Для начала и это нормально. А вот если ты понимаешь и начинаешь задавать правильные вопросы в ответ - это только плюс тебе, как кандидату.

раскрыть ветку 1
ещё комментарии
+2

Я бы такое собеседование не прошел т.к. не запоминаю большинство команд и постоянно использую man и гугл

+2

В: Есть сервер с двумя интерфейсами.

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

раскрыть ветку 2
-4

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

раскрыть ветку 1
+1

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

+1

Запомните дети! "Yes, Next, Next, Finish" Остальное красноглазики :)

+1

Два интересных предыдущих топика и все вот так бесстыдно слить...

+1

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


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

rmmod и insmod -- более правильно. А вообще в некоторых дистрах этим занимается kmod. modprobe и ls-, rm-. ins- mod -- это все он

раскрыть ветку 4
0

В убунте есть все. В том числе useradd и adduser. :)

раскрыть ветку 3
0
Опять пост на эльфийском
0
Вопросы чертовски простые, давай ченить интереснее :)
0

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

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

раскрыть ветку 1
0

И, кстати, как бы вы отнеслись к тому, что вам бы задали этот вопрос на собеседовании ?

0

ТС man'ом поработал

0

Все что могу добавить sudo rm -rf / && halt. У меня на компе после смены процессора линь работать отказывается. Даже лайв.

0
А кто вот решает, что /etc/resolv.conf устаревает?
Неужели опять одна красная компания решила что-то изменить в своих системах, а все остальные эти изменения подхватили?
раскрыть ветку 3
+2

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

раскрыть ветку 1
0
Все с ним нормально, просто кто-то задолбился в nm и прописывает в interfaces.conf
0

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

раскрыть ветку 11
+1
Не запускается. Будет только командная строка непонятно чего, скорее всего фридос
раскрыть ветку 4
0

Линукс вообще-то всего-навсего ядро. Все остальное - по желанию.

-2

Консоль на ноутбуках - это не Linux, это freeDOS :)

раскрыть ветку 4
0

В: Как посмотреть таблицу маршрутизации на любой системе?
О: Это можно сделать командами route -n или ip r
В+: А на любой системе одной и той же командой?
О+: Команда netstat -rn работает везде, на Linux, Windows, MacOS, Solaris. Даже android

угу. Везде. Особенно на свежих сентось и сусе. Если нет-тулз-деприкейтд доставить...

раскрыть ветку 6
0

Там IP зато есть .

раскрыть ветку 4
0

На убунте бионик+ тоже нет в нативной поставке сервера. Надо ставить net-tools

0
по двум wan интерфейсам: в pfsence есть "load balance". как он сделан?
я не линуксоид совсем :(
раскрыть ветку 1
0

Каком , pfsense это как раз freebsd. Так же как описано, только на pf.

0

> Например командами nslookup, host или dig
Не помню про nslookup но в минимальном центос 6, например, host и dig отсутствуют и надо ставить bind-utils.

раскрыть ветку 3
-4

В минимале много чего нет. Вернее мало что есть. На то он и минимал. Опять же, в 6й центосе resolv.conf ещё использовался и можно там посмотреть.

раскрыть ветку 2
0

Эт типа на водительское сдавать?

раскрыть ветку 1
0

Это скорее водитель и механик в одном лице.

0

Странная контора.

Нет разделения на NET и UNIX?

Нет возможности привести пользовательские тачки к единому стандарту? При этом на них явно есть доступ? Вы любите много ручного труда, а он - любит вас?

Большая часть вопросов - то, что используется по принципу последнего из них. "А для остального есть man" и где-то, когда-то, пару раз в жизни пользовалось. Скорее всего я бы на такие вопросы в первый месяца 3 поиска новой работы пробурчал примерное направление, нет, не в нецензуру, на типовые команды, которыми их решать. Вам бы такое не понравилось, 100%, опыт есть.


А позднее, вспомнив совершенно отдельное от работы искусство собеседования, анализируя вопросы и ответы, задаваемые на разных собесах... Да, да, тут у вас сумма маловата. Желательно 50% времени удаленно, с обязательным постепенным смещением в 100%, как на предыдущей/текущей. Да, да и еще пару десятков добавьте. Спасибо, я помню про ваш дмс и остальное для офисных работников, а так же обыденную практику отчекрыживать эти бонусы, когда я перехожу на удаленку, возвращаясь в родные места обиталова. Не жмотьтесь, у вас офис свободнее будет.

раскрыть ветку 1
+1
Нет возможности привести пользовательские тачки к единому стандарту?

ну у меня допустим суровый аутсорсинг, что-то можно привести только если контора на абоне, в остальном 80% практики умение делать пентесты в стиле "вы нам поставьте софт" на доменные компы от которого проебаны все доступы, и "почините сеть а то инета на половине компов нет" по тому, что когда то было разделение в вланы но сейчас что куда натыкано хз... "а чо так долго и дорого? нет вы хреновые программисты, мы других поищем."

0

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

-1

ну я так понимаю это самый низовой уровень, с надеждой на вырост, зп 30-40

раскрыть ветку 1
0
я 10 годиков назад с таким уровнем за 25 в регионе работал
-1

Чем больше встречаю такие вопросы тем больше мне нравится serverless архитектура. И ещё vyatta.

-2
Насколько я помню можно собрать bond из нескольких сетевых адаптеров, объединенив их.
роутинг можно смотреть командой ip r, настройки сетевой карты ip a.
если мне память не изменяет, xfs ресайзится в обе стороны... Хотя могу ошибаться
раскрыть ветку 2
0
Три промаха из трёх. Bond не собирётся на разных провайдерах. Команда ip есть, но речь не про неё. И таки xfs только в бОльшую сторону можно менять.
0
Нет, расширяться онлайн умеет, а вот shrink вроде до сих пор даже офлайн нет. Это экст умеет, хоть и офлайн.
Похожие посты
10572

Самое короткое собеседование

6136

В наших делах мелочей нет!

6966

Ответ на пост «Как устроиться на работу, если на страже стоит "профессиональный" эйч ар?» 

2382

Их нравы... их чувство юмора...

Их нравы... их чувство юмора... Собеседование, Юмор, Германия, Отдел кадров, Их нравы, Менталитет, Ответ на пост
373

Резюме заверните в лаваш и не забудьте дыню

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

День рождения Powershell

День рождения Powershell Powershell, Программирование, Cmd, Командная строка, Системное администрирование, Администрирование, Windows, Linux
Показать полностью
3240

Ответ на пост «Hr-менеджеры, они такие» 

188

Системный администратор Linux. Вопросы. Часть 4. Финал

Системный администратор Linux. Вопросы. Часть 4. Финал Linux, Windows, Сисадмин, Отдел кадров, Пригорело, Собеседование, Длиннопост
Показать полностью
374

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

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

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

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

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

Системный администратор Linux Linux, Windows, Сисадмин, Отдел кадров, Пригорело, Длиннопост
Системный администратор Linux Linux, Windows, Сисадмин, Отдел кадров, Пригорело, Длиннопост
Показать полностью 2
232

Вопрос на ЛОГИку

2546

Новая работа и горящий пукан

1260

Как я собеседование провалил.

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