Linux: от А до Я/Дистрибутивы
← Вступление | Глава | Программы → |
Дистрибутивы | ||
Ознакомление с понятием дистрибутивов, их разновидностей, и некоторыми примерами. |
После прочтения настоятельно рекомендуем как практическое задание: Linux: от А до Я/Установка,
О понятии дистрибутив
[править]Дистрибутив 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
[править]Графические оболочки
[править]От графических оболочек будет зависеть вид вашего интерфейса и наличие некоторых программ. Если вы раньше использовали 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 сейчас поддерживается во многих дистрибутивах и во многих из них является основной графической оболочкой.
-
GNOME 2.28
-
GNOME 3.20. Заметно кардинальное изменение рабочего стола
MATE
[править]Как уже было сказано ранее, из-за выпуска 3-ей версии GNOME решено было создать ответвление и оно было создано в 2011 году пользователем Perberos и получило название MATE. Фактически, MATE является оболочкой похожей на GNOME v2 - она является ее ответвлением: были заменены некоторые приложения GNOME v3. MATE как основную оболочку можно выбрать во множестве дистрибутивов.
-
Linux Mint MATE. Разработчики Linux Mint активно поддерживают разработку окружения MATE
Cinnamon
[править]Cinnamon, подобно MATE, также является ответвлением от GNOME v2 и разрабатывается командой разработчиков Linux Mint. Оболочка была представлена в 2012 году и сейчас является стандартной оболочкой в Linux Mint и поддерживается множеством дистрибутивов. Она обладает некоторые особенностями:
- Анимация, прозрачность, трансформация окон
- Настройка панелей
- Аплеты и виджеты
- Продвинутые настройки тем
-
Внешний вид Mint Cinnamon
-
Рабочие столы, аналогичны Activities в KDE и виртуальным рабочим столам в Windows
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.
-
KDE Plasma: рабочий стол при KDE
-
SDDM от KDE: окно входа в систему при KDE
-
Настройки в KDE
-
Konqi - маскот KDE
XFCE
[править]XFCE появилась в 1996 году, и была основана на CDE, хотя и в итоге, она была полностью переписана.Основатель - Оливер Фордан. Главная цель - дать пользователю удобную и быструю систему. XFCE, как и другие окружения обладает своим ПО.
-
XFCE
-
XFCE в Linux MInt
LXDE/LXQt
[править]LXDE появился в 2006 году благодаря Хун Жень Йи. Главная цель - аналогичная XFCE. При этом, судя по всему, LXDE оказывается еще более легким окружением в сравнении с XFCE. В LXDE многие компоненты написаны на GTK, в LXQt, графической оболочке появившейся в 2013 году, компоненты написаны на Qt.
-
LXDE
-
LXQt
ДМ
[править]Дисплейный менеджер - программа запускающая сессию на X-сервере. То есть, это окно входа в систему.
SDDM - стандартный ДМ для оболочки KDE 5. Заменил KDM, предназначавшийся для KDE 4.
GDM - стандартный ДМ для оболочки GNOME. В отличии от XDM, позволяет настраивать меню входа не прибегая к консоли.
LightDM - используют Ubuntu, Linux Mint и многие другие. Имеет ту же функциональность, что и GDM, но отличается более простой кодовой базой, благодаря чему призван быть легким и быстрым ДМ.
-
SDDM в KDE
-
LightDM в Ubuntu
Репозитории
[править]Что такое репозитории?
[править]Репозитории ― это место (на веб-сервере), где хранятся и поддерживаются различные файлы. При этом это достаточно общее определение.
Некоторые разработчики хранят свои программы на платформе 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