- Установка и использование GNU/Linux как дополнительной системы на iMac/Macbook (Dual Boot)
- Введение
- Установка
- 1. Выберите дистрибутив
- 2. Установите программу для подготовки флешки
- 3. Сделайте бэкап (можно пропустить, но это важно)
- 4. Поделите диск на три части: macOS, Linux, Swap
- 5. Загрузите операционную систему с флешки
- 6. Следуйте указаниям установщика
- 7. Установите rEFInd
- 8. Вход в rEFInd Boot Manager и завершение установки
- Перейти с Linux на macOS и не сойти с ума
Установка и использование GNU/Linux как дополнительной системы на iMac/Macbook (Dual Boot)
Введение
macOS — довольно интересная система, красивая, удобная, стабильная. Но продукт Apple имеет серьезные минусы: закрытый исходный код, не самое большое количество стороннего софта, слежка за пользователями (ну в Windows она тоже есть). Расставаться с macOS не хочу — например, конкурента для Final Cut Pro даже на Windows не найти. Я не нашел понятных, актуальных и универсальных инструкций даже на английском, поэтому я написал данный туториал, основанный на личном опыте.
ВНИМАНИЕ! 1. На компьютерах Apple, выпущенных в 2018 году и позднее, присутствует специальный защитный чип, который запрещает ставить ОС методом, описанным в статье (вы сможете воспользоваться лишь Bootcamp для установки Windows). 2. На компьютерах с macOS Big Sur имеется проблема с утилитой, которая обязательна для установки. Поэтому во всех этих случаях выполняйте следующие действия на свой страх и риск. Если ваша техника и ОС подходит под эти условия: для вас пункт 3 особенно важен — делайте бэкапы!
Вам понадобится: флешка, внешний диск, смартфон/другое устройство для просмотра туториала.
Установка
1. Выберите дистрибутив
Выберите дистрибутив, который подходит под архитектуру вашего процессора. Я выбирал на сайте distrowatch.com. Скачайте необходимый .iso образ вашего дистрибутива.
2. Установите программу для подготовки флешки
Установите Balena Etcher (macOS, Linux, Windows) или Rufus (Windows). К сожалению, мне пришлось воспользоваться Rufus на другом компьютере, с Balena Etcher возникли некоторые проблемы. Вставьте флешку, её объем должен быть больше размера дистрибутива примерно на 1 ГБ (на всякий случай).
В случае с Rufus: загрузите дистрибутив в программу, никакие настройки не изменяйте, нажмите «СТАРТ». Программа сообщит вам, когда выполнит работу.
Если же вы решили воспользоваться Balena Etcher: интерфейс интуитивно понятный, так что проблем не должно быть.
Balena Etcher
3. Сделайте бэкап (можно пропустить, но это важно)
Я особенно понял, что бэкап важен, когда написал этот туториал и он пропал. И когда забыл сделать бэкап для смартфона. Делайте бэкапы.
Запустите Time Machine, подключите внешний диск для бэкапа (его объем должен быть равен объему занятого места на диске ± 15-20 ГБ). Обратите внимание, что в среднем на передачу 1 ТБ с жесткого диска на внешний жесткий диск требуется 7 часов (по личным наблюдениям с iMac, если вы пользуетесь SSD — процесс будет быстрее). Отключите внешний диск для бэкапа после завершения передачи данных.
Time Machine
4. Поделите диск на три части: macOS, Linux, Swap
Откройте Дисковую утилиту, нажмите на диск, относящийся к Macintosh HD (он может называться по-другому, например Macintosh SSD и т. п.).
Нажмите «Разбить на разделы», создайте раздел «Swap», выберите формат MS-DOS (FAT), выделите данному разделу количество дискового объема, равное количеству оперативной памяти на компьютере (я выделил 8 ГБ). Создайте следующий раздел «Linux» (тоже MS-DOS FAT), выделите ему желаемое (и обязательно свободное) место на диске (оптимально будет 50 ГБ, но можно и меньше/больше).
5. Загрузите операционную систему с флешки
Перезагрузите компьютер. Сразу же после появления логотипа Apple зажмите клавишу alt (option) до тех пор, пока не появится меню выбора диска для загрузки. Выберите первый EFI Boot. Появится меню: вы можете попробовать (try), установить (install). Советую сначала попробовать (если такая возможность имеется), так как не все дистрибутивы хорошо работают на «железе» Apple.
6. Следуйте указаниям установщика
Попробовали и все нравится? Движемся дальше. Запустите установщик (обычно на рабочем столе есть иконка «Install *название_ОС и версия*»), следуйте указаниям установщика, но когда вас спросят, в каком месте установить — сразу же переходите в расширенные настройки. Выберите раздел, объем которого равен объему раздела «Linux» как главный и отформатируйте его в EXT4. Раздел, объем которого равен объему раздела «Swap», пометьте как «swap-area» или подобное. В качестве раздела для bootloader используйте главный раздел («Linux»).
7. Установите rEFInd
Если вы решили использовать Ubuntu как второй дистрибутив, запустите в терминале следующие команды:
Для других ОС подробная информация на официальном сайте.
8. Вход в rEFInd Boot Manager и завершение установки
Перезагрузите компьютер, и снова зажмите alt (option). Откройте EFI Boot, и немного подождите. Появится меню, выберите систему, которую вы хотите запустить. В дальнейшем, rEFInd Boot Manager будет запускаться самостоятельно.
Кстати, все, за исключением macOS, Time Machine и EFI, что я использовал в туториале — open-source.
Если у вас остались какие-либо вопросы, например, насчет драйверов, спрашивайте. Всем спасибо, что прочитали — ведь это мой первый опыт написания статей/туториалов на Хабре.
Источник
Перейти с Linux на macOS и не сойти с ума
Ноутбук — главный девайс в моей жизни, я провожу за ним бо́льшую часть суток. Он должен быть лёгким, компактным и мощным. Долгое время лидером по этим параметрам был Dell XPS 13, но всё поменялось с выходом MacBook Air на процессоре M1.
Air всего на 100 граммов тяжелее XPS 13, но примерно в три раза мощнее, автономнее и не нуждается в активном охлаждении. Никогда не думал, что скажу подобное про технику Apple, но MacBook Air — самое крутое устройство в своей весовой категории на рынке, оставившее конкурентов далеко позади.
Я фанат Линукса, эта операционная система для меня больше, чем просто окружение. Это философия, новостная повестка и постоянный предмет обсуждения. Поэтому сама идея отказа от Linux в пользу другой ОС меня всегда отталкивала. Да и тот эпизодический опыт, когда приходилось что-то делать в macOS, был эмоционально неприятным.
Но появление M1 посеяло во мне зерно сомнений: мой ноутбук больше не был самым крутым и навязчивой мыслью было то, что я отказываю себе в чём-то большем. Это зерно прорастало и проросло: я купил MacBook Air с 16GB ОЗУ и 512GB SSD, с удивлением обнаружив, что он ещё и стоит дешевле моего XPS. Впереди меня ожидали настройка окружения, борьба с Docker, грусть от отсутствия привычного автодополнения в консоли и много чего ещё.
Проблема: Dock занимает много места, принося минимальную пользу.
Решение: убрать влево, включить автоскрытие.
Пространство на экране ноутбука — ценный ресурс и жалко тратить его на Dock, который сильно проигрывает по функционалу аналогичным инструментам в других операционных системах. Почему Dock не нужен очень хорошо написано в этой статье на Хабре: 7 причин почему вам не стоит переходить на Mac, или как справиться с этой демонической машиной.
Тем не менее Dock можно скрыть, продолжая получать от него некоторую пользу: если удалить из него всё ненужное, оставить нужное, сместить в сторону, настроить автоскрытие, назначить сочетание клавиш Option + Tab на активацию.
Тогда, кроме подведения указателя к левой стороне экрана, Dock будет появляться и по нажатию сочетания клавиш, а стрелочками вверх/вниз уже можно выбрать нужный элемент и нажать Enter. Ну и свободное пространство не страдает.
Так-то лучше
Проблема: Command + Tab (аналог Alt + Tab в других ОС) показывает все приложения со всех рабочих столов, непригоден для переключения между несколькими окнами одного приложения.
Решение: использовать альтернативный переключатель окон AltTab, использовать жесты тачпада.
Переключение по Command + Tab настолько бестолковое, что, как я понял в результате опроса коллег и знакомых, им не пользуется почти никто. Своей бессмысленностью оно вдохновлено Dock — собирает все приложения (включая те, у которых нет открытых окон) со всех пространств (они тут называются Spaces, аналог рабочих столов в Линуксе и Винде):
«Переключатель» курильщика
Заметьте, тут нет окон, только приложения: если у приложения несколько окон, например, у вас открыто несколько проектов в VSCode, то переключатель становится абсолютно бесполезен, потому что переключать он начинает на какое ему вздумается окно. Тут, конечно, можно возразить, что переключаться между окнами удобно жестами на тачпаде. Удобно, да. Но нажать один раз Command + Tab гораздо быстрее, чем свайпнуть тремя пальцами вниз, навести на окно и кликнуть по нему.
Лирическое отступление и сказ о том, как я подарил свой макбук жене
В первые часы использования свежекупленного макбука, когда я понял, что Apple мне предлагает вот это в качестве инструмента, которым я пользуюсь чаще всего, у меня пригорело настолько, что я восстановил систему до заводских настроек, сказал жене «держи, дарю» и пошёл спать. Но уснуть у меня не получилось.
Много раз друзья, коллеги, и просто случайные собеседники в соцсетях советовали мне попробовать macOS, говоря, что это удобная и простая в использовании операционная система, с прекрасным UX и UI. С таким же мнением я неоднократно сталкивался на Хабре, в Твитере: всё просто работает, не надо ничего настраивать. На деле же оказалось, что в macOS отсутствует банальный функционал, который есть у других из коробки.
Я не привык сдаваться, поэтому, отказавшись ото сна, я забрал макбук у жены (пришлось вскоре ей купить такой же, только золотистый) и начал сначала.
UPD: в комментах советуют использовать Command +
для переключения между окнами одного приложения. К сожалению, этот способ не решает проблему переключения между окнами разных приложений.
Проблема с Command + Tab решилась использованием приложения AltTab. Но пришёл я к нему не сразу, а недели за две. Пришлось попробовать самые популярные: Witch, Contexts и Command-Tab Plus.
Оказалось, что опенсорсная программа лучше проприетарных и платных альтернатив. Возможно потому, что у платных аналогов один-два разработчика, а тут их больше и каждый старается решить свою проблему, в результате получается удобный и гибкий инструмент:
«Переключатель» здорового человека
Жесты оказались действительно удобной штукой. Если распределить окна по пространствам, то менеджмент окон с помощью Command + Tab и жестов на тачпаде становится действительно удобным:
Не всё так плохо
Проблема: Тайлинг окон, нормальное разворачивание окна на весь экран.
Решение: Rectangle.
Закончу тему менеджмента окон одной из самых бесполезных покупок приложений в моей жизни, утилитой Magnet. Насколько я понял концепцию macOS, отсутствие элементарных вещей, тут является нормой. Например, тут нет тайлинга окон. Это стало сюрпризом, потому что я всегда считал, что тайлинг пришёл сперва в Линукс из макоси, а потом уже и в Windows. Но нет. Есть Split View, которым невозможно пользоваться, потому что он, как и разворачивание окон на весь экран, уводит окна в отдельное пространство.
Magnet помогает и тайлить окна и разворачивать их на весь экран по-нормальному (альтернативный способ развернуть окно без создания отдельного пространства — это двойной клик по заголовку):
Такого даже в KDE нет
Потом оказалось, что есть опенсорсный проект с ещё большим функционалом. Это Rectangle, которым я теперь и пользуюсь. Опять победил опенсорс.
Проблема: Переключение раскладки клавиатуры по CapsLock для тех, кто быстро печатает и часто переключает раскладки.
Решение: Использование Karabiner-Elements.
В macOS возможность переключения раскладки клавиатуры по CapsLock есть из коробки, но, к сожалению, пользоваться ей мне оказалось невозможно. Проблема в том, что если печатать быстро, без паузы нажать на CapsLock и без паузы продолжить печатать, то раскладка не переключится.
Я решил отказаться от переключения по CapsLock в пользу клавиши fn, которая также при однократном нажатии переключает язык ввода. Но у этого способа оказалось две проблемы. Первая заключается в том, что если переключить раскладку и тут же начать набирать текст с шифтом, то в половине случаев пропечатывается строчная буква, а не прописная. Это само по себе раздражает, но добавляется вот ещё какая проблема. Если в момент переключения этим способом указатель мыши оказался в центре (не обязательно его при этом двигать), то всегда будет выбран тот язык, над которым висит указатель:
Гениально, не правда ли?
Оставался последний вариант: использовать сочетание из двух клавиш Command + Space или Option + Space, или Control + Space. Но я никогда не понимал, зачем использовать две клавиши там, где можно использовать одну? Apple не заставит меня быть менее продуктивным, поэтому я обратился к способу с использованием мощного инструмента Karabiner-Elements.
Проблема: Непривычная русская раскладка.
Решение: Использование раскладки «Russian — PC».
В macOS по-умолчанию используется немного непривычная для пользователя ПК русская раскладка, где точка находится в цифровом ряду и печатается через шифт. Я так скажу: человеку, который для набора точки всю жизнь нажимал клавишу в нижнем правом углу, переучиться очень сложно. Хорошо, что у этой проблемы решение очень простое, нужно просто выбрать раскладку «Russian — PC»:
Всё просто Ода клавиатуре MacBook
За 20 лет использования различных клавиатур самой любимой была Logitech K750 Wireless Solar Keyboard, чудесный девайс. От клавиатур лэптопов многого ожидать не приходится, ты просто довольствуешься тем, что тебе дал производитель. У премиальных моделей ноутбуков клавиатуры, в целом, хорошие.
Но клавиатура макбука меня удивила. Я ставлю её на первое место по удобству и удовольствию от использования среди всех клавиатур, которыми я пользовался. Мне кажется, что здесь идеальное для моих пальцев расстояние между клавишами, отличный ход и срабатывание.
Проблема: Autocomplete в терминале.
Решение: Fig.
По-умолчанию автокомплит в терминале macOS по функционалу такой же, как в cmd.exe в Windows: подсказка при вводе команды в самом начале и помощь при вводе директории. Если набрать ca и нажать Tab, то будет напечатана подсказка, а вот если набрать sudo ca и нажать Tab, то подсказка уже напечатана не будет.
У этой проблемы есть два решения. Первое — использование встроенной Completion System:
Второе — использование крутой утилиты Fig, которая совсем недавно вышла из закрытого тестирования в публичный доступ:
Графический интерфейс в macOS пробирается даже в терминал 🙂
Лучшего автокомплита, чем тот, который предоставляет Fig, для macOS не найти. Однако, у этого решения для меня есть два минуса: во-первых, он использует графический интерфейс, что при работе в консоли не очень привычно и я, бывало, ошибался в выборе. Во-вторых, мне показалось, что это ресурсоёмкое приложение и на генерацию некоторых подсказок требует времени (и ресурсов, соответственно).
Я рекомендую использовать Fig (опенсорс опять победил), хотя сам остановился на варианте с Completion System — автокомплит тут не такой мощный, но достаточный для ускорения написания команд и аргументов к ним.
В любом случае тем, кто перешёл на macOS с Линукса, придётся свыкнуться с тем, что терминал здесь не такой удобный. Набираешь rm -Rf * , а тебе всё равно задают вопрос:
Проблема: Docker-контейнеры тормозят.
Решение: нет.
Когда основное окружение настроено, время перейти к настройке dev-окружения и столкнуться с проблемами, которые несёт Docker.
Во-первых, если вы на M1, то забудьте про контейнер с MySQL, придётся вместо этого использовать MariaDB.
Во-вторых, на M1 готовый образ memcached лучше не использовать, почему-то именно на macOS с Apple Silicon запускается x86 контейнер в режиме совместимости. Возможно, на момент публикации эта проблема устранена. Решается самостоятельной сборкой образа.
В третьих, опять же на M1 необходимо быть готовым к различным проблемам внутри контейнеров. Например, мы с коллегами на работе столкнулись с тем, что в некоторых случаях на самых обычных запросах может падать curl с Segmentation fault.
Рекомендую включить настройку «Use the new virtualization framework», это улучшит производительность Docker и позволит не так сильно страдать от проблемы медленной работы с файловой системой.
Это самая большая боль пользователей Docker на macOS и распространяется она и на M1 и на x86 архитектуры. Если вы монтируете локальную директорию к контейнеру, будьте готовы к тому, что операции записи-чтения будут выполняться достаточно медленно для того, чтобы сделать работу с приложениями внутри контейнера некомфортной.
Сама проблема и пути её решения хорошо описаны в этой статье. Среди прочего даже предлагается запускать Docker внутри виртуальной машины на Linux, что я, разумеется, делать не стал. Но опробовал способ с Mutagen и могу сказать, что он настолько прожорлив, что автономность (как и температура корпуса) мака на M1 становится сравнима с его x86-собратьями.
Пришлось отказаться от Mutagen. В смирении даже нашёлся свой плюс: можно заметить места в UI сайта, где нужно поработать с прелоадерами.
Проблема: Виртуальная машина с Windows и Linux.
Решение: UTM или QEMU.
Эту проблему я взялся решать больше в качестве факультатива и исследования возможностей эмуляции на MacBook с процессором M1. Что удалось выяснить:
С хорошей производительностью можно запускать виртуалки только с arm64 архитектурой, x86 тормозит настолько, что работать невозможно.
VirtualBox непригоден, т.к. поддерживает запуск только x86 (не 64);
VmWare Fusion Player для Apple Silicon сейчас в состоянии Technology Preview и у меня не получилось завести на нём имеющиеся у меня образы Windows 10/11 ARM64, потому что загружаются они только по интерфейсу USB, а Fusion Player предлагает смонтировать .iso образ только как CD/DVD по интерфейсу IDE. Другие архитектуры эта версия Fusion Player не поддерживает; версия для macOS на процессорах Intel работает через Rosetta с соответствующей производительностью;
Parallels Desktop работает хорошо, но непригоден для запуска чего-то, отличного от Windows UPD: в комментариях мне подсказали, что Parallels Desktop может запускать и Linux-виртуалки;
UTM (надстройка над QEMU) — работает на макосовском Virtualization framework, можно запускать и Linux и Windows-машины, поддерживает эмуляцию x86, хоть и с большими тормозами. Я пробовал запускать Ubuntu 21.10 и Windows 10 ARM64, обе виртуальные машины работали очень быстро.
Победил опенсорс, как иначе.
«И как тебе MacBook?»
Я нарочно поместил впечатления от работы с macOS в спойлеры, чтобы акцентировать внимание на проблемах и неудобствах, с которыми я столкнулся и которые решил, а не на эмоциях.
Изначально я относился к переходу на Мак как к эксперименту: мне не только было интересно освоиться в новом окружении, но любопытно было узнать останусь ли я на macOS или вернусь к Линуксу.
Освоился и чувствую себя комфортно. А возможность возврата на Linux вижу только при условии появления на рынке достойной альтернативы на архитектуре arm64. Дело в том, что к высокой автономности и почти всегда прохладному корпусу ноутбука быстро привыкаешь. Но сильнее всего привыкаешь к скорости: текущие проекты собираются примерно в 2.8 раза быстрее, чем на Dell XPS 13, это ощутимая разница в производительности, делающая работу за компьютером заметно комфортнее.
В остальном, на macOS можно делать всё то же самое, что и на Linux или на Windows, я не могу сказать, что мне стало удобнее или моя эффективность увеличилась. Некоторые моменты меня подбешивают, но над некоторыми привычными задачами работать стало приятнее.
Кроме того, за макбуком я стал проводить гораздо больше времени: не смотря на то, что мой интерес к работе на компьютере и так велик, мне стало ещё интереснее. Я не знаю чем это объяснить, просто факт. Надеюсь, это не пройдёт.
Источник