Ядро
Ядро, хоть и критически важно для работы системы, особо не интересно с точки зрения пользователя — взаимодействовать с ним напрямую тебе вряд ли придется, пока ты не станешь настоящим гуру.
Возможно, ты часто слышал про «сборку ядра» и можешь даже самостоятельно попробовать сделать это. Поскольку ядро Linux монолитное, в него должна входить поддержка множества вещей, которые касаются всех аспектов работы компьютера. Соответственно, перед сборкой можно и нужно задать кучу всяких настроек, но ничего особенно увлекательного в этом, поверь, нет, хотя процесс крайне познавательный.
В системе может одновременно присутствовать сколько угодно ядер, а какое именно будет использоваться, ты можешь выбрать в загрузчике. Апгрейд ядра до более новой версии — совершенно рутинное дело в Linux и обычно происходит автоматически.
Manjaro KDE Edition — красивая девушка, но не для тебя
- Это был первый дистр, который при установке умудрился грохнуть загрузчик на отдельном SSD для Windows.
- Это был первый дистр, который после установки и команды Reboot не перезагружался.
- Это был первый дистр, который просто установился и запустился раза с 6-го.
- Это первый дистр, при установке которого ни в коем случае нельзя говорить, что ты — из России, потому что пароль ты введёшь на английском, а спросит он его на русском без возможности переключить раскладку.
Он убил мою винду, но установился. Красота неописуемая, и во встроенном менеджере первым делом меняем драйвер Nvidia. Опа-на — мало того, что он не грузится, так он ещё и тупо виснет без доступа в командную строку. Пляски с бубном сводятся к ручной правке GRUB-а, что помогает не всем, а бывалые советуют: ну переустанови его, сложно что ли?
Debian — его не советует никто
В среднем, я устанавливаю Debian на серверы раз в неделю, и за 6 лет ни разу не видел его графическую оболочку, а тут решил посмотреть на Cinnamon. Ну что я вам скажу — это первый дистрибутив, который не увидел сетевую карту Aquantia, но драйвер я поставил вручную.
С Debian-ом возникла только одна проблема: его десктопное окружение глючное вдоль и поперёк: виджетов либо нет, либо не ставятся, ругаясь на несовместимость. При смене значков на окнах, меняются и цветовые палитры. Шрифты ужасны и нечитаемы. Зато работает, и даже не тормозит.
Заключение
9 лет назад у нас на сайте вышла статья: «Linux на десктопе — несбывшаяся мечта.» С тех пор многое изменилось, и Linux действительно вырос и окреп, но не избавился от своей основной проблемы: вместо того, чтобы сконцентрироваться на каком-то одном дистрибутиве, коммьюнити плодит бесконечные форки, бросая на полпути недоделанные операционки вроде Ubuntu, которая стремительно теряет популярность. Одни и те же проблемы кочуют из дистра в дистр, и даже не думают исправляться.
В России, где нет острой необходимости платить за Windows/Office все эти потуги представить Linux как альтернативу винде не вызывают никакого энтузиазма: ну не хочешь ты платить за винду — ну не плати, сложно что ли?
Я не помню свой первый Linux — то ли это была Mandriva, то ли Red Hat, но я помню, чем закончилось моё с ней знакомство: после зависания она отказалась грузиться, выдав мне голый жёсткий диск. Прошло более 20 лет — а воз и ныне там.
Рон Амадео
03/03.2019
Почему Linux? И зачем нужны две операционные системы?
Если вы обычный пользователь, то более простым и надежным вариантом, вероятнее всего, считаете стандартную (и желательно заводскую) установку Windows. Зачем же связываться с Linux?
Во-первых, затем, что большинство дистрибутивов Linux – бесплатные, что дает вам возможность немного сэкономить. Поскольку ядро Linux доступно в открытых источниках и большинство ОС Linux – бесплатные, вы даже можете изучить новейшие версии в их развитии.
Во-вторых, Linux потребляет сравнительно мало ресурсов ПК. «В нагрузку» к этой ОС добавляют лишь небольшое количество «паразитного» ПО (bloatware), а системные требования для Linux обычно намного легче, чем для Windows: требуется меньше оперативной памяти, меньшее дисковое пространство для установки ОС, поддерживаются относительно старые модели процессоров, не говоря уже о том, что не требуется модуль TPM. Благодаря всему этому дистрибутив Linux будет наилучшим решением, если нужно реанимировать старый компьютер.
Многие пользователи ценят Linux за разнообразие опций настройки – начиная с выбора самого дистрибутива Linux, каждый из которых предлагает уникальный пользовательский опыт.
И даже в рамках одного дистрибутива вы можете изменять вид интерфейса, выбирать различные опции менеджеров окон, настроек анимации, рабочего стола и т.д. А благодаря солидному и отзывчивому сообществу пользователей Linux и большому количеству форумов вы практически всегда получите грамотную техническую консультацию по интересующему вас вопросу.
Однако Linux не является абсолютно универсальным решением. Например, некоторые приложения могут быть разработаны специально под среду Windows или Mac, поэтому в Linux они работать не будут. Для многих из этих приложений можно найти аналоги в открытых источниках, но некоторые – например, игры – такой альтернативы принципиально не предлагают. Эта ситуация потихоньку начинает меняться – Steam уже поддерживает многие игры на Linux – но все-таки, прежде чем забыть про Windows и полностью перейти на ПО из открытых источников, необходимо взвесить все потенциальные издержки, которые могут быть связаны с этим переходом.
На Steam продолжает расти число игр с поддержкой Linux.
Но зачем же забывать насовсем? Почему бы не установить на компьютер параллельно Windows и Ubuntu, чтобы иметь возможность пользоваться преимуществами каждой из этих ОС? В этом и состоит концепция “опциональной загрузки”, и нам осталось только рассказать вам, как это сделать.
Для начала скажем несколько слов о том, что происходит в вашем компьютере при опциональной загрузке. Знать это в деталях не обязательно, но желательно иметь некоторые фоновые представления об этом процессе, чтобы лучше уяснить себе ключевые моменты последующей установки операционных систем.
Ты жаловался на тормоза Windows? Да ты, братан Ubuntu не ставил
Я не знал, что Linux можно извратить до такой степени. Ну смотрите сами — по умолчанию в Ubuntu 18.10 нет индикации копирования файлов. Переносишь каталог с диска на диск — и не знаешь, копируется оно или уже скопировалось… Прикольно, правда? Драйверы Nvidia встали легко и непринуждённо, но Батюшки Света, у меня Fallout 4 быстрее запускается, чем открывается список программ.
К чести разработчиков, здесь самые приятные шрифты. К несчастью разработчиков, Ubuntu встал на какой-то путь, с которого спрыгивают юзеры. Коммьюнити плавно перетекает в Mint и Manjaro, на форумах пишут: «попробуй — поймёшь, почему». После Mint-а и Kubuntu, где всё просто и понятно, обычная Ubuntu встречает тебя в штыки: настроек нет или они запрятаны, интерфейс неудобный и тормозной. Это не то, ради чего можно сносить Windows, совсем не то, ребята.
Linux Mint — оставила меня с голым SSD без файлов вообще
Mint — самая пропиаренная на Дзене версия Linux-а, с неё и начнём. В принципе, всё очень даже неплохо и интуитивно понятно. Но есть один момент: при копировании файлов по сети моя сетевуха Aquantia AQC107 намертво зависала систему. С Intel-овской сетевухой таких проблем не было. Помогала только кнопка Reset, и после третьего сброса, Linux Mint отказался загружаться с ошибкой: «ну нет у тебя, братан, ни одного файла на разделе».
А всё почему? Потому что я выбрал современную файловую систему BTRFS, которая уже допилена до нормального вида, но под Linux Mint у людей при внезапном отключении электричества или таких глюках она выкашивает весь раздел под чистую без возможности восстановления. Спасибо, братья, на этом вопрос с Linux Mint можно закрывать. Да, там были все обновления по умолчанию.
Что происходит в компьютере во время загрузки?
Когда вы нажимаете кнопку питания вашего ПК, материнская плата включается и начинает процесс загрузки. Этот процесс осуществляется под управлением системы BIOS, которая проводит базовую диагностику аппаратного обеспечения ПК, проверяя наличие и функциональное состояние необходимых компонентов (оперативной памяти, накопителей, клавиатуры, мыши и т.д.).
Затем BIOS обращается к главной загрузочной записи (Master Boot Record, MBR), которая начинает процесс загрузки ОС, чтобы далее вы могли запускать на компьютере свои приложения.
MBR обычно занимает первый сектор загрузочного устройства (HDD, SSD, USB-флешки и т.д.). Местоположение MBR на загрузочном диске строго определено, чтобы ее гарантированно можно было найти в процессе загрузки. Ее задача относительно проста: найти и загрузить ОС. И здесь начинается самое интересное.
Сама MBR имеет слишком малый размер, чтобы содержать всю информацию по загрузке ОС. Поэтому, как правило, она передает управление загрузчику, который фактически обрабатывает все данные ОС, загружает нужные файлы в оперативную память и начинает общий процесс подготовки ОС к использованию. У разных ОС обычно разные загрузчики. Загрузчик Windows называется Windows Boot Manager, загрузчик Linux – GRUB.
При опциональной загрузке в вашем распоряжении, очевидно, должно быть несколько ОС, из которых вы можете выбрать одну для загрузки компьютера конкретно в этот раз. Как это сделать? Очень просто – чтобы выбрать ОС, нужно установить эту ОС. То есть, в случае Linux, нужно установить GRUB.
Процедура установки ОС для опциональной загрузки включает в себя следующие основные шаги.
- Установите первую ОС. Настоятельно рекомендуется в первую очередь установить Windows
- Сегментируйте диск. Выделите на загрузочном диске вашего ПК отдельное пространство для каждой ОС.
- Установите вторую ОС. В нашем случае это будет дистрибутив Linux, конкретно – Ubuntu.
Осуществив эту установку, вы фактически замените в иерархии загрузчиков загрузчик Windows на GRUB.
GRUB просканирует диск, идентифицирует все установленные на нем операционные системы и запомнит адреса загрузчиков каждой из них – если пользователь выберет другую ОС (не Linux), GRUB передаст управление соответствующему загрузчику.
В большинстве дистрибутивов Linux (включая Ubuntu) установка GRUB является частью единого процесса установки ОС. Поэтому достаточно просто следовать общей инструкции установщика ОС. Для установки каждой новой ОС – и первой, и второй – вам понадобится флешка или другой внешний накопитель, отличный от основного диска ПК, потому что технически вы будете загружать устанавливаемую ОС с этого USB-накопителя.
Далее мы подробно опишем все необходимые действия в ходе установки двух ОС, так что знать все эти внутренние процессы необязательно, но если интересно, вы всегда можете вернуться к этому разделу, чтобы посмотреть, на каком этапе вы находитесь.
Графическая система
Далеко не каждый Linux снабжен графической системой или вообще нуждается в ней — очень многие действия здесь можно делать и из командной строки. Однако современный рабочий стол — это все же иконки и окошки.
Чтобы работать с графикой, в Linux должны присутствовать сервер дисплея X.Org (традиционный вариант) либо новомодный композитор Wayland, на который сейчас переходят наиболее передовые дистрибутивы. Плюс требуется оконный менеджер — программа, которая отвечает за то, как выглядят и работают элементы интерфейса.
Впрочем, это всё довольно низкоуровневые подробности, нырять в которые с ходу не обязательно. Куда скорее тебе придется задуматься о выборе рабочей среды (Desktop Environment, DE). Это совокупность оконного менеджера и разного рода программ, мелких (например, рисующих разные панели, рабочий стол, виджеты) и крупных — вроде файлового менеджера. Сюда же обычно входит и набор базового софта: календарь, почтовик и прочее в таком духе.
Самые известные оконные среды — это GNOME и KDE. Но в реальности их список гораздо длиннее. Любители минимализма могут присмотреться к Xfce или LXDE, а Ratpoison, dwm, i3 и xmonad предоставляют среду с неперекрывающимися окнами, что некоторые находят удобным.
А еще от GNOME отвалились проекты MATE и Cinnamon — их разработчикам не понравился интерфейс GNOME 3, и они продолжили развивать вторую ветку. А в elementary OS используется своя среда под названием Pantheon, которую не встретишь больше нигде. В общем, разнообразие огромно!
Создатели дистрибутивов, в которые входит графическая среда, обычно выбирают одну или несколько сред, которые будут поддерживать официально. Но при этом тебе ничто не мешает поменять DE или установить одновременно больше одной, чтобы переключаться между ними или использовать программы одной среды из другой. Пробуй, экспериментируй, и сам поймешь, что тебе ближе.
Kubuntu — установилась с 4 раза
Нет, вообще-то она устанавливается с 1 раза, но есть один момент: у всех Linux-ов, что я тестировал, драйверы видеокарты Nvidia не умеют заглушать вентилятор. Естественно, сразу хочется поставить оригинальные драйверы Nvidia, после чего система не грузится, выкидывая тебя в командную строку. К чести разработчиков, в интернете полным-полно инструкций по установке драйверов, но если уж при инсталляции у тебя возникли «различия в пакетах», то основные рекомендации сводятся к переустановке дистрибутива.
У меня, конечно же, возникли. Когда всё оно наконец-то заработало, я увидел ровно те же самые тормоза, что и под Windows, плюс ужасный скроллинг и неудобные шрифты. В Kubuntu не было ничего, что хоть как-то цепляло за душу, и попытавшись задействовать аппаратное ускорение везде, где только можно, я понял — это тормоз похлеще Windows, и смысла в нём нет.
Командный интерпретатор
Пользователи Windows привыкли к тому, что в этой операционной системе имеется стандартный интерпретатор команд , который принято называть командной строкой. В последних версиях винды его органично дополнил PowerShell, однако этими двумя средами ассортимент командных интерпретаторов в Windows исчерпывается.
В Linux командных интерпретаторов существует множество, и, если для Windows они лишь вспомогательное средство администрирования, здесь это один из основных и очень мощных инструментов работы с системой.
Собственно, сама история Linux началась именно с командной строки, точнее терминала или даже телетайпа. Графический интерфейс к нему приделали уже значительно позже. Именно поэтому командную строку в Linux часто называют «эмулятор терминала», а процессы с ними носят префикс (teletype).
Как ты знаешь, с использованием команд в Windows можно писать скрипты, автоматизирующие какие‑либо действия: пакетные файлы (batch files) были в ходу еще со времен MS-DOS, а PowerShell заметно расширил и углубил эту технологию. В Linux можно делать то же самое: собранный в файл набор команд интерпретатора может работать как сложная программа, а сами команды являются по большому счету языком программирования.
Наборы команд, сохраненные одним файлом, принято называть сценариями или скриптами. Все скрипты в Linux начинаются с символов (это сочетание называется «шебанг») и пути к интерпретатору — команде, которая будет исполнять скрипт.
Стандартным командным интерпретатором в Linux является bash — обновленная и модернизированная версия командной оболочки Bourne shell, которая была изобретена Стивеном Борном в 1978 году и использовалась еще в классическом Unix.
Прожженные линуксоиды предпочитают ставить вместо bash более продвинутый интерпретатор — Z shell (ZSH), обратно совместимый с bash, но имеющий по сравнению с ним множество улучшений. Для этой оболочки сообществом был разработан специальный открытый и бесплатный фреймворк Oh My ZSH, который содержит множество плагинов для автоматизации работы с командами и скриптами. Как минимум Oh My ZSH позволяет использовать красивые темы оформления окна командной строки, благодаря которым окружающие точно сочтут тебя гениальным хакером.
info
Подробнее о ZSH и Oh My ZSH читай в статье «Прокачай терминал! Полезные трюки, которые сделают тебя гуру консоли».
Предупредим о проблеме, с которой моментально сталкивается каждый новый пользователь Linux. Если ты зайдешь в какой‑то каталог и попытаешься написать название исполняемого файла, чтобы запустить его, то ничего не получится. Почему?
Причина в том, что интерпретатор ищет файлы только в каталогах, которые указаны в переменной окружения . То есть тебе нужно либо задать полный путь к исполняемому файлу, либо явно указать на текущий каталог. Как ты знаешь, родительский каталог отмечается двумя точками (), а чтобы указать на текущий, нужно писать То есть вместо пиши , и все получится!
И еще один очень важный момент. В Windows тип файла определяется его расширением — в зависимости от него командный интерпретатор и оболочка решают, как они будут обрабатывать файл. В Linux все устроено немного по‑другому: у bash полностью отсутствует какое‑либо уважение к расширениям файлов. Исполняемый файл отличается от обычного не расширением, а наличием права на его исполнение: если оно есть, система считает такой файл программой (или скриптом) и пытается выполнить. О правах на файлы мы подробнее поговорим чуть дальше в соответствующем разделе.