Pull to refresh

Comments 64

Я понимаю, конечно, что это перевод, но:
Вопрос:15 Как узнать, какие модуля ядра установлены в ОС Linux?
Ответ: Команда 'lsmod' выдает список установленных модулей ядра.

Ответ неверен. lsmod показывает загруженные, а не установленные модули.
в оригинале индус пишет "installed" — варианты установленные, но видимо правильнее будет "загруженные". Вы правы. Исправлю
Раньше установленные модули можно было удобно посмотреть при помощи modprobe -l, но сейчас, если память не изменяет, такой возможности нет.
А это вообще deprecated:
Вопрос:18 Как просмотреть таблицу маршрутизации в Linux?
Ответ: Используя команды 'route -n' и 'netstat -nr' мы можем просмотреть таблицу маршрутизации в Linux.

Есть утилита ip для этого.
Ну, всё равно это не к вам, наверное :). Просто задолбали рандомные мануалы от рандомных индусов.
UFO landed and left these words here
Именно возрастом. Кодовую базу этих утилит давно забросили. Погуглите «net-tools deprecated», например.
UFO landed and left these words here
Катастрофа. Половина вопросов в стиле "какая команда делает магию? Команда /usr/bin/mkmkg" Про "установку патчей" с помощью yum'а, я вообще молчу. Вот так вот yum пошёл и поставил патчи, ага, ага. Можно мне вот этот патч установить с помощью yum'а?
Это не вопросы админу, это вопросы от скучающего админа нервному эникейщику, собеседующемуся на L1-саппорт, разбавленные вопросами, которые никто никогда не учит наизусть.
Хотите встречный хороший вопрос?
Дано:
sudo netstat -4lnp не показывает ни одного сервера на порту 80. При этом я коннекчусь на 127.0.0.1:80 и получаю ответ от веб-сервера. iptables пустые. 127.1/8 висит на lo, как и положено.
Объясните почему и как такое может быть.
UFO landed and left these words here
(я-то ответ знаю, это пример хорошего вопроса на собеседовании).
(В режиме продолжения беседы, собеседование-style): А почему приложение, слушающее на ipv6-tcp порту может принимать коннекты на ipv4-tcp? Почему приложение, слушающее на ipv4-tcp порту не может принимать соединения с ipv6-tcp порта?
Потому что ipv4 может меть отображен в ipv6. Для отключение нужно выставить net.ipv6.bindv6only через sysctl
Да. Это пример хорошего вопроса на собеседование. Если бы этот вопрос был бы важен, моё уточнение было бы "а какой адрес в src увидит приложение, слушающее на ipv6, но получившее коннект от ipv4-адреса?".
ss — слишком неудобная замена netstat в части просмотра сокетов. Впрочем, это только мое личное мнение.
Я уже когда-то приводил похожий пример на бОльшем количестве соединений. ss заметно шустрее netstat (в debian-like, как минимум):
# time (netstat -an|grep ":80\ "|wc -l)
14176

real    0m0.180s
user    0m0.120s
sys     0m0.076s

# time (ss -an|grep ":80\ "|wc -l)
14231

real    0m0.059s
user    0m0.068s
sys     0m0.016s
Прикольный вопрос, я бы наверное ответить не смог, так как ключи 4l не использую. Удивился бы, и предложил для начала посмотреть с привычными ключами netstat -nap | grep :80
Ибо мистики не бывает, если 80 порт отвечает значит где то что то его слушает. Надо только найти где и что.
выше люди правильно сказали — в netstat'е вы видите, что кто-то слушает на ::80, т.е. ipv6. Почему при этом кто-то на ipv4 отвечает?
Настроен какой-нибудь 6to4?
Нет. См. ответ ниже.
ipv6 более поздний которые делали как замену IPv4 Соответственно в нем должна быть реализована возможность быть совместимыми. Там же можно записывать как то ipv4 внутри ipv6 и вешать на один порт 0.0.0.0 он точно знает. Но по скольку на практике с ipv6 почти не сталкиваюсь, особо не разбирался как именно.
Ну, слишком общие слова. По сути нет. И вопрос не про ipv6, а про суровые админские будни (потому что это может быть причиной "неработы" сервиса на ipv4 сокете).
Суровые админские будни для тех мест, где активно используется IPv6 на 80-м порту. То есть почти нигде.
Нет. ipv6 может не использоваться (и быть только на ::1/128 и на link-local адресах), и всё равно портить жизнь админам (потому что софт захотел слушать на ipv4 посредством слушания на ipv6, найди в netstat, так сказать).
Тебя бы устроил следующий ответ? =)
for pid in $(lsof -i :80 |awk '{print $2}' |sort | uniq |grep -v [P]ID); do ps axu| awk '{if($2 == '$pid') print $0 }'; done
Нет, потому что разные приложения могут слушать на 80ом порту разные интерфейсы. А в свежих линуксах даже диапазоны, что делает картинку ещё интереснее.
Дак все верно, об этом и речь,, а первый вопрос по факту заключался в чтении мана, что достаточно тупо для вопроса на собеседование, читать в ИТ все умеют
Катастрофа. Половина вопросов в стиле «какая команда делает магию? Команда /usr/bin/mkmkg»
Согласен абсолютно.
Хотите встречный хороший вопрос? Дано: sudo netstat -4lnp…
Хотите встречный вопрос от юзера?
Вопросов ровно пяць:

интернет тормозит
локальная сеть тормозит
сервер томозит
компьютер тормозит
Ничего Не Работает

А вот теперь иди туда не знаю куда — и читай маны.
Вы хотите объяснить, что админ работает с начальником-идиотом, который не понимает чем занимается админ и ему нужно, чтобы всё работало и без дополнительных денег. Ну так это проблемы админа, который работает с начальником-идиотом.
Собеседование, кстати, работает в обе стороны. Я как минимум 3-4 конторы в своей жизни завернул после заданных мне вопросов, т.к. почувствовал уровень квалификации в коллективе и ожидания от меня в смысле компетенции.
Спрятче ответы под кат, чтобы можно было себя проверить.
Сейчас в каментах все разложат по полочкам, автор подправит ответы и можно будет юзать список как шпаргалку по линуху, красота.
Никогда не доверяйте dmidecode, т.к. таблицы SMBIOS могут быть заменены кем угодно и на что угодно. Большинство реализаций BIOS/UEFI выводят в них всякий мусор, любой DXE драйвер/модуль ядра может их перехватывать и изменять в них данные. Если можете им не пользоваться — пожалуйста, не пользуйтесь, говорю вам как человек, который эти таблицы заполняет.
а какая есть правильная тулза для просмотра информации о железе?
только вот, судя по исходникам, dmidecode и ipmitool fru ходят в одну и ту же область памяти за данными
"Beware that DMI data have proven to be too unreliable to be blindly trusted."
так что я бы в приступе паранойи посмотрел бы в lspci -vv
Вопрос:18 Как просмотреть таблицу маршрутизации в Linux?
Ответ: Используя команды 'route -n' и 'netstat -nr' мы можем просмотреть таблицу маршрутизации в Linux.
А еще есть команда ip r
Сначала нужно создать pv (физический том) на пустом новом диске (например /dev/sdb) командой «pvcreate /dev/sdb» и затем, командой vgextend расширить группу

В эпоху виртуализации это плохой негодный ответ. Лучше сделать pvresize или воспользоваться утилитой от rekby.
Там вопрос о расширении группы томов. К тому же ответ приведён неточный. Физический том можно не создавать — он будет создан неявно vgextend, если его нет.
На практике обычно нужно расширить конкретный том, а составные тома хоть и безопаснее редактирования границ раздела с pvresize, но потом хрен разберёшь что где расположено и не каждый софт для бекапа их поддерживает.
Неудивительно, что раз автор оригинала — индус, то и вопросы индусские. Я бы, пожалуй, молча ушёл с собеседования, на котором бы попытались такие вопросы задавать. И да, я за 20 лет линукс-админства не знал о существовании утилиты dmidecode (задача определить аппаратную конфигурацию сервера однажды всплыла, но тогда я, помнится, нарыл всё нужное, просмотрев dmesg и /proc).
Критерий хорошего админа — не то, сколько команд и ключей он помнит наизусть. Хорошая память немного ускоряет работу, но вообще для этого есть мануалы. Критерий хорошего админа — это понимание внутреннего устройства системы.
Хороший вопрос был бы "расскажи максимально подробно, что происходит при загрузке Linux". Если кандидат сможет рассказать как SysV init, так и systemd-based загрузку — совсем хорошо. Пример про вебсервер на IPv6 выше в комментах тоже понравился. Вот оно — да, типично админские задачи.
А зубрить команды и ключи… брр. Я до сих пор мануал по LVM перечитываю каждый раз, как доводится что-то с дисками делать, потому что если полагаться только на память — можно однажды поиметь проблем :)
Согласен, умение находить, читать и, самое главное, понимать мануалы — главное качество админа.
Сплошные вопросы на зубрежку, в чем смысл? Я то думал, что будут спрашивать про демоны, процессы, сетевую подсистему, разграничение прав, виртуализацию и т.д. А на деле какая-то фигня.
Используя команды 'route -n' и 'netstat -nr' мы можем просмотреть таблицу маршрутизации в Linux.
Ну-ну, удачи. С -6 запустить не забудьте только потом.
Хмм… Интересно, кто именно такие вопросы выбирает. Я занимаюсь администрированием *nix систем довольно много времени и сходу ответил только на половину вопросов…
Остальная мне как то реже встречается.
(Ну да, я всё ещё не выучил весь systemd и предпочитаю обходиться без LVM)
И вот это — как раз настоящая подборка, а не индусские вопросы на зубрёжку команд.
Да тоже не фонтан, ни одного вопроса про SELinux и далеко от практики.
С ходу ответил на половину вопросов, хотя с линуксами сильно на вы и половину ответов узнал из недавно прочтённой книжки.
З.Ы. Что там имел ввиду под "level 0 backup"? В привычной модели 3-2-1 единственная копия данных считается единицей.
Странные вопросы какие-то. В жизни всё веселее.
На собеседовании такие вопросы, конечно, не спросишь, но получилось забавно:
  1. Пришли тут ко мне вчера индусы с просьбой помочь разобраться, почему команда не работает (Здесь они совершили не одну, как им казалось, а целых 2 ошибки. Каких?):
    $ gzip ‒rf directory
    gzip: ‒rf: No such file or directory
    gzip: directory/ is a directory -- ignored
    $ chmod -R 777 directory
    $ gzip ‒rf directory
    gzip: ‒rf: No such file or directory
    gzip: directory/ is a directory -- ignored

  2. Или вот тоже недавно столкнулся:
    Разумеется каждый unix админ в курсе, что имена файлов хранятся в файле директории. Но совершенно внезапная вещь — это её размер. Что случается с размером директории если создать миллион файлов с длинным названием (чтобы места побольше было), а потом все их грохнуть? (:
    И как с этим бороться?
чувствую некоторую индусость. 8-)
по (1) — они правда хотели сжать все файлы внутре каталога, или всё-таки желали $ tar czf dir.tgz dir И зачем для этого делать всем внутри права 777? А сломалось оно небось потому что gzip заалиасен как-то так:alias gzip='gzip -f --'
по (2) — а как бороться с размером директории не снося ея нафиг? через tune2fs?
  1. Они правда хотели сжать все файлы внутри каталога. Но поскольку команда вернула ошибка, на всякий случай решили фигануть chmod'ом. Они считали это универсальным фиксом на все случаи жизни. Но изначальная проблема в том, что у них инструкция в ворде. И ворд "-" заменил на "‒". Что и привело ко всей этой фигне.
  2. fsck -D может помочь. на самом деле достаточно забавная штука. уменьшение размера директории после удаления файлов тупо никто не реализовал, потому что считают, что овчинка не стоит выделки. Детали.
А как зарулить сериальный порт на сокет? Насколько я понимаю, что-то вроде такого:
netcat ipaddress port < /dev/ttyS0
(Если что, вопрос чисто практический, я не админ 'nix-ов ни разу.)
socat обладает самыми широкими возможностами:
socat tcp:192.168.0.1:10000 file:/dev/ttyS0,echo=0,b9600,nonblock,raw
socat может выступать как в роли клиента, так и в роли сервера, что очень даже удобно.
А telnet по ssh через него можно отдавать?
Хотелось бы узнать более подробно, что и куда нужно зарулить. Но априори — можно.
Тут подробно написано. На stackoverflow тоже есть несколько похожих вопросов, но все без ответов.
Для этого и socat не нужна:
ssh 192.168.0.1 "telnet 192.168.0.2"
сразу после логина на 127.0.0.1 произойдет запуск telnet и коннект на нужный хост.
Если же нужно держать открытый ssh-сокет, который пробрасывает в telnet — достаточно настроить у sshd telnet в качестве шелла, как это и сделано на ixbt.
Про socat я знаю. Хотелось бы пример правильного использования именно netcat (или аналогичной штуки для pipe сериального в TCP порт).
В случае необходимости все это гуглится за 5 минут. Какой смысл задавать такие вопросы на собеседовании.
Сдается мне, это такой хитрый подход редхата — "покажите, что вы посетили все наши курсы до 10-го дана".
В большинстве случаев вполне достаточно знать, что некая возможность существует — а конкретные ключи всегда можно найти в манах или гугле.
Нагуглить можно про всё, такими вопросами можно оценить имеющийся багаж знаний и способность мыслить и рассуждать.
Имеющийся багаж — вряд-ли, большая часть вопросов используются хорошо если раз в год, рассуждать там тоже не нужно гугл и мне повезет или man, если по ключам, на такие редко нужные задачи, если админ с ними встречается обычно создается заметка. Для мыслить или рассуждать можно, например, дать готовую виртуалку со сломанным сервисом/сервисами и попросить починить, на худой конец распечатать tcpdump и попросить рассказать что происходит, если для админа в его работе важен сетевой стек. А примеры из статьи — это как собеседование на должность терапевта по знаниям названий продукции одной фармакомпании, доктор может знать все названия препаратов выпущенные за последние 50 лет, но ничерта не разбираться в болезнях, примерно такая аналогия.
доктор может знать все названия препаратов выпущенные за последние 50 лет, но ничерта не разбираться в болезнях

<зануда mode on>
Это, скорее, характерно не для доктора, а для аптечного фармацевта или провизора. Он эти препараты продаёт, он их знает наизусть, но о том, что они делают, он имеет представление только типа "а посоветуйте что-нибудь от поноса".
<зануда mode off>
А работа врача, кстати, очень похожа на работу админа. И там, и там нужно понимание внутренних принципов работы системы, при этом знать детально все препараты врачу не надо, потому что их один хрен регулярно выпускают новые и для этого есть справочники типа Видаля.
Из моего опыта в забугорье:
что происходит от момента включения компьютера до логин скрина? по пунктам
как добавить/убрать дисковое пространство?
отличия sudo и su?
как узнать открытые файлы в системе? кем открыты что на пример не доступа?
дисковое пространство 100%, удалили большой файл (лог на пример). Места меньше не стало. Почему и как лечить?
чем swap раздел отличается от swap файла?
положкние файлов конфигурации сети, хоста, итп?
как добавить что-то в автозагрузку?
что происходит при нехватке памяти?
как узнать какие библиотеки использует программа?
как сделать вход на сервер без ввода пароля? (имеют в виду ключи на обычно )))
какими утилитами будешь пользоваться при диагностике сетевой проблемы? (или на пример не идет коннект к приложению с одного сервера на другой)
Да, все просто, но учтите — часто вопросы задает HR по бумажке а не спец. Бывают и забавные вопросы — дают маску и просят назвать кол-во IP которые уместятся. Засчитывают только тоный ответ =)
Only those users with full accounts are able to leave comments. Log in, please.