Оставить привычное и получить новое
Итак, у нас есть цель: мы хотим научиться работать с Linux. В прошлом уроке мы выбрали дистрибутив — Ubuntu. Теперь перед нами встаёт практический вопрос: где именно мы будем с этой Ubuntu работать?
Большинство из вас сейчас сидит за компьютером с Windows или macOS. Это ваши привычные системы, в которых вы живёте каждый день: там ваши документы, браузеры, игры, рабочие программы. Перспектива всё это ломать ради учебных упражнений, мягко говоря, не радует. И правильный подход к обучению вовсе не требует жертв. Современные инструменты позволяют получить полноценную Ubuntu рядом с вашей основной системой, не удаляя её и не перестраивая весь компьютер.
Как это возможно? Чтобы ответить, нам нужно познакомиться с одним важным понятием — виртуальной машиной.
Что такое виртуальная машина
Виртуальная машина — это программа, которая имитирует отдельный компьютер внутри вашего настоящего компьютера. Представьте, что у вас дома есть квартира, а внутри этой квартиры вы поставили большую картонную коробку и сказали: «Вот это теперь отдельная комната». Для тех, кто находится внутри коробки, есть свои стены, свой пол, своё пространство. А для вас снаружи это по-прежнему часть вашей квартиры.
Виртуальная машина работает по похожему принципу. Она берёт часть ресурсов настоящего компьютера — часть процессорного времени, часть памяти, часть места на диске — и создаёт из них изолированное пространство. Внутри этого пространства можно установить операционную систему, и она будет считать, что работает на отдельном компьютере. На самом же деле она работает внутри вашей основной системы, используя её ресурсы.
Зачем нам это нужно? Затем, что внутри виртуальной машины можно спокойно экспериментировать: ставить программы, менять настройки, ошибаться. Учебные программы и настройки находятся в отдельной системе. Это позволяет осваивать Ubuntu, сохраняя привычную рабочую среду. При этом доступ к общим файлам зависит от настроек: виртуальная машина не гарантирует, что действия внутри неё никак не затронут основную систему.
Теперь, когда мы понимаем общую идею, посмотрим, как она воплощается на практике для пользователей Windows и для пользователей Mac. Маршруты немного различаются, но ведут к одной цели: вы получите Ubuntu, внутри которой будете выполнять упражнения курса.
Путь для Windows: WSL и Ubuntu
Если у вас Windows, наш основной инструмент называется WSL. Эта аббревиатура расшифровывается как Windows Subsystem for Linux, то есть «подсистема Windows для Linux». Название звучит сложновато, но суть проста: WSL позволяет запускать Linux внутри Windows.
В нашем курсе мы используем WSL 2. Цифра обозначает версию технологии WSL, а не версию Ubuntu.
WSL 2 запускает настоящее ядро Linux, но не прямо на вашем компьютере, а внутри управляемой виртуальной машины. Что означает «управляемой»? Это значит, что Windows сама создаёт виртуальную машину, сама помещает в неё ядро Linux и сама следит за тем, чтобы всё работало. Вам не нужно вручную настраивать виртуальную машину, выделять ей память или разбираться в сложных параметрах. Windows делает это автоматически и незаметно. Вы просто говорите системе: «Запусти Ubuntu», — и она запускает её внутри подготовленной виртуальной машины.
Внутри WSL 2 мы будем работать с Ubuntu и ядром Linux. Основные навыки работы с командами пригодятся и на отдельном компьютере, и на сервере. Особенности запуска системы и доступа к устройствам могут различаться.
Теперь важный момент: WSL и Ubuntu — это не одно и то же, и их роли нужно различать. WSL — это инфраструктура, среда, которая позволяет запускать системы Linux внутри Windows. А Ubuntu — это конкретная система, которую вы запускаете благодаря этой инфраструктуре. Можно провести такую аналогию: WSL — это гараж с ямой и подъёмником, а Ubuntu — машина, которую вы в этот гараж загоняете. Гараж создаёт условия, но ездите вы именно на машине. Поэтому когда мы будем выполнять упражнения, мы будем говорить: «Запустим Ubuntu через WSL». Мы не будем говорить «запустим WSL», потому что наша цель — не запустить инфраструктуру, а поработать в Linux.
Есть и ещё одна деталь, о которой полезно знать заранее. Виртуальная машина изолирует системы друг от друга, но изоляция эта не абсолютная. WSL по умолчанию настроен так, что Ubuntu может видеть диски Windows. Это удобно: вы можете открыть файлы из Windows прямо в Ubuntu. Но это также означает, что Ubuntu не заперта в полностью глухом отсеке. Для нашего учебного курса это не проблема и даже преимущество, но об этом устройстве границ нужно помнить, чтобы не было сюрпризов.
Путь для Mac: Multipass и Ubuntu
Теперь поговорим о пользователях Mac. У вас есть программа «Терминал», которая встроена в macOS. На первый взгляд кажется, что это уже готовый вход в мир Linux: вы открываете терминал, видите текстовое окно, можете вводить команды. И вот тут очень легко сделать неверный вывод. Терминал macOS сам по себе — это не Linux.
Терминал — это лишь окно для ввода команд. А вот какая система эти команды выполняет — зависит от того, куда терминал подключён. Когда вы открываете терминал на Mac, он подключён к macOS. Команды, которые вы вводите, понимает и выполняет macOS, а не Linux. macOS и Linux — это разные системы, хотя у них есть общие исторические корни и некоторые команды выглядят похоже. Но для нашего курса нам нужна именно Ubuntu, а не её дальняя родня.
Что же делать? Нужен инструмент, который создаст Ubuntu внутри macOS. Одно из самых простых решений называется Multipass. Это программа, которая умеет быстро создавать виртуальные машины с Ubuntu и управлять ими. Разработчики Ubuntu создали Multipass специально для тех, кому нужна Ubuntu на компьютере, где стоит другая система.
Как это будет выглядеть на практике? На следующем уроке мы с вами, во-первых, установим Multipass, а во-вторых, создадим виртуальную машину с Ubuntu. Мы дадим этой машине имя, чтобы было удобно к ней обращаться, — например, linux-course. Дальше мы войдём в эту машину из терминала macOS. Внешне это будет выглядеть так: вы открываете привычный терминал Mac, вводите специальную команду — и вдруг оказываетесь внутри Ubuntu. Терминал останется тем же окном, но система, которая принимает ваши команды, изменится. Теперь это будет Ubuntu внутри виртуальной машины.
Это и есть тот момент, о котором я говорил в начале: внешний вид обманчив. Окно терминала — это только рамка. Важно то, какая система находится за этой рамкой. Мы будем каждый раз ясно понимать, где мы сейчас: в macOS или уже внутри Ubuntu. Научиться различать эти состояния — часть учебной задачи.
Как и в случае с WSL, изоляция здесь не герметичная, но устроена она иначе. У нашей виртуальной машины linux-course нет автоматически настроенной общей папки с Mac по тому маршруту, который мы выберем. Это означает, что машина более замкнута: мы не предоставляем Ubuntu доступ к документам Mac через общую папку. При этом основная система управляет виртуальной машиной и хранит её данные. Для обучения это удобно: меньше соблазнов случайно задеть не то и меньше пересечений между мирами. Но опять же — никакая изоляция не является стопроцентной, и в будущем при желании можно будет настроить общий доступ к файлам.
Почему мы не идём другими путями
У вас может возникнуть резонный вопрос: «А почему бы просто не поставить Ubuntu на отдельный компьютер? Или не сделать двойную загрузку, чтобы при включении выбирать, какую систему запустить?» Это законные пути, и многие люди так делают. Но у них есть свои издержки.
Установка Ubuntu как единственной системы на компьютер означает, что вы прощаетесь с Windows или macOS, а для большинства начинающих это слишком решительный шаг. Двойная загрузка — когда при включении компьютера вы выбираете, какую систему запустить, — звучит привлекательно, но на практике требует перестройки диска и внимательности. Ошибка на этом этапе может привести к тому, что компьютер перестанет запускаться. Для первых шагов в Linux это избыточный риск.
Есть ещё популярный вариант — VirtualBox. Это программа для создания виртуальных машин, которая устанавливается и на Windows, и на Mac. Она хороша и известна, но для наших целей у неё есть недостаток: она требует от пользователя гораздо больше ручных настроек. Нужно самому скачать образ Ubuntu, самому создать виртуальную машину, самому указать, сколько памяти ей выделить, самому провести установку системы с графического экрана. Для новичка это целый квест, который отвлекает от главного — от самого Linux. Наш маршрут через WSL и Multipass короче и чище: меньше шагов, меньше настроек, быстрее результат.
Поэтому мы не будем сейчас сравнивать десятки способов запуска. Мы выбрали два рабочих маршрута: WSL для Windows и Multipass для Mac. Оба ведут к одной и той же системе — Ubuntu с текстовым интерфейсом. Графический рабочий стол Ubuntu с окнами и мышью мы в нашем курсе не обещаем и не требуем. Все упражнения будут выполняться в текстовом режиме, потому что именно он и составляет основу владения Linux.
Что мы получим в итоге подготовки
Если у вас Windows, вы установите WSL, а через него — Ubuntu. WSL создаст и будет обслуживать виртуальную машину, внутри которой работает настоящее ядро Linux. Вы будете открывать Ubuntu, когда нужно поработать, и возвращаться в Windows, когда нужно вернуться к привычным делам. Ваши приложения Windows останутся на месте, и они по-прежнему будут работать.
Если у вас Mac, вы установите Multipass и создадите виртуальную машину с Ubuntu. Мы назовём её linux-course. Вы будете входить в неё из обычного терминала macOS, но внутри окажетесь не в macOS, а в Ubuntu. Ваш Mac при этом продолжит жить своей жизнью.
В обоих случаях вы получите Ubuntu 24.04 LTS — ту самую версию с долгосрочной поддержкой, о которой мы говорили в прошлом уроке. Если у вас уже была установлена какая-то поддерживаемая Ubuntu, не обязательно гнаться именно за 24.04 — базовые вещи, которые мы будем изучать, от версии зависят слабо. Но если вы начинаете с чистого листа, Ubuntu 24.04 LTS будет нашим ориентиром.
И вот важный момент, который я хочу подчеркнуть отдельно. Когда вы работаете с Linux внутри виртуальной машины, всегда стоит помнить, где именно вы находитесь в данный момент. Эта привычка — понимать, какая система выполняет ваши команды — пригодится вам не только в курсе, но и в реальной работе, где часто приходится переключаться между разными машинами. Проверяйте себя вопросом: «Кто сейчас слушает мои команды?» Со временем ответ будет приходить сам собой.
Всё, о чём мы сегодня говорили, — это подготовка, которую мы проделаем на следующем уроке. Никаких команд сейчас вводить не нужно, ничего скачивать и устанавливать не нужно. Следующий урок будет полностью практическим: мы шаг за шагом выполним установку нужных инструментов, создадим Ubuntu и впервые войдём в неё. Вы увидите текстовое приглашение Ubuntu своими глазами.
Для занятий нам не нужно заменять привычную Windows или macOS. Мы запустим Ubuntu в отдельной среде, которая использует ресурсы нашего компьютера. На Windows эту среду обеспечивает WSL 2 с ядром Linux, а на Mac мы создадим виртуальную машину linux-course через Multipass и войдём в неё из терминала macOS. Само открытие терминала Mac ещё не означает, что мы работаем в Linux.
В обоих маршрутах упражнения будут выполняться внутри Ubuntu без обязательного графического рабочего стола. Поэтому перед вводом команд важно понимать, какая система их получит. Разделение сред не означает полной изоляции файлов: WSL обычно видит диски Windows, а для выбранной машины Multipass мы не настраиваем общую папку. В следующем уроке подготовим среду и впервые войдём в Ubuntu.