Yandex Root — ответы


Пока нет официальных результатов первого тура или правильных ответов, вот мой листинг участия в олимпиаде «Яндех-Root».
Может кто покажет ошибки раньше админов Яндекса 🙂

Один ответ я точно не знал — №29, предпоследний, а вот последний успел нарыть в инете, вписал в поле и даже, кажется, отправил, но ответ не засчитался…

№7 знал интуитивно, возможно не угадал.
№10 — никогда бы не подумал такое сделать на практике, начал читать доку, но не хватило 10 сек, чтобы дочитать.
№16 — знал, но забыл, написал частичный ответ.
№17 — опечатка — не вписал имя файла после параметра.
№18 — ответ, в принципе, правильный, но имя команды указано для Юникса вообще, а не для Линукса.
№19 — опять опечатка — не дописал ещё раз слово «tmpfs»: mount -t tmpfs -o size=2G tmpfs /tmpfs.
№20 — не знал (забыл), написал, как успел вычитать и понять доку
№21 — тоже быстрое чтение доки.
№22 — вроде правильно, но синтаксис некрасивый.
№23 — надеюсь, это провокация. Должно быть ОК.

Итого: штук 10 ответов могут быть признаны ошибочными. Придётся пересдавать в пятницу…

Предварительные результаты
Linux yandex-games #ya1 SMP Mon Sep 20 5:43:25 MSD 2010 x86_64 GNU/Linux

root@yandex:~# cat /var/log/my/debug.log

Принято на проверку 28 ответов из 30 возможных.

1. С помощью каких комбинаций клавиш в текстовых редакторах vi или vim
скопировать в буфер 4 строки, начиная со строки, где находится курсор?

Ваш ответ:
4yy

2. Вы в bash запустили команду echo $[5/2]. Какой будет результат?

Ваш ответ:
2

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

Ваш ответ:
-ge

4. Вам нужно запустить web-сервер Apache на порту 3128.
С помощью какой директивы в конфигурационном файле это можно сделать?

Ваш ответ:
# Apache 1.3:
Port 3128

# Apache 2:
ServerName name:3128

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

Ваш ответ:
ls -l /proc/4556/cwd

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

Ваш ответ:
ls -l /proc/85003/fd

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

Ваш ответ:
MyISAM, InnoDB

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

Ваш ответ:
vacuum

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

Ваш ответ:
>/var/log/log

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

Ваш ответ:
должен быть запущен демон sysrqd

11. Как подсчитать количество строк в текстовом файле file.txt?

Ваш ответ:
wc -l file.txt

12. Как найти подстроку в файле, сжатом с помощью gzip?

Ваш ответ:
zgrep string file

13. Какой утилитой в Linux можно проверить состояние
и включить/выключить кеширование на запись 
для SAS/SATA устройства (диска)?

Ваш ответ:
hdparm

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

Ваш ответ:
modinfo e1000e

15. Как в командной строке bash повторить команду,
которую вы набирали ранее?

Ваш ответ:
# previous command:
!!

# More commands:
Control-R ...

16. Какой командой в Linux можно разрешить dump corefile-ов
в текущей сессии без ограничения по размеру?

Ваш ответ:
ulimit -c ...

17. Как записать 100 пакетов на интерфейсе eth0 в файл mytrace.raw,
не ограничивая длину захваченного (captured) пакета?

Ваш ответ:
tcpdump -c 100 -i eth0 -w -s 0

18. Как изменить процент зарезервированного для root-а места
на файловой системе ext3 до 2%, смонтированной в /filesystem в Linux?

Ваш ответ:
tunefs -m 2 /filesystem

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

Ваш ответ:
mount -t tmpfs -o size=2G /tmpfs

20. Как посмотреть таблицы NAT в «файрволе» 
на сервере с Linux (ядро 2.6.X)?

Ваш ответ:
iptables -L nat

21. Какой утилитой в Linux можно посмотреть,
какие системные вызовы делает работающий процесс?

Ваш ответ:
strace
htop
dstat

22. Как посмотреть процессы пользователя vasya,
отсортировав их по resident size в порядке убывания?

Ваш ответ:
ps -U vasya -l -Or

23. Как смонтировать каталог /var/log/mydaemon в /mydaemon?

Ваш ответ:
ln -s /var/log/mydaemon /mydaemon

24. Какое максимальное число адресов 
можно использовать в ipv4 сети /26?

Ваш ответ:
62

25. Как затереть нулями первые 64Мб диска /dev/sda?

Ваш ответ:
dd if=/dev/zero of=/dev/sda bs=1M count=64

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

Ваш ответ:
SYN
SYN-ACK
ACK

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

Ваш ответ:
mem

28. Как в Linux сделать так, 
чтобы core-файлы сохранялись c именем /var/tmp/core.{pid}?

Ваш ответ:
echo /var/tmp/core.%P > /proc/sys/kernel/core_pattern

29. Как одной командой «сбросить» все переменные окружения
(сделать «пустое» окружение) в текущей сессии в Linux?

30. Как включить jumbo-frames на сетевом интерфейсе eth0?
  1. #1 by Alex on Октябрь 12, 2010 - 5:35 пп

    Кажется, понял!
    №29 — единственный нетривиальный вопрос. Все предыдущие просто усыпляли внимание, и вот… Нужно было написать скрипт в одну строку:

    unset -v `env | sed -e ‘s/=.*//’`

(никто не узнает)