Что у Linux под капотом? Устройство ОС, перевернувшей мир
Linux — это семейство операционных систем, основанных на одноименном монолитном ядре, разработанном Линусом Торвальдсом. Главная особенность Linux – открытость исходного кода и лицензия GPL (General Public License). Любой может свободно просматривать, изучать, модифицировать и распространять исходный код системы.
Проект, начавшийся как студенческое хобби, перерос в огромную экосистему и стал основой для серверов, мобильных устройств и даже настольных компьютеров.
Linux — бренд
Доля рынка
На рынке настольных ОС Linux занимает примерно 4,5%. Или 7%, если учесть Chrome OS, дистрибутив Linux от Google. 70% принадлежит Microsoft, 15% – MacOS.
В то же время Linux доминирует на серверах и мобильных устройствах. Android, занимающий 70% мобильного рынка, по сути – разновидность Linux, так как использует его ядро.
Кем был основатель Linux
В 1991 году студент университета в Хельсинки Линус Торвальдс поставил себе цель — создать систему, похожую на MINIX — лёгкую учебную версию UNIX. В связи с этим UNIX и Linux имеют много общих черт.
Проект быстро превратился в нечто гораздо большее, чем простая альтернатива MINIX. Linux появился в то время, когда Интернет начал активно развиваться и объединять людей по всему миру. Это позволило разработчикам Linux эффективно сотрудничать, обмениваться идеями и кодом через онлайн-платформы и рассылки. Вокруг Linux сформировалось сообщество энтузиастов, которые совместными усилиями развивали и совершенствовали систему.
Линус Торвальдс также разработал Git, систему контроля версий, популярную среди разработчиков по всему миру.
Помимо технических заслуг, Торвальдс известен своей прямолинейностью. В 2012 году во время выступления на конференции Торвальдс затронул тему поддержки Linux различными производителями аппаратного обеспечения. Когда речь зашла о компании NVIDIA, известной своими видеокартами, Торвальдс неожиданно показал в камеру средний палец и сказал: «NVIDIA, f*** you!».
Символ Linux — пингвин Tux
Торвальдс всегда любил пингвинов. Даже несмотря на то, что однажды это животное укусило Линуса в зоопарке.
В 1996 году сообщество Linux решило, что операционной системе нужен официальный талисман или логотип. Участники предложили несколько вариантов, включая различных животных и даже сложные абстрактные логотипы. Но Торвальдсу больше всего понравилась идея с пингвином, напоминающего человека в смокинге (tuxedo, на картинке слева).
Tux стал символом всей экосистемы и приобрёл множество вариаций. Хотя пингвин не является официальным логотипом Linux, он – культурный символ и неотъемлемая часть её истории.
Техническая часть и полезные инструменты
Схематично о том, как работает Linux, мы рассказывали в нашем телеграм-канале. А ещё делились там ссылкой на справочное приложение по Linux. Оно работает автономно, не требует подключения к Интернету и не имеет ПО для отслеживания.
Дистрибутивы Linux
Каждый дистрибутив Linux — это уникальная операционная система, построенная на основе ядра Linux. Сейчас насчитывается около 500 активных дистрибутивов, каждый из которых подходит для различных целей и пользователей.
Например, Ubuntu и Linux Mint идеально подходят новичкам за счёт дружественного интерфейса и обширной поддержки, в то время как Arch Linux и Gentoo востребованы опытными пользователями, которым нужна высокая степень настройки и максимальная производительность.
Большинство дистрибутивов предлагает выбор рабочего окружения, типа системы управления пакетами, встроенных программ и возможностей для кастомизации.
Сориентироваться среди такого количества вариантов помогут:
Distrowatch – сайт, который ранжирует дистрибутивы Linux на основании того, сколько раз пользователи загружают их с официальных сайтов.
Distrochooser помогает новичкам выбрать подходящий дистрибутив с помощью наводящих вопросов о целях использования и предпочтений пользователя.
Рабочие среды и менеджеры пакетов
В Linux рабочая среда (DE) — это графический интерфейс, который определяет внешний вид системы, её стили и набор предустановленных программ. Популярные среды – GNOME, KDE Plasma и XFCE, каждая из которых предлагает различные уровни настройки и варианты работы.
Менеджер пакетов – инструмент, управляющий установкой, обновлением и удалением программ (пакетов с файлами). Например, APT для Debian и Ubuntu или Pacman для Arch.
Командная оболочка (Shell)
Командная оболочка или Shell — это интерфейс, позволяющий пользователям взаимодействовать с системой через командную строку. Bash — это одна из самых популярных оболочек в Linux, используется по умолчанию в UNIX-подобных ОС, предлагает гибкие команды и сценарии для управления системой.
В нашем телеграм-канале также делились подборкой полезных bash/shell/perl скриптов для Linux/Unix администраторов. Они рассортированы по категориям сервисов и программ — dns, dhcp, samba, ispconfig, other и т.д.
Иерархия файловой системы (FHS)
Стандарт иерархии файловой системы FHS – это соглашение о структуре UNIX-подобной системы. Всё начинается с корневого каталога, родительского для остальных.
/bin/ содержит необходимые бинарные файлы команд.
/boot/ включает все необходимые файлы для загрузчика системы.
/dev/ содержит информацию о всех подключённых устройствах.
/etc/ обозначает “и так далее” и обычно содержит системные конфигурационные файлы.
/home/ – директория, где пользователи сохраняют свои документы загрузки и другие файлы.
/lib/ – место для хранения библиотек, необходимых для работы программ.
/media/ – точка монтирования для внешних носителей – USB накопителей или CD дисков.
/mnt/ – каталог, предназначенный для временного монтирования дисков пользователям.
/opt/ предназначен для установки дополнительных пакетов приложений.
/sbin/ включает все критически важные системные бинарные файлы.
/root/ – личная директория суперпользователя.
/tmp/ место для временных файлов, например, несохранённых документов.
/usr/ содержит большинство многопользовательских утилит и
приложений.
/var/ включает файлы, которые могут изменяться во время работы системы.
Разрушительные команды
Терминал Linux представляет собой мощный, полезный, но потенциально опасный инструмент для работы с системой. Некоторые команды могут привести к необратимым последствиям, если использовать их неправильно.
Например, sudo rm -rf / уничтожает корневой каталог, что приводит к полной потере данных. Такие команды активно обсуждаются в сообществе. Так, на Хабре даже составили «Краткий справочник по всем-всем командам Linux». А в нашем телеграм-канале можете скачать самые важные команды Unix-подобных ОС, сгруппированные по назначению.
Ещё одна частая тема для обсуждений в сообществе – выход из Vim. Vim — это мощный текстовый редактор, ставший известным благодаря своим уникальным комбинациям клавиш. Новички часто затрудняются выйти из редактора. Это даже превратилось в мем среди программистов и пользователей Linux.
Если вы слышали о подобных спорах и знакомы с Vim – вам будет интересно почитать о 86 способах выхода.
Устройства на Linux
— Steam Deck — портативный игровой ПК от компании Valve, работающий на дистрибутиве SteamOS, основанном на Arch Linux. Steam Deck поддерживает игры как для Linux, так и для Windows через слой совместимости Proton, что даёт игрокам доступ к огромной библиотеке Windows-игр.
— Raspberry Pi — миниатюрный и доступный компьютер, предназначенный для учебных и любительских проектов, но также подходит для практических задач: от настройки серверов до автоматизации. Raspberry Pi работает на OС, известной как Raspberry Pi OS, оптимизированной для максимальной гибкости и лёгкости.
— Телефоны на Linux. Android, по сути – это разновидность Linux, так как использует его ядро. Однако, это не делает гаджеты на Android «чистыми» Linux-устройствами из-за других компонентов.
Есть устройства, работающие на других дистрибутивах Linux, таких как KDE Plasma Mobile и Ubuntu Touch. Например PinePhone — смартфон, разработанный гонконгским производителем компьютеров Pine64. Но он и другие подобные гаджеты всё ещё уступают Android и iOS по популярности и совместимости с приложениями.
Запуск Windows-программ
Существуют три способа запускать программы для Windows на Linux.
– Wine — популярное решение, которое переводит вызовы Windows API в команды POSIX в режиме реального времени и без потери производительности, что позволяет работать многим приложениям.
– Виртуальные машины с такими технологиями как KVM, QEMU и передача GPU. Создают полностью изолированные среды для Windows, а GPU-передача помогает виртуализации приближаться к производительности «настоящей» системы.
– Двойная загрузка – установка Windows и Linux на одну систему с возможностью выбора ОС при загрузке компьютера.
Интересное о Linux
С учётом популярности, сложности и свободного доступа к системе – неудивительно, что вокруг Linux постоянно происходят различные ситуации. Рассказываем о самых известных:
Создатель Linux отстранил от работы программистов из-за их связи с Россией
Компания исключила 11 человек из списка разработчиков, отвечающих за стабильность ядра операционной системы Linux. Торвальдс прокомментировал:
Совершенно ясно, почему было внесено изменение [в список разработчиков], оно не отменяется. <…> Если вы еще не слышали об антироссийских санкциях, вам стоит как-нибудь почитать новости
Через пять дней Минцифры внесло инициативу.
Минцифры предложило создать собственное Linux-сообщество
Ведомство планирует создать разработчикам условия для взаимовыгодного сотрудничества, что поможет создать уникальный продукт.
Ubuntu и Amazon
В одной из версий Ubuntu разработчики внедрили интеграцию с Amazon, что позволило искать товары через меню Ubuntu. Этот ход вызвал резкую критику, так как передача данных в интернет нарушала приватность пользователей. Под давлением юзеров разработчик Ubuntu удалил эту функцию.
Запрет Университету Миннесоты
В апреле 2021 года два ученых из Миннесоты решили отправить в ядро Linux исправление с ошибками. Когда сообщество узнало об этом, весь университет был исключен из процесса разработки ядра.
Linux на Марсе
19 февраля 2021 года NASA успешно посадила марсоход на поверхность Марса. Программная начинка автономного вертолёта-разведчика Ingenuity основана на ядре Linux и открытом полётном ПО. Отмечается, что это первое использование Linux в аппаратах, отправленных на Марс. Так Linux не только достиг поверхности Марса, но и успешно обеспечил управление полётом в непростых условиях планеты.
Год настольного Linux
Фраза «Год настольного Linux» — популярный мем о надежде, что Linux станет доминирующей операционной системой на настольных компьютерах. Эта фраза повторяется из года в год, обычно в начале нового года или при выходе новых версий популярных дистрибутивов.
Если вы хотите освоить Linux, узнать об ОС что-то новое или упростить себе работу с ней, рекомендуем перечень курсов, гайдов и материалов. Будет полезно как начинающим, так и опытным пользователям ОС.
Также советуем Linux на примерах – практическое руководством по работе и администрированию Linux. Содержит как теоретические, так и практические материалы. Изложение ведется на русском, с учетом разных дистрибутивов Linux.
Больше полезных материалов и шпаргалок — в нашем телеграм-канале.