https://www.altlinux.org/api.php?action=feedcontributions&user=Andyc&feedformat=atomALT Linux Wiki - Вклад [ru]2024-03-29T08:38:16ZВкладMediaWiki 1.38.2https://www.altlinux.org/index.php?title=Grub&diff=22497Grub2012-11-04T14:27:17Z<p>Andyc: /* Как переустановить GRUB? */</p>
<hr />
<div>[[Категория:Admin]]<br />
<br />
== Что такое GRUB? ==<br />
Wikipedia сообщает "GNU GRUB (англ. GRand Unified Bootloader) — загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки."<br />
[[:ruwp:Grub#GRUB_2|GRUB 2]]<br />
<br />
== Зачем нужен GRUB, если есть LILO/ELILO? ==<br />
* Поддержка модулей Raid, LVM, файловых систем вкупе с интерактивным интерфейсом позволяют выбрать, что загружать откуда угодно ''' в процессе загрузки ''' (а не установки загрузчика).<br />
* Возможность multiboot (для загрузки, к примеру, XEN)<br />
<br />
== Как установить GRUB? ==<br />
<br />
<source lang=bash>apt-get install grub2<br />
grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB<br />
grub-mkconfig -o /boot/grub/grub.cfg</source><br />
<br />
Последний пункт выполняет генерацию конфига GRUB на основе шаблонов/скриптов в /etc/grub.d/. Редактировать полученный конфиг руками не рекомендуется т.к. он будет уничтожен следующей автогенерацией (выполняемой, к примеру, installkernel-ом).<br />
<br />
== Где отредактировать параметры ядра? ==<br />
*Параметры ядра содержатся в /etc/sysconfig/grub2<br />
*После редактирования этого файла нужно вызвать grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
* По многочисленным просьбам трудящихся в Сизиф был направлен grub2-1.98-alt22.20100804. http://lists.altlinux.org/pipermail/sisyphus/2011-January/351598.html<br />
<br />
В /etc/sysconfig/grub2 теперь поддерживаются следующие опции:<br />
<br />
GRUB_AUTOUPDATE_CFG=true/false<br />
обновлять ли конфиг файл из файлтриггера установки/удаления ядер (по умолчанию true)<br />
<br />
GRUB_AUTOUPDATE_CFGNAME=/boot/grub/grub.cfg<br />
имя автообновляемого конфигфайла. (по умолчанию /boot/grub/grub.cfg)<br />
<br />
GRUB_VMLINUZ_SYMLINKS=true/false/default<br />
добавлять ли симлинки в меню (добавлять, не добавлять, добавлять только /boot/vmlinuz [по умолчанию])<br />
<br />
GRUB_VMLINUZ_FAILSAFE=true/false/default<br />
добавлять ли failsafe-пункты (добавлять, не добавлять, добавлять только для /boot/vmlinuz [по умолчанию])<br />
<br />
== Как дописать свои собственные пункты меню? ==<br />
*Теоретически вам не должно хотеться этого делать. Расскажите (в рассылке sisyphus@, к примеру) зачем вам этого захотелось - возможно, придумается какой-то новый общий случай. <br />
*Если вам всё же хочется - допишите то, что считаете нужным в /etc/grub.d/40_custom<br />
**После редактирования этого файла нужно вызвать grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
== Как выбрать то, что будет загружаться автоматом? ==<br />
* Выберите нужный вам пункт один раз при загрузке. savedefault должен сохранять ваш выбор на будущее. <br />
* Не нравится такое поведение? Отключите GRUB_SAVEDEFAULT в /etc/sysconfig/grub2<br />
* NB: в 2.00+ поведение изменилось, теперь дополнительные ядра для того же корня спрятаны в подменю "Advanced options".<br />
<br />
== Как загрузить Xen? ==<br />
Xen грузится с помощью multiboot:<br />
*проверить, что вы используете grub2 >= 1.98-alt11<br />
*apt-get install xen xen-libs xen-runtime xen-hypervisor<br />
*запустить grub-mkconfig -o /boot/grub/grub.cfg<br />
*выбрать соответствующий пункт при загрузке (savedefault запомнит выбор на будущее)<br />
<br />
== Как включить работу с последовательным портом? ==<br />
Примерно такими строчками в /etc/sysconfig/grub2:<br />
GRUB_TERMINAL='console serial'<br />
GRUB_SERIAL_COMMAND='serial --unit=0 --speed=115200'<br />
(см. [http://www.altlinux.org/SerialLogin#GRUB_.D0.B8_.D0.BF.D0.BE.D1.81.D0.BB.D0.B5.D0.B4.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D1.8B.D0.B9_.D0.BF.D0.BE.D1.80.D1.82 также]). Не забываем про grub-mkconfig.<br />
<br />
== Загрузка Linux и Windows c разных жестких дисков ==<br />
<br />
Grub2 грузится с основного диска на котором Linux, Windows установлен на дополнительный жесткий диск.<br />
В 40_custom добавляем:<br />
menuentry "Windows XP" {<br />
drivemap -s (hd1) ${root}<br />
set root='(hd1)'<br />
chainloader +1<br />
}<br />
Если жестких дисков больше двух, играемся с hdX.<br />
<br />
== Как установить пароль на редактирование параметров ядра? ==<br />
<br />
По умолчанию при загрузке любой пользователь может добавить/изменить параметры.<br />
Этого можно избежать, если установить пароль. Например, добавить в файл {{path|/etc/grub.d/40_custom}}<br />
строки:<br />
<br />
set superusers="user"<br />
password user password<br />
<br />
и отключить графику в {{path|/etc/sysconfig/grub}} (см. {{altbug|26198}}):<br />
GRUB_TERMINAL_OUTPUT='console'<br />
<br />
== Как переустановить GRUB? ==<br />
<br />
После обновления до [http://lists.altlinux.org/pipermail/sisyphus/2012-October/358868.html grub2-pc-2.00-alt1]<br />
операционная система может не загрузиться. В таком случае, необходимо иметь под<br />
рукой любой live disk. Далее:<br />
* Загружаемся с rescue-cd (про альтовский не знаю, есть ли в наличии, я пользовался systemrescuecd)<br />
<br />
* Скачиваем предыдущую версию пакета:<br />
http://ftp.altlinux.org/pub/distributions/archive/Sisyphus/2012/10/30/<br />
<br />
* монитируем нужные директории:<br />
<code bash><br />
mount /dev/sda2 /mnt <br />
mount -o bind /dev /mnt/dev<br />
mount -o bind /dev/pts /mnt/dev/pts<br />
mount -o bind /proc /mnt/proc<br />
mount -o bind /run /mnt/run<br />
mount -o bind /sys /mnt/sys<br />
chroot /mnt/ /bin/bash<br />
</code><br />
<br />
* устанавливаем rpm<br />
<code bash><br />
rpm -Uvh --oldpackage /home/andy/grub2-pc-1.99-alt9.i586.rpm<br />
</code><br />
<br />
* переконфигурируем меню grub<br />
<code bash><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</code><br />
<br />
После описанного выше, у меня загрузилась операционная система.<br />
<br />
По мотивам: http://edoceo.com/notabene/grub-probe-error-cannot-find-device-for-root<br />
<br />
== Где почитать ещё? ==<br />
* Викиучебник (debian-related документация) http://ru.wikibooks.org/wiki/Grub_2, с небольшими изменениями применимо и у нас.<br />
* http://people.apache.org/~skitching/MineOfInformation/linux/Booting_Linux_on_x86_with_Grub2.html (англ.)<br />
* GNU GRUB Manual 2.00 http://www.gnu.org/software/grub/manual/grub.html (англ.)<br />
* дистрибутивные вики: [https://wiki.archlinux.org/index.php/GRUB2 Arch], [https://wiki.frugalware.org/index.php/GRUB2 Frugalware], [http://wiki.gentoo.org/wiki/GRUB2 Gentoo]<br />
<br />
А также в операционной системе:<br />
info grub<br />
info -f grub -n 'Simple configuration'</div>Andychttps://www.altlinux.org/index.php?title=Grub&diff=22496Grub2012-11-04T14:26:33Z<p>Andyc: /* Как переустановить GRUB? */</p>
<hr />
<div>[[Категория:Admin]]<br />
<br />
== Что такое GRUB? ==<br />
Wikipedia сообщает "GNU GRUB (англ. GRand Unified Bootloader) — загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки."<br />
[[:ruwp:Grub#GRUB_2|GRUB 2]]<br />
<br />
== Зачем нужен GRUB, если есть LILO/ELILO? ==<br />
* Поддержка модулей Raid, LVM, файловых систем вкупе с интерактивным интерфейсом позволяют выбрать, что загружать откуда угодно ''' в процессе загрузки ''' (а не установки загрузчика).<br />
* Возможность multiboot (для загрузки, к примеру, XEN)<br />
<br />
== Как установить GRUB? ==<br />
<br />
<source lang=bash>apt-get install grub2<br />
grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB<br />
grub-mkconfig -o /boot/grub/grub.cfg</source><br />
<br />
Последний пункт выполняет генерацию конфига GRUB на основе шаблонов/скриптов в /etc/grub.d/. Редактировать полученный конфиг руками не рекомендуется т.к. он будет уничтожен следующей автогенерацией (выполняемой, к примеру, installkernel-ом).<br />
<br />
== Где отредактировать параметры ядра? ==<br />
*Параметры ядра содержатся в /etc/sysconfig/grub2<br />
*После редактирования этого файла нужно вызвать grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
* По многочисленным просьбам трудящихся в Сизиф был направлен grub2-1.98-alt22.20100804. http://lists.altlinux.org/pipermail/sisyphus/2011-January/351598.html<br />
<br />
В /etc/sysconfig/grub2 теперь поддерживаются следующие опции:<br />
<br />
GRUB_AUTOUPDATE_CFG=true/false<br />
обновлять ли конфиг файл из файлтриггера установки/удаления ядер (по умолчанию true)<br />
<br />
GRUB_AUTOUPDATE_CFGNAME=/boot/grub/grub.cfg<br />
имя автообновляемого конфигфайла. (по умолчанию /boot/grub/grub.cfg)<br />
<br />
GRUB_VMLINUZ_SYMLINKS=true/false/default<br />
добавлять ли симлинки в меню (добавлять, не добавлять, добавлять только /boot/vmlinuz [по умолчанию])<br />
<br />
GRUB_VMLINUZ_FAILSAFE=true/false/default<br />
добавлять ли failsafe-пункты (добавлять, не добавлять, добавлять только для /boot/vmlinuz [по умолчанию])<br />
<br />
== Как дописать свои собственные пункты меню? ==<br />
*Теоретически вам не должно хотеться этого делать. Расскажите (в рассылке sisyphus@, к примеру) зачем вам этого захотелось - возможно, придумается какой-то новый общий случай. <br />
*Если вам всё же хочется - допишите то, что считаете нужным в /etc/grub.d/40_custom<br />
**После редактирования этого файла нужно вызвать grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
== Как выбрать то, что будет загружаться автоматом? ==<br />
* Выберите нужный вам пункт один раз при загрузке. savedefault должен сохранять ваш выбор на будущее. <br />
* Не нравится такое поведение? Отключите GRUB_SAVEDEFAULT в /etc/sysconfig/grub2<br />
* NB: в 2.00+ поведение изменилось, теперь дополнительные ядра для того же корня спрятаны в подменю "Advanced options".<br />
<br />
== Как загрузить Xen? ==<br />
Xen грузится с помощью multiboot:<br />
*проверить, что вы используете grub2 >= 1.98-alt11<br />
*apt-get install xen xen-libs xen-runtime xen-hypervisor<br />
*запустить grub-mkconfig -o /boot/grub/grub.cfg<br />
*выбрать соответствующий пункт при загрузке (savedefault запомнит выбор на будущее)<br />
<br />
== Как включить работу с последовательным портом? ==<br />
Примерно такими строчками в /etc/sysconfig/grub2:<br />
GRUB_TERMINAL='console serial'<br />
GRUB_SERIAL_COMMAND='serial --unit=0 --speed=115200'<br />
(см. [http://www.altlinux.org/SerialLogin#GRUB_.D0.B8_.D0.BF.D0.BE.D1.81.D0.BB.D0.B5.D0.B4.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D1.8B.D0.B9_.D0.BF.D0.BE.D1.80.D1.82 также]). Не забываем про grub-mkconfig.<br />
<br />
== Загрузка Linux и Windows c разных жестких дисков ==<br />
<br />
Grub2 грузится с основного диска на котором Linux, Windows установлен на дополнительный жесткий диск.<br />
В 40_custom добавляем:<br />
menuentry "Windows XP" {<br />
drivemap -s (hd1) ${root}<br />
set root='(hd1)'<br />
chainloader +1<br />
}<br />
Если жестких дисков больше двух, играемся с hdX.<br />
<br />
== Как установить пароль на редактирование параметров ядра? ==<br />
<br />
По умолчанию при загрузке любой пользователь может добавить/изменить параметры.<br />
Этого можно избежать, если установить пароль. Например, добавить в файл {{path|/etc/grub.d/40_custom}}<br />
строки:<br />
<br />
set superusers="user"<br />
password user password<br />
<br />
и отключить графику в {{path|/etc/sysconfig/grub}} (см. {{altbug|26198}}):<br />
GRUB_TERMINAL_OUTPUT='console'<br />
<br />
== Как переустановить GRUB? ==<br />
<br />
После обновления до [http://lists.altlinux.org/pipermail/sisyphus/2012-October/358868.html grub2-pc-2.00-alt1]<br />
операционная система может не загрузиться. В таком случае, необходимо иметь под<br />
рукой любой live disk. Далее:<br />
* Загружаемся с rescue-cd (про альтовский не знаю, есть ли в наличии, я пользовался systemrescuecd)<br />
<br />
* Скачиваем предыдущую версию пакета:<br />
http://ftp.altlinux.org/pub/distributions/archive/Sisyphus/2012/10/30/<br />
<br />
* монитируем нужные директории:<br />
<code bash><br />
mount /dev/sda2 /mnt <br />
mount -o bind /dev /mnt/dev<br />
mount -o bind /dev/pts /mnt/dev/pts<br />
mount -o bind /proc /mnt/proc<br />
mount -o bind /run /mnt/run<br />
mount -o bind /sys /mnt/sys<br />
chroot /mnt/ /bin/bash<br />
</code><br />
<br />
* устанавливаем rpm<br />
<code bash><br />
rpm -Uvh --oldpackage /home/andy/grub2-pc-1.99-alt9.i586.rpm<br />
</code><br />
<br />
По мотивам: http://edoceo.com/notabene/grub-probe-error-cannot-find-device-for-root<br />
<br />
* переконфигурируем меню grub<br />
<code bash><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</code><br />
<br />
После описанного выше, у меня загрузилась операционная система.<br />
<br />
== Где почитать ещё? ==<br />
* Викиучебник (debian-related документация) http://ru.wikibooks.org/wiki/Grub_2, с небольшими изменениями применимо и у нас.<br />
* http://people.apache.org/~skitching/MineOfInformation/linux/Booting_Linux_on_x86_with_Grub2.html (англ.)<br />
* GNU GRUB Manual 2.00 http://www.gnu.org/software/grub/manual/grub.html (англ.)<br />
* дистрибутивные вики: [https://wiki.archlinux.org/index.php/GRUB2 Arch], [https://wiki.frugalware.org/index.php/GRUB2 Frugalware], [http://wiki.gentoo.org/wiki/GRUB2 Gentoo]<br />
<br />
А также в операционной системе:<br />
info grub<br />
info -f grub -n 'Simple configuration'</div>Andychttps://www.altlinux.org/index.php?title=Grub&diff=22495Grub2012-11-04T14:25:34Z<p>Andyc: </p>
<hr />
<div>[[Категория:Admin]]<br />
<br />
== Что такое GRUB? ==<br />
Wikipedia сообщает "GNU GRUB (англ. GRand Unified Bootloader) — загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки."<br />
[[:ruwp:Grub#GRUB_2|GRUB 2]]<br />
<br />
== Зачем нужен GRUB, если есть LILO/ELILO? ==<br />
* Поддержка модулей Raid, LVM, файловых систем вкупе с интерактивным интерфейсом позволяют выбрать, что загружать откуда угодно ''' в процессе загрузки ''' (а не установки загрузчика).<br />
* Возможность multiboot (для загрузки, к примеру, XEN)<br />
<br />
== Как установить GRUB? ==<br />
<br />
<source lang=bash>apt-get install grub2<br />
grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB<br />
grub-mkconfig -o /boot/grub/grub.cfg</source><br />
<br />
Последний пункт выполняет генерацию конфига GRUB на основе шаблонов/скриптов в /etc/grub.d/. Редактировать полученный конфиг руками не рекомендуется т.к. он будет уничтожен следующей автогенерацией (выполняемой, к примеру, installkernel-ом).<br />
<br />
== Где отредактировать параметры ядра? ==<br />
*Параметры ядра содержатся в /etc/sysconfig/grub2<br />
*После редактирования этого файла нужно вызвать grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
* По многочисленным просьбам трудящихся в Сизиф был направлен grub2-1.98-alt22.20100804. http://lists.altlinux.org/pipermail/sisyphus/2011-January/351598.html<br />
<br />
В /etc/sysconfig/grub2 теперь поддерживаются следующие опции:<br />
<br />
GRUB_AUTOUPDATE_CFG=true/false<br />
обновлять ли конфиг файл из файлтриггера установки/удаления ядер (по умолчанию true)<br />
<br />
GRUB_AUTOUPDATE_CFGNAME=/boot/grub/grub.cfg<br />
имя автообновляемого конфигфайла. (по умолчанию /boot/grub/grub.cfg)<br />
<br />
GRUB_VMLINUZ_SYMLINKS=true/false/default<br />
добавлять ли симлинки в меню (добавлять, не добавлять, добавлять только /boot/vmlinuz [по умолчанию])<br />
<br />
GRUB_VMLINUZ_FAILSAFE=true/false/default<br />
добавлять ли failsafe-пункты (добавлять, не добавлять, добавлять только для /boot/vmlinuz [по умолчанию])<br />
<br />
== Как дописать свои собственные пункты меню? ==<br />
*Теоретически вам не должно хотеться этого делать. Расскажите (в рассылке sisyphus@, к примеру) зачем вам этого захотелось - возможно, придумается какой-то новый общий случай. <br />
*Если вам всё же хочется - допишите то, что считаете нужным в /etc/grub.d/40_custom<br />
**После редактирования этого файла нужно вызвать grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
== Как выбрать то, что будет загружаться автоматом? ==<br />
* Выберите нужный вам пункт один раз при загрузке. savedefault должен сохранять ваш выбор на будущее. <br />
* Не нравится такое поведение? Отключите GRUB_SAVEDEFAULT в /etc/sysconfig/grub2<br />
* NB: в 2.00+ поведение изменилось, теперь дополнительные ядра для того же корня спрятаны в подменю "Advanced options".<br />
<br />
== Как загрузить Xen? ==<br />
Xen грузится с помощью multiboot:<br />
*проверить, что вы используете grub2 >= 1.98-alt11<br />
*apt-get install xen xen-libs xen-runtime xen-hypervisor<br />
*запустить grub-mkconfig -o /boot/grub/grub.cfg<br />
*выбрать соответствующий пункт при загрузке (savedefault запомнит выбор на будущее)<br />
<br />
== Как включить работу с последовательным портом? ==<br />
Примерно такими строчками в /etc/sysconfig/grub2:<br />
GRUB_TERMINAL='console serial'<br />
GRUB_SERIAL_COMMAND='serial --unit=0 --speed=115200'<br />
(см. [http://www.altlinux.org/SerialLogin#GRUB_.D0.B8_.D0.BF.D0.BE.D1.81.D0.BB.D0.B5.D0.B4.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D1.8B.D0.B9_.D0.BF.D0.BE.D1.80.D1.82 также]). Не забываем про grub-mkconfig.<br />
<br />
== Загрузка Linux и Windows c разных жестких дисков ==<br />
<br />
Grub2 грузится с основного диска на котором Linux, Windows установлен на дополнительный жесткий диск.<br />
В 40_custom добавляем:<br />
menuentry "Windows XP" {<br />
drivemap -s (hd1) ${root}<br />
set root='(hd1)'<br />
chainloader +1<br />
}<br />
Если жестких дисков больше двух, играемся с hdX.<br />
<br />
== Как установить пароль на редактирование параметров ядра? ==<br />
<br />
По умолчанию при загрузке любой пользователь может добавить/изменить параметры.<br />
Этого можно избежать, если установить пароль. Например, добавить в файл {{path|/etc/grub.d/40_custom}}<br />
строки:<br />
<br />
set superusers="user"<br />
password user password<br />
<br />
и отключить графику в {{path|/etc/sysconfig/grub}} (см. {{altbug|26198}}):<br />
GRUB_TERMINAL_OUTPUT='console'<br />
<br />
== Как переустановить GRUB? ==<br />
<br />
После обновления до [http://lists.altlinux.org/pipermail/sisyphus/2012-October/358868.html grub2-pc-2.00-alt1]<br />
операционная система может не загрузиться. В таком случае, необходимо иметь под<br />
рукой любой live disk. Далее:<br />
* Загружаемся с rescue-cd (про альтовский не знаю, есть ли в наличии, я пользовался systemrescuecd)<br />
<br />
* Скачиваем предыдущую версию пакета:<br />
http://ftp.altlinux.org/pub/distributions/archive/Sisyphus/2012/10/30/<br />
<br />
* монитируем нужные директории:<br />
<code bash><br />
mount /dev/sda2 /mnt <br />
mount -o bind /dev /mnt/dev<br />
mount -o bind /dev/pts /mnt/dev/pts<br />
mount -o bind /proc /mnt/proc<br />
mount -o bind /run /mnt/run<br />
mount -o bind /sys /mnt/sys<br />
chroot /mnt/ /bin/bash<br />
</code><br />
<br />
* устанавливаем rpm<br />
<code bash><br />
rpm -Uvh --oldpackage /home/andy/grub2-pc-1.99-alt9.i586.rpm<br />
</code><br />
<br />
* переконфигурируем меню grub<br />
<code bash><br />
grub-mkconfig -o /boot/grub/grub.cfg<br />
</code><br />
<br />
После описанного выше, у меня загрузилась операционная система.<br />
<br />
<br />
<br />
== Где почитать ещё? ==<br />
* Викиучебник (debian-related документация) http://ru.wikibooks.org/wiki/Grub_2, с небольшими изменениями применимо и у нас.<br />
* http://people.apache.org/~skitching/MineOfInformation/linux/Booting_Linux_on_x86_with_Grub2.html (англ.)<br />
* GNU GRUB Manual 2.00 http://www.gnu.org/software/grub/manual/grub.html (англ.)<br />
* дистрибутивные вики: [https://wiki.archlinux.org/index.php/GRUB2 Arch], [https://wiki.frugalware.org/index.php/GRUB2 Frugalware], [http://wiki.gentoo.org/wiki/GRUB2 Gentoo]<br />
<br />
А также в операционной системе:<br />
info grub<br />
info -f grub -n 'Simple configuration'</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=21775Netbook-live2012-09-04T19:05:23Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald 3.6-rc4<br />
<br />
Актуальная стабильная версия: 6.0.7 на базе Шестой Платформы (с [[Netbook-live/touch|поддержкой сенсорного ввода]]). Где взять: [ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/ ftp.linux.kiev.ua]<br />
<br />
----<br />
<br />
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Загрузить ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog;hb=p6 История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash;hb=p6 README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install;hb=p6 README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== Из образа live-flash.img ====<br />
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой: <br />
<br />
<code>dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).<br />
<br />
==== Создание образа с использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=eeepc-live.img of=/dev/sdb<br />
</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.<br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux nblive-6.0.2<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне было нужно именно это и я это сделал.<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с <br />
чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было<br />
отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание <br />
обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся<br />
разделе, доступном для чтения и записи.<br />
<br />
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные<br />
профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и <br />
это возможно - смотрите [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks;hb=p6 README.hooks]]<br />
<br />
Я работаю следующим образом:<br />
<br />
На SSD носителе, есть раздел размером в 1GB, где храняться full.cz vmlinuz и загрузчик, <br />
загружающий vmlinuz с initrd full.cz и пропускающий командную строку, необходимую для <br />
для загрузки из образа eeelive.<br />
<br />
Далее, у меня есть куча небольших скриптов, в live.hooks - они бесполезны для всех, кроме<br />
меня - это моя небольшая персонализация. Потом у меня монтируется директория /home, размером<br />
в 2GB, при помощи этих хуков. Смотрите примеры и вики.<br />
<br />
Когда у меня появился 1215N в дополнение к моему 901, я изменил подход:<br />
Теперь все мои данные находятся на зашифрованном при помощи LUKS, usb флешке, размером в 8GB. Когда я его<br />
вставляю и разлочиваю, он монтируется в /media/m8gb, после этого я вызываю скрипт <br />
/media/m8gb/prepare, который развертывает мою конфигурацию vpn, wifi и 3G соединение<br />
для NetworkManager, так же он добавляет ключи к ssh агенту и разворачивает /media/m8gb/home.skel<br />
поверх /home/altlinux.<br />
<br />
Так же, существует /media/m8gb/profiles с encfs (ага, encfs поверх LUKS, просто для детализации)<br />
Другой скрипт /media/m8gb/mount-me монтирует encfs оттуда в домашнюю директорию firefox, .config/purple и thunderbird.<br />
<br />
Когда я заканчиваю, я размонтирую encfs, лочу LUKS и вынимаю флешку.<br />
<br />
Важен тот факт, что $HOME виртуальный и эфемерный. Единственными вещами, требующими<br />
"онлайн" обновления являются профили mozilla, конфиги или логи jabber и ~/work.<br />
<br />
Всю остальную конфигурацию, которую мне надо сохранить, я копирую в<br />
/media/m8gb/home.skel. Например, конфиги irssi и .ssh/config.<br />
<br />
Поэтому, я могу работать с любым моим ноутбуком, с легкостью переключаясь между ними.<br />
<br />
Конечно, у меня есть второй ssd носитель, емкостью 16GB в 901 модели и диск на 250GB в<br />
1215. Первое, о чем я подумал, я должен аккуратно разделить мою работу и... все остальное.<br />
Поэтому, вся моя работа на флешке, а диски для хранения музыки, фильмов и тому подобного.<br />
Так же, у меня хранится частичный клон сизифа на 1215N. Иногда я использую его для сборки<br />
пакетов и образов.<br />
<br />
Еще у меня в наличии внешний жесткий диск на 320Gb, иногда приходится копировать<br />
информацию между ними, в зависимости от того, какой ноутбук я буду брать.<br />
<br />
Разумеется, Вы можете сами придумать, как управляться со своим добром.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/602<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Netbook-Live 6.0.2<br />
kernel 602/vmlinuz<br />
append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate;hb=p6 просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте<ref>Размещать профиль для сборки следует под $HOME или $TMP, см. {{path|/etc/hasher-priv/system}}</ref>репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
cd liveflash.eeepc<br />
git checkout p6<br />
<br />
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
* Acer Aspire TimelineX 1830T<br />
* Acer Aspire One NAV50<br />
* ASUS Eee Box 1007 (неттоп)<br />
* ASUS Eee PC 701, 901, 1000<br />
* ASUS Eee PC 1215N<br />
* ASUS Z99H<br />
* BENQ R55V<br />
* IBM ThinkPad R52<br />
* IBM ThinkPad T43<br />
* IBM ThinkPad X61S<br />
* LG LS 50<br />
* 3Q AN1008A<br />
* [[Netbook-live/touch|Asus Eee PC Touch T101MT]]<br />
* [[Netbook-live/touch|Некоторые планшеты]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
[[Категория:LXDE]] [[Категория:LiveCD]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=21774Netbook-live2012-09-04T18:56:49Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald 3.6-rc4<br />
<br />
Актуальная стабильная версия: 6.0.7 на базе Шестой Платформы (с [[Netbook-live/touch|поддержкой сенсорного ввода]]). Где взять: [ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/ ftp.linux.kiev.ua]<br />
<br />
----<br />
<br />
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Загрузить ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog;hb=p6 История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash;hb=p6 README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install;hb=p6 README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== Из образа live-flash.img ====<br />
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой: <br />
<br />
<code>dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).<br />
<br />
==== Создание образа с использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=eeepc-live.img of=/dev/sdb<br />
</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.<br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux nblive-6.0.2<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне было нужно именно это и я это сделал.<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с <br />
чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было<br />
отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание <br />
обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся<br />
разделе, доступном для чтения и записи.<br />
<br />
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные<br />
профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и <br />
это возможно - смотрите [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks;hb=p6 README.hooks]]<br />
<br />
Я работаю следующим образом:<br />
<br />
На SSD носителе, есть раздел размером в 1GB, где храняться full.cz vmlinuz и загрузчик, <br />
загружающий vmlinuz с initrd full.cz и пропускающий командную строку, необходимую для <br />
для загрузки из образа eeelive.<br />
<br />
Далее, у меня есть куча небольших скриптов, в live.hooks - они бесполезны для всех, кроме<br />
меня - это моя небольшая персонализация. Потом у меня монтируется директория /home, размером<br />
в 2GB, при помощи этих хуков. Смотрите примеры и вики.<br />
<br />
Когда у меня появился 1215N в дополнение к моему 901, я изменил подход:<br />
Теперь все мои данные находятся на зашифрованном при помощи LUKS, usb флешке, размером в 8GB. Когда я его<br />
вставляю и разлочиваю, он монтируется в /media/m8gb, после этого я вызываю скрипт <br />
/media/m8gb/prepare, который развертывает мою конфигурацию vpn, wifi и 3G соединение<br />
для NetworkManager, так же он добавляет ключи к ssh агенту и разворачивает /media/m8gb/home.skel<br />
поверх /home/altlinux.<br />
<br />
Так же, существует /media/m8gb/profiles с encfs (ага, encfs поверх LUKS, просто для детализации)<br />
Другой скрипт /media/m8gb/mount-me монтирует encfs оттуда в домашнюю директорию firefox, .config/purple и thunderbird.<br />
<br />
Когда я заканчиваю, я размонтирую encfs, лочу LUKS и вынимаю флешку.<br />
<br />
Важен тот факт, что $HOME виртуальный и эфемерный. Единственными вещами, требующими<br />
"онлайн" обновления являются профили mozilla, конфиги или логи jabber и ~/work.<br />
<br />
Всю остальную конфигурацию, которую мне надо сохранить, я копирую в<br />
/media/m8gb/home.skel. Например, конфиги irssi и .ssh/config.<br />
<br />
Поэтому, я могу работать с любым моим ноутбуком, с легкостью переключаясь между ними.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/602<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Netbook-Live 6.0.2<br />
kernel 602/vmlinuz<br />
append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate;hb=p6 просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте<ref>Размещать профиль для сборки следует под $HOME или $TMP, см. {{path|/etc/hasher-priv/system}}</ref>репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
cd liveflash.eeepc<br />
git checkout p6<br />
<br />
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
* Acer Aspire TimelineX 1830T<br />
* Acer Aspire One NAV50<br />
* ASUS Eee Box 1007 (неттоп)<br />
* ASUS Eee PC 701, 901, 1000<br />
* ASUS Eee PC 1215N<br />
* ASUS Z99H<br />
* BENQ R55V<br />
* IBM ThinkPad R52<br />
* IBM ThinkPad T43<br />
* IBM ThinkPad X61S<br />
* LG LS 50<br />
* 3Q AN1008A<br />
* [[Netbook-live/touch|Asus Eee PC Touch T101MT]]<br />
* [[Netbook-live/touch|Некоторые планшеты]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
[[Категория:LXDE]] [[Категория:LiveCD]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=21773Netbook-live2012-09-04T18:02:45Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald 3.6-rc4<br />
<br />
Актуальная стабильная версия: 6.0.7 на базе Шестой Платформы (с [[Netbook-live/touch|поддержкой сенсорного ввода]]). Где взять: [ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/ ftp.linux.kiev.ua]<br />
<br />
----<br />
<br />
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Загрузить ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog;hb=p6 История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash;hb=p6 README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install;hb=p6 README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== Из образа live-flash.img ====<br />
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой: <br />
<br />
<code>dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).<br />
<br />
==== Создание образа с использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=eeepc-live.img of=/dev/sdb<br />
</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.<br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux nblive-6.0.2<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне было нужно именно это и я это сделал.<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с <br />
чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было<br />
отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание <br />
обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся<br />
разделе, доступном для чтения и записи.<br />
<br />
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные<br />
профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и <br />
это возможно - смотрите [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks;hb=p6 README.hooks]]<br />
<br />
Я работаю следующим образом:<br />
<br />
На SSD носителе, есть раздел размером в 1GB, где храняться full.cz vmlinuz и загрузчик, <br />
загружающий vmlinuz с initrd full.cz и пропускающий командную строку, необходимую для <br />
для загрузки из образа eeelive.<br />
<br />
Далее, у меня есть куча небольших скриптов, в live.hooks - они бесполезны для всех, кроме<br />
меня - это моя небольшая персонализация. Потом у меня монтируется директория /home, размером<br />
в 2GB, при помощи этих хуков. Смотрите примеры и вики.<br />
<br />
Когда у меня появился 1215N в дополнение к моему 901, я изменил подход:<br />
Теперь все мои данные находятся на зашифрованном при помощи LUKS, usb флешке, размером в 8GB. Когда я его<br />
вставляю и разлочиваю, он монтируется в /media/m8gb, после этого я вызываю скрипт <br />
/media/m8gb/prepare, который развертывает мою конфигурацию vpn, wifi и 3G соединение<br />
для NetworkManager, так же он добавляет ключи к ssh агенту и разворачивает /media/m8gb/home.skel<br />
поверх /home/altlinux.<br />
<br />
Так же, существует /media/m8gb/profiles с encfs (ага, encfs поверх LUKS, просто для детализации)<br />
Другой скрипт /media/m8gb/mount-me монтирует encfs оттуда в домашнюю директорию firefox, .config/purple и thunderbird.<br />
<br />
Когда я заканчиваю, я размонтирую encfs, лочу LUKS и вынимаю флешку.<br />
<br />
Важен тот факт, что $HOME виртуальный и эфемерный. Единственными вещами, требующими<br />
"онлайн" обновления являются профили mozilla, конфиги или логи jabber и ~/work.<br />
<br />
Всю остальную конфигурацию, которую мне надо сохранить, я копирую в<br />
/media/m8gb/home.skel. Например, конфиги irssi и .ssh/config.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/602<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Netbook-Live 6.0.2<br />
kernel 602/vmlinuz<br />
append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate;hb=p6 просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте<ref>Размещать профиль для сборки следует под $HOME или $TMP, см. {{path|/etc/hasher-priv/system}}</ref>репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
cd liveflash.eeepc<br />
git checkout p6<br />
<br />
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
* Acer Aspire TimelineX 1830T<br />
* Acer Aspire One NAV50<br />
* ASUS Eee Box 1007 (неттоп)<br />
* ASUS Eee PC 701, 901, 1000<br />
* ASUS Eee PC 1215N<br />
* ASUS Z99H<br />
* BENQ R55V<br />
* IBM ThinkPad R52<br />
* IBM ThinkPad T43<br />
* IBM ThinkPad X61S<br />
* LG LS 50<br />
* 3Q AN1008A<br />
* [[Netbook-live/touch|Asus Eee PC Touch T101MT]]<br />
* [[Netbook-live/touch|Некоторые планшеты]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
[[Категория:LXDE]] [[Категория:LiveCD]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=21772Netbook-live2012-09-04T17:59:57Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald 3.6-rc4<br />
<br />
Актуальная стабильная версия: 6.0.7 на базе Шестой Платформы (с [[Netbook-live/touch|поддержкой сенсорного ввода]]). Где взять: [ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/ ftp.linux.kiev.ua]<br />
<br />
----<br />
<br />
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Загрузить ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog;hb=p6 История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash;hb=p6 README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install;hb=p6 README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== Из образа live-flash.img ====<br />
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой: <br />
<br />
<code>dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).<br />
<br />
==== Создание образа с использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=eeepc-live.img of=/dev/sdb<br />
</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.<br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux nblive-6.0.2<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне было нужно именно это и я это сделал.<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с <br />
чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было<br />
отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание <br />
обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся<br />
разделе, доступном для чтения и записи.<br />
<br />
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные<br />
профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и <br />
это возможно - смотрите [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks;hb=p6 README.hooks]]<br />
<br />
Я работаю следующим образом:<br />
<br />
На SSD носителе, есть раздел размером в 1GB, где храняться full.cz vmlinuz и загрузчик, <br />
загружающий vmlinuz с initrd full.cz и пропускающий командную строку, необходимую для <br />
для загрузки из образа eeelive.<br />
<br />
Далее, у меня есть куча небольших скриптов, в live.hooks - они бесполезны для всех, кроме<br />
меня - это моя небольшая персонализация. Потом у меня монтируется директория /home, размером<br />
в 2GB, при помощи этих хуков. Смотрите примеры и вики.<br />
<br />
Когда у меня появился 1215N в дополнение к моему 901, я изменил подход:<br />
Теперь все мои данные находятся на зашифрованном при помощи LUKS, usb флешке, размером в 8GB. Когда я его<br />
вставляю и разлочиваю, он монтируется в /media/m8gb, после этого я вызываю скрипт <br />
/media/m8gb/prepare, который развертывает мою конфигурацию vpn, wifi и 3G соединение<br />
для NetworkManager, так же он добавляет ключи к ssh агенту и разворачивает /media/m8gb/home.skel<br />
поверх /home/altlinux.<br />
<br />
Так же, существует /media/m8gb/profiles с encfs (ага, encfs поверх LUKS, просто для детализации)<br />
Другой скрипт /media/m8gb/mount-me монтирует encfs оттуда в домашнюю директорию firefox, .config/purple и thunderbird.<br />
<br />
Когда я заканчиваю, я размонтирую encfs, лочу LUKS и вынимаю флешку.<br />
<br />
Важен тот факт, что $HOME виртуальный и эфемерный. Единственными вещами, требующими<br />
"онлайн" обновления являются профили mozilla, конфиги или логи jabber и ~/work.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/602<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Netbook-Live 6.0.2<br />
kernel 602/vmlinuz<br />
append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate;hb=p6 просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте<ref>Размещать профиль для сборки следует под $HOME или $TMP, см. {{path|/etc/hasher-priv/system}}</ref>репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
cd liveflash.eeepc<br />
git checkout p6<br />
<br />
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
* Acer Aspire TimelineX 1830T<br />
* Acer Aspire One NAV50<br />
* ASUS Eee Box 1007 (неттоп)<br />
* ASUS Eee PC 701, 901, 1000<br />
* ASUS Eee PC 1215N<br />
* ASUS Z99H<br />
* BENQ R55V<br />
* IBM ThinkPad R52<br />
* IBM ThinkPad T43<br />
* IBM ThinkPad X61S<br />
* LG LS 50<br />
* 3Q AN1008A<br />
* [[Netbook-live/touch|Asus Eee PC Touch T101MT]]<br />
* [[Netbook-live/touch|Некоторые планшеты]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
[[Категория:LXDE]] [[Категория:LiveCD]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=21771Netbook-live2012-09-04T17:53:35Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald 3.6-rc4<br />
<br />
Актуальная стабильная версия: 6.0.7 на базе Шестой Платформы (с [[Netbook-live/touch|поддержкой сенсорного ввода]]). Где взять: [ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/ ftp.linux.kiev.ua]<br />
<br />
----<br />
<br />
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Загрузить ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog;hb=p6 История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash;hb=p6 README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install;hb=p6 README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== Из образа live-flash.img ====<br />
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой: <br />
<br />
<code>dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).<br />
<br />
==== Создание образа с использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=eeepc-live.img of=/dev/sdb<br />
</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.<br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux nblive-6.0.2<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне было нужно именно это и я это сделал.<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с <br />
чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было<br />
отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание <br />
обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся<br />
разделе, доступном для чтения и записи.<br />
<br />
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные<br />
профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и <br />
это возможно - смотрите [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks;hb=p6 README.hooks]]<br />
<br />
Я работаю следующим образом:<br />
<br />
На SSD носителе, есть раздел размером в 1GB, где храняться full.cz vmlinuz и загрузчик, <br />
загружающий vmlinuz с initrd full.cz и пропускающий командную строку, необходимую для <br />
для загрузки из образа eeelive.<br />
<br />
Далее, у меня есть куча небольших скриптов, в live.hooks - они бесполезны для всех, кроме<br />
меня - это моя небольшая персонализация. Потом у меня монтируется директория /home, размером<br />
в 2GB, при помощи этих хуков. Смотрите примеры и вики.<br />
<br />
Когда у меня появился 1215N в дополнение к моему 901, я изменил подход:<br />
Теперь все мои данные находятся на зашифрованном при помощи LUKS, usb флешке, размером в 8GB. Когда я его<br />
вставляю и разлочиваю, он монтируется в /media/m8gb, после этого я вызываю скрипт <br />
/media/m8gb/prepare, который развертывает мою конфигурацию vpn, wifi и 3G соединение<br />
для NetworkManager, так же он добавляет ключи к ssh агенту и разворачивает /media/m8gb/home.skel<br />
поверх /home/altlinux.<br />
<br />
Так же, существует /media/m8gb/profiles с encfs (ага, encfs поверх LUKS, просто для детализации)<br />
Другой скрипт /media/m8gb/mount-me монтирует encfs оттуда в домашнюю директорию firefox, .config/purple и thunderbird.<br />
<br />
Когда я заканчиваю, я размонтирую encfs, лочу LUKS и вынимаю флешку.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/602<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Netbook-Live 6.0.2<br />
kernel 602/vmlinuz<br />
append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate;hb=p6 просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте<ref>Размещать профиль для сборки следует под $HOME или $TMP, см. {{path|/etc/hasher-priv/system}}</ref>репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
cd liveflash.eeepc<br />
git checkout p6<br />
<br />
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
* Acer Aspire TimelineX 1830T<br />
* Acer Aspire One NAV50<br />
* ASUS Eee Box 1007 (неттоп)<br />
* ASUS Eee PC 701, 901, 1000<br />
* ASUS Eee PC 1215N<br />
* ASUS Z99H<br />
* BENQ R55V<br />
* IBM ThinkPad R52<br />
* IBM ThinkPad T43<br />
* IBM ThinkPad X61S<br />
* LG LS 50<br />
* 3Q AN1008A<br />
* [[Netbook-live/touch|Asus Eee PC Touch T101MT]]<br />
* [[Netbook-live/touch|Некоторые планшеты]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
[[Категория:LXDE]] [[Категория:LiveCD]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=21770Netbook-live2012-09-04T17:51:20Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald 3.6-rc4<br />
<br />
Актуальная стабильная версия: 6.0.7 на базе Шестой Платформы (с [[Netbook-live/touch|поддержкой сенсорного ввода]]). Где взять: [ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/ ftp.linux.kiev.ua]<br />
<br />
----<br />
<br />
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Загрузить ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog;hb=p6 История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash;hb=p6 README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install;hb=p6 README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== Из образа live-flash.img ====<br />
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой: <br />
<br />
<code>dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).<br />
<br />
==== Создание образа с использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=eeepc-live.img of=/dev/sdb<br />
</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.<br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux nblive-6.0.2<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне было нужно именно это и я это сделал.<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с <br />
чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было<br />
отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание <br />
обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся<br />
разделе, доступном для чтения и записи.<br />
<br />
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные<br />
профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и <br />
это возможно - смотрите [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks;hb=p6 README.hooks]]<br />
<br />
Я работаю следующим образом:<br />
<br />
На SSD носителе, есть раздел размером в 1GB, где храняться full.cz vmlinuz и загрузчик, <br />
загружающий vmlinuz с initrd full.cz и пропускающий командную строку, необходимую для <br />
для загрузки из образа eeelive.<br />
<br />
Далее, у меня есть куча небольших скриптов, в live.hooks - они бесполезны для всех, кроме<br />
меня - это моя небольшая персонализация. Потом у меня монтируется директория /home, размером<br />
в 2GB, при помощи этих хуков. Смотрите примеры и вики.<br />
<br />
Когда у меня появился 1215N в дополнение к моему 901, я изменил подход:<br />
Теперь все мои данные находятся на зашифрованном при помощи LUKS, usb диске, размером в 8GB. Когда я его<br />
вставляю и разлочиваю, он монтируется в /media/m8gb, после этого я вызываю скрипт <br />
/media/m8gb/prepare, который развертывает мою конфигурацию vpn, wifi и 3G соединение<br />
для NetworkManager, так же он добавляет ключи к ssh агенту и разворачивает /media/m8gb/home.skel<br />
поверх /home/altlinux.<br />
<br />
Так же, существует /media/m8gb/profiles с encfs (ага, encfs поверх LUKS, просто для детализации)<br />
Другой скрипт /media/m8gb/mount-me монтирует encfs оттуда в домашнюю директорию firefox, .config/purple и thunderbird.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/602<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Netbook-Live 6.0.2<br />
kernel 602/vmlinuz<br />
append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate;hb=p6 просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте<ref>Размещать профиль для сборки следует под $HOME или $TMP, см. {{path|/etc/hasher-priv/system}}</ref>репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
cd liveflash.eeepc<br />
git checkout p6<br />
<br />
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
* Acer Aspire TimelineX 1830T<br />
* Acer Aspire One NAV50<br />
* ASUS Eee Box 1007 (неттоп)<br />
* ASUS Eee PC 701, 901, 1000<br />
* ASUS Eee PC 1215N<br />
* ASUS Z99H<br />
* BENQ R55V<br />
* IBM ThinkPad R52<br />
* IBM ThinkPad T43<br />
* IBM ThinkPad X61S<br />
* LG LS 50<br />
* 3Q AN1008A<br />
* [[Netbook-live/touch|Asus Eee PC Touch T101MT]]<br />
* [[Netbook-live/touch|Некоторые планшеты]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
[[Категория:LXDE]] [[Категория:LiveCD]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=21769Netbook-live2012-09-04T17:44:46Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald 3.6-rc4<br />
<br />
Актуальная стабильная версия: 6.0.7 на базе Шестой Платформы (с [[Netbook-live/touch|поддержкой сенсорного ввода]]). Где взять: [ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/ ftp.linux.kiev.ua]<br />
<br />
----<br />
<br />
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Загрузить ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog;hb=p6 История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash;hb=p6 README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install;hb=p6 README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== Из образа live-flash.img ====<br />
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой: <br />
<br />
<code>dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).<br />
<br />
==== Создание образа с использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=eeepc-live.img of=/dev/sdb<br />
</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.<br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux nblive-6.0.2<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне было нужно именно это и я это сделал.<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с <br />
чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было<br />
отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание <br />
обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся<br />
разделе, доступном для чтения и записи.<br />
<br />
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные<br />
профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и <br />
это возможно - смотрите [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks;hb=p6 README.hooks]]<br />
<br />
Я работаю следующим образом:<br />
<br />
На SSD носителе, есть раздел размером в 1GB, где храняться full.cz vmlinuz и загрузчик, <br />
загружающий vmlinuz с initrd full.cz и пропускающий командную строку, необходимую для <br />
для загрузки из образа eeelive.<br />
<br />
Далее, у меня есть куча небольших скриптов, в live.hooks - они бесполезны для всех, кроме<br />
меня - это моя небольшая персонализация. Потом у меня монтируется директория /home, размером<br />
в 2GB, при помощи этих хуков. Смотрите примеры и вики.<br />
<br />
Когда у меня появился 1215N в дополнение к моему 901, я изменил подход:<br />
Теперь все мои данные находятся на зашифрованном usb диске, размером в 8GB. Когда я его<br />
вставляю и разлочиваю, он монтируется в /media/m8gb, после этого я вызываю скрипт <br />
/media/m8gb/prepare, который развертывает мою конфигурацию vpn, wifi и 3G соединение<br />
для NetworkManager, так же он добавляет ключи к ssh агенту и разворачивает /media/m8gb/home.skel<br />
поверх /home/altlinux.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/602<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Netbook-Live 6.0.2<br />
kernel 602/vmlinuz<br />
append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate;hb=p6 просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте<ref>Размещать профиль для сборки следует под $HOME или $TMP, см. {{path|/etc/hasher-priv/system}}</ref>репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
cd liveflash.eeepc<br />
git checkout p6<br />
<br />
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
* Acer Aspire TimelineX 1830T<br />
* Acer Aspire One NAV50<br />
* ASUS Eee Box 1007 (неттоп)<br />
* ASUS Eee PC 701, 901, 1000<br />
* ASUS Eee PC 1215N<br />
* ASUS Z99H<br />
* BENQ R55V<br />
* IBM ThinkPad R52<br />
* IBM ThinkPad T43<br />
* IBM ThinkPad X61S<br />
* LG LS 50<br />
* 3Q AN1008A<br />
* [[Netbook-live/touch|Asus Eee PC Touch T101MT]]<br />
* [[Netbook-live/touch|Некоторые планшеты]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
[[Категория:LXDE]] [[Категория:LiveCD]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=21768Netbook-live2012-09-04T17:36:41Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald 3.6-rc4<br />
<br />
Актуальная стабильная версия: 6.0.7 на базе Шестой Платформы (с [[Netbook-live/touch|поддержкой сенсорного ввода]]). Где взять: [ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/ ftp.linux.kiev.ua]<br />
<br />
----<br />
<br />
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Загрузить ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog;hb=p6 История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash;hb=p6 README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install;hb=p6 README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== Из образа live-flash.img ====<br />
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой: <br />
<br />
<code>dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).<br />
<br />
==== Создание образа с использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=eeepc-live.img of=/dev/sdb<br />
</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.<br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux nblive-6.0.2<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне было нужно именно это и я это сделал.<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с <br />
чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было<br />
отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание <br />
обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся<br />
разделе, доступном для чтения и записи.<br />
<br />
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные<br />
профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и <br />
это возможно - смотрите [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks;hb=p6 README.hooks]]<br />
<br />
Я работаю следующим образом:<br />
<br />
На SSD носителе, есть раздел размером в 1GB, где храняться full.cz vmlinuz и загрузчик, <br />
загружающий vmlinuz с initrd full.cz и пропускающий командную строку, необходимую для <br />
для загрузки из образа eeelive.<br />
<br />
Далее, у меня есть куча небольших скриптов, в live.hooks - они бесполезны для всех, кроме<br />
меня - это моя небольшая персонализация. Потом у меня монтируется директория /home, размером<br />
в 2GB, при помощи этих хуков. Смотрите примеры и вики.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/602<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Netbook-Live 6.0.2<br />
kernel 602/vmlinuz<br />
append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate;hb=p6 просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте<ref>Размещать профиль для сборки следует под $HOME или $TMP, см. {{path|/etc/hasher-priv/system}}</ref>репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
cd liveflash.eeepc<br />
git checkout p6<br />
<br />
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
* Acer Aspire TimelineX 1830T<br />
* Acer Aspire One NAV50<br />
* ASUS Eee Box 1007 (неттоп)<br />
* ASUS Eee PC 701, 901, 1000<br />
* ASUS Eee PC 1215N<br />
* ASUS Z99H<br />
* BENQ R55V<br />
* IBM ThinkPad R52<br />
* IBM ThinkPad T43<br />
* IBM ThinkPad X61S<br />
* LG LS 50<br />
* 3Q AN1008A<br />
* [[Netbook-live/touch|Asus Eee PC Touch T101MT]]<br />
* [[Netbook-live/touch|Некоторые планшеты]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
[[Категория:LXDE]] [[Категория:LiveCD]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=21767Netbook-live2012-09-04T17:28:49Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald 3.6-rc4<br />
<br />
Актуальная стабильная версия: 6.0.7 на базе Шестой Платформы (с [[Netbook-live/touch|поддержкой сенсорного ввода]]). Где взять: [ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/ ftp.linux.kiev.ua]<br />
<br />
----<br />
<br />
Дистрибутив ориентирован на профессионального пользователя и содержит большой набор ПО для повседневной работы, а также средства диагностики и восстановления. Механизм live.hooks позволяет модификацию рабочей среды без пересборки.<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Несколько лет используется автором на разнообразных нет/ноутбуках как основная и единственная рабочая система.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Загрузить ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/p6-6.0.7/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/p6-6.0.7/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog;hb=p6 История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash;hb=p6 README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install;hb=p6 README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== Из образа live-flash.img ====<br />
Публикуемые на FTP образы *live-flash.img представляют собой образ с MBR и таблицей разделов, подготовленный с использованием makebootflash. Записать его на флешку можно командой: <br />
<br />
<code>dd if=altlinux-6.0.0_RC1-netbook-i586-live-flash.img of=/dev/sdb</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1).<br />
<br />
==== Создание образа с использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sdb, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sdb<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=eeepc-live.img of=/dev/sdb<br />
</code><br />
<br />
Обратите внимание, что нужно использовать блочное устройство (в примере: sdb) а не раздел на нём (sdb1). Образ, создаваемый makebootfat, уже содержит таблицу разделов и MBR.<br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux nblive-6.0.2<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне было нужно именно это и я это сделал.<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
где / являлся файловой системой aufs, доступной только на чтение на первом разделе и веткой с <br />
чтением и записью на втором разделе. Для восстановления исходного состояния, достаточно было<br />
отформатировать раздел, доступный на чтение и запись. Но я пошел дальше и принял во внимание <br />
обновление основной системы, которое было бы невозможно или возможна с ошибками на имеющемся<br />
разделе, доступном для чтения и записи.<br />
<br />
Однако, некоторое постоянство могло бы быть полезным, по крайней мере Вам нужены сохраненные<br />
профили firefox, thunderbird, pidgin. Вы можете захотеть сохранить всю директорию /home и <br />
это возможно - смотрите [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks;hb=p6 README.hooks]]<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/602<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Netbook-Live 6.0.2<br />
kernel 602/vmlinuz<br />
append initrd=602/full.cz live fastboot stagename=602 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate;hb=p6 просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте<ref>Размещать профиль для сборки следует под $HOME или $TMP, см. {{path|/etc/hasher-priv/system}}</ref>репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org:<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
cd liveflash.eeepc<br />
git checkout p6<br />
<br />
Также, начиная с версии p6-beta20110801-1, загрузочный образ содержит профиль из которого был собран. Он находится в /image/profile.tar.bz2.<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа (или бранча p6, если используется Шестая Платформа). Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
* Acer Aspire TimelineX 1830T<br />
* Acer Aspire One NAV50<br />
* ASUS Eee Box 1007 (неттоп)<br />
* ASUS Eee PC 701, 901, 1000<br />
* ASUS Eee PC 1215N<br />
* ASUS Z99H<br />
* BENQ R55V<br />
* IBM ThinkPad R52<br />
* IBM ThinkPad T43<br />
* IBM ThinkPad X61S<br />
* LG LS 50<br />
* 3Q AN1008A<br />
* [[Netbook-live/touch|Asus Eee PC Touch T101MT]]<br />
* [[Netbook-live/touch|Некоторые планшеты]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
[[Категория:LXDE]] [[Категория:LiveCD]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=19369Netbook-live2011-07-24T07:53:29Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald (kernel.org mainline)<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Последние три года используется автором как основная и единственная рабочая система на eee901/1215N.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Download ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== С использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sda1, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sda1<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=/dev/zero of=/dev/sda1<br />
</code><br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux 2.7.0-b4<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Так и задумано. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне это было нужно именно это и я это сделал<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
"<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/311<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Live 311<br />
kernel 311/vmlinuz<br />
append initrd=311/full.cz live fastboot stagename=eee311 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org :<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа. Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
IBM ThinkPad R52 <br\><br />
LG LS 50 <br\><br />
EEE 1215N <br\><br />
EEE 701, 901 <br\><br />
ASUS Z99H <br\><br />
BENQ R55V <br\><br />
Acer Aspire TimelineX 1830T <br\><br />
Acer Aspire one NAV50<br />
[[Категория:LXDE]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=19368Netbook-live2011-07-24T07:52:55Z<p>Andyc: /* Инсталляция на диск */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald (kernel.org mainline)<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Последние три года используется автором как основная и единственная рабочая система на eee901/1215N.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Download ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== С использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sda1, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sda1<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=/dev/zero of=/dev/sda1<br />
</code><br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux 2.7.0-b4<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
<br />
'''Ответ''': "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
'''Вопрос''': "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
<br />
'''Ответ''': "Это невозможно. Это "живая" система. Такое поведение является задуманным. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне это было нужно именно это и я это сделал<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
"<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/311<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Live 311<br />
kernel 311/vmlinuz<br />
append initrd=311/full.cz live fastboot stagename=eee311 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org :<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа. Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
IBM ThinkPad R52 <br\><br />
LG LS 50 <br\><br />
EEE 1215N <br\><br />
EEE 701, 901 <br\><br />
ASUS Z99H <br\><br />
BENQ R55V <br\><br />
Acer Aspire TimelineX 1830T <br\><br />
Acer Aspire one NAV50<br />
[[Категория:LXDE]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=19367Netbook-live2011-07-24T07:51:16Z<p>Andyc: /* Установка */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald (kernel.org mainline)<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Последние три года используется автором как основная и единственная рабочая система на eee901/1215N.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Download ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== С использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sda1, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sda1<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=/dev/zero of=/dev/sda1<br />
</code><br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux 2.7.0-b4<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
==== Инсталляция на диск ====<br />
<br />
Часто поднимается вопрос "Могу ли я инсталлировать дистрибутив на жесткий диск?"<br />
Ответ: "Да, это возможно. Однако, хотя система и будет загружаться, она будет все равно "живой""<br />
<br />
Вопрос: "Как инсталлировать дистрибутив как обычную, постоянную систему?"<br />
Ответ: "Это невозможно. Это "живая" система. Такое поведение является задуманным. Основаная идея <br />
такова - Вы можете играть с системой и сломать ее, но после перезагрузки Вы получите чистую, <br />
полнофункциональную систему. Мне это было нужно именно это и я это сделал<br />
<br />
Частично идея была навеяна дистрибутивом Xandros, который шел прединсталлированным на Asus EeePC 701<br />
"<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/311<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Live 311<br />
kernel 311/vmlinuz<br />
append initrd=311/full.cz live fastboot stagename=eee311 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org :<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа. Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
IBM ThinkPad R52 <br\><br />
LG LS 50 <br\><br />
EEE 1215N <br\><br />
EEE 701, 901 <br\><br />
ASUS Z99H <br\><br />
BENQ R55V <br\><br />
Acer Aspire TimelineX 1830T <br\><br />
Acer Aspire one NAV50<br />
[[Категория:LXDE]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=19312Netbook-live2011-07-22T06:36:15Z<p>Andyc: /* Для подготовленных пользователей */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald (kernel.org mainline)<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Последние три года используется автором как основная и единственная рабочая система на eee901/1215N.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Download ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== С использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sda1, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sda1<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=/dev/zero of=/dev/sda1<br />
</code><br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux 2.7.0-b4<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive)<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/311<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Live 311<br />
kernel 311/vmlinuz<br />
append initrd=311/full.cz live fastboot stagename=eee311 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org :<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа. Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
IBM ThinkPad R52 <br\><br />
LG LS 50 <br\><br />
EEE 1215N <br\><br />
EEE 701, 901 <br\><br />
ASUS Z99H <br\><br />
BENQ R55V <br\><br />
Acer Aspire TimelineX 1830T <br\><br />
Acer Aspire one NAV50<br />
[[Категория:LXDE]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=19311Netbook-live2011-07-22T06:35:23Z<p>Andyc: /* Установка */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald (kernel.org mainline)<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Последние три года используется автором как основная и единственная рабочая система на eee901/1215N.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Download ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== С использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sda1, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sda1<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=/dev/zero of=/dev/sda1<br />
</code><br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<br />
title ALT Linux 2.7.0-b4<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
initrd /boot/alt0/full.cz<br />
<br />
<br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/311<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Live 311<br />
kernel 311/vmlinuz<br />
append initrd=311/full.cz live fastboot stagename=eee311 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org :<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа. Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
IBM ThinkPad R52 <br\><br />
LG LS 50 <br\><br />
EEE 1215N <br\><br />
EEE 701, 901 <br\><br />
ASUS Z99H <br\><br />
BENQ R55V <br\><br />
Acer Aspire TimelineX 1830T <br\><br />
Acer Aspire one NAV50<br />
[[Категория:LXDE]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Netbook-live&diff=19310Netbook-live2011-07-22T06:33:17Z<p>Andyc: /* Установка */</p>
<hr />
<div>Сборка livecd/liveflash от gns@.<br />
<br />
Рабочее окружение: LXDE<br />
<br />
Ядро: pure-emerald (kernel.org mainline)<br />
<br />
Проект начинался как попытка получить достаточно универсальную и при этом компактную систему на нетбуке eee 701. Последние три года используется автором как основная и единственная рабочая система на eee901/1215N.<br />
<br />
С самого начала предполагалось, что это будет live с сжатым read only корнем. Такой подход имеет свои преимущества : после любых манипуляций и экспериментов достаточно перезагрузиться и получить чистую систему. Во-вторых, размер образа долгое время поддерживался около 300-400 мб благодаря lzma сжатию (сейчас ~650).<br />
<br />
Очевидный недостаток - невозможность фиксации изменений и настроек - компенсируется возможностью писать [[Netbook-live/hooks|хуки]] ([http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hooks; оригинал]), выполняемые при загрузке.<br />
<br />
== Download ==<br />
<br />
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/gns/<br />
<br />
rsync://ftp.linux.kiev.ua/Linux/ALT/people/gns/ [структура такая же как на FTP]<br />
<br />
NB. ISO НЕ гибридный и предназначен только для CD. Для флешек предназначен IMG, а в развернутом виде образ лежит для знающих, что с ним делать.<br />
<br />
[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/Changelog История изменений]<br />
<br />
== Установка ==<br />
<br />
[[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.bootflash README.bootflash]], [[http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.install README.install]]<br />
<br />
TODO: перенести тексты на вики.<br />
<br />
=== Создание загрузочной флешки ===<br />
<br />
==== С использованием makebootflash ====<br />
<br />
Если директория с дистрибутивом находится по адресу /path/to/eeepc-live/, а флешкой является устройство /dev/sda1, Вы можете<br />
* записать напрямую в устройство:<br />
<br />
<code><br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o /dev/sda1<br />
</code><br />
<br />
* создать img файл<br />
<code><br />
dd if=/dev/zero of=eeepc-live.img bs=1M count=470<br />
makebootfat -v -L EEELIVE -m /usr/lib/syslinux/mbr.bin -b /usr/lib/makebootfat/x86/ldlinux.bss -c /usr/lib/makebootfat/x86/ldlinux.sys -Y -Z /path/to/eeepc-live/ -o eeepc-live.img<br />
</code><br />
<br />
А затем, записать его:<br />
<code><br />
dd if=/dev/zero of=/dev/sda1<br />
</code><br />
<br />
==== Вручную, с использованием syslinux ====<br />
<br />
* Необходимо скопировать все содержимое корневой директории на флешку<br />
* Установить загрузчик syslinux<br />
<br />
==== Из iso-образа при помощи unetbootin (не рекомендуется) ====<br />
<br />
* Запустите unetbootin, укажите iso-образ и флешку, на которую следует установить систему. Остальное сделает unetbootin.<br />
<br />
==== Для подготовленных пользователей ====<br />
<br />
* Используйте любой загрузчик, который хотите на usb устройстве или на жестком диске<br />
* Поместите файлы vmlinuz и full.cz в то место, где загрузчик сможет их найти<br />
* Поместите eeelive на любой носитель<br />
* В конфигурационный файл загрузчика, например в grub.conf, поместите следующие строки:<br />
<code><br />
title ALT Linux 2.7.0-b4<br />
<br />
kernel /boot/alt0/vmlinuz live fastboot lowmem i915.modeset=1 stagename=/eeelive automatic=method:disk,label:FLASHDSK<br />
<br />
initrd /boot/alt0/full.cz<br />
</code><br />
(замените метку FLASHDISK, меткой файловой системы где находится файл eeelive<br />
<br />
После загрузки, файловая система смонтируется как /image. Так же, там может находится директория live-hooks.d содержащая скрипты для<br />
запуска во время загрузки.<br />
<br />
== Загрузка ==<br />
По идее, "оно всё само" (c). В некоторых случаях может понадобиться отключать KMS или загрузку модулей.<br />
<br />
Вход в систему: логин altlinux, без пароля.<br />
<br />
== Обновление ==<br />
<br />
Если вы уже использовали eeepc-live, нет необходимости полностью перезаписывать загрузочную флешку. Достаточно обновить ровно три файла:<br />
<br />
eeelive<br />
syslinux/alt0/full.cz<br />
syslinux/alt0/vmlinuz<br />
<br />
Также с одного носителя можно загружать несколько разных версий eeepc-live. Например, если вы хотите просто попробовать релиз 311 не замещая используемую версию:<br />
<br />
mkdir syslinux/311<br />
<br />
скопируйте из нового образа файлы full.cz и vmlinuz в syslinux/311, а eeelive как eee311 (вот именно для таких случаев на ftp лежит, кроме iso и img, развёрнутый образ). В syslinux/syslinux.cfg добавьте секцию:<br />
<br />
label eeepc-new<br />
menu label ^2) Boot ALT Linux Live 311<br />
kernel 311/vmlinuz<br />
append initrd=311/full.cz live fastboot stagename=eee311 lowmem automatic=method:disk,label:PENDRIVE vga=normal splash quiet<br />
<br />
(вместо PENDRIVE - label вашей флешки)<br />
<br />
== Версионирование ==<br />
<br />
В каждый момент существуют stable, testing, и current. <br />
<br />
Версия, маркированная как stable, обычно испытывалась не менее недели. В общем, старое и засохшее - зато надёжное.<br />
<br />
Current это то, на чём сейчас сидит gns@ на eee 901 / 1215N.<br />
<br />
Тестинг это тестинг. Обычно через день или два после выпуска он становится current.<br />
<br />
NB. Каждый релиз собирается на базе актуального на этот день Сизифа.<br />
<br />
== Suspend to disk ==<br />
<br />
Начиная с 3.1.1 (Apr 20 2011) система умеет [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=blob;f=isodata/README.hibernate просыпаться из hibernate].<br />
<br />
== Пересборка ==<br />
<br />
Сборка дистрибутива полностью определяется [http://git.altlinux.org/people/gns/packages/?p=liveflash.eeepc.git;a=summary профилем] mkimage и базовым репозитарием. Для самостоятельной пересборки (например, добавить XFCE, TeX, перламутровые пуговицы, или выкинуть ненужное), достаточно сделать четыре простых действия. Весь необходимый для этого инструментарий есть в самом дистрибутиве.<br />
<br />
=== Четыре шага на пути к успеху ===<br />
<br />
1. Склонируйте репозитарий /people/gns/packages/liveflash.eeepc.git с git.altlinux.org :<br />
git clone git://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или <br />
git clone http://git.altlinux.org/people/gns/packages/liveflash.eeepc.git<br />
или, если у вас есть ssh доступ:<br />
ssh git.alt clone /people/gns/packages/liveflash.eeepc.git<br />
git clone git.alt:/people/yourname/packages/liveflash.eeepc.git<br />
<br />
2. проверьте свою конфигурацию apt. В sources.list должны быть указаны пути/url к ближайшему доступному зеркалу Сизифа. Сборка на других репозитариях не гарантируется.<br />
<br />
3. по желанию, добавьте свои пакеты в eeelive/packages.d/live. Или создайте файлик типа eeelive/packages.d/feat-custom, его нужно будет вписать в eeelive/Makefile рядом с остальными feat-XXX.<br />
<br />
4. скажите make<br />
<br />
5. ....<br />
<br />
6. PROFIT!<br />
<br />
== Где работает ==<br />
IBM ThinkPad R52 <br\><br />
LG LS 50 <br\><br />
EEE 1215N <br\><br />
EEE 701, 901 <br\><br />
ASUS Z99H <br\><br />
BENQ R55V <br\><br />
Acer Aspire TimelineX 1830T <br\><br />
Acer Aspire one NAV50<br />
[[Категория:LXDE]] [[Категория:Нетбуки]] [[Категория:Решения]]</div>Andychttps://www.altlinux.org/index.php?title=Systemd&diff=17743Systemd2011-01-29T04:28:30Z<p>Andyc: </p>
<hr />
<div>Благодаря стараниям Алексея Шабалина, для ALT Linux [http://lists.altlinux.org/pipermail/sisyphus/2011-January/351784.html собран systemd]. Решение, пока, сырое, поэтому в Сизиф он не попал, но пакеты уже доступны на ftp.altlinux.org. <br />
<br />
=== Установка systemd ===<br />
Для установки systemd надо проделать следующее:<br />
<br />
* Добавить в {{path|/etc/apt/sources.list}} такую запись<br />
<pre><br />
rpm ftp://ftp.altlinux.org/pub/people/shaba/systemd/ i586 hasher<br />
</pre><br />
<br />
* Обновить систему<br />
<source lang="bash"><br />
apt-get update && apt-get dist-upgrade<br />
</source><br />
<br />
После выполнения обновления, в системе должны быть установленные<br />
новые {{pkg|udev}}, {{pkg|ConsoleKit}}, {{pkg|dbus}}. <br />
<br />
* Теперь можно установить непосредственно systemd:<br />
<br />
<source lang="bash"><br />
apt-get install systemd systemd-units<br />
</source><br />
<br />
Что бы использовать systemd при загрузке, надо отредактировать {{path|/etc/sysconfig/grub2}} и<br />
привести строку GRUB_CMDLINE_LINUX_DEFAULT к такому виду:<br />
<br />
<pre><br />
GRUB_CMDLINE_LINUX_DEFAULT='panic=30 init=/bin/systemd'<br />
</pre><br />
<br />
Можно перезагружаться и пробовать.<br />
<br />
=== Отладка systemd ===<br />
* [https://fedoraproject.org/wiki/How_to_debug_Systemd_problems How to debug systemd problems]<br />
<br />
=== О systemd на русском языке ===<br />
* [http://wiki.opennet.ru/Systemd_%D0%B4%D0%BB%D1%8F_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%BE%D0%B2 Systemd для администраторов]</div>Andychttps://www.altlinux.org/index.php?title=Systemd&diff=17742Systemd2011-01-29T04:14:16Z<p>Andyc: </p>
<hr />
<div>Благодаря стараниям Алексея Шабалина, для ALT Linux [http://lists.altlinux.org/pipermail/sisyphus/2011-January/351784.html собран systemd]. Решение, пока, сырое,<br />
поэтому в Сизиф он не попал, но пакеты уже доступны на ftp.altlinux.org. <br />
Для установки systemd надо проделать следующее:<br />
<br />
* Добавить в {{path|/etc/apt/sources.list}} такую запись<br />
<code bash><br />
rpm ftp://ftp.altlinux.org/pub/people/shaba/systemd/ i586 hasher<br />
</code><br />
<br />
* Обновить систему<br />
<code bash><br />
apt-get update && apt-get dist-upgrade<br />
</code><br />
<br />
После выполнения обновления, в системе должны быть установленные<br />
новые {{pkg|udev}}, {{pkg|ConsoleKit}}, {{pkg|dbus}}. <br />
<br />
* Теперь можно установить непосредственно systemd:<br />
<br />
<code bash><br />
apt-get install systemd systemd-units<br />
</code><br />
<br />
Что бы использовать systemd при загрузке, надо отредактировать {{path|/etc/sysconfig/grub2}} и<br />
привести строку GRUB_CMDLINE_LINUX_DEFAULT к такому виду:<br />
<br />
<code><br />
GRUB_CMDLINE_LINUX_DEFAULT='panic=30 init=/bin/systemd'<br />
</code><br />
<br />
Можно перезагружаться и пробовать.</div>Andychttps://www.altlinux.org/index.php?title=Systemd&diff=17741Systemd2011-01-29T04:06:54Z<p>Andyc: </p>
<hr />
<div>Благодаря стараниям Алексея Шабалина, для ALT Linux [http://lists.altlinux.org/pipermail/sisyphus/2011-January/351784.html собран systemd]. Решение, пока, сырое,<br />
поэтому в Сизиф он не попал, но пакеты уже доступны на ftp.altlinux.org. Для установки<br />
systemd надо проделать следующее:<br />
<br />
* Добавить в /etc/apt/sources.list такую запись<br />
<code bash><br />
rpm ftp://ftp.altlinux.org/pub/people/shaba/systemd/ i586 hasher<br />
</code><br />
<br />
* Обновить систему<br />
<code bash><br />
apt-get update && apt-get dist-upgrade<br />
</code><br />
<br />
После выполнения обновления, в системе должны быть установленные<br />
новые udev, ConsoleKit, dbus. <br />
<br />
* Теперь можно установить непосредственно systemd:<br />
<br />
<code bash><br />
apt-get install systemd systemd-units<br />
</code><br />
<br />
Что бы использовать systemd при загрузке, надо отредактировать /etc/sysconfig/grub2 и<br />
привести строку GRUB_CMDLINE_LINUX_DEFAULT к такому виду:<br />
<br />
<code><br />
GRUB_CMDLINE_LINUX_DEFAULT='panic=30 init=/bin/systemd'<br />
</code><br />
<br />
Можно перезагружаться и пробовать.</div>Andychttps://www.altlinux.org/index.php?title=Systemd&diff=17740Systemd2011-01-29T04:04:20Z<p>Andyc: </p>
<hr />
<div>Благодаря стараниям Алексея Шабалина, для ALT Linux [http://lists.altlinux.org/pipermail/sisyphus/2011-January/351784.html собран systemd]. Решение, пока, сырое,<br />
поэтому в Сизиф он не попал, но пакеты уже доступны на ftp.altlinux.org. Для установки<br />
systemd надо проделать следующее:<br />
<br />
1. Добавить в /etc/apt/sources.list такую запись<br />
<code bash><br />
rpm ftp://ftp.altlinux.org/pub/people/shaba/systemd/ i586 hasher<br />
</code><br />
<br />
2. Обновить систему<br />
<code bash><br />
apt-get update && apt-get dist-upgrade<br />
</code><br />
<br />
После выполнения обновления, в системе должны быть установленные<br />
новые udev, ConsoleKit, dbus. <br />
<br />
3. Теперь можно установить непосредственно systemd:<br />
<code bash><br />
apt-get install systemd systemd-units<br />
</code><br />
<br />
Что бы использовать systemd при загрузке, надо отредактировать /etc/sysconfig/grub2 и<br />
привести строку GRUB_CMDLINE_LINUX_DEFAULT к такому виду:<br />
<code><br />
GRUB_CMDLINE_LINUX_DEFAULT='panic=30 init=/bin/systemd'<br />
</code><br />
Можно перезагружаться и пробовать.</div>Andychttps://www.altlinux.org/index.php?title=Systemd&diff=17739Systemd2011-01-29T04:02:55Z<p>Andyc: </p>
<hr />
<div>Благодаря стараниям Алексея Шабалина, для ALT Linux [http://lists.altlinux.org/pipermail/sisyphus/2011-January/351784.html собран systemd]. Решение, пока, сырое,<br />
поэтому в Сизиф он не попал, но пакеты уже доступны на ftp.altlinux.org. Для установки<br />
systemd надо проделать следующее:<br />
1. Добавить в /etc/apt/sources.list такую запись<br />
<code bash><br />
rpm ftp://ftp.altlinux.org/pub/people/shaba/systemd/ i586 hasher<br />
</code><br />
2. Обновить систему<br />
<code bash><br />
# apt-get update && apt-get dist-upgrade<br />
</code><br />
После выполнения обновления, в системе должны быть установленные<br />
новые udev, ConsoleKit, dbus. <br />
3. Теперь можно установить непосредственно systemd:<br />
<code bash><br />
# apt-get install systemd systemd-units<br />
</code><br />
Что бы использовать systemd при загрузке, надо отредактировать /etc/sysconfig/grub2 и<br />
привести строку GRUB_CMDLINE_LINUX_DEFAULT к такому виду:<br />
<code><br />
GRUB_CMDLINE_LINUX_DEFAULT='panic=30 init=/bin/systemd'<br />
</code><br />
Можно перезагружаться и пробовать.</div>Andychttps://www.altlinux.org/index.php?title=Systemd&diff=17738Systemd2011-01-29T04:01:18Z<p>Andyc: Новая страница: «Благодаря стараниям Алексея Шабалина, для ALT Linux [http://lists.altlinux.org/pipermail/sisyphus/2011-January/351784.html соб...»</p>
<hr />
<div>Благодаря стараниям Алексея Шабалина, для ALT Linux [http://lists.altlinux.org/pipermail/sisyphus/2011-January/351784.html собран systemd]. Решение, пока, сырое,<br />
поэтому в Сизиф он не попал, но пакеты уже доступны на ftp.altlinux.org. Для установки<br />
systemd надо проделать следующее:<br />
* Добавить в /etc/apt/sources.list такую запись<br />
<code bash><br />
rpm ftp://ftp.altlinux.org/pub/people/shaba/systemd/ i586 hasher<br />
</code><br />
* Обновить систему<br />
<code bash><br />
# apt-get update && apt-get dist-upgrade<br />
</code><br />
После выполнения обновления, в системе должны быть установленные<br />
новые udev, ConsoleKit, dbus. Теперь можно установить непосредственно<br />
systemd:<br />
<code bash><br />
# apt-get install systemd systemd-units<br />
</code><br />
Что бы использовать systemd при загрузке, надо отредактировать /etc/sysconfig/grub2 и<br />
привести строку GRUB_CMDLINE_LINUX_DEFAULT к такому виду:<br />
<code><br />
GRUB_CMDLINE_LINUX_DEFAULT='panic=30 init=/bin/systemd'<br />
</code><br />
Можно перезагружаться и пробовать.</div>Andychttps://www.altlinux.org/index.php?title=Hasher/FAQ&diff=17455Hasher/FAQ2011-01-16T06:04:13Z<p>Andyc: /* Q5 */</p>
<hr />
<div>__NOTOC__<br />
== Q1 ==<br />
<br />
Q: При запуске <tt>hsh</tt> я получаю ошибку<br />
hsh-mkchroot: cannot access getugid1 helper.<br />
<br />
A: [[Руководство по hasher#Добавление пользователя|Добавьте себя в hasher]].<br />
<br />
== Q2 ==<br />
<br />
Q: Я добавил себя в <tt>hasher</tt>, но всё равно получаю ошибку<br />
hsh: /usr/libexec/hasher-priv/getconf.sh: cannot access getconf helper.<br />
<br />
A: Перелогиньтесь — <tt>hasher-useradd</tt> добавляет пользователя в новые группы.<br />
<br />
== Q3 ==<br />
<br />
Q: Я собираю пакет, но он ломается из-за того, что в сборочной среде нет <tt>/proc</tt>.<br />
<br />
A: [[Руководство по hasher#Монтирование /proc|Настройте монтирование /proc]].<br />
<br />
== Q4 ==<br />
<br />
Q: В моём <tt>hasher</tt> собираются пакеты со странной архитектурой, которые не ставятся.<br />
<br />
A: [[Руководство по hasher#Архитектура пакетов|Явно укажите архитектуру сборки]].<br />
<br />
== Q5 ==<br />
<br />
Q: В конце сборки в <tt>hasher</tt> выдаются ошибки вида<br />
some-packet.src.rpm: wrong PACKAGER: Automated package hasher <hasher@localhost><br />
<br />
A1: Эти ошибки выдаются утилитой [[sisyphus_check]], проверяющей соответствие пакетов правилам репозитория [[Sisyphus]]. Исправьте ошибки в spec-файле (обычно добавлением корректного тега <tt>Packager</tt>).<br />
<br />
A2: Если пакет не предназначен для Sisyphus, а выдаваемые ошибки связаны не с техническими проблемами в пакете, а с невыполнением политик репозитория (например, ограничение на тэг <tt>Packager</tt> и на PGP-подпись) — [[Руководство по hasher#Отключение проверок sisyphus_check|отключите часть проверок <tt>sisyphus_check</tt>]].<br />
<br />
A3: В конфигурационный файл .hasher/config, можно добавить поле packager:<br />
packager="Michael Shigorin <mike@altlinux.org>"<br />
<br />
A4: У утилиты hsh, есть ключик --packager, можно воспользоваться им:<br />
$ gear -v --hasher -- hsh --target=i586 --packager="Andrew Clark <andyc@altlinux.org>" ~/hasher<br />
<br />
== Q6 ==<br />
<br />
Q: При запуске <tt>hsh</tt> я получаю ошибку<br />
hasher-priv: /path/to/workdir/chroot: prefix mismatch, working directory<br />
should start with one of directories listed in colon-separated prefix<br />
list (~:/tmp/.private)<br />
hsh-mkchroot: failed to make devices.<br />
<br />
A: По умолчанию <tt>hasher</tt> позволяет располагать свою рабочую директорию в <tt>$HOME</tt> пользователя или в <tt>/tmp/.private</tt>. Или измените место, где создаётся рабочая директория, или разрешите дополнительные директории с помощью ключа <tt>prefix</tt> в <tt>/etc/hasher-priv/system</tt> (общесистемно) или <tt>/etc/hasher-priv/user.d/<USER></tt> (для одного пользователя).<br />
<br />
== Q7 ==<br />
<br />
Q: При запуске <tt>hsh</tt> выдаёт ошибку:<br />
hasher-priv: slave: chrootuid: execve: /.host/entry: No such file or directory<br />
hsh-initroot: Failed to create RPM database.<br />
<br />
A: Выключите все сменные носители в <tt>/etc/apt/sources.list</tt>, запустите <tt>apt-get update</tt><br />
и еще раз повторите запуск <tt>hsh</tt>.<br />
<br />
== Q8 ==<br />
<br />
Q: Сборка дистрибутива останавливается на таких вот строчках:<br />
mki-cache: has started executing.<br />
mkimage: Processing 'copy-packages' ...<br />
mki-cache: has started executing.<br />
mki-expand-pkgs: has started executing. method=simple<br />
mki-copy-pkgs: has started executing.<br />
mkdir: created directory `.../profiles/main/.work/mki-copy-pkgs.verbose'<br />
<br />
A: Выключите все сменные носители в <tt>/etc/apt/sources.list</tt> (и <tt>sources.list.d/*.list</tt>), запустите <tt>apt-get update</tt><br />
и еще раз повторите запуск <tt>hsh</tt>.<br />
<br />
== Q9 ==<br />
<br />
Q: При запуске <tt>hsh</tt> выдаёт ошибку:<br />
hasher-priv: openpty: No such file or directory<br />
<br />
A: Проверьте, что у вас смонтирован <tt>/dev/pts</tt> на хост-системе.<br />
<br />
== Q10 ==<br />
<br />
Q: При запуске <tt>hsh</tt> выдаёт ошибку:<br />
fakeroot daemon: /dev/null: Permission denied<br />
fakeroot: error while starting the `faked' daemon.<br />
hsh-initroot: Failed to create RPM database.<br />
<br />
A: Проверьте, что файловая система, на которой располагается сборочный каталог, смонтирована ''без'' использования опции nodev, например:<br />
$ mount | grep local<br />
/dev/sda3 on /usr/local type ext3 (rw,relatime)<br />
<br />
== Q11 ==<br />
<br />
Q: почему hasher перестал создавать хэши ({{path|base/*}}) для своего репозитория?<br />
<br />
A: потому что для некоторого ускорения сборки они [http://lists.altlinux.org/pipermail/devel/2009-December/178354.html упразднены] в пользу непосредственного сканирования каталога (<tt>rpm-dir</tt> вместо <tt>rpm</tt> в {{path|sources.list}}). Для создания хэшей при их публикации придётся запустить {{cmd|$hasher/aptbox/regenbasedir}} (или {{cmd|genbasedir --bloat}} совсем вручную).<br />
Если все же вам необходимо использовать репозиторий создаваемый хешером в sources.list то вместо rpm нужно использовать rpm-dir.<br />
<br />
== Q12 ==<br />
<br />
Q: есть ли споcоб запустить gui-шную программу внутри hasher?<br />
<br />
A: да,<br />
hsh-install xauth "гуишная прога"<br />
hsh-run -Y "гуишная прога"<br />
<br />
{{Category navigation|title=hasher|category=hasher|sortkey={{SUBPAGENAME}}}}<br />
[[Категория:hasher]]<br />
[[Категория:FAQ]]</div>Andychttps://www.altlinux.org/index.php?title=Hasher/FAQ&diff=17454Hasher/FAQ2011-01-16T06:03:03Z<p>Andyc: /* Q5 */</p>
<hr />
<div>__NOTOC__<br />
== Q1 ==<br />
<br />
Q: При запуске <tt>hsh</tt> я получаю ошибку<br />
hsh-mkchroot: cannot access getugid1 helper.<br />
<br />
A: [[Руководство по hasher#Добавление пользователя|Добавьте себя в hasher]].<br />
<br />
== Q2 ==<br />
<br />
Q: Я добавил себя в <tt>hasher</tt>, но всё равно получаю ошибку<br />
hsh: /usr/libexec/hasher-priv/getconf.sh: cannot access getconf helper.<br />
<br />
A: Перелогиньтесь — <tt>hasher-useradd</tt> добавляет пользователя в новые группы.<br />
<br />
== Q3 ==<br />
<br />
Q: Я собираю пакет, но он ломается из-за того, что в сборочной среде нет <tt>/proc</tt>.<br />
<br />
A: [[Руководство по hasher#Монтирование /proc|Настройте монтирование /proc]].<br />
<br />
== Q4 ==<br />
<br />
Q: В моём <tt>hasher</tt> собираются пакеты со странной архитектурой, которые не ставятся.<br />
<br />
A: [[Руководство по hasher#Архитектура пакетов|Явно укажите архитектуру сборки]].<br />
<br />
== Q5 ==<br />
<br />
Q: В конце сборки в <tt>hasher</tt> выдаются ошибки вида<br />
some-packet.src.rpm: wrong PACKAGER: Automated package hasher <hasher@localhost><br />
<br />
A1: Эти ошибки выдаются утилитой [[sisyphus_check]], проверяющей соответствие пакетов правилам репозитория [[Sisyphus]]. Исправьте ошибки в spec-файле (обычно добавлением корректного тега <tt>Packager</tt>).<br />
<br />
A2: Если пакет не предназначен для Sisyphus, а выдаваемые ошибки связаны не с техническими проблемами в пакете, а с невыполнением политик репозитория (например, ограничение на тэг <tt>Packager</tt> и на PGP-подпись) — [[Руководство по hasher#Отключение проверок sisyphus_check|отключите часть проверок <tt>sisyphus_check</tt>]].<br />
<br />
A3: В конфигурационный файл .hasher/config, можно добавить поле packager:<br />
<br />
<code>packager="Michael Shigorin <mike@altlinux.org>"</code><br />
<br />
A4: У утилиты hsh, есть ключик --packager, можно воспользоваться им:<br />
<br />
<code>$ gear -v --hasher -- hsh --target=i586 --packager="Andrew Clark <andyc@altlinux.org>" ~/hasher</code><br />
<br />
== Q6 ==<br />
<br />
Q: При запуске <tt>hsh</tt> я получаю ошибку<br />
hasher-priv: /path/to/workdir/chroot: prefix mismatch, working directory<br />
should start with one of directories listed in colon-separated prefix<br />
list (~:/tmp/.private)<br />
hsh-mkchroot: failed to make devices.<br />
<br />
A: По умолчанию <tt>hasher</tt> позволяет располагать свою рабочую директорию в <tt>$HOME</tt> пользователя или в <tt>/tmp/.private</tt>. Или измените место, где создаётся рабочая директория, или разрешите дополнительные директории с помощью ключа <tt>prefix</tt> в <tt>/etc/hasher-priv/system</tt> (общесистемно) или <tt>/etc/hasher-priv/user.d/<USER></tt> (для одного пользователя).<br />
<br />
== Q7 ==<br />
<br />
Q: При запуске <tt>hsh</tt> выдаёт ошибку:<br />
hasher-priv: slave: chrootuid: execve: /.host/entry: No such file or directory<br />
hsh-initroot: Failed to create RPM database.<br />
<br />
A: Выключите все сменные носители в <tt>/etc/apt/sources.list</tt>, запустите <tt>apt-get update</tt><br />
и еще раз повторите запуск <tt>hsh</tt>.<br />
<br />
== Q8 ==<br />
<br />
Q: Сборка дистрибутива останавливается на таких вот строчках:<br />
mki-cache: has started executing.<br />
mkimage: Processing 'copy-packages' ...<br />
mki-cache: has started executing.<br />
mki-expand-pkgs: has started executing. method=simple<br />
mki-copy-pkgs: has started executing.<br />
mkdir: created directory `.../profiles/main/.work/mki-copy-pkgs.verbose'<br />
<br />
A: Выключите все сменные носители в <tt>/etc/apt/sources.list</tt> (и <tt>sources.list.d/*.list</tt>), запустите <tt>apt-get update</tt><br />
и еще раз повторите запуск <tt>hsh</tt>.<br />
<br />
== Q9 ==<br />
<br />
Q: При запуске <tt>hsh</tt> выдаёт ошибку:<br />
hasher-priv: openpty: No such file or directory<br />
<br />
A: Проверьте, что у вас смонтирован <tt>/dev/pts</tt> на хост-системе.<br />
<br />
== Q10 ==<br />
<br />
Q: При запуске <tt>hsh</tt> выдаёт ошибку:<br />
fakeroot daemon: /dev/null: Permission denied<br />
fakeroot: error while starting the `faked' daemon.<br />
hsh-initroot: Failed to create RPM database.<br />
<br />
A: Проверьте, что файловая система, на которой располагается сборочный каталог, смонтирована ''без'' использования опции nodev, например:<br />
$ mount | grep local<br />
/dev/sda3 on /usr/local type ext3 (rw,relatime)<br />
<br />
== Q11 ==<br />
<br />
Q: почему hasher перестал создавать хэши ({{path|base/*}}) для своего репозитория?<br />
<br />
A: потому что для некоторого ускорения сборки они [http://lists.altlinux.org/pipermail/devel/2009-December/178354.html упразднены] в пользу непосредственного сканирования каталога (<tt>rpm-dir</tt> вместо <tt>rpm</tt> в {{path|sources.list}}). Для создания хэшей при их публикации придётся запустить {{cmd|$hasher/aptbox/regenbasedir}} (или {{cmd|genbasedir --bloat}} совсем вручную).<br />
Если все же вам необходимо использовать репозиторий создаваемый хешером в sources.list то вместо rpm нужно использовать rpm-dir.<br />
<br />
== Q12 ==<br />
<br />
Q: есть ли споcоб запустить gui-шную программу внутри hasher?<br />
<br />
A: да,<br />
hsh-install xauth "гуишная прога"<br />
hsh-run -Y "гуишная прога"<br />
<br />
{{Category navigation|title=hasher|category=hasher|sortkey={{SUBPAGENAME}}}}<br />
[[Категория:hasher]]<br />
[[Категория:FAQ]]</div>Andychttps://www.altlinux.org/index.php?title=Gear/cronbuild&diff=15252Gear/cronbuild2010-07-04T03:38:53Z<p>Andyc: /* Изменение версии/релиза пакета */</p>
<hr />
<div>{{Category navigation|title=gear|category=gear|sortkey={{SUBPAGENAME}}}}<br />
<!-- {{stub}} --><br />
<br />
== Введение в cronbuild. ==<br />
<br />
Некоторые пакеты по своей природе нуждаются в постоянном обновлении,<br />
при этом при обновлении у этих пакетов спек практически не меняется.<br />
К таким пакетам относятся различные базы - антивирусные, оборудования<br />
(foomatic-db, PCI IDs, мониторов, ...), cliparts, и т. д.<br />
Как правило, в версии/релизе таких пакетов присутствует timestamp.<br />
Система cronbuild предназначена для автоматизации сборки таких пакетов.<br />
Теперь майнтайнеру достаточно один раз настроить для пакета cronbuild<br />
и пакет будет автоматически собираться в Сизиф с заданной майнтайнером периодичностью,<br />
например, раз в неделю, до тех пор, пока сборка не сломается.<br />
<br />
При этом пакеты собираются только тогда, когда это действительно нужно:<br />
если после обновления файлы исходников не изменились (согласно git diff <commit before update>),<br />
то сборка пакета будет пропущена, так как в ней нет необходимости.<br />
<br />
== Настройка cronbuild. ==<br />
cronbuild состоит из 3-х частей:<br />
<br />
* локальные скрипты cronbuild для автоматизации обновления .git репозитрия.<br />
* утилиты для локальной сборки (пакет {{pkg|gear-cronbuild}})<br />
* сервер удаленной сборки (cronbuild repocop.altlinux.org)<br />
<br />
=== локальные скрипты cronbuild для автоматизации обновления .git репозитрия ===<br />
<br />
Сердцем cronbuild является скрипт {{cmd|.gear/cronbuild-update-source}}.<br />
Этот скрипт пишется индивидуально для каждого пакета. Его задача --<br />
обновить исходные тексты пакета, используя {{cmd|git-fetch}}, {{cmd|git-svn}}<br />
или просто {{cmd|wget}}. <br />
<br />
==== пример скрипта для обновления через wget ====<br />
Этот скрипт работает в случае, когда исходники публикуются в виде тарбола,<br />
а в git репозитарии хранятся в распакованном виде в поддиректории {{term|$PKGNAME}}.<br />
<source lang="bash"><br />
#!/bin/sh -ve<br />
PKGNAME=<...><br />
rm -f $PKGNAME-SNAPSHOT.tar.gz<br />
wget -c http://www.pkgname.org/download/pkgname/pkgname-SNAPSHOT.tar.gz<br />
tar xzf $PKGNAME-SNAPSHOT.tar.gz<br />
rm -f $PKGNAME-SNAPSHOT.tar.gz<br />
git rm -r -f $PKGNAME<br />
rm -rf $PKGNAME<br />
mv $PKGNAME-SNAMPSHOT $PKGNAME<br />
git add $PKGNAME<br />
</source><br />
<br />
==== замечания к скрипту ====<br />
* скрипт должен сообщать о всех проблемах при обновлении. Проще всего использовать {{path|#!/bin/sh -ve}},<br />
иначе придется у каждой команды проверять код завершения.<br />
* изменения должны быть добавлены в индекс git. <br />
* не нужно коммитить изменения: git-cronbuild это сделает автоматически после успешной сборки.<br />
<br />
==== Изменение версии/релиза пакета ====<br />
Утилита {{cmd|gear-cronbuild-update-spec-timestamp}}<br />
автоматически ищет и обновляет timestamp вида ГГГГММДД<br />
в тегах Serial, Epoch, Version, Release, либо в<br />
декларациях {{cmd|%define <macrosname> <timestamp>}}.<br />
Если пакет использует другую систему нумерации,<br />
необходимо создать свой скрипт изменения версии/релиза пакета<br />
{{path|.gear/cronbuild-update-version}}.<br />
Также можно переопределить стандартный changelog скриптом<br />
{{path|.gear/cronbuild-add-changelog}}.<br />
В теле этого скрипта должна быть вызвана команда {{cmd|add_changelog}}<br />
с желаемым текстом.<br />
<br />
=== утилиты для локальной сборки (пакет {{pkg|gear-cronbuild}}) ===<br />
Для того, чтобы пользоваться скриптами cronbuild на локальной машине, необходимо установить пакет {{pkg|gear-cronbuild}}.<br />
Команда {{prg|gear-cronbuild-apply-hooks}} обновляет git репозиторий до следующей версии.<br />
Для удобства пользователя есть скрипт-обертка {{prg|gear-cronbuild}},<br />
который обновляет репозиторий, собирает пакет, и в случае успеха, коммитит изменения.<br />
<br />
скрипт-обертка {{prg|gear-cronbuild}}:<br />
<source lang="bash"><br />
#!/bin/sh -ve<br />
gear-cronbuild-apply-hooks<br />
gear "$@"<br />
gear-commit<br />
</source><br />
<br />
=== сервер удаленной сборки (cronbuild repocop.altlinux.org) ===<br />
<br />
локальные утилиты gear-cronbuild имеют тот недостаток, что <br />
их надо не забывать запускать. Кроме того, они не автоматизируют отправку пакета в Сизиф.<br />
<br />
Сервер удаленной сборки cronbuild в песочнице repocop.altlinux.org<br />
позволяет автоматизировать сборку пакетов полностью.<br />
<br />
==== Как поставить пакет на сборку ====<br />
<br />
Если пакет успешно собирается с помощью gear-cronbuild локально,<br />
пришло время поставить его на автоматическую сборку.<br />
<br />
Для этого необходимо создать файл {{path|.gear/cronbuild-options}},<br />
указать там желаемую периодичность сборки и e-mail для рассылки оповещений,<br />
и зарегистрировать в bugzilla заявку на Infrastructure/cronbuild<br />
(пока это не реализовано, можно на пакет gear-cronbuild).<br />
<br />
==== Как вносить изменения в сборку ====<br />
<br />
сервер сборки поддерживает 2 системы транспорта:<br />
сборка по тегу из git+gear репозитория<br />
и сборка из srpm.<br />
<br />
* Сборка по тегу из git+gear репозитория.<br />
Управление сборкой устроенно очень просто:<br />
сервер клонирует последнюю успешную сборку в Сизиф<br />
и применяет к ней gear-cronbuild.<br />
Поэтому, если вы хотите починить или улучшить<br />
автоматическую сборку, просто соберите пакет вручную,<br />
и в дальнейшем автоматическая сборка будет идти на ее основе.<br />
<br />
* сборка из srpm.<br />
считается экспериментальной.<br />
<br />
== Приложения. ==<br />
=== Полный список служебных файлов cronbuild в {{path|.gear/}} ===<br />
{| class="standard"<br />
!файл<br />
!Описание<br />
|-<br />
|class="shadow"|cronbuild-update-source<br />
|Основной скрипт для обновления содержимого пакета.<br />
|-<br />
|class="shadow"|cronbuild-update-version<br />
| Скрипт для обновления версии и/ли релиза пакета. Не обязателен.<br />
|-<br />
|class="shadow"|cronbuild-add-changelog<br />
| Скрипт для кастомизации changelog. Не обязателен.<br />
|-<br />
|class="shadow"|cronbuild-options<br />
| Конфигурационный файл. Не обязателен.<br />
|}<br />
Скрипты должны быть помечены как исполняемые.<br />
К файлам конфигурации это не относится.<br />
<br />
Скрипты получают спек-файл как первый аргумент.<br />
<br />
=== cronbuild-options ===<br />
{| class="standard"<br />
!переменная<br />
!Описание<br />
|-<br />
|class="shadow"|cronbuild_interval<br />
|периодичность сборок в днях. желательно.<br />
|-<br />
|class="shadow"|cronbuild_mailto<br />
|e-mail ответственного. обязательно.<br />
|-<br />
|class="shadow"|cronbuild_cc<br />
|список дополнительных e-mail (optional)<br />
|-<br />
|class="shadow"|cronbuild_mastergit<br />
|experimental<br />
|-<br />
|class="shadow"|cronbuild_masterbranch<br />
|experimental<br />
|}<br />
<br />
=== Пример использования .gear/cronbuild-* ===</div>Andychttps://www.altlinux.org/index.php?title=TypicalPackagingErrors/versions&diff=15029TypicalPackagingErrors/versions2010-06-11T17:52:53Z<p>Andyc: /* Типичные ошибки нумерования версий */</p>
<hr />
<div>[[Category:Devel]]<br />
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/TypicalPackagingErrors/versions}}<br />
<br />
== Типичные ошибки нумерования версий ==<br />
...приводящие к неожиданным проблемам при последующем обновлении (e.g. 1.0 < 1.0pre лексикографически).<br />
<br />
<pre>Subject: [sisyphus] Как правильно давать версию пакету?<br />
Date: Fri, 25 Nov 2005 16:50:32 +0200<br />
From: Slava Dubrovskiy <br />
To: Sisyphus lists.altlinux.org<br />
<br />
Здравствуйте.<br />
<br />
Запаковал пакет с той версией какая указана в апстриме - 7.1PRE1. Теперь<br />
вышла 7.1.1 и апт считает, что 7.1PRE1 больше чем 7.1.1.<br />
Отсюда вопрос: что делать в данной ситуации и как правильно разрулить?</pre><br />
<br />
Поведение apt вполне объяснимо, ведь <br />
<pre>~ $ rpmvercmp 7.1PRE1 7.1.1<br />
1<br />
~ $</pre><br />
т.е. 7.1PRE1 действительно больше чем 7.1.1.<br />
<br />
Выход в данной ситуации один. Давать номера пакетов вида:<br />
version-altx.prefix<br />
Например, в данной ситуации, было бы лучше версию PRE1 запаковать как 7.1-alt0.PRE1, а официальный релиз тогда имел бы версию 7.1-alt1 и т.д. Тоже самое предлагается делать и для cvs (например 7.1-alt0.cvs20051128) и всяких там alpha/beta/rc/pre. Сборка alt0 как раз визуально выделят версии cvs/pre из списка релизов. <br />
<br />
То же самое относится и к пакетам имеющим iplXXmdk вместо altXX в номере сборки. Без смены версии пакета, менять iplXXmdk на alt (пусть даже и XX+1) не стоит!!! Не верите на слово:<br />
<pre>~ $ rpmvercmp ipl23mdk alt4<br />
8<br />
~ $</pre><br />
<br />
Если пакет с release вида alt0.cvsyyyymmdd собирается для backports, сообразно [http://backports.altlinux.ru/policy/ backports policy] следует выставить его в alt0.0.cvsyyyymmdd; при этом "0" лексикографически меньше "c" и последуюшее обновление пройдёт успешно по крайней мере по этой части.<br />
<br />
Надеюсь, что данная рекомендация попадет в полиси.<br />
<br />
Еще бывает случай, когда у пакета с данными и пакета с кодом, в котором указана зависимость<br />
на пакет с данными определенной версии, изменяется версия.<ref>[http://lists.altlinux.org/pipermail/devel-newbies/2010-June/000465.html Живой пример.]</ref> В этом случае, при последовательной сборке, <br />
возможна такая ситуация:<br />
<pre>2010-Jun-09 22:27:03 :: task #25525 for sisyphus started:<br />
#1 build 3.3.4-alt1.svn477 from /people/andyc/packages/megaglest-data.git<br />
2010-Jun-09 22:29:33 :: created pkg.tar for megaglest-data.git tag 3.3.4-alt1.svn477<br />
2010-Jun-09 22:29:34 :: [x86_64] #1 megaglest-data.git 3.3.4-alt1.svn477: build start<br />
2010-Jun-09 22:29:34 :: [i586] #1 megaglest-data.git 3.3.4-alt1.svn477: build start<br />
2010-Jun-09 22:46:43 :: [x86_64] #1 megaglest-data.git 3.3.4-alt1.svn477: build OK<br />
2010-Jun-09 22:48:31 :: [i586] #1 megaglest-data.git 3.3.4-alt1.svn477: build OK<br />
2010-Jun-09 22:48:48 :: build check OK<br />
2010-Jun-09 22:49:39 :: noarch check OK<br />
2010-Jun-09 22:49:40 :: plan OK<br />
2010-Jun-09 22:49:40 :: version check OK<br />
2010-Jun-09 22:50:35 :: created test repo<br />
i586: NEW unmet dependencies detected:<br />
megaglest#3.3.1-alt1.svn110 megaglest-data = 3.3.1<br />
x86_64: NEW unmet dependencies detected:<br />
megaglest#3.3.1-alt1.svn110 megaglest-data = 3.3.1<br />
2010-Jun-09 22:50:39 :: dependencies check FAILED<br />
2010-Jun-09 22:50:39 :: task #25525 for sisyphus FAILED</pre><br />
В данном случае, в Сизиф идет пакет с данными, версия которого изменилась, однако в репозитории<br />
уже находится пакет с кодом, у которого в строке Requires, значится именно <br />
определенная версия пакета с данными:<br />
<pre><br />
%define rev svn477<br />
Name: megaglest<br />
Version: 3.3.4<br />
Release: alt1.%rev<br />
Summary: Glest is a project for making a free 3d real-time customizable strategy game<br />
License: GPL<br />
Group: Games/Strategy<br />
Url: http://megaglest.sourceforge.net<br />
Packager: Andrew Clark <andyc@altlinux.org><br />
<br />
Source: http://sourceforge.net/projects/%name/files/megaglest_3.2.3/%name-source-%version.tar.bz2<br />
Source2: %name.sh<br />
Source3: %name.png<br />
Source4: %name.desktop<br />
<br />
#Patch1: glest-3.2.2-gentoo.patch<br />
<br />
# Automatically added by buildreq on Tue Jun 08 2010<br />
BuildRequires: gcc-c++ imake jam libGL-devel libSDL-devel libX11-devel libcurl-devel libjpeg-devel liblua5-devel libopenal-devel libpng-devel libvorbis-devel libwxGTK-devel libxerces-c28-devel xorg-cf-files<br />
<br />
Requires: %name-data = %version<br />
</pre><br />
Из-за прямого указания зависимости на версию пакета с данными, у пакета с кодом возникает<br />
неудовлетворенная зависимость, поэтому обновленная версия не проходит в Сизиф.<br />
Решение данной проблемы состоит в единовременной сборке двух пакетов:<br />
<pre>ssh git.alt build megaglest-data 3.3.4-alt1.svn477 megaglest 3.3.4-alt1.svn477<br />
</pre><br />
<references /><br />
''TODO: добавить в policy и/или ссылку на него, если имеется''<br />
<br />
<br />
[[Категория:TypicalPackagingErrors|{{SUBPAGENAME}}]]</div>Andychttps://www.altlinux.org/index.php?title=TypicalPackagingErrors/versions&diff=15028TypicalPackagingErrors/versions2010-06-11T17:47:04Z<p>Andyc: </p>
<hr />
<div>[[Category:Devel]]<br />
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/TypicalPackagingErrors/versions}}<br />
<br />
== Типичные ошибки нумерования версий ==<br />
...приводящие к неожиданным проблемам при последующем обновлении (e.g. 1.0 < 1.0pre лексикографически).<br />
<br />
<pre>Subject: [sisyphus] Как правильно давать версию пакету?<br />
Date: Fri, 25 Nov 2005 16:50:32 +0200<br />
From: Slava Dubrovskiy <br />
To: Sisyphus lists.altlinux.org<br />
<br />
Здравствуйте.<br />
<br />
Запаковал пакет с той версией какая указана в апстриме - 7.1PRE1. Теперь<br />
вышла 7.1.1 и апт считает, что 7.1PRE1 больше чем 7.1.1.<br />
Отсюда вопрос: что делать в данной ситуации и как правильно разрулить?</pre><br />
<br />
Поведение apt вполне объяснимо, ведь <br />
<pre>~ $ rpmvercmp 7.1PRE1 7.1.1<br />
1<br />
~ $</pre><br />
т.е. 7.1PRE1 действительно больше чем 7.1.1.<br />
<br />
Выход в данной ситуации один. Давать номера пакетов вида:<br />
version-altx.prefix<br />
Например, в данной ситуации, было бы лучше версию PRE1 запаковать как 7.1-alt0.PRE1, а официальный релиз тогда имел бы версию 7.1-alt1 и т.д. Тоже самое предлагается делать и для cvs (например 7.1-alt0.cvs20051128) и всяких там alpha/beta/rc/pre. Сборка alt0 как раз визуально выделят версии cvs/pre из списка релизов. <br />
<br />
То же самое относится и к пакетам имеющим iplXXmdk вместо altXX в номере сборки. Без смены версии пакета, менять iplXXmdk на alt (пусть даже и XX+1) не стоит!!! Не верите на слово:<br />
<pre>~ $ rpmvercmp ipl23mdk alt4<br />
8<br />
~ $</pre><br />
<br />
Если пакет с release вида alt0.cvsyyyymmdd собирается для backports, сообразно [http://backports.altlinux.ru/policy/ backports policy] следует выставить его в alt0.0.cvsyyyymmdd; при этом "0" лексикографически меньше "c" и последуюшее обновление пройдёт успешно по крайней мере по этой части.<br />
<br />
Надеюсь, что данная рекомендация попадет в полиси.<br />
<br />
Еще бывает случай, когда у пакета с данными и пакета с кодом, в котором указана зависимость<br />
на пакет с данными определенной версии, изменяется версия.<ref>[http://lists.altlinux.org/pipermail/devel-newbies/2010-June/000465.html Живой пример.]</ref> В этом случае, при последовательной сборке, <br />
возможна такая следующая ситуация:<br />
<pre>2010-Jun-09 22:27:03 :: task #25525 for sisyphus started:<br />
#1 build 3.3.4-alt1.svn477 from /people/andyc/packages/megaglest-data.git<br />
2010-Jun-09 22:29:33 :: created pkg.tar for megaglest-data.git tag 3.3.4-alt1.svn477<br />
2010-Jun-09 22:29:34 :: [x86_64] #1 megaglest-data.git 3.3.4-alt1.svn477: build start<br />
2010-Jun-09 22:29:34 :: [i586] #1 megaglest-data.git 3.3.4-alt1.svn477: build start<br />
2010-Jun-09 22:46:43 :: [x86_64] #1 megaglest-data.git 3.3.4-alt1.svn477: build OK<br />
2010-Jun-09 22:48:31 :: [i586] #1 megaglest-data.git 3.3.4-alt1.svn477: build OK<br />
2010-Jun-09 22:48:48 :: build check OK<br />
2010-Jun-09 22:49:39 :: noarch check OK<br />
2010-Jun-09 22:49:40 :: plan OK<br />
2010-Jun-09 22:49:40 :: version check OK<br />
2010-Jun-09 22:50:35 :: created test repo<br />
i586: NEW unmet dependencies detected:<br />
megaglest#3.3.1-alt1.svn110 megaglest-data = 3.3.1<br />
x86_64: NEW unmet dependencies detected:<br />
megaglest#3.3.1-alt1.svn110 megaglest-data = 3.3.1<br />
2010-Jun-09 22:50:39 :: dependencies check FAILED<br />
2010-Jun-09 22:50:39 :: task #25525 for sisyphus FAILED</pre><br />
В данном случае, в Сизиф идет пакет версия которого изменилась, однако в Сизифе<br />
уже находится пакет с кодом, у которого в строке Requires, значится именно <br />
определенная версия пакета с данными<br />
<pre><br />
%define rev svn477<br />
Name: megaglest<br />
Version: 3.3.4<br />
Release: alt1.%rev<br />
Summary: Glest is a project for making a free 3d real-time customizable strategy game<br />
License: GPL<br />
Group: Games/Strategy<br />
Url: http://megaglest.sourceforge.net<br />
Packager: Andrew Clark <andyc@altlinux.org><br />
<br />
Source: http://sourceforge.net/projects/%name/files/megaglest_3.2.3/%name-source-%version.tar.bz2<br />
Source2: %name.sh<br />
Source3: %name.png<br />
Source4: %name.desktop<br />
<br />
#Patch1: glest-3.2.2-gentoo.patch<br />
<br />
# Automatically added by buildreq on Tue Jun 08 2010<br />
BuildRequires: gcc-c++ imake jam libGL-devel libSDL-devel libX11-devel libcurl-devel libjpeg-devel liblua5-devel libopenal-devel libpng-devel libvorbis-devel libwxGTK-devel libxerces-c28-devel xorg-cf-files<br />
<br />
Requires: %name-data = %version<br />
</pre><br />
Из-за прямого указания версии пакета с данными, у пакета с кодом возникает<br />
неудовлетворенная зависимость, поэтому обновленная версия не проходит в Сизиф.<br />
Решение данной проблемы состоит в единовременной сборке двух пакетов:<br />
<pre>ssh git.alt build megaglest-data 3.3.4-alt1.svn477 megaglest 3.3.4-alt1.svn477<br />
</pre><br />
<references /><br />
''TODO: добавить в policy и/или ссылку на него, если имеется''<br />
<br />
<br />
[[Категория:TypicalPackagingErrors|{{SUBPAGENAME}}]]</div>Andychttps://www.altlinux.org/index.php?title=Mkimage/Profiles/Desktop&diff=13924Mkimage/Profiles/Desktop2010-03-20T07:40:40Z<p>Andyc: корректная ссылка boyarsh@</p>
<hr />
<div>{{DISPLAYTITLE:mkimage-profiles-desktop}}<br />
[[Категория:Mkimage]]<br />
[[File:Carving_the_roast.png||right|готовим релиз]]<br />
== Что это такое? ==<br />
<tt>mkimage-profiles-desktop</tt> (кратко ''m-p-d'') — это набор профилей для сборки дистрибутивных образов на пакетной базе ALT Linux при помощи [[mkimage]], представленный как:<br />
* семейство git-репозиториев, поддерживаемых различными людьми (де-факто «точка сбора» — [http://git.altlinux.org/people/boyarsh/packages/?p=mkimage-profiles-desktop.git;a=summary boyarsh@]);<br />
* пакеты в бранчах и дистрибутивах<ref>если нет цели посмотреть именно дистрибутивный профиль, лучше сразу в git</ref>.<br />
<br />
== Зачем может пригодиться? ==<br />
* ''релиз-менеджеры'' (те, кто выпускает дистрибутивы) используют профили, чтобы укомплектовать и собрать из пакетной базы и информации в профиле пригодный к использованию образ — например, инсталятор или LiveFlash;<br />
* ''системным администраторам'' бывает удобно вносить свои небольшие изменения для минимизации действий после типичной установки дистрибутива;<br />
* ''нормальным людям'' может быть удобней собирать образы локально из пакетов на зеркале, чем тащить исошки.<br />
<br />
При отсутствии локального зеркала какого-либо бранча или сизифа эксперименты может быть лучше отложить, потому как трафик.<br />
<br />
== Как собрать дистрибутив? ==<br />
Если рассматривать штатный для ALT Linux 4.0+ случай с использованием:<br />
* [[pam_mktemp]] и достаточного объёма [[tmpfs]] в <tt>/tmp</tt><ref>текущая версия <tt>mkimage</tt> (проверено на 0.1.3) умеет делать workdir’ы на tmpfs вне каталога профиля, но всё-таки лучше собирать из отдельной копии во избежание случайных коммитов мусора (подставленных <tt>autoconf</tt> .in-файлов, не добавленных в <tt>.gitignore</tt>, и т. п.).</ref>,<br />
* сконфигурированного в <tt>sources.list</tt> репозитория<ref>mkimage используется начиная с 4.0/branch и до Sisyphus; со старыми ветками — M40, M41 — и соответствующими профилями возможны [[Mkimage/Desktop/OldTroubles|старые грабли]]</ref> (желательно локального или NFS-[[Mirror|зеркала]]),<br />
можно так:<br />
<source lang="bash"><br />
mkdir -p ~/git<br />
cd ~/git<br />
git clone git://git.altlinux.org/people/boyarsh/packages/mkimage-profiles-desktop<br />
cp -a ~/git/mkimage-profiles-desktop/ $TMP/mkimage-profiles-desktop/<br />
cd $TMP/mkimage-profiles-desktop/<br />
git checkout p5<br />
autoconf<br />
./configure<br />
nice time make rescue.cd<br />
</source><br />
…и через несколько минут или полчасика при отсутствии [[Mkimage/debug|неожиданностей]] образ будет готов. Список целей {{cmd|make}} можно посмотреть в {{path|Makefile.in}}; некоторые примеры:<br />
<br />
{|border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! make ...<br />
! получаем<br />
! проверено (на репо<ref>Сборка на Sisyphus обычно из бранча <tt>master</tt> профиля, на 5.1/branch либо p5/branch -- <tt>p5</tt>.</ref>)<br />
|-<br />
| rescue.cd<br />
| маленький спасательный LiveCD<br />
| 20100315 mike (5.1/i586)<br />
|-<br />
| live.cd<br />
| большой самостоятельный LiveCD с KDE<br />
| 20100315 mike (5.1/x86_64)<br />
<!--|-<br />
| children.cd<br />
| большой LiveCD для маленьких<br />
| 20100315 mike (p5/i586) облом: нет branding-altlinux-children-release --><br />
|-<br />
| gnome.dvd<br />
| инсталяционный образ с GNOME<br />
| 20100315 mike (p5/x86_64)<br />
|-<br />
| minimal.cd<br />
| небольшой инсталяционный образ с IceWM<br />
| 20100315 mike (Sisyphus/x86_64)<br />
|-<br />
| school-terminal.dvd<br />
| школьный терминальный сервер<br />
| 20100315 mike (p5/i586)<br />
|}<br />
<br />
=== а ''свой'' как? ===<br />
Читайте дальше по порядку. Только это уже '''для терпеливых'''.<br />
<br />
== Концепция ==<br />
Образ дистрибутива слагается из блочно конфигурируемых повторно используемых компонент; конфигурация осуществляется каскадно с наследованием низкоуровневых умолчаний от высокоуровневых настроек.<br />
<br />
== Реализация ==<br />
<br />
=== дистрибутив ===<br />
Итоговый образ может включать:<br />
* средства начальной загрузки образа (stage1);<br />
* инсталятор (install2) и/или LiveCD (live);<br />
* пакетную базу (main, contrib);<br />
* иное (например, rescue).<br />
Таким компонентам соответствуют ''субпрофили'' (<tt>profiles/*</tt>).<br />
<br />
=== компоненты ===<br />
Создаются при сборке субпрофилей, которые:<br />
* описывают соответствующие им базовые наборы ''списков пакетов'' и необходимые действия;<br />
* могут конфигурироваться сообразно требованиям к дистрибутиву;<br />
* могут содержать дополнительные скрипты, отрабатывающие при формировании соответствующего компонента.<br />
<br />
=== особенности ===<br />
Поскольку различные образы (например, инсталяционные) могут иметь одни и те же предопределённые наборы принципиальных компонент (например, stage1+install2+main), но существенно отличаться в их итоговом наполнении — предусмотрен механизм для ''конфигурирования'' путём накопления необходимых значений переменных во включаемых makefile, реализованный блоками настроек <tt>use-*</tt> в <tt>use.mk</tt>.<br />
<br />
Дистрибутивообразующие данные «протекают» сверху вниз следующим образом:<br />
# умолчания: заложены разработчиком профиля на всех уровнях;<br />
# опции configure: заданы пользователем (релиз-менеджером);<br />
# Makefile: соответствие «дистрибутив-блоки», в том числе выбор субпрофилей;<br />
# use.mk: конфигурирование блоков;<br />
# profiles/*: задействование созданной конфигурации;<br />
# profiles/*/*scripts.d/*: нижний уровень, при возможности (и отсутствии конфигурируемости) «выселяется» в [[Installer/beans|installer-feature-*]].<br />
<br />
== Ознакомление ==<br />
Загляните в [http://git.altlinux.org/people/boyarsh/packages/?p=mkimage-profiles-desktop.git;a=blob;f=README;hb=HEAD README] m-p-d; хотя бы вкратце ознакомьтесь с [http://git.altlinux.org/people/legion/packages/?p=mkimage.git;a=blob;f=doc/README.ru;hb=HEAD README.ru] mkimage, куда стоит обращаться за описанием используемых в субпрофильных makefile переменных и целей сборки.<br />
<br />
Изучение существующих примеров удобней начинать с корневого <tt>[http://git.altlinux.org/people/boyarsh/packages/?p=mkimage-profiles-desktop.git;a=blob;f=Makefile.in;hb=HEAD Makefile.in]</tt> и далее по <tt>profiles/*/Makefile.in</tt> и <tt>profiles/pkg/lists/*</tt>. Стоит обратить внимание, что <tt>IMAGE_PACKAGES</tt> может содержать как пути ко включаемым файлам со списками имён пакетов, так и сами имена пакетов.<br />
<br />
См. тж. местный [[Mkimage/FAQ|mkimage faq]].<br />
<br />
== Практика ==<br />
m-p-d из профиля для сборки десктопного дистрибутива превратился в комбайн с вертикальным взлётом, позволяющий создавать широкий спектр образов и довольно неплохо масштабируемый по разработке.<br />
<br />
Чем более краткими, ясными, устойчивыми к изменениям являются его составляющие — тем удобней браться за разработку или продолжать её через год. Чем более запутанными и неявно взаимосвязанными они остаются — тем больше времени приходится сперва тратить на отслеживание, кто куда зачем пошёл и надо ли это ещё.<br />
<br />
Поэтому при добавлении <tt>use</tt>-блоков или <tt>profiles/pkg/lists/*</tt> следует по возможности изучить и повторно использовать уже существующие (в этом может помочь <tt>bin/pkgdups.sh</tt>). Также в промежутках между релизами стоит находить время и уделять внимание рефакторингу инфраструктуры; соображения по ортогонализации профиля и наследованию дистрибутивообразующих переменных можно почитать [[WhiteLabel|здесь]].<br />
<br />
== Модификация ==<br />
<br />
=== используя уже существующее ===<br />
Если создаётся вариация на тему уже существующего вида — например, десктопный инсталер — может оказаться достаточным скомбинировать уже существующие цели <tt>use-*</tt> из подключаемой библиотеки <tt>use.mk</tt> в одной строчке, добавленной в корневой <tt>Makefile.in</tt>. Например, так можно добавить rescue к понравившемуся дистрибутиву, собранному без него.<br />
<br />
=== с добавлением новых блоков ===<br />
Например, потребовался ещё не описанный десктопный инсталер с LXDE; для подготовки к его сборке может оказаться достаточным:<br />
# создать список пакетов (например, <tt>profiles/pkg/lists/lxde</tt>);<br />
# добавить строчку с описанием дистрибутива в корневой <tt>Makefile.in</tt>:<br /><pre>lxde.cd: | use-lxde use-xdm install2 main install-cd.@IMAGETYPE@</tt></pre><br />
При этом необязательно явно описывать «мостик» между именем списка пакетов (lxde) и промежуточной целью (use-lxde) в подключаемой библиотеке use.mk: тривиальные случаи обрабатываются шаблоном use-%, который вносит «прилетевшее» имя в списки для субпрофилей main и live в предположении, что это название пакаджлиста — тем самым обеспечивая его «подхватывание» при сборке как образа дистрибутива для инсталяции, так и LiveCD.<br />
<!-- TODO: когда до boyarsh@ доберётся возвращение custom.cd, описать --with-features и make custom.cd --><br />
<br />
=== синхронизация ===<br />
Дистрибутивы — штука сложная. В одиночку их делать можно, но довольно тяжело. Поэтому лучше пользоваться уже существующими наработками: даже если на их освоение придётся потратить некоторое время, их переизобретение также не дастся даром. Также хорошо стараться делать правки так, чтобы не понижать универсальность профиля, не исходя из предположения «да мне только под свой дистрибутив заточить»: внесение наработок в апстрим может помочь снизить затраты времени на поддержание своей ветки.<br />
<br />
Обсуждение масштабных переработок профилей релиз-менеджерами производится в рассылке [https://lists.altlinux.org/mailman/listinfo/devel-distro devel-distro@]<ref>подписывает ktirf@ по запросу</ref>. Обратите внимание на то, что хотя бы кратенько анонсировать предполагаемые изменения лучше ''до'' их реализации, чтобы иметь возможность получить их оценку другими участниками и<br />
* избежать непредвиденных последствий;<br />
* доставить другим минимум неудобств при втягивании изменений.<br />
<br />
== Ссылки ==<br />
* [[mkimage]]<br />
* [[Branches|бранчи]]<br />
* [[Installer|инсталятор]]<br />
* [[Installer/beans|компоненты инсталятора]]<br />
* [[Mkimage/Desktop|устаревшая ветка этой страницы]]<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
{{Category navigation|title=mkimage|category=Mkimage|sortkey={{SUBPAGENAME}}}}</div>Andychttps://www.altlinux.org/index.php?title=Rescue/Plans&diff=13569Rescue/Plans2010-02-13T11:16:29Z<p>Andyc: /* Программное обеспечение */</p>
<hr />
<div>Небольшой дистрибутив с текстовым и графическим интерфейсом для резервного копирования и восстановления системы.<br />
<br />
Планируемая дата релиза &mdash; одновременно с Office Server <ref>[http://lists.altlinux.org/pipermail/platform50-dev/2009-May/000923.html Dmitry V. Levin, "<nowiki>[Platform50-dev] [Office]</nowiki> rescue cd"]</ref>.<br />
<br />
Требования <ref>[https://lists.altlinux.org/mailman/private/office/2009-May/022448.html Stanislav Ievlev, "<nowiki>[Office]</nowiki> Структура компании"]</ref>:<br />
#Быть как можно мелким, чтобы влезать на маленькие cd и дешёвенькие флешки (которые мы будем прикладывать к продуктам). Соответственно надо использовать какой-нибудь лёгкий window manager, но такой чтобы можно было сделать ярлыки на рабочем столе.<br />
#*Как вариант - вообще отказаться от понятия "ярлыков на рабочем столе" <ref>[https://lists.altlinux.org/mailman/private/office/2009-May/022449.html Anton Farygin, "<nowiki>[Office]</nowiki> Структура компании"]</ref> и сделать что-то, похожее на<br />
#**http://news.torguem-bt.ru/context/images/6296/3.jpg<br />
#**http://ianlawrence.info/images/ume_flash.png<br />
#*Готовые интерфейсы есть, надо найти тот, который получше и собрать для нас.<br />
#Содержать всё что может потребоваться сисадмину. И текстовые тулзы и графические (если таковые имеются). Мы расчитываем что этим диском будут пользоваться и чайники, и крутые админы. Тут возможно надо посоветоваться в sysadmins@ и других наших рассылках. Желательно чтобы могла обслужить и windows.<br />
#Поскольку в будущем эта штука потребуется для Office Server, то должна содержать восстановитель из backup (пакет livecd-restore, фича use-livecd-restore в мега-профиле mkimage-profiles) и мини-инсталлер (принимает параметры: репозитарий с пакетами, список устанавливаемых пакетов, каталог для установки, путь к каталогу с postinstall-скриптами).<br />
#Хорошо бы потом в перспективе засунуть туда коммерческий антивирус типа Dr. Web (или clamav<ref>[https://lists.altlinux.org/mailman/private/office/2009-May/022460.html Евгений Сыромятников, "<nowiki>[Office]</nowiki> Структура компании"]</ref>).<br />
#А еще бы туда засунуть мини-инсталлер, который каким-либо образом принимает такие параметры<ref>[http://lists.altlinux.org/pipermail/sysadmins/2009-May/030197.html Eugene Prokopiev, "<nowiki>[Sysadmins]</nowiki> Rescue CD"]</ref>:<br />
#*репозитарий с пакетами<br />
#*список устанавливаемых пакетов<br />
#*каталог для установки<br />
#*каталог с postinstall-скриптами<br />
<br />
== Похожие продукты ==<br />
#[http://frenzy.org.ua/ Frenzy (FreeBSD)]<br />
#[http://sourceforge.net/projects/g4l/ g4l] <ref>[http://lists.altlinux.org/pipermail/sysadmins/2009-May/030182.html AShen, "<nowiki>[Sysadmins]</nowiki> Rescue CD"]</ref><ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-May/339532.html Юсупов Радик, "<nowiki>[sisyphus]</nowiki> Rescue CD"]</ref> [[Rescue/G4L|обзор]]<br />
#[http://fehu.org/~feyrer/g4u/ g4u] (NetBSD) — LiveCD (2 дискеты) для передачи образа диска на FTP-сервер или обратно.<br />
#[http://trinityhome.org/Home/index.php?wpid=1&front_id=12 Trinity Rescue Kit]<br />
#[http://grml.org/features/ grml]<br />
#[http://rescuecd.pld-linux.org/ PLD Rescue CD]<br />
#[http://www.paragon.ru/recovery_cd.htm Paragon Drive Backup] [[Rescue/ParagonDriveBackup|обзор]]<br />
#[http://gparted.sourceforge.net/livecd.php GParted Live] [[Rescue/GPartedLive|обзор]]<br />
<br />
[http://lwn.net/Articles/333222/ Обзор на lwn.net]:<br />
#[http://partedmagic.com/ Parted Magic] [[Rescue/PartedMagic|обзор]]<br />
#[http://www.sysresccd.org/ System Rescue CD] [[Rescue/SystemRescueCD|обзор]]<br />
#[http://clonezilla.org/ Clonezilla] [[Rescue/Clonezilla|обзор]]<br />
#[http://www.tux.org/pub/people/kent-robotti/looplinux/rip/ RIP Linux] [[Rescue/RIPLinux|обзор]]<br />
<br />
== Программное обеспечение ==<br />
Крайне востребован firefox и alterator/NetworkManager для поиска рецептов исправления <ref>[https://lists.altlinux.org/mailman/private/office/2009-May/022458.html Андрей Черепанов, "<nowiki>[Office]</nowiki> Структура компании"]</ref>.<br />
<br />
Работа с жёсткими дисками:<br />
*восстановление загрузчика<br />
*форматирование<br />
*управление разделами (gparted?)<br />
*проверка файловых систем (testdisk)<br />
*восстановление удалённых данных (scalpel,sleuthkit)<br />
<br />
Резервные копии<br />
*создание резервной копии<br />
*восстановление из резервной копии<br />
<br />
Правка конфигов:<br />
*диспетчер файлов (графический и mc)<br />
*текстовый редактор<br />
<br />
Вариант загрузочного меню <ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-May/339525.html Michael Shigorin, "<nowiki>[sisyphus]</nowiki> Rescue CD"]</ref>:<br />
*repair bootloader<br />
*repair initrd and bootloader<br />
*check filesystems<br />
*just give me a shell<br />
<br />
Выбиралка найденных корней менюшкой.<br />
<br />
Конкретные пожелания:<br />
* grub<br />
* anyfs-tools<br />
* ipmitool и/или другие [http://www.altlinux.org/IPMI IPMI] <ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-June/340120.html Ildar Mulyukov, "<nowiki>[sisyphus]</nowiki> Rescue CD"]</ref><br />
* flashrom<br />
<br />
== Примеры команд ==<br />
> Cдалал chroot /mnt и пытаюсь выполнить /bin/lilo - а он мне в ответ: не могу открыть /proc/devices , что логично..<br />
> Как мне применить новые параметры лило?<br />
mount /proc<br />
mount none -t sysfs /sys<br />
[.....]<br />
umount /sys /proc<br />
или<br />
mount /dev/hdXX /mnt<br />
mount --bind /dev /mnt/dev<br />
mount --bind /proc /mnt/proc<br />
lilo -r /mnt<br />
<br />
== Ссылки ==<br />
<references /><br />
<br />
{{Category navigation|title=Версия 5.0|category=Версия 5.0}}<br />
{{Category navigation|title=Releases/50|category=Releases/50|sortkey=*}}<br />
{{Category navigation|title=Releases|category=Releases|sortkey={{SUBPAGENAME}}}}<br />
<br />
[[Категория: Rescue]]</div>Andychttps://www.altlinux.org/index.php?title=Rescue/Plans&diff=13568Rescue/Plans2010-02-13T11:11:45Z<p>Andyc: /* Программное обеспечение */</p>
<hr />
<div>Небольшой дистрибутив с текстовым и графическим интерфейсом для резервного копирования и восстановления системы.<br />
<br />
Планируемая дата релиза &mdash; одновременно с Office Server <ref>[http://lists.altlinux.org/pipermail/platform50-dev/2009-May/000923.html Dmitry V. Levin, "<nowiki>[Platform50-dev] [Office]</nowiki> rescue cd"]</ref>.<br />
<br />
Требования <ref>[https://lists.altlinux.org/mailman/private/office/2009-May/022448.html Stanislav Ievlev, "<nowiki>[Office]</nowiki> Структура компании"]</ref>:<br />
#Быть как можно мелким, чтобы влезать на маленькие cd и дешёвенькие флешки (которые мы будем прикладывать к продуктам). Соответственно надо использовать какой-нибудь лёгкий window manager, но такой чтобы можно было сделать ярлыки на рабочем столе.<br />
#*Как вариант - вообще отказаться от понятия "ярлыков на рабочем столе" <ref>[https://lists.altlinux.org/mailman/private/office/2009-May/022449.html Anton Farygin, "<nowiki>[Office]</nowiki> Структура компании"]</ref> и сделать что-то, похожее на<br />
#**http://news.torguem-bt.ru/context/images/6296/3.jpg<br />
#**http://ianlawrence.info/images/ume_flash.png<br />
#*Готовые интерфейсы есть, надо найти тот, который получше и собрать для нас.<br />
#Содержать всё что может потребоваться сисадмину. И текстовые тулзы и графические (если таковые имеются). Мы расчитываем что этим диском будут пользоваться и чайники, и крутые админы. Тут возможно надо посоветоваться в sysadmins@ и других наших рассылках. Желательно чтобы могла обслужить и windows.<br />
#Поскольку в будущем эта штука потребуется для Office Server, то должна содержать восстановитель из backup (пакет livecd-restore, фича use-livecd-restore в мега-профиле mkimage-profiles) и мини-инсталлер (принимает параметры: репозитарий с пакетами, список устанавливаемых пакетов, каталог для установки, путь к каталогу с postinstall-скриптами).<br />
#Хорошо бы потом в перспективе засунуть туда коммерческий антивирус типа Dr. Web (или clamav<ref>[https://lists.altlinux.org/mailman/private/office/2009-May/022460.html Евгений Сыромятников, "<nowiki>[Office]</nowiki> Структура компании"]</ref>).<br />
#А еще бы туда засунуть мини-инсталлер, который каким-либо образом принимает такие параметры<ref>[http://lists.altlinux.org/pipermail/sysadmins/2009-May/030197.html Eugene Prokopiev, "<nowiki>[Sysadmins]</nowiki> Rescue CD"]</ref>:<br />
#*репозитарий с пакетами<br />
#*список устанавливаемых пакетов<br />
#*каталог для установки<br />
#*каталог с postinstall-скриптами<br />
<br />
== Похожие продукты ==<br />
#[http://frenzy.org.ua/ Frenzy (FreeBSD)]<br />
#[http://sourceforge.net/projects/g4l/ g4l] <ref>[http://lists.altlinux.org/pipermail/sysadmins/2009-May/030182.html AShen, "<nowiki>[Sysadmins]</nowiki> Rescue CD"]</ref><ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-May/339532.html Юсупов Радик, "<nowiki>[sisyphus]</nowiki> Rescue CD"]</ref> [[Rescue/G4L|обзор]]<br />
#[http://fehu.org/~feyrer/g4u/ g4u] (NetBSD) — LiveCD (2 дискеты) для передачи образа диска на FTP-сервер или обратно.<br />
#[http://trinityhome.org/Home/index.php?wpid=1&front_id=12 Trinity Rescue Kit]<br />
#[http://grml.org/features/ grml]<br />
#[http://rescuecd.pld-linux.org/ PLD Rescue CD]<br />
#[http://www.paragon.ru/recovery_cd.htm Paragon Drive Backup] [[Rescue/ParagonDriveBackup|обзор]]<br />
#[http://gparted.sourceforge.net/livecd.php GParted Live] [[Rescue/GPartedLive|обзор]]<br />
<br />
[http://lwn.net/Articles/333222/ Обзор на lwn.net]:<br />
#[http://partedmagic.com/ Parted Magic] [[Rescue/PartedMagic|обзор]]<br />
#[http://www.sysresccd.org/ System Rescue CD] [[Rescue/SystemRescueCD|обзор]]<br />
#[http://clonezilla.org/ Clonezilla] [[Rescue/Clonezilla|обзор]]<br />
#[http://www.tux.org/pub/people/kent-robotti/looplinux/rip/ RIP Linux] [[Rescue/RIPLinux|обзор]]<br />
<br />
== Программное обеспечение ==<br />
Крайне востребован firefox и alterator/NetworkManager для поиска рецептов исправления <ref>[https://lists.altlinux.org/mailman/private/office/2009-May/022458.html Андрей Черепанов, "<nowiki>[Office]</nowiki> Структура компании"]</ref>.<br />
<br />
Работа с жёсткими дисками:<br />
*восстановление загрузчика<br />
*форматирование<br />
*управление разделами (gparted?)<br />
*проверка файловых систем (testdisk)<br />
*восстановление удалённых данных (scalpel,sleuthkit)<br />
<br />
Резервные копии<br />
*создание резервной копии<br />
*восстановление из резервной копии<br />
<br />
Правка конфигов:<br />
*диспетчер файлов (графический и mc)<br />
*текстовый редактор<br />
<br />
Вариант загрузочного меню <ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-May/339525.html Michael Shigorin, "<nowiki>[sisyphus]</nowiki> Rescue CD"]</ref>:<br />
*repair bootloader<br />
*repair initrd and bootloader<br />
*check filesystems<br />
*just give me a shell<br />
<br />
Выбиралка найденных корней менюшкой.<br />
<br />
Конкретные пожелания:<br />
* grub<br />
* anyfs-tools<br />
* ipmitool и/или другие [http://www.altlinux.org/IPMI IPMI] <ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-June/340120.html Ildar Mulyukov, "<nowiki>[sisyphus]</nowiki> Rescue CD"]</ref><br />
<br />
== Примеры команд ==<br />
> Cдалал chroot /mnt и пытаюсь выполнить /bin/lilo - а он мне в ответ: не могу открыть /proc/devices , что логично..<br />
> Как мне применить новые параметры лило?<br />
mount /proc<br />
mount none -t sysfs /sys<br />
[.....]<br />
umount /sys /proc<br />
или<br />
mount /dev/hdXX /mnt<br />
mount --bind /dev /mnt/dev<br />
mount --bind /proc /mnt/proc<br />
lilo -r /mnt<br />
<br />
== Ссылки ==<br />
<references /><br />
<br />
{{Category navigation|title=Версия 5.0|category=Версия 5.0}}<br />
{{Category navigation|title=Releases/50|category=Releases/50|sortkey=*}}<br />
{{Category navigation|title=Releases|category=Releases|sortkey={{SUBPAGENAME}}}}<br />
<br />
[[Категория: Rescue]]</div>Andychttps://www.altlinux.org/index.php?title=Etersoft-build-utils_howto&diff=13530Etersoft-build-utils howto2010-02-08T22:01:47Z<p>Andyc: /* Берём src.rpm от другого дистрибутива */</p>
<hr />
<div>= HOWTO по сопровождению пакетов с помощью etersoft-build-utils =<br />
<br />
Данные ситуации описываются для сборки пакетов из git-репозитория, но для сборки старым способом (через ~/RPM/SPECS/спек)<br />
они применяются совершенно также.<br />
<br />
Применение etersoft-build-utils позволяет резко снизить порог вхождения в сборку пакетов, увеличить<br />
скорость выполнения рутинных действий, снизить количество ошибок за счёт встроенных проверок и алгоритмизации типичных действий мантейнеров. Целью создания набора команд из этого пакета было создать высокоуровневую обвязку над существующими низкоуровневыми инструментами.<br />
<br />
Описывается версия etersoft-build-utils 1.7.6.<br />
<br />
Основные преимущества:<br />
* автоматическое бэкпортирование<br />
* автоматизирование отправки на сборку<br />
* автоматическая установка собранного пакета на проверку<br />
* автоматическое обновление пакета до следующей версии исходников<br />
<br />
Все команды выполняются в каталоге репозитория, как правило в том же каталоге, где лежит спек.<br />
Для получения описания всех параметров, допустимых для команды, её нужно вызвать с параметром -h.<br />
Для указания сборки для бранча, нужно задать его параметром -M51 (-M50 и т.п.).<br />
<br />
== Обзор всех команд пакета etersoft-build-utils ==<br />
<br />
== Получение готового к сборке репозитория ==<br />
<br />
С чего начинаем, чтобы получить репозиторий.<br />
<br />
=== Проверка наличия пакета в Сизифе ===<br />
$ rpmgp -c название_пакета<br />
Команда выведет доступные репозитории у разных пользователей с этим пакетов, указав дату последнего изменения в репозитории.<br />
Если пакет установлен в системе, или вместо названия пакета указан файл спека, то будет проверено наличие данной версии пакета в Сизифе. Это удобно для выявления необходимости пересборки пакета.<br />
<br />
Результат: выведенная в консоль информация о пакете.<br />
<br />
=== Подхватываем пакет, уже собранный в Сизиф ===<br />
<br />
$ rpmgp -g название_пакета<br />
<br />
Команда возьмёт репозиторий, из которого последний раз пакет собирался в Сизиф (из git.alt /srpms или /gears),<br />
клонирует в git.alt:packages/название_пакета.git, из git.alt клонирует локально (создав репозиторий в текущем каталоге),<br />
причём все имеющиеся ветки.<br />
<br />
Эта команда удобна для быстрого перехода со сборки по устаревшей схеме на git.<br />
<br />
Результат: локальный и удалённый репозитории с последней версией пакета.<br />
<br />
=== Берём имеющийся src.rpm для ALT ===<br />
<br />
$ rpmgp -m файл.src.rpm<br />
или<br />
$ rpmgp -m спек<br />
<br />
Команда создаст репозиторий с названием пакета в текущем каталоге (можно задать переменной GITREPODIR и импортирует в него указанный пакет с помощью gear-srpmimport.<br />
<br />
Результат: локальный git-репозиторий с пакетом.<br />
<br />
=== Берём src.rpm от другого дистрибутива ===<br />
<br />
$ rpmgp -m файл.src.rpm<br />
<br />
Команда будет вести себя также, как и для src.rpm из ALT Linux.<br />
Как минимум в пакете нужно почистить спек и привести его надлежащему виду<br />
командой<br />
$ rpmcs спек<br />
После автоматической конвертации спека его нужно привести в соответствие принятым в ALT Linux требованиям к спеку. См. [http://www.altlinux.org/Spec Описание spec файлов].<br />
<br />
<br />
Результат: локальный git-репозиторий с пакетом.<br />
<br />
=== Создаём репозиторий с нуля ===<br />
<br />
<br />
== Сборка пакета ==<br />
<br />
=== Собрать пакет в системе ===<br />
$ rpmbb спек<br />
Если нужно отладить только шаг установки файлов, достаточно запускать<br />
$ rpmbb -i спек<br />
Если нужно отладить только шаг упаковки пакета, достаточно запускать<br />
$ rpmbb -p спек<br />
<br />
Результат: собранный пакет в ~/RPM/RPMS.<br />
<br />
=== Собрать пакет в hasher ===<br />
$ rpmbsh спек<br />
Пакет будет собран в hasher. После сборки над пакетом будут произведены проверки.<br />
<br />
Результат: собранный пакет в ~/hasher-SS/repo/i586/RPMS.hasher/.<br />
<br />
Для установки в тестовый hasher (для ручной проверки работоспособности пакета) после сборки пакета и последующей отправки на сборку:<br />
$ rpmbsh -i -u спек<br />
<br />
<br />
=== Компиляция исходников ===<br />
В случае ручного запуска компиляции (например внутри ~/RPM/BUILD) удобно использовать<br />
команду jmake. Она соберёт с использованием всех ядер (параметр -j для make), невысоким приоритетом (nice)и<br />
задействует ccache для ускорения повторных сборок.<br />
<br />
== Отправка пакета на сборку ==<br />
<br />
===Отправить пакет на сборку в Сизиф===<br />
$ rpmbs -u спек<br />
<br />
Будет создан тег, соответствующей текущему состоянию пакета, репозиторий опубликован (удалённый репозиторий будет создан при необходимости) и создано задание на сборку по тегу (вида VERSION-RELEASE).<br />
<br />
Результат: созданное задание на сборку пакета.<br />
<br />
===Бэкпортировать в 5.1 и отправить===<br />
$ rpmbph -u -M51 спек<br />
<br />
Команда обновит ветку M51 из текущей (создаст ветку M51, если её ещё не было),<br />
сконвертирует текущий спек (предложив посмотреть на выполненные изменения, от которых можно отказаться нажатием Ctrl-\ перед выходом кнопкой q), соберёт полученный репозиторий локально и отправит пакет на сборку в соответствующий бранч.<br />
Параметр -n запретит сборку локально (используйте только, если уверены в том, что всё будет хорошо).<br />
<br />
Как правило, лучше использовать<br />
$ rpmbph -i -u -M51 спек<br />
После сборки пакета локально он будет установлен в тестовый репозиторий, где можно убедиться в его работоспособности.<br />
<br />
Результат: созданное задание на сборку пакета.<br />
<br />
== Обновление пакета ==<br />
<br />
=== Обновление исходников ===<br />
Если в Source указан URL к файлу с исходниками, команда<br />
$ rpmgs спек новая_версия<br />
скачает их автоматом, перебрав все возможные варианты форматов и сконвертировав в tar (tar.bz2),<br />
если в Source указано расширение .tar ( .tar.bz2).<br />
<br />
Рассказать про Source-url, Source-svn в случае нестандартных ситуаций.<br />
<br />
TODO: Source-git<br />
<br />
TODO: команды для выборочной упаковки / исключения файлов<br />
<br />
Для сборки старым способом рекомендуется устанавливать расширение для файлов в Source в tar.bz2.<br />
<br />
Для сборки через git рекомендуется указывать .tar (одновременно нужно сменить указание способа<br />
архивации и в ~/.gear/rules).<br />
<br />
Результат: обновление каталога с исходниками в виде одного коммита.<br />
<br />
=== Автоматическое обновление ===<br />
Если в спеке правильно указан URL в Source, и в новой версии не произошло изменений в структуре<br />
файлов, достаточно выполнить команду<br />
$ rpmrb спек новая_версия<br />
Она выполняет достаточно простые действия, выполняя последовательно команды rpmgs, rpmbsh -i, rpmbs:<br />
скачивает новые исходники, обновляет спек, собирает пакет в hasher, ставит собранный пакет в тестовый hasher и предлагает<br />
командную строку для тестирования пакета. После выхода из тестирования проверяется отсутствие проблем при удалении пакетов (проверка post-скриптов) и пакет отправляется на сборку в Сизиф.<br />
<br />
Результат: собранный и проверенный пакет, задание на сборку пакета.<br />
<br />
[[Категория:HOWTO]]<br />
[[Категория:Devel]]<br />
[[Категория:Packaging]]</div>Andychttps://www.altlinux.org/index.php?title=RPMMacrosDescription&diff=13226RPMMacrosDescription2010-01-10T20:06:50Z<p>Andyc: </p>
<hr />
<div>== Макросы RPM ==<br />
Данная страница содержит описания макросов, специфичных для ALT Linux. <br />
<br />
=== Cписок макросов ===<br />
На данный момент (02.12.2009) список пакетов таков:<br />
<br />
<pre><br />
$ apt-cache search rpm | grep ^rpm-[a-z] | sort -n | head -n -2<br />
rpm-build-apache2 - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-apache - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-browser-plugins - Netscape Gecko Plug-in API common packaging files <br />
rpm-build-buzztard - RPM macros for buzztard build <br />
rpm-build-compat - ALT Linux compatibility and extensions in rpm build <br />
rpm-build-compiz - RPM macros for sawfish-related packages <br />
rpm-build-docs-experimental - Набор утилит и макросов для автоматической сборки документации<br />
rpm-build-docs - Набор утилит и макросов для автоматической сборки документации <br />
rpm-build-erlang - RPM helper scripts to calculate Erlang dependencies <br />
rpm-build-firefox - RPM helper macros to rebuild firefox packages <br />
rpm-build-fonts - RPM helper scripts for build fonts packages <br />
rpm-build-fpc - RPM helpers for Free Pascal packages <br />
rpm-build-gmpc - RPM macros for building GMPC plugins <br />
rpm-build-gnome - RPM macros and helper scripts for GNOME packages building <br />
rpm-build-haskell - RPM helpers to rebuild Haskell packages<br />
rpm-build-java - RPM helper macros to build Java packages<br />
rpm-build-kernel - RPM macros to build kernel packages<br />
rpm-build-licenses - RPM macros for well-known licenses<br />
rpm-build-linux-ha - RPM macros for Linux-HA project apps<br />
rpm-build-lmms - Helper package for creation of build dependences lmms<br />
rpm-build-mingw32 - MinGW RPM helper macros<br />
rpm-build-mono - RPM helper macros and dependency utils to build Mono packages<br />
rpm-build-moodle - RPM helper macros and dependency utils to build Mooodle packages<br />
rpm-build-mozilla.org - RPM helpers to build Mozilla.org packages<br />
rpm-build-NetSDS - RPM helper macros to rebuild NetSDS packages<br />
rpm-build-ocaml - RPM helpers to rebuild OCaml packages<br />
rpm-build-pear - RPM helper scripts for build PEAR packages<br />
rpm-build-pecl - RPM helper scripts for build PECL packages<br />
rpm-build-perl - RPM helper scripts to calculate Perl dependencies<br />
rpm-build-php5 - RPM helper macros to rebuild PHP5 packages<br />
rpm-build-python - RPM helper macros to rebuild python packages<br />
rpm-build-python-tools - diagnostic tools<br />
rpm-build-rpm-eval - Скрипт раскрывающий макросы в файлах<br />
rpm-build-ruby - RPM helper scripts to calculate Ruby dependencies<br />
rpm-build-sawfish - RPM macros for sawfish-related packages<br />
rpm-build-seamonkey - RPM helper macros to rebuild seamonkey packages<br />
rpm-build-sunbird - RPM helper macros to rebuild sunbird packages<br />
rpm-build-tcl - RPM helpers to use with Tcl scripts<br />
rpm-build-texmf - RPM helper macros to rebuild TeX packages<br />
rpm-build-thunderbird - RPM helper macros to rebuild thunderbird packages<br />
rpm-build-vhosts-filesystem - RPM макросы сборки для пакетов, обслуживающих разделяемый контент<br />
rpm-build-vim - RPM macros needed to build additional VIM plugin packages<br />
rpm-build-webserver-common - Набор утилит для автоматической Web серверов и приложений<br />
rpm-build-wlskins - RPM helper macros to build winamplike-skins collections<br />
rpm-build-xdg - RPM macros for XDG Base Directory Specification and more<br />
rpm-build-xfce4 - : Макросы для удобной сборки Xfce<br />
rpm-build-xscreensaver - A screen saver and locker for the X window system - RPM macros<br />
rpm-build - Файлы, необходимые для установки SRPM-пакетов и сборки RPM-пакетов<br />
rpm-macros-alterator - Set of RPM macros for packaging alterator-based applications<br />
rpm-macros-alternatives - Set of RPM macros for packaging alternatives-based applications<br />
rpm-macros-apache2-compat - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache2 - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache - RPM макросы для веб-сервера Apache<br />
rpm-macros-branch - RPM макросы поддержки бранчей<br />
rpm-macros-cmake - Set of RPM macros for packaging applications that use cmake<br />
rpm-macros-daemontools - Set of RPM macros for packaging daemontools-based applications<br />
rpm-macros-emacs - Set of RPM macros for packaging emacs-devel-based applications<br />
rpm-macros-erlang - RPM helper macros to rebuild erlang packages<br />
rpm-macros-fillup - Set of RPM macros for packaging fillup-based applications<br />
rpm-macros-info-install - Set of RPM macros for packaging texinfo files<br />
rpm-macros-jabber - Set of RPM macros for packaging Jabber servers and components<br />
rpm-macros-mingw32 - MinGW RPM helper macros<br />
rpm-macros-mpi-selector - Set of RPM macros for packaging mpi-selector-based applications<br />
rpm-macros-qt4 - Set of RPM macros for packaging qt4-based applications<br />
rpm-macros-rpm-eval - RPM макросы для применения rpm-eval.sh<br />
rpm-macros-vhosts-filesystem - RPM макросы для пакетов, обслуживающих разделяемый контент<br />
rpm-macros-webserver-cgi-bin-control - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-webserver-common - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-xmms - Set of RPM macros for packaging xmms-based applications<br />
$<br />
</pre><br />
<br />
=== Использование макросов ===<br />
<br />
Для использования данных макросов, необходимо добавить в spec строчку:<br />
<br />
<pre>BuildRequires(pre): имя-пакета-с-макросами</pre><br />
<br />
Например<ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-September/341823.html wrar@ об определении макроса]</ref><ref>[http://lists.altlinux.org/pipermail/devel/2009-November/177411.html wrar@ вносит изменения в макрос %cmake]</ref>:<br />
<pre><br />
BuildRequires(pre): rpm-build-java<br />
</pre><br />
<br />
Cписки макросов, находятся в следующих директориях:<br />
<br />
{{path|/etc/rpm/macros.d/}} согласно [http://www.altlinux.org/RPMMacrosPackagingPolicy/ RPM Macros Packaging Policy], должна устареть<br />
<br />
{{path|/usr/lib/rpm/macros.d/}}<br />
<br />
Поглядеть, во что раскрывается конкретный макрос, можно так:<br />
<pre>rpm --eval %имя_макроса</pre><br />
Например, нам надо узнать, во что раскрывается макрос %java_dir:<br />
<pre><br />
$ rpm --eval %java_dir<br />
/usr/share/java<br />
$<br />
</pre><br />
<br />
{|class="standard"<br />
!Макрос<br />
!Замена<br />
!Описание<br />
|-<br />
!colspan="3"| Макросы rpm-build-compat<br />
|-<br />
|%make_install_std %makeinstall_std<br />
|make INSTALL="/bin/install -p" install DESTDIR=/root/tmp/%{name}-buildroot<br />
|Стандартная директория для инсталляции после сборки пакета.<br />
|-<br />
|%kde_docdir %_kdedocdir<br />
|%_docdir/HTML <br />
|Директория для установки документации KDE. (/usr/share/doc/HTML/)<br />
|-<br />
|%gtk_docdir %_gtkdocdir<br />
|/usr/share/gtk-doc/html<br />
|Директория для установки документации Gtk. <br />
|-<br />
|%java_dir %_javadir<br />
|/usr/share/java<br />
|Директория для некоторых jar файлов.<br />
|-<br />
|%java_docdir %_javadocdir<br />
|/usr/share/javadoc<br />
|<br />
|-<br />
|%_rpmmacrosdir<br />
|/etc/rpm/macros.d<br />
|Директория для установки сторонних макросов<br />
|-<br />
|%rpmcflags<br />
|%optflags<br />
|Как правило -pipe -Wall -O2 -march=вашпроцессор<br />
|-<br />
|%rpmcxxflags<br />
|%optflags<br />
|Как правило -pipe -Wall -O2 -march=вашпроцессор<br />
|-<br />
|%_aclocaldir<br />
|/usr/share/aclocal<br />
|Директория для m4 файлов.<br />
|-<br />
|%fix_permissions<br />
|find ./ -type d -print0 | xargs -0 chmod 0775 find ./ -type f -print0 | xargs -0 chmod 0664<br />
|Исправление доступа для директорий и файлов, начиная с текущего каталога<br />
|-<br />
|%remove_repo_info<br />
|find ./ -type d -name .svn -print0 | xargs -0 --no-run-if-empty rm -rf {} ; find ./ -type d -name CVS -print0 | xargs -0 --no-run-if-empty rm -rf {} ;<br />
|Удаление информации хранящейся в репозиториях cvs и svn<br />
|-<br />
|%_locksubsysdir<br />
|/var/lock/subsys<br />
| <br />
|-<br />
|%start_service()<br />
|[ -z "$DURING_INSTALL" ] && [ "$1" = "1" ] && /etc/rc.d/init.d/%{1} start || :<br />
|Запуск установленного пакета как сервиса.<br />
|-<br />
|%nil<br />
|<br />
| <br />
|-<br />
|%groupadd<br />
|/usr/sbin/groupadd -r -f<br />
|Добавление cистемной группы (группы в которых gid < 499), даже если она существовала до этого<br />
|-<br />
|%useradd<br />
|/usr/sbin/useradd -r<br />
|Добавление системного пользователя<br />
|-<br />
|}<br />
== Ссылки ==<br />
<br />
<references/><br />
{{Category navigation|title=RPMMacrosDescription|category=RPM}}</div>Andychttps://www.altlinux.org/index.php?title=RPMMacrosDescription&diff=13225RPMMacrosDescription2010-01-10T19:46:14Z<p>Andyc: </p>
<hr />
<div>== Макросы RPM ==<br />
Данная страница содержит описания макросов, специфичных для ALT Linux. <br />
<br />
=== Cписок макросов ===<br />
На данный момент (02.12.2009) список пакетов таков:<br />
<br />
<pre><br />
$ apt-cache search rpm | grep ^rpm-[a-z] | sort -n | head -n -2<br />
rpm-build-apache2 - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-apache - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-browser-plugins - Netscape Gecko Plug-in API common packaging files <br />
rpm-build-buzztard - RPM macros for buzztard build <br />
rpm-build-compat - ALT Linux compatibility and extensions in rpm build <br />
rpm-build-compiz - RPM macros for sawfish-related packages <br />
rpm-build-docs-experimental - Набор утилит и макросов для автоматической сборки документации<br />
rpm-build-docs - Набор утилит и макросов для автоматической сборки документации <br />
rpm-build-erlang - RPM helper scripts to calculate Erlang dependencies <br />
rpm-build-firefox - RPM helper macros to rebuild firefox packages <br />
rpm-build-fonts - RPM helper scripts for build fonts packages <br />
rpm-build-fpc - RPM helpers for Free Pascal packages <br />
rpm-build-gmpc - RPM macros for building GMPC plugins <br />
rpm-build-gnome - RPM macros and helper scripts for GNOME packages building <br />
rpm-build-haskell - RPM helpers to rebuild Haskell packages<br />
rpm-build-java - RPM helper macros to build Java packages<br />
rpm-build-kernel - RPM macros to build kernel packages<br />
rpm-build-licenses - RPM macros for well-known licenses<br />
rpm-build-linux-ha - RPM macros for Linux-HA project apps<br />
rpm-build-lmms - Helper package for creation of build dependences lmms<br />
rpm-build-mingw32 - MinGW RPM helper macros<br />
rpm-build-mono - RPM helper macros and dependency utils to build Mono packages<br />
rpm-build-moodle - RPM helper macros and dependency utils to build Mooodle packages<br />
rpm-build-mozilla.org - RPM helpers to build Mozilla.org packages<br />
rpm-build-NetSDS - RPM helper macros to rebuild NetSDS packages<br />
rpm-build-ocaml - RPM helpers to rebuild OCaml packages<br />
rpm-build-pear - RPM helper scripts for build PEAR packages<br />
rpm-build-pecl - RPM helper scripts for build PECL packages<br />
rpm-build-perl - RPM helper scripts to calculate Perl dependencies<br />
rpm-build-php5 - RPM helper macros to rebuild PHP5 packages<br />
rpm-build-python - RPM helper macros to rebuild python packages<br />
rpm-build-python-tools - diagnostic tools<br />
rpm-build-rpm-eval - Скрипт раскрывающий макросы в файлах<br />
rpm-build-ruby - RPM helper scripts to calculate Ruby dependencies<br />
rpm-build-sawfish - RPM macros for sawfish-related packages<br />
rpm-build-seamonkey - RPM helper macros to rebuild seamonkey packages<br />
rpm-build-sunbird - RPM helper macros to rebuild sunbird packages<br />
rpm-build-tcl - RPM helpers to use with Tcl scripts<br />
rpm-build-texmf - RPM helper macros to rebuild TeX packages<br />
rpm-build-thunderbird - RPM helper macros to rebuild thunderbird packages<br />
rpm-build-vhosts-filesystem - RPM макросы сборки для пакетов, обслуживающих разделяемый контент<br />
rpm-build-vim - RPM macros needed to build additional VIM plugin packages<br />
rpm-build-webserver-common - Набор утилит для автоматической Web серверов и приложений<br />
rpm-build-wlskins - RPM helper macros to build winamplike-skins collections<br />
rpm-build-xdg - RPM macros for XDG Base Directory Specification and more<br />
rpm-build-xfce4 - : Макросы для удобной сборки Xfce<br />
rpm-build-xscreensaver - A screen saver and locker for the X window system - RPM macros<br />
rpm-build - Файлы, необходимые для установки SRPM-пакетов и сборки RPM-пакетов<br />
rpm-macros-alterator - Set of RPM macros for packaging alterator-based applications<br />
rpm-macros-alternatives - Set of RPM macros for packaging alternatives-based applications<br />
rpm-macros-apache2-compat - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache2 - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache - RPM макросы для веб-сервера Apache<br />
rpm-macros-branch - RPM макросы поддержки бранчей<br />
rpm-macros-cmake - Set of RPM macros for packaging applications that use cmake<br />
rpm-macros-daemontools - Set of RPM macros for packaging daemontools-based applications<br />
rpm-macros-emacs - Set of RPM macros for packaging emacs-devel-based applications<br />
rpm-macros-erlang - RPM helper macros to rebuild erlang packages<br />
rpm-macros-fillup - Set of RPM macros for packaging fillup-based applications<br />
rpm-macros-info-install - Set of RPM macros for packaging texinfo files<br />
rpm-macros-jabber - Set of RPM macros for packaging Jabber servers and components<br />
rpm-macros-mingw32 - MinGW RPM helper macros<br />
rpm-macros-mpi-selector - Set of RPM macros for packaging mpi-selector-based applications<br />
rpm-macros-qt4 - Set of RPM macros for packaging qt4-based applications<br />
rpm-macros-rpm-eval - RPM макросы для применения rpm-eval.sh<br />
rpm-macros-vhosts-filesystem - RPM макросы для пакетов, обслуживающих разделяемый контент<br />
rpm-macros-webserver-cgi-bin-control - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-webserver-common - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-xmms - Set of RPM macros for packaging xmms-based applications<br />
$<br />
</pre><br />
<br />
=== Использование макросов ===<br />
<br />
Для использования данных макросов, необходимо добавить в spec строчку:<br />
<br />
<pre>BuildRequires(pre): имя-пакета-с-макросами</pre><br />
<br />
Например<ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-September/341823.html wrar@ об определении макроса]</ref><ref>[http://lists.altlinux.org/pipermail/devel/2009-November/177411.html wrar@ вносит изменения в макрос %cmake]</ref>:<br />
<pre><br />
BuildRequires(pre): rpm-build-java<br />
</pre><br />
<br />
Cписки макросов, находятся в следующих директориях:<br />
<br />
{{path|/etc/rpm/macros.d/}} согласно [http://www.altlinux.org/RPMMacrosPackagingPolicy/ RPM Macros Packaging Policy], должна устареть<br />
<br />
{{path|/usr/lib/rpm/macros.d/}}<br />
<br />
Поглядеть, во что раскрывается конкретный макрос, можно так:<br />
<pre>rpm --eval %имя_макроса</pre><br />
Например, нам надо узнать, во что раскрывается макрос %java_dir:<br />
<pre><br />
$ rpm --eval %java_dir<br />
/usr/share/java<br />
$<br />
</pre><br />
<br />
{|class="standard"<br />
!Макрос<br />
!Замена<br />
!Описание<br />
|-<br />
!colspan="3"| Макросы rpm-build-compat<br />
|-<br />
|%make_install_std %makeinstall_std<br />
|make INSTALL="/bin/install -p" install DESTDIR=/root/tmp/%{name}-buildroot<br />
|Стандартная директория для инсталляции после сборки пакета.<br />
|-<br />
|%kde_docdir %_kdedocdir<br />
|%_docdir/HTML <br />
|Директория для установки документации KDE. (/usr/share/doc/HTML/)<br />
|-<br />
|%gtk_docdir %_gtkdocdir<br />
|/usr/share/gtk-doc/html<br />
|Директория для установки документации Gtk. <br />
|-<br />
|%java_dir %_javadir<br />
|/usr/share/java<br />
|<br />
|-<br />
|%java_docdir %_javadocdir<br />
|/usr/share/javadoc<br />
| <br />
|-<br />
|%_rpmmacrosdir<br />
|/etc/rpm/macros.d<br />
|<br />
|-<br />
|%rpmcflags<br />
|%optflags<br />
| <br />
|-<br />
|%rpmcxxflags<br />
|%optflags<br />
|<br />
|-<br />
|%_aclocaldir<br />
|/usr/share/aclocal<br />
| <br />
|-<br />
|%fix_permissions<br />
|find ./ -type d -print0 | xargs -0 chmod 0775 find ./ -type f -print0 | xargs -0 chmod 0664<br />
|<br />
|-<br />
|%remove_repo_info<br />
|find ./ -type d -name .svn -print0 | xargs -0 --no-run-if-empty rm -rf {} ; find ./ -type d -name CVS -print0 | xargs -0 --no-run-if-empty rm -rf {} ;<br />
| <br />
|-<br />
|%_locksubsysdir<br />
|/var/lock/subsys<br />
| <br />
|-<br />
|%start_service()<br />
|[ -z "$DURING_INSTALL" ] && [ "$1" = "1" ] && /etc/rc.d/init.d/%{1} start || :<br />
| <br />
|-<br />
|%nil<br />
|<br />
| <br />
|-<br />
|%groupadd<br />
|/usr/sbin/groupadd -r -f<br />
| <br />
|-<br />
|%useradd<br />
|/usr/sbin/useradd -r<br />
| <br />
|-<br />
|}<br />
== Ссылки ==<br />
<br />
<references/><br />
{{Category navigation|title=RPMMacrosDescription|category=RPM}}</div>Andychttps://www.altlinux.org/index.php?title=RPMMacrosDescription&diff=12806RPMMacrosDescription2009-12-02T21:25:13Z<p>Andyc: /* Использование макросов */</p>
<hr />
<div>== Макросы RPM ==<br />
Данная страница содержит описания макросов, специфичных для ALT Linux. <br />
<br />
=== Cписок макросов ===<br />
На данный момент (02.12.2009) список пакетов таков:<br />
<br />
<pre><br />
$ apt-cache search rpm | grep ^rpm-[a-z] | sort -n | head -n -2<br />
rpm-build-apache2 - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-apache - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-browser-plugins - Netscape Gecko Plug-in API common packaging files <br />
rpm-build-buzztard - RPM macros for buzztard build <br />
rpm-build-compat - ALT Linux compatibility and extensions in rpm build <br />
rpm-build-compiz - RPM macros for sawfish-related packages <br />
rpm-build-docs-experimental - Набор утилит и макросов для автоматической сборки документации<br />
rpm-build-docs - Набор утилит и макросов для автоматической сборки документации <br />
rpm-build-erlang - RPM helper scripts to calculate Erlang dependencies <br />
rpm-build-firefox - RPM helper macros to rebuild firefox packages <br />
rpm-build-fonts - RPM helper scripts for build fonts packages <br />
rpm-build-fpc - RPM helpers for Free Pascal packages <br />
rpm-build-gmpc - RPM macros for building GMPC plugins <br />
rpm-build-gnome - RPM macros and helper scripts for GNOME packages building <br />
rpm-build-haskell - RPM helpers to rebuild Haskell packages<br />
rpm-build-java - RPM helper macros to build Java packages<br />
rpm-build-kernel - RPM macros to build kernel packages<br />
rpm-build-licenses - RPM macros for well-known licenses<br />
rpm-build-linux-ha - RPM macros for Linux-HA project apps<br />
rpm-build-lmms - Helper package for creation of build dependences lmms<br />
rpm-build-mingw32 - MinGW RPM helper macros<br />
rpm-build-mono - RPM helper macros and dependency utils to build Mono packages<br />
rpm-build-moodle - RPM helper macros and dependency utils to build Mooodle packages<br />
rpm-build-mozilla.org - RPM helpers to build Mozilla.org packages<br />
rpm-build-NetSDS - RPM helper macros to rebuild NetSDS packages<br />
rpm-build-ocaml - RPM helpers to rebuild OCaml packages<br />
rpm-build-pear - RPM helper scripts for build PEAR packages<br />
rpm-build-pecl - RPM helper scripts for build PECL packages<br />
rpm-build-perl - RPM helper scripts to calculate Perl dependencies<br />
rpm-build-php5 - RPM helper macros to rebuild PHP5 packages<br />
rpm-build-python - RPM helper macros to rebuild python packages<br />
rpm-build-python-tools - diagnostic tools<br />
rpm-build-rpm-eval - Скрипт раскрывающий макросы в файлах<br />
rpm-build-ruby - RPM helper scripts to calculate Ruby dependencies<br />
rpm-build-sawfish - RPM macros for sawfish-related packages<br />
rpm-build-seamonkey - RPM helper macros to rebuild seamonkey packages<br />
rpm-build-sunbird - RPM helper macros to rebuild sunbird packages<br />
rpm-build-tcl - RPM helpers to use with Tcl scripts<br />
rpm-build-texmf - RPM helper macros to rebuild TeX packages<br />
rpm-build-thunderbird - RPM helper macros to rebuild thunderbird packages<br />
rpm-build-vhosts-filesystem - RPM макросы сборки для пакетов, обслуживающих разделяемый контент<br />
rpm-build-vim - RPM macros needed to build additional VIM plugin packages<br />
rpm-build-webserver-common - Набор утилит для автоматической Web серверов и приложений<br />
rpm-build-wlskins - RPM helper macros to build winamplike-skins collections<br />
rpm-build-xdg - RPM macros for XDG Base Directory Specification and more<br />
rpm-build-xfce4 - : Макросы для удобной сборки Xfce<br />
rpm-build-xscreensaver - A screen saver and locker for the X window system - RPM macros<br />
rpm-build - Файлы, необходимые для установки SRPM-пакетов и сборки RPM-пакетов<br />
rpm-macros-alterator - Set of RPM macros for packaging alterator-based applications<br />
rpm-macros-alternatives - Set of RPM macros for packaging alternatives-based applications<br />
rpm-macros-apache2-compat - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache2 - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache - RPM макросы для веб-сервера Apache<br />
rpm-macros-branch - RPM макросы поддержки бранчей<br />
rpm-macros-cmake - Set of RPM macros for packaging applications that use cmake<br />
rpm-macros-daemontools - Set of RPM macros for packaging daemontools-based applications<br />
rpm-macros-emacs - Set of RPM macros for packaging emacs-devel-based applications<br />
rpm-macros-erlang - RPM helper macros to rebuild erlang packages<br />
rpm-macros-fillup - Set of RPM macros for packaging fillup-based applications<br />
rpm-macros-info-install - Set of RPM macros for packaging texinfo files<br />
rpm-macros-jabber - Set of RPM macros for packaging Jabber servers and components<br />
rpm-macros-mingw32 - MinGW RPM helper macros<br />
rpm-macros-mpi-selector - Set of RPM macros for packaging mpi-selector-based applications<br />
rpm-macros-qt4 - Set of RPM macros for packaging qt4-based applications<br />
rpm-macros-rpm-eval - RPM макросы для применения rpm-eval.sh<br />
rpm-macros-vhosts-filesystem - RPM макросы для пакетов, обслуживающих разделяемый контент<br />
rpm-macros-webserver-cgi-bin-control - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-webserver-common - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-xmms - Set of RPM macros for packaging xmms-based applications<br />
$<br />
</pre><br />
<br />
=== Использование макросов ===<br />
<br />
Для использования данных макросов, необходимо добавить в spec строчку:<br />
<br />
<pre>BuildRequires(pre): имя-пакета-с-макросами</pre><br />
<br />
Например<ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-September/341823.html wrar@ об определении макроса]</ref><ref>[http://lists.altlinux.org/pipermail/devel/2009-November/177411.html wrar@ вносит изменения в макрос %cmake]</ref>:<br />
<pre><br />
BuildRequires(pre): rpm-build-java<br />
</pre><br />
<br />
Cписки макросов, находятся в следующих директориях:<br />
<br />
{{path|/etc/rpm/macros.d/}} согласно [http://www.altlinux.org/RPMMacrosPackagingPolicy/ RPM Macros Packaging Policy], должна устареть<br />
<br />
{{path|/usr/lib/rpm/macros.d/}}<br />
<br />
Поглядеть, во что раскрывается конкретный макрос, можно так:<br />
<pre>rpm --eval %имя_макроса</pre><br />
Например, нам надо узнать, во что раскрывается макрос %java_dir:<br />
<pre><br />
$ rpm --eval %java_dir<br />
/usr/share/java<br />
$<br />
</pre><br />
<br />
== Ссылки ==<br />
<br />
<references/><br />
{{Category navigation|title=RPMMacrosDescription|category=RPM}}</div>Andychttps://www.altlinux.org/index.php?title=RPMMacrosDescription&diff=12805RPMMacrosDescription2009-12-02T21:24:40Z<p>Andyc: </p>
<hr />
<div>== Макросы RPM ==<br />
Данная страница содержит описания макросов, специфичных для ALT Linux. <br />
<br />
=== Cписок макросов ===<br />
На данный момент (02.12.2009) список пакетов таков:<br />
<br />
<pre><br />
$ apt-cache search rpm | grep ^rpm-[a-z] | sort -n | head -n -2<br />
rpm-build-apache2 - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-apache - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-browser-plugins - Netscape Gecko Plug-in API common packaging files <br />
rpm-build-buzztard - RPM macros for buzztard build <br />
rpm-build-compat - ALT Linux compatibility and extensions in rpm build <br />
rpm-build-compiz - RPM macros for sawfish-related packages <br />
rpm-build-docs-experimental - Набор утилит и макросов для автоматической сборки документации<br />
rpm-build-docs - Набор утилит и макросов для автоматической сборки документации <br />
rpm-build-erlang - RPM helper scripts to calculate Erlang dependencies <br />
rpm-build-firefox - RPM helper macros to rebuild firefox packages <br />
rpm-build-fonts - RPM helper scripts for build fonts packages <br />
rpm-build-fpc - RPM helpers for Free Pascal packages <br />
rpm-build-gmpc - RPM macros for building GMPC plugins <br />
rpm-build-gnome - RPM macros and helper scripts for GNOME packages building <br />
rpm-build-haskell - RPM helpers to rebuild Haskell packages<br />
rpm-build-java - RPM helper macros to build Java packages<br />
rpm-build-kernel - RPM macros to build kernel packages<br />
rpm-build-licenses - RPM macros for well-known licenses<br />
rpm-build-linux-ha - RPM macros for Linux-HA project apps<br />
rpm-build-lmms - Helper package for creation of build dependences lmms<br />
rpm-build-mingw32 - MinGW RPM helper macros<br />
rpm-build-mono - RPM helper macros and dependency utils to build Mono packages<br />
rpm-build-moodle - RPM helper macros and dependency utils to build Mooodle packages<br />
rpm-build-mozilla.org - RPM helpers to build Mozilla.org packages<br />
rpm-build-NetSDS - RPM helper macros to rebuild NetSDS packages<br />
rpm-build-ocaml - RPM helpers to rebuild OCaml packages<br />
rpm-build-pear - RPM helper scripts for build PEAR packages<br />
rpm-build-pecl - RPM helper scripts for build PECL packages<br />
rpm-build-perl - RPM helper scripts to calculate Perl dependencies<br />
rpm-build-php5 - RPM helper macros to rebuild PHP5 packages<br />
rpm-build-python - RPM helper macros to rebuild python packages<br />
rpm-build-python-tools - diagnostic tools<br />
rpm-build-rpm-eval - Скрипт раскрывающий макросы в файлах<br />
rpm-build-ruby - RPM helper scripts to calculate Ruby dependencies<br />
rpm-build-sawfish - RPM macros for sawfish-related packages<br />
rpm-build-seamonkey - RPM helper macros to rebuild seamonkey packages<br />
rpm-build-sunbird - RPM helper macros to rebuild sunbird packages<br />
rpm-build-tcl - RPM helpers to use with Tcl scripts<br />
rpm-build-texmf - RPM helper macros to rebuild TeX packages<br />
rpm-build-thunderbird - RPM helper macros to rebuild thunderbird packages<br />
rpm-build-vhosts-filesystem - RPM макросы сборки для пакетов, обслуживающих разделяемый контент<br />
rpm-build-vim - RPM macros needed to build additional VIM plugin packages<br />
rpm-build-webserver-common - Набор утилит для автоматической Web серверов и приложений<br />
rpm-build-wlskins - RPM helper macros to build winamplike-skins collections<br />
rpm-build-xdg - RPM macros for XDG Base Directory Specification and more<br />
rpm-build-xfce4 - : Макросы для удобной сборки Xfce<br />
rpm-build-xscreensaver - A screen saver and locker for the X window system - RPM macros<br />
rpm-build - Файлы, необходимые для установки SRPM-пакетов и сборки RPM-пакетов<br />
rpm-macros-alterator - Set of RPM macros for packaging alterator-based applications<br />
rpm-macros-alternatives - Set of RPM macros for packaging alternatives-based applications<br />
rpm-macros-apache2-compat - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache2 - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache - RPM макросы для веб-сервера Apache<br />
rpm-macros-branch - RPM макросы поддержки бранчей<br />
rpm-macros-cmake - Set of RPM macros for packaging applications that use cmake<br />
rpm-macros-daemontools - Set of RPM macros for packaging daemontools-based applications<br />
rpm-macros-emacs - Set of RPM macros for packaging emacs-devel-based applications<br />
rpm-macros-erlang - RPM helper macros to rebuild erlang packages<br />
rpm-macros-fillup - Set of RPM macros for packaging fillup-based applications<br />
rpm-macros-info-install - Set of RPM macros for packaging texinfo files<br />
rpm-macros-jabber - Set of RPM macros for packaging Jabber servers and components<br />
rpm-macros-mingw32 - MinGW RPM helper macros<br />
rpm-macros-mpi-selector - Set of RPM macros for packaging mpi-selector-based applications<br />
rpm-macros-qt4 - Set of RPM macros for packaging qt4-based applications<br />
rpm-macros-rpm-eval - RPM макросы для применения rpm-eval.sh<br />
rpm-macros-vhosts-filesystem - RPM макросы для пакетов, обслуживающих разделяемый контент<br />
rpm-macros-webserver-cgi-bin-control - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-webserver-common - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-xmms - Set of RPM macros for packaging xmms-based applications<br />
$<br />
</pre><br />
<br />
=== Использование макросов ===<br />
<br />
Для использования данных макросов, необходимо добавить в spec строчку:<br />
<br />
<pre>BuildRequires(pre): имя-пакета-с-макросами</pre><br />
<br />
Например<ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-September/341823.html wrar@ об определении макроса]</ref><ref>[http://lists.altlinux.org/pipermail/devel/2009-November/177411.html wrar@ вносит изменения в макрос %cmake]</ref>:<br />
<pre><br />
BuildRequires(pre): rpm-build-java<br />
</pre><br />
<br />
Cписки макросов, в следующих директориях:<br />
<br />
{{path|/etc/rpm/macros.d/}} согласно [http://www.altlinux.org/RPMMacrosPackagingPolicy/ RPM Macros Packaging Policy], должна устареть<br />
<br />
{{path|/usr/lib/rpm/macros.d/}}<br />
<br />
Поглядеть, во что раскрывается конкретный макрос, можно так:<br />
<pre>rpm --eval %имя_макроса</pre><br />
Например, нам надо узнать, во что раскрывается макрос %java_dir:<br />
<pre><br />
$ rpm --eval %java_dir<br />
/usr/share/java<br />
$<br />
</pre><br />
<br />
== Ссылки ==<br />
<br />
<references/><br />
{{Category navigation|title=RPMMacrosDescription|category=RPM}}</div>Andychttps://www.altlinux.org/index.php?title=RPMMacrosDescription&diff=12804RPMMacrosDescription2009-12-02T21:20:36Z<p>Andyc: /* Использование макросов */</p>
<hr />
<div>== Макросы RPM ==<br />
Данная страница содержит описания макросов, специфичных для ALT Linux. <br />
<br />
=== Cписок макросов ===<br />
На данный момент (02.12.2009) список пакетов таков:<br />
<br />
<pre><br />
$ apt-cache search rpm | grep ^rpm-[a-z] | sort -n | head -n -2<br />
rpm-build-apache2 - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-apache - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-browser-plugins - Netscape Gecko Plug-in API common packaging files <br />
rpm-build-buzztard - RPM macros for buzztard build <br />
rpm-build-compat - ALT Linux compatibility and extensions in rpm build <br />
rpm-build-compiz - RPM macros for sawfish-related packages <br />
rpm-build-docs-experimental - Набор утилит и макросов для автоматической сборки документации<br />
rpm-build-docs - Набор утилит и макросов для автоматической сборки документации <br />
rpm-build-erlang - RPM helper scripts to calculate Erlang dependencies <br />
rpm-build-firefox - RPM helper macros to rebuild firefox packages <br />
rpm-build-fonts - RPM helper scripts for build fonts packages <br />
rpm-build-fpc - RPM helpers for Free Pascal packages <br />
rpm-build-gmpc - RPM macros for building GMPC plugins <br />
rpm-build-gnome - RPM macros and helper scripts for GNOME packages building <br />
rpm-build-haskell - RPM helpers to rebuild Haskell packages<br />
rpm-build-java - RPM helper macros to build Java packages<br />
rpm-build-kernel - RPM macros to build kernel packages<br />
rpm-build-licenses - RPM macros for well-known licenses<br />
rpm-build-linux-ha - RPM macros for Linux-HA project apps<br />
rpm-build-lmms - Helper package for creation of build dependences lmms<br />
rpm-build-mingw32 - MinGW RPM helper macros<br />
rpm-build-mono - RPM helper macros and dependency utils to build Mono packages<br />
rpm-build-moodle - RPM helper macros and dependency utils to build Mooodle packages<br />
rpm-build-mozilla.org - RPM helpers to build Mozilla.org packages<br />
rpm-build-NetSDS - RPM helper macros to rebuild NetSDS packages<br />
rpm-build-ocaml - RPM helpers to rebuild OCaml packages<br />
rpm-build-pear - RPM helper scripts for build PEAR packages<br />
rpm-build-pecl - RPM helper scripts for build PECL packages<br />
rpm-build-perl - RPM helper scripts to calculate Perl dependencies<br />
rpm-build-php5 - RPM helper macros to rebuild PHP5 packages<br />
rpm-build-python - RPM helper macros to rebuild python packages<br />
rpm-build-python-tools - diagnostic tools<br />
rpm-build-rpm-eval - Скрипт раскрывающий макросы в файлах<br />
rpm-build-ruby - RPM helper scripts to calculate Ruby dependencies<br />
rpm-build-sawfish - RPM macros for sawfish-related packages<br />
rpm-build-seamonkey - RPM helper macros to rebuild seamonkey packages<br />
rpm-build-sunbird - RPM helper macros to rebuild sunbird packages<br />
rpm-build-tcl - RPM helpers to use with Tcl scripts<br />
rpm-build-texmf - RPM helper macros to rebuild TeX packages<br />
rpm-build-thunderbird - RPM helper macros to rebuild thunderbird packages<br />
rpm-build-vhosts-filesystem - RPM макросы сборки для пакетов, обслуживающих разделяемый контент<br />
rpm-build-vim - RPM macros needed to build additional VIM plugin packages<br />
rpm-build-webserver-common - Набор утилит для автоматической Web серверов и приложений<br />
rpm-build-wlskins - RPM helper macros to build winamplike-skins collections<br />
rpm-build-xdg - RPM macros for XDG Base Directory Specification and more<br />
rpm-build-xfce4 - : Макросы для удобной сборки Xfce<br />
rpm-build-xscreensaver - A screen saver and locker for the X window system - RPM macros<br />
rpm-build - Файлы, необходимые для установки SRPM-пакетов и сборки RPM-пакетов<br />
rpm-macros-alterator - Set of RPM macros for packaging alterator-based applications<br />
rpm-macros-alternatives - Set of RPM macros for packaging alternatives-based applications<br />
rpm-macros-apache2-compat - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache2 - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache - RPM макросы для веб-сервера Apache<br />
rpm-macros-branch - RPM макросы поддержки бранчей<br />
rpm-macros-cmake - Set of RPM macros for packaging applications that use cmake<br />
rpm-macros-daemontools - Set of RPM macros for packaging daemontools-based applications<br />
rpm-macros-emacs - Set of RPM macros for packaging emacs-devel-based applications<br />
rpm-macros-erlang - RPM helper macros to rebuild erlang packages<br />
rpm-macros-fillup - Set of RPM macros for packaging fillup-based applications<br />
rpm-macros-info-install - Set of RPM macros for packaging texinfo files<br />
rpm-macros-jabber - Set of RPM macros for packaging Jabber servers and components<br />
rpm-macros-mingw32 - MinGW RPM helper macros<br />
rpm-macros-mpi-selector - Set of RPM macros for packaging mpi-selector-based applications<br />
rpm-macros-qt4 - Set of RPM macros for packaging qt4-based applications<br />
rpm-macros-rpm-eval - RPM макросы для применения rpm-eval.sh<br />
rpm-macros-vhosts-filesystem - RPM макросы для пакетов, обслуживающих разделяемый контент<br />
rpm-macros-webserver-cgi-bin-control - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-webserver-common - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-xmms - Set of RPM macros for packaging xmms-based applications<br />
$<br />
</pre><br />
<br />
=== Использование макросов ===<br />
<br />
Для использования данных макросов, необходимо добавить в spec строчку:<br />
<br />
<pre>BuildRequires(pre): имя-пакета-с-макросами</pre><br />
<br />
Например<ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-September/341823.html wrar@ об определении макроса]</ref><ref>[http://lists.altlinux.org/pipermail/devel/2009-November/177411.html wrar@ вносит изменения в макрос %cmake]</ref>:<br />
<pre><br />
BuildRequires(pre): rpm-build-java<br />
</pre><br />
<br />
Cписки макросов, располагаются по следующим адресам:<br />
<br />
{{path|/etc/rpm/macros.d/}} согласно [http://www.altlinux.org/RPMMacrosPackagingPolicy/ RPM Macros Packaging Policy], должна устареть<br />
<br />
{{path|/usr/lib/rpm/macros.d/}}<br />
<br />
Поглядеть, во что раскрывается конкретный макрос, можно так:<br />
<pre>rpm --eval %имя_макроса</pre><br />
Например, нам надо узнать, во что раскрывается макрос %java_dir:<br />
<pre><br />
$ rpm --eval %java_dir<br />
/usr/share/java<br />
$<br />
</pre><br />
<br />
== Ссылки ==<br />
<br />
<references/><br />
{{Category navigation|title=RPMMacrosDescription|category=RPM}}</div>Andychttps://www.altlinux.org/index.php?title=Rpmmacros&diff=12801Rpmmacros2009-12-02T16:59:46Z<p>Andyc: переименовал «Rpmmacros» в «RPMMacrosDescription»:&#32;более точное отражение назначения страницы</p>
<hr />
<div>#перенаправление [[RPMMacrosDescription]]</div>Andychttps://www.altlinux.org/index.php?title=RPMMacrosDescription&diff=12800RPMMacrosDescription2009-12-02T16:59:46Z<p>Andyc: переименовал «Rpmmacros» в «RPMMacrosDescription»:&#32;более точное отражение назначения страницы</p>
<hr />
<div>== Макросы RPM ==<br />
Данная страница содержит описания макросов, специфичных для ALT Linux. <br />
<br />
=== Cписок макросов ===<br />
На данный момент (02.12.2009), список пакетов таков:<br />
<br />
<source lang="bash"><br />
$ apt-cache search rpm | grep ^rpm-[a-z] | sort -n | head -n -2<br />
rpm-build-apache2 - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-apache - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-browser-plugins - Netscape Gecko Plug-in API common packaging files <br />
rpm-build-buzztard - RPM macros for buzztard build <br />
rpm-build-compat - ALT Linux compatibility and extensions in rpm build <br />
rpm-build-compiz - RPM macros for sawfish-related packages <br />
rpm-build-docs-experimental - Набор утилит и макросов для автоматической сборки документации<br />
rpm-build-docs - Набор утилит и макросов для автоматической сборки документации <br />
rpm-build-erlang - RPM helper scripts to calculate Erlang dependencies <br />
rpm-build-firefox - RPM helper macros to rebuild firefox packages <br />
rpm-build-fonts - RPM helper scripts for build fonts packages <br />
rpm-build-fpc - RPM helpers for Free Pascal packages <br />
rpm-build-gmpc - RPM macros for building GMPC plugins <br />
rpm-build-gnome - RPM macros and helper scripts for GNOME packages building <br />
rpm-build-haskell - RPM helpers to rebuild Haskell packages<br />
rpm-build-java - RPM helper macros to build Java packages<br />
rpm-build-kernel - RPM macros to build kernel packages<br />
rpm-build-licenses - RPM macros for well-known licenses<br />
rpm-build-linux-ha - RPM macros for Linux-HA project apps<br />
rpm-build-lmms - Helper package for creation of build dependences lmms<br />
rpm-build-mingw32 - MinGW RPM helper macros<br />
rpm-build-mono - RPM helper macros and dependency utils to build Mono packages<br />
rpm-build-moodle - RPM helper macros and dependency utils to build Mooodle packages<br />
rpm-build-mozilla.org - RPM helpers to build Mozilla.org packages<br />
rpm-build-NetSDS - RPM helper macros to rebuild NetSDS packages<br />
rpm-build-ocaml - RPM helpers to rebuild OCaml packages<br />
rpm-build-pear - RPM helper scripts for build PEAR packages<br />
rpm-build-pecl - RPM helper scripts for build PECL packages<br />
rpm-build-perl - RPM helper scripts to calculate Perl dependencies<br />
rpm-build-php5 - RPM helper macros to rebuild PHP5 packages<br />
rpm-build-python - RPM helper macros to rebuild python packages<br />
rpm-build-python-tools - diagnostic tools<br />
rpm-build-rpm-eval - Скрипт раскрывающий макросы в файлах<br />
rpm-build-ruby - RPM helper scripts to calculate Ruby dependencies<br />
rpm-build-sawfish - RPM macros for sawfish-related packages<br />
rpm-build-seamonkey - RPM helper macros to rebuild seamonkey packages<br />
rpm-build-sunbird - RPM helper macros to rebuild sunbird packages<br />
rpm-build-tcl - RPM helpers to use with Tcl scripts<br />
rpm-build-texmf - RPM helper macros to rebuild TeX packages<br />
rpm-build-thunderbird - RPM helper macros to rebuild thunderbird packages<br />
rpm-build-vhosts-filesystem - RPM макросы сборки для пакетов, обслуживающих разделяемый контент<br />
rpm-build-vim - RPM macros needed to build additional VIM plugin packages<br />
rpm-build-webserver-common - Набор утилит для автоматической Web серверов и приложений<br />
rpm-build-wlskins - RPM helper macros to build winamplike-skins collections<br />
rpm-build-xdg - RPM macros for XDG Base Directory Specification and more<br />
rpm-build-xfce4 - : Макросы для удобной сборки Xfce<br />
rpm-build-xscreensaver - A screen saver and locker for the X window system - RPM macros<br />
rpm-build - Файлы, необходимые для установки SRPM-пакетов и сборки RPM-пакетов<br />
rpm-macros-alterator - Set of RPM macros for packaging alterator-based applications<br />
rpm-macros-alternatives - Set of RPM macros for packaging alternatives-based applications<br />
rpm-macros-apache2-compat - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache2 - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache - RPM макросы для веб-сервера Apache<br />
rpm-macros-branch - RPM макросы поддержки бранчей<br />
rpm-macros-cmake - Set of RPM macros for packaging applications that use cmake<br />
rpm-macros-daemontools - Set of RPM macros for packaging daemontools-based applications<br />
rpm-macros-emacs - Set of RPM macros for packaging emacs-devel-based applications<br />
rpm-macros-erlang - RPM helper macros to rebuild erlang packages<br />
rpm-macros-fillup - Set of RPM macros for packaging fillup-based applications<br />
rpm-macros-info-install - Set of RPM macros for packaging texinfo files<br />
rpm-macros-jabber - Set of RPM macros for packaging Jabber servers and components<br />
rpm-macros-mingw32 - MinGW RPM helper macros<br />
rpm-macros-mpi-selector - Set of RPM macros for packaging mpi-selector-based applications<br />
rpm-macros-qt4 - Set of RPM macros for packaging qt4-based applications<br />
rpm-macros-rpm-eval - RPM макросы для применения rpm-eval.sh<br />
rpm-macros-vhosts-filesystem - RPM макросы для пакетов, обслуживающих разделяемый контент<br />
rpm-macros-webserver-cgi-bin-control - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-webserver-common - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-xmms - Set of RPM macros for packaging xmms-based applications<br />
$<br />
</source><br />
<br />
=== Использование макросов ===<br />
<br />
Для использования данных макросов, необходимо добавить в spec строчку:<br />
<br />
<pre>BuildRequires(pre): имяпакетасмакросами</pre><br />
<br />
Например<ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-September/341823.html wRAR об определении макроса]</ref><ref>[http://lists.altlinux.org/pipermail/devel/2009-November/177411.html wRAR вносит изменения в макрос %cmake]</ref>:<br />
<pre><br />
BuildRequires(pre): rpm-build-compat<br />
</pre><br />
<br />
Cписки макросов, располагаются по следующим адресам:<br />
<br />
{{path|/etc/rpm/macros.d/}} согласно [http://www.altlinux.org/RPMMacrosPackagingPolicy/ RPM Macros Packaging Policy], должна устареть<br />
<br />
{{path|/usr/lib/rpm/macros.d/}}<br />
<br />
Поглядеть, во что раскрывается конкретный макрос, можно так:<br />
<pre>rpm --eval %имямакроса</pre><br />
Например, нам надо узнать, во что раскрывается макрос %java_dir:<br />
<pre><br />
$ rpm --eval %java_dir<br />
/usr/share/java<br />
$<br />
</pre><br />
<br />
<br />
<br />
<br />
== Ссылки ==<br />
<br />
<references/><br />
{{Category navigation|title=RPMMacrosDescription|category=RPM}}</div>Andychttps://www.altlinux.org/index.php?title=RPMMacrosDescription&diff=12799RPMMacrosDescription2009-12-02T16:58:41Z<p>Andyc: Новая страница: «== Макросы RPM == Данная страница содержит описания макросов, специфичных для ALT Linux. === Cписок...»</p>
<hr />
<div>== Макросы RPM ==<br />
Данная страница содержит описания макросов, специфичных для ALT Linux. <br />
<br />
=== Cписок макросов ===<br />
На данный момент (02.12.2009), список пакетов таков:<br />
<br />
<source lang="bash"><br />
$ apt-cache search rpm | grep ^rpm-[a-z] | sort -n | head -n -2<br />
rpm-build-apache2 - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-apache - Набор утилит для автоматической Web серверов и приложений <br />
rpm-build-browser-plugins - Netscape Gecko Plug-in API common packaging files <br />
rpm-build-buzztard - RPM macros for buzztard build <br />
rpm-build-compat - ALT Linux compatibility and extensions in rpm build <br />
rpm-build-compiz - RPM macros for sawfish-related packages <br />
rpm-build-docs-experimental - Набор утилит и макросов для автоматической сборки документации<br />
rpm-build-docs - Набор утилит и макросов для автоматической сборки документации <br />
rpm-build-erlang - RPM helper scripts to calculate Erlang dependencies <br />
rpm-build-firefox - RPM helper macros to rebuild firefox packages <br />
rpm-build-fonts - RPM helper scripts for build fonts packages <br />
rpm-build-fpc - RPM helpers for Free Pascal packages <br />
rpm-build-gmpc - RPM macros for building GMPC plugins <br />
rpm-build-gnome - RPM macros and helper scripts for GNOME packages building <br />
rpm-build-haskell - RPM helpers to rebuild Haskell packages<br />
rpm-build-java - RPM helper macros to build Java packages<br />
rpm-build-kernel - RPM macros to build kernel packages<br />
rpm-build-licenses - RPM macros for well-known licenses<br />
rpm-build-linux-ha - RPM macros for Linux-HA project apps<br />
rpm-build-lmms - Helper package for creation of build dependences lmms<br />
rpm-build-mingw32 - MinGW RPM helper macros<br />
rpm-build-mono - RPM helper macros and dependency utils to build Mono packages<br />
rpm-build-moodle - RPM helper macros and dependency utils to build Mooodle packages<br />
rpm-build-mozilla.org - RPM helpers to build Mozilla.org packages<br />
rpm-build-NetSDS - RPM helper macros to rebuild NetSDS packages<br />
rpm-build-ocaml - RPM helpers to rebuild OCaml packages<br />
rpm-build-pear - RPM helper scripts for build PEAR packages<br />
rpm-build-pecl - RPM helper scripts for build PECL packages<br />
rpm-build-perl - RPM helper scripts to calculate Perl dependencies<br />
rpm-build-php5 - RPM helper macros to rebuild PHP5 packages<br />
rpm-build-python - RPM helper macros to rebuild python packages<br />
rpm-build-python-tools - diagnostic tools<br />
rpm-build-rpm-eval - Скрипт раскрывающий макросы в файлах<br />
rpm-build-ruby - RPM helper scripts to calculate Ruby dependencies<br />
rpm-build-sawfish - RPM macros for sawfish-related packages<br />
rpm-build-seamonkey - RPM helper macros to rebuild seamonkey packages<br />
rpm-build-sunbird - RPM helper macros to rebuild sunbird packages<br />
rpm-build-tcl - RPM helpers to use with Tcl scripts<br />
rpm-build-texmf - RPM helper macros to rebuild TeX packages<br />
rpm-build-thunderbird - RPM helper macros to rebuild thunderbird packages<br />
rpm-build-vhosts-filesystem - RPM макросы сборки для пакетов, обслуживающих разделяемый контент<br />
rpm-build-vim - RPM macros needed to build additional VIM plugin packages<br />
rpm-build-webserver-common - Набор утилит для автоматической Web серверов и приложений<br />
rpm-build-wlskins - RPM helper macros to build winamplike-skins collections<br />
rpm-build-xdg - RPM macros for XDG Base Directory Specification and more<br />
rpm-build-xfce4 - : Макросы для удобной сборки Xfce<br />
rpm-build-xscreensaver - A screen saver and locker for the X window system - RPM macros<br />
rpm-build - Файлы, необходимые для установки SRPM-пакетов и сборки RPM-пакетов<br />
rpm-macros-alterator - Set of RPM macros for packaging alterator-based applications<br />
rpm-macros-alternatives - Set of RPM macros for packaging alternatives-based applications<br />
rpm-macros-apache2-compat - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache2 - RPM макросы для веб-сервера Apache2<br />
rpm-macros-apache - RPM макросы для веб-сервера Apache<br />
rpm-macros-branch - RPM макросы поддержки бранчей<br />
rpm-macros-cmake - Set of RPM macros for packaging applications that use cmake<br />
rpm-macros-daemontools - Set of RPM macros for packaging daemontools-based applications<br />
rpm-macros-emacs - Set of RPM macros for packaging emacs-devel-based applications<br />
rpm-macros-erlang - RPM helper macros to rebuild erlang packages<br />
rpm-macros-fillup - Set of RPM macros for packaging fillup-based applications<br />
rpm-macros-info-install - Set of RPM macros for packaging texinfo files<br />
rpm-macros-jabber - Set of RPM macros for packaging Jabber servers and components<br />
rpm-macros-mingw32 - MinGW RPM helper macros<br />
rpm-macros-mpi-selector - Set of RPM macros for packaging mpi-selector-based applications<br />
rpm-macros-qt4 - Set of RPM macros for packaging qt4-based applications<br />
rpm-macros-rpm-eval - RPM макросы для применения rpm-eval.sh<br />
rpm-macros-vhosts-filesystem - RPM макросы для пакетов, обслуживающих разделяемый контент<br />
rpm-macros-webserver-cgi-bin-control - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-webserver-common - RPM макросы для сборки пакетов веб-серверов и приложений<br />
rpm-macros-xmms - Set of RPM macros for packaging xmms-based applications<br />
$<br />
</source><br />
<br />
=== Использование макросов ===<br />
<br />
Для использования данных макросов, необходимо добавить в spec строчку:<br />
<br />
<pre>BuildRequires(pre): имяпакетасмакросами</pre><br />
<br />
Например<ref>[http://lists.altlinux.org/pipermail/sisyphus/2009-September/341823.html wRAR об определении макроса]</ref><ref>[http://lists.altlinux.org/pipermail/devel/2009-November/177411.html wRAR вносит изменения в макрос %cmake]</ref>:<br />
<pre><br />
BuildRequires(pre): rpm-build-compat<br />
</pre><br />
<br />
Cписки макросов, располагаются по следующим адресам:<br />
<br />
{{path|/etc/rpm/macros.d/}} согласно [http://www.altlinux.org/RPMMacrosPackagingPolicy/ RPM Macros Packaging Policy], должна устареть<br />
<br />
{{path|/usr/lib/rpm/macros.d/}}<br />
<br />
Поглядеть, во что раскрывается конкретный макрос, можно так:<br />
<pre>rpm --eval %имямакроса</pre><br />
Например, нам надо узнать, во что раскрывается макрос %java_dir:<br />
<pre><br />
$ rpm --eval %java_dir<br />
/usr/share/java<br />
$<br />
</pre><br />
<br />
<br />
<br />
<br />
== Ссылки ==<br />
<br />
<references/><br />
{{Category navigation|title=RPMMacrosDescription|category=RPM}}</div>Andychttps://www.altlinux.org/index.php?title=TypicalPackagingErrors/InternalMacros&diff=12431TypicalPackagingErrors/InternalMacros2009-10-10T21:04:01Z<p>Andyc: /* Внутренние макросы RPM */</p>
<hr />
<div>[[Категория:RPM spec]]<br />
<br />
== Внутренние макросы RPM ==<br />
<br />
[http://lists.altlinux.ru/pipermail/devel/2005-December/027129.html Выяснилось], что '''не следует''' использовать в спеках ''внутренние'' макросы RPM, которые начинаются с двух подчёркиваний (например, <tt>%__install</tt> или <tt>%__mkdir_p</tt>). «А мы и не знали» :-). Воздержаться от их применения cледует потому, что внутренние макросы могут изменятся без предварительного уведомления.<br />
<br />
[[rpmcs]] почистит такие косяки.</div>Andychttps://www.altlinux.org/index.php?title=SpecTips&diff=12430SpecTips2009-10-10T20:57:22Z<p>Andyc: /* Как писать спеки? */</p>
<hr />
<div>[[Category:RPM spec]]<br />
<br />
== Как писать спеки? ==<br />
* [[Spec|Отличия спеков ALT Linux / Sisyphus от «обычного» RPM]]<br />
* [[SampleSpecs|Примеры спек-файлов]]<br />
<br />
=== Документы ===<br />
* [[ALT_Packaging_HOWTO|Howto по упаковке пакетов в ALT]]<br />
* [http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/doc/old/rpm_packaging_howto.html ALT Packaging] (html версия)<br />
* [[Policy|ALT policy]]<br />
* [http://www.lexpr.ru/node/11 Русский перевод Red Hat RPM Guide] (актуально)<br />
* [http://www.rpm.org/max-rpm-snapshot/p5206.html Maximum RPM] (snapshot), [http://rpm.org/max-rpm/s1-rpm-specref-macros.html макросы]<br />
* [http://fedora.redhat.com/docs/drafts/rpm-guide-en/ Fedora RPM Guide], [http://fedoraproject.org/wiki/Packaging/Guidelines Fedora Packaging Guidelines]<br />
* [http://qa.mandriva.com/twiki/bin/view/Main/RpmHowTo Mandriva RPM Howto]<br />
* [http://bog.pp.ru/work/rpm.html Краткий курс по RPM] (старо)<br />
<br />
=== Взаимодействие ===<br />
* [[OtherDistros|С другими дистрибутивами]]<br />
* [[SpecTips/Compatibility|Совместимость с «чужими» спеками]]<br />
<br />
=== Макросы ===<br />
* [[SpecTips/triggers|%trigger*]]<br />
* [[SpecTips/optflags|%optflags]]<br />
* [[spectips/VersionHacks|Использование конкретных версий инструментов сборки]]<br />
<br />
=== Инструменты ===<br />
* [[buildreq]]<br />
* [[add_changelog|add_changelog]]<br />
* [[rpmcs|rpmcs]]<br />
<br />
=== Разное ===<br />
* [[TypicalPackagingErrors|Типичные ошибки]] при написании spec-файлов<br />
** e.g. использование [[TypicalPackagingErrors/InternalMacros|внутренних макросов RPM]] (%__macro)<br />
* [[PackageSplitting|Рекомендации по размещению файлов в пакетах]]<br />
* [[SpecTips/Requires|Генерируемые зависимости]]<br />
* [[SpecTips/ReturnCodes|Скрипты и коды возврата]]<br />
* [[SpecTips/FiltrProvides|Фильтрация Provides/Requires]]<br />
* [[SpecTips/autoreconf|autoreconf]]<br />
* [[SpecTips/l10n|Локализация]]<br />
* [[SpecTips/ClashLinks|Одинаковые симлинки в пакетах]]<br />
* [[PerlManPages|Perl man3 pages]]<br />
* [[TextRel|TEXTREL]]<br />
* [[SpecTips/triggers|Пакетные скрипты, в том числе триггеры]] <!-- дубль ссылки --><br />
* [[qmakeCFLAGS|CFLAGS в qmake]]<br />
* [[SpecTips/FileDirs|Упаковка %files]]<br />
* [[TextRel|Борьба с TEXTREL]]<br />
* [[LaWars|Борьба с .la]]<br />
* [[SpecTips/ToolChain|Выбор версии компилятора/auto*]]<br />
* [[ServiceMaint|Работа со службами]]<br />
* [[MassRebuild|Массовая пересборка]]<br />
<br />
{{Category navigation|title=RPM spec|category=RPM spec}}</div>Andychttps://www.altlinux.org/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:95.73.29.75&diff=12429Участник:95.73.29.752009-10-10T20:51:35Z<p>Andyc: переименовал «Участник:95.73.29.75» в «ALT Packaging HOWTO»:&#32;Перенесен документ http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/doc/old/rpm_packaging_howto.html</p>
<hr />
<div>#перенаправление [[ALT Packaging HOWTO]]</div>Andychttps://www.altlinux.org/index.php?title=ALT_Packaging_HOWTO&diff=12428ALT Packaging HOWTO2009-10-10T20:51:35Z<p>Andyc: переименовал «Участник:95.73.29.75» в «ALT Packaging HOWTO»:&#32;Перенесен документ http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/doc/old/rpm_packaging_howto.html</p>
<hr />
<div>== ALT Packaging HOWTO (revision 0.3) ==<br />
<br />
Dmitry V. Levin <ldv@altlinux.ru><br />
ALT Linux Team<br />
<br />
=== Введение ===<br />
<br />
При разработке изменений и дополнений к rpm решались следующие задачи:<br />
*Обеспечить желаемую функциональность:<br />
наши пакеты должны отвечать определенным правилам, о которых пойдет речь несколько позже. Для этого надо, чтобы ''spec''-файлы обеспечивали выполнение этих правил. <br />
*Помочь разработчику:<br />
так как ''spec''-файлы все еще пишут люди, то их работу нужно свести к тому минимуму, который, собственно, и требует участия человека. Разработчик не должен копировать блоки кода из файла в файл, ибо эта неинтеллектуальная работа отнимает массу сил и чревата ошибками. Для этого есть макросы. Если какой-то код появляется в разных ''spec''-файлах более одного раза, то надо написать макрос(ы). <br />
*Сделать ''spec''-файлы более читабельными:<br />
те, кто эти файлы читает - тоже живые люди. Им будет удобнее, если в наименовании, расположении и использовании различных элементов ''spec''-файлов будет определенный порядок. <br />
<br />
=== Особенности этой версии rpm ===<br />
<br />
==== Новые макросы ====<br />
<br />
'''Макросы для часто используемых каталогов.'''<br />
<br />
*X11R6: {{rpmmacro|_x11dir}}, {{rpmmacro|_x11bindir}}, {{rpmmacro|_x11libdir}}, {{rpmmacro|_x11includedir}}, {{rpmmacro|_x11mandir}}, {{rpmmacro|_x11datadir}}<br>''NB: устарели с X11R7, используем {{rpmmacro|_bindir}} и прочие без x11''<br />
<br />
*лицензии: {{rpmmacro|_licensedir}} <br />
<br />
*меню: {{rpmmacro|_menudir}}, {{rpmmacro|_iconsdir}}, {{rpmmacro|_miconsdir}}, {{rpmmacro|_liconsdir}}<br />
<br />
*emacs: {{rpmmacro|_emacslispdir}}<br />
<br />
*другие системные: {{rpmmacro|_initdir}}, {{rpmmacro|_lockdir}}, {{rpmmacro|_logdir}}. <br />
<br />
'''Управление опциями компилятора gcc.'''<br />
<br />
{{rpmmacro|_add_optflags}} <options>: добавить указанные параметры в стандартный набор {{rpmmacro|_%opflags}}<br />
<br />
{{rpmmacro|_remove_optflags}} <options>: убрать указанные параметры из стандартного набора {{rpmmacro|_%opflags}}<br />
<br />
{{rpmmacro|_optflags_core}}: базовые параметры<br />
<br />
{{rpmmacro|__optlevel}}: уровень оптимизации<br />
<br />
{{rpmmacro|_optflags_optimization}}: параметры, отвечающие за оптимизацию, кроме архитектурно-зависимых<br />
<br />
{{rpmmacro|_optflags_warnings}}: ''warning options''<br />
<br />
{{rpmmacro|_optflags_debug}}: ''debugging options''<br />
<br />
{{rpmmacro|_optflags_shared}}: параметры, применяемые для создания relocatable файлов<br />
<br />
{{rpmmacro|_optflags_nocpp}}: параметры, отключающие поддержку C++ exceptions и C++ RTTI<br />
<br />
{{rpmmacro|_optflags_notraceback}}: ''-fomit-frame-pointer''<br />
<br />
{{rpmmacro|_optflags_fastmath}}: ''-ffast-math''<br />
<br />
{{rpmmacro|_optflags_strict}}: ''-fstrict-aliasing''<br />
<br />
{{rpmmacro|_optflags_kernel}}: параметры, используемые при компиляции ядра и его модулей.<br />
<br />
По умолчанию, стандартный набор {{rpmmacro|_opflags}} состоит из "{{rpmmacro|_optflags_core}} {{rpmmacro|_optflags_warnings}} {{rpmmacro|_ptflags_optimization}}".<br />
<br />
'''Макросы-надстройки над утилитой make.'''<br />
<br />
{{rpmmacro|_make_build}}: вызов make с параметром, обеспечивающим оптимальную параллельную сборку в данной среде<br />
<br />
{{rpmmacro|_make_install}}: вызов make c инициализацией переменной INSTALL, что в случае корректной реализации Makefileов пакета позволяет сохранить дату последней модификации файлов, что особенно важно для документации;<br />
<br />
{{rpmmacro|_makeinstall}}: %make_install <инициализация других переменных, используемых многими Makefileами> install''. <br />
<br />
<s>'''Регистрация документации в формате info.'''</s><br />
<br />
<s>{{rpmmacro|_install_info}}: регистрация новых/обновленных ''info''-страниц.</s><br />
<br />
<s>{{rpmmacro|_uninstall_info}}: отмена регистрации удаленных ''info''-страниц.</s><br />
<br />
''Устарело с появлением filetriggers''<br />
<br />
<s>'''Регистрация меню.'''</s><br />
<br />
<s>{{rpmmacro|_update_menus}}: регистрация новых/обновленных меню.</s><br />
<br />
<s>{{rpmmacro|_clean_menus}}: отмена регистрации удаленных меню.</s><br />
<br />
''Устарело с появлением filetriggers''<br />
<br />
'''Вспомогательные макросы %configure.'''<br />
<br />
{{rpmmacro|__libtoolize}}: путь к скрипту ''libtoolize''<br />
<br />
{{rpmmacro|_configure_script}}: путь к скрипту ''configure''<br />
<br />
{{rpmmacro|_configure_target}}: целевая платформа для ''configure''<br />
<br />
{{rpmmacro|_configure_gettext}}: ''-without-included-gettext''. <br />
<br />
'''Серверные макросы.'''<br />
<br />
{{rpmmacro|_post_service}}: регистрация нового сервиса при установке, перезапуск при обновлении<br />
<br />
{{rpmmacro|_preun_service}}: отмена регистрации сервиса и его выключение при удалении. <br />
<br />
'''Макросы, определяющие некоторые аспекты packaging policy.'''<br />
<br />
{{rpmmacro|buildroot}}: значение ''BuildRoot''<br />
<br />
{{rpmmacro|_defattr}}: атрибуты файлов и каталогов по умолчанию для каждой секции ''%files'' и для каждого файла, включаемого в этих секциях<br />
<br />
{{rpmmacro|_compress_method}}: метод, используемый при сжатии документации в секции ''%install''<br />
<br />
{{rpmmacro|_strip_method}}: метод, используемый при обработке ELF-файлов в секции ''%install''<br />
<br />
{{rpmmacro|_findreq_default_method}}: метод, используемый по умолчанию при поиске требуемых зависимостей <br />
<br />
{{rpmmacro|_findprov_default_method}}: метод, используемый по умолчанию при поиске предоставляемых зависимостей<br />
<br />
{{rpmmacro|_set_strip_method}}: изменить значение макроса ''%_strip_method''<br />
<br />
'''Вызов вспомогательных программ.'''<br />
<br />
{{rpmmacro|find_lang}}: вызов ''/usr/lib/rpm/find-lang''<br />
<br />
{{rpmmacro|strip_executable}}: вызов ''/usr/lib/rpm/brp-strip'' для обработки ELF executables<br />
<br />
{{rpmmacro|strip_relocatable}}: вызов ''/usr/lib/rpm/brp-strip'' для обработки ELF relocatables <br />
{{rpmmacro|strip_shared}}: вызов ''/usr/lib/rpm/brp-strip'' для обработки ELF shared objects<br />
<br />
{{rpmmacro|strip_static}}: вызов ''/usr/lib/rpm/brp-strip'' для обработки ELF ar archives<br />
{{rpmmacro|cleanup_build}}: вызов ''/usr/lib/rpm/brp-cleanup''<br />
{{rpmmacro|compress_docs}}: вызов ''/usr/lib/rpm/brp-compress'' <br />
{{rpmmacro|strip_binaries}}: вызов ''/usr/lib/rpm/brp-strip''<br />
{{rpmmacro|clean_buildroot}}: выполнение ''rm -rf %buildroot'', если ''%buildroot'' не указывает на настоящий ''/''. <br />
<br />
'''Управление процессом сборки.'''<br />
<br />
{{rpmmacro|buildmulti}}: Альтернативная директива ''%build'' для случая, когда в секции ''%build'' происходит заполнение ''%buildroot''. Вообще говоря, такой техники стоит избегать во всех случаях, когда это возможно. <br />
<br />
'''Версии некоторых установленных в системе пакетов.'''<br />
<br />
'''glibc''': {{rpmmacro|__glibc_version}}, {{rpmmacro|__glibc_version_major}}, {{rpmmacro|__glibc_version_minor}} <br />
<br />
'''python''': {{rpmmacro|__python_version}} <br />
<br />
{{rpmmacro|get_version}}: Версия указанного пакета <br />
<br />
{{rpmmacro|get_release}}: Релиз указанного пакета<br />
<br />
{{rpmmacro|get_serial}}: Serial указанного пакета<br />
<br />
{{rpmmacro|add_serial}}: Serial указанного пакета в виде, пригодном для включения в ''spec''-файл. <br />
<br />
Эти макросы, как правило, используются в пакетах, сборка которых возможна с различными версиями этих программ, если эти версии правильно учитывать.<br />
<br />
'''Прочие макросы.'''<br />
<br />
{{rpmmacro|intel}}: список архитектур ''intel'', совместимых с ''i386''<br />
<br />
{{rpmmacro|amd}}: список архитектур ''amd'', совместимых с ''i386''<br />
<br />
{{rpmmacro|ix86}}: список всех архитектур, совместимых с ''i386''<br />
<br />
компоненты макроса {{rpmmacro|packager}}: {{rpmmacro|packagerName}}, {{rpmmacro|packagerAddress}}.<br />
<br />
==== Новыe параметры rpm. ====<br />
<br />
-'''bE''': новый режим работы ''rpm'', при котором происходит только подстановка макросов<br />
<br />
-'''nowait-lock''': не блокировать процесс, если база данных ''rpm'' занята <br />
<br />
-'''fancypercent''': отображать дополнительную информацию о процентах проделанной работы при установке/обновлении пакетов. <br />
<br />
==== Новые возможности rpm. ====<br />
<br />
'''Автоматический поиск требуемых и предоставляемых зависимостей.'''<br />
<br />
В дополнение к стандартному поиску зависимостей от/для разделяемых библиотек, реализована поддержка поиска требуемых зависимостей для ''shell'' и ''perl''-скриптов, а также поддержка поиска предоставляемых зависимостей для ''perl''-скриптов.<br />
<br />
'''Изменение семантики тэгов, управляющих поиском зависимостей.'''<br />
<br />
Новые возможности ''rpm'' по автоматическому поиску зависимостей при сборке пакетов управляются, как и прежде, значениями тэгов ''AutoReq'', ''AutoProv'' и ''AutoReqProv''. К стандартным значениям ''yes/no'' (''true/false''), таким образом, добавлены новые возможные значения, являющиеся именами методов поиска зависимостей:<br />
<br />
*''lib'': включение поиска зависимостей от/для разделяемых библиотек<br />
*''shell'': включение поиска зависимостей в ''shell''-скриптах<br />
*''perl'': включение поиска зависимостей в ''perl''-скриптах<br />
*''nolib'': выключение поиска зависимостей от/для разделяемых библиотек<br />
*''noshell'': выключение поиска зависимостей в ''shell''-скриптах<br />
*''noperl'': выключение поиска зависимостей в ''perl''-скриптах<br />
*''default'': то же, что и ''yes'';<br />
*''none,off'': то же, что и ''no'';<br />
*''all'': включение всех возможных методов поиска зависимостей.<br />
<br />
Значением тэга может являться как один метод, так и перечисление методов. По умолчанию, для каждого под пакета собираемого пакета ''AutoReq'' = ''AutoProv'' = ''yes'', что на практике означает использование макросов <br />
{{rpmmacro|findreq_default_method}} и {{rpmmacro|findprov_default_method}} для определения методов поиска зависимостей.<br />
<br />
'''Автоматическое сжатие ''man'' и ''info''-документации с поддержкой различных методов сжатия.'''<br />
<br />
Вся документация пакета, распознаваемая как ''man'' или ''info''-документация, по окончании работы секции ''%install'', сжимается согласно выбранному методу. Поддерживаются следующие методы сжатия:<br />
<br />
*''bzip2'': сжатие с помощью ''bzip2 -9''<br />
*''gzip'': сжатие с помощью ''gzip -9n''<br />
*''auto'': сжатие с помощью ''gzip -9n'' либо ''bzip2 -9'' в зависимости от того, какой вариант окажется эффективнее<br />
*''none'': производится декомпрессия файлов вместо сжатия<br />
*''skip'': процедура сжатия пропускается полностью.<br />
<br />
Какой метод будет использован в каждом конкретном случае, зависит от значения макроса {{rpmmacro|_compress_method}}; значение по умолчанию для этого макроса - ''auto''. По окончании процедуры сжатия производится выравнивание ссылок, которые, возможно, требуют коррекции в связи с изменениями имен файлов в процессе их сжатия.<br />
<br />
'''Автоматическое удаление отладочной информации из ELF-файлов с поддержкой различных стратегий выбора файлов, подлежащих обработке.'''<br />
<br />
Зачастую возможно уменьшить размер получаемых в результате сборки пакета ELF-файлов без потери качества за счет удаления из них отладочной информации. Поэтому по окончании работы секции ''%install'' все ELF-файлы выбранных типов обрабатываются программой ''strip''. Выбор типов файлов определяется значением макроса {{rpmmacro|_strip_method}}, которое есть набор из следующих возможных значений:<br />
<br />
*''executable'': ELF executable;<br />
*''relocatable'': ELF relocatable;<br />
*''shared'': ELF shared object;<br />
*''static'': ar archive.<br />
<br />
Кроме того, есть возможность вызывать ''strip'' вручную, для этой цели предназначены макросы {{rpmmacro|strip_executable}}, {{rpmmacro|strip_relocatable}}, {{rpmmacro|strip_shared}}, {{rpmmacro|strip_static}}. Синтаксис этих макросов подробно изложен в ''/usr/lib/rpm/brp-strip -help''.<br />
<br />
'''Автоматическая перекомпиляция python-модулей.'''<br />
<br />
Как известно, python-модули обычно компилируют в байтовую форму для увеличения быстродействия при последующей работе с ними. Каждый такой модуль, помимо всего прочего, хранит время своего создания и полное имя файла, в котором должен находиться. В связи с последним обстоятельством скомпилированные модули, созданные в результате работы секции ''%install'', непригодны, ибо не могут быть использованы после установки пакета. По этой причине теперь по окончании работы секции ''%install'' производится перекомпиляция всех python-модулей таким образом, чтобы их можно было использовать после установки пакета. В качестве байт-компилятора будет использоваться программа, имя которой хранится в макросе {{rpmmacro|__python}}. Обычно это ''/usr/bin/python'', однако в некоторых случаях может потребоваться изменить это значение на другое (например, в случае сборки пакета python или если по какой-то причине перекомпиляция не нужна).<br />
<br />
'''BuildRoot.'''<br />
<br />
Времена, когда тэг ''BuildRoot'' в ''spec''-файле определял, какой каталог ''rpm'' будет использовать в качестве ''BuildRoot'', прошли безвозвратно. Теперь этот таг не несет никакой информации и может (и должен) быть опущен. Вместо этого используется значение макроса {{rpmmacro|buildroot}}, который определен как ''%{_tmppath}/%{name}-buildroot'' в файле ''/usr/lib/rpm/macros'' и может быть переопределен в любом месте, где допускается определять макросы. В случае, если макрос {{rpmmacro|buildroot}} не определен либо его значение представляет собой недопустимое значение ''/'', сборка пакета не будет выполнена.<br />
<br />
'''Автоматическая очистка BuildRoot.'''<br />
<br />
Перед выполнением секции ''%install'' и по окончании выполнения секции ''%clean'' ''rpm'' автоматически очищает ''BuildRoot'' с помощью макроса {{rpmmacro|clean_buildroot}}. Это значит, что больше не нужно использовать эти ужасные ''rm -rf $RPM_BUILD_ROOT''. Секция ''%clean'' вообще может (и должна) быть опущена, если в ней не содержится ничего, кроме этого ''rm''. В тех редких случаях, когда в ''spec''-файле производится заполнение ''BuildRoot'' не в секции ''%install'', как это должно быть, а в секции ''%build'', что в принципе неправильно, можно перенести точку очистки ''BuildRoot'' из начала секции ''%install'' в начало секции ''%build'', если заменить директиву ''%build'' на макрос {{rpmmacro|buildmulti}}.<br />
<br />
'''Упрощение секции %files.'''<br />
<br />
Ранее в начале каждой секции %files было необходимо указывать атрибуты файлов и каталогов создаваемых пакетов с помощью довольно однообразно используемой директивы %defattr. Теперь это происходит автоматически в начале каждой секции %files, а также в начале каждого файла, включаемого в секцию %files с помощью опции -f. Точнее говоря, в качестве этой директивы используется значение макроса %_defattr. Таким образом, прежнее использование директивы %defattr в начале секций и файлов следует считать упраздненным.<br />
<br />
'''Сборка пакетов привилегированным пользователем.'''<br />
<br />
То, что когда-то было необходимостью, со временем стало излишним, а порой и просто опасным. Теперь, когда все пакеты, кроме одного-единственного MAKEDEV, можно (и нужно) собирать непривилегированным пользователем во избежание риска разрушения системы и некорректной сборки, сборка пакетов привилегированным пользователем по умолчанию запрещена. Этот запрет можно снять путем изменения значения макроса {{rpmmacro|_allow_root_build}}.<br />
<br />
=== Пожелания packager'у. ===<br />
<br />
==== Устаревшие конструкции. ====<br />
<br />
Не следует использовать устаревшие конструкции - они лишь загромождают ''spec''-файл, снижая тем самым его читабельность. К устаревшим конструкциям, в частности, относятся:<br />
тэг ''BuildRoot:''<br />
cтроки вида ''rm -rf $RPM_BUILD_ROOT''<br />
{{rpmmacro|_defattr}} со стандартными аргументами в начале файлов и секций ''%files''<br />
секция ''%clean'', пустая либо без разумного содержания.<br />
<br />
==== Фигурные скобки. ====<br />
<br />
Нет смысла засорять текст spec-файла ненужными фигурными скобками. Избавится от них легко:<br />
<br />
''perl -pi -e 's/%\{([A-Za-z_0-9]+)\}([^A-Za-z_0-9?*]|$)/%$1$2/g' spec''-файл<br />
<br />
==== Порядок тэгов. ====<br />
<br />
Рекомендуемый порядок заголовочных тэгов: <br />
*Name<br />
*Version<br />
*Release<br />
*Serial<br />
<br />
далее<br />
<br />
*Summary<br />
*License<br />
*Group<br />
*Url<br />
*Packager<br />
*BuildArch<br />
<br />
потом <br />
<br />
*Source<br />
*Patch<br />
<br />
далее<br />
<br />
*Provides<br />
*Requires<br />
*PreReqs<br />
*Conflicts<br />
и, наконец,<br />
<br />
*Prefix<br />
*BuildPreReqs<br />
*BuildRequires.<br />
<br />
Разумеется, не все из вышеперечисленных тэгов, как правило, используются, равно как встречаются и другие редко используемые тэги. В связи с тем, что ''BuildRequires'' зарезервирован для автоматически вычисляемых зависимостей, для указания особых зависимостей следует использовать ''BuildPreReq''.<br />
<br />
==== Файлы локализации. ====<br />
<br />
Если в состав пакета входят файлы локализации либо другие файлы на разных языках, стоит использовать макрос {{rpmmacro|find_lang}}. Подробная информация есть в ''/usr/lib/rpm/find-lang -h''<br />
<br />
==== Группы. ====<br />
<br />
Следите за значением тэгов ''Group'': они должны соответствовать действительности и при этом принадлежать фиксированному множеству, перечисленному в файле ''/usr/lib/rpm/GROUPS''.<br />
<br />
==== Внутрипакетные зависимости. ====<br />
<br />
При работе с мультипакетными spec-файлами соблюдайте правило внутрипакетных зависимостей: Если один пакет в какой-либо мере зависит от другого подпакета, то эта зависимость должна быть указана полностью, включая не только имя, но также верcию, релиз и serial (если есть). Например, ''Requires: %name = %version-%release''. Обратите внимание на синтаксис: знак равенства, в отличие от дефиса, окружен пробелами.<br />
<br />
==== Разделяемые библиотеки. ====<br />
<br />
Пакеты, содержащие как разделяемые библиотеки, так и использующие их программы, должны быть разделены на подпакеты таким образом, чтобы в подпакет, содержащий разделяемые библиотеки, не входили использующие их программы. Это позволит уменьшить количество циклических зависимостей. По традиции, имена пакетов, состоящих только из разделяемых библиотек, должны начинаться с префикса ''lib'' либо содержать его внутри слова. При разделении подпакетов следует помнить о внутрипакетных зависимостях.<br />
<br />
==== Статические библиотеки. ====<br />
<br />
Статические библиотеки должны паковаться в отдельные подпакеты, что связано со спецификой их использования. Если имя ''devel''-подпакета заканчивается суффиксом ''-devel'', то имя нового ''devel-static''-подпакета будет заканчиваться суффиксом ''-devel-static''. При разделении подпакетов следует помнить о внутрипакетных зависимостях: В списке зависимостей ''devel-static''-подпакета должна присутствовать зависимость от ''-devel = %version-%release''.<br />
<br />
==== Переименование пакетов. ====<br />
<br />
Иногда пакеты переименовывают. Например, это случается при упаковке разделяемых библиотек. В таких случаях следует указывать правильную информацию о зависимостях, необходимую для корректного обновления. В частности, дожен присутствовать:<br />
тэг ''Provides: старое_имя = %version''<br />
тэг ''Obsoletes: старое_имя''<br />
<br />
==== Литература ====<br />
<br />
*[http://www.rpm.org/ Официальный web-сайт rpm]<br />
*[http://lists.rpm.org/mailman/listinfo/rpm-list Список рассылки для разработчиков rpm 4.x]<br />
*[http://www.rpm.org/max-rpm-snapshot/index.html Maximum RPM], Edward C. Bailey February 17, 1997. (снэпшот книги)</div>Andyc