Thursday, October 21st, 2010 10:03 pm

Грабли начинаются прямо с названия: “Олимпиада для Unix администраторов”. А на деле существенное количество вопросов было линукс-специфичными:

Как в Linux узнать текущий рабочий каталог процесса с pid = 4556?

Вы зашли на сервер с Linux с помощью ssh. Как перегрузить этот сервер по sysrq-b?

Как в Linux смонтировать файловую систему tmpfs размеров 2Гб в /tmpfs?

и т.п. И даже очень хороший администратор соляриса или freebsd пролетает, потому что таких тонкостей про линукс не знает. Не нужны они ему. А в тех вопросах, где речь шла о юниксах вообще, было совершенно непонятно, какой должен быть ответ. То ли универсальный, который работает во всех, то ли про каждую систему надо писать отдельно, то ли про какую-нибудь одну. Ни в вопросах, ни в правилах это не оговорили. Пример см. ниже.

Несколько вопросов, причём очень узконаправленных, зачем-то было про базы данных, хотя DBA – это вообще отдельная профессия:

Какие из перечисленных типов хранилищ в MySQL поддерживают транзакционность:  MyISAM, Memory, InnoDB, Archive, NDB, CSV?

Как в PostgreSQL очистить файлы баз данных от уже удалённых записей?

Ну вот нафига администратору _UNIX_ это знать?

Некоторые вопросы были сильно надуманные:

Напишите чему будет равен mss, если Вы используете IPv6 и mtu=1450?

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

Или вот Как в терминале bash при помощи одной служебной комбинации клавиш слово dpgk превратить в dpkg, если курсор стоит на букве k?

Ну положим, есть там какая-то хитрая комбинация, которая переставляет буквы местами, но зачем оно на практике нужно? Быстрее будет одну букву стереть и набрать заново. И кто бы мне рассказал, что такое “терминал bash”, а?

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

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

Ответ >= по мнению организаторов неправильный. Его засчитали только на апелляции, после демонстрации его работы. А подразумевался, вероятно -ge, только он ни разу не от bash, а от программы test, она же [. И использовать её, понятное дело, можно вовсе не только в bash.

Или вот: Как в Unix посмотреть какие файлы или устройства использует процесс с pid = 85003?

Ответ ls -l /proc/85003/fd не засчитали. Потому что, как написали организаторы,  "Мы принимали ответы на вопрос 6:
1. Для Linux: никак или в ответе должно было быть упоминание, что это можно сделать с помощью дополнительной настройки ядра, например, sysctl -w kernel.pid_max = (число > 85003). По умолчанию значение переменной kernel.pid_max = 32768;

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

2. Для FreeBSD: fstat -p 85003 или установить lsof, а потом посмотреть с помощью lsof -p 85003. Утилиты lsof и procfs по умолчанию не установлены;

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

3. В для Solaris мы принимали ответ, что можно сделать с помощью утилиты pfiles.". А теперь угадайте, который из вышеперечисленных трёх ответов хотели увидеть организаторы. Или все три сразу.

Как очистить лог-файл /var/log/log, открытый работающим процессом?

Что значит “очистить”? Удалить и создать новый — считается? А что, файл /var/log/log есть, очищенный, задача выполнена. Подразумевалась, вероятно, операция truncate, но как об этом догадаться?

Как посмотреть версию и возможные параметры модуля e1000e для загруженного в настоящий момент ядра в Linux?

Я этот вопрос понял так: “как посмотреть, с какими конкретно параметрами, если они были указаны,  загружен работающий в настоящий момент модуль”. И написал про /sys/module/e1000e/parameters/. А оказывается, имелись в виду вообще все возможные параметры, а правильный ответ — modinfo.

Какова последовательность пакетов tcp при установке соединения (укажите типы пакетов)?

Угадайте какие могут быть “типы пакетов” в TCP? Ответ про SYN/SYN+ACK/ACK был засчитан, но это же флаги, а  никакие не типы.

Какой параметр ядра отвечает за максимальный размер памяти, доступный для выделения процессам в Linux?

В моём понимании “параметр ядра” – это то, что в его командной строке указано. А которые можно на ходу менять через /proc или sysctl — это переменные. Тут, конечно, можно спорить, но это и означает, что вопрос интерпретируется неоднозначно.

Короче, тщательнЕе надо, товарищи, тщательнЕе. Системным администраторам задачи надо формулировать чётко, чтоб потом не удивляться последствиям ;)

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

Thursday, October 21st, 2010 09:22 pm (UTC)
lj-cut?
Thursday, October 21st, 2010 09:46 pm (UTC)
сосет!
Thursday, October 21st, 2010 09:29 pm (UTC)
Какая-то херня.
Помню про это сочетание клавиши для перестановки, но ни разу не пользовался. Это вообще emacs-фашизм.
lsof был даже на fedore 3.
Friday, October 22nd, 2010 01:42 am (UTC)
^T очень удобно, постоянно пользуюсь. Особенно спасает, если работаешь на экзотической комбинации управляющего терминала и remote system, где влом настраивать del/backspace keys, и исправление опечаток отнимает много времени.

lsof(8) и fuser(1) давно есть на GNU/Linux, но их нет в base system FreeBSD.
Edited 2010-10-22 01:44 am (UTC)

(no subject)

[identity profile] blacklion.livejournal.com - 2010-10-22 10:40 am (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-22 08:04 pm (UTC) - Expand

(no subject)

[identity profile] blacklion.livejournal.com - 2010-10-23 06:05 am (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-23 08:54 am (UTC) - Expand

(no subject)

[identity profile] blacklion.livejournal.com - 2010-10-23 04:57 pm (UTC) - Expand
Friday, October 22nd, 2010 07:56 am (UTC)
До Fedora 3 линуксов не существовало, понимаю. :)

(no subject)

[identity profile] dkfl.livejournal.com - 2010-10-22 08:26 am (UTC) - Expand
Thursday, October 21st, 2010 09:36 pm (UTC)
А с чего с яндекса удивляться ?
Friday, October 22nd, 2010 07:00 am (UTC)
После многократно проведённых Яндексом олимпиад [по поиску] я таки удивляюсь такому количеству граблей.
Thursday, October 21st, 2010 09:44 pm (UTC)
Это основная часть теста. Для настоящего админа. Догадаться по тому, что говорят (или пишут) о том, что реально требуется;)
Thursday, October 21st, 2010 09:46 pm (UTC)
золотые слова, да
Thursday, October 21st, 2010 10:01 pm (UTC)
Это не олимпиада тогда. Это тогода кто-то говорил сам с собой.
Friday, October 22nd, 2010 07:02 am (UTC)
Только в реальной жизни если возникают сомнения, можно переспросить. А тут нет.

(no subject)

[identity profile] duke-igthorn.livejournal.com - 2010-10-22 07:03 am (UTC) - Expand
Thursday, October 21st, 2010 09:46 pm (UTC)
бобук детектед

(no subject)

[identity profile] vashik.livejournal.com - 2010-10-22 04:10 pm (UTC) - Expand

(no subject)

[identity profile] bobuk.livejournal.com - 2010-10-22 06:08 pm (UTC) - Expand

(no subject)

[identity profile] lazyboa.livejournal.com - 2010-10-22 06:49 pm (UTC) - Expand

(no subject)

[identity profile] bobuk.livejournal.com - 2010-10-22 06:50 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-22 07:54 pm (UTC) - Expand

(no subject)

[identity profile] bobuk.livejournal.com - 2010-10-22 08:18 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-22 08:21 pm (UTC) - Expand

(no subject)

[identity profile] bobuk.livejournal.com - 2010-10-22 08:31 pm (UTC) - Expand
Thursday, October 21st, 2010 10:14 pm (UTC)
опять тесты на запоминание. с ходу не ответил бы ни на один пожалуй. пойду утоплюсь...
Friday, October 22nd, 2010 05:22 am (UTC)
я видел интервью создателей конкурса на YAC
На первой минуте блеяния и мекания было понятно, на что будет похож конкурс. потому даже не стал участвовать.
Их, как они гордо говорят, "женщина-сисадмин" - отдельная стыдобная песня. Да и пухленький "специалист", сумевший на отдельно взятой машине о двух, что ли, процессорах, достичь производительности их нового сервера в размере 50000 запросов в 1 микросекунду невероятный молодец. Ему указали на ошибку и начался настоящйи цирк для двоих - он и та самая "женщина-сисадмин"
Friday, October 22nd, 2010 06:39 am (UTC)
А где ты его видел? Я всё пропустил, не до того было.

(no subject)

[identity profile] alexshubert.livejournal.com - 2010-10-22 06:41 am (UTC) - Expand

(no subject)

[identity profile] nikulina.livejournal.com - 2010-10-22 11:23 am (UTC) - Expand

(no subject)

[identity profile] alexshubert.livejournal.com - 2010-10-22 01:21 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-22 01:43 pm (UTC) - Expand

(no subject)

[identity profile] alexshubert.livejournal.com - 2010-10-22 03:36 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-22 03:39 pm (UTC) - Expand

(no subject)

[identity profile] alexshubert.livejournal.com - 2010-10-22 05:07 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-22 07:55 pm (UTC) - Expand

(no subject)

[identity profile] kukutz.livejournal.com - 2010-10-22 04:21 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-22 04:34 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-22 05:04 pm (UTC) - Expand
Friday, October 22nd, 2010 10:42 am (UTC)
Я посмотрел список вопросов и понял что, не зная линукса вообще (ни разу в жизнит не имел дело с), мне там делать нечего, а своё знание FreeBSD И Solaris я могу себе куда-нибудь запихнуть и успокоиться.
Friday, October 22nd, 2010 10:43 am (UTC)
Возможно Яндексу нужны специалисты именно по линуксу, ну так и назвали бы это олимпиадой про линукс.

(no subject)

[identity profile] alexshubert.livejournal.com - 2010-10-22 01:22 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-10-22 01:25 pm (UTC) - Expand

(no subject)

[identity profile] alexshubert.livejournal.com - 2010-10-22 01:34 pm (UTC) - Expand
Friday, October 22nd, 2010 11:27 am (UTC)
на самом деле нормальная задумка. это в разы лучше чем тот же конкурс от ideco. и, пожалуй, лучшая реализация соревнования для админов, которую я видел. у тебя есть 30 задач - как хочешь, так и решай. время ограничено. все как в жизни.

> Как очистить лог-файл /var/log/log, открытый работающим процессом?
> Что значит “очистить”? Удалить и создать новый — считается? А что, файл /var/log/log есть, очищенный, задача выполнена. Подразумевалась, вероятно, операция truncate, но как об этом догадаться?
вот здесь в рассуждениях фейл. потому что если удалить и создать новый - файл будет занимать место на диске до hup, ибо держится процессом

ls -l /proc/85003/fd - согласен, идиотский вопрос на запоминание
Friday, October 22nd, 2010 11:29 am (UTC)
у тебя есть 30 задач - как хочешь, так и решай
Только в некоторых местах непонятно, чтО надо решать. И спросить не у кого.

если удалить и создать новый - файл будет занимать место на диске до hup, ибо держится процессом
Будет, конечно. Но в условии задачи не говорится, что он не должен.
(deleted comment)

(no subject)

[identity profile] dil.livejournal.com - 2010-10-24 07:56 am (UTC) - Expand
(deleted comment)
Sunday, October 24th, 2010 08:11 am (UTC)
И опять же, некоторые вопросы надуманные. Нафига, спрашивается, делать на клиенте автоматический переброс трафика с одного маршрутизатора на другой, если в нормальных условиях эта задача решается резервированием маршрутизатора (вопрос 12)?
(deleted comment)
Sunday, October 24th, 2010 08:12 am (UTC)
http://clubs.ya.ru/yandex-root/replies.xml?item_no=13
Tuesday, October 26th, 2010 03:57 am (UTC)
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

:D
Tuesday, October 26th, 2010 06:19 am (UTC)
Не путайте livejournal.ru и livejournal.com

(no subject)

[identity profile] partizan-l.livejournal.com - 2010-10-26 07:22 am (UTC) - Expand