Дистрибутив Linux [a] (часто сокращенно distro ) — это операционная система , созданная на основе коллекции программного обеспечения, включающей ядро Linux и часто систему управления пакетами . Пользователи Linux обычно получают свою операционную систему, загрузив один из дистрибутивов Linux, которые доступны для самых разных систем — от встраиваемых устройств (например, OpenWrt ) и персональных компьютеров (например, Linux Mint ) до мощных суперкомпьютеров (например, , Распределение кластеров пород ).
Типичный дистрибутив Linux включает ядро Linux, систему инициализации (например, systemd , OpenRC или runit ), инструменты и библиотеки GNU , документацию и многие другие типы программного обеспечения (например, утилиты настройки IP- сети и программу установки getty TTY). среди прочего). При желании для обеспечения работы рабочего стола (чаще всего это графические драйверы пользовательского пространства Mesa ) сервер отображения (наиболее распространенным из которых является сервер X.org или, в последнее время, наборщик Wayland , такой как Sway , KWin от KDE или GNOME ). s Mutter ), среда рабочего стола , звуковой сервер (обычно PulseAudio или, в последнее время, PipeWire ) и другие связанные программы могут быть включены в дистрибутив или могут быть установлены пользователем.
Большая часть включенного программного обеспечения является бесплатным, а программное обеспечение с открытым исходным кодом доступно как в виде скомпилированных двоичных файлов, так и в виде исходного кода , что позволяет вносить изменения в исходное программное обеспечение. Обычно дистрибутивы Linux дополнительно включают в себя некоторое проприетарное программное обеспечение , которое может быть недоступно в виде исходного кода, например двоичные объекты, необходимые для некоторых драйверов устройств . [1]
Дистрибутив Linux также можно охарактеризовать как определенный набор приложений и служебного программного обеспечения (например, различных инструментов и библиотек GNU), упакованных вместе с ядром Linux таким образом, что его возможности удовлетворяют потребностям многих пользователей. [2] Программное обеспечение обычно адаптируется к дистрибутиву, а затем его сопровождающие объединяют в программные пакеты . Пакеты программного обеспечения доступны в Интернете в репозиториях , которые обычно представляют собой места хранения, обычно распределенные по всему миру. [3] [4] Помимо «связывающих» компонентов, таких как установщики дистрибутива (например, Debian-Installer и Anaconda ) и систем управления пакетами, очень немногие пакеты на самом деле написаны сопровождающими дистрибутива.
Существует почти тысяча дистрибутивов Linux . [5] [6] Из-за огромной доступности программного обеспечения дистрибутивы приняли самые разнообразные формы, в том числе подходящие для использования на настольных компьютерах , серверах, ноутбуках, нетбуках , мобильных телефонах и планшетах, [7] [8] а также как в минимальных средах, обычно используемых во встроенных системах. [9] [10] Существуют коммерческие дистрибутивы, такие как Fedora Linux ( Red Hat ), openSUSE ( SUSE ) и Ubuntu ( Canonical Ltd. ); и дистрибутивы, полностью управляемые сообществом, такие как Debian , Slackware , Gentoo и Arch Linux . Большинство дистрибутивов поставляются готовыми к использованию и предварительно скомпилированными для определенного набора инструкций , тогда как некоторые (например, Gentoo ) распространяются в основном в виде исходного кода и для установки должны быть скомпилированы локально. [11]
Линус Торвальдс разработал ядро Linux и распространил его первую версию, 0.01, в 1991 году. Первоначально Linux распространялся только в виде исходного кода , а позже в виде пары загружаемых образов дискет : один загрузочный и содержал само ядро Linux, а другой — с набор утилит и инструментов GNU для настройки файловой системы. Поскольку процедура установки была сложной, особенно в условиях растущего количества доступного программного обеспечения, возникли дистрибутивы, упрощающие ее. [13]
Ранние дистрибутивы включали:
Два старейших, все еще активных проекта распространения стартовали в 1993 году. Дистрибутив SLS не поддерживался должным образом, поэтому в июле 1993 года Патрик Волкердинг выпустил новый дистрибутив на основе SLS, Slackware . [24] Также недовольный SLS, Ян Мердок решил создать бесплатный дистрибутив, основав Debian в августе 1993 года, первая публичная бета-версия была выпущена в январе 1994 года, а первая стабильная версия — в июне 1996 года. [25] [26]
Пользователей привлекали дистрибутивы Linux как альтернативы операционным системам DOS и Microsoft Windows на компьютерах, совместимых с IBM PC , Mac OS на Apple Macintosh и проприетарных версиях Unix . Большинство первых пользователей были знакомы с Unix по работе или в школе. Они выбрали дистрибутивы Linux из-за их низкой стоимости (или ее отсутствия) и доступности исходного кода для большей части или всего своего программного обеспечения.
По состоянию на 2017 год Linux стал более популярен на рынках серверов и встраиваемых устройств, чем на рынке настольных компьютеров. Он используется более чем на 50% веб-серверов; [27] Текущая доля рынка операционных систем составляет около 1,8%. [28]
Многие дистрибутивы Linux предоставляют систему установки, аналогичную системе других современных операционных систем. Другие дистрибутивы, включая Gentoo Linux , предоставляют только двоичные файлы базового ядра, инструменты компиляции и программу установки; установщик компилирует все запрашиваемое программное обеспечение для конкретной архитектуры компьютера пользователя, используя эти инструменты и исходный код программного обеспечения.
Дистрибутивы обычно сегментируются на пакеты . Каждый пакет содержит определенное приложение или услугу. Примерами пакетов являются библиотека для работы с форматом изображений PNG , коллекция шрифтов и веб-браузер .
Пакет обычно предоставляется в виде скомпилированного кода, при этом установка и удаление пакетов осуществляется системой управления пакетами (PMS), а не простым файловым архиватором . Каждый пакет, предназначенный для такой PMS, содержит метаинформацию, такую как его описание, номер версии и его зависимости (другие пакеты, необходимые для запуска). Система управления пакетами оценивает эту метаинформацию, чтобы обеспечить поиск пакетов, выполнить автоматическое обновление до более новых версий и проверить наличие всех зависимостей пакета (и либо уведомить пользователя о необходимости их установки, либо установить их автоматически). Пакет также может быть предоставлен в виде исходного кода для компиляции в системе.
Большинство дистрибутивов устанавливают пакеты, включая ядро и другие основные компоненты операционной системы, в заранее определенной конфигурации. Некоторые теперь требуют или разрешают корректировку конфигурации при первой установке. Это делает установку менее сложной, особенно для новых пользователей, но не всегда приемлемо. В соответствии с конкретными требованиями большая часть программного обеспечения должна быть тщательно настроена, чтобы быть полезной, корректно работать с другим программным обеспечением или быть безопасной, и локальным администраторам часто приходится тратить время на его проверку и перенастройку.
Некоторые (но не все) дистрибутивы прикладывают значительные усилия для настройки и настройки включенного в них программного обеспечения, а некоторые предоставляют инструменты настройки, которые помогают пользователям в этом.
Получив и установив все, что обычно входит в дистрибутив, администратор может создать установку «без дистрибутива». Такие системы можно создавать с нуля, вообще избегая дистрибутивов. Нужен способ генерировать первые двоичные файлы до тех пор, пока система не станет самостоятельным хостингом . Это можно сделать путем компиляции в другой системе, способной создавать двоичные файлы для намеченной цели (возможно, путем кросс-компиляции ). Например, см. Linux From Scratch .
В общих чертах дистрибутивы Linux могут быть:
Разнообразие дистрибутивов Linux обусловлено техническими, организационными и философскими различиями среди поставщиков и пользователей. Разрешительное лицензирование свободного программного обеспечения означает, что пользователи, обладающие достаточными знаниями и интересом, могут настроить любой существующий дистрибутив или разработать его в соответствии со своими потребностями.
Постоянно обновляемые дистрибутивы Linux поддерживаются с помощью небольших и частых обновлений . Термины «частично вращающийся» и «частично вращающийся» (наряду с синонимами « полускользящий» и «полупрокатный »), « полностью вращающийся» , «действительно вращающийся » и «необязательно вращающийся» иногда используются разработчиками программного обеспечения и пользователями. [29] [30] [31] [32] [33] [34]
Репозитории постоянно обновляемых дистрибутивов обычно содержат самые последние версии программного обеспечения — часто самые последние доступные стабильные версии. [31] У них есть псевдо-релизы и установочные носители, которые представляют собой просто снимки дистрибутива на момент выпуска установочного образа. Обычно операционную систему непрерывного выпуска, установленную со старого установочного носителя, можно полностью обновить после установки. [31] [35]
В зависимости от варианта использования методологии разработки программного обеспечения как со стандартным выпуском, так и с непрерывным выпуском могут иметь свои плюсы и минусы . [36]
С точки зрения процесса разработки программного обеспечения , стандартные выпуски требуют значительных усилий при разработке для поддержания старых версий в актуальном состоянии путем распространения исправлений ошибок обратно в новейшую ветку, а не сосредоточения внимания на новейшей ветке разработки . Кроме того, в отличие от скользящих выпусков, стандартные выпуски требуют разработки и поддержки более чем одной ветки кода, что увеличивает рабочую нагрузку на разработчиков и сопровождающих программного обеспечения.
С другой стороны, функции программного обеспечения и планирование технологий проще в стандартных выпусках благодаря лучшему пониманию будущих функций в следующих версиях. Циклы выпуска программного обеспечения также могут быть синхронизированы с циклами основных проектов программного обеспечения, таких как среды настольных компьютеров .
Что касается пользовательского опыта , стандартные выпуски часто рассматриваются как более стабильные и не содержащие ошибок, поскольку конфликты программного обеспечения легче разрешаются, а стек программного обеспечения более тщательно тестируется и оценивается в ходе цикла разработки программного обеспечения. [36] [37] По этой причине они, как правило, являются предпочтительным выбором в корпоративных средах и критически важных задачах. [36]
Однако скользящие выпуски предлагают более актуальное программное обеспечение, которое также может обеспечить повышенную стабильность и меньшее количество ошибок в программном обеспечении, а также дополнительные преимущества в виде новых функций, большей функциональности, более высокой скорости работы и улучшенной безопасности системы и приложений . Что касается безопасности программного обеспечения , модель скользящего выпуска может иметь преимущества в плане своевременных обновлений безопасности, исправления ошибок и уязвимостей безопасности системы или приложений , для которых стандартным выпускам, возможно, придется ждать до следующего выпуска или исправлять различные версии. В распространяемом выпуске, когда пользователь решил запустить его как высокодинамическую систему, постоянный поток программных пакетов может привести к появлению новых непреднамеренных уязвимостей. [36]
«Живой» дистрибутив — это дистрибутив Linux, который можно загружать со съемных носителей, таких как оптические диски или USB-накопители , вместо установки и загрузки с жесткого диска . Переносимость дистрибутивов, не требующих установки, делает их полезными для таких приложений, как демонстрации, заимствование чужого компьютера, спасательные операции или в качестве установочного носителя для стандартного дистрибутива.
Когда операционная система загружается с носителя, доступного только для чтения, такого как CD или DVD, любые пользовательские данные, которые необходимо сохранять между сеансами, не могут быть сохранены на загрузочном устройстве, а должны быть записаны на другое устройство хранения, например USB-накопитель. дисковод или жесткий диск. [38]
Многие дистрибутивы Linux предоставляют «живую» форму в дополнение к своей обычной форме, которая представляет собой сетевой образ или образ на съемном носителе, предназначенный для использования только для установки; к таким дистрибутивам относятся SUSE , Ubuntu, Linux Mint , MEPIS и Fedora Linux . Некоторые дистрибутивы, включая Knoppix , Puppy Linux , Devil-Linux, SuperGamer , SliTaz GNU/Linux и dyne:bolic , предназначены в первую очередь для живого использования. Кроме того, некоторые минимальные дистрибутивы можно запускать непосредственно с небольшого пространства, например одной дискеты, без необходимости изменять содержимое жесткого диска системы. [39]
На веб-сайте DistroWatch перечислено множество дистрибутивов Linux и показаны некоторые из них, которые имеют наибольший веб-трафик на сайте. Фонд Викимедиа опубликовал анализ пользовательских агентов браузера посетителей веб-сайтов WMF до 2015 года, который включает подробную информацию о наиболее популярных идентификаторах операционных систем, включая некоторые дистрибутивы Linux. [40] Ниже перечислены многие популярные дистрибутивы.
Считать ли вышеуказанные операционные системы «дистрибутивом Linux» — спорный вопрос. Они используют ядро Linux, поэтому Linux Foundation [41] и Крис ДиБона , [42] руководитель Google по открытому исходному коду, согласны с тем, что Android — это дистрибутив Linux; другие, такие как инженер Google Патрик Брейди, не согласны, отмечая отсутствие поддержки многих инструментов GNU в Android, включая glibc . [43]
Другие операционные системы на базе ядра Linux включают Cyanogenmod , его форк LineageOS , Android-x86 и недавно Tizen , Mer / Sailfish OS и KaiOS .
Облегченные дистрибутивы Linux — это дистрибутивы, которые были разработаны с учетом поддержки старого оборудования, что позволяет старому оборудованию по-прежнему продуктивно использоваться или обеспечивает максимально возможную скорость на новом оборудовании, оставляя больше ресурсов доступными для использования приложениями. Примеры включают Tiny Core Linux , Puppy Linux и Slitaz .
Другие дистрибутивы ориентированы на определенные ниши, такие как:
Группа Free Standards — это организация, созданная крупными поставщиками программного и аппаратного обеспечения, целью которой является улучшение совместимости между различными дистрибутивами. Среди предложенных ими стандартов - Linux Standard Base , который определяет общий ABI и систему пакетов для Linux, а также Стандарт иерархии файловой системы , который рекомендует стандартную диаграмму именования файлов, в частности, основные имена каталогов, находящиеся в корне дерева любой файловой системы Linux. Однако эти стандарты находят ограниченное применение даже среди дистрибутивов, разработанных членами организации. [ нужна цитата ]
Разнообразие дистрибутивов Linux означает, что не все программное обеспечение работает во всех дистрибутивах, в зависимости от того, какие библиотеки и другие системные атрибуты требуются. Пакетное программное обеспечение и репозитории программного обеспечения обычно специфичны для конкретного дистрибутива, хотя иногда возможна перекрестная установка в тесно связанных дистрибутивах. [ нужна цитата ]
Существует несколько способов установки дистрибутива Linux. Самый распространенный метод установки Linux — загрузка с работающего USB-накопителя , который можно создать с помощью приложения для записи образов USB и образа ISO, который можно загрузить с различных веб-сайтов дистрибутива Linux. DVD-диски, компакт-диски, сетевые установки и даже другие жесткие диски также можно использовать в качестве «установочных носителей». [45]
В 1990-х годах дистрибутивы Linux устанавливались с использованием наборов дискет , но все основные дистрибутивы отказались от этого. К 2000-м годам многие дистрибутивы предлагали наборы компакт-дисков и DVD с наиболее важными пакетами на первом диске и менее важными пакетами на последующих. Некоторые дистрибутивы, такие как Debian , также допускают установку по сети после загрузки с набора дискет или компакт-диска с небольшим объемом данных. [46]
Новые пользователи обычно начинают с разделения жесткого диска на разделы, чтобы сохранить ранее установленную операционную систему. Дистрибутив Linux затем можно установить в отдельный раздел, не затрагивая ранее сохраненные данные. [47]
При настройке Live CD компьютер загружает всю операционную систему с компакт-диска без предварительной установки ее на жесткий диск компьютера. Многие дистрибутивы имеют установщик Live CD , где компьютер загружает операционную систему с диска, а затем ее можно установить на жесткий диск компьютера, обеспечивая плавный переход от ОС, работающей с компакт-диска, к ОС, работающей с жесткого диска. .
И серверы, и персональные компьютеры , на которых уже установлен Linux, доступны от таких поставщиков, как Hewlett-Packard , Dell и System76 .
На встроенных устройствах Linux обычно содержится в прошивке устройства и может быть или не быть доступен потребителю.
Anaconda , один из наиболее популярных установщиков, используется Red Hat Enterprise Linux , Fedora (которая использует Fedora Media Writer ) и другими дистрибутивами для упрощения процесса установки. Debian, Ubuntu и многие другие используют Debian-Installer .
Процесс постоянного переключения между дистрибутивами часто называют «переключением дистрибутивов». [48] [49] Программное обеспечение для виртуальных машин, такое как VirtualBox и VMware Workstation, виртуализирует оборудование, позволяя пользователям тестировать живые носители на виртуальной машине без установки в реальную систему. Некоторые веб-сайты, такие как DistroWatch , предлагают списки дистрибутивов и ссылки на снимки экрана операционных систем, чтобы получить первое представление о различных дистрибутивах.
Некоторые дистрибутивы позволяют пользователю устанавливать Linux поверх текущей системы, например WinLinux или coLinux . Linux устанавливается на раздел жесткого диска Windows и может быть запущен изнутри самой Windows.
Виртуальные машины (такие как VirtualBox или VMware ) также позволяют запускать Linux внутри другой ОС. Программное обеспечение виртуальной машины имитирует отдельный компьютер, на котором установлена система Linux. После установки виртуальную машину можно загрузить, как если бы это был независимый компьютер.
Также доступны различные инструменты для выполнения полной установки с двойной загрузкой с существующих платформ без компакт-диска, в частности:
Некоторые конкретные проприетарные программные продукты ни в какой форме не доступны для Linux. По состоянию на сентябрь 2015 года в игровом сервисе Steam доступно более 1500 игр для Linux, по сравнению с 2323 играми для Mac и 6500 играми для Windows. [51] [52] Проекты эмуляции и трансляции API, такие как Wine и CrossOver , позволяют запускать программное обеспечение, не основанное на Linux, в системах Linux либо путем эмуляции проприетарной операционной системы, либо путем перевода проприетарных вызовов API (например, вызовов Microsoft API Win32 или DirectX ) в собственные вызовы API Linux. Виртуальную машину также можно использовать для запуска собственной ОС (например, Microsoft Windows) поверх Linux.
Компьютерное оборудование обычно продается с операционной системой, отличной от Linux, уже установленной производителем оригинального оборудования (OEM). В случае IBM PC-совместимых ОС обычно используется Microsoft Windows ; в случае компьютеров Mac от Apple это всегда была macOS ; Sun Microsystems продавала оборудование SPARC с установленным Solaris ; каждая игровая консоль , такая как Xbox , PlayStation , Wii и Nintendo Switch , имеет свою собственную операционную систему. Это ограничивает долю Linux на рынке: потребители не знают о существовании альтернативы, им приходится прилагать сознательные усилия, чтобы использовать другую операционную систему, и им приходится либо выполнять фактическую установку самостоятельно, либо полагаться на поддержку друга, родственника или компьютерного специалиста. .
Однако можно купить оборудование с уже установленным Linux. Lenovo , Hewlett-Packard , Dell , Affordy, [53] Purism , Pine64 и System76 продают универсальные ноутбуки с Linux. [54] Производители ПК по индивидуальному заказу также будут создавать системы Linux, но, возможно, с клавишей Windows на клавиатуре. Fixstars Solutions (ранее Terra Soft) продает компьютеры Macintosh и консоли PlayStation 3 с установленной системой Yellow Dog Linux .
Чаще всего встраиваемые устройства продаются с Linux в качестве операционной системы, поддерживаемой производителем по умолчанию, включая устройство Linksys NSLU2 NAS, линейку персональных видеомагнитофонов TiVo, а также мобильные телефоны на базе Linux (включая смартфоны Android), КПК и портативные устройства . музыкальные проигрыватели.
Текущая лицензия Microsoft Windows позволяет производителю определять политику возврата средств. [55] В предыдущих версиях Windows можно было получить возмещение, если производитель не смог обеспечить возмещение путем судебного разбирательства в судах мелких тяжб. [56] 15 февраля 1999 года группа пользователей Linux в округе Ориндж, штат Калифорния, провела акцию протеста «День возврата денег за Windows», пытаясь оказать давление на Microsoft, чтобы она выплатила им возмещение. [57] Во Франции организации Linuxfrench и AFUL (Французская ассоциация пользователей свободного программного обеспечения) вместе с активистом свободного программного обеспечения Роберто Ди Космо начали движение «Детакс Windows», [58] которое привело к появлению в 2006 году петиции против «рэкетистов» ( перевод: Racketware ) с 39 415 подписями, а отделение DGCCRF французского правительства подало несколько жалоб на поставляемое в комплекте программное обеспечение. 24 марта 2014 г. AFUL запустила новую международную петицию на платформе Avaaz, [59] переведенную на несколько языков и поддержанную многими организациями по всему миру.
Официальных данных о популярности, распространении, загрузках и установленной базе дистрибутивов Linux нет .
Официальных данных об общем количестве систем Linux также нет, [60] [61] отчасти из-за сложности количественной оценки количества компьютеров , работающих под управлением Linux (см. Внедрение Linux для настольных компьютеров ), поскольку многие пользователи загружают дистрибутивы Linux. Следовательно, цифры продаж систем Linux и коммерческих дистрибутивов Linux указывают на гораздо меньшее количество систем Linux и уровень внедрения Linux , чем это есть на самом деле; В основном это связано с тем, что Linux является бесплатным программным обеспечением с открытым исходным кодом , которое можно загрузить бесплатно . [60] [62] Проект Linux Counter отслеживал приблизительное количество систем Linux, но не различал скользящие выпуски и стандартные выпуски. Он прекратил работу в августе 2018 года, хотя до октября 2018 года в блогах было создано несколько связанных с ним публикаций. [63]
Статистические отчеты об использовании настольных компьютеров для конкретных дистрибутивов Linux собираются и публикуются с июля 2014 года [64] проектом Linux Hardware Project.
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )