воскресенье, 2 февраля 2014 г.

БЫСТРАЯ РАЗВЕРТКА DEBIAN-BASED СИСТЕМЫ ВСТРОЕННЫМИ СРЕДСТВАМИ (squashfs,unsquashfs)

          Существуют десятки,даже,наверное,сотни систем Gnu/Linux основанных на Debian.В них используются различные установщики-инсталляторы,у каждого из которых существуют свои плюсы и минусы,но,ИМХО,главным их общим минусом является то,что для их использования необходимо сначала создать загрузочный DVD или флешку,загрузиться с того устройства,и только тогда уже можно вершить установку (развертку) системы на диск,будь то классический  дистрибутивный образ,OEM-поставка или Live/Install-backup,но - это всё связанно с некоторым временем,необходимостью перезагружать свой PC или ноутбук и разными другими,часто своеобразными ньюансами...А если,например,у меня в плей-листе любимого VLC ещё пара-тройка свежих фильмов?...Существует ли способ избежать перезагрузки,для загрузки инсталляционного носителя (виртуалки не в счет - это суходр..ка,ИМХО),но таки установить избранный дистрибутив для опытов и вивисекций,подготовив его к немедленному использованию сразу после ребута в произвольный момент будущего времени,не прерывая текущего пользовательского сеанса в основной системе?Конечно же,ответ - да.Однозначно... ))
            Как правило,любой инсталлятор предоставляет будущему пользователю энного дистрибутива такие возможности,как выбор локали,разметка дискового пространства под новую систему,создание файловой системы,создание пользовательского аккаунта,задание пароля новому пользователю и (не всегда) root-y,а затем происходит простая развертка содержащего системные файлы контейнера на выбранный раздел и пост-установочная скриптовая отработка сделанных неофитом выборов в режиме CHROOT  по отношению к развернутой системе.Вот мы и попробуем сами себе этот вспомогательный инструмент заменить.
            Многое,кстати,описано здесь:
http://www.debian.org/releases/wheezy/mipsel/apds03.html.ru

            Итак,запустим какой-нибудь эммулятор терминала,не прерывая просмотра зачётной киношки,отодвинем его окошко в уголок,что б не закрывал экранчик плеера,и начнём свои волкания:

$ cd /где/лежит/образ/дистра
$ 7z -x imagename.iso  imgdir
$ mv -vf imgdir/live/filesystem.squashfs filesystem.squashfs && rm -rf imgdir

              На этом этапе мы можем воспользоваться преимуществом нашего нахождения в иксах текущего сеанса и просто запустить Gparted для подготовки раздела для будущей системы в нужном формате и нужной меткой тома,если таковой еще не создан,а можем продолжить набирать в окошке терминала (sakura forever):

$ sudo fdisk /dev/sda
type "p" for partitions map
type "n" for create the new partition
type "p" for re-check changes
type "w" for write changes to hdd
тут,думаю,всё понятно,а если нет - Google is your best friend

$ sudo mkfs.ext4 /dev/sda[X]  -  где [X] это номер нового раздела в таблице
$ sudo tune2fs -r 0 -m 0 -c 0 -L "LABEL" /dev/sda[X]  -  где [X] это номер нового раздела в таблице
$ sudo mount /dev/sda[X] /mnt  -  где [X] это номер нового раздела в таблице
$ sudo rm -rf  /mnt/*
$ sudo unsquashfs -f -d /mnt *.squashfs;ls /mnt
$ sudo mount --bind /dev /mnt/dev && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys && sudo mount --bind /dev/pts /mnt/dev/pts && sudo chroot /mnt
$# groupadd -r sudo
$# groupadd -r admin
$# useradd -g sudo -G admin,video,audio,plugdev,cdrom,dialout,users  -s /bin/bash -d /home/newuser -m newuser
или
$# nano /etc/adduser.conf    -    и раскомментировать/изменить строки ""EXTRA_GROUPS="dialout cdrom floppy audio video plugdev users"  "" и ""ADD_EXTRA_GROUPS=1""
$# adduser newuser
$# passwd newuser && passwd root
$# dpkg-reconfigure locales && dpkg-reconfigure tzdata
$# nano /etc/hostname
$# nano /etc/hosts
$# exit
Здесь есть смысл добавить немного хакa:
$ sudo rm -rf /mnt/etc/network /mnt/etc/NetworkManager /mnt/etc/ppp /mnt/etc/apt /mnt/etc/sudoers /mnt/usr/share/icons /mnt/usr/share/themes /mnt/usr/share/images /mnt/usr/share/backgrounds
$ sudo rsync -var /etc/apt /etc/network /etc/NetworkManager /etc/ppp /usr/share/icons /usr/share/themes /usr/share/images /usr/share/backgrounds  /etc/resolv.conf  /etc/sudoers /mnt/etc
$ rsync -var ~/.icons ~/.themes /mnt/home/newuser

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

$ sudo chroot /mnt
$# nano /etc/sudoers && nano /etc/resolv.conf && chmod -w /etc/resolv.conf (бывает облегчает жизнь)
$# apt-key adv --recv-keys --keyserver keyring.debian.org `sudo aptitude update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | xargs`
Альтернативные keyservers: keyserver.pgp.com , hkp://subkeys.pgp.net , keyserver.ubuntu.com
$# aptitude update
$# aptitude install console-setup console-cyrillic localepurge bleachbit dpkg-dev dpkg-repack synaptic prelink preload gpm mc mc-data pavucontrol dselect gparted fsarchiver p7zip-full unrar rar mencoder ffmpeg mplayer smplayer vlc mpg123 mpg321 transcode transcode-utils unionfs-fuse aufs-tools squashfs-tools mhddfs  [some your favorite package here] 

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


Можно,так же,при желании иметь в новой системе весь набор софта из основной системы, уже установленным,выполнить и перенос пакетной базы:
$# exit
$ dpkg --get-selections > pkg.txt
$ sudo mv -vf pkg.txt /mnt
$ sudo chroot /mnt
$# dselect access


И выбрать в качестве фронтенда Apt, а основного источника файл /etc/apt/sources.list и отказаться от перезаписи файла.

$# dselect update
$# dpkg --set-selections < pkg.txt
$# dselect update
$# apt-get -f dselect-upgrade
$# aptitude update && aptitude full-upgrade
$# exit
$ sudo blkid
$ sudo cp -vf /etc/fstab /mnt/etc/fstab && sudo nano /mnt/etc/fstab

Правим UUID для целевой системы и сохраняемся.

           Ну,вот,и кино посмотрели и новую систему поставили - можно спокойно делать:

$ sudo umount /mnt/dev/pts /mnt/sys /mnt/proc /mnt/dev /mnt && sudo update-grub && sudo reboot -f

           Таким образом можно установить на Ж/Д локальной рабочей станции,любую Debian-based систему,однако следует понимать,что,например,если вашей основной системой является Ubuntu,то не стоит заменять  из неё /etc/apt в целевом Debian или Siduction,или пытаться выполнить из неё перенос пакетной базы в несовместимую систему.В остальном же,большинство конфигов Ubuntu-based систем,кроме скриптов инициализации загрузки, аналогичны конфигам Debian & Debian-based систем и вполне взаимозаменяемы,однако, следует  упомянуть о крайней осторожности в этом деле,без докучливой навязчивости...как-то-так...

P.S.:
Не так давно,был приятно удивлён,обнаружив среди спектра инсталляторов семейства Debian-based систем некое удобнейшее и универсальнейшее  изделие в составе дистрибутива Point Linux,от мейнтейнера : Peter Ryzhenkov ,прежде всего замечательное тем,что может быть задействован для практически любой Debian-based системы или отдельно созданного контейнера squashfs,на произвольном локальном разделе,для его развертки на целевой раздел прямо из текущего пользовательского сеанса.Достаточно,лишь отредактировать основной конфиг инсталятора -  /etc/pointlinux-installer/install.conf  -  вписав нужный путь к содержащему системные файлы контейнеру и это чудо на Питоне 2.7 выполнит всё то что я описывал для терминала в красивой GUI-вине,от разметки,до создания пользователя и установки загрузчика Grub2.А из зависимостей только python,imvirt,gpart и ещё какая-то мелочь,т.е.,это может быть установлено практически на любую систему семейства Debian и работать!Ням!Must have!В лучших традициях инициативы DEX...
http://habrahabr.ru/post/115781/




         

пятница, 8 марта 2013 г.

Отвлечённые замечания о кастомизации и пересборке Debian-based,и не только,дистрибутивов Gnu/Linux на десктопе и в Live-режиме

       В качестве преамбулы:

http://linuxmir.ru/tag/DEX  

     Итак,прежде всего,хочу отметить,что всё высказанное здесь,является лично моим мнением,хоть и основанном на годах практики изысканий и десктопотворчества,и являет единственной целью призвать сообщество пользователей Linux к несколько нестандартному взгляду на некоторые устоявшиеся методики,подходы,практики и решения в использовании,формировании и распространении их любимых дистрибутивов.Ну,и коль скоро флагманом в деле продвижения Linux в массы являются именно представители семейства Debian GNU/Linux,с него и начнём это фривольное обозрение.

        Я не намерен распространяться здесь о достоинствах дистрибутивов на основе Debian и их настройки,а собираюсь лишь выразить собственное видение и манеру обращения с этими реализациями донесения до конечного пользователя мощнейшего потенциала и спектра возможностей ядра Linux и программ Open Source.

        Да,ну и с чем же мы,в сим процессе обращения,сталкиваемся в первую очередь?Наверное с самим образом распространения этих замечательных творений отличных комманд разработчиков самых разных дистрибутивов - ну,мы натыкаемся на упоминание,где-либо,самого факта существования таковых,далее идём на сайт энного проэкта,где нам любезно предлагают как-либо скачать дистрибутивный образ и установить его,как и описывается в пошаговых How-To,HandBook-ах,Руководствах пользователя и т.д.,и т.п.,и в результате становимся счастливыми обладателями одного из шедевров конструкторской мысли создателей избранного нами дистрибутива.Обычное дело,не так ли?..А что же нас ожидает далее?О,к сожалению,практически всегда,нас будут ожидать какие-нибудь проблемы с настройками того или иного эллемента системы,поскольку предугадать все возможные современные конфигурации оборудования у конечного пользователя очень трудно,если вообще возможно (стартовые сервисы,системные службы,демоны,некорректно или же вообще не выставленные настройки режимов работы драйверов и оборудования...) и мы вынужденны идти на разные форумы,искать всяческие,более расширенные руководства по настройке всех этих ньюансов и тратить целый день,если не больше,на настройку системы,проявляя находчивость и изобретательность,пользуясь научным методом слепого тыка,и эти действия обобщённо называются "напилингом","допиливанием" системы,в той или иной мере, и оставляются создателями дистрибутивов на исключительное разрешение самим конечным пользователем их продукта.Конечно,пользователи со стажем использования конкретно взятого дистрибутива воспринимают все эти действия,как само сабой разумеющиеся,выполняют их практически автоматически,быстро приводя систему в рабочее состояние,но важно понимать,что для тех,кто знакомится с дистрибутивом впервые они не есть нативны,очевидны и просты в поиске и освоении,чем Linux многих и отпугивает.С другой стороны,знатоки и гуру посвящённых дистрибутивам ресурсов начинают толковать о "порогах вхождения","философии дистрибутива","True Way","танцах с бубном",порой напоминая неких религиозных фанатиков-фундаменталистов,повторяющих священные мантры о манах,хелпах,доках,вики,факах и прочих святых писаний и сборников чудодейственных заклинаний-команд для копи-паста,превращая настройку и использование этих дистрибутивов в некое священнодейство адептов сакрального знания...:)Но,суть в том,что все эти этапы и методы настройки системы до рабочего состояния,даже единожды их преодолевшим,начинают казаться естейственными,логичными и правильными,а подходы отличные от описанных в священных скрижалях Хендбуков их дистрибутивов,начинают восприниматься,как ересь и крамола,не имеющая права на существование,начиная холивары ,едва только завидят точку зрения или подход не соответствующий "философии дистрибутива",а попросту оттого,что они такого не знают и не умеют,а это не есть хорошо,потому,хотя бы,что в самих этих аутентичных Хенбуках,нигде не сказанно,ни слова,что нельзя применять для достижения тех же результатов какие-либо другие,альтернативные и обобщённо-комплексные подходы и методы.

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

      Задавались ли вы вопросом,почему,на самом деле и без учёта сравнения внутренних особенностей этих систем и систем Linux,пользователи ОС Windows и Mac OS X имеют,даже по самой поверхностной оценке,гораздо меньше проблем с укрощением свежеустановленной системы,будь то ПК или ноутбук,не поминая всуе всякие прочие девайсы?Потому,что в инсталляционных образах тех ОС интегрированны наборы драйверов под любое возможное оборудование пользователя или,может быть,их установщики неким мистическим образом,даже на не подключённых к сети интернет устройствах,из астрала считывают информацию о том,какие средне-оптимальные настройки драйверам на имеющееся в наличии оборудование следует задать,что бы после установки "просто всё работало",а?Нет,нет,нет и ещё раз нет!

       Любой,кто пожелает изучить недра установочных носителей помянутых осей зла,поработивших компьютеры реакционного человечества с комплексом игромании,без особого труда обнаружит,что ОС Windows использует при установке некий сжатый 7zip файл "install.wim",а Mac OS X некий файл "install.dmg",в недрах установочного образа ,котрые являются всего лишь сжатыми образами соответствующих файловых систем с предустановленными версиями своих операционных систем,а я открою страшную тайну - их установщики просто распаковывают содержимое этих файлов-образов на выбранный в графическом интерфейсе раздел,затем выполняют аналог Linux-ового CHROOT в корень распакованной системы,создают пользователя,пароль,права,группы,ставят загрузчик и пр.,размонтируются и просят пользователя вынуть инсталляционный носитель и перезагрузить компьютер,что бы выполнить вход в свежеустановленную систему.Всё предельно просто - предустановленная на эталонном компьютере сборки Microsoft или Mac система,в тех образах,как раз и включает в себя и основные пакеты драйверов,и настроенные под среднестатистическую данность конфиги,и полностью сформированное окружение рабочего пространства пользователя,а при первой загрузке системы происходит автоматическая инициализация ядра,деактивация ненужных драйверов и регистрация задействованных по факту.Разумеется,это крайне общее описание,без всех тонкостей,но в общем,так это всё и работает,ну и,конечно,и в этих ОС частенько приходиться озаботится поисками драйверов под какое-нибудь экзотическое оборудование или редактировать настройки,но это,на фоне в целом уже настроенной системы,не требует,в большинстве случаев,каких-то мистических премудростей консоли  и "танцев с бубном",по большому счёту...А чем же тогда это отличается от практики Linux?А,по большому счёту,ничем!Вот,в Debian-based системах используется файл-образ filesystem.squashfs,который так же развёртывается,куда укажете в установщике и т.д.,вот только,может от того,что платят сборщикам меньше,чем в Microsoft,а может из соображений поддержания "философии дистрибутива",там,при установке,хоть и делается практически всё то же самое,но далеко не так основательно и универсально - играет злую шутку сам способ обеспечения загрузки live режима,при котором ядро и стартовые/системные службы инициализируются и формируют конфигурационные файлы для обеспечения нормальной работы с носителя без установки, по сути в ОЗУ,а установочные скрипты копируют из памяти только ядро и загрузочный образ (initrd),но большая часть остальных конфигов попросту обнуляется!Пользователь,мол,сам потом всё себе настроит,как надо.В итоге,пользователь получает после установки ненастроенную копию содержимого  файла-образа filesystem.squashfs,для простоты,собираемого создателями дистрибутивов сборочными скриптами,изначально в консольном CHROOT режиме к эталонному компьютеру сборки системы (Ubuntu,LinuxMint,LMDE,etc.),с нерабочими дефолтными настройками,где большая часть системных конфигурационных файлов фильтруется в параметрах "--exclude",а вся эффектность и юсабилити live режима,попросту теряется в уже установленной системе!Если же говорить о классическом Debian,то дело будет обстоять ещё хуже - "правильная" установка вообще не предусматривает live режима,а если ваш провайдер не раздаёт интернет через протокол DHCP и вы не имеете роутера,что бы обеспечить им свой ПК,то у вас есть все шансы столкнуться с жесткой необходимостью выкачивания энного кол-ва образов среза репозиториев для установки пакетов необходимых сетевых утилит для настройки wireless,pptp и pppoe,и их зависимостей,со стороннего компьютера или параллельно установленной ОС,имеющей доступ к сети интернет!Но зато,вам,хотите вы того или нет,поставят 200МБ документации,300МБ OpenOffice,300МБ Texlive и 100МБ,как минимум,самых низкорейтинговых тем оформления и прочих трешей и анахронизмов,наверное,блюдя "порог вхождения",что бы новичёк снёс всё это дело,сразу после установки,и с ужасом и ненавистью рассказывал знакомым,какой он,Linux,страшный и убогий,по сравнению,даже с WindowsXP.

        Опять же,к примеру,дистрибутивы семейства RedHat и ManDrake(openSUSE,Fedora,CentOS,RHEL,OEL,PCLinuxOS,Mandriva,Mageia) более продуманно подходят к формированию своих установочных носителей,помещая предустановленную и настроенную к использованию на большей части спектра современного оборудования систему c пользователем live,состоящим в группах wheel,sudo и adm,в не-сжатый файл-образ файловой системы,а уже его пакуют в сжатый образ squashfs или новой clicfs для последующей инициализации загрузки установочного носителя в live режиме,и благодаря тому,что их системы ставятся уже готовыми "просто работать",как Windows или Mac,имеют некоторую известность,как "юсерфрендли" дистрибутивы.Так почему бы не делать так и с Debian?Хм...Так,а что мешает делать это?Может быть существуют какие-либо запреты такого подхода к формированию загрузочного образа любого из Debian-based дистрибутивов?Иснова ответ - нет.Мы можем свободно приобретать,использовать,изменять и распространять их,как только пожелаем.

         Очевидно,что если мы просто захотим снять образ полного бэкапа установленной у нас на Ж/Д Debian-based системы,то нам достаточно будет просто загрузиться с одноимённого live-диска,выполнить монтирование раздела с установленной системой в /mnt,например,и просто снять сжатый образ squashfs с /mnt/ ,то есть с корня примонтированного раздела,со всеми настройками пользователя,системы,выполненными ранее изменениями оформления и набора ПО,а затем на другом локальном разделе с данными создать каталог ISO,куда можно распаковать образ .iso того самого live-диска,с которого мы загрузились и работаем,и просто заменить имеющийся в распакованном образе файл-образ filesystem.squashfs ,созданным нами образом бэкапа,под тем же именем - filesystem.squashfs,в каталоге casper или live,и так же заменить ядро и образ загрузки initrd (vmlinuz & initrd.gz[lz,img]) ядром и образом загрузки из установленной системы в /mnt/boot ,с соответствующим переименованием,а затем собрать образ .iso заново из каталога ISO при помощи mkisofs или genisoimage.Но тогда мы получим загрузочный образ,заточенный для нормальной работы в live-режиме и установки только на том же конфиге оборудования,сиречь на той же комплектации ПК,на котором и был снят образ-бэкап системы,но,вполне вероятно,неспособный загрузиться на ПК с BIOS или видео картой,контроллерами Ж/Д (IDE/SATA) от другого производителя,коль скоро наш образ загрузки (initrd) не будет в состоянии инициализироваться в новом кофиге оборудования,или же не будут удовлетворены параметры монтирования файловых систем,описанных в текущем файле fstab в образе бэкапа системы.Проблема,с которой постоянно сталкиваются любители установки Хакентоша - яблочники собирают свой инсталяционный образ *.dmg,с предустановленной системой,с учётом только тех драйверов оборудования,которое входит в комплектацию аутентичных компьютеров Apple и их unix-совое ядро,с вкомпиленной initramfs, не в состоянии опредилить "неизвестное" оборудование при загрузке...:)Впрочем,в нашем случае обращения с Debian-based системами,и не только,мы можем заранее позаботится об установке недостающих драйверов сети (wireless,wpa,pppoe,pptp и пр.),графического X-сервера (*-mesa-* и xserver-xorg-video-*) ,заголовков ядра,дополнительных бандлов linux-firmware,переустановке пакетов и зависимостей дистрибутивного инсталлятора,возможно,доустановки их или дополнительных,расширяющих его функционал компонентов,и,сформировав оптимизированный список загружаемых стартовых служб и сервисов  rc.d* (rcconf,update-rc.d,insserv),вручную обнулить fstab и прочие,способные помешать универсальной загружаемости live-системы,конфигурационные файлы переименованием,по мере надобности (xorg.conf,и пр.),и уже потом снять слепок squashfs и собрать с ним собственный загрузочный диск,способный загрузиться в live-режиме практически где угодно и развернуть готовую "просто работать" предустановленную систему с помощью стандартного дистрибутивного инсталлятора (кроме классического Debian) ,с настроенными сессиями рабочих окружений,подборкой ПО по желанию и надобности целевой аудитории, на конечном компьютере пользователя,которому останеться,лишь сменить пароль и настроить интернет стандартными средствами,согласно требованиям провайдера или способу подключения к сети,aka Windows.Разумеется,из структуры каталогов в сборочной директории образа .iso следует предварительно удалить все не нужные для предустановленной системы эллементы (каталоги pool,install и пр.) перед сборкой образа,а если требуется инсталлятору,то сборку образа следует проводить с пересчётом md5 сумм и генерацией соответствующего файла в корне образа (семейство Ubuntu).

         Следует отметить,что такой подход,ни сколько,не умаляет изначальной гибкости настроек Gnu/Linux стандартными консольными методами,но пользователь будет иметь изначально превосходящую красотой оформления,исходным инструментарием,базовыми программными возможностями и быстродействием системы Windows и Mac OS X операционную систему.Будет ли это способствовать популяризации и продвижению Linux в массы?Полагаю,да.Причём,хотя бы потому,что "порог вхождения" в этом случае,если не отменяется вовсе,то сводится к минимуму.

         Однако,вышеописанная практика формирования загрузочного инсталляционного образа,подразумевает в своём использовании достаточно твёрдые знания структуры йерархии каталогов и файлов в системе Linux,понимание работы дистрибутивного инсталлятора,требуемых им кондиций,правил формирования базовой структуры файлов и каталогов в сборочной директории образа диска,по большей части известных т.н. гикам и довольно сложна,даже для освоения обычным пользователям Debian-based дистрибутивов Linux,но тут я с удовольствием хочу обратить ваше внимание на проэкт Remastersys,позволяющий автоматизировать все вышеизложенные действия по созданию собственного Live/Install образа диска,причём в различных ситуационных вариациях,одной простой командой в окне терминала (консоли),помимо всего предоставляя бесценную информационную базу,как настоящий справочник по теме,для изучения тонкостей этого процесса любым желающим,не поленившимся открыть в любимом текстовом редакторе с правами суперпользователя ROOT его исполняемый скрипт /usr/bin/remastersys и файлы конфигурации в /etc/remastersys/ & /etc/remastersys.conf ,в которых представленны все этапы формирования файла-образа filesystem.squashfs ,с последующей сборкой образа диска,причём ничто не помешает вам вносить в этот скрипт свои правки,добавляя опции сборки образа диска,меняя наполнение создаваемого образа файловой системы (squashfs),произвольно задавая имя live-пользователя и Хоста live-системы.Особое значение Remstersys имеет для пользователей классического Debian,предоставляя ещё и инсталлятор для создаваемой live-системы,которого всё ещё нет на пакетном уровне Debian (.deb),как,например в Ubuntu,LinuxMint,Siduction,Aptosid,Knoppix,а устаревший и крайне бедный в своих возможностях аутентичный инсталлятор Debian,даже в оффициальных образах live от Debian имеет природу подгружаемого модуля (.udeb) и физически не может быть установлен в целевую систему для сборки,как её часть,а следовательно и использован при установке предустановленной системы,что не есть хорошо,и тут большие надежды на развитие проэкта DEX...:)

        А дистрибутивы на базе иных столпов Gnu/Linux,aka Gentoo,Archlinux,Slackware,RedHat,Mandrake - подлежат ли они подобному ремастерингу,ведь в них нет такого иструмента,как Remastersys?И вот опять - да!Ведь в основе лежат простейшие приёмы,применяемые в в Gnu/Linux кроссдистрибутивно,такие,как монтирование,создание образа файловой системы с помощью mkfs.* c выполнением монтирования полученного образа ФС и выполнением rsync -varp / /mnt/fs --exclude=/{mnt,sys,proc,media,cdrom}/  ,c последующим созданием исключённых при копировании каталогов в точке монтирования созданной ФС(/mnt/fs) и размонтирования образа ФС,с последующей запаковкой каталога с образом ФС в squashfs (mksquashfs Live *squashfs) ,или же напрямую squashfs  с корня примонтированного сборочного раздела с установленной и настроенной системой,а затем замена полученными файлами оригинальных в эталонных образах-трафаретах,хоть при помощи Isomaster,хоть методом пересборки образа с помощью mkisofs.Тут важно отыскать в оригинальных образах эти файлы с самой ФС внутри и жестко придерживаться именования содержащихся в них образов ФС и каталога его содержащего,нуи,конечно же,мы можем заранее позаботится об установке недостающих драйверов сети (wireless,wpa,pppoe,pptp и пр.),графического X-сервера (*-mesa-* и xserver-xorg-video-*) ,заголовков ядра,дополнительных бандлов linux-firmware,переустановке пакетов и зависимостей дистрибутивного инсталлятора,возможно,доустановки их или дополнительных,расширяющих его функционал компонентов,и,сформировав оптимизированный список загружаемых стартовых служб и сервисов  rc.d* ,вручную обнулить fstab и прочие,способные помешать универсальной загружаемости live-системы,конфигурационные файлы переименованием,по мере надобности (xorg.conf,и пр.),и уже потом снять слепок squashfs и собрать с ним собственный загрузочный диск,способный загрузиться в live-режиме практически где угодно и развернуть готовую "просто работать" предустановленную систему с помощью стандартного дистрибутивного инсталлятора.Я пересобирал так Calculate Linux,Sabayon Linux,Chakra Linux,Bridge Linux,Manjaro Linux,Mandriva,openSUSE,Fedora,Agilia Linux,CentOS,Alt Linux,PCLinuxOS и всё отлично работало,так что,пробуйте - получится и у вас!

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

Dont worry,be happy!
Deblanck. 
 
P.S.:
Рекоммендую к прочтению и изучению:
http://vasilisc.com/tips_ubuntu 

http://vasilisc.com/speedup_ubuntu#delay_gtk 

http://compizomania.blogspot.com/ 

http://www.oposumo.com/         

 

вторник, 25 сентября 2012 г.

Собственный мультизагрузочный linux live desktop на USB/HDD c extlinux и простой ремастеринг linux live cd/dvd

  Доброго времени суток всем.
  Собственно,написать статью в виде расширенного how-to на заявленную тему сподвигла злободневность в надобности вывешенной в сети "памятке линуксоводу" и повсеместная практика замалчивания или методического навязывания устаревших решений по вопросам мультизагрузки отдельных популярных дистрибутивов linux и их ремастеринга по вкусу и надобности пользователя,не обременённого глубоким знанием консольных заклинаний и лишним временем на танцы с бубном.
  Речь пойдёт о Debian Testing/Sid,Ubuntu 12.04,Linux Mint 13,Aptosid 2011,Clonezilla-live-20120620-precise,openSUSE 12.1,CentOS 6.3,Fedora 17,PCLinuxOS Full Monty,Mandriva 2011,Sabayon 9,Calculate 12,iso образы которых вы можете без труда скачать с оффициальных страниц этих проектов в сети - хотя,в принципе,можно добавить в этот ряд любой live-dvd linux,но мне больше нравится именно такой набор,по моему мнению,сугубо личному,наиболее полно отражающий мейнстрим развития GNU/Linux Desktop,как для неофитов,так и для тёртых середнячков в среде его пользователей...

  Будем предполагать,что на нашем ПК имеется некая инсталляция любимого дистрибутива linux или его live CD/DVD версия,правильно записанная на болванку,помещённая в лоток привода и загруженная после рестарта компьютера,тогда для подготовки к нашим экспериментам,нам лишь нужно установить несколько полезных пакетов программ = {fsarchiver,gparted,extlinux,syslinux,isomaster} - с помощью штатного пакетменеджера.Например в Debian это делается так:
$su -c 'aptitude update;aptitude install fsarchiver gparted extlinux syslinux isomaster'
  Теперь можно приступать к превращению нашей флешки,внешнего USB/HDD или локального раздела в универсальный мультизагрузочный девайс с собственным загрузчиком и меткой тома.
  Проверим,какие устройства-носители нам доступны и как они воспринимаются системой:
$su -c 'fsarchiver probe' - предоставит нам подробный вывод дерева подключённых устройств хранения данных,с указанием меток тома (LABEL)
$su -c 'blkid' - предоставит нам UUID индентификаторы этих устройств
  Если вы хотите отвести под свою коллекцию live дистрибутивов linux отдельную жилплощадь в виде небольшого локального раздела,вы можете воспользоваться GParted
$su -c 'gparted' - и создать новый логический раздел в свободном пространстве имеющегося расширенного(extended) раздела на вашем Ж/Д с файловой системой ext2(во избежание "ошибок сегментирования" при запуске с него исполняемых и рабочих файлов) и меткой тома,к примеру "ISO",а также установим на него флаг "boot".Не лишним будет и удаление с него лишних рудиментов типа каталога "Lost&found" и рутового резерва реального дискового пространства:
$su -c 'fsarchiver probe'
$su -c 'tune2fs -r 0 -m 0 -c 0 /dev/sdXY' - где Х и Y должны быть заменены на реальные значения из вывода предыдущей команды,по новосозданному нами разделу.
$su -c 'mount /dev/sdXY /mnt && rm -rf /mnt/* && sudo umount /mnt' - смонтирует,полностью очистит наш новый раздел и размонтирует его.
  Теперь мы можем подключить созданный нами раздел,как обычный раздел с данными в любимом файловом менеджере (dolphin,nautilus,thunar,pcmanfm...).
  Для удобства дальнейшего обращения,поставим точку в вопросах прав и статуса нашего раздела:
$ su -c 'chown -R user:user /media/ISO && chmod -R +rwxrwxrwx /media/ISO' -где "user" следует заменить на на реальный имярек пользователя,а путь задаётся согластно ранее установленной метке тома,определяющей точку монтирования в системный каталог /media.
  Осталось прописать на избранное нами устройство MBR и установить загрузчик - в нашем случае extlinux,как наиболее быстрый в работе,в опытном сравнении с аналогами (syslinux,grub 0.97,Grub4Dos...):
$su -c 'dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdXY'
$su -c 'extlinux -i /media/ISO' - extlinux ставится на примонтированный раздел!
$cp /usr/lib/syslinux/chain.c32 /usr/lib/syslinux/menu.c32 /usr/lib/syslinux/vesamenu.c32 /usr/lib/syslinux/isolinux.bin /media/ISO - так же скопируйте из библиотек syslinux эти файлы и создайте конфигурационный файл для extlinux и отдельный каталог с конфигурационным файлом меню будущей коллекции "живых" дистрибутивов linux:
$touch /media/ISO/extlinux.conf /media/ISO/menu/linux.cfg
  Выберите красивую картинку,конвертируйте её в .png и маштабируйте в 640х480,затем поместите в корень нашего загрузочного устройства под именем splash.png
  Отредактируйте конфиг extlinux,указав ему,что и откуда следует читать и как выглядеть перед хозяином:
$nano /media/ISO/extlinux.conf - и вставьте туда следующее содержание,по вкусу изменив коды цветов и форм оформления из значений палитры цветовой настройки меню внешнего вида вашей ОС:

####################
default vesamenu.c32
prompt 0
timeout 300
menu title Your Universal MultiBoot Device
menu background splash.png
MENU WIDTH 72
MENU MARGIN 10
MENU VSHIFT 3
MENU HSHIFT 6
MENU ROWS 15
MENU TABMSGROW 20
MENU TIMEOUTROW 22
menu color title 1;36;44 #66A0FF #00000000 none
menu color hotsel 30;47 #C00000 #DDDDDDDD
menu color sel 30;47 #000000 #FFFFFFFF
menu color border 30;44 #D00000 #00000000 std
menu color scrollbar 30;44 #DDDDDDDD #00000000 none

label Linux Distributions
menu label Linux Distributions ->
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/linux.cfg
MENU DEFAULT

label Boot_from_Hard_Disk
menu label Continue to Boot from ^First HD
localboot 0x80

Сохраните ->Ctrl+X ->Y ->Enter

  Теперь можно приступать к наполнению нашего мультизагрузочного девайса:
1.Debian:
  Образ debian-live.iso распаковать в каталог debian в корне рабочего раздела /media/ISO с помощью менеджера архивов (file-roller) от простого пользователя
  В каталоге /media/ISO/menu создать файл debian.cfg
  В любимом текстовом редакторе открыть для редактирования файлы /media/ISO/menu/linux.cfg /media/ISO/menu/debian.cfg :
$gedit /media/ISO/menu/linux.cfg /media/ISO/menu/debian.cfg

В файле linux.cfg поместить следующие строки:
####################
default vesamenu.c32
prompt 0
menu title Linux Distributions
menu background splash.png
MENU WIDTH 72
MENU MARGIN 10
MENU VSHIFT 3
MENU HSHIFT 6
MENU ROWS 15
MENU TABMSGROW 20
MENU TIMEOUTROW 22
menu color title 1;36;44 #66A0FF #00000000 none
menu color hotsel 30;47 #C00000 #DDDDDDDD
menu color sel 30;47 #000000 #FFFFFFFF
menu color border 30;44 #D00000 #00000000 std
menu color scrollbar 30;44 #DDDDDDDD #00000000 none

label Debian Live
menu label Debian Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/debian.cfg

В файле debian.cfg поместить следующее:
####################################
menu title Debian Live Boot Menu
menu background /debian/isolinux/splash.png
menu color title * #FFFFFFFF *
menu color border * #00000000 #00000000 none
menu color sel * #ffffffff #76a1d0ff *
menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
menu color tabmsg * #ffffffff #00000000 *
menu color help 37;40 #ffdddd00 #00000000 none
menu vshift 17
menu rows 10
default live

label live
menu label Run Debian Live
kernel /debian/live/vmlinuz
append initrd=/debian/live/initrd.img live-media-path=/debian/live boot=live config quiet splash nomodeset vga=791

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.cfg

  Сохраните файл debian.cfg,а в файл linux.cfg нам предстоит добавить строки указаний на конфиги других дистрибутивов linux из нашего списка,добавляя их через промежуток в одну пустую строку и изменяя значения полей "label","menu label" и "APPEND" в соответствии с желаемым названием дистра в меню загрузки и путём к загрузочному конфигу в каталоге /media/ISO/menu/*.cfg .

2.Ubuntu 12.04:
  Загрузочный образ CD/DVD Ubuntu распаковать с помощью file-rolller в созданный в корне /media/ISO каталог ubuntu.
  В каталоге /media/ISO/menu создать файл ubuntu.cfg
  В любимом текстовом редакторе открыть для редактирования файл /media/ISO/menu/ubuntu.cfg :
$gedit /media/ISO/menu/ubuntu.cfg
В файле linux.cfg поместить следующие строки:

...
label Ubuntu Live
menu label Ubuntu Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/ubuntu.cfg

В файле ubuntu.cfg поместить следующее:
####################################
menu title Ubuntu Live Boot Menu
menu background /ubuntu/isolinux/splash.png
menu color title * #FFFFFFFF *
menu color border * #00000000 #00000000 none
menu color sel * #ffffffff #76a1d0ff *
menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
menu color tabmsg * #ffffffff #00000000 *
menu color help 37;40 #ffdddd00 #00000000 none
menu vshift 17
menu rows 10
default live

label live
menu label Run Ubuntu Live
kernel /ubuntu/casper/vmlinuz
append initrd=/ubuntu/casper/initrd.gz boot=casper live-media-path=/ubuntu/casper quiet splash nomodeset --

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.cfg

Сохраните файл ubuntu.cfg

3.Linux Mint 13 "Maya":
  Загрузочный образ DVD Linux Mint 13 распаковать с помощью file-rolller в созданный в корне /media/ISO каталог mint.
  В каталоге /media/ISO/menu создать файл mint.cfg
  В любимом текстовом редакторе открыть для редактирования файл /media/ISO/menu/mint.cfg :
$gedit /media/ISO/menu/mint.cfg
В файле linux.cfg поместить следующие строки:

...
label Linux Mint 13 Maya Live
menu label Linux Mint 13 Maya Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/mint.cfg

В файле mint.cfg поместить следующее:
####################################
menu title Linux Mint 13 "Maya" Live Boot Menu
menu background /mint/isolinux/splash.jpg
MENU WIDTH 72
MENU MARGIN 10
MENU VSHIFT 3
MENU HSHIFT 6
MENU ROWS 15
MENU TABMSGROW 20
MENU TIMEOUTROW 22
menu color title 1;36;44 #66A0FF #00000000 none
menu color hotsel 30;47 #C00000 #DDDDDDDD
menu color sel 30;47 #000000 #FFFFFFFF
menu color border 30;44 #D00000 #00000000 std
menu color scrollbar 30;44 #DDDDDDDD #00000000 none

default live

label live
menu label ^Run Linux Mint 13 Maya Live
kernel /mint/casper/vmlinuz
append initrd=/mint/casper/initrd.gz boot=casper config live-media-path=/mint/casper quiet splash nomodeset --

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

Сохраните файл mint.cfg

4.Aptosid 2011
  Загрузочный образ Aptosid 2011 открыть с помощью file-rolller и распаковать в корень загрузочного устройства всё содержимое,кроме каталога /boot
  В каталоге /media/ISO создать каталог /boot и распаковать в него из образа каталог /boot/isolinux,каталог /boot/grub из образа распаковать в каталог /media/ISO/aptosid - может ещё пригодится...
  В каталоге /media/ISO/menu создать файл aptosid.cfg
  В любимом текстовом редакторе открыть для редактирования файл /media/ISO/menu/aptosid.cfg :
$gedit /media/ISO/menu/aptosid.cfg
В файле linux.cfg поместить следующие строки:

...
label AptoSid Linux Desktop "Povoq" Live
menu label AptoSid Linux Desktop "Povoq" Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/aptosid.cfg

В файле aptosid.cfg поместить следующее:
а)Для HDD

####################################
menu title AptoSid Linux Desktop "Povoq" Live
display /boot/isolinux/isolinux.msg
ui /boot/isolinux/gfxboot /boot/isolinux/bootlogo /boot/isolinux/isolinux.msg
default aptosid

label aptosid
find --set-root (hd0,X) - замените Х на № загрузочного раздела
kernel /boot/vmlinuz0.686
append initrd=/boot/initrd0.686 boot=fll fromhd quiet

label Boot_from_Hard_Disk
menu label Continue to Boot from ^First HD
localboot 0x80

label Memory_test_(memtest86+)
kernel /boot/memtest

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

б)Для USB

####################################
menu title AptoSid Linux Desktop "Povoq" Live
display /boot/isolinux/isolinux.msg
ui /boot/isolinux/gfxboot /boot/isolinux/bootlogo /boot/isolinux/isolinux.msg
default aptosid

label aptosid
find --set-root=LABEL=ISO
kernel /boot/vmlinuz0.686
append initrd=/boot/initrd0.686 boot=fll fromusb quiet

label Boot_from_Hard_Disk
menu label Continue to Boot from ^First HD
localboot 0x80

label Memory_test_(memtest86+)
kernel /boot/memtest

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

Сохраните файл aptosid.cfg

5.Clonezilla-live-20120620-precise
  Образ Clonezilla-live-20120620-precise распаковать в каталог clonezilla в корне рабочего раздела /media/ISO с помощью менеджера архивов (file-roller) от простого пользователя
  В каталоге /media/ISO/menu создать файл clonezilla.cfg
  В любимом текстовом редакторе открыть для редактирования файлы /media/ISO/menu/clnzilla.cfg :
$gedit /media/ISO/menu/clnzilla.cfg
В файле linux.cfg поместить следующие строки:
####################
...
label Clonezilla
menu label Clonezilla Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/clnzilla.cfg

В файле clnzilla.cfg поместить следующее:
####################################
menu title Clonnezilla Live Boot Menu
menu background /clonezilla/isolinux/splash.png
menu color title * #FFFFFFFF *
menu color border * #00000000 #00000000 none
menu color sel * #ffffffff #76a1d0ff *
menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
menu color tabmsg * #ffffffff #00000000 *
menu color help 37;40 #ffdddd00 #00000000 none
menu vshift 17
menu rows 10
default live

label live
menu label Run Clonezilla Live
kernel /clonezilla/live/vmlinuz1
append initrd=/clonezilla/live/initrd1.img boot=live live-media-path=/clonezilla/live hostname=precise live-config quiet noswap nolocales edd=on nomodeset noprompt ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" video=uvesafb:mode_option=1024x768-32 ip=frommedia nosplash

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

Сохраните файл clnzilla.cfg

6.openSUSE 12.1 Asparagus
  Образ CD/DVD openSUSE 12.1 открыть с помощью менеджера архивов (file-roller) от простого пользователя и распаковать,последовательно:
содержимое /boot в /media/ISO/boot
прочее в корень загрузочного устройства (/media/ISO)
  В каталоге /media/ISO/menu создать файл suse.cfg
  В любимом текстовом редакторе открыть для редактирования файлы /media/ISO/menu/suse.cfg :
$gedit /media/ISO/menu/suse.cfg
В файле linux.cfg поместить следующие строки:
####################
label openSUSE 12.1 Asparagus Live
menu label openSUSE 12.1 Asparagus Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/suse.cfg

В файле suse.cfg поместить следующее:
####################################
default openSUSE 12.1 Asparagus Live
implicit 1
display isolinux.msg
ui gfxboot bootlogo isolinux.msg
prompt 1
timeout 200
label openSUSE 12.1 Asparagus Live
kernel /boot/i386/loader/linux
append initrd=/boot/i386/loader/initrd lang=ru_RU ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent quiet preloadlog=/dev/null cddev=/dev/sdXY (замените X & Y на реальные значения,для использования на USB подставьте вместо cddev={} опцию usbdev или cddev=LABEL=ISO) bootfrom=LABEL=ISO showopts

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

Сохраните файл suse.cfg

7.CentOS 6.3
  Загрузочный образ DVD CentOS 6.3 распаковать с помощью file-rolller в созданный в корне /media/ISO каталог centos.
  В каталоге /media/ISO/menu создать файл centos.cfg
  В любимом текстовом редакторе открыть для редактирования файл /media/ISO/menu/centos.cfg :
$gedit /media/ISO/menu/centos.cfg
В файле linux.cfg поместить следующие строки:

...
label CentOS 6.3 DVD Live
menu label CentOS 6.3 DVD Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/centos.cfg

В файле centos.cfg поместить следующее:
####################################
menu title CentOS 6.3 Live
menu background /centos/isolinux/splash.jpg
MENU WIDTH 72
MENU MARGIN 10
MENU VSHIFT 3
MENU HSHIFT 6
MENU ROWS 15
MENU TABMSGROW 20
MENU TIMEOUTROW 22
menu color title 1;36;44 #66A0FF #00000000 none
menu color hotsel 30;47 #C00000 #DDDDDDDD
menu color sel 30;47 #000000 #FFFFFFFF
menu color border 30;44 #D00000 #00000000 std
menu color scrollbar 30;44 #DDDDDDDD #00000000 none

default CentOS Live

label CentOS Live
menu label Boot CentOS 6.3 Live
kernel /centos/isolinux/vmlinuz0
append initrd=/centos/isolinux/initrd0.img root=live:LABEL=ISO live_dir=/centos/LiveOS rootfstype=auto ro liveimg quiet nodiskmount nolvmmount rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

Сохраните файл centos.cfg

8.Fedora 17 Beefy Miracle
  Загрузочный образ CD/DVD Fedora 17 распаковать с помощью file-rolller в созданный в корне /media/ISO каталог fedora.
  В каталоге /media/ISO/menu создать файл centos.cfg
  В любимом текстовом редакторе открыть для редактирования файл /media/ISO/menu/fedora.cfg :
$gedit /media/ISO/menu/fedora.cfg
В файле linux.cfg поместить следующие строки:

...
label Fedora Beefy Miracle Live
menu label Fedora Beefy Miracle Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/fedora.cfg

В файле fedora.cfg поместить следующее:
####################################
menu title Fedora Beefy Miracle Live
menu background splash.png
MENU WIDTH 72
MENU MARGIN 10
MENU VSHIFT 3
MENU HSHIFT 6
MENU ROWS 15
MENU TABMSGROW 20
MENU TIMEOUTROW 22
menu color title 1;36;44 #66A0FF #00000000 none
menu color hotsel 30;47 #C00000 #DDDDDDDD
menu color sel 30;47 #000000 #FFFFFFFF
menu color border 30;44 #D00000 #00000000 std
menu color scrollbar 30;44 #DDDDDDDD #00000000 none

default Fedora Beefy Miracle Live

label Fedora Beefy Miracle Live
menu label Boot Fedora Beefy Miracle Live
kernel /fedora/isolinux/vmlinuz0
append initrd=/fedora/isolinux/initrd0.img root=live:LABEL=ISO live_dir=/fedora/LiveOS rootfstype=auto ro liveimg quiet rhgb vga=791 rd.luks=0 rd.md=0 rd.dm=0 selinux 0 setenforce 0

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

Сохраните файл fedora.cfg

9.PCLinuxOS Full Monty
  Загрузочный образ CD/DVD Fedora 17 распаковать с помощью file-rolller в созданный в корне /media/ISO каталог pclosfm.
  В каталоге /media/ISO/menu создать файл pclosfm.cfg
  В любимом текстовом редакторе открыть для редактирования файл /media/ISO/menu/pclosfm.cfg :
$gedit /media/ISO/menu/pclosfm.cfg
В файле linux.cfg поместить следующие строки:

...
label PCLinuxOS FullMonty 2012
menu label PCLinuxOS FullMonty 2012 Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/pclosfm.cfg

В файле pclosfm.cfg поместить следующее:
####################################
menu title PCLinuxOS FullMonty 2012 Live
menu background /pclosfm/isolinux/back.jpg
MENU WIDTH 72
MENU MARGIN 10
MENU VSHIFT 3
MENU HSHIFT 6
MENU ROWS 15
MENU TABMSGROW 20
MENU TIMEOUTROW 22
menu color title 1;36;44 #66A0FF #00000000 none
menu color hotsel 30;47 #C00000 #DDDDDDDD
menu color sel 30;47 #000000 #FFFFFFFF
menu color border 30;44 #D00000 #00000000 std
menu color scrollbar 30;44 #DDDDDDDD #00000000 none

default LiveCD
prompt 1
timeout 90
ui /pclosfm/isolinux/gfxboot.com /pclosfm/isolinux/bootlogo
prompt 1
timeout 90

label LiveCD
kernel /pclosfm/isolinux/vmlinuz
append livecd=/pclosfm/livecd initrd=/pclosfm/isolinux/initrd.gz root=/dev/rd/3 vga=791 keyb=us splash=verbose(silent)

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

Сохраните файл pclosfm.cfg

9.Mandriva 2011
  Загрузочный образ CD/DVD Mandriva 2011 распаковать с помощью file-rolller в созданный в корне /media/ISO каталог mdv.
  В каталоге /media/ISO/menu создать файл mdv.cfg
  В любимом текстовом редакторе открыть для редактирования файл /media/ISO/menu/mdv.cfg :
$gedit /media/ISO/menu/mdv.cfg
В файле linux.cfg поместить следующие строки:

...
label Mandriva 2011 Live
menu label Mandriva 2011 Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/mdv.cfg

В файле mdv.cfg поместить следующее:
####################################
menu title Mandriva 2011 Live
menu background /mdv/isolinux/splash.jpg
MENU WIDTH 72
MENU MARGIN 10
MENU VSHIFT 3
MENU HSHIFT 6
MENU ROWS 15
MENU TABMSGROW 20
MENU TIMEOUTROW 22
menu color title 1;36;44 #66A0FF #00000000 none
menu color hotsel 30;47 #C00000 #DDDDDDDD
menu color sel 30;47 #000000 #FFFFFFFF
menu color border 30;44 #D00000 #00000000 std
menu color scrollbar 30;44 #DDDDDDDD #00000000 none

default Mandriva Live

label Mandriva Live
menu label Mandriva 2011 Live
kernel /mdv/isolinux/vmlinuz0
append initrd=/mdv/isolinux/initrd0.img root=live:LABEL=ISO live_dir=/mdv/LiveOS rootfstype=auto ro liveimg vga=791 desktop nopat rd_NO_LUKS rd_NO_MD noiswmd splash=silent logo.nologo nomodeset selinux 0

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

Сохраните файл mdv.cfg

10.Sabayon 9
  Загрузочный образ CD/DVD Sabayon 9 распаковать с помощью file-rolller в созданный в корне /media/ISO каталог sabayon.
  В каталоге /media/ISO/menu создать файл sabayon.cfg
  В любимом текстовом редакторе открыть для редактирования файл /media/ISO/menu/sabayon.cfg :
$gedit /media/ISO/menu/sabayon.cfg
В файле linux.cfg поместить следующие строки:

...
label Sabayon Linux Desktop 9.0 Live
menu label Sabayon Linux Desktop 9.0 Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/sabayon.cfg

В файле sabayon.cfg поместить следующее:
####################################
menu title Sabayon Linux 9 Live
menu background /sabayon/isolinux/back.jpg
menu color title * #FFFFFFFF *
menu color border * #00000000 #00000000 none
menu color sel * #ffffffff #76a1d0ff *
menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
menu color tabmsg * #ffffffff #00000000 *
menu color help 37;40 #ffdddd00 #00000000 none
menu vshift 17
menu rows 10
default Sabayon

label Sabayon
menu label ^Start Sabayon 9 Live
find --set-root=LABEL=ISO
kernel /sabayon/boot/sabayon
append root=/dev/ram0 initrd=/sabayon/boot/sabayon.igz subdir=/sabayon aufs init=/linuxrc cdroot cdroot_type=ext2 looptype=squashfs loop=/sabayon/livecd.squashfs root=LABEL=ISO (или root=UUID=подставьте вывод blkid для вашего устройства!) splash=silent,theme:sabayon video=vesafb:ywrap,mtrr:3 vga=791 console=tty1 quiet --

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf

Сохраните файл sabayon.cfg

11.Calculate Linux 12
  Загрузочный образ CD/DVD Calculate Linux 12 распаковать с помощью file-rolller в созданный в корне /media/ISO каталог calculate1.
  В каталоге /media/ISO/menu создать файл calculate.cfg
  В любимом текстовом редакторе открыть для редактирования файл /media/ISO/menu/calculate.cfg :
$gedit /media/ISO/menu/calculate.cfg
В файле linux.cfg поместить следующие строки:

...
label Calculate Linux Desktop 12.0 Live
menu label Calculate Linux Desktop 12.0 Live
MENU INDENT 1
kernel vesamenu.c32
APPEND /menu/calculate.cfg

В файле calculate.cfg поместить следующее:
####################################
menu title Calculate Linux Desktop 12.0 XFCE Live
menu background /calculate1/isolinux/boot.jpg
menu color title * #FFFFFFFF *
menu color border * #00000000 #00000000 none
menu color sel * #ffffffff #76a1d0ff *
menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
menu color tabmsg * #ffffffff #00000000 *
menu color help 37;40 #ffdddd00 #00000000 none
menu vshift 17
menu rows 10
default CLDX

label CLDX
menu label Calculate Linux Desktop 12.0 XFCE Live
find --set-root (hd0,X) - замените Х на № вашего раздела или используйте --set-root=LABEL=ISO ~ --set-root=root=UUID=подставьте вывод blkid для вашего устройства!
kernel /calculate1/boot/vmlinuz subdir=/calculate1 root=/dev/ram0 init=/linuxrc looptype=squashfs unionfs cdroot_type=ext3 doload=ext3,nls_cp866,nls_utf8,squashfs,isofs,unionfs loop=/calculate1/livecd.squashfs root=UUID=подставьте вывод blkid для вашего устройства! nodevfs cdroot video=uvesafb:ywrap,1024x768-32@60,mtrr:3,splash=silent,theme:tty1 console=tty1 udev quiet noresume doscsi scandelay=3 VGA=791
initrd /calculate1/boot/initrd

MENU SEPARATOR
label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.cfg

Сохраните файл calculate.cfg
Добавьте в файл linux.cfg завершающие строки:
...
label Boot_from_Hard_Disk
menu label Continue to Boot from ^First HD
localboot 0x80

label <-- Back to Main Menu
kernel vesamenu.c32
append extlinux.conf
MENU SEPARATOR

Сохраните файл linux.cfg

  Создание нашего мультизагрузочного устройства завершено,осталолось лишь прописать соответствующий пункт меню в grub или grub2 для нашего раздела с extlinux,для чего нужно просто добавить в файл /etc/grub.d/40_custom(grub2) следующие строки:

menuentry "LiveMultiBoot" {
set root=(hd0,X) - замените Х на № вашего раздела!
chainloader +1
}

  Сохранить файл и выполнить:
$su -c 'update-grub' - или :
$su -c 'grub2-mkconfig -o /boot/grub/grub.cfg' - и при следующей загрузке компьютера в меню grub2 будет доступен соответствующий пункт,выбрав который,вы попадёте в созданное вами меню загрузчика extlinux и сможете проверить работоспособность ваших live дистрибутивов linux.
  Для grub 0.97 следует добавить запись:

title LiveMultiBoot
root (hd0,Х) - замените Х на № вашего раздела!
chainloader +1

или

title LiveMultiBoot
root (hd0,Х) - замените Х на № вашего раздела!
configfile extlinux.conf

  Ничто не мешает вам использовать такой же метод запуска из меню grub и для постоянно подключённого внешнего Ж/Д или USB/HDD.Для флеш накопителя вы можете вручную выставить приоритет загрузки USB устройств в настройках BIOS целевого компьютера.

_________________________________________________
_________________________________________________________
_________________________________________________

  Пол-дела сделано - у нас есть рабочий мультизагрузочный девайс с зоопарком live дистрибутивов linux на борту,но это системы с дефолтными некрасивыми темами оформления,неполной локализацией,неполноценным набором ПО и корявыми настройками от разработчиков,естействено,лучше всех знающих вкусы и потребности пользователя,у которого,впрочем есть полное право с ними,всеведующими,не согласиться.И не только право,но и все возможности,хотя на многих сайтах и пользовательских форумах дистрибутивов linux (практически всех здесь представленных) проводится либо политика замалчивания способов ремастеринга этих дистрибутивов,или же предлагаются консервативные,если не сказать устаревшие,и неполноценные решения.
  Вот,эта часть статьи и будет посвященна способам наиболее быстрой и полной пересборки некоторых live дистрибутивов из представленных здесь.Ведь,представьте,как удобно иметь полностью настроенную под ваши повседневные потребности,неубиваемую live систему,не подверженную никаким угрозам вредителей из сети или доморощенных куллхацкеров из локалки,поскольку она всегда в рабочем состоянии после перезагрузки!
  Начнём с того,что некоторые,преимущественно debian-based системы имеют проверенные временем утилиты для создания бэкапов и снимков состояния системы,по сути,с помощью скриптовых связок,автоматизирующих операции создания актульных бэкапов отдельных системных составляющих,и т.д.,и т.п.Для некоторых,типа Aptosid-a,например,или Clonezilla,какая-либо пересборка неактуальна в приципе,по причине их утилитарной ориентированности,от чего из них и выкинуто всё,что замедляет загрузку или отвлекает от функциональных действий,но когда речь идёт о десктопных системах,где live CD/DVD,по идее,должен играть демонстрационную,альтернативную стационарной установке роль,скупость оформления и начинки часто вызывает один вопрос:на кого работают их разработчики на самом деле,на конкурентов из MicroSoft?...
  Итак,прежде всего для debian-based систем существует уникальная в своём роде утилита - Remastersys,способная быстро создать практически полный снимок состояния системы в формате live DVD с возможностью последующей установки на Ж/Д,как с обычного live-install носителя.Это работает в Debian,Linux Mint,Ubuntu,том же Aptosid-е,CranchBang-е,и вообще,в большинстве дистров этого семейства - достаточно отвести 10-15 ГБ. под раздел для временной установки,настройки и сборки этих систем в live DVD образ со своими темами оформления,сквозной русификацией,настроенными сервисами и отборным пользовательским ПО,на любой вкус и под любые задачи.Об этом много материала в сети и я не намерен вдаваться в какую-либо критику по этому поводу,напротив желаю удачи и развития этому проекту - must have!
  Опишу лишь один,не совсем очевидный новичку вариант использования возможностей Remastersys.
К примеру,можно создать полный бэкап системы:
$sudo remastersys backup custombackup.iso - и получить образ .iso на выходе,но во время создания образа программа честно отписывала про "...excluding extra files..." и в итоге hostname=user & host=user и запустив live DVD получите в терминале "user@user",а хочется "god@Heaven",но можно просто использовать этот полученный образ,как заготовку,распаковать его в каталог,где больше места,удалить из каталога casper файл filesystem.squashfs,загрузиться в live режиме с полученного или стандартного загрузочного образа ubuntu,смонтировать раздел с установленой на Ж/Д системой в /mnt,почистить кеши,всякие ненужности и выполнить:
$sudo mksquashfs /mnt/ /куда/распаковали/iso/casper/filesystem.squashfs - а затем простым скриптом завернуть всё это обратно в образ с пересчётом MD5-sums и инициализацией загрузочного сектора:
________

#!/bin/bash

IMAGE=ubuntu-heaven.iso
BUILD=iso

# Запаковываем содержимое iso/ в образ ubuntu-heaven.iso
echo ">>> Calculating MD5 sums..."
rm $BUILD/md5sum.txt
(cd $BUILD/ && find . -type f -print0 | xargs -0 md5sum | grep -v "boot.cat" | grep -v "md5sum.txt" > md5sum.txt)
echo ">>> Building iso image..."

mkisofs -r -V "Ubuntu Heaven Edition" \
-cache-inodes \
-J -l -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot \
-boot-load-size 4 -boot-info-table \
-o $IMAGE $BUILD/

_______________________

$touch repack-iso.sh && nano repack-iso.sh && chmod +x repack-iso.sh && ./repack-iso.sh - в директории с каталогом iso,куда ранее распаковали образ бэкапа,предварительно подправив опции загрузки ядра,чтобы включить нужные службы и сервисы.И если вы в установленной на Ж/Д системе были "god@Heaven",то и будете в live режиме с этого образа.И ещё,Remastersys устанавливается в каталог /usr/bin в вашей системе linux,который легко и просто можно открыть любимым текстовым редактором и,внимательно изучив скриптовый код,внести свои правки...
  Файл filesystem.squashfs можно также скопировать в соответствующий каталог на созданном ранее мультизагрузочном девайсе и делать так,хоть после каждого обновления установленной на Ж/Д системы,что бы всегда иметь под рукой актуальный live дистрибутив.С него же и висеть в инетах,и выполнять повседневные многопользовательские задачи на общественном компе,например,и никакой хакир или ламер эту систему не завалит.Кстати,в этом смысле,по большому счёту,отличие Debian от Ubuntu только в том,что filesystem.squashfs со слепком системы внутри,лежит не в casper,а в live...
  Profit!

  А вот с rpm-based,gentoo-based дистрибутивами,всё далеко не так просто,и хотя существуют сервисы,вроде SuseStudio и методики сборки образов с собственным софтом и репами aka Fedora,с помощью космически заумных скриптов,но на выхлопе всё это дело - УГ!
  Единственный rpm-дистрибутив который имеет реальный аналог Remastersys - Mylivecd - это PCLinuxOS,но в этом дистре для инициализации загрузки используется простой файл livecd.sqfs,который можно без всяких там особых программ пересборки сваять,загрузившись в live режиме со стандартного образа PCLinuxOS,например,Phoenix Edition - он и так красивый,и да - там есть apt-get...Единственный секретик,незнание коего может изрядно попортить вам нервы,это негластное правило соответствия версии ядра на исходном,стандартном live DVD PCLinuxOS и в системе с которой вы собираетесь снять сквош или создать кастомный ремикс с помощью Mylivecd,что значит только одно - делайте с системой,что хотите,ставьте что хотите,но не трогайте ядро,пусть остаётся дефолтное!
  Вот уж,где вы действительно натолкнётесь на гордое и угрюмое молчание знатоков дистроводов на тему ремастеринга,так это на ресурсах Mandriva,CentOS,Fedora,хотя,что там,собственно таить-то,ведь просто смонтировав контейнеры squashfs.img,стандартно лежащие на их iso-шках в каталоге LiveOS,в /mnt:
$sudo mount -o loop squashfs.img /mnt - и выполнив:
$file /mnt/LiveOS/ext3fs.img - вы сможете убедиться,что эти сквоши содержат не просто сжатые слепки этих систем,а каталоги с файлом файловой системы ext4 - для Fedora и CentOS,и ext3 - для Mandriva,которые можно легко создать где-нибудь,где побольше места,скажем в /media/DATA/sfs и тогда:
$dd if=/dev/zero of=ext3fs.img bs=1M count=5500 - или сколько занимает места установленная и настроенная(соблюдая тождество версии ядра на live DVD и в системе,и без проприетарных драйверов на видеокарту!хотя,можно и рискнуть...) Fedora(CentOS) на разделе для вивисекции ОС,и далее,после перезагрузки в Fedora:
$cd /media/DATA/sfs && /sbin/mkfs.ext4 -F ext3fs.img && /sbin/tune2fs -r 0 -m 0 -c 0 -L 'LiveOS' ext3fs.img && sudo mount -t ext4 -o loop ext3fs.img /mnt && sudo rm -rf /mnt/* && sudo rsync -varp /* /mnt/ --exclude=/{mnt,sys,proc,media,var/tmp/kdecache-user}/ && sudo mkdir /mnt/mnt /mnt/media /mnt/proc /mnt/sys LiveOS && sudo umount /mnt && mv ext3fs.img LiveOS && cd && sudo /sbin/mksquashfs /media/DATA/sfs/ /media/DATA/squashfs.img - создаём,настраиваем,чистим файл с ФС ext4,копируем йерархию корня ФС установленной системы в смонтированый в /mnt файл ext3fs.img,по окончании создаём системные каталоги,исключённые при копировании и каталог-оболочку для файла ext3fs.img,размонтируем файл ext3fs.img,перемещаем его в каталог-оболочку,переходим в домашнюю директорию и компилим новый сквош-файл.Когда squashfs.img получен,можно легко подменить им оригинальный образец в live образе Fedora(CentOS) с помощью программы Isomaster,ну и заменить им оригинал на нашем мультизагрузочном девайсе по путям /media/ISO/fedora/LiveOS & /media/ISO/centos/LiveOS /media/ISO/mdv/LiveOS.
  Абсолютно тоже самое можно проделать и с установленной и настроенной Mandriva на сборочном разделе,за исключением того,что следует создать файл ext3fs.img c ФС ext3 (/sbin/mkfs.ext3 -F ext3fs.img...)
  Завершает обзор ремастеринга rpm-based дистрибутивов openSUSE.Здесь создатели дистра перешли на использование вместо squashfs контейнера clicfs,который реально предоставляет втрое превосходящее возможности сквоша сжатие.
  Кстати,имейте ввиду эту ФС,если вам понадобится что-либо очень сильно ужать,жаль,что,пока,clicfs нормально работает только на openSUSE,но может портируют-таки и на Debian,вах,вах...
  Ну,ладно,здесь тоже довольно простой алгоритм действий:ставим систему на сборочный раздел,настраиваем,идём в любимый каталог /media/DATA/sfs и создаём файл fsdata.ext3 с ФС ext4:
$dd if=/dev/zero of=fsdata.ext3 bs=1M count=5500 - или сколько занимает места установленная и настроенная(соблюдая тождество версии ядра на live DVD и в системе!)
$/sbin/mkfs.ext4 -F fsdata.ext3 && /sbin/tune2fs -r 0 -m 0 -c 0 -L 'LiveOS' fsdata.ext3 && su -c 'mount -t ext4 -o loop fsdata.ext3 /mnt' && su -c 'rm -rf /mnt/*' && su -c 'rsync -varp /* /mnt/ --exclude=/{mnt,sys,proc,media,var/tmp/kdecache-user}/' && su -c 'mkdir /mnt/mnt /mnt/media /mnt/proc /mnt/sys' && su -c 'umount /mnt' - создаём,настраиваем,чистим файл с ФС ext4,копируем йерархию корня ФС установленной системы в смонтированый в /mnt файл fsdata.ext3,по окончании создаём системные каталоги,исключённые при копировании,размонтируем файл fsdata.ext3,затем сжимаем его с помощью clicfs:
$su -c 'zypper ref;zypper in clicfs' - ставим
$su -c 'mkclicfs fsdata.ext3 openSUSE-12.1-livecd-kde-read-only.i686-2.8.0' - жмём
  С помощью Isomaster подменяем полученным архивом оригинальный в образе openSUSE и просто заменяем этим архивом старый,дефолтный сюзевский контейнер в корне нашего мультизагрузочного девайса:
$rm -f /media/ISO/openSUSE-12.1-livecd-kde-read-only.i686-2.8.0 && mv -vf openSUSE-12.1-livecd-kde-read-only.i686-2.8.0 /media/ISO
  Пользуемся.

  С gentoo-based и иными sources-based дистрами всё ещё проще,чем с RedHat-овским выводком.Достаточно просто установить,настроить(соблюдая тождество версии ядра на live DVD и в системе!),скомпилить из установленной системы новый сквош корня,заменить им старый и вперёд.Там за революционными решениями,вроде clicfs не гоняются,используют проверенный временем squashfs,и не торопятся отказываться от изживших себя в прошлом веке глупостей,типа масок пакетов,aka Gentoo,и долгого,упорного,красноглазого порно с компилянием всего и вся из исходников,в закосе под BSD,вместе с фряхой,безнадёжно устарев на фоне быстрых и экономных к месту на Ж/Д бинарных дистров,aka Debian & Fedora,отчего и не были рассматриваемыми в этой статье,отражающей сугубо личное мнение её автора.

воскресенье, 18 марта 2012 г.

FSARCHIVER for your OS

Часто приходится устанавливать различные операционные системы (ОС) на базе Linux и Windows на компьютеры различных архитектур и сборочных конфигураций.
 Обычно,очень удобно использовать для этого инструментарии "живых загрузочных дисков" live boot cd (partimage,image magic,system rescue cd,gparted,clonezilla & etc.),но это требует записи загрузочных образов на диск или usb,прочие,связанные с ситуационными ньюансами неудобства,и тут на помощь приходит легкая и мощная,но малоизвестная линукс утилита fsarchiver ,портированная почти под все основные дистрибутивы GNU/Linux.
 Команда:
$sudo fsarchiver probe
представит вам вывод всех существующих на Ж/Д вашего компьютера локальных разделов,причём с корректными метками томов,что само по себе круче вывода:
$sudo fdisk -l
а команда :
$sudo fsarchiver -jN -v savefs /media/где_места_больше/Win7.fsa /dev/sdaX   (N-число потоков архивирования,Х-номер раздела) 
к примеру тихо,с подробным выводом лога бэкапа на экран,заархивирует установленную
систему Windows 7 в удобное вам место в формат .fsa ,в прямом смысле,как есть,сжав 30-ти гиговую установку до 10-ти гигового(или меньше!) файла бэкапа,причём без необходимости монтировать раздел с Win в ОС Linux,прямо из пользовательского сеанса - сделал и забыл!
 Это же можно проделать и из сеанса live cd/DVD UBUNTU,SUSE,FEDORA,DEBIAN,MANDRIVA,PCLINUXOS!
 Просто настройте интернет,обновите источники ПО и установите fsarchiver:
$sudo apt-get install fsarchiver
$sudo urpmi fsarchiver
$sudo yum install fsarchiver
$sudo zipper -i fsarchiver
 Так же просто и развернуть архив бэкапа на любой подходящий по размеру локальный раздел Ж/Д из live-сессии или из пользовательского сеанса в установленной Linux системе:
$sudo fsarchiver -j2 -v restfs /media/где_лежит/Win7.fsa id=0,dest=/dev/sdaX && sudo update-grub
 Удобство и экономия времени и ресурсов оборудования на лицо!
Profit.

пятница, 12 августа 2011 г.

Простой и полный backup Вашего Debian/Ubuntu  на live cd/dvd и live-usb-key своими руками

                               

 

    Что ж, всем доброго времени суток и - начнём.У Вас ведь уже установлен Debian или Ubuntu?Да?Возможно Вы хотели сохранить его,как есть,со всеми настройками,на live cd/dvd ,live-usb-key,но не знали как,или найденные Вами инструменты для подобной задачи работали не так,как Вам бы хотелось,а?Тогда Вам сюда!..

     Я,как можно доступнее расскажу Вам,как сделать простой и полный backup  Вашего тукса своими руками,запаять это дело в live cd/dvd,закатать на usb с persistent mod & ,вообще...

     Для начала не помешает скачать live cd/dvd нужных Вам систем:

Для Ubuntu  - здесь:
http://releases.ubuntu.com/

Для Debian - здесь:
http://www.debian.org/distrib/
http://www.debian.org/CD/live/#choose_live
  
     Теперь - к делу:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                                                 LIVE CD/DVD

1)Перво-наперво обновите свою установленную систему,перепроверте все настройки,зависимости,почистите кэш пакетов,обновите grub & initramfs(обязательно!!!),установите ubiquity-frontend-gtk[kde] для ubuntu.

Для Debian речь пойдёт отдельно,ниже*

$cd && sudo aptitude install ubiquity-frontend-gtk ubiquity-casper ubiquity && echo 'sudo apt-get update && sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get -f install && sudo apt-get clean && sudo apt-get autoclean && sudo apt-get autoremove' > aptup && chmod +x aptup && echo 'sudo update-grube && sudo update-initramfs -u' > gbiup && chmod + x gbiup && sudo ./aptup && sudo ./gbiup                   ---   как-то так...

2)Запишите образ live cd/dvd ubuntu/debian на болванку,перезагрузитесь,загрузитесь с диска в live mod,откройте терминал и выполните следующее:

$sudo su

$#mkdir /mnt/fs && fdisk -l                  ---     создадим каталог для монтирования установленной системы и посмотрим на каком точно разделе она установлена.

$#sudo mount /dev/sda[x] /mnt/fs && mksquashfs /mnt/fs /где/больше/места/filesystem.squashfs     ---     примонтируем нашу систему на разделе /dev/sda[x] и запустим создание её полного бэкапа в архив filesystem.squashfs,по окончании действа:

$#chmod 777 /где/больше/места/filesystem.squashfs        ---      сделаем файл доступным "всем-всем-всем".

$#umount /mnt/fs && exit         ---размонтируемся и выйдем из рута

$file-roller      ---     запустим штатный менеджер архивов,найдём iso-образ скачанного live cd/dvd и распакуем его в папку (строго!) iso в той же директории,где и образ,закроем менеджер архивов (теперь он нам не помощник),создадим в этой же директории файл repack_iso.sh и открыв его в gedit вставим туда текст вот такого простого скрипта:

#!/bin/bash

IMAGE=ubuntu-custom.iso
BUILD=iso

# Запаковываем содержимое iso/ в образ ubuntu-custom.iso
echo ">>> Calculating MD5 sums..."
rm $BUILD/md5sum.txt
(cd $BUILD/ && find . -type f -print0 | xargs -0 md5sum | grep -v "boot.cat" | grep -v "md5sum.txt" > md5sum.txt)
echo ">>> Building iso image..."

mkisofs -r -V "Ubuntu OEM install" \
            -cache-inodes \
            -J -l -b isolinux/isolinux.bin \
            -c isolinux/boot.cat -no-emul-boot \
            -boot-load-size 4 -boot-info-table \
            -o $IMAGE $BUILD/

который умеет не только собрать распакованный образ обратно в *.iso,но сначала пересчитает чексум md5sum.txt для его составных частей - без этого новый образ live cd/dvd ubuntu откажется запускаться и выдаст ошибку...(потом,вы же почитаете man grep и т.д. составных скрипта,я в вас верю %-)) )

Ну,и - кульминационный момент - найдём созданный архив filesystem.squashfs,вырежем его и вставим в папку casper распакованного образа ubuntu,в терминале:

$cd /где/лежит/образ && sudo chmod 777 -R iso && rm /где/лежит/образ/iso/casper/filesystem.squashfs && mv /где/лежит/filesystem.squashfs /где/лежит/образ/iso/casper/filesystem.squashfs                   ---     будьте предельно внимательны!,пишите правильные пути к файлам,ну,или открывайте терминалы в наутилусах по папкам их хранения ))  ; и :

$cd /где/лежит/образ && ls && sudo ./repack_iso.sh && sudo chmod 777 ubuntu-custom.iso                 ---    перейдём  в директорию со скриптом,образом и его распакованной версией в папке iso и соберём новый образ ubuntu-custom.iso,которому опять же ссудим все права доступа.

Запишем это дело на болванку и попробуем загрузиться,если не получится,перечитайте вышесказанное ещё раз внимательнее,повторите процесс и задумайтесь,если делался бэкап lucid ,а образ natty,то что не так?...

(&& можно не использовать и вводить команды по отдельности -)) )
      Для простого развёртывания бэкапа на произвольный раздел ж/д без загрузок с live cd/dvd можно использовать команду unsquashfs:
$ unsquashfs --help
SYNTAX: unsquashfs [options] filesystem [directories or files to extract]
   -v[ersion]      print version, licence and copyright information
   -d[est] <pathname>   unsquash to <pathname>, default "squashfs-root"
   -n[o-progress]      don't display the progress bar
   -p[rocessors] <number>   use <number> processors.  By default will use
            number of processors available
   -i[nfo]         print files as they are unsquashed
   -li[nfo]      print files as they are unsquashed with file
            attributes (like ls -l output)...
$sudo fdisk -l
$sudo mkdir /mnt/fs && sudo mount /dev/sda[X] /mnt/fs
$sudo unsquashfs /где/лежит/filesystem.squashfs -d /mnt/fs
$sudo chmod 777 -R /mnt/fs
$sudo umount /mnt/fs
$sudo mount /dev/sda[X] /mnt
$sudo mount --bind /dev /mnt/dev
$sudo mount --bind /proc /mnt/proc
$sudo chroot /mnt
$#grub-install /dev/sda && grub-install --recheck /dev/sda
$#exit
$sudo umount /mnt/dev /mnt/proc /mnt && sudo reboot
profit

     * Не стану настаивать,но советую,всё же добавить в /etc/sources.list  репозиторий remastersys: http://geekconnection.org/remastersys/debian.html ,установить его и сделать бэкап системы с его помощью.Зачем?А есть таки один ньюанс - он создаст образ с упрощённой структурой каталогов и даже,если этот live cd/dvd не будет грузиться,с ним в дальнейшем будет проще работать,чем со стандартным live cd/dvd debian,используя,как обёртку для того,что мы сможем делать быстрее и надёжнее сами,как будет описанно ниже.
     Собственно,делаем то же,что и в случае с live cd/dvd ubuntu,коль скоро ubuntu is based on debian! - только filesystem.squashfs созданный с установленной системы,следует переместить в папку live распакованного образа,ну и чуток подправить скрипт запаковки,заменив ubuntu на debian,и - вперёд,на испытания!Современные стандартные debian-live образы,вроде как,оснащены графическим инсталлером и пунктом меню загрузки live,используя который,можно загрузиться и работать в live mod режиме,введя,если при загрузке выбросит в консоль :
$sudo rm /etc/X11/xorg.conf && sudo /etc/init.d/gdm[kdm] restart
или попытаться установить live систему куда-нибудь на жесткий диск - лично у меня получалось,и не раз...но,мало ли,что...
      Короче,если установлен remastersys,то в его составе присутствует remastersys installer,который вполне юзабилен и прост,проще убунтовского инсталятора,но если придерживаться чистоты эксперимента:"...своими руками..." - то можно обойтись и так:

#загрузиться с cd

#задать пароль рута
sudo passwd root

#стать рутом
su

{#задать пароль пользователя
passwd user} - нужно только при установке со стандартного debian-live

#создать точку монтирования
mkdir /sda[X] - где Х это номер целевого раздела

#mount the partition
mount /dev/sda[X] /sda[X]

#копировать содержимое live cd исключив ненужное(опционально!это бэкап вашей системы,не включайте в {} упомянутые системные каталоги,если они не были пусты на момент бэкапа!)
rsync -a / /sdaX/ --exclude=/{sdaX,live,sys,proc,media}/

#создать proc, sys, & media папки
mkdir /sda[X]/proc /sda[X]/sys /sda[X]/media

#chroot в корень скопированной системы
chroot /sda[X]/

#install grub - will only setup grub for this installation
grub-install /dev/sda
update-grub

#exit chroot
exit

#reboot
reboot

     Также,должен отметить,что простой и полный бэкап практически любой linux-системы,можно произвести с практически любого linux-live-cd простым монтированием файловой системы в заданный каталог и архивированием онного в свободное место на другом локальном разделе,с последующим восстановлением на заранее подготовленный(отформатированный) локальный раздел,где угодно и когда душа пожелает,обычной распаковкой архива на целевой раздел из live cd менеджером архивов,с последующим рекурсивным заданием прав доступа к директории монтирования корня целевого раздела для долгого и счастливого использования волшебной командой:
$sudo chmod 777 -R /mnt/fs              ---        если,конечно,не нужна рабочая live-система для всяких шаманских танцев с бубном...

      Собственно,это всё про live cd/dvd 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                                                LIVE-USB-KEY


     Так уж повелось,венда видит только первый по списку раздел воткнутой флэшки,а стало быть,коли другая половина девайса отведена под данные,хоть на FAT,хоть на NTFS-овском разделе,их вам всё равно не видать,не загрузившись с этой самой live-usb,а это время,часто ненужные нервы консервативных владельцев десктопов на венде,воспринимающих линь,чуть ли не как распространяемый врагами вирус(и не без причин,но не об этом...) Wink ,и ещё раз время,когда речь заходит о медленных домашних компах,а нужный сет программ для превращения их системы в хотя бы подобие рабочей станции был сброшен именно на флэшку под любимой Бунтой,от лени,али от спешки,а-то и по простой нехватке свободных болванок....Знакомо?Нет?Ну,товарищи,это вы просто жизни ещё не видели... 
     Работается это дело чисто в графике,за исключением пары мелких штришков,прогами "Создание загрузочного диска" из меню Система-Администрирование и "Редактор разделов Gparted" оттуда же  + любой менеджер архивов:
1)Вставляем флэшку,как запустится следуем в меню Система-Администрирование-"Создание загрузочного диска",запускаем наш live-usb-creator-gtk(~kde) и выбрав образ своего live cd/dvd,форматируем фляху,выбираем опцию сохранения данных пользователя в отдельном файле casper-rw,запускаем установку и ждём финал,затем перевтыкаем девайс.
2)Получив загрузочный девайс с опцией PERSISTENT MODE,перезагружаться,как предложено,не спешим,а кликаем "Open in terminal" на рабочем столе или Alt+F2 -> gnome-terminal ,или что там у кого,
и пишем:
 $sudo fdisk -l                                              -   и в выводе в самом низу смотрим,как называется ваша флэшка (/dev/sd[a,b,c,d,e,f])
$ sudo cp /dev/sdx /tmp/ubu/ubu.iso       -   единственно в sdх нужно х заменить своей буквой,открыть каталог /tmp/ubu в файловом менеджере и лицезреть,как загрузочный раздел свежеиспечённой флэшки бэкапится в файл ubu.iso после ввода вами пароля пользователя в терминале.
3)Готово?Запускаем Gparted,в правом верхнем углу находим кнопку с выпадающим меню видов носителей партиций,выбираем флэшку (/dev/sd[a,b,c,d,e,f]) и отмонтируем единственный,сейчас,на ней раздел,затем его,раздел,удаляем и,держа в уме его былой размер,разбиваем флэшку на два или больше раздела,давая второму или третьему тот самый размер удалённого (что бы поместилось всё что было),применяем изменения,перевтыкаем флэшку,жмём Alt+F2 ->gksu nautilus[dolphin] ,идём в каталог /media,находим свой девайс,на отображающей его папке правый клик,выбираем Свойства-Права и меняем принадлежность пользователя,присваивая себе и выдавая себе же все доступные права.Закрываем наш root file manager и в обычном FM находим наш ubu.iso в папке /tmp/ubu,кликаем на нём правой кнопкой мыша и выбираем "Открыть с помощью Менеджер архивов" из меню Открыть в программе.Распаковываем iso на подготовленный под live-usb систему раздел флэшки (/dev/sd[a,b,c,d,e,f]) и
4)Устанавливаем пакет syslinux :
$sudo aptitude install syslinux
Если "уже установлена самая последняя версия программы..." - то:
$sudo aptitude reinstall syslinux                                  -  что бы самый свежий был,и ещё пару строчек:
$su
Пароль
$#dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdx                                                  -         в sdx заменяем букву х  флэшки на свою
Записываем загрузчик syslinux:
$# syslinux -d /syslinux /dev/sdx2                                                                      -        в sdx2  заменяем букву и цифру флэшки и раздела флэшки на свои
     Вот и всё,теперь на первый раздел флэшки можно накидать чего надо что бы было видно под вендой,а на втором поселилась живая Бунта
     Впрочем,не совсем всё...ммм,а ведь,если увлечься настройками на свежеиспечённой ubuntu-live-usb,файл casper-rw заполнится и возможность вносить изменения будет утеряна,да?(((Нет!))),говорю я,думаю,курю...ну,маны,конечно,и - вот оно!!
    
#!/bin/sh
#Переход в DATA
cd /media/DATA && mkdir /media/squash /media/cow /media/aufs

#Копируем старый сквош
cp /media/SYS/casper/filesystem.squashfs /media/DATA/filesystem.squashfs && chmod 777 filesystem.squashfs

#Монтируем что надо
unionfs-fuse -o  cow \-o allow_other /media/squash=ro:/media/cow=rw /media/aufs &&
mount -t squashfs -o loop /media/SYS/casper/filesystem.squashfs /media/squash && mount -t ext2 -o loop /media/SYS/casper-rw /media/cow


#Компилим новый сквош
mksquashfs /media/cow filesystem1.squashfs && chmod 777 filesystem1.squashfs

#Размонтирумся
umount /media/squash /media/cow /media/aufs

#Заменяем
rm /media/SYS/casper/filesystem.squashfs && cp /media/SYS/casper-rw /media/DATA/casper-rw  && mv -f filesystem1.squashfs /media/SYS/casper/filesystem.squashfs

#Форматим live-rw
cd /media/SYS && /sbin/mkfs.ext2 -F casper-rw

#Перевтык
#cd && umount /dev/sdf && mount /dev/sdf


      Такой,вот,скриптик.Немного поясню:предположим,что второй,загрузочный,раздел нашей флэшки,с установленной ubuntu-live-usb,имеет метку SYS и будет смонтирован при подключении флэшки в /media/SYS;/media/DATA будет в роли промежуточного хранилища данных и может быть смонтированным локальным разделом;/media/aufs /media/squash/media/cow - специальные точки монтирования для организации unionfs из смонтированного образа filesystem.squashfs и смонтированного /dev/null флэшки - casper-rw.Тогда мы открываем в терминале сеанс root-а,используя $su - иначе рискуем нарваться на облом в исполнении скрипта при манипуляциях с файлами -и далее,по порядку исплнения скрипта:переходим в директорию /media/DATA,откуда и будут проистекать все последующие манипуляции(!);копируем файл filesystem.squashfs с флэшки в /media/DATA и выдаём ему все права доступа,как к файлу,и как к архиву,содержащему вложенные папки,рекурсивно;монтируем скопированный filesystem.squashfs в /media/squash и монтируем файл сохранённых состояний casper-rw с флэшки на /media/cow и сводим нашу aufs(unionfs) в /media/aufs;создаём обновлённый образ скопированной файловой системы ubuntu-live-usb с учётом наложенных в aufs данных из casper-rw и выдаём продукту этого действа полные права на доступ,как,так,и рекурсивно;по завершению компиляции всё размонтируем;удаляем с флэшки старый filesystem.squashfs в /media/SYS/casper,копируем (на всякий случай сбоя) старый casper-rw в /media/DATA,на случай n-ой надобности,выдаём равноценные права доступа к каталогу /media/SYS/casper рекурсивно,чтобы вставка обновлённого сквоша не напоролась на ошибку с правами и перемещаем обновлённый сквош на законное место,переименовывая согластно чину;переходим на загрузочный раздел флэшки и форматируем casper-rw в ext2,стирая все данные; и выходим из режима суперпользователя.Теперь,все сделанные ранее надругательства над ubuntu-live-usb,впечатаны во фрейм образа файловой системы read only - filesystem.squashfs - и мы можем перезагрузить комп,чтобы загрузиться с флэшки в чистом live режиме и убедиться,что внесённые изменения пропечатались в янтаре...такое,вот,шаманство -))

      Кстати,а у Вас прописан чистый live режим загрузки с usb-key в /syslinux/sislinux.cfg или /syslinux/live.cfg ,или /syslinux/menu.cfg (от способа сотворения live cd/dvd...)?Обязательно пропишите,причём первым пунктом меню загрузки:
label live non persist
    menu label Live Non Persistent
    kernel /live[casper]/vmlinuz
    append initrd=/live[casper]/initrd.img boot=live[casper] config  quiet splash --

соответственно, /live... - для debian , а /casper... - для ubuntu.



Good luck for all of us...only of us...
With respect,Deblanck.