Знание 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 How-to / Учебные сайты
- Настройка Linux дома
- Инструменты, которые вы должны знать как администратор Windows / Linux
- Хорошие Linux Подкасты / Ссылки для начинающих
- Скрытые возможности в Linux
- Как нанять гуру Linux
- Что должен знать новичок о работе SysAdmin
Кроме того, я предлагаю вам найти старый компьютер и установить на него 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, если вы хотите получить больше опыта с ним.