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?
Кажется, понял!
№29 – единственный нетривиальный вопрос. Все предыдущие просто усыпляли внимание, и вот… Нужно было написать скрипт в одну строку:
unset -v `env | sed -e ‘s/=.*//’`