Я решил сделать новую рубрику «фишки линукса». В ней я буду рассказывать об интересных решениях, которые универсальны для всех дистрибутивов Линукс. А начну я с рассказа о том, как я управляюсь со своим гаремом операционных систем (сейчас их у меня 5 штук):
Разбивка диска и символьные ссылки
Итак, у меня стояла задача сделать так, чтобы я с любой операционной системы имел доступ ко всем своим данным: рабочим документам, профилю браузера с закладками и паролями, учетным записям для почтового клиента и всему прочему, что необходимо для нормальной ежедневной работы.
В сущности, проблема решается просто. Для данных создается отдельный раздел на диске. Самый большой. В самом простом варианте — 2 операционные системы в дуалбуте — разбивка диска выглядит так:
sda1 — SWAP
sda2 — раздел для 1-ой операционной системы
sda3 — раздел для 2-ой операционной системы
sda4 — раздел с данными.
Если вам нужно больше операционных систем, значит, нужно сделать больше разделов. Я поставил второй жесткий диск, и моя структура разделов выглядит так:
sda4 размером в 200 ГБ и есть мой раздел с данными.
Размер разделов
Объём своп-раздела определяется исходя из личных предпочтений. У меня он 3 ГБ — столько же, сколько оперативной памяти.
Системные разделы нужно делать объёмом от 15 до 30 ГБ.
15 ГБ — это самый минимальный минимум. Для работы системы этого вполне достаточно (хотя некоторые дистрибутивы требуют для установки 20 ГБ места на диске), только надо внимательно следить за свободным объёмом и почаще запускать bleachbit.
20-25 ГБ вполне хватит для нормальной работы системы.
30 ГБ — это размер с запасом. Системе его хватит «за глаза».
Под раздел с данными выделяется всё свободное место. Это то место где будут храниться ваши документы, фото, видео и т.д.
Важный момент: при таком подходе отдельный раздел под домашнюю папку не нужен!
Раздел под домашнюю папку не нужен!
Монтировать домашнюю папку на отдельном разделе рекомендуют для того, чтобы можно было переустанавливать систему без потери личных данных. Но в моём случае у меня уже есть раздел с данными, который решает проблему сохранности нужных мне файлов. Поэтому при установке новой системы я не указываю отдельного раздела для домашней папки. Она создается в корневом разделе системы. То есть при установке системы я указываю ей только один раздел для установки — корневой.
Для хранения данных есть отдельный большой раздел, на котором нет никаких операционных систем, а есть только папка DATA, куда я сложил все-все свои файлы, включая настройки нужных мне программ. Чтобы пользоваться этими данными в любой системе, я делаю символьные ссылки на эти папки.
Создание символьных ссылок
Допустим, у нас есть раздел с данными, в котором лежат папки Документы, Загрузки, Изображения… Короче все стандартные пользовательские папки, которые есть в домашней папке пользователя. Для удобства все они собраны в одну папку. Я назвал её DATA (понятно, что имя может быть любым)
Также в эту папку DATA я перенес папочки с данными программ. У меня это:
.mozilla (здесь лежат данные firefox: пользовательский профиль, расширения, дополнения. сохраненные пароли и т.д.)
.thunderbird (одноименный почтовый клиент: учетные записи и прочее)
Эти папки лежат в корне домашнего каталога. Возможно, у вас есть ещё какие-то папочки, например .skype и .pidgin
Это скрытые папки, чтобы увидеть их в файловом менеджере, перейдите в режим «Показывать скрытые файлы».
Также некоторые нужные настройки и данные программ лежат в папках .local и .config.
Обычно, папки с файлами конфигураций называются также, как программы. Например, для игры «Битва за Веснот» в обоих папках (.config и .local) создается вложенная папка wesnoth. Но бывают и исключения. Например, папки с настройками текстового редактора FocusWriter называются Gottcode.
В общем, с настройками программ план действий прост:
1. Определяем список программ,настройки и данные которых нам нужны в каждой системе
2. Находим их (скрытая папка в корне либо папки в .config и .local)
3. Переносим эти папки в раздел с данными
4. Создаем символьные ссылки на эти папки в своём домашнем каталоге. Если эти папки в системе уже есть, то их надо удалить и заменить символьными ссылками.
Создать символьную ссылку очень просто. В файловом менеджере достаточно щелкнуть правой кнопкой мыши по папке (или другому объекту) и выбрать нужный пункт в появившемся контекстном меню:
Символьная ссылка на папку с конфигурационными данными должна называться также, как и сама папка. То есть .mozilla а не «ссылка на .mozilla». И лежать она должна в том же месте — в корне домашней директории, либо в папке .local и .config
Чтобы не возиться с созданием кучи символьных ссылок при каждой установке системы, я сделал папку, в которой сохранил все нужные мне символьные ссылки. Когда я ставлю новую систему, я просто копирую эти ссылки в нужное место. Это быстро и просто.
Но не всегда всё так просто. Разные системы могут использовать разные точки монтирования, и тогда путь до целевой папки будет отличаться. В этом случае, сделать символьные ссылки можно с помощью скрипта.
Скрипт для создания символических ссылок
Это очень просто. Нужно сделать текстовый файлик links.sh. Название может быть любым (кроме расширения), а содержание выглядит вот так:
#!/bin/sh
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/.thunderbird /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/.Skype /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/.purple /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/Видео /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/Музыка /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/GOOGLE/ФАЙЛО/Документы /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/GOOGLE/ФАЙЛО/Загрузки /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/GOOGLE/ФАЙЛО/Изображения /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/Focuswriter/config/GottCode /home/username/.config
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/Focuswriter/Local/GottCode /home/username/.local/share
Структура скрипта проста:
ln -s — это команда создания символьной ссылки. Далее следует полный путь и название папки на которую нужно создать символьную ссылку (вместо /mnt/какой-то шеснадцатиричный код… нужно подставить ваш путь до раздела и папки с данными,наприер, это может быть /run/media/…), затем через пробел указывается папка, в которой будет создана символьная ссылка (вместо username поставьте свое имя пользователя).
Для наглядности всё это отметил на картинке:
Перед запуском скрипт сначала нужно сделать исполняемым. Можно выполнить в терминале команду chmod +x links.sh либо поставить галочку «разрешить выполнение файла как программы» в свойствах файла.
Также нужно удалить одноименные папки из домашнего каталога, в котором вы будете создавать символьные ссылки (если в этих папках есть важные данные, перенесите их).
Подробнее о скрипте можно прочитать здесь.
После запуска этого скрипта все ваши данные будут у вас под рукой в домашнем каталоге.
Автоматическое монтирование диска с данными
Чтобы все символьные ссылки работали, нужно чтобы раздел с данными автоматически монтировался при загрузке системы. Если этот раздел не подключен, символьные ссылки работать не будут (например, Firefox выдаст ошибку и не запустится) В KDE plasma задача решается очень просто.
В параметрах системы нужно выбрать пункт «Внешние носители», зайти в него и там поставить галочку «Включить автоматическое монтирование внешних носителей информации». В списке носителей отметить «Монтировать при входе в систему» раздел диска, на котором лежит вся ваша информация.
Всё. Теперь все символьные ссылки работают сразу при загрузке системы.
UPD:
Для того чтобы автоматическое монтирование дисков работало, надо в Параметрах системы зайти в раздел Запуск и завершение, перейти в Управление службами и там отметить пункт Подключение внешних носителей.
Обычно он включен по умолчанию, но в Ubuntu 19.04 он оказался не отмечен.