с чего начать изучение системного администрирования самостоятельно
Как стать системным администратором — пособие для начинающих (часть 2)
В этой части: подробнее о жизни эникейщика: как устроиться, чем заниматься, чего избегать, к чему стремиться.
Я откладываю вопрос о «будущем сисадмина» на следующие части — сейчас я сфокусируюсь на том, как начинается карьера. Повторю, опытным администраторам всё это будет казаться либо обидным, либо очевидным — но я достаточно посмотрел за эту весну на людей, которые пытаются «вскочить в индустрию», но у них не получается. Именно для них этот цикл статей. (Я не ощущаю себя достаточно умным, чтобы рассказывать про будущее карьеры для людей, у которых опыта, возможно, больше, чем у меня).
Вступление
Примерно до середины 2000ых было два пути стать системным администратором: через путь эникейщика и через профильное высшее образование (обычно, в всякого рода институтах связи). Первое давало много опыта, второе — довольно много знаний (из которых большая часть не нужна). Сейчас появился третий — всякого рода «курсы системного администрирования», которые, реально, тлен и прах (если судить по тому, что знают и умеют те, кто их закончил).
Я пока сфокусируюсь на первом — а именно, «через эникеи в админы».
Что должен знать эникей?
То, что я напишу, вызовет бурю возмущения (во всяком случае, именно такую бурю обычно вызывает текст вакансии с такими требованиями и з/п в 15-17 т.р. (Санкт-Петербург)).
Нужно: уметь установить виндоуз, починить ей загрузчик, точно знать, где находятся программы, данные пользователей и т.д. (то, что называется «уверенный пользователь windows»). Дальше интеренее: нужно иметь представление об СКС (объяснить, какие пары и зачем переворачиваются в кроссе), знать про маршрутизацию (на уровне объяснить что от чего отделяет маска сети), DNS (на уровне знания про существования RR и способности определить IP по dns-имени в консоли), диагностику сети (знать, что такое пинг и уметь интерпретировать его вывод), нужно иметь какой-никакой опыт с офисными приложениями, уметь читать отлупы почтовых серверов.
Тяжеловатый список, правда? Последний раз, когда я искал помощника сисадмина, я решил не сдаваться и остановился именно на таком уровне. Нужно сказать, человек таки (через 3 недели) нашёлся.
Итак, первое — это знания. Где их получить? Видимо, дома. Внимательно думайте что делаете, старайтесь разобраться «почему». Каждая переустановка windows с нуля — ваш проигрыш.
Второе — адекватность. Свободный график, поблажки по времени работе — это удел админов. Эникейщик должен быть вовремя (и никого не волнует маршрутка в пробке), он должен быть приветлив к пользователям, он должен владеть русским языком и более-менее письменным этикетом (чтобы отвечать на письма внутри компании вменяемо).
Собеседование
Дальше вам нужно оценить адекватность людей вокруг. Трудная задача. Не стоит заигрывать в крутых админов и панибратствовать (см п.1), спросите, чем занимается компания, если видите затруднения в ответе, уточни, что интересует только то, с чем нужно будет работать по должностным обязанностям. Многие компании представляют из себя жуткое сплетение разных ООО, которые делают что попало, и рассказывать про бизнес вам никто не будет.
Кстати, об ответе на вопрос «долго ли вы у нас собиратесь работать?», отвечайте честно: «хочу набраться опыта, думаю, что минимум год, если будет интересно, то дольше». Вполне разумный срок для эникейщика. Поиск работника не менее геморройный, чем поиск работы, так что человек с намерением поработать пару месяцев энтузиазма не вызовет, но и обещание работать в качестве эникея тут до гробовой доски тоже не вызовет доверия к вашим словам.
Что делать, устроившись на работу?
В этой секции о том, как выполнять служебные обязанности. О том, что на самом деле (для собственного карьерного продвижения делать, чуть ниже).
Во-первых, осознайте, для чего вас наняли на работу: снять с админа работу. Не её излишек, очень редко администратор бывает совсем уж занят, а снять с него самую неприятную её часть: общение с пользователями и танцы вокруг компьютеров с бубном.
Вообще, это касается не только «помощника», всегда соглашайтесь на любую разовую работу (ну, кроме работы наркодиллером и испытателем ракет) — однократно вы получите от этой работы больше опыта, чем работодатель от вас пользы. Один раз протащили СКС — пачка опыта, один раз разобрались с видеокамерами — другой бесценный опыт. Научились программировать системный телефон АТС — опять же опыт. Опыт, опыт, опыт. Столкнувшись с проблемой пытайтесь не только решить её здесь и сейчас, но ройте по-максимуму. Если есть время, старайтесь прочитать в гугле хоть сколько-то про каждое новое название, которое встречаете.
Что на самом деле нужно делать?
Итак, у вас есть сколько-то времени ежедневно между звонками бухгалтеров о залипшей кнопке, посылом «пойти почини вот ту неведомую фигню» и прочими глупыми, жрущими время и низкооплачиваемыми вещами.
Это время можно:
а) Потратить на игры. Уносить сразу же. Не только потратите всё время, но ещё и получите массу проблем по работе, потому что будете тупить, тормозить и не успевать сделать, что сказали.
б) Потратить на сёрфинг, вконтактик, чатики, двачики, лепру, ещё какой другой замечательный в своей социализации сервис. Примерно то же самое, правда, менее опасно для работы.
в) Тратить на самообучение.
И вот это — главное.
Запомните, главные различия между админом и эникейщиком: теоретические знания и опыт. Опыт вы вычитать не сможете, он придёт со временем. Но какой именно он придёт, и, главное, первый пункт зависит ТОЛЬКО от того, сколько вы будете читать.
Читать, читать, читать, читать.
Если на работе есть проф. литература — читать всё. Даже если половину не понимаете. Прочтёте всю полку — начинайте читать то, что не поняли раньше.
Поток знаний, который на вас обрушится из самой глупой и зачуханной админской книжки достаточен, чтобы вкачать 2-3 левела по администрированию, причём по совершенно несвязным с темой книги темам. (Воспоминания: книжка по 2003 экчейнжу мне дала огромный пласт знаний по устройству виндов и active directory, наверное, больше, чем про эксчейнж).
Первые книги будет читать безумно тяжело. Но это нужно делать, потому что если вы не научитесь учиться, то пик вашей карьеры — престарелый полуадмин-идиот. Я таких встречал, они в 45+ лет несут наивную ахинею про антивирусы и глючную винду. Преимущественно такие выживают в гос. организациях или подыхающих от безделия полусоветских конторах.
Итак, читать, читать, читать.
Что делать, если литературы нет?
1) Купить (иногда кусается)
2) Читать, что есть (с экрана)
3) Попытаться попросить купить книжки за счёт компании (шансов мало, но есть).
В любом случае, читать, читать, читать. Договоритесь с самим собой — не менее часа в день на чтение _КНИГ_. Болтовня на тематических ресурсах за это не засчитывается. Сразу отвечаю на вопрос, каких книг: всех, которые хоть как-то касаются того, с чем вы работаете и до которых у вас дотянулись руки. За условный год вам нужно прочитать не меньше 20-30 книг, что очень, очень, очень много (это не беллитристика, некотрые умные книги нужно 2-3 раза перечитывать). Если уж совсем хочется руководства — ну, хотя бы «DNS и Bind» Альбеца и Ли. В принципе, Неймет хорош, он, правда, не по виндовой части. От себя ещё порекомендую Филимонова, «Основы мультисервисных сетей Ethernet», даёт очень мощный пинок по куче технологий. Но, 2-3 книги погоды не делают — читать, читать, читать.
Следующий пункт: общение на тематических форумах, комьюнити, и т.д. Полезно, но не заменяет книги. Лучше читать ответы, максимум, задавать вопросы. Умничать пока рано, но если вас тыкают носом в вашу глупость, страйтесь выяснить, почему вы всё ещё идиот, а не устраивайте битву троллей за кубок Флеймера. Если уж втянулись в спор, то аргументируйте — ищите источники, доказывайте. В принципе, один затяжной холивар может привести к тому, что вы сильно улучшите свои знания в области — но это при условии, что вы пытаетесь доказать свою точку зрения по источникам, а не громким и могучим IMHO.
Далее, как уже сказано ранее, старайтесь разобраться. Если вы будете задавать идиотские вопросы по работе, то это нормально (учтите, только, что админ не бог, и если он отмахивается, то есть вероятность, что он просто не знает).
Что учить?
Как сказано ранее, на первых порах всё — смежные вопросы из книг дадут вам первичные знания широкого спектра.
К моменту, когда вы это всё изучите, вы с большой вероятностью уже будете иметь какой-никакой опыт и вполне сойдёте за начинающего админа.
Чего избегать?
Тут мы начинаем самую сложную часть.
Во-первых, в мире Windows принято пиратить платный софт. В мире линукса тоже, только платного софта почти нет, в репозиториях много нужного и опенсорсного, так что проблема менее остра.
Наш доблестный уголовный кодекс предусматривает, что виноват тот, кто софт ставил. И если по служебной записке — то «по предварительному сговору», то есть отмазок нет. Если что-то случится — вас попытаются сделать виноватым. Учитывайте это, старайтесь держаться от Microsoft, Adobe, Autocad, 1С подальше. К сожалению, выбора нет, решайте сами — рисковать потенциальным условным сроком или вполне неиллюзорно вылететь с работы «за идиотизм». Это проф.риск многих начинающих админов (а так же цена работы с хорошо знакомой windows).
Вас могут попытаться сделать гибридом грузчика и помощника завхоза. От переноски серверов (легко) и серверных упсов (тяжело) вам не отвертеться, а вот от всякой завхозной ерунды — старайтесь уклоняться. Ибо время ест, а квалификации не добавляет.
Системное администрирование. Начало
Существует много пособий по настройке программ (Операционок, сервисов, сайтов и тд), но редко можно встретить мануал по организационным вопросам связанным с системным администрированием. Сразу скажу, опыт работы у меня достаточный. Рассматриваться предмет будет на моем личном примере работы, сразу скажу что любые аргументированные дополнения, и исправления приветствуются. Также поясню для господ минусующих: «Не нравится? Сделай лучше!», и обязательно пришли ссылку, почитаю с большим удовольствием.
Ну что устроился на работу? Даже сисадмином? Даже в контору где от 5 до 50 компов (написано для тех кто устроился именно в такую фирму, потому как до 5 самому справиться и разобраться не проблема, а бросаться сразу с шашкой на танки без опыта смысла нет).
Все таки Вас приняли! Поздравляю! Но не спешите радоваться — сисадмин, это не самая лучшая должность (и вообще не должность, а состояние души), когда все работает вас могут не замечать, а когда юзер что-то сделал и все зависло виноват конечно же сисадмин.
Также хочу заметить, что тут не будет рассматриваться вопросы прокладки сети, закупки оборудования, и тому подобных моментов.
Не будет рассматриваться настройка конкретных программ, потому как Google и RTFM – лучшие друзья админа.
Первое от чего стоит себя удержать — не бросаться настраивать сервера и перекладывать сеть, до этого еще дойдет. В первую очередь стоит поговорить с руководством. Идеально если вы подчиняетесь и общаетесь по организационным моментам с генеральным. Но в любом случае надо знать от кого получать указания по работе, иначе каждая секретарша будет вас гонять.
Теперь желательно пройти с тетрадкой, зарисовывая схему помещений (в принципе можно взять план пожарной эвакуации и использовать его, а если хочется точности то взять строительный план (либо в БТИ, либо в бухгалтерии, как не странно он у них должен быть, так как налоговая требует налог на недвижимость, а он рассчитывается согласно этого плана). Записываем в тетрадочку (потом идеально сделать схему в Visio или СКС Эксперт) где какой компьютер стоит (если на вас повесили еще и АТС, то и где какой телефон). Узнаем конфигурацию машины, говорим с его владельцем-пользователем-манагером (нужное подчеркнуть, лишнее вычеркнуть) и узнаем какой софт он использует и чего ему не хватает для полного счастья. Таким образом нужно обойти всю контору, затем сесть, подумать и привести к системе полученную информацию.
Из личного опыта — Мое первое место работы — небольшая фирма, 13 компьютеров в техническом отделе, 5 в бухгалтерии, 10 компьютеров в торговом отделе, серверы — 1С, шлюз во внешнюю сеть. WiFi — точка доступа, аппаратный принт-сервер, два принтера (торговый, бухгалтерия). АТС 6х16.
Итак, начнем. Нет, все еще не идем к серверам «ставить туда линукс», и настраивать все подряд. Сядем и подумаем, как все должно работать в теории.
Важная заметка — Перестанавливать систему на сервере, очень хитрое дело, так как чаще всего в средних и мелких фирмах нет резервного сервера, то надо это делать либо ночью, либо на выходных, либо на отдельном компьютере.
После того, как ознакомление прошло успешно, в голове/на бумаге четкое понимание того как работает сейчас и как должно работать в идеале. Следующая остановка — начальство. Озвучиваем собственные соображения, делимся пожеланиями работников (теми, что мы собрали в самом начале).
Из личного опыта — Получилась примерно такая картина — Бухгалтерия — 1С Бухгалтерия, Банк-Клиент, Гарант, Контур-Экстерн. Торговый отдел — 1С Торговля и склад, система CRM, Банк-клиент (только просмотр). Тех. Отдел — куча программаторов, мануалов, схем. Для всех общее — Total Commander, Office, WinRar, Acrobat, опера, антивирус, почтовый клиент. В общем смотрите у себя по ситуации, как говориться каждому свое.
Озвучено то как было надо, а стояло как попало, у кого-то не стоял офис, у кого-то CRM, и все к друг другу бегали смотреть 🙂
На серверах — 1С — чистая Windows 2003, антивирус, базы 1С. Интернет — Windows 2003, Kerio, Merak Mail Server, антивирус.
Все это крутилось в рабочей группе, понятие безопасности отсутствовало, сортировка в документах и мануалах отсутствовала также.
Вначале были сделаны первоочередные вещи — проверка на вирусы (нашлись гадины и были преданы инквизиции), проверка на ошибки диска и реестра, найдутся у любого. Также, так как пришел на работу не просто сисадмином, а еще и следящем за 1С, проверенна 1С, убраны дубли, удаленно все что было не нужно.
Теперь можно браться и за серверы. Начнем пожалуй с интернета. Итак первый вопрос какие сервисы от него требуются — у меня получилось примерно такая ситуация — контроль, тарификация и статистика по пользователям, с квотированием и запретом определенных сайтов, почтовый сервер, DNS, файрвол, прокси, FTP. Решение можно собрать как на Windows, так и на *nix.
Пример — Windows — kerio winroute firewall (firewall, подсчет траффика, прокси, антивирус, контроль в одном флаконе), почтовый сервер (мерак или тот же керио но теперь kerio mail server), ftp – Serv-U. Пример — FreeBSD (собственно на ней и сделал) — на ней необходимые сервисы встанут в такой софт — подсчет трафика, статистика — stargazer, netams или abills, почтовый сервер — sendmail, DNS – bind, proxy – squid, ftp – proftpd. Файрволл — ipfw.
Из личного опыта — По поводу почты. В последствии ушли на google mail, чего и вам советую, доступ отовсюда, нормальная система настройки плюс всяческие дополнительные сервисы, такие как google calendar.
Процедуру настройки приводить не буду, так как софт каждый выбирает для себя сам, и всегда можно поставить, что нибудь другое вместо приведенного мною. Главное надо помнить, что сервер должен логироваться, резервироваться и обновляться. Любой, что никсы, что вин.
Теперь перейдем к серверу 1С, после некоторых раздумий было решено перейти на доменную структуру, так удобства настройки и последующей работы, гораздо большие чем при помощи рабочих групп. Плюс разграничение баз, ибо не нужно торговому отделу знать что твориться в бухгалтерии
Плюс на этом же сервере была сделана система резервирования (которая помимо создания бэкапа, сама писала на ленту, достаточно вставлять раз в день чистую. Плюс копировала по сети на мой компьютер.
Помимо этого развернул файлопомойку — дистрибутивы, драйвера, документацию, общие документы. По хорошему, под эти дела нужно было нормальный сервер, но с трудом выпросил новые харды так что работали как могли.
После настройки серверов пришло время настраивать клиентские компьютеры. Собрал системник (в дальнейшем он был в резерве), на него установил систему, и заменяя у манагеров корпус, забирал, настраивал, ставил обратно, брался за следующего. При наличии всех дисков, а диски естественно готовятся заранее, на один комп тратится примерно часа 3-4. После были сделаны clonezilla-образы и восстановление убитой системы стало занимать 15 минут.
Из личного опыта — также в это же время прочищал корпуса, Прочищал беличьей кисточкой и пылесосом, менял термопасту, подкручивал все винты, ставил заглушки.
Из личного опыта — ставьте систему удаленного управления, такую как radmin, vnc. Вообщем что знакомо и удобнее, иногда очень помогает, чтобы не бежать.
Вот собственно примерно так все и происходило, конечно не все так гладко. Но сейчас все работает. Люди довольны и гораздо меньше дергают админа, отвлекая от чтения Хабра.
И подконец пару советов, которые если бы я приминял с самого начала проблем было бы меньше.
1. Если на фирму пришел новый работник, потратьте час на обучение, проблем будет меньше, плюс назначьте из числа его соседей ответственного, к которому будут вопросы вначале, это будет гораздо быстрее, чем вам позвонят вы подбежите посмотрите и покажите кнопку «печать».
2. Потратьте день на то чтобы промаркировать кабели ЛВС и телефонов, много раз видел как просто к свичу подходит куча проводов, и не понятно где какой 🙂
3. По картриджам — постарайтесь чтобы у вас всегда был заправленый картридж. В этом случае при окончании тонера в принтере, просто меняете картридж, а потом когда есть свободное время организуете заправку. Очень редко тонер кончается одновременно у всех.
4. Ставьте на доступ к антивирусу пароль. Иначе в не меру умные пользователи могут его отключить, якобы для повышения скорости работы. Вы конечно узнаете это по логам, но иногда может быть поздно.
5. Проведите инвентаризацию всего железа что у вас есть, затем запишите на болванки либовнешний хард все драйвера (и желательно доки) на все это хозяйство.
6. Неплохо проверять время от времени свои сервера сканерами безопасности, к примеру тем же Xspiderom. Лучше узнать о своих ошибках первым.
7. Если вам поручили создать web сайт фирмы, конечно можете взяться, но не советую — профессионалы справятся лучше и быстрее, просто по моему личному мнению, тут меньше технической работы, а больше работы дизайнерской и верстки. А вот поддержка, добавление новостей, это уже можете спокойно делать сами.
8. Освойте хотя бы основы телефонии и электротехники. Не помешает.
9. Резервирование, резервирование… да, забыл еще раз резервирование.
10. Заведите себе список с телефонами-адресами службы техподдержки провайдера, «одинесников» и тому подобных товарищей.
11. Если система рухнула — потратьте полчаса-час, на чтение логов, из за чего это сообственно, случилось, если из за глюков железа или софта, сделайте для себя выводы. Если виноват юзер — на первый раз предупредите, далее принимайте репрессивные меры.
Начинающему сисадмину: как из хаоса сделать порядок
Я системный администратор FirstVDS, и это — текст первой вводной лекции из моего краткого курса помощи начинающим коллегам. Специалисты, которые недавно начали заниматься системным администрированием, сталкиваются с рядом одних и тех же проблем. Чтобы предложить решения, я взялся написать этот цикл лекций. Некоторые вещи в нём специфичны для технической поддержки хостинга, но в целом, могут оказаться полезными если не для всех, то для многих. Поэтому я адаптировал текст лекции, чтобы поделиться здесь.
Не имеет значения, как называется ваша должность — важно, что по факту вы занимаетесь администрированием. Поэтому начнем с того, чем должен заниматься системный администратор. Основная его задача — это приведение в порядок, поддержание порядка и подготовка к грядущим увеличениям порядка. Без системного администратора на сервере начинается бардак. Логи не пишутся, или в них пишется не то, ресурсы распределяются неоптимально, диск заполняется всевозможным мусором и система начинает медленно загибаться от такого количества хаоса. Спокойно! Системные администраторы в вашем лице приступают к решению проблем и устранению бардака!
Столпы системного администрирования
Однако прежде, чем приступать к решению проблем, стоит познакомиться с четырьмя основными столпами администрирования:
Документация
Документация подразумевает под собой не чтение документации (хотя без этого никуда), но и ведение.
Как вести документацию:
В каком формате вы это будете делать, зависит только от вас: это может быть система с заметками, личный блог, текстовый файл, физический блокнот. Главное, чтобы ваши записи отвечали следующим требованиям:
Вот так может выглядеть документация: от примитивных записей в блокноте (картинка выше), до полноценной многопользовательской базы знаний с тегами, поиском и всеми возможными удобствами (ниже).
Вам не только не придётся искать одни и те же ответы дважды: документирование будет замечательным подспорьем в изучении новых тем (конспекты же!), прокачает ваше паучье чутьё (способность диагностировать сложную проблему, бросив один поверхностный взгляд), добавит организованности в ваши действия. Если документация будет доступна вашим коллегам, то позволит им разобраться, что и как вы там нагородили, когда вас не будет на месте.
Шаблонизация
Шаблонизация — это создание и использование шаблонов. Для решения большинства типовых вопросов стоит создать определённый шаблон действий. Для диагностики большинства проблем следует использовать стандартизированную последовательность действий. Когда вы что-то починили/установили/оптимизировали, работоспособность этого чего-то стоит проверять по стандартизированным чек-листам.
Шаблонизация — лучший способ организации рабочего процесса. Используя типовые процедуры для решения наиболее частых проблем, вы получаете много всего классного. Например, использование чек-листов позволит вам диагностировать все важные для работы функции и отбросить диагностику маловажной функциональности. А стандартизированные процедуры сведут к минимуму ненужные метания и снизят вероятность ошибки.
Первым важным моментом является то, что процедуры и чек-листы тоже нужно документировать. Если просто надеяться на память, можно пропустить какую-нибудь реально важную проверку или операцию и всё развалить. Второй важный момент — все шаблонные практики можно и нужно модифицировать, если этого требует ситуация. Идеальных и абсолютно универсальных шаблонов нет. Если проблема есть, а шаблонная проверка её не выявила — это не значит, что проблемы нет. Однако прежде, чем браться за проверку каких-то маловероятных гипотетических проблем, всегда стоит сперва сделать быструю шаблонную проверку.
Оптимизация
Оптимизация говорит сама за себя. Рабочий процесс нужно максимально оптимизировать в плане время- и трудозатрат. Тут вариантов бессчётное множество: выучите горячие клавиши, сокращения, регулярные выражения, доступные инструменты. Ищите варианты более практичного использования этих инструментов. Если вы 100 раз на дню вызываете команду, повесьте её на клавиатурное сокращение. Если вам нужно регулярно подключаться к одним и тем же серверам, запишите alias в одно слово, который будет вас туда подключать:
Ознакомьтесь с разными вариантами доступных инструментов — возможно, есть более удобный терминальный клиент, DE, менеджер буфера обмена, браузер, почтовый клиент, операционная система. Узнайте, какими инструментами пользуются ваши коллеги и знакомые — может, они выбирают их не просто так. После того, как вы подберете инструменты, научитесь их применять: выучите ключи, сокращения, tips and tricks.
Оптимально используйте стандартные инструменты — coreutils, vim, регулярные выражения, bash. Для последних трёх есть огромное количество замечательных мануалов и документация. С их помощью можно довольно быстро перейти от состояния «я чувствую себя обезьяной, которая колет орехи ноутбуком — до «я обезьяна, которая использует ноутбук, чтобы заказать себе орехокол».
Автоматизация
Автоматизация перенесет тяжёлые операции из наших уставших рук в неутомимые руки автоматики. Если какая-то стандартная процедура выполняется в пяток однотипных команд, то почему бы не обернуть все эти команды в один файлик и не звать одну команду, которая этот файлик качает и выполняет?
Собственно автоматизация на 80% состоит из написания и оптимизации своих собственных инструментов (и ещё на 20% из попыток заставить их работать как надо). Это может быть просто продвинутый однострочник или же огромная всемогущая тулза с веб-интерфейсом и API. Главный критерий здесь — создание инструмента должно занимать не больше времени и усилий, чем количество времени и усилий, которое вам этот инструмент сэкономит. Если вы пять часов пишете скрипт, который вам больше никогда не пригодится, для задачи, на решение которой у вас без скрипта ушел бы час-другой — это очень плохая оптимизация рабочего процесса. Можно потратить пять часов на создание инструмента, только если количество, тип задач и время это позволяют, что бывает нечасто.
Автоматизация необязательно подразумевает написание полноценных скриптов. Например, чтобы создать кучу однотипных объектов из списка, достаточно ловкого однострочника, который автоматом сделает то, что вы бы делали руками, переключаясь между окнами, с кучами копипаста.
Собственно, если построить процесс администрирования на этих четырёх столпах, то можно довольно быстро повысить свою эффективность, продуктивность и квалификацию. Однако этот список нужно дополнить ещё одним пунктом, без которого работа в IT практически невозможна — самообразованием.
Самообразование сисадмина
Чтобы быть в этой сфере хоть чуть-чуть компетентными, нужно постоянно учиться и узнавать новое. Если у вас нет ни малейшего желания сталкиваться с неизвестным и разбираться, вы очень быстро «просядете». В IT постоянно появляются всевозможные новые решения, технологии и методы, и если вы не изучаете их хотя бы поверхностно — вы на пути к проигрышу. Многие области информационных технологий стоят на весьма сложном и объёмном базисе. Например, работа сети. Сети и интернет есть везде, вы сталкиваетесь с ними ежедневно, но стоит копнуть в технологии, которые стоят за ними, вы обнаружите огромную и очень сложную дисциплину, изучение которой — ни разу не прогулка в парке.
Я не стал включать этот пункт в список, потому что он — ключевой для IT в общем, а не только для системного администрирования. Естественно, выучить абсолютно всё и сразу не получится — у вас просто физически не хватит времени. Поэтому при самообразовании следует помнить о необходимых уровнях абстракции.
Вам необязательно сразу учить, как работает внутренний менеджмент памяти у каждой отдельно взятой утилиты, и как он взаимодействует с менеджментом памяти Linux, но вот что оперативная память из себя представляет схематически, и зачем она нужна, знать неплохо. Вам необязательно знать, как структурно отличаются заголовки у TCP и UDP, но было бы неплохо понимать основные отличия протоколов в работе. Вам не нужно изучать, что из себя представляют затухания сигнала в оптике, но было бы неплохо знать, почему настоящие потери всегда наследуются по узлам. Нет ничего плохого в том, чтобы знать как работают определённые элементы на определённом уровне абстракции и необязательно разбирать абсолютно все уровни, когда абстракции нет вообще (вы просто свихнётесь).
Однако в своей области рассуждать на уровне абстракции «ну это такая штука, которая позволяет показывать сайтики» — не очень хорошо. Следующие лекции будут посвящены обзору основных областей, с которыми системному администратору приходится сталкиваться в работе на более низких уровнях абстракции. Я постараюсь ограничить количество обозреваемых знаний минимальным уровнем абстракции.
10 заповедей системного администрирования
Итак, мы усвоили четыре основных столпа и фундамент. Можно начинать решать проблемы? Ещё нет. Перед этим желательно ознакомиться с так называемыми «best practices» и правилами хорошего тона. Без них есть вероятность, что вы принесёте больше вреда, чем пользы. Итак, начнём:
Основные инструменты, с которыми вам придётся работать больше 50% времени — grep и vim. Что может быть проще? Поиск по тексту и редактирование текста. Однако и grep, и vim — мощнейшие многофункциональные мультитулы, которые позволяют искать и редактировать текст эффективно. Если какой-нибудь виндовый notepad позволит вам просто написать/удалить строчку, то в vim’е можно делать с текстом почти что угодно. Не верите — вызовите из терминала команду vimtutor и начинайте учить. Что же касается grep — основная его сила в регулярных выражениях. Да, сам инструмент позволяет довольно гибко задавать условия поиска и выводимые данные, но без RegExp это особого смысла не имеет. И регулярные выражения знать нужно! Хотя бы на базовом уровне. Для начала я бы посоветовал вам посмотреть вот это видео, в нём разбираются основы основ регулярных выражений и их применения совместно с grep. Ах да, при совмещении их с vim, вы получаете ULTIMATE POWER возможность делать с текстом такие вещи, что их приходится обвешивать значками 18+.
Я бы посоветовал запомнить, что примерно выполняет каждая отдельная тулза и ключики к самым часто используемым командам, для всего остального есть man. Не стесняйтесь звать man, если вы в чём-то сомневаетесь. И обязательно прочитайте man на сам man — он содержит важную информацию о том, что вы найдете.
Зная эти инструменты, вы сможете эффективно решить значительную часть задач, с которыми столкнетесь на практике. В следующих лекциях мы рассмотрим, когда применять эти инструменты и структуры основных служб и приложений, к которым они применяются.
С вами был системный администратор FirstVDS Кирилл Цветков.