«Линукс»- очень значимое и обширное понятие. Системное администрирование Linux — сложная, но стройная система знаний. Изучение семейства систем существенно расширяет кругозор и не будет лишним для разработчика информационных систем, особенно, в распределенном и динамичном применении.
О решениях и проблемах
Системное администрирование — это ответственная работа. Однако, часто очень трудно в этом убедить руководителя компании (заказчика). Многие полагают: системный администратор делает все быстро, после него все работает отменно, значит, работа простая и платить не за что. Когда администратор не справляется с задачами, то руководитель (заказчик) лишает его премии (оплаты) и начинает демонстративно искать другого специалиста. Однако…
В результате страдает администрирование Linux-сервера, который как автомобиль предпочитает работать по управлением одного «водителя». Когда систему ставил и настраивал один специалист, а затем его сменил другой, а тем более — третий и далее… Отрицательный результат обязательно ощутит компания (заказчик) и очень будет жалеть об этом, даже если первый мастер «честно» оставит свой пост, сообщив все пароли и правила управления сервером.
Администрирование Linux — это большая отрасль знаний и умений. Но три позиции (установка, настройка и сопровождение) есть всегда. И именно они составляют то общее, что понимают, каждый по своему, специалист и руководитель компании (заказчик).
Психология системного администратора (логика его поведения) более ярко выражена, чем у программиста (разработчика), а опасность для руководителя компании (заказчика) состоит в том, что «обида, нанесенная квалификации или потраченному времени (труду)» может обусловить полный отказ в работе сервера в самый неожиданный момент времени.
Кодекс чести и совести системного администрирования — неявно сложившийся обычай, но он включает в себя адекватное и честное отношение не только со стороны специалиста, но и того, кто платит деньги (обычно не платит, но пытается командовать что (как) делать и заказывать «музыку»).
Системное администрирование — обязательная позиция в штате компании любого размера. Особенно если ее интересы связаны с эксплуатацией или разработкой информационных систем. Никогда вариант обслуживания сторонней организацией не будет обеспечивать нужный уровень стабильности и безопасности, не будет верной основой администрирования Linux-сервера.
Установка, настройка и сопровождение
Семейство операционных систем Linux обширно, многопланово и ориентировано на различные сферы применения. К примеру, линейка систем CentOS — это корпоративное применение, UBUNTU — домашний вариант с хорошей графической оболочкой. FreeBSD известна своей капризностью и требовательностью к знаниям системного администратора. Arch Linux — предпочитает ручное управление при установке и настройке, а не удобную автоматическую инсталляцию.
Общая логика линуксоидов: простота, надежность и стабильность. Вопросы безопасности решены на уровне системы, но могут быть легко развиты в процессе администрирования Linux-сервера. Работа всегда «без паники» — оригинальный девиз, который не мешало бы давно принять на вооружение системам на базе Windows.
Установка всегда подвластна новичку для любого «Линукса». Всегда настройка, сопровождение и администрирование Linux — это развитие знаний и умений специалиста. Классическое применение в качестве хостинга и файлового сервера — это не только Apache (NGiNX & php-fpm), MySQL, PHP и Samba, но и развитие знаний по оптимизации каждой позиции.
Администрирование Linux-серверов — это, прежде всего, выбор конкретного специалиста. Причем его профессиональные умения не менее важны, чем его представления об ответственности, порядочности и отношению к порученной работе. Это также отношение руководства компании (заказчика) к специалисту.
Администрирование — вторично, первичны, честно настроенные, трудовые отношения и обязательства сторон соблюдать их адекватно любой ситуации.
Основное в администрировании
Характерная особенность каждого линуксоида — командная строка, про которую пользователи Windows давно забыли. Управление сервером — это SSH. Сервер не обязан стоять возле администратора и может находиться где угодно. Используя PuTTY (или подобный инструмент) можно управлять сервером из любой точки. Графический интерфейс для сервера нонсенс, но ситуации бывают разные.
По логике вещей и для целей развития очень удобно ставить основной функционал на физический компьютер и с течением времени совершенствовать его. Дополнительно для развития и экспериментов — ставить систему виртуальных машин и проводить опыты в независимых «виртуальных коробках».
Обычная практика — хостинг. Можно начать классически: Apache, MySQL и PHP. Затем настроить NGiNX, php-fpm, MySQL и PHP. Можно заменить PHP на Perl или Python, выбрать другую базу данных. Можно в отдельном виртуальном боксе поставить Samba, связать ее с локальной сетью, провести эксперименты по сравнению производительности между CentOS и UBUNTU.
Главные основы администрирования Linux — никогда не проводить экспериментов на работающей системе. Сервер стал, хостинг настроен, веб-ресурс функционирует. На этом администратор обязан остановиться, подвести итоги и дальнейшее совершенствование своих знаний проводить на виртуальной машине или ином физическом компьютере. Появилось новое знание, получил проверку новый опыт (инструмент) — можно внедрить его в работающую систему. Не иначе.
Основы администрирования вообще — это разумное сочетание знаний и умений специалиста и отношения к нему руководства компании (заказчика). Нет взаимного понимания, нет стабильности в трудовых отношениях, можно даже не браться за создание собственного сервера — результат обязательно будет отрицательным.
Системное программирование и администрирование
Программисты очень быстро разделились на категории: прикладные — это фортран и математика, системные — это ассемблер и программирование. Это образное сравнение не стало родоначальником системного администрирования, но очень четко разделяет границы областей компетенции.
Системное администрирование Linux — это здание и его обслуживание. Кто живет, как живет и на что имеет право — это жильцы: сайты, файлы, папки, доступы, прикладные программы и другие компоненты, которые устанавливаются на сервере, но управление ими отдается на откуп пользователям, разработчикам, владельцам — субъектам, пользующихся серверными возможностями.
Системный администратор может не владеть ситуацией какой функционал предоставляет программный продукт. Его задача установить продукт, назначить права пользователей и обеспечить его стабильную работу.
Права руководителя компании (заказчика) не включают в себя обязательное знание пароля доступа к системе, а тем более рутового доступа (root). Только один человек должен знать все про систему и отвечать за это.
Множественный административный доступ к серверу — гарантия его отказа в самый неожиданный момент времени. Можно регламентировать передачу существенной административной информации в случае болезни, отлучки или иной оказии с администратором, но при обычном положении вещей только один системный администратор несет ответственность за сервер и его работу и обеспечивает ее.
Динамика знаний
Администрирование Linux отличается от Windows. Логика мышления совершенно иная. Линия развития макинтошей (Mac) — это вообще нонсенс, но количество пользователей по утверждению компании Apple — это многим более 100 млн.человек. Область информационных технологий богата на разноплановые и неожиданные решения, но семейство линуксоидов всегда стояло особняком.
Многие специалисты исследователи пытались построить генеалогию «Линукс»-систем. Красиво, интересно, но важно иное. Администрирование Linux-серверов дисциплинировало область знаний. Разъяснило, как строить системы и как управлять ими.
Не суть важно, на чем стал сервер: на Debian или Arch, на CentOS или Cosmic Cuttlefish. Важно, что космическая каракатица не имеет ничего общего с Ubuntu 18.10, но по красоте названия пытается показать качество новой версии как для прикладного, так и для системного применения.
Если специалист решил стать системным администратором значит он сделал ставку на развитие собственных знаний и совершенствование их для стороннего применения. Идеально, когда это желание и действие поддерживает компания, в которой он работает, не только словом, но и делом.