Алексей Федорчук
Процесс превращения базовой системы, развёрнутой с mini.iso
Ubuntu очень сходен с превращением аналогичной Jessie в Betsy, что довольно подробно описано в соответствующем очерке из другой книги. Поэтому здесь я изложу его конспективно, сфокусировав внимание на различиях дистрибутивов Linux Mint и LMDE.
При доводке базовой системы, развёрнутой с mini.iso
, необходимо заранее озаботиться каким-либо внешним носителем, например, флешкой или SD-картой, обязательно с одной из нативных файловых систем Linux (лучше всего ext2 или ext4, в зависимости от размера). На неё непременно следует поместить каталог /etc/apt
со всем его содержимым, и файл /etc/lsb-release
. Всё это хозяйство должно быть скопировано (с Live-носителя или из рабочей системы) с сохранением атрибутов принадлежности и доступа, то есть командами
$ sudo cp -ap /etc/apt path2_flash/ $ sudo cp -ap /etc/lsb-release path2_flash/
Это — необходимое, без которого, как известно, прожить легче, чем без роскошного. А к предметам роскоши я в данном случае отнёс бы «нескучные обои» и типовые конфиги своей любимой оболочки. Которые надлежит скопировать на ту же флешку тем же образом — то есть с сохранением владельцев и прав доступа.
Однако предположим, что внешний носитель подготовлен и наполнен правильно — теперь надо его смонтировать. Причём сделать это руками — никакого автомонтирования в базовой системе пока нет и в помине. Так что обретаю пролонгированные права администратора:
$ sudo -i
и после ввода пользовательского пароля оказываюсь в чисто root’овом окружении. Где даю команду
# mount /dev/sd#1 /mnt/
После чего копируем всё необходимое обратным порядком. Сначала — конфиги будущего login shell пользователя (команда sudo
здесь служит цели, противоположной обычной):
# sudo -u alv cp -ap /mnt/.zsh* /home/alv
Затем — конфиги apt
(не забыв опцию -r
— Bash по умолчанию почти не настроен, и рекурсивное копирование без неё делать отказывается):
# rm -rf /etc/apt # cp -rap /mnt/apt-get /etc/
И напоследок — стереть следы Ubuntu’йского прошлого:
# cp -ap /mnt/lsb-release /etc/
Теперь следует обновить кеш пакетов и выполнить глобальное обновление системы:
# apt-get update # apt-get dist-upgrade
Обращаю внимание читателя, что здесь и далее, вплоть до установки пакета mintsystem
, лучше пользоваться именно apt-get
, а не обще-Debian’овской реализацией утилиты apt
: предупреждение о тестовом характере последней, выводимое при первом её запуске, как ни странно, имеет некоторые основания, на которых я сейчас останавливаться не буду.
Теперь по хорошему пора перезагрузиться. Но прежде — установка любимого шелла и не менее любимой службы консольной мыши:
# apt-get install zsh gpm
Конфигурирование ввода/вывода в консоли:
# dpkg-reconfigure console-setup # dpkg-reconfigure keyboard-configuration
Выход из root’ового окружения:
# exit
И смена рользовательской оболочки (login shell):
$ chsh -s /bin/zsh
Вот теперь перезагрузиться самое время:
$ sudo reboot
После рестарта системы я опять в консоли, но в комфортной обстановке настроенного Zsh, каковую можно сохранить и для администратора. Поэтому пролонгация прав его выполняется таким образом:
$ sudo -s
После этого — установка поддержки разных файловых систем:
# apt-get install xfsprogs jfsutils reiser4progs reiserfsprogs f2fs-tools nilfs-tools
И архиваторов, чтобы не забыть:
# apt-get install zip unzip
Установка Иксов:
# apt-get install xorg xserver-xorg-core
Проверка успешности (от имени пользователя в другой виртуальной консоли) —
$ X
Делается это ради получения «чёрного-чёрного» экрана. Возвращение в консоль администратора, команда для определения PID Иксового процесса
# ps aux G X
И его убиение по номеру:
# kill ###
И вот здесь начинаются различия между LMDE и LM: в первой для корректной трансформации Jessie в Betsy сначала надо установить метапакет с Mint-специфическими компонентами, а затем уже среду Cinnamon. В LM же возможны оба варианта — и у обоих есть свои шероховатости.
Если начать с установки метапакета
# apt-get install mint-meta-core
и продолжить установкой среды
# apt-get install cinnamon
пакет mintsystem
, установившись в составе первого метапакета, как ни странно, потянет с собой в качестве зависимости mint-info-xfce
, что будет препятствовать установке аналога из среды Cinnamon.
Это коллизия, как и в Betsy (см. подробности), разрешается удалением mint-info-xfce
вместе с некоторыми компонентами Cinnamon и повторной установкой последних:
# apt-get purge mint-info-xfce # apt-get update # apt-get install mint-meta-core mintsystem mintwelcome mint-info-cinnamon mint-user-guide-cinnamon
При выполнении установки в противоположном порядке (то есть сначала cinnamon
, а потом mint-meta-core
) ничего подобного не наблюдается. Но зато в этом случае Cinnamon тянет за собой существенно больше зависимостей, которых в первом случае удаётся избежать.
Как бы то ни было, после этого можно заняться установкой всего остального:
# apt-get install muffin # apt-get install mdm gnome-keyring libpam-gnome-keyring pm-utils # apt-get install mintlocale # apt-get install gnome-terminal gnome-screenshot eog gucharmap leafpad # apt-get install mint-backgrounds-rafaela # apt-get install mint-x-icons # apt-get install nemo-fileroller nemo-emblems nemo-folder-color-switcher
Не забыв, разумеется, про нескучные обои:
# cp -ap /mnt/alv /usr/share/backgrounds # cp -ap /mnt/alv.xml /usr/share/cinnamon-background-properties
В финале можно освободиться от лишних локалей — сколь бы аскетичен ни был их набор в ходе инсталляции, Mint’овский метапакет умудрился добавить к ним все варианции на тему en_??.utf8
. Благо, избавиться от этих излишеств просто:
# locale-gen --purge ru_RU.utf8 en_US.utf8
после чего вывод команды
# locale -a
вернётся к прежнему виду:
C C.UTF-8 en_US.utf8 POSIX ru_RU.utf8
Теперь — очистка системы от отходов жизнедеятельности:
# apt-get autoremove # apt-get clean
И озирание количественных итогов установки. Которые оказались весьма любопытными. Инсталляция по первому типа (сначала mint-meta-core
,а потом cinnamon
) заняла 2 ГБ — даже чуть меньше, чем аналогичная инсталляция Betsy. А вот система, установленная по второму типу, заняла аж 2,8 ГБ дискового пространства.
В причинах этого явления я попробую разобраться со временем. А пока замечу, что в обоих случаях система получилась более чем пригодной к употреблению. В частности, не пришлось выполнять никаких манипуляций с командой gksu
: здесь, в отличие от «самопальной» Betsy, она по умолчанию, «искаропки», запускается в режиме sudo
.
Отлично!
Под каким менеджером виртуальных машин это делалось? Под QEMU? (нигде в тексте об этом нет)
половина в VirtualBox — прикидка и в конце мелкая корректировка
а основное — на реальном железе, без проверки в реале я ни об чём не пишу
Меня смутили вот эти фразы:
> от имени пользователя в другой виртуальной консоли
> Делается это ради получения «чёрного-чёрного» экрана.
Разве это можно сделать в VirtualBox? Но вполне можно сделать в QEMU.
Это как раз репортаж из реала.
Но и в VBox’е не проблема — управляющая клавиша (по умолчанию обычно правый Control)+F_сколько надо.
Хотя в какой-то из сборок VBox для какой-то не очень давней Ubuntu это таки не работало :)
Относительно вот этой фразы:
> На неё непременно следует поместить каталог /etc/apt со всем его содержимым, и файл /etc/lsb-release.
Главный здесь смысл в том, что мы перепишем списки репозиториев с Ubuntu на Mint.
Вот здесь вопрос: можно ли списки репозиториев переносить, скажем, из русскоязычной инсталляции в англоязычную?
> На неё непременно следует поместить каталог /etc/apt со всем его содержимым, и файл /etc/lsb-release.
> $ sudo cp -ap /etc/apt-get path2_flash/
Здесь, наверное, вкралась опечатка?
$ sudo cp -ap /etc/apt path2_flash/
Потому что такого /etc/apt-get и нет вовсе.
> Однако предположим, что внешний носитель подготовлен и наполнен правильно — теперь надо его смонтировать.
Предлагаю намного более быстрый и простой способ для всех этих копирований, без всяких флешек… Если вы устанавливаете в VirtualBox или собственной LAN, где есть ещё один компьютер:
— ещё в mini-ubunta устанавливаем менеджер mc:
$ sudo apt-get install mc
— у mc в панелях (левая-правая) есть позиция «Shell-соединение» — это подключение панели по SSH к удалённому хосту
— в выскочившем «введите имя машины» вводим что-то типа: user@192.168.56.1 (IP хост-компьютера ли в LAN)
— и произвольно перемещаемся в панелях на 2-х компьютерах и по F5 перегоняем в обеих направлениях всё что вздумается…
Это раз в 10 быстрее, чем с флешкой бегать.
Ага, опечатку сейчас поправлю.
А по поводу SSH — да, можно и так.
Просто я пытался описать способ автномной установки — когда рабочая машимна где-то далеко, а ты в гостях у дамы или с другом водку пьёшь :)
И флешка с конфигами готовится один раз, так что бегать с ней особо не нужно…
Ещё есть такая интересная штука:
http://repogen.simplylinux.ch/index.php#
Ubuntu Sources List Generator
Генератор sources.list для разнообразны Ubuntu репозиториев, которым можно подключить всякие нужные репозитории, и в копировать прямо на этапе sources.list.d каталог ещё на этапе ubuntu-mini. Строки с экзотическими репозиториями можно на этом этапе закрыть комментариями (на будущее), чтобы не мешали пока.
Очень ценная штука, спасибо, надо будет опробовать на досуге.