Linux: от А до Я/Дистрибутивы

Материал из Викиучебника — открытых книг для открытого мира
← Вступление Глава Программы →
Дистрибутивы
Ознакомление с понятием дистрибутивов, их разновидностей, и некоторыми примерами.


После прочтения настоятельно рекомендуем как практическое задание: Linux: от А до Я/Установка,

Дистрибутивы Linux на 2020 год

О понятии дистрибутив[править]

Дистрибутив GNU/Linux - это набор различных программ (ядро), компоненты GNU, графическая подсистема, графические оболочки, реализующие оконный интерфейс, различное прикладное и системное ПО, собранных вместе, в единую операционную систему. Очевидно, что из такого количества компонентов можно собрать самые разные дистрибутивы для самых разных целей.

Сейчас cуществует достаточно много самых разных дистрибутивов (взгляните на картинку справа).

У многих дистрибутивов есть свои семейства. Например, на Debian основано множество дистрибутивов, в том числе и Ubuntu, и при этом, на Ubuntu основаны другие дистрибутивы, например, Linux Mint. Что значит "основаны"? Это значит, что значительная часть ПО, репозиториев и компонентов, используется «наследником»: в нашем случае все они используют одни и те же репозитории, одни и те же менеджеры пакетов apt и dpkg.

Делается это не спроста: для разработчиков это упрощает задачу в создании дистрибутива, так как значительная часть уже будет написана и остается подведение дистрибутива под определенные цели; для пользователя же - переносимость ПО: программы, которые устанавливаются на Debian, с огромной долей вероятностью установятся на Ubuntu и Linux Mint.

Дистрибутивы можно отслеживать на сайте http://www.distrowatch.com

Примеры дистрибутивов для новичков[править]

Как мы сказали ранее, рассмотреть дистрибутивы вы можете на сайте http://www.distrowatch.com. Тем не менее, мы опишем наиболее актуальные дистрибутивы для новичков:

Ubuntu/Mint - дистрибутивы основанные на Debian (Mint основан на Ubuntu). В них есть графические пакетные менеджеры(так называемые, магазины),консольный менеджер - apt. Главная особенность Mint в отличии от Ubuntu - стандартная графическая оболочка, которая удобна для пользователей с других ОС ( в частности, Windows), наличие многих инструментов, которые позволяют новичкам не использовать консоль, а также факт, что Mint разрабатывается сообществом разработчиков, а не компанией и ограничивает использование snap-пакетов.

Manjaro - дистрибутив основанный на Arch. Главное отличие от прошлых дистрибутивов - использование pamac в качестве "магазина" и pacman в качестве консольного менеджера, поддержка других оболочек официально (GNOME, XFCE, KDE). Унаследовал от Arch rolling release, что позволяет использовать самые последние версии программ из репозиториев.

Ключевые особенности[править]

Как уже была сказано ранее, существует множество дистрибутивов, похожих на одних и не похожих на других. Описание 20-30 дистрибутивов нам ничего не даст - через года многие из них могут уйти в небытие. Именно поэтому, мы решили описать ключевые особенности (компоненты) в этой главе, те особенности, изменение которых будет доступно любому начинающему в Linux.

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

В следующих главах будут описываться более «фундаментальные» компоненты, настройку которых если и надо делать, то надо делать с умом.

Графические оболочки и DM[править]

Графические оболочки[править]

Все графические оболочки на 2012 год. Все кроме KDE(Qt) используют GTK

От графических оболочек будет зависеть вид вашего интерфейса и наличие некоторых программ. Если вы раньше использовали Windows, то разница между графическими оболочками Linux чуть больше чем разница между интерфейсом Windows 7, Windows 8 и Windows 10 без учета самих программ.

Каждая графическая оболочка преследует свои цели: дать пользователю функциональный интерфейс, дать удобный интерфейс, дать быстрый и лёгкий интерфейс, и т.д.

Те же самые графические оболочки в дистрибутивах не сильно, но отличаются. Дистрибутив может как поддерживать, так и не поддерживать оболочку: Linux Mint официально поддерживает Cinnamon, MATE, XFCE, но не поддерживает KDE,LXDE и другие. Но это не значит, что вы не можете их установить - можете, но могут быть проблемы при работе той или иной оболочки, а оболочка будет использоваться из другого дистрибутива (например, в Mint можно установить Kubuntu).

Рассмотрим основные оболочки:


GNOME(v3)[править]

Графическая оболочка созданная проектом GNU, а значит полностью свободная. Начало разработки было начато Мигель де Икасой в 1997 году и была основана на GTK. Значительные изменения произошли в версии v3(обратите внимание на скриншоты): интерфейс стал похож на интерфейс для телефона, что понравилось немногим: Линус Торвальдс стал использовать XFCE, а другие разработчики (по его совету) создали альтернативные интерфейсы: Cinnamon и MATE. Тем не менее, GNOME сейчас поддерживается во многих дистрибутивах и во многих из них является основной графической оболочкой.

MATE[править]

Как уже было сказано ранее, из-за выпуска 3-ей версии GNOME решено было создать ответвление и оно было создано в 2011 году пользователем Perberos и получило название MATE. Фактически, MATE является оболочкой похожей на GNOME v2 - она является ее ответвлением: были заменены некоторые приложения GNOME v3. MATE как основную оболочку можно выбрать во множестве дистрибутивов.

Cinnamon[править]

Cinnamon, подобно MATE, также является ответвлением от GNOME v2 и разрабатывается командой разработчиков Linux Mint. Оболочка была представлена в 2012 году и сейчас является стандартной оболочкой в Linux Mint и поддерживается множеством дистрибутивов. Она обладает некоторые особенностями:

  • Анимация, прозрачность, трансформация окон
  • Настройка панелей
  • Аплеты и виджеты
  • Продвинутые настройки тем

KDE[править]

KDE был создан в 1996 году Маттиасом Эттрихом. Главная цель - реализовать простой и понятный графический интерфейс, в котором все программы отображались однородно. Сам KDE расшифровывается как K Desktop Environment. В 2009 году KDE (версии KDE 5) был разделен на несколько проектов: KDE Plasma(сама оболочка, интерфейс), KDE Frameworks(библиотеки KDE), KDE Applications(программы KDE).

KDE Plasma существует в разных версиях: для десктопа, для телефона, для телевизора и т.д.

В KDE есть достаточно достаточно много интересных особенностей:

  • KRunner - поисковик,конвертер, калькулятор.
  • Activties (активности) - виртуальные рабочие столы, в которых можно настраивать обои, закладки, организовывать рабочий стол и т.д.
  • Виджеты - отдельные модификации для рабочего стола, позволяющие улучшить комфортность работы.
  • Файловый менеджер Dolphin - позволяет работать с вкладками(как в браузере), добавляет возможность просматривать при наведении содержимое папки и т.д.
  • KDE Connect - позволяет подключить телефон к компьютеру, и через него управлять.
  • Yakuake - выпадающая консоль

Типичные дистрибутивы, которые поддерживают KDE: Kubuntu(Ubuntu с KDE), Manjaro KDE, OpenSUSE KDE, KDE Neon(дистрибутив от KDE основанный на Ubuntu) и многие другие.

Главным камнем предкновения является фреймворк Qt, на котором пишутся все программы и компоненты KDE: он ранее был несвободным и только с недавнего времени был лицензирован по нескольким лицензиям - GPL v3 и LGPL v3.

XFCE[править]

XFCE появилась в 1996 году, и была основана на CDE, хотя и в итоге, она была полностью переписана.Основатель - Оливер Фордан. Главная цель - дать пользователю удобную и быструю систему. XFCE, как и другие окружения обладает своим ПО.

LXDE/LXQt[править]

LXDE появился в 2006 году благодаря Хун Жень Йи. Главная цель - аналогичная XFCE. При этом, судя по всему, LXDE оказывается еще более легким окружением в сравнении с XFCE. В LXDE многие компоненты написаны на GTK, в LXQt, графической оболочке появившейся в 2013 году, компоненты написаны на Qt.

ДМ[править]

Дисплейный менеджер - программа запускающая сессию на X-сервере. То есть, это окно входа в систему.

SDDM - стандартный ДМ для оболочки KDE 5. Заменил KDM, предназначавшийся для KDE 4.

GDM - стандартный ДМ для оболочки GNOME. В отличии от XDM, позволяет настраивать меню входа не прибегая к консоли.

LightDM - используют Ubuntu, Linux Mint и многие другие. Имеет ту же функциональность, что и GDM, но отличается более простой кодовой базой, благодаря чему призван быть легким и быстрым ДМ.

Репозитории[править]

Что такое репозитории?[править]

Репозитории ― это место (на веб-сервере), где хранятся и поддерживаются различные файлы. При этом это достаточно общее определение.

Некоторые разработчики хранят свои программы на платформе GitHub (или GitLab, или BitBucket), другие хранят на своих сайтах(например: Arch User Repository, репозитории Ubuntu).

Почему так делается? На Windows и Mac OS программы чаще всего скачиваются с сайта и просто устанавливаются используя .exe файл. В Linux же вариантов установить ту или иную программу гораздо больше и это вызвано тем, что понятие удобства на Linux у людей значительно различаются. Репозитории же оказываются, вероятно, лучшим компромиссом для разработчиков и пользователей, для безопасности и удобства программ.

Очевидным, с точки зрения безопасности, оказывается тот факт, что если был бы один репозиторий для определенного дистрибутива, то существовала опасность его отключения, взлома, блокировки и т.д. Именно поэтому существуют так называемые зеркала репозиториев, которые часто расположены в разных странах (что влияет на скорость загрузки), хотя программы обычно там содержатся те же самые.

О репозиториях дистрибутивов[править]

Наиболее популярные репозитории - это те репозитории, которые привязаны к дистрибутивам, где и хранятся множество программ. Важно понимать, что репозитории дистрибутивов может использовать только "семья". Вы не можете установить в Manjaro (Arch-подобный) программы из репозиториев Ubuntu, точно также как и не сможете установить в Ubuntu программы из репозиторев Fedora,но вы сможете устанавливать программы в Linux Mint(основан на Ubuntu) из репозиториев Ubuntu - это объясняется совместимостью форматов пакетов(Fedora использует RPM, Ubuntu - использует DEB).О форматах файлов мы говорим чуть позже. Чаще всего программы будут в репозиторях всех этих дистрибутивов (и в Ubuntu-репозиториях, и в Arch, и в Fedora), но бывают и исключения - о решениях этих проблем мы поговорим в отдельной главе.

О репозиториях разработчиков[править]

Неприятная особенность репозиториев дистрибутивов: свежесть программ. Часто бывает так, что программы которые находятся в репозиториях отстают от актуальной(даже стабильной, а не тестовой) версии на полгода, а то и больше. Именно поэтому, существуют репозитории разработчиков программ, например, репозиторий LibreOffice. Там содержаться последние версии программ. Примером такого "сборника репозиториев" является Launchpad от Ubuntu(Canonical)

Среди дистрибутивов есть и исключение в плане отставания от актуальных версий - это Arch-подобные дистрибутивы, в которых используется rolling release: "существует только последняя версия программ".

О репозиторях сообщества[править]

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

Единый репозиторий[править]

Но неужели суждено так, что весь мир Linux-программ будет разделен? Вероятно, нет. Попыткой создания единого репозитория для всех программ занимается компания Canonical(Snapcraft) и Flatpak(Flathub). Программы из этих репозиториев устанавливаются в любую Linux-систему.

Проприентарность и свобода[править]

Это не входит в нашу классификацию, но еще одним различием в репозиторях является закрытость и открытость кода. Многие дистрибутивы придерживаются компромисса позволяя подключать репозитории проприентарного программного обеспечения, так и свободного(да да, обычно репозитории стараются делиться на строго открытые или смешанные), другие же придерживаются политики запрета проприентарных репозиториев.

Форматы файлов исполняемых программ в Linux[править]

Мы не можем не рассказать о форматах файлов, затронув тему репозиториев - вы ведь, может быть, захотите установить программу с официального сайта разработчика.

Как мы говорили ранее, программы для Linux обычно имеют формат .deb(семейство Debian), .rpm(семейство Red Hat), но могут и представлять из себя архивы tar.* (звездочки означют, что там может быть любое слово, в этом случае - gz,xz и т.д.). Установка DEB, RPM-пакетов проста: установить DEB можно двойным щелчком(аналогично .exe в Windows), установить .rpm:

sudo rpm -i pkg.rpm # где rpm - команда для работки с rpm-пакетами, -i - ключ 
                    # для установки, pkg.rpm - скачанный файл

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

Также нельзя не сказать об формате AppImage: это формат пакетов, который позволет использовать программу как portable-версию(т.е. использование без установки. Вспомните программы для монитрования диска из главы 1).

Пакетные менеджеры[править]

Перед прочтением рекомендуем ознакомиться с работой терминала

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

Пакетные менеджеры могут работать как с репозиториями, так и напрямую с файлами. Различия между самыми менеджерами пакетов: удобство, форматы пакетов и т.д.

Пакетные менеджеры могут быть как графическими, то есть быть доступным для пользователя любого уровня (например, Synaptic, Pamac, GNOME software), так и консольным, то есть для пользователей предпочитающих работать с консолью (например, dpkg, apt, snap и т.д.).

Графические пакетные менеджеры[править]

Sinaptic - достаточно популярный графический менеджер позволяющий управлять пакетами в Debian-подобных дистрибутивах.

Консольные пакетные менеджеры[править]

dpkg

rpm

apt

yum

zypper

pacman

portage