Мои капризы.
Кратко о том что-где:
sda1 метка "fuj120_1" здесь установлена система Ubuntu 14.04.3 i386
sda2 метка "fuj120_2" здесь все остальное.
/mnt/sda2 точка монтирования раздела sda2
/mnt/sda2/opt/ub1404/casper/vmlinuz ядро, копируется с iso-образа Ubuntu
/mnt/sda2/opt/ub1404/casper/initrd.lz первичная фс, копируется с iso-образа Ubuntu
/mnt/sda2/opt/ub1404/casper/filesystem.squashfs линк на файл /mnt/sda2/opt/ub1404_1512.sqfs
/mnt/sda2/opt/ub1404_1512.sqfs бэкап системы
/usr/local/bin/avnpack скрипт для работы с архиваторами
/usr/local/bin/avnnotify скрипт для вывода сообщений
/usr/local/ыbin/avnbackup скрипт для создания-распаковки backup (в стадии разработки, слабо тестирован)
для работы требуется squashfs-tools.
/etc/grub.d/08_my меню grub-a с моими ссылками для загрузки системы
/etc/grub.d/40_flash меню grub-a для загрузки с флешки
/etc/mc/mc.menu файл user menu mc
<< название ссылки в файлах mc.menu, grub.cfg ссылка такого вида в разработке
(4 пробела - абстрактное описание идеи, чем меньше пробелов тем ближе к релизу)
Монтирование разделов провожу по меткам, по мне они нагляднее чем UUID.
Я уважаю консоль, но в нужный момент все команды-флаги вылетают из головы,
наверно где-то дырка. Мое спасение - midnight commander.
Многое он может сам, остальное через "user menu".
Система русифицирована, но интерфейс я оставляю английский,
по-этому команды буду приводить по английски.
Файл fstab
Внимание! Монтирование корня производится по метке.
Не стоит бездумно копировать.
# file system mount point type options <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# /dev/sda1
LABEL=fuj120_1 / ext4 relatime,commit=100,barrier=0,errors=remount-ro 0 0
# /dev/sda2
LABEL=fuj120_2 /mnt/sda2 ext4 noatime,nodiratime,commit=100,barrier=0,errors=remount-ro 0 0
Файл 08_my
#!/bin/sh
# /etc/grub.d/08_my 16.02.
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
set color_normal=light-green/black
set menu_color_normal=light-green/black
set menu_color_highlight=light-green/blue
submenu 'my menu >>' {
set color_normal=light-green/black
set menu_color_normal=light-green/black
set menu_color_highlight=light-green/blue
insmod part_msdos
insmod ext2
kern='3.19.0-25-generic'
key='elevator=noop 4'
src='fuj120_1'
menuentry "Ubuntu, with Linux 4.2.0-16-generic [$src]" --class ubuntu --class gnu-linux -
kern='4.2.0-16-generic'
key="$key forcepae root=LABEL=$src ro --"
insmod gzio
search -l ${src} -n -s
linux /boot/vmlinuz-${kern} ${key}
initrd /boot/initrd.img-${kern}
}
menuentry "Ubuntu, with Linux $kern [$src]" --class ubuntu --class gnu-linux --class gnu
key="$key forcepae root=LABEL=$src ro --"
insmod gzio
if [ x$feature_platform_search_hint = xy ]
then search -l ${src} -n -s --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1
else search -l ${src} -n -s
fi
linux /boot/vmlinuz-${kern} ${key}
initrd /boot/initrd.img-${kern}
}
menuentry "Linux [$src]" --class ubuntu --class gnu-linux --class gnu --class os {
key="$key root=LABEL=$src noresume ro silent quiet --"
savedefault
insmod gzio
search -l ${src} -n -s
linux /vmlinuz ${key}
initrd /initrd.img
}
menuentry 'Linux [fuj120_2] squash' {
src3='fuj120_2'
src2='/opt/ub1404/casper'
src='/opt/ub1404/casper'
key="$key boot=casper ignore_uuid live-media-path=$src noprompt silent quiet quickreboot --"
search -l ${src3} -n -s
linux ${src2}/vmlinuz ${key}
initrd ${src2}/initrd.lz
}
}
Пользователь решил продолжить мысль [time]24 Февраль 2016, 10:15:28[/time]:
Обживаем систему.
Необходимый ингредиент в моем рецепте пакет squashfs-tools, остальное по вкусу.
После установки системы, первая моя комнда: установить synaptic.
Центр приложений - это детский калейдоскоп. Synaptic - топор, которым можно построить дом, а при желании и побриться.
Файл ub1404.install
dconf-editor install
gparted install
indicator-multiload install
mc install
squashfs-tools install
Synaptic хранит свой конфиг в папке: /root/.synaptic
И этот файл я храню там-же.
Запускаем synaptic, выбираем в меню:
File > Read Markings
Откроется окно "Open changes", по умолчанию не показывает "скрытые файлы",
правый клик в пустом месте выберите "Show Hidden Files", выбираем ub1404.install, жмем кнопку "Open".
Происходит выделение пакетов, прописанных в файле, жмем кнопку "Apply", и устанавливаем все сразу.
Подобным образом удаляем все лишнее.
[/size]
Пользователь решил продолжить мысль [time]24 Февраль 2016, 13:03:55[/time]:
Делаем backup
Перезагружаем компьютер, в меню grub выбираем ссылку "my menu", жмем ентер.
Выбираем ссылку "Linux [fuj120_2] squash", жмем ентер.
Загрузится система из образа /mnt/sda2/opt/ub1404_1512.sqfs
Запускаем терминал: Ctrl+Alt+t (у меня терминал в автозапуске, открываетса при старте системы).
Дальнейшие действия потребуют привелегий root.
В терминале выполняем: sudo mc.
Запустится mc с привелегиями root, жмем Ctrl+o - перед вами root-консоль, еще раз Ctrl+o - опять mc.
Больше не должно быть вопросов: "У вас недостаточно прав".
Переходим в каталог: /mnt, выделяем sda1 sda2, жмем "F2", в выпавшем "user menu" выбираем "Mount FS to selected dirs".
Разделы sda1, sda2 смонтируются в /mnt/sda1, /mnt/sda2.
Здесь один нюанс.
При загрузке из squash, система монтирует раздел с образом с ключом "только чтение".
Как и куда монтирует зависит от версии ubuntu и от расположения звезд.
Последнее время чаще всего в: /cdrom, в этом случае в /mnt/sda2 ничего не смонтируется,
будем считать что так и произошло.
Ставим указатель на: /cdrom, F2 > Remount FS in marked dir.
/cdrom перемонтируется с ключом "чтение запись", сохранять образ будем сюда.
В правой панели mc входим в каталог /cdrom, жмем "TAB", указатель переходит в левую панель.
Отмечаем /mnt/sda1, F2 > Create archives from tagged in other panel.
В открывшемся окне с вопросом о типе архива вводим: sqfs
Начнется процесс: mksquashfs сжимает /mnt/sda1 в файл /cdrom/sda1.sqfs
Это и есть наш бекап системы, по окончании переименовываем его в ub1404_1512.sqfs
На "родной машине" загрузитесь с него и окажетесь в родной системе.
Ограничения два: не сохраняются изменения (но и невозможно ничего испортить) и
размер файловой системы равен половине объема ОЗУ (см. на нижней грани панели mc).
Пользователь решил продолжить мысль 24 Февраля 2016, 14:56:16:
Восстанавливаем систему из backup
Загружаем систему из образа /mnt/sda2/opt/ub1404_1512.sqfs
Запускаем терминал. Дальнейшие действия потребуют привелегий root.
В терминале выполняем: sudo mc.
Переходим в каталог: /mnt, монтируем нужные разделы также, как при создании образа.
В левой панели mc входим в каталог: /mnt/sda1 и (хорошо подумав не стоит-ли чего сохранить)
удаляем все из него. Далее возможны два варианта.
1. В правой панели mc нахолим нужный нам образ: ub1404_1512.sqfs, выбираем его (просто установить на него указатель),
жмем F2 > Extract selected archives to other panel
Unsquashfs распаковывает архив на наш раздел, ждем окончания процесса.
2. В левой панели возвращаемся в: /mnt.
В правой панели mc нахолим нужный нам образ: ub1404_1512.sqfs, отмечаем его (установить на него указатель и нажать на клаве "Insert"),
жмем F2 > Mount selected to other panel
Будет создан каталог: /mnt/ub1404_1512, и в него смонтирован наш образ.
В левой панели mc входим в каталог: /mnt/sda1, в правой входим в каталог: /mnt/ub1404_1512
Копируем что нужно справа на лево.
Система восстановлена, перезагружаемся.
Нюанс работы "Extract selected archives to other panel".
Команда появится в меню только если указатель находится на файле архива (селекция по расширению).
Если архив выбран, он будет распакован на другую панель.
Если архив отмечен, на другой панели будет создан каталог с именем архива без расширения,
а уже в него будет распакован архив.