Знание Linux младший не может пропустить

Возможный дубликат:
Что новичок должен знать / изучать для работы сисадмина?

Я скоро собираюсь заканчивать колледж, и сейчас ищу предложения о работе. Есть один, который меня очень интересует, это системное администрирование Linux (PHP, MySQL, Apache Webserver, BIND, bash, postfix и, конечно, общее обслуживание и безопасность системы).

Однако во время моей стажировки большинство моих заданий были связаны с виртуализацией Hyper-V и Windows в целом, и у меня не было много времени на Linux. В свободное время я обычно являюсь пользователем Windows и обладаю только очень базовыми знаниями Linux.

Какими знаниями и навыками, по вашему мнению, должен обладать новый соискатель, прежде чем он действительно готов к работе (и собеседованию)? Любые источники, от книг до электронных книг, учебных пособий, общих описаний навыков, команд, веб-сайтов, блогов, ... помогут мне куче.

Помогите мне стать лучшим администратором Linux и готовьтесь к этому интервью! Большое спасибо:-)

РЕДАКТИРОВАТЬ: Как некоторые люди предложили, я обновлю первоначальный вопрос: я заявил, что я младший в названии вопроса, и это относится к названию работы, на которую я претендую (без опыта, у вас почти нет шансов у вас " устроюсь на работу старшим, очевидно). Мои знания Linux могут быть немного лучше, чем я позволю вам, ребята, понять; Я далеко мимо "Как мне настроить DNS-сервер?" stage, dns, dhcp, webserver и т. д., я настраивал их раньше несколько раз.

Я ищу более продвинутые знания, вещи, которые мне понадобятся в моей дневной работе, или вопросы, которые мне могут быть заданы на собеседовании. Я хочу быть готовым к этому, как могу.

Спасибо за вклад до сих пор!

13 ответов

Решение

В ServerFault уже есть много информации (Вопросы / Сообщения) для начинающего администратора Linux:

Кроме того, я предлагаю вам найти старый компьютер и установить на него Linux. Поиграйте с ним, настройте брандмауэр, DNS, DHCP на нем для запуска и тестирования. Вы даже можете установить его в виртуальной машине и делать что-то в нем. Ничто не поможет вам лучше, чем получить себя для реального опыта. Решите, как правильно его использовать, и постарайтесь использовать его как можно чаще. Задавайте вопросы, когда вы застряли (сначала исследуйте это), поэтому мы здесь.

Думайте о масштабе, контрольном журнале и отступлениях.

В реальном мире вам нужно часто делать что-то, и вам часто нужно делать это на большом количестве серверов. Таким образом, скриптинг и автоматизация становятся важными.

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

Например, хорошо знать, как настроить привязку как главный и подчиненный, но на моей работе мы размещаем несколько сотен доменов на 7 экземплярах привязки. Один хозяин, у которого есть раб, тот раб сам является хозяином 5 других рабов. Мы генерируем named.conf для всех из них с помощью макросов make и M4, выталкиваем их с помощью ssh и записываем изменения как named.conf, так и некоторых файлов зон с помощью RCS. Файлы большей зоны генерируются из базы данных, имеющей интерфейс CGI.

Ничего особенного в этом нет, named.confs по большей части довольно простой, просто большой. То же самое с большими автоматически создаваемыми файлами зоны.

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

Я бы познакомился с автоматизированными инструментами сборки, такими как кикстарт, поскольку это работа, которую в некоторых местах дают юниорам, поскольку она позволяет им работать с серверами и понимать, как они собираются и настраиваются в организации, не выпуская их из эксплуатации PRD серверы.

Помимо основ, вот несколько областей, которые вы, вероятно, должны исследовать дальше:

  • Настройка почтовой системы, которая работает достаточно хорошо для сотен пользователей, хорошая фильтрация спама, безопасность, решение для резервного копирования, доступ к электронной почте и т. Д.

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

  • Мониторинг серверов: опять же, имея хорошую стратегию и реализуя ее, вы можете отслеживать несколько серверов, цель состоит в том, чтобы иметь возможность предвидеть проблемы, а не исправлять их в случае их возникновения.

  • Безопасность: аудит, блокировка ресурсов, мониторинг использования, сложные ситуации брандмауэра.

  • ...
    По сути, все, что расширяет границы и делает разницу между настройкой чего-либо для себя и настройкой чего-либо для организации.

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

Таким образом, речь идет не только о возможности настройки почтового сервера или установки продукта безопасности, но и об использовании ваших технических знаний и опыта, чтобы помочь бизнесу, в котором вы работаете.

Расширение вашего горизонта за пределы механики ИТ поможет вам продвинуться дальше.

Единственный способ действительно научиться - это попробовать и "поиграть" с ним.

-Установите сервер Linux дома.

-Установите Apache, пытаясь включить php, perl, bugzilla, wordpress и несколько других приложений.

-Установите постфикс, попробуйте включить поддержку tls

-Установить по имени, включить dnssec, построить небольшую сеть дома..

Это всего лишь предложения. Как вы пытаетесь настроить их, Google для руководства, идеи и т. Д.

-Уроки скриптов (по крайней мере, Bash и Perl) для автоматизации вашей работы. Все хорошие администраторы знают, как автоматизировать свои задачи

Ненавижу это говорить, но вы можете переоценивать свои знания.

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

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

Как бы ни было полезно познакомиться с дистрибутивом дома, вы захотите провести время в подходящей обстановке. Посмотрите, сможете ли вы найти местный LUG, где вы сможете пообщаться со старшими специалистами и поучиться. Узнайте об их среде, процедурах и т. Д.

Лично я обнаружил, что возможность запустить Apache на самом деле не стоит много, так как это не так сложно. Ключ в том, чтобы обеспечить соответствие установки требованиям и получить обслуживание точно по мере необходимости, не более и не менее на месте.

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

Прочитайте книгу Мориса Дж. Баха. Это не связано с Linux. Это даже не современно. Это лучшая из всех прочитанных мной книг "Так работает UNIX". Когда-то, когда это было актуально, это была довольно хорошая книга о том, как на самом деле был реализован UNIX. К настоящему времени он действительно хорошо объясняет, как и почему UNIX работает так, как работает.

Книга предполагает, что вы можете понять некоторые C.

Проект операционной системы UNIX (Морис Дж. Бах, Prentice Hall PTR; 1986)

У меня есть твердый переплет, я прочитал его несколько раз, и я одалживаю его каждому своему другу, который когда-либо хотел получить глубокое понимание Linux/UNIX. По словам издателя:

Это первая и до сих пор самая полная книга, описывающая изощренную работу ядра UNIX System V - внутренние алгоритмы, структуры, которые составляют основу операционной системы UNIX, и их связь с программным интерфейсом. Системные программисты лучше поймут, как работает ядро, и смогут сравнить алгоритмы, используемые в системе UNIX, с алгоритмами, используемыми в других операционных системах. Программисты в системах UNIX получат более глубокое понимание того, как их программы взаимодействуют с системой, и тем самым могут кодировать более эффективные программы.

Посмотрим правде в глаза, через некоторое время хороший администратор Sys должен хорошо понять, как система собрана и как с ней взаимодействовать.

Следующим после этого с точки зрения полезности может быть TCP/IP Illustrated vol. 1. Не до полного понимания, но чтобы знать, как работает сеть на достаточно низком уровне.

Если вы можете, найдите время и сделайте это: http://www.linuxfromscratch.org/

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

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

ИМХО, это САМОЕ ВАЖНОЕ, что вы можете сделать:

  • Ищите высоко и низко для хорошего старшего администратора Linux/system, кого-то, кто понимает, жесткий, честный, честный, умный и одаренный в навыках общения.

Они далеко и мало, но они там. Доверьтесь мне.

И учиться, детка, учиться. Прикрепите себя к нему или к ней, следите за мелочами. Как они настраивают свой рабочий процесс? Какие процессы они используют? Какие псевдонимы команд они используют? Любой, который вы можете адаптировать для своего использования?

Я предлагаю вам попробовать и установить Archlinux. Это не такой хардкор, как сборка Linux с нуля, но вы изучите внутреннюю часть системы Linux. У них есть хорошее руководство по установке, которое объясняет основные настройки и администрирование Linux. Тогда просто плавайте вокруг вики, чтобы проникнуть во внутренние детали. Сделайте это на виртуальной машине и обязательно сделайте снимки, чтобы иметь возможность выполнить откат и повторить попытку.

Прекратите использовать Windows (хотя бы на время), если не хотите играть в игры. Настройте свой собственный веб-сервер для развлечения с некоторой веб-страницей (или лучше CMS) и используйте некоторые БД.

Однажды мне сказали, что во многих объявлениях о вакансиях будут перечислены требования к знаниям по широкому кругу тем [как вы опубликовали], а не к тому, чего они действительно хотят, но они хотят увидеть, что с точки зрения будущих сотрудников.

прекратите использовать windows и начните использовать *nix. также командная строка - твой друг

также, если есть сомнения, обратитесь к дистрибутивам вики

Существует множество бесплатных, открытых ресурсов для знаний о Linux. Вы упомянули знания Bash конкретно, и лучший способ получить это - поиграться с Bash и сценариями оболочки.

В дополнение к любым другим книгам и ссылкам, которые рекомендуют люди, я советую получить немного реального времени Linux.

Хорошие варианты для получения дополнительного времени - двойная загрузка, запуск Pen Drive Linux или портативного Ubuntu - на самом деле нет никаких хороших оправданий для того, чтобы не тратить время на Linux, если вы хотите получить больше опыта с ним.

Другие вопросы по тегам