24/6/2024
Кто такой архитектор Linux и умеет ли он, как в фильмах, писать крутые программы за пару часов? «Компьютерра» взяла интервью у Леонида Кантера, архитектора по интеграции ОС «МСВСфера» от «Инферит».
Наш эксперт - Леонид Кантер, с 1996 собирал один из первых русскоязычных дистрибутивов — Black Cat Linux. С 2000 по 2009 занимался разработкой российского дистрибутива ASPLinux. С 2009 по 2023 работал в компании CloudLinux Inc, из них 2016-2022 — в должности IT-директора. Опыт работы с Linux более 25 лет. В 2023 году присоединился к вендору «Инферит» в команду «Инферит ОС» в качестве архитектора по интеграции ОС «МСВСфера».
Разговор затронул тему универсальности Linux, его присутствия в повседневной жизни — от смартфонов до суперкомпьютеров. Погрузимся в историю и узнаем, как выглядели операционные системы 30 лет назад и как Linux может стать ведущей ОС в России с уходом Microsoft с этого рынка.
Архитектор — это должность человека, который определяет архитектуру продукта от его внешнего вида до функциональности. В том числе и такого продукта, как дистрибутив Linux. Моя должность полностью называется «Архитектор интеграционных проектов», в команде отвечаю за интеграцию нашего продукта, дистрибутива ОС «МСВСфера» от «Инферит», с программным обеспечением других отечественных разработчиков. То есть, фактически, отвечаю за его совместимость с имеющимися программным обеспечением, с которым предстоит работать нашим потенциальным пользователям и заказчикам.
На нынешнем этапе развития Linux можно смело говорить, что он для всех. И для офисной работы, и для игр, и для просмотра фильмов и прочих развлечений — он подходит практически для всего. Все наши привычные устройства, начиная от wi-fi роутеров и смартфонов на Android, имеют как минимум ядро Linux. Его же имеет множество других устройств, которые не видим. Например, абсолютное большинство веб-сайтов крутятся на Linux. Все суперкомпьютеры из топ-500 самых мощных систем мира работают под управлением Linux, и ни одной другой ОС в этом списке нет. Доля Linux на рабочих станциях выросла за прошлый год. По данным Starcounter в марте 2024 года она составляла 4%. В связи с уходом компании Microsoft с российского рынка и отсутствием альтернатив у Linux есть все шансы стать ведущей операционной системой в России. Если еще не знакомы с Linux, предлагаю начать знакомство с ОС «МСВСфера» от «Инферит». Версию для домашнего использования можно скачать бесплатно по ссылке.
Слово «дистрибутив» происходит от английского distribute — «распространять», то есть дистрибутив — это средство распространения операционной системы Linux, которое представляется в виде загрузочного носителя. Сейчас основной способ распространения — это образ CD-ROM, который записывается на USB-флеш-накопитель. Как правило, дистрибутивы Linux включают в себя обязательный компонент — это ядро Linux, а также набор программного обеспечения, системные библиотеки (основная системная библиотека называется glibc) и прочие библиотеки, которые нужны для работы прикладного софта.
Если это серверный дистрибутив, то он включает в себя набор серверных компонентов, таких как веб-сервер, сетевые сервисы dns, электронная почта, файловые серверы, также он может включать в себя контроллер домена Windows.
Если это дистрибутив для рабочей станции, то он обязательно должен включать в себя окружение рабочего стола (например GNOME, KDE, Mate и другие), а также набор прикладных программ, таких как веб-браузер, офисный пакет, мультимедийный проигрыватель, почтовая программа, календарь и так далее.
Совокупность всех этих приложений и сервисов и является дистрибутивом Linux.
У этих дистрибутивов есть как общие черты, так и отличия. К общим чертам относится то, что и дистрибутив Windows, и дистрибутив Linux можно загрузить с установочного носителя и установить на компьютер или сервер. Отличия существуют в начинке. Например, в формате исполняемых файлов — у Windows это exe, а у Linux это elf. Отличается и модель разработки: Windows разрабатывается монопольно компанией Microsoft, а Linux — сообществом. При установке операционной системы Windows в ее дистрибутивном диске поставляется минимальный набор приложений. После установки Linux можно подключить репозитории, которые содержат огромное количество приложений, в том числе распространяемых бесплатно. В целом, установив Linux, вы получаете возможность прямо из коробки, не тратя дополнительных средств, получить более широкий функционал, чем в случае установки Windows.
Еще хотелось бы подсветить такое отличие, как наличие в Linux развитого управления программными пакетами. На английском это называется package management. В Windows, если установить штатными средствами программу, совсем не очевидно, какие файлы приходят с этим пакетом, какие изменения он делает в системе, что происходит после удаления. Как правило, после удаления ПО в Windows остается множество «хвостов», от файлов до записей в реестре. То есть в Windows практически невозможно, после удаления какого-то софта, получить такую же систему, какой она была до установки этого пакета.
В Linux все намного проще. Одной командой можно легко просмотреть состав пакета, узнать, какие скрипты выполняются до установки и после установки. Если этот пакет сам не дочистил «хвосты» после удаления, можно легко получать информацию о том, что именно нужно дочистить чтобы вернуть систему в исходное состояние, в котором она была до установки этого пакета. Кроме того, в пакетном менеджере RPM, который используем, есть средства проверки целостности файлов пакета, то есть пакет RPM содержит информацию о контрольных суммах всех файлов, которые входят в этот пакет. При установке пакета эти контрольные суммы попадают в системную базу. И если у администратора возникает подозрение, что файлы могли быть изменены, то можно одной командой «rpm -V имя пакета» пересчитать все контрольные суммы этих файлов и сверить их с эталоном. Если выяснится, что какой-то исполняемый файл был изменен или подменен, то можно просто переустановить этот пакет, и целостность системы будет восстановлена.
Кроме контрольной суммы, в этой базе содержатся такие параметры, как права доступа к файлу, время изменения, размер и так далее. С точки зрения контроля целостности системы такая модель управления пакетами несравнимо удобнее.
Секрет успеха — это модель разработки. Это открытая система, и в разработке принимает участие не одна компания, вроде Microsoft или Apple, а огромное количество энтузиастов и сотрудников различных коммерческих компаний. Это дает возможность получить более интересную функциональность, больше удобства, больше возможности настройки системы под себя, чем в Windows или Mac OS.
Я бы назвал два основных отличия. Первое — это пакетный менеджер. Red Hat Enterprise Linux (RHEL) использует пакетный менеджер RPM, который изначально назывался Red Hat Package Manager. Потом он стал расшифровываться как просто RPM Package Manager, потому что стал использоваться большим количеством дистрибутивов помимо RHEL, и стал развиваться уже не только самой компанией Red Hat. Debian использует другой формат пакетов, они называются deb пакеты, а утилита для их доставки — APT (Advanced Packaging Tool). Это их отличия с технической точки зрения.
С организационной — RHEL разрабатывается внутри одной компании. Сначала это была просто компания Red Hat, а сейчас это подразделение компании IBM, то есть мы говорим о коммерческом дистрибутиве. Debian разрабатывается некоммерческой организацией Debian Foundation, и, в основном, он развивается сообществом энтузиастов.
Debian содержит огромное количество пакетов. Их намного больше, чем в RHEL, и они имеют достаточно высокое качество сборки. Отличие Debian еще в том, что он поддерживает намного больше аппаратных архитектур, чем RHEL. Cейчас Debian поддерживает около десяти аппаратных платформ. Эта открытость Debian привела к тому, что на его основе образовалось огромное количество производных дистрибутивов, самыми известными из которых являются Ubuntu, Linux Mint, а также есть и отечественные дистрибутивы, которые тоже базируется на Debian.
С другой стороны, так как компания Red Hat нанимала многих ведущих разработчиков открытых проектов, многие ключевые компоненты операционной системы Linux (такие как glibc, система инициализации systemd и так далее) разрабатывались в первую очередь в Red Hat, и именно из него попадали в другие дистрибутивы, в том числе и в Debian. Это позволяет считать, что RHEL является своего рода первоисточником многих ключевых компонентов дистрибутивов Linux.
Поскольку дистрибутив RHEL разрабатывается коммерческой организацией, он ориентирован на крупный бизнес и государственные структуры и старается соответствовать всем критериям безопасности для прохождения соответствующих сертификаций и проверок. Его изначальная ориентированность на корпоративный рынок и на тех, кому важно соответствовать строгим требованиям безопасности, сподвигнула нас выбрать именно этот дистрибутив за основу для нашего продукта — операционной системы «МСВСфера» от «Инферит».
Изменилось многое. Я начинал пользоваться Linux, когда еще не существовало Windows 95, был только Windows 3.1. На тот момент разница была просто космическая. Windows 3.1 казался чем-то очень примитивным, в нем даже не было нормальной поддержки сети TCP/IP, она была только в Windows 3.11 для рабочих групп. Linux выглядел намного более интересным, потому что в нем была встроена полная поддержка всех интернет технологий, были доступны любые средства программирования и разработки. Даже графика работала намного лучше и профессиональнее. Но когда вышел Windows 95, ситуация изменилась. Разработчикам Linux пришлось догонять и адаптироваться к новому интерфейсу Windows. Началась своеобразная гонка, и она шла с переменным успехом. Сейчас современные графические среды в Linux предоставляют намного больше возможностей для настройки интерфейса под себя. Можно создать любую компоновку линуксового десктопа: меню как в Windows 10, или док как в Mac OS, или вообще что-то свое. Кнопки управления окнами, заголовки, цвета, и так далее — таких возможностей настройки очень много, можно нарисовать что угодно. Что касается приложений — имеющегося набора ПО для Linux на текущий момент более чем достаточно.
Линус Торвальдс более 10 лет назад издал книгу «Just for fun» — биографический рассказ прародителя операционной системы Linux. В ней можно найти ответы практически на все вопросы, которые хотелось бы ему задать.
Я не программист. Начинал как системный администратор, потом был IT-менеджером, много лет занимался сборками дистрибутивов — программистом меня сложно назвать.
Собирать дистрибутивы Linux — это отдельная задача, достаточно творческая работа. Необходимо иметь большой кругозор, знать какие есть доступные приложения, изучить множество аналогов других дистрибутивов и иметь идеи, чем новый дистрибутив будет отличаться от других.
Я видел не менее десяти разных дистрибутивов Linux, включая производные. Самым первым был Slackware, потом появился Red Hat и Debian.
Специально я не учился, учиться приходилось «на ходу». Сначала я экспериментировал с Linux потому, что это было интересно. Затем какие-то навыки пришлось применить на работе, когда назначили администратором SCO UNIX. Потом занимался провайдерством, и все службы этого интернет-узла были на Linux, пришлось снова учиться «на ходу». Собственно, тогда мы и стали собирать свой дистрибутив с моим компаньоном. Он тоже занимался провайдерством, и нам постоянно чего-то не хватало, приходилось что-то подтягивать, сочинять инструкции для сотрудников и так далее. Все это и вылилось в попытку сделать свой дистрибутив.
Сейчас есть много аналогов, есть на что посмотреть. Самый простой способ — это взять готовый дистрибутив, поменять ему название в нескольких местах, добавить ему «нескучные обои» (прим.: мем с сайта linux.org.ru) и сказать, что это новый дистрибутив. Но собрать новый дистрибутив — мало, нужно позаботиться о том, чтобы людям было удобно на нем работать, сложилось сообщество. Создать операционную систему несложно, сложно ее сопровождать, поддерживать и развивать, поэтому приходится много работать над тем, чтобы отличаться от других дистрибутивов не только «нескучными обоями», но и другими функциями, которые принесут ему популярность и расширят круг пользователей.
В нашей команде разработки операционной системы «МСВСфера» от «Инферит» есть самые разнообразные роли. Есть программисты, devops и системные администраторы, которые отвечают за инфраструктуру. Есть специалисты, которые занимаются сборкой пакетов и обслуживают сборочную систему. Есть тестировщики, которые проверяют готовый продукт. Есть переводчики, потому что локализация интерфейса отдельных пакетов — это отдельная большая работа, а также технические писатели, которые готовят документацию, и специалисты по внедрению.
Изначально понятие Linux относилось, действительно, только к ядру операционной системы. Ядро — это ключевой компонент, который выполняет множество задач. Во-первых, он содержит драйверы практически всего компьютерного оборудования. Во-вторых, он поддерживает функции работы с сетью и с дисковыми накопителями и управляет процессами операционной системы. Ядро предоставляет для приложений прозрачный интерфейс к оборудованию и сетевым функциям, управляет процессами и жизненным циклом, то есть запускает, контролирует состояние, останавливает и так далее.
Ядро уже выстрелило в 1991 году — и получился Linux. А запустил это ядро Линус Торвальдс.
Я использую Linux как основную операционную систему на домашнем компьютере уже 30 лет и чувствую себя в нем комфортно. У меня есть ноутбук с двойной загрузкой, на котором стоит Linux + Win. Я иногда загружаю Windows, чтобы посмотреть, как там что-нибудь реализовано. Остальное время я провожу в Linux. У меня есть много знакомых, которые не являются IT-специалистами и тоже используют Linux как основную операционную систему для решения различных задач, начиная от подготовки офисных документов и заканчивая профессиональным видеомонтажом. В состав дистрибутива ОС «МСВСфера» от «Инферит» мы также включили набор ПО, который поможет в решении ваших задач.
Мы живем в такое время, когда многие приложения разрабатываются параллельно для Windows и Linux и имеют абсолютно одинаковый функционал. В первую очередь, это браузер — Firefox, Google Chrome, Яндекс браузер, даже Microsoft Edge есть для Linux и имеет практически такой же функционал как для Windows. Microsoft Office для Linux не существует, но для работы с документами есть альтернативы — LibreOffice, например, собирается и для Linux, и для Windows. Один из самых популярных видеопроигрывателей VLC тоже выходит одновременно для Windows и Linux. Можно назвать огромное количество приложений, которые собираются одновременно для обеих операционных систем.
Но есть и приложения только для Windows или Linux. Из-за наличия таких специализированных приложений полностью перейти на Linux пока что невозможно, поэтому компаниям приходится держать Windows как площадку для запуска ПО, которое в Linux еще не работает. Например, есть мощные САПР системы, которые не работают на Linux. Некоторые программы для медицины написаны исключительно для Windows.
Когда-то мне приходилось не только чинить, но и собирать компьютеры «с нуля». Первые компьютеры на восьмиразрядном отечественном процессоре собирал, когда был еще студентом второго курса. Потом была постройка ibm-совместимого 16 разрядного компьютера на базе процессора 80-86 тоже отечественного аналога. Приходилось ремонтировать все компьютеры, прокладывать локальную сеть, когда руководил офисом в Донецке. Практически все свои настольные компьютеры собирал сам из различных запчастей. Ноутбуки, естественно, покупались, но в них тоже бывает интересно «поковыряться». Последнее, что делал с ноутбуком — устанавливал в Lenovo ThinkPad модули считывания смарт-карт и модуль NFC. Расширил заводскую комплектацию при помощи компонентов, закупленных на Aliexpress.
По мнению директора “Инферит Клаудмастер” Максима Мантурова, рынок российский облаков может утроиться в течение 3 лет. В ближайшие несколько лет эксперты ожидают значительного расширения рынка облачных технологий среди российских компаний, особенно среди крупных и средних предприятий. В статье поговорим о драйверах и “облачных” потребностях российского рынка, современных решениях для управления мультиоблачной инфраструктурой.
Директор "Инферит ИТМен" Василий Гурьев расскажет, как выстроить автоматизированный и регулярный сбор данных, отслеживать состояние устройств и нагрузку, оптимизировать закупки, сокращать расходы на обслуживание оборудования и быстро решать проблемы пользователей.
О ключевых факторах, определяющих развитие рынка систем безопасности, своем видении конкурентного ландшафта, а также о приоритетных направлениях развития компании в 2024 году рассказал Роман Георгиевич Паршин, руководитель направления защиты государственной тайны «Инферит Безопасность».