Продолжение поста «Системный администратор Linux»

Не ожидал, что предыдущий пост даст такой фидбек. Когда утром увидел сообщения в телеграмме от нескольких человек - проскочила мысль: «Вот они, желающие поработать!». Но нет, не всё так просто.

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

Если не считать комментариев к посту, за прошедшие пару дней мне написало около 50 человек. Основные вопросы примерно одинаковые, поэтому я и решил написать продолжение поста. Вот что люди хотели узнать в порядке убывания запросов:


№1: «Я не хочу у Вас работать, дайте список вопросов» или «Я хочу пройти тест для себя».

Подробный список вопросов и ответов на них я опубликую после закрытия вакансий. С учётом объёма - это будет большой пост, а может и два. Не хотелось бы, что бы кандидаты приходили на собеседование заучив вопросы и ответы. Это затянет и без того долгое собеседование и в конечном итоге ничего не даст. Для «затравки» могу дать один вопрос/ответ из начала списка, который уже прозвучал в предыдущем посту:


- В: Как назначить IP-адрес на интерфейс? [Разумеется речь идёт о Linux и позволяет понять насколько большой опыт у кандидата]

- О: Назначить адрес можно несколькими способами. Всё зависит и дистрибутива, его версии и того, на постоянно надо назначить адрес или временно. Временно можно командами ip или ifconfig. Например ip addr add 10.0.0.1/24 dev eno1. Команда ifconfig используется для более старых дистрибутивов, команда ip - для более новых, т.к. в старых может не быть ip, а в новых не быть ifconfig. [При этом конкретный синтаксис не так важен. Главное, что кандидат знает что делать и понимает направление поиска параметров в случае чего]. Далее, если надо назначить адрес постоянно, можно это сделать при установке системы, либо после. Вариант при установке самый простой и не интересный. После установки это можно сделать специальными утилитами, если при установке системы был установлен Network Manager, такими как nmtui, nmcli или system-config-network-manager для старых версий RedHat-подобных дистрибутивов. Настройка через эти утилиты сводится к заполнению данных в предложенные формы или через командную строку в случае nmcli. Далее, настройка через конфигурационные файлы. Для начала надо понять какие у нас есть интерфейсы. Их можно посмотреть командами ip a, ifconfig -all или cat /proc/net/dev. В RHEL-based дистрибутивах необходимо создать файл /etc/sysconfig/network-scripts/ifcfg-названия_интерфейса, в котором надо указать настройки сети - адрес, маску, шлюз, dns и т.д. В Debian-based дистрибутивах интерфейсы настраиваются в одном файле - /etc/network/interfaces, в котором указывается интерфейс и его настройки. В более свежих дистрибутивах перешли на NetPlan, его настройки хранятся в /etc/netplan/ и представляют из себя структуры на Yaml - т.е. файлы форматированы отступами, минусами и двоеточиями. [Дословный синтаксис опять же не важен. Главное, что кандидат знает что это и как оно выглядит]. После сохранения конфигов необходимо перезапустить сеть или просто поднять интерфейс. Перезапуск через service или systemctl с указанием network, networking или NetworkManager в зависимости от версии дистрибутива. Поднять интерфейс можно командами ifup, ip link up … или ifconfig, опять же в зависимости от дистрибутива.


Это только один простой вопрос. По мере роста сложности - растёт о объём ответа.


№2: «Можно ли работать удалённо?»

Даже подготовленный специалист первое время будет обучаться, т.к. специфика не типовая для небольших и средних организаций. Удалённо пройти такое обучение конечно можно, но это будет долго и не эффективно. Готовых специалистов под наши задачи я пока не встречал. Часть оборудования предстоит «потрогать», часть - просто увидеть как с ним работают другие. Опять же, работа в коллективе, а не самостоятельно. Тысячи виртуальных машин, сотни хостов гипервизоров, схд разных мастей middle и hi-end классов, петабайты данных, san коммутаторы, большие сервера с террабайтами озу и тысячами потоков процессора - это то, с чем предстоит работать. К сожалению эффективно удалённо это делать не получится, так что нет, только локально.


№3: «Какой уровень знаний/требований?»

Уровень от среднего и выше. Необходимо понимать как работает система. Понимать как взаимодействует система с железом, какие могут быть узкие места и взаимное влияние. И это всё без гугления симптомов, т.к. при аварийной ситуации на это просто не будет времени. Если это есть - остальному мы готовы научить.


№4: «Рассматриваете ли кандидатов из других городов?»

Как говорил выше - только локальная работа. Есть желание перебраться в Ростов? Придётся делать это самостоятельно.


№5: «Я классный Python/Perl/PHP-программист, но мало опыта в линуксах. Возьмёте?»

Нет. Нужен именно линуксовый админ. Если он может заскриптовать свои рутинные действия на каком-либо языке - это плюс. Если он может написать для себя и коллег полезную утилиту или ПО - это большой плюс и приводит к премиям.


№6: «Хочу у Вас работать. Вот резюме.»

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


На этом пока всё. Всем адекватных работников и работодателей)

GNU/Linux

1K поста15.5K подписчиков

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

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

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

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

Вы смотрите срез комментариев. Показать все
12
DELETED
Автор поста оценил этот комментарий

"- В: Как назначить IP-адрес на интерфейс? [Разумеется речь идёт о Linux и позволяет понять насколько большой опыт у кандидата]"

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

Даже вопросы про адреса/маски больше стОит в плане понимания, чем задрачивание команд.

раскрыть ветку (49)
4
Автор поста оценил этот комментарий
Ну такое врядли вообще когда-нибудь забываешь. Даже если ты даааааааавно настраивал ifconfig'ом или в убунте в interfaces, а их сейчас нет, то ты хотя бы будешь примерно представлять куда ходить. Да и оно подсказывать сейчас навострилось, прям юзерфрендли в полный рост. Да и в любом случае можно же ответить, например, "грепну ip или по ключевым словам типа дхцп, и прочему сопутствующему ip адресам функционалу"
раскрыть ветку (19)
7
DELETED
Автор поста оценил этот комментарий

Это как школьный интеграл. Знаешь, но не помнишь. И попадаются такие, кто этот интеграл спрашивают на собеседовании, а потом ноют, какие все вокруг глупые и как сложно найти человека на позицию.

раскрыть ветку (4)
2
DELETED
Автор поста оценил этот комментарий

А как Вы на работе своей работаете? Совсем ничего не помните?

раскрыть ветку (2)
4
Автор поста оценил этот комментарий

помню только то что часто использую.


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

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Ну всё равно хоть что-то помнишь, будет что сказать на собеседовании, а если никогда не настраивал, то и знать не будешь.

1
Автор поста оценил этот комментарий

А интеграл по Риману или по Лебегу?

В учебники-справочники не заглядывать! :-)

3
Автор поста оценил этот комментарий

Про то и речь. Главное не конкретные действия, а понимание направления.

раскрыть ветку (12)
Автор поста оценил этот комментарий

так вы вопросы научитесь задавать правильно. детали мало кого интересуют.

Автор поста оценил этот комментарий

У вас, кстати, этого понимания нет.

Как минимум потому, что вы не знаете, чем принципиально отличаются ip и ifconfig, а также почему в системах с ядрами начиная с 2.6 последним лучше не пользоваться.

раскрыть ветку (7)
Автор поста оценил этот комментарий

ну так кратенько и написали бы?

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

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

раскрыть ветку (2)
Автор поста оценил этот комментарий

И тем не менее, на possible bad behavior не приходилось натыкаться. Вот то, что ifconfig уже в базу не кладут - факт

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

Веселье начинается на чуть более развесистых конфигурациях.

Автор поста оценил этот комментарий

Спасибо за интересный вопрос

Автор поста оценил этот комментарий

Ну хз. В основном что тем, что другим пользуюсь чтоб адрес узнать. Ip a быстрее написать, чем if config. А настраиваю статику в interfaces либо ifcfg-....

раскрыть ветку (1)
Автор поста оценил этот комментарий

На самом деле между iproute и net-tools есть очень большая разница в принципе работы. Они используют разные интерфейсы, если ifconfig использует procfs и ioctl, то iproute использует netlink, это "новый" интерфейс взаимодействия с ядром этих ваших линуксов. Собственно, net-tools уже не обновляется много лет и может легко не уметь новые плюшки, поэтому рекомендуется использовать iproute (ip, ss и так далее).
Подробнее можно почитать тут: http://xmodulo.com/linux-tcpip-networking-net-tools-iproute2...

Автор поста оценил этот комментарий
Одного понимания мало. Опыт однозначно нужен. Вы верно заметили, в случае аврала не будет времени гуглить.
раскрыть ветку (2)
2
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

разжёвывать

Автор поста оценил этот комментарий

Да, будешь. Только внезапно interfaces это легаси

1
Автор поста оценил этот комментарий
Если приходится иметь дело с сетями, то не просто нужно уметь адреса назначать, но и более сложные манипуляции с ними производить. В разных дистрибутах монут быть разные названия интерфейсов + куча спец. интерфейсов типа тунелей. Роуте-полиси и ужас большинства "админов" - IPv6 с её веселенькими нечитаемыми в слух адресами :)) Так что вопрос важный, хотя и не показательный.
раскрыть ветку (13)
Автор поста оценил этот комментарий

Интерфейсы всегда называются eth*

Все остальное - результат ip link set dev %s name %s

раскрыть ветку (12)
2
Автор поста оценил этот комментарий

А вот

Единообразное именование сетевых устройств (англ. Consistent Network Device Naming) — соглашение о наименовании Ethernet-адаптеров в Linux

считает что eth устарел и правильнее будет enp/em

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

Этим переименованием занимаются udev и аналоги. Уже потом. В userspace.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

ну в посте то предполагалась работа в юзерспейсе

тот же ифконфиг будет отображать уже переименованное значение

да и весь цикл, начиная с установки ОС и до смерти сервера будет оперировать с новыми именами

разбираться по какому имени ядро будет с интерфейсом общаться - ну тут уже немного другой уровень чем описанное в посте (особенно по ЗП)

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ядро к ним по именам вообще не обращается - только по номерам, которые ip -o link | sed -re 's/:\s.*//g'

1
DELETED
Автор поста оценил этот комментарий

вот уж всегда? прямо всегда всегда? а то у меня вифи какой то нестандартный интерфейс. Ну "езернетовские" может быть по дефолту и eth*, а у сисько по дефолту там же GigaByte*, Fast* и вообще ЕМНИП можно переименовывать.

Но я не "сетевик", я только в общих чертах понимаю как работает передача данных на разных уровнях.
раскрыть ветку (2)
DELETED
Автор поста оценил этот комментарий

У меня даже eth нету

$ ip -br a

lo               UNKNOWN 127.0.0.1/8 ::1/128

enp0s25 DOWN

wlan0      UP                    192.168.43.2/24 fe80::224:d7ff:fe1a:499c/64

Автор поста оценил этот комментарий
у меня вифи какой то нестандартный интерфейс

Они в большинстве случаев wlan* - опять же, так их называет ядро, а внешние костыли наподобие udev могут переименовывать.

А всякие RNDIS могут называться usb*

1
Автор поста оценил этот комментарий

всегда

Ха! enp*s* не хочешь? хD И это еще без изврата.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Отключи udev и удивись.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Вы с первоначального заявления то не съезжайте. Таки всегда интерфейс будет ethX или нет? =)

Автор поста оценил этот комментарий

В дебе уже enp%s%

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Вы видите результат работы udev и аналогов.

1
DELETED
Автор поста оценил этот комментарий

Специфика работы предполагает как бы. У нас, например, клиенты арендуют сервера и настроить IP-адрес - одно из базовых действий. Тут больше даже не умение нужно, а понимание, как работает сеть и общих терминов, типа маска сети, шлюз. Без этой базы ломиться на должность админа рановато. Не считаете? И это только какой-то там IP-адрес, как написал ТС, один из простых вопросов.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

если у вас аренда серверов как коммерческая услуга для клиентов то редактирование конфигов на сервере руками выглядит немного странно. ОС тоже руками накатываете?

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

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

Виртуалки сами ставятся, физ. сервера пока вручную ставим.

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку