Как учиться UNIX-администрированию?
=====================================

 Курсы (онлайн), книги, веб-ресурсы, ВУЗы? 

 Практика, не? 

 Мой коллега неплохо изучил UNIX, учась лет 10 назад на ВМК МГУ. Рассказывал, как в качестве заданий на семинаре каждому давалось задание — написать простую программу типа ls, cat, echo и т.п.  

Если отмести весь опыт который у меня накопился за 15 лет общения с unix'ами (FreeBSD,Solaris,AIX) и начать всё с нуля, то поступал бы следующим образом.  

У каждого из вендоров UNIX есть свой набор курсов. В каждом курсе описаны необходимые требования для успешного прохождения этого курса. Выбираем самый начальный курс и постепенно двигаемся по всей линейке. Например для Solaris (список был актуален пару лент назад):  

*Solaris 10 Operating System Essentials (SA-100-S10)   

Shell Programming for System Administrators (SA-245)   

Perl Programming (DTP-250)   

ANSI C Programming Self-Study CD Course   

System Administration for the Solaris 10 OS Part 1 (SA-200-S10)  

System Administration for the Solaris 10 OS Part 2 (SA-202-S10)  

Network Administration for the Solaris 10 Operating System (SA-300-S10)  

Solaris System Performance Management (SA-400)  

Dynamic Performance Tuning and Troubleshooting With DTrace (SA-327-S10)  

Introduction to Core Dump Analysis (ST-375)  

Advanced Crash Dump Analysis (ST-475)  

Solaris 10 Operating System Internals (SI-365-S10)*  

Аналогичные вещи есть у IBM, RHEL и т.д.   

Список курсов конечно же можно варьировать, например убрать Perl или С, как пожелаете. Но основной подход остаётся такой — курсы. Собственно как их пройти? Чтобы прослушать все курсы в учебном центре придётся потратить уйму денег и времени. И если у вас есть столько денег и времени, то вряд ли имеет смысл заниматься администрированием Unix, лучше потратить их на более приятные вещи в этой жизни. PDFки с курсов (Student Guide) ищутся по торрентам и прочим злачным местам интернета, ну а дальше грызть гранит науки.   

Про очевидные вещи так же напомню — обучение не имеет смысла без практического применения полученных навыков, т.е. как только набираете минимальный опыт для устройства помощником администратора, идёте работать за деньги или на общественных началах в ВУЗЕ и т.п. Кроме того, без знания английского языка пробиться в мир Unix будет очень нелегко. Ну и самое главное — терпение и упорство и всё у вас получится. 

[Вот тут.](http://habrahabr.ru/post/99041/) Начало очень хорошего цикла статей 'перевод' из 14 частей. От одного из создателей gentoo linux. 

 < кэп мод >  

Теория без практики вам ничего не даст. Практика без теории в конце концов приведёт к непониманию многих процессов. Ищите золотую середину.  

< / кэп мод >  

  

Если речь идёт про GNU/Linux'ы, то скачиваете какой-нибудь дистрибутив поконсервативнее ( Debian ;), ставите его желательно на реальную машину и начинаете мучать (поставить голую консоль, поднять вебсервер, понастраивать бэкапы, помучать консоль, узнать, что для выхода из vi совершенно необязательно перезагружать машину (: и т.д. ). Эви Немет вам поможет ;)  

Когда немножко поднатаскаетесь, освоитесь, можно поднимать всякие виртуализации, зоопарки, ставить puppet'ы и писать рецепты под них.   

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

  

Если речь идёт про проприетарные системы (чпукс, эйайикс, etc), то изучить основы на GNU/Linux'ах и топать устраиваться на работу во всякие интеграторы. Они там обучают.   

  

И да, не надо делать упор на всякие графические утилиты. Учите консоль. В ней вся сила.  

  

По-моему, сегодня я где-то видел статейку, про путь nix администратора. Специально для вас написали (: 

 Устанавливаешь слаку и пользуешься компьютером как обычно. Навыки обязательно появятся если будешь сам решать все появляющиеся проблемы 

 А мне Яндекс-лекции по ОС понравились. Смотрятся на одном дыхании. 

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

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

 Советую почитать книги предназначенные для сдачи на LPIC, даже если надёте старые (за 2005год с примерами для ядра 2.4) информация в них полезная и достаточно удачно изложена (хотя технологии и ушли далеко вперёд, так что лучше найти свежие издания).  

  

80% инфы есть в man'е и доках на оф.сайтах софта (например, squid и nginx имеют исчерпывающую информацию на своих сайтах).  

  

По скриптингу могу посоветовать [тему на ru-board.com](http://forum.ru-board.com/topic.cgi?forum=65&topic=2790#1) (в шапке хорошая подборка ссылок).  

  

Отличная книга по vim ([en](http://www.swaroopch.org/notes/Vim_en:Table_of_Contents), [ru](http://rus-linux.net/MyLDP/BOOKS/Vim/prosto-o-vim-01.html)). Хотя обязательно стоит познакомится с vimtutor. 

 Книги/статьи/маны и одиночная практика — вполне достаточно. 

 LPIC 1,2 выучить и знать  

научиться работать в консоли  

поднять с десяток виртуальных машин и ковырять их  

попрактиковаться в настройке DHCP,DNS,AD,apache,nginx 

 Откуда брать «практику»: Есть безжалостный классический способ, который я не рекомендую, но многие практикуют и он даже вошел в цитаты баша — [bash.im/quote/407295](http://bash.im/quote/407295) 

 Установить себе линукс (хоть в виртуалку), выучить основные команды типа ls, grep, xargs, потом сходить на что нибудь типа яндексовых курсов КИТ. 

 Читаем книги по unix администрированию — библия системпного администратора, хендбуки по фрибсд, генте и дебиану — почти все есть на русском языке — это основы.  

  

Дальше — маны по конкретным серверам — мускуль, апач, фтп.  

  

Так же рекомендую почитать про основы построение сетей. 

 Конечно же эта книга [Unix и Linux: руководство системного администратора](http://vk.com.cm/1HqfjGp)!