Mkimage/FAQ: различия между версиями

Материал из ALT Linux Wiki
м (+2)
м (fs.protected_hardlinks)
Строка 4: Строка 4:


'''A:''' {{path|image-scripts.d/*}} выполняются в chroot собранной стадии; {{path|scripts.d/*}} — в инструментальном chroot-е после установки пакетов и до архивации результата, что позволяет копировать файлы из/в chroot; см. тж. [http://git.altlinux.org/gears/m/mkimage.git?p=mkimage.git;a=blob;f=doc/README.ru;hb=HEAD README.ru].
'''A:''' {{path|image-scripts.d/*}} выполняются в chroot собранной стадии; {{path|scripts.d/*}} — в инструментальном chroot-е после установки пакетов и до архивации результата, что позволяет копировать файлы из/в chroot; см. тж. [http://git.altlinux.org/gears/m/mkimage.git?p=mkimage.git;a=blob;f=doc/README.ru;hb=HEAD README.ru].
 
<hr>
'''Q:''' как задать для сборки другой репозиторий?
'''Q:''' как задать для сборки другой репозиторий?


'''A:''' придётся [[APT в ALT Linux/CreateRepositoryMirror#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5|оформить]] дополнительную пару {{path|apt.conf}}+{{path|sources.list}}.
'''A:''' придётся [[APT в ALT Linux/CreateRepositoryMirror#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5|оформить]] дополнительную пару {{path|apt.conf}}+{{path|sources.list}}.
 
<hr>
'''Q:''' как подсунуть репозиторий с пакетом другой версии?
'''Q:''' как подсунуть репозиторий с пакетом другой версии?


'''A:''' если он заведомо старше по версии — просто добавить в соответствующий {{path|sources.list}}; если младше или неизвестно, но надо именно этот — придётся добавить в системный {{path|/etc/apt/preferences}} или частный файлик, указанный в <tt>Dir::Etc::preferences</tt>; см. тж. [[downgrade]] и <tt>apt_preferences(5)</tt>.
'''A:''' если он заведомо старше по версии — просто добавить в соответствующий {{path|sources.list}}; если младше или неизвестно, но надо именно этот — придётся добавить в системный {{path|/etc/apt/preferences}} или частный файлик, указанный в <tt>Dir::Etc::preferences</tt>; см. тж. [[downgrade]] и <tt>apt_preferences(5)</tt>.
<hr>
'''Q:''' сборка прерывается с EPERM, это что за новости?
<pre>mki-copy-our2out: has started executing.
'./rescue' -> '.../rescue/.work/.out/rescue'
cp: cannot create hard link '.../rescue/.work/.out/rescue' to './rescue': Operation not permitted</pre>
'''A:''' это protected hardlinks в Linux 3.6+; следует обновить {{pkg|mkimage}} до [http://lists.altlinux.org/pipermail/sisyphus/2013-October/361584.html 0.2.9] или выше и установить {{pkg|mkimage-preinstall}}, что отключит эту включенную по умолчанию фичу (она скорее полезна в общем случае, но для целей сборки образов [http://lists.altlinux.org/pipermail/sisyphus/2014-April/362278.html недостатки перевешивают]).

Версия от 09:49, 14 августа 2014


Q: чем различаются image-scripts.d и scripts.d?

A: image-scripts.d/* выполняются в chroot собранной стадии; scripts.d/* — в инструментальном chroot-е после установки пакетов и до архивации результата, что позволяет копировать файлы из/в chroot; см. тж. README.ru.


Q: как задать для сборки другой репозиторий?

A: придётся оформить дополнительную пару apt.conf+sources.list.


Q: как подсунуть репозиторий с пакетом другой версии?

A: если он заведомо старше по версии — просто добавить в соответствующий sources.list; если младше или неизвестно, но надо именно этот — придётся добавить в системный /etc/apt/preferences или частный файлик, указанный в Dir::Etc::preferences; см. тж. downgrade и apt_preferences(5).


Q: сборка прерывается с EPERM, это что за новости?

mki-copy-our2out: has started executing.
'./rescue' -> '.../rescue/.work/.out/rescue'
cp: cannot create hard link '.../rescue/.work/.out/rescue' to './rescue': Operation not permitted

A: это protected hardlinks в Linux 3.6+; следует обновить mkimage до 0.2.9 или выше и установить mkimage-preinstall, что отключит эту включенную по умолчанию фичу (она скорее полезна в общем случае, но для целей сборки образов недостатки перевешивают).