LINUX.ORG.RU

[gentoo, portage] Small Portage Tree (UnionFS)


0

1

Я давно использую упакованное дерево портежей, по популярной некогда хавтушке. Проблема в том, что приходится каждый раз при обновлении патчить ядро, на предмет добавления туда поддержки UnionFS. Хотя давно в портежах существуют такие вещи как sys-fs/aufs2, sys-fs/aufs3 и sys-fs/unionfs-fuse, но мой давнишний опыт установки какой-то из этих радостей всегда был отрицательным и приходилось вручную патчить ядро.

Как с этим дела обстоят сейчас и что из этого подойдет, чтобы заменить вот это? И еще, после установки нужный модуль ядра появится сам или надо лезть в конфигуратор ядра и так же включать ручками? Попробовал бы сам, но не верю в успех сего предприятия, боюсь разворотить систему, пока все работает - не трогаю.

★★

Ответ на: комментарий от yaba

Единственный минус, который я засек при переходе на zen-kernel-это адский скрип диска)

Vekt ()
Ответ на: комментарий от yaba

Что-то вы сами себе противоречите, я, конечно, не уверено на все 100 процентов, но по-моему UnionFS сейчас не разрабатывается, а разрабатывается как раз AUFS (AnotherUnionFS). К тому же UnionFS нет под современные ядра.

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

Что-то вы темните, вы точно используете source-based дистрибутив (Gentoo)?

yaba

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

Ставите исходники ядра, хоть gentoo-sources, затем получаете патч под версию исходников из git, там патч для ядер 3.X.X есть aufs-3.0 и aufs-3.1, накладываете его, затем запускаете:

make menuconfig 
или
genkernel --menuconfig

Включаете поддержку aufs модулем или монолитно, лучше конечно монолитно, собираете ядро и модули.

yaba

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

Если вы боитесь и не уверены в успехе как жу вы зажимали с использованием unionfs, по крайней мере вы пишете:

yaba

Я давно использую упакованное дерево портежей

Зачем писать то, что не делали, если бы вы сделали, то не боялись.

Не знаю чего вы боитесь, я использую aufs, у меня весь /usr зажат в squashfs образ и монтируется с помощью aufs, также /usr/portage, но он в отдельном архиве.

И система нормально грузится.

Вот интересная для вас статься megabaks
http://optimization.hardlinux.ru/?page_id=997

kostik87 ★★★★★ ()
Ответ на: комментарий от Vekt

Вы откуда их ставите, из дерева портэжэй ?

Там старая версия, последняя стабильная, скачанная сайта проекта, вот отсюда : http://git.zen-kernel.org/zen-stable/ , 3.1 уже не содержит патча aufs, они там другими патчами поломали совместимость и патч просто не накладывается, в версии 3.0 все ещё есть aufs, будем надеяться, что поправят.

Поэтому проще самому получить патч и наложить, к примеру, на gentoo-sources последней версии, я так и сделал, можно и на vanilla-sources.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Я написал, чего хотел написать. У меня сейчас на gentoo-sources-3.1.6 наложен http://download.filesystems.org/unionfs/unionfs-2.x-latest/unionfs-2.5.10_for... соотв. пункт в конфигураторе ядра так же появился, скомпилено модулем и все работает.

Из статьи понятно, что надо ставить aufs2, с ней как раз у меня и были проблемы, поэтому до сих пор патчу ядро.

yaba ★★ ()
Ответ на: комментарий от yaba

Если вас unionfs устраивает, хорошо, по сути эти файловые обе каскадные и решают одинаковые задачи.

Раз вы накладываете патч для поддержки unionfs то можете попробовать и aufs, ни чего сложного. Я поддержку aufs собираю монолитно, т.к. на одной системе у меня весь корень, от /bin до /usr в squashfs образе, кроме /home и /boot естественно, они на отдельных разделах, конечно /vat/tmp/portage, /var/run, /var/lock, /var/tmp и /tmp на tmpfs.

Для изменения данных монтирую отдельный раздел, точнее директорию, структура примерно такая:

<partition>/
<partition>/root.squashfs
<partition>/portage.squashfs
<partition>/ro
<partition>/ro/root
<partition>/ro/portage
<partition>/rw

В ro/root монтируется образ root.squashfs, в котором зажат весь корень и через aufs rw каскадно монтируется на '/', естественно сценарий init в initrd пришлось писать самому, что бы проводил нужные операции.

Поэтому aufs собрано монолитно, что бы не «запихивать» его в initrd, который я при обновлении ядра не трогая, подходит для всех ядер. И вам посоветовал.

Но зачем вы хотите пробовать aufs, если у вас с unionfs всё работает ?

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Если вас unionfs устраивает, хорошо, по сути эти файловые обе каскадные и решают одинаковые задачи.

Ну я как бы в курсе. :-)

Но зачем вы хотите пробовать aufs, если у вас с unionfs всё работает ?

Чтобы не париться с наложением патча каждый раз, иногда выходит так, что патч не накладывается (совсем устарел). Т.е. чтобы избавиться от этой лотереи и вообще автоматизировать процесс обновления, доверив его системным средствам.

У Вас весь корень в SquashFS, это для оптимизации, как в статье или это флешка? Если для оптимизации, сильно помогло?

yaba ★★ ()
Ответ на: комментарий от yaba

yaba

У Вас весь корень в SquashFS, это для оптимизации, как в статье или это флешка? Если для оптимизации, сильно помогло?

Для оптимизации. Замеры не проводил, но заметно на глаз, система грузится быстрее, жёсткий диск не «хрустит», все по сути в начале его объёма находится, хотя он у меня и так достаточно производительный WD Black., под систему. Но скорость загрузки не главное, хотя это тоже приятно, скорее всего на это повлиял ещё свой init сценарий и то, что не загружаются модули с initrd и диска при старте системы, всё в ядре. А главное то, что приложения стали ощутимо быстрее запускаться, почти мгновенно, т.к. размер данных, которые нужно считать с диска стал меньше, примерно раза в два, я использовал squashfs+xz.

К тому же, почти не страшно проводить некоторые обновления, т.к. в случае серьёзных проблем можно почистить '<partition>/rw' и система вернётся к предыдущему состоянию.

К тому же легко её перенести на флешку, скопировал squashfs образы на неё, выставил метку на файловую систему флешки, указал её в параметрах ядра для init сценария в initrd и всё, можно сказать своя система всегда с собой.

kostik87 ★★★★★ ()
Ответ на: комментарий от kostik87

Не моглибы Вы подробнее расписать как сделать и подключить root в squashfs (aufs). Есть коробка с двумя гигами DOM, надо умудрится туда что-то нормальное установить, без сжатия не обойтись. И сжать нужно весь корень (кроме папки boot естественно), а не отдельные папки... В линуксе пока познания не очень, поэтому прошу помощи...

MiraMaX166 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.