Ремастеринг Linux Mint и пр...

Аватара пользователя
olegwhite
Сообщения: 71
Зарегистрирован: 02 сен 2016, 22:14
Решено: 2
Откуда: Новониколаевка, Запорожская обл.
Благодарил (а): 9 раз
Поблагодарили: 51 раз
Контактная информация:

Ремастеринг Linux Mint и пр...

Сообщение #1 olegwhite » 11 сен 2016, 21:35

Всем добрый день.

В связи с появлением большого количества утилит для Ubuntu-подобных систем для Backup-а, ну не так уж и много, но есть, а главное, они замечательно работают, появилось очень много любителей поделиться своими достижениями в области кастомизации известных дистрибутивов. Хочу обратить внимание на тот факт, что когда Вы создаете backup, то делается снимок системы со всеми достоинствами и недостатками, особенно это касается оборудования, поэтому, довольно часто созданная таким образом ISO-шка уже содержит в себе некоторые глюки и на половине компьютеров корректно работать отказывается.

Любителям ремастеринга -- отложите в сторону свои Remastersys-ы, Pinguy Builder-ы, Systemback-ы и прочие инструменты, делайте настоящие дистрибутивы, ничего сложного в этом нет. Я не открываю Америку, а просто интерпретирую уже имеющуюся статью.

Для начала установите нужное для ремастеринга ПО, откройте терминал и введите: (или просто Copy - Paste)

Код: Выделить всё

sudo aptitude install squashfs-tools genisoimage

далее, я не буду изгаляться и переименовывать каталоги предложенные в оригинале статьи, а просто, по-русски, изложу суть и докажу, что ничего нет проще, чем создать настоящий установочный *.iso образ, который будет не стыдно показать другим и после установки системы с него, глюков не будет больше чем было в оригинале, если, конечно Вы сами не перестараетесь.

Итак...

1. Создате рабочую директорию (папку, каталог...), это можно сделать и с помощью мыши...

Код: Выделить всё

mkdir ~/mylivecd

~/ означает, что... если Вы ремастерите, то уже знаете, что это означает, в противном случае, нужно еще немножко подучиться...

2. Скопируйте исходный образ в созданную директорию ~/mylivecd

Код: Выделить всё

cp /path_to_the_downloaded_iso_directory/linuxmint-17-cinnamon-64bit-v2.iso ~/mylivecd

это так же можно сделать с помощью мышки.

3. В терминале введите:

Код: Выделить всё

cd ~/mylivecd

перешли в каталог ~/mylivecd

Код: Выделить всё

mkdir mnt

создали директорию mnt

Код: Выделить всё

sudo mount -o loop linuxmint-17-cinnamon-64bit-v2.iso mnt

примонтировали исходный образ в эту директорию

Код: Выделить всё

mkdir extracted

создали каталог extracted

Код: Выделить всё

sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extracted

Код: Выделить всё

sudo unsquashfs mnt/casper/filesystem.squashfs

этими командами Вы скопировали содержимое iso и распаковали filesystem.squashfs

Код: Выделить всё

sudo mv squashfs-root edit

переименовали каталог squashfs-root который образовался в процессе распаковки в edit, вот в этом каталоге и нужно вносить изменения.

4. Для нормальной работы сети в процессе работы с будущей системой в среде chroot скопируте файлы из своей системы в "подопытную":

Код: Выделить всё

sudo cp /etc/resolv.conf edit/etc/

Код: Выделить всё

sudo cp /etc/hosts edit/etc/

хочу заметить, что как раз с этого места и начинается вход в chroot-окружение, за наличием в будущей системе этих файлов нужно следить, иначе невозможно будет установить что-либо.

5.

если Вы привыкли пользоваться программами с графическим интерфейсом (например Synaptic), то эта команда просто необходима, она позволяет запускать таковые из chroot окружения.
Еще одна команда монтирования...

Код: Выделить всё

sudo mount --bind /dev/ edit/dev

а теперь, собственно вход в chroot-окружение...

Код: Выделить всё

sudo chroot edit

как Вы поняли, если работу невозможно закончить сегодня, то выйдя из chroot вход нужно начинать с шага копирования файлов сетевых настроек resolv.conf и hosts (в принцыпе, можно и не копировать повторно, но лучше перестраховаться)

Далее, по очереди вводите в терминал команды:

Код: Выделить всё

mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
export HOME=/root
export LC_ALL=C

этим Вы монтируете необходимые для работы каталоги, назначаете домашнюю директорию, настройки локали...

6. Последние приготовления...

Код: Выделить всё

dbus-uuidgen > /var/lib/dbus/machine-id

Код: Выделить всё

dpkg-divert --local --rename --add /sbin/initctl

Код: Выделить всё

ln -s /bin/true /sbin/initctl

7. Вот теперь можно делать все, что Вы обычно делаете со своей системой...

Код: Выделить всё

apt-get update

Код: Выделить всё

apt-get install ... 

или запустить Synaptic командой...

Код: Выделить всё

synaptic

по опыту могу сказать, что не все работает корректно, например mintupdate запускается, но обновления не устанавливаются, я выхожу из данной ситуации другими способами.

Если есть пакеты с расширением *.deb и хочется их установить в будущую систему, нужно скопировать таковые в отдельный каталог, некоторые создают для этого отдельный каталог, я использую имеющийся /tmp и после копирования перехожу в него и даю команду на инсталяцию...

Код: Выделить всё

dpkg -i *.deb 

Естественно, перед тем как ремастерить, нужно установить систему отдельно, настроить ее, а потом перенести все настройки в создаваемую, каждый решает эту проблему по-своему.
Если проводились эксперименты с ядрами или устанавливались другие необходимо дать пару команд

Код: Выделить всё

cp edit/boot/vmlinuz* extracted/casper/vmlinuz

Код: Выделить всё

cp edit/boot/initrd.img* extracted/casper/initrd.lz

Обязательно проверяем наличие ...

Код: Выделить всё

apt-get install ubiquity-frontend-gtk

(Это, собственно, установщик Live-системы)

Допустим, что все уже сделано... или еще нет? Если нет, все равно переходите к следующему шагу...

8. Удаляем свое присутствие в будущем образе... Просто вводите поочередно команды изложенные ниже:

Код: Выделить всё

aptitude clean

Код: Выделить всё

rm -r /var/cache/apt/archives/*
это я делаю вручную, есть там папка partial и файл lock их лучше оставить...

Код: Выделить всё

rm -rf /tmp/* ~/.bash_history

Код: Выделить всё

rm /var/lib/dbus/machine-id

Код: Выделить всё

rm /sbin/initctl

Код: Выделить всё

dpkg-divert --rename --remove /sbin/initctl

Код: Выделить всё

umount /proc || umount -lf /proc

можно игнорировать собщения об ошибке

Код: Выделить всё

umount /sys

Код: Выделить всё

umount /dev/pts


если не выходит, введите exit 0

Код: Выделить всё

sudo umount edit/dev

можно игнорировать собщения об ошибке

тоже что и xhost + только наоборот

если использовались утилиты с графическим интерфейсом, обязательно введите следующую пару команд:

Код: Выделить всё

sudo rm -rf edit/run/synaptic.socket

Код: Выделить всё

sudo rm -rf edit/home/*

Все, Вы корректно вышли из chroot-окружения и если остались незаконченные дела, можно будет продолжить позже, начинать теперь нужно с шага 4 сего трактата предварительно проверив, что Вы находитесь в каталоге ~/mylivecd, если терминал запущен из меню, то ...

Код: Выделить всё

cd ~/mylivecd


Все, закончили? "Собираем"-ся...

9. Регенерируем filesystem.manifest, мало что это говорит, в принципе и вникать особо не нужно, скажу только, что после внесенных нами/Вами изменений системе нужно обновить информацию о своем новом содержании. Просто вводим последовательно команды и не обращаем внимания на предупреждения...

Код: Выделить всё

chmod +w extracted/casper/filesystem.manifest

Код: Выделить всё

chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extracted/casper/filesystem.manifest

Код: Выделить всё

cp extracted/casper/filesystem.manifest extracted/casper/filesystem.manifest-desktop

Код: Выделить всё

sed -i '/ubiquity/d' extracted/casper/filesystem.manifest-desktop

Код: Выделить всё

sed -i '/casper/d' extracted/casper/filesystem.manifest-desktop


10. Очень круглое число, любимое число Mr. Monk, теперь сжимаем все, что там "наваяли"...

Удаляем старый filesystem.squashfs

Код: Выделить всё

rm extracted/casper/filesystem.squashfs

А теперь упаковываем/сжимаем...

Код: Выделить всё

mksquashfs edit extracted/casper/filesystem.squashfs -comp xz


11. Обновляем разные обязательные файлы типа README или md5sums...

Код: Выделить всё

printf $(sudo du -sx --block-size=1 edit | cut -f1) > extracted/casper/filesystem.size

Код: Выделить всё

cd extracted

Код: Выделить всё

rm MD5SUMS

Код: Выделить всё

find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee MD5SUMS

Ну и наконец-то собираем свою ISO-шку...

Код: Выделить всё

mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../My_LM-17.3-XFCE-64bit.iso .

Прошу обратить внимание на точку в конце, она обязательна, иначе ничего не получится.

Код: Выделить всё

sudo chmod 777 ~/mylivecd/My_LM-17.3-XFCE-64bit.iso

ВСЕ... Теперь можно тестировать полученное "чудо".


P.S. В версиях 17.х иногда после сборки возникает ошибка

Busybox V 1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) buil-in shell (ash)
enter 'help' for a list of built-in comands.

(initramfs) /cow format specified as aufs and no support found.

причина сего неизвестна, а решение есть, нужно добавить в файл
/etc/initramfs-tools/modules
вот это
overlayfs
aufs

а потом дать команду

Код: Выделить всё

sudo update-initramfs -u

Аватара пользователя
x230
Сообщения: 364
Зарегистрирован: 02 сен 2016, 22:07
Решено: 2
Благодарил (а): 78 раз
Поблагодарили: 85 раз
Контактная информация:

Re: Ремастеринг Linux Mint и пр...

Сообщение #2 x230 » 16 окт 2016, 16:37

Wow!

Просто для о-о-очень понимающих.
Для простого же люда есть способ проще (как это делал я):
1) копируем в каталог /etc/skel следующее (на примере Mate):
Изображение

в том числе каталог '.config'
Изображение

в том числе каталог '.local/share'
Изображение

добавляем сюда свой установленный софт и ессно браузеры со своими настройками.

2) устанавливаем Remastersys:
если не нашли в Инете, то скачать можно тут:
... для LM до 17.3: http://x230.ru/downloads/remastersys-3.0.4-1.zip
и
... для LM 18.*: http://x230.ru/downloads/remastersys-3.1.1-2.zip

3) Запускаем Remastersys и жмём кнопки как на картинке:
a)
выбор картинки меню загрузки
Изображение
b)
выбираем имя пользователя, назв.пункта загрузки и (не слишком длинное) название дистра.
Изображение
c)
жмём заветную кнопочку и идем пить кафу.
Изображение

Всё!
Последний раз редактировалось x230 27 ноя 2016, 18:42, всего редактировалось 2 раза.
моя платформа :
ОС: Linux Mint 18.2 Sonya, 64-bits. DE: Cinnamon 3.4.3. Ядро: 4.8.0-53-generic x86_64. Browser: Pale Moon 27.3.0
Железо: Intel Core i3-3210; CPU 3.20GHz x 2; Mem 4GB; VGA - на борту.

Аватара пользователя
x230
Сообщения: 364
Зарегистрирован: 02 сен 2016, 22:07
Решено: 2
Благодарил (а): 78 раз
Поблагодарили: 85 раз
Контактная информация:

Re: Ремастеринг Linux Mint и пр...

Сообщение #3 x230 » 16 окт 2016, 16:42

Прилагаю файлы установки Remastersys.
На всякий случай...
Вложения
remastersys-3.1.1-2.zip
(3.07 МБ) 22 скачивания
remastersys-3.0.4-1.zip
(3.23 МБ) 18 скачиваний
моя платформа :
ОС: Linux Mint 18.2 Sonya, 64-bits. DE: Cinnamon 3.4.3. Ядро: 4.8.0-53-generic x86_64. Browser: Pale Moon 27.3.0
Железо: Intel Core i3-3210; CPU 3.20GHz x 2; Mem 4GB; VGA - на борту.

Аватара пользователя
olegwhite
Сообщения: 71
Зарегистрирован: 02 сен 2016, 22:14
Решено: 2
Откуда: Новониколаевка, Запорожская обл.
Благодарил (а): 9 раз
Поблагодарили: 51 раз
Контактная информация:

Re: Ремастеринг Linux Mint и пр...

Сообщение #4 olegwhite » 16 окт 2016, 20:02

x230 писал(а):Источник цитаты Прилагаю файлы установки Remastersys.

В принципе, я не спорю, намного проще и удобнее, но... Но не на всех конфигурациях созданный таким образом образ запустится/корректно установится, об этом я упомянул в начале сего трактата. Например, буквально сегодня пытался установить французский Cubuntu / своеобразный салат "Оливье" из рабочих окружений (Unity+MATE+Cinnamon), и не получилось, скорее всего из-за того, что собирался образ чем-то наподобие Remastersys, а моя конфигурация сильно отличается от исходной, даже в Live не загрузился. А вот еще пример, есть такой себе очень стильненький дистрибутивчик Uberstudent для образовательных учреждений, но опять таки, из-за способа сборки установился, но некорректно отрисовывает графику на SiS-овской видеокарточке... Вот так вот.
Если Вы создаете образ для себя, чтобы развернуть быстро на большом количестве однотипного оборудевания - Remastersys Вам в руки, а если собираетесь устанавливать систему не только себе, но и друзьям, то чтобы избежать конфуза, лучше создать образ описанным в статье способом.

Аватара пользователя
Chocobo
Сообщения: 3491
Зарегистрирован: 27 авг 2016, 22:57
Решено: 80
Откуда: НН
Благодарил (а): 317 раз
Поблагодарили: 919 раз
Контактная информация:

Re: Ремастеринг Linux Mint и пр...

Сообщение #5 Chocobo » 04 ноя 2016, 01:54

olegwhite писал(а):Источник цитаты Но не на всех конфигурациях созданный таким образом образ запустится/корректно установится,

Плюсую, после проведенных сегодня экспериментов с этими инструментами.

Сначала решил пойти "легким путем", т.к. окружение уже настроено, с нуля выстраивать в чруте все изменения лениво и муторно. Но remastersys не сумел пережевать мои амбиции - менялось и окружение и dm, комозит, перелопачена немалая часть пакетов и конфигов...

Все опыты проводились без изменения аппаратных конфигураций, на одной и той же машине. В лайв загружаться я его все-таки кое-как приучил, но вот ubiquity продолжил падать без какой-либо ругани в debug-логи, просто "Аварийное завершение" :cray2:

Наигравшись с этими граблями вдоволь и познав дзен неоднократной пересборки образов после незначительных правок :dash2: (невольно вспомнилось время жизни в gentoo) - постепенно пришло понимание что действовать стоит пошагово методом из шапки.

В итоге оно заработало с первого раза. Разумеется, как и предполагалось, в процессе творчества за чрутом забыл добавить некоторые пакеты и конфиги, но скажем так "преальфа-версию" будущего образа - можно считать успешной. :vic:

olegwhite, мои Вам благодарности, за эту инструкцию :thumbs:
Изображение

Аватара пользователя
olegwhite
Сообщения: 71
Зарегистрирован: 02 сен 2016, 22:14
Решено: 2
Откуда: Новониколаевка, Запорожская обл.
Благодарил (а): 9 раз
Поблагодарили: 51 раз
Контактная информация:

Re: Ремастеринг Linux Mint и пр...

Сообщение #6 olegwhite » 04 ноя 2016, 15:46

Chocobo писал(а):Источник цитаты...Наигравшись с этими граблями вдоволь и познав дзен неоднократной пересборки образов после незначительных правок :dash2: (невольно вспомнилось время жизни в gentoo) - постепенно пришло понимание что действовать стоит пошагово методом из шапки.

В итоге оно заработало с первого раза. Разумеется, как и предполагалось, в процессе творчества за чрутом забыл добавить некоторые пакеты и конфиги, но скажем так "преальфа-версию" будущего образа - можно считать успешной.

Вот точно так и я, "наигрался с этими граблями" и в конце-концов пришел к вышеизложенному методу, да, косяки бывают, НО, но это мои косяки, а не разрабов "облегчающих" мне жизнь, если ошибка, то она МОЯ и мне ее исправлять.
Единственное, что бы мне хотелось сделать, так это написать пару скриптов, а вернее разделить весь процесс на три скрипта (может 4), а точнее, все хотелось заключить в одну оболочку с тремя кнопками (с использованием zenity) - подготовка, вход в chroot (вход, работа в окружении и, соответственно, выход, это чтобы можно было прерваться и продолжить работу в удобное время) , сборка. Но никак времени не выделю, я не программист, принцип написания скриптов понимаю, по "образу и подобию" состряпать могу все что угодно, но нужно время, потому как я многого не знаю и постигаю все по мере необходимости, а сейчас на повестке дня есть рабочие организационные вопросы которые забирают у меня уйму сил и энергии, и абсолютно не связанные с компьютерной техникой и ПО...

P.S. А что собираем?

Аватара пользователя
Chocobo
Сообщения: 3491
Зарегистрирован: 27 авг 2016, 22:57
Решено: 80
Откуда: НН
Благодарил (а): 317 раз
Поблагодарили: 919 раз
Контактная информация:

Re: Ремастеринг Linux Mint и пр...

Сообщение #7 Chocobo » 04 ноя 2016, 17:30

olegwhite, хорошая идея подговиьт инструментарий. Тоже подумаю на досуге в этом направлении :thumbs:

olegwhite писал(а):Источник цитаты P.S. А что собираем?

Да я все играюсь с WM'ками, чтоб собрать неприхотливую систему без особых потерь от исходного юзабилити присущей Минту. Если все пойдет нормально, скоро представлю что-нибудь в общий доступ, пока рано)
Изображение

Аватара пользователя
Chocobo
Сообщения: 3491
Зарегистрирован: 27 авг 2016, 22:57
Решено: 80
Откуда: НН
Благодарил (а): 317 раз
Поблагодарили: 919 раз
Контактная информация:

Ремастеринг Linux Mint и пр...

Сообщение #8 Chocobo » 04 май 2017, 10:20

Апну темку спустя полгода :smile:
В случае применения инструкции к LMDE2 - в 3-м пункте путь к .squashfs будет mnt/live/filesystem.squashfs
при сборке разумеется также.

И еще один момент, в 18+ и LMDE2 для сборки iso-образа необходимо использовать genisoimage, который пришел на смену mkisofs. Синтаксис и ключи не изменились.
Изображение

Аватара пользователя
Dja
Сообщения: 1553
Зарегистрирован: 27 авг 2016, 20:03
Решено: 9
Откуда: Воскресенск
Благодарил (а): 241 раз
Поблагодарили: 166 раз
Контактная информация:

Ремастеринг Linux Mint и пр...

Сообщение #9 Dja » 01 июн 2017, 14:45

А здесь именно live получается? С возможностью сохранять изменения? С возможностью грузиться в ефи и легаси?
Новичок? - ознакомься с правилами
Изображение
В поисках истины :grabli:
Изображение

Аватара пользователя
Chocobo
Сообщения: 3491
Зарегистрирован: 27 авг 2016, 22:57
Решено: 80
Откуда: НН
Благодарил (а): 317 раз
Поблагодарили: 919 раз
Контактная информация:

Ремастеринг Linux Mint и пр...

Сообщение #10 Chocobo » 01 июн 2017, 15:20

Dja, Это перебор оригинального ISO, т.е. предполагается что он будет таким же, как и официальный образ но с твоими правками - дальше уже полет фантазии. Обычный лайв образ с возможностью установки (если не снести из комплекта сам инсталлер ubiquity :smile: ).
По уефи - я когда игрался уефи отломил напрочь. Но в сети встречал мануалы как это дело исправить. Сам пока не пробовал, за ненадобностью
Изображение

Аватара пользователя
Dja
Сообщения: 1553
Зарегистрирован: 27 авг 2016, 20:03
Решено: 9
Откуда: Воскресенск
Благодарил (а): 241 раз
Поблагодарили: 166 раз
Контактная информация:

Ремастеринг Linux Mint и пр...

Сообщение #11 Dja » 01 июн 2017, 15:43

Chocobo, дело в том, что если подключаться в легаси, то на целевом ноуте ловлю подвисон. Ни на что не реагирует. Минут 10-15 сессии и всё. В ефи вроде такого не наблюдалось. (лайв)
Новичок? - ознакомься с правилами
Изображение
В поисках истины :grabli:
Изображение

Аватара пользователя
Chocobo
Сообщения: 3491
Зарегистрирован: 27 авг 2016, 22:57
Решено: 80
Откуда: НН
Благодарил (а): 317 раз
Поблагодарили: 919 раз
Контактная информация:

Ремастеринг Linux Mint и пр...

Сообщение #12 Chocobo » 01 июн 2017, 16:28

Ну у меня пока нет идей как это может быть связано. Работа системы в целом вряд ли может зависеть от метода загрузки.
если виснет лайв - может сам носитель тут причем?
Изображение

Аватара пользователя
Dja
Сообщения: 1553
Зарегистрирован: 27 авг 2016, 20:03
Решено: 9
Откуда: Воскресенск
Благодарил (а): 241 раз
Поблагодарили: 166 раз
Контактная информация:

Ремастеринг Linux Mint и пр...

Сообщение #13 Dja » 01 июн 2017, 16:28

Chocobo, лайв в легаси вроде не пробовал...
Новичок? - ознакомься с правилами
Изображение
В поисках истины :grabli:
Изображение


Вернуться в «Руководства»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей