Что такое Linux
Linux — это ядро, лежащее в основе многих операционных систем. Ядро управляет оборудованием, памятью, процессами, файловыми системами, сетями и границей между приложениями и машиной.
В повседневном разговоре люди часто говорят, что Linux означает полноценную операционную систему, включающую ядро Linux, а также инструменты пользовательского пространства, библиотеки, оболочки, компоненты рабочего стола, системные службы и менеджер пакетов. Ubuntu, Debian, Fedora, Arch Linux и Linux Mint — это полные дистрибутивы Linux.
Что такое дистрибутив
Дистрибутив, часто сокращаемый до «дистрибутив», представляет собой тщательно подобранную комбинацию программного обеспечения, настроек по умолчанию, политик, репозиториев, установщиков, документации и графиков выпуска. Дистрибутив решает, как программное обеспечение создается, подписывается, обновляется и интегрируется.
Вот почему две системы Linux могут использовать ядро Linux, но работать по-разному. Fedora имеет тенденцию поставлять новые настольные компьютеры и технологии для разработчиков. Debian Stable делает упор на медленные и осторожные изменения. Arch просит пользователя собирать и обслуживать большую часть системы напрямую.
- Ядро взаимодействует с оборудованием и предоставляет основные службы операционной системы.
- Дистрибутив решает, как собирается и обновляется вся система.
- Среда рабочего стола контролирует большую часть графического взаимодействия с пользователем.
- Менеджер пакетов устанавливает и обновляет программное обеспечение из доверенных репозиториев.
Ядро против дистрибутива
Ядро необходимо, но недостаточно для работоспособной системы. Ядро без оболочки, библиотек, загрузчика, системы инициализации, утилит и репозиториев пакетов было бы больше похоже на движок без панели управления, мест и элементов управления.
Дистрибутив предоставляет ядру рабочее пользовательское пространство. Он выбирает загрузчик, систему инициализации, библиотеку C, инструменты командной строки, графический стек, установщик, механизм обновления и политику безопасности по умолчанию.
Linux против GNU/Linux
GNU/Linux — это термин, используемый для того, чтобы подчеркнуть, что многие основные инструменты пользовательского пространства в традиционных системах Linux взяты из проекта GNU, включая оболочки, компиляторы, основные утилиты и библиотеки. Термин Linux короче и более распространен в повседневной речи.
Оба термина могут иметь силу в зависимости от контекста. Если вы обсуждаете конкретно ядро, то Linux точен. Если вы обсуждаете полную операционную систему, в которой активно используются компоненты GNU, GNU/Linux выделяет важную часть истории и стека программного обеспечения.
Настольный Linux против серверного Linux
Настольный Linux оптимизирован для интерактивного использования: графика, аудио, Wi-Fi, Bluetooth, управление питанием, принтеры, шрифты, браузеры и повседневные приложения. Сервер Linux оптимизирован с точки зрения надежности, удаленного администрирования, служб, журналов, сети и предсказуемых обновлений.
Они разделяют одни и те же основы. Пользователь настольного компьютера по-прежнему получает выгоду от понимания служб и журналов. Администратору сервера по-прежнему нужны файловые системы, пользователи, разрешения, пакеты и сеть.
| Area | Акцент на рабочем столе | Акцент на сервере |
|---|---|---|
| Interface | Графический рабочий стол, панели настроек, магазины приложений | SSH, менеджеры сервисов, файлы конфигурации |
| Hardware | Дисплеи, звук, режим ожидания, портативные устройства | Сеть, хранилище, виртуализация, резервирование |
| Updates | Сбалансируйте новые приложения со стабильностью | Минимизируйте неожиданности и время простоя |
| Диагностика | Драйверы, дисплей, настольные приложения | Сервисы, порты, логи, дисковое пространство |
Основы открытого и бесплатного программного обеспечения
Открытый исходный код означает, что исходный код доступен по лицензии, которая разрешает проверку, модификацию и дистрибутив на определенных условиях. Бесплатное программное обеспечение подчеркивает свободу пользователя запускать, изучать, делиться и изменять программное обеспечение.
Дистрибутивы Linux созданы на основе множества лицензий и сообществ. Некоторые дистрибутивы включают проприетарное ПО или драйверы для поддержки оборудования; другие разделяют их более строго. Знание этого помогает объяснить, почему дистрибутивы делают разные варианты по умолчанию.
Почему Linux является модульным и почему существует множество дистрибутивов
Системы Linux являются модульными, поскольку основные компоненты можно менять местами: загрузчики, системы инициализации, оболочки, среды рабочего стола, файловые системы, менеджеры пакетов, серверы отображения и сетевые менеджеры. Эта модульность мощна, но она создает разнообразие.
Многие дистрибутивы существуют потому, что разные группы оптимизируют разные ценности: стабильность, новое программное обеспечение, минимализм, тестирование безопасности, корпоративная совместимость, старое оборудование, простота использования или продуктивность разработчиков.
- Ubuntu уделяет приоритетное внимание широкому удобству использования и поддержке.
- Debian отдает приоритет управлению сообществом и стабильности.
- Fedora отдает приоритет современным технологиям.
- Arch отдает приоритет пользовательскому контролю и текущим пакетам.
- Alpine отдает предпочтение небольшим системам, ориентированным на безопасность.
Распространенные мифы и недоразумения
Linux предназначен не только для программистов и не только для серверов. Он питает телефоны, маршрутизаторы, телевизоры, облачные системы, суперкомпьютеры, машины для разработки, настольные компьютеры, контейнеры и встроенные устройства.
Терминал – это не наказание. Это стабильный интерфейс, который работает на настольных компьютерах, серверах, средах восстановления и удаленных сеансах. Вы можете использовать Linux графически, но понимание работы терминала дает вам надежный контроль.
- Миф: В Linux нет приложений. Реальность: у него есть множество собственных приложений, веб-приложений, пакетов Flatpaks, инструментов разработки и серверных приложений.
- Миф: Linux никогда не получает вредоносное ПО. Реальность: Linux имеет надежные модели безопасности, но обновления и привычки по-прежнему имеют значение.
- Миф: все дистрибутивы по сути одинаковы. Реальность: экосистемы пакетов, модели выпуска, настройки по умолчанию и окна поддержки различаются.
Для кого предназначен Linux
Linux предназначен для учащихся, которые хотят понять свой компьютер, разработчиков, которым нужны надежные инструменты, администраторов, управляющих службами, пользователей, заботящихся о конфиденциальности, которые хотят контролировать, и организаций, которые ценят открытую инфраструктуру.
Возможно, он не идеален для каждого проприетарного творческого рабочего процесса, каждой античит-игры или каждой утилиты поставщика оборудования. Практический вопрос не в том, лучше ли Linux в целом, а в том, соответствует ли он вашему программному обеспечению, оборудованию и целям обучения.
Где Linux используется в реальном мире
Linux занимает центральное место в облачной инфраструктуре, веб-серверах, контейнерах, Android, сетевом оборудовании, научных вычислениях, рабочих станциях разработчиков, встроенных устройствах, интеллектуальных устройствах и инструментах безопасности.
Изучение Linux окупается, потому что везде повторяются одни и те же понятия: процессы, файлы, разрешения, сокеты, журналы, пакеты, службы и текстовая конфигурация.
Чем Linux отличается от Windows и macOS
В Linux особое внимание уделяется простым файлам, составным инструментам, репозиториям пакетов, строгим многопользовательским разрешениям, модульным компонентам и прозрачному состоянию системы. Windows и macOS интегрируют больше решений на уровнях, контролируемых поставщиком.
Различия не только визуальные. Linux ожидает, что пользователи и администраторы будут понимать пакеты, службы, расположение файловой системы и разрешения. Эта кривая обучения становится источником уверенности, как только все получается.
Базовая архитектура системы Linux
Упрощенная система Linux имеет аппаратное обеспечение внизу, ядро над ним, системные библиотеки и службы в пользовательском пространстве, а приложения или оболочки вверху. Оболочка и графический рабочий стол представляют собой пользовательские интерфейсы; они не являются операционной системой сами по себе.
Большая часть устранения неполадок заключается в определении того, какой слой задействован. Проблема с сетью может быть связана с DNS, маршрутизацией, правилами брандмауэра, службой прослушивания или конфигурацией приложения. Проблема с загрузкой может быть связана с прошивкой, загрузчиком, ядром, initramfs или запуском службы.
Kernel
Планирует процессы, управляет памятью, предоставляет доступ к устройствам и обеспечивает соблюдение границ ядра.
Пользовательское пространство
Оболочки, библиотеки, демоны, рабочие столы и приложения, работающие над ядром.
Файловая система
Единое дерево каталогов, в котором отображаются файлы, устройства, виртуальные данные и подключенные диски.
Экосистема пакетов
Репозитории и менеджеры пакетов, которые последовательно устанавливают программное обеспечение.