Системное администрирование с нуля

Практический курс для начинающих системных администраторов, охватывающий базовые и востребованные навыки для успешного трудоустройства. Вы освоите настройку Windows и Linux, управление доступом, сетевые службы и мониторинг инфраструктуры по современным стандартам.

1. Операционные системы Windows и Linux

Фундамент любой IT-инфраструктуры — это операционная система (ОС). Это главная программа, которая управляет аппаратным обеспечением компьютера (процессором, оперативной памятью, дисками) и предоставляет среду для запуска всех остальных приложений. Без операционной системы самый мощный сервер — это просто набор дорогого железа.

В мире корпоративного системного администрирования доминируют два гиганта: Windows и Linux. Чтобы стать востребованным инженером, необходимо понимать не только как нажимать кнопки в каждой из них, но и фундаментальную разницу в их архитектуре, философии и подходах к управлению данными.

Философия разработки: закрытый и открытый код

Главное и самое глубокое отличие между этими системами заключается в модели их распространения и разработки.

Windows — это проприетарное программное обеспечение (proprietary software). Это означает, что исходный код системы закрыт и принадлежит исключительно корпорации Microsoft. Ни один системный администратор в мире (кроме инженеров самой Microsoft) не может заглянуть внутрь ядра Windows, чтобы посмотреть, как именно написан код управления памятью или сетью. Вы получаете готовый, скомпилированный продукт.

Linux — это система с открытым исходным кодом (Open Source). Любой человек может скачать исходный код ядра Linux, изучить его, модифицировать и скомпилировать собственную версию.

> Слова ничего не стоят. Покажите мне код. > > Линус Торвальдс

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

Из этой философии вытекает понятие дистрибутива (Distribution). Сам по себе Linux — это только ядро (Kernel), то есть центральная часть системы, общающаяся с оборудованием. Чтобы получить полноценную ОС, к ядру добавляют системные утилиты, графическую оболочку и менеджер пакетов (программ). Так получаются дистрибутивы: Ubuntu, CentOS, Debian, Red Hat и тысячи других. Windows же всегда поставляется как единый, монолитный продукт от одного производителя.

Архитектура файловых систем

Второй важнейший аспект, с которым вы столкнетесь в первый же день работы — это файловая система и то, как ОС организует хранение данных.

В Windows используется концепция логических дисков. Физические накопители или их разделы получают буквенные обозначения: C:, D:, E: и так далее. У каждого диска есть свой собственный корень. Системные файлы традиционно лежат в C:\Windows, программы — в C:\Program Files, а файлы пользователей — в C:\Users. Эта система интуитивно понятна начинающим пользователям, так как визуально разделяет пространство.

В Linux подход кардинально иной. Здесь существует единое дерево каталогов, которое начинается с корня (root), обозначаемого символом прямого слеша /. Никаких дисков C: или D: не существует. Дополнительные жесткие диски, флешки или сетевые хранилища «монтируются» (подключаются) как обычные папки внутри этого единого дерева.

!Сравнение иерархии файловых систем: независимые диски в Windows и единое дерево каталогов в Linux.

Структура папок в Linux строго стандартизирована: * /bin и /sbin — здесь хранятся исполняемые файлы (программы и системные утилиты). * /etc — папка для конфигурационных файлов. Любая настройка системы или программы лежит здесь. * /var — часто изменяемые данные, в первую очередь логи (журналы событий) и базы данных. * /home — домашние каталоги пользователей (аналог C:\Users).

Кроме того, в Linux действует фундаментальное правило: «Всё есть файл». Текстовый документ — это файл. Папка — это файл, содержащий список других файлов. Жесткий диск, клавиатура, принтер и даже сетевое соединение представлены в системе в виде файлов (обычно в каталоге /dev). Если вы хотите отправить текст на принтер, вы можете просто скопировать текстовый файл в файл принтера.

Хранение настроек: Реестр против Текста

Как операционная система запоминает, какие обои стоят на рабочем столе, какой порт слушает веб-сервер и какие права есть у пользователя?

В Windows для этого используется Реестр Windows (Windows Registry). Это централизованная, иерархическая база данных, в которой хранятся низкоуровневые настройки ОС и большинства сторонних приложений. Реестр работает быстро и позволяет разработчикам не думать о том, как парсить (читать) файлы настроек. Однако, если реестр повреждается, система может полностью выйти из строя. Кроме того, перенести настройки программы на другой компьютер простым копированием файла часто невозможно — нужно экспортировать ключи реестра.

В Linux реестра нет. Все настройки хранятся в обычных текстовых файлах, преимущественно в каталоге /etc.

Бытовой пример: вам нужно настроить сетевой адрес сервера. В Windows вы открываете графическое окно или используете специальную команду PowerShell, которая вносит изменения в скрытые недра реестра. В Linux вы открываете текстовый файл (например, /etc/network/interfaces), пишете там IP-адрес обычным текстом и сохраняете.

Текстовый подход Linux делает систему невероятно удобной для резервного копирования и автоматизации. Вы можете скопировать папку /etc на флешку, и у вас в руках будут настройки всего сервера.

Управление: Графика против Командной строки

Исторически Windows создавалась для персональных компьютеров, поэтому её главным способом взаимодействия с человеком является графический интерфейс (Graphical User Interface, GUI). Окна, мышка, кнопки «ОК» и «Применить». Даже в серверных версиях Windows Server графический интерфейс долгое время был обязательным (хотя сейчас существует режим Server Core без графики).

Linux изначально создавался программистами для программистов, и его родная стихия — командная строка (Command Line Interface, CLI). На большинстве Linux-серверов в мире вообще не установлена графическая оболочка. Вы подключаетесь к серверу удаленно и видите только черный экран с мигающим курсором.

Почему отсутствие графики на сервере — это преимущество?

  • Экономия ресурсов. Графический интерфейс Windows Server может потреблять от 1 до 2 ГБ оперативной памяти просто для отрисовки окон. Linux-сервер без графики может потреблять всего 100-200 МБ памяти, оставляя все остальные ресурсы для полезной работы (например, для базы данных).
  • Автоматизация. Любое действие в командной строке можно записать в скрипт. Если вам нужно создать 1000 пользователей, в графическом интерфейсе вы сойдете с ума, кликая мышкой. В командной строке это делается одним циклом из трех строк кода.
  • Скорость работы. Текстовые команды передаются по сети мгновенно, даже при очень плохом интернете, тогда как передача картинки рабочего стола требует широкого канала связи.
  • Что и когда использовать?

    Как будущему системному администратору, вам не нужно выбирать «лучшую» систему. Обе ОС — это инструменты, и профессионал должен уметь применять правильный инструмент для конкретной задачи.

    Когда выбирают Windows Server: * В компании много офисных сотрудников с компьютерами на Windows. Требуется внедрение Active Directory* (мощнейшей системы управления корпоративной сетью от Microsoft). * Используется специфическое корпоративное ПО, написанное только под Windows (например, серверы 1С:Предприятие исторически чаще разворачивали на Windows, хотя сейчас ситуация меняется). * Бюджет позволяет оплачивать лицензии. Лицензия Windows Server 2022 Standard стоит около 1069 долл. за 16 ядер процессора, и дополнительно нужно покупать лицензии клиентского доступа (CAL) для каждого пользователя.

    Когда выбирают Linux: * Размещение веб-сайтов и веб-приложений. Связка Linux + веб-сервер (Nginx/Apache) является мировым стандартом. * Высоконагруженные базы данных. * Облачная инфраструктура и контейнеризация (Docker работает на базе технологий ядра Linux). * Ограниченный бюджет. Большинство дистрибутивов Linux абсолютно бесплатны. Вы платите 0 долл. за саму ОС, оплачивая только труд системного администратора и аренду оборудования.

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