Системные программы linux это
Linux — это семейство операционных систем (ОС), работающих на основе одноименного ядра. Нет одной операционной системы Linux, как, например, Windows или MacOS. Есть множество дистрибутивов (набор файлов, необходимых для установки ПО), выполняющих конкретные задачи.
Кратчайшая история создания Linux
Линус Торвальдс — первый разработчик и создатель Linux. Именно в честь него и была названа ОС. В 1981 году Линус начал работу над собственной ОС семейства Unix. Через три года появилась первая версия, доступная для скачивания. Но тогда она имела очень низкий спрос — ей пользовались буквально несколько человек.
Только через 10 лет ОС Linux получила широкое распространение. Сообщество программистов подхватило идею свободного ПО, специалисты стали помогать развивать проект.
Про логотип
Логотип и талисман Linux — пингвин Tux с желтыми лапами и клювом. В 1996 году разработчики ядра Linux решили выбрать талисман. Торвальдс обмолвился о том, что ему очень нравятся пингвины. Поэтому на логотипе ОС изображен пингвин.
Где нужен Linux?
Веб-серверы
Дистрибутивы Linux практически полностью захватили рынок веб-серверов. Согласно рейтингу аналитического агентства W3Techs, на Linux-серверах развернуты 75,1% сайтов.
Мобильные устройства
ОС Android работает на ядре Linux, поэтому она используется и в мобильных устройствах.
Суперкомпьютеры
Это специализированные вычислительные машины, превосходящие по своим техническим параметрам и скорости вычислений многие обычные компьютеры.
Они уникальны, для многих из них требуется особая ОС, способная решать конкретные задачи. Благодаря открытому исходному коду разработчики могут видоизменять ОС так, чтобы она работала и на таких машинах.
Игровые консоли
Linux занял свою нишу и в игровых консолях, но ориентированных на эту ОС игр пока не так много. Компания Steam работает над исправлением ситуации — разрабатывает операционную систему SteamOS. Она будет поставляться вместе с игровой консолью Steam Machine.
Устройства IoT и умная техника
Многие из них созданы на основе Linux. Так, компания Samsung разработала операционную систему Tize, LG — WebOS, а Panasonic и Philips используют FirefoxOS.
Авиация и транспорт
Во встроенных компьютерах Tesla и машинах с автопилотами Google используется операционная система Linux. ПО для отслеживания трафика в США аналогично разработано на этой ОС, а администрация авиации Америки перешла на нее еще в 2006 году.
Какие компоненты у дистрибутива Linux?
Начинающий программист должен знать структуру Linux, чтобы понимать, как она устроена и каким образом функционирует.
Что это такое, как работает и зачем нужно? Это так называемая главная программа, основная часть ОС. Ядро выступает в качестве посредника между устройствами ПК (видеокартой, процессором, оперативной памятью и пр.) и его ПО. Для этого в коде есть драйверы устройств. Они загружаются в память или подключаются по мере необходимости ресурса определенного устройства. Ядра управляют устройствами, процессами и памятью, обрабатывают системные вызовы.
На компьютере могут быть запущены сразу несколько программ. Первые работают в фоновом режиме, вторые ожидают определенных действий от пользователя, третьи получают информацию из других запущенных программ. Именно ядро распределяет ресурсы компьютера между всеми программами и организует параллельную работу множества разных процессов.
Какие есть виды ядер? Всего выделяют 3 типа: микроядра, монолитные и гибридные.
Микроядро (microkernel)
Состоит из нескольких независимых модулей, которые подгружаются в память по мере надобности.
Плюсы:
теоретически высокая степень надежности (по сравнению с другими архитектурами);
низкое потребление памяти;
легкое подключение дополнительных частей ядра (модульность).
Минусы:
низкая скорость из-за постоянного переключения между отдельными частями;
доступность аппаратных средств только через драйверы.
Монолитное ядро (monolithic)
Противоположность микроядра. В памяти ПК всегда размещен весь (либо практически весь) код ядра. Поэтому скорость его работы выше в сравнении с микроядром.
Плюсы:
прямой доступ к аппаратным средствам;
простой обмен данными между процессами;
более высокая скорость реакции процессов.
Минусы:
меньшая степень безопасности (по сравнению с микроядром);
занимает много оперативной памяти.
Гибридное ядро (hybrid)
Комбинация элементов двух ранее описанных архитектур. Для ускорения работы запускает модули операционной системы в пространстве ядра.
Плюсы:
возможность выбора того, что будет функционировать в пространстве ядра и пользователя;
меньший физический размер (в сравнении монолитным ядром);
большая степень гибкости.
Минусы:
более медленная работа;
выпуск драйверов устройств только производителями.
Начните свой путь в IT
Попробуйте себя в программировании, аналитике данных, Data Science и других востребованных специальностях — получите все курсы для входа в IT по цене одного.
Скидка 45% по промокоду BLOG.
Ядро Linux — монолитное, при этом оно заимствует некоторые идеи из микроядерной архитектуры. Это означает, что вся ОС функционирует в пространстве ядра, а драйвера устройств могут легко загружаться (или выгружаться) непосредственно при работе операционной системы.
Железо — аппаратное обеспечение ПК с его периферийными устройствами.
Ядро — основной компонент ОС, взаимодействует с аппаратным обеспечением, выступает посредником между низкоуровневым железом и компонентами верхнего уровня.
Оболочка — интерфейс для взаимодействия между ядром ОС и пользователями, абстрагирует внутреннее устройство системы, получает команды от пользователей, запускает необходимые функции.
Утилиты — служебные программы, дающие пользователю большую часть функциональных возможностей System OS Linux. Виды утилит: sed, cat, date, vi и прочие.
Компиляторы — технические средства, преобразующие программный код в машинный.
Системные утилиты
Утилиты — вспомогательные компьютерные программы в составе общего ПО. Они нужны для выполнения типовых задач, связанных с работой оборудования и ОС. У Linux есть набор простых утилит. Они позволяют, например, редактировать данные, изменять расположение файлов.
Системные библиотеки
Системные библиотеки — это специальные программы, дающие доступ к функциям ядра. Для выполнения какой-либо задачи ядро вначале получает системный вызов, исходящий от приложений. Но у каждого ядра свой набор системных вызовов, и они должны понимать формат выполнения задачи. Поэтому программисты разработали стандартную библиотеку процедур, описывающую набор системных вызовов для конкретной ОС.
Утилиты разработки ПО
При помощи трех вышеперечисленных компонентов операционная система сможет запускаться и функционировать. Но для обновления и создания новых программ нужно иметь дополнительные библиотеки и инструменты — toolchain. Этот набор программ, инструментов и утилит поможет создавать рабочее приложение из исходных кодов.
Пользовательские программы
Они не считаются обязательными компонентами ОС. Нередко их пишут сами пользователи. Программы помогают задать конкретную работу. К таким утилитам относятся браузеры, офисные пакеты, инструменты графического дизайна, плееры и пр.
Плюсы Linux
Минусы Linux
- Сложности с освоением ОС. Интерфейс большей части версий Linux значительно отличается от привычных Windows и MacOS.
- Консоль и терминал. Консоль позволяет управлять операционной системой через ввод текста. Там же высвечиваются ответы ОС. Терминал — это современный аналог консоли, он отображается в виде окна на фоне рабочего стола.
- Требование прав доступа к файлам для работы части программ. Для пользователя это значит, что придется вводить пароль по несколько раз в сутки.
- Малое количество совместимых игр и программ (по сравнению с Windows). Сегодня это одна из основных причин, почему пользователи не переходят на Linux.
Поддержка и помощь
Существуют разные онлайн-форумы и чат-каналы, которые можно использовать для получения помощи. Эти каналы варьируются в зависимости от дистрибутива, который используется.
Станьте универсальным специалистом по администрированию Linux с нуля и разверните собственный кластер. Дополнительная скидка 5% по промокоду BLOG.
Все эти различные программы разрабатываются разными, независимыми группами разработчиков. Они объединены при помощи дистрибутивов Linux, где они собираются одна поверх другой с тем, чтобы создать полную операционную систему «Linux». Это отличие от системы Windows, которая разработана исключительно компанией Microsoft.
Начальный загрузчик
Когда вы включаете компьютер, прошивка BIOS или UEFI вашего компьютера загружает программное обеспечение с загрузочного устройства. Первая программа, которая загружает в любой операционной системе, является начальным загрузчиком. В Linux, это, как правило, начальный загрузчик Grub.
Если у вас установлено несколько операционных систем, то Grub предлагает меню, позволяющее выбирать одну из них - например, если у вас установлен Linux в конфигурации с двойной загрузкой, вы можете, когда происходит загрузка, выбрать либо Linux или Windows.
Если у вас установлена только одна операционная система, то Grub может загрузить систему Linux практически мгновенно, но он все еще продолжает обработку. Grub обрабатывает процесс непосредственной загрузки Linux, задает параметров командной строки и для того, чтобы устранить неполадки, позволяет вам загрузить Linux другими способами. Без начального загрузчика, дистрибутив просто не будет загружаться.
Ядро Linux
Определенная часть программного обеспечения, которое загружается с помощью Grub, является ядром Linux. Это та часть системы, которая на самом деле называется «Linux». Ядро является центральной частью системы. Он управляет вашим процессором, памятью и устройствами ввода/вывода, такими как клавиатуры, мыши и дисплеи. Поскольку ядро обращается непосредственно к оборудованию, многие драйверы оборудования являются частью ядра Linux и запускаются внутри ядра.
Все другое программное обеспечение работает выше ядра. Ядро является частью программного обеспечения, которое лежит на самом нижнем уровне и взаимодействует с аппаратным обеспечением. Он представляет собой слой абстракции над оборудованием, который имеет дело со всеми аппаратными причудами, тогда как остальная часть системы может почти совсем с ними не иметь дело. В Windows используется ядро Windows NT, а в Linux используется ядро Linux.
Демоны
Демоны, по существу, являются фоновыми процессами. Они часто запускаются как часть процесса начальной загрузки, поэтому они являются тем, что загружается после ядра и прежде, чем вы видите свой графический экран входа в систему. В Windows такие процессы называются «сервисами», в то время как в UNIX-подобных системах они называются «демонами» (прим.пер.: более точно - «даемонами» от английского « daemons»).
Например, crond, который управляет выплнением запланированных задач, является демоном - буква d в конце означает «демон». syslogd является еще одним демоном, который традиционно управляет вашим системным журналом. Серверы, такие как сервер sshd, работают как демоны фонового режима. Это гарантирует, что они всегда работают и прослушивают дистанционные подключения.
Демоны, по существу, являются всего лишь фоновыми процессами, но они являются процессами системного уровня, работу которых вы вообще не замечаете.
Командная оболочка
В большинстве систем Linux по умолчанию используется командная оболочка Bash. Командная оболочка обеспечивает интерфейс командного процессора, что позволяет управлять вашим компьютером с помощью ввода команд в текстовом режиме. В командной оболочке можно также запускать скрипты командного процессора, которые представляют собой набор команд и операций, выполняемых в тем порядке, который указан в скрипте.
Даже если вы пользуетесь только графическим рабочим столом, командные оболочки работают и используются в фоновом режиме. Когда вы откройте окно терминала, вы видите приглашение к работе, выдаваемое командной оболочкой.
Утилиты командной оболочки
В командной оболочке предоставляется некоторое количество основных встроенных команд, но большинство из команд командной оболочки, которыми пользуются пользователи Linux, не встроены в командную оболочку. Например, такие важные команды, как команда cp, используемая для копирования файлов, команда ls, используемая для получения списка файлов в каталоге, и команда rm, используемая для удаления файлов, являются частью пакета базовых утилит GNU Core Utilities.
Вот почему много споров относительно того, должен ли Linux действительно назваться «Linux» или «GNU/Linux». Критики названия «Linux» правильно отмечают, что большая часть программного обеспечения идет в составе типичных систем Linux, что часто не признается. Критики названия «GNU/Linux» правильно отмечают, что в типичную систему Linux также входит другое важное программное обеспечение, которое нельзя охватить названием «GNU/Linux».
Не все из утилит командной оболочки и программ, работающих из командной строки, разрабатываются в рамках проекта GNU. Некоторые команды и терминальные программы имеют свои собственные проекты, предназначенных специально для них.
Часть Linux, представляющая собой графический рабочий стол, не является частью ядра Linux. Она реализуется с помощью пакете специального вида, известного как «Сервер X», поскольку он реализует «Оконную систему X», которая возникла много лет назад.
Среда рабочего стола
То, что вы действительно используете на рабочем столе Linux, представляет собой рабочую среду. Например, в состав системы Ubuntu входит среда рабочего стола Unity, в состав системы Fedora входит GNOME, в Kubuntu входит KDE, в в состав системы Mint обычно входит Cinnamon or MATE. Эти окружения рабочего стола обеспечивают все, что вы видите - фон рабочего стола, панели, заголовки и границы окон.
Они также обычно включают в себя свои собственные утилиты, которые встроены для того, чтобы окружение рабочего стола выглядело как единое целое. Например, в GNOME и Unity входит файловый менеджер Nautilus, разработанный в рамках GNOME, а KDE включает в себя файловый менеджер Dolphin, разработанный в рамках проекта KDE.
Программы рабочего стола
Вы можете запускать любую программу Linux, предназначенную для рабочего стола, в любой графической среде, но те программы, которые предназначены для определенной рабочей среды, могут выглядеть не к месту или могут мешать другим процессам. Например, если вы пытаетесь запустить файловый менеджер Nautilus, предназначенный для GNOME, в среде KDE, он будет выглядеть не к месту, потребует от установки разнообразных библиотек GNOME, и, вероятно, когда вы откроете его, будет в фоновом режиме запускать процессы рабочего стола GNOME. Но он будет работать и его можно будет использовать.
Последний шаг остается за дистрибутивами Linux. Они берут все это программное обеспечение, объединяют его так, чтобы оно хорошо работало совместно, и добавляют свои собственные необходимые утилиты. Например, для дистрибутивов создаются их собственные инсталляторы операционной системы с тем, чтобы вы действительно смоли установить Linux, а также менеджеры пакетов для установки дополнительного программного обеспечения и поддержки установленного программного обеспечения в обновленном виде.
По умолчанию Linux позволяет получить большое количество информации о системе и её процессах, однако, это будут неструктурированные данные. Чтобы иметь более наглядное представление следует использовать различные утилиты. В этой статье мы собрали полезные утилиты для Linux.
На примере Ubuntu 20.04 мы рассмотрим не только консольные утилиты, но и по возможности их графические аналоги. В нашем списке будет несколько системных мониторов, диспетчеров задач, а также пара утилит для анализа дисков и работы с файлами.
Полезные утилиты Linux
1. ncdu / Baobab
Ncurse Disk Usage или же просто ncdu – это анализатор диска, указывающий на наиболее заполненные каталоги. Работает утилита элементарно. Вы запускаете её из нужного каталога, а она показывает его содержимое, дополняя список удобным графиком, отображающим наиболее объёмные каталоги и файлы.
Для установки ncdu используйте команду:
sudo apt install ncdu
Если же вы хотите получить подобную функциональность, но с графическим интерфейсом, то анализатор GNOME к вашим услугам. Он отображает гораздо больше информации. В нём вы можете увидеть не только размер каталогов, но и количество содержащихся в них объектов. Помимо этого, он строит круговую диаграмму. Для полного анализа запускайте утилиту с правами суперпользователя.
Утилита уже установлена в Ubuntu, но на всякий случай оставим команду для установки:
sudo apt install baobab
2. findmnt / Disks
Утилита findmnt покажет все смонтированные каталоги, включая все типы файловых систем. Если же вам нужны только точки монтирования из fstab, то используйте параметр -s, в этом случае будут отображены UUID накопителей. Для вывода реальных файловых систем примените параметр --real, тогда будут отображены и примонтированные snap каталоги, а накопители примут вид /dev/sda1.
Для установки findmnt используйте команду:
sudo apt install findmnt
Для просмотра только физических дисков можете воспользоваться утилитой Диски GNOME. С её помощью вы можете увидеть разделы на физическом накопителе, а также точки монтирования этих разделов и файловую систему. Если же вам требуется изменить разделы, то советуем утилиту parted и её графический аналог Gparted.
Если у вас не установлена утилита Диски, то используйте команду:
sudo apt install gnome-disks
3. nethogs / Network Stats
Утилита nethogs выводит информацию о сетевом трафике. Отображается текущая скорость, а также прошедший трафик. Вы также можете видеть какие именно процессы потребляют трафик. Утилиту следует запускать с правами суперпользователя.
Для установки nethogs используйте команду:
sudo apt install nethogs
Если же вас интересует графическое отображение скорости, то используйте расширение оболочки GNOME Network stats. В этом случае скорость будет отображаться прямо в панели задач. Подробная сатистика также доступна.
4. iotop
Утилита iotop отображает загрузку диска процессами. Если какая-то программа нагружает накопитель, то вы это увидите. Клавишами влево-вправо можно выбрать колонку, по которой будет отсортирован список. Для запуска потребуются права суперпользователя.
Для установки iotop используйте команду:
sudo apt install iotop
Для установки ss используйте команду:
sudo apt install ss
Утилита w выводит список активных пользователей. Вы можете посмотреть общее количество пользователей и их время входа в систему. Она входит в состав большинства дистрибутивов и не требует установки.
7. chkservice
Утилиту chkservice следует использовать с осторожностью. Она позволяет включать и отключать системные модули клавишей Пробел, а клавиша s отвечает за запуск и остановку.
Для установки chkservice используйте команду:
sudo apt install chkservice
8. htop / bpytop / Stacer
Теперь перейдём к диспетчерам задач. Одним из лучших по праву считается htop. Он отображает загрузку по ядрам, потребление оперативной памяти и непосредственно сами процессы. Вы можете настроить колонки под себя. Однако, полезных параметров не так много, в основном это ID процессов, время и занимаемая память.
Для установки htop используйте команду:
sudo apt install htop
Диспетчер задач bpytop выглядит гораздо современнее. Отображаются графики загрузки не только процессора, но и сетевой карты. Клавишами 1-4 можно настроить внешний вид утилиты, все блоки подписаны в верхнем углу и могут быть отключены при необходимости.
Для установки bpytop используйте команду:
sudo snap install bpytop
Среди графических диспетчеров стоит отметить Stacer. Это больше, чем просто диспетчер задач и мониторинг системы. Вы можете удалять пакеты, отключать и включать сервисы, настраивать репозитории и автозапуск. Есть даже возможность почистить накопитель от скопившихся логов и кэшей.
Для установки stacer используйте команду:
sudo apt install stacer
9. ripgrep
ripgrep – это неплохой поисковик по файлам. Он умеет фильтровать файлы, например, по умолчанию будут пропущены скрытые каталоги, бинарные файлы и символические ссылки. К плюсам стоит отнести быструю работу, а к минусам – не самый удобный синтаксис.
Для установки ripgrep используйте команду:
sudo apt install ripgrep
10. broot
broot – это древовидный менеджер файлов. С ним удобно искать файлы, как и в случае с ripgrep имеется встроенный фильтр. Поддерживается вывод нескольких деревьев, а если запустить утилиту с параметром -s, то дополнительно будет отображаться размер каталогов.
Также не стоит забывать о файловых менеджерах. Они также имеют расширенный поиск и вывод двух вкладок.
К сожалению, программа есть в репозиториях всего нескольких дистрибутивов, в остальных придётся вручную устанавливать бинарный файл.
11. ffsend / Obmin
Утилита ffsend позволяет загружать файлы в облако. Чтобы на выходе получить готовую ссылку, достаточно использовать команду:
ffsend upload имя_файла
Вы можете добавить пароль, настроить время жизни ссылки и ограничить количество скачиваний. Что интересно, облачное хранилище позволяет добавлять эти параметры уже после загрузки файлов, в этом случае надо указывать сгенерированную ссылку. А с параметром --qrcode сгенерированная картинка QR-кода отобразится прямо в терминале. Вы также можете посмотреть историю загрузки файлов, применив параметр history.
Для установки ffsend используйте команду:
sudo snap install ffsend
Установочный пакет доступен на странице GitHub.
12. setfacl / Eiciel
Утилита setfacl позволяет установить расширенные права доступа к файлам и каталогам, используя список управления доступом (ACL). Она позволит вам установить права не только для владельца, группы и остальных пользователей, как это делает команда chmod.
Синтаксис утилиты довольно простой. Сначала надо указать тип g – группа, u – пользователь. Затем через двоеточие ввести имя. И снова через двоеточие указать права – rwx (чтение, запись, выполнение), выбрав только необходимое. Пример команды:
setfacl u:имя_пользователя:права имя_файла
Проверить результат можно командой getfacl.
Также можете воспользоваться менеджером прав Eiciel. Он делает всё то же самое, но с графическим интерфейсом. Плюсом этого решения является то, что вы видите все группы и всех пользователей. К сожалению, добавлять новые группы программа не позволяет, это надо делать отдельно.
Для установки Eiciel используйте команду:
sudo apt install eiciel
Утилиты достойные упоминания
Конечно, это далеко не все нужные утилиты Linux. Вот ещё несколько, которые достойны упоминания в этой статье:
Выводы
Мы рассмотрели полезные утилиты для Linux. Рассмотренные утилиты будут полезны как администраторам, так и обычным пользователям. С их помощью вы не только настроите свой дистрибутив, но получите возможность контролировать основные процессы, нагрузку на диск и сетевой интерфейс, чтобы выявить проблемные места.
К сожалению, надо признать, что утилиты *top, ss, nethogs, w едва ли могут соперничать с диспетчером задач и монитором ресурсов Windows, а ведь для неё есть и продвинутые диспетчеры вроде Process Explorer. Аналог последнего до недавнего времени разрабатывался на Python, но в свежих дистрибутивах больше не поддерживается.
Нет похожих записей
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Чтобы предоставить вам удобную и работающую операционную систему, в рамках различных дистрибутивов Linux объединяются сотни и тысячи программ и системных компонентов. При этом каждый дистрибутив имеет свои собственные наборы компонентов, благодаря которым дистрибутивы могут, как отличаться между собой, так и быть очень похожими друг на друга.
Упомянутое программное обеспечение развивается разными, часто не связанными между собой группами разработчиков, например: ядро Linux создается силами Линуса Торвальдса и представителями Linux-сообщества; утилиты GNU пишутся разработчиками проекта GNU и Фондом Свободного Программного Обеспечения (FSF); разработка окружения рабочего стола KDE ведется одноименным сообществом; браузер Firefox развивает компания Mozilla; и т.д.
На этом уроке мы разберем основные компоненты, из которых состоит любой Linux-дистрибутив.
Компоненты дистрибутива Linux
Ядро Linux
Ядро Linux отвечает за связку программного и аппаратного обеспечения устройства, распределяет системные ресурсы между различными приложениями, запускает процессы ввода-вывода и передает их на исполнение центральному процессору. Ни одна операционная система не может работать без ядра.
Примечание: На сегодняшний день в ядре Linux насчитывается свыше 20 миллионов строк кода.
Утилиты GNU
GNU — это проект, начатый в 1980-х годах Ричардом Столлманом, основателем Фонда Свободного Программного Обеспечения (FSF). Целью данного проекта было создание полностью свободной операционной системы, которая могла бы стать альтернативой операционной системы UNIX. Разработчики GNU создали все необходимые для этого инструменты и программы, но непосредственно само ядро им написать не удалось. Именно поэтому в 1991 году Линус Торвальдс создал ядро Linux, а затем использовал программное обеспечение и утилиты GNU, чтобы получить работоспособную операционную систему.
Проект GNU включает в себя множество различных утилит: командную оболочку bash, набор компиляторов GNU Compiler Collection, загрузчик GRUB, фреймворк GTK+, архиватор gzip, текстовый редактор Nano и другое программное обеспечение.
Одним из основных проектов в рамках GNU является загрузчик GRUB:
GRUB — это первая программа, которая загружается после нажатия кнопки питания вашего компьютера. GRUB загружает ядро операционной системы и другие, необходимые для работы системы, компоненты. Почти 99% дистрибутивов Linux используют именно загрузчик GRUB. Если у вас установлено несколько операционных систем, то именно GRUB предоставляет меню, которое позволяет вам выбирать, какую систему следует загрузить (например, Windows или Linux).
Примечание: Есть и другие загрузчики, такие как LILO и BURG, но особой популярностью они не пользуются.
Еще одной важной утилитой проекта GNU является командная оболочка bash:
Командная оболочка bash
Большинство Linux-систем по умолчанию используют командную оболочку bash, которая предоставляет интерфейс командной строки, позволяющий управлять компьютером путем ввода соответствующих команд в окне терминала. Командные оболочки также могут запускать скрипты, которые представляют собой набор команд и операций, выполняемых в порядке, указанном в теле скрипта.
Демоны
Самым известным демоном является systemd, который управляет всеми другими процессами операционной системы. Это первый процесс, который выполняется после загрузки ядра Linux. Его задача состоит в том, чтобы управлять другими демонами и запускать их при необходимости во время загрузки или в любое другое время. Он контролирует все службы, доступные в операционной системе, и может включать или выключать их при необходимости.
Менеджер пакетов
В Linux программное обеспечение представлено в виде пакетов. Если вы хотите установить приложение, библиотеку, игру или что-то еще, то для этого вам не нужно искать файл установки в Интернете. Всё, что вам нужно сделать — это открыть центр управления пакетами/программным обеспечением, найти и установить нужные вам приложения.
Обратите внимание на формат используемых пакетов. Red Hat и многие другие семейства дистрибутивов Linux используют формат rpm-пакетов, имеющие расширение .rpm (аналогично .exe в Windows). В свою очередь, системы на базе Debian Linux применяют систему управления пакетами dpkg, которая работает с пакетами формата .deb.
Примечание: Не допускается (за некоторыми исключениями) устанавливать deb-файлы в дистрибутивах Linux, в которых используются rpm-пакеты. Но вы можете попытаться преобразовать пакет из формат .deb в формат .rpm с помощью утилиты под названием Alien, либо поискать соответствующий пакет в официальных репозиториях вашей системы.
В Linux существует много разных менеджеров пакетов, и они отличаются от дистрибутива к дистрибутиву. Например, Ubuntu использует менеджер пакетов apt, в то время как Fedora использует dnf, openSUSE используется zypper, а Arch Linux использует pacman.
Если вы хотите, например, в своей системе установить браузер Firefox, то вам следует выполнить следующую команду:
sudo apt install firefox
sudo dnf install firefox
sudo zypper install firefox
Пользователям Arch Linux:
sudo pacman install firefox
Как видите, команды очень похожи, но в то же время запускаемые ими системы управления пакетами «под капотом» очень разные; различия заключаются в том, как они работают, скорости их работы и безопасности.
Дисплейный сервер
Окружение рабочего стола
Дисплейный менеджер
Дисплейные менеджеры используются для отображения экрана приветствия пользователя и запуска сеансов рабочего стола: они запрашивают у вас имя пользователя и пароль, прежде чем разрешить вам войти в окружение рабочего стола. Если вы используете GNOME, то для него дисплейным менеджером по умолчанию является GDM. Если же ваш выбор пал в сторону KDE, то дисплейным менеджером по умолчанию у вас будет KDM (или SDDM).
Дисплейный менеджер SDDM
Вы можете использовать любой дисплейный менеджер, который захотите. Но при этом не допускается одновременно запускать более одного дисплейного менеджера.
Пользовательские приложения
Пользовательские приложения — это обычные приложения, которые вы используете каждый день, например: браузер Firefox, офисный пакет LibreOffice, медиаплеер VLC и т.д. Все эти приложения могут полностью отличаться от дистрибутива к дистрибутиву.
Стоит также отметить, что вы можете запускать любую Linux-программу в любом окружении рабочего стола, но программы, предназначенные для одних окружений рабочего стола, в других окружениях рабочего стола могут неправильно отображаться или мешать соседним процессам. Например, если вы попытаетесь запустить файловый менеджер GNOME Files (ранее Nautilus) в KDE, то он потребует установки различных библиотек GNOME и, вероятно, запуска процессов окружения рабочего стола GNOME в фоновом режиме при его открытии. Но при этом файловый менеджер можно будет использовать.
Пользовательские приложения (как и все другие пакеты) загружаются из соответствующих репозиториев.
Заключение
Дистрибутивы Linux выполняют заключительный шаг: они берут всё вышеуказанное программное обеспечение, объединяют его и добавляют свои собственные необходимые утилиты для создания полноценной работоспособной операционной системы.
Читайте также: