Ошибка монтирования nfs: причина указана сервером: нет такого файла или каталога

Ух ты, удивлен, что пока никто не ответил "оверлейфы".

На самом деле у меня есть два предложения. Первый - использовать overlayfs, что, по сути, именно то, что вы описываете, с одной оговоркой. Overlayfs (стандарт, начиная с Linux 3.18 или около того) позволяет вам читать из двух виртуально объединенных деревьев каталогов при записи только в одно из них. Что бы вы сделали, так это возьмите быстрое хранилище (например, tmpfs) и наложите его на том NFS, а затем выполните компиляцию в наложенном слиянии двух. Когда вы закончите, записи в любой файл в NFS не выполняются, а другая файловая система хранит все ваши изменения. Если вы хотите сохранить изменения, вы можете просто выполнить их повторную синхронизацию с NFS. Вы даже можете исключить файлы, которые вам не нужны, или просто вручную выбрать несколько файлов из результата.

Вы можете увидеть относительно простой пример overlayfs в моем небольшом проекте: https://github.com/nrdvana/squash-portage/blob/master/squash-portage.sh Этот скрипт также показано, как использовать UnionFS в случае, если вы используете более старое ядро, у которого нет overlayfs.

В моем случае команда rsync, используемая Gentoo для обновления своей библиотеки программного обеспечения, занимает безумно много времени, поскольку она имеет миллионы операций записи на крошечный диск. Я использую overlayfs для записи всех изменений в tmpfs, а затем я mksquashfs для создания сжатого изображения дерева. Затем я выбрасываю tmpfs и монтирую сжатый образ на его место.

Мое второе предложение - сборка "из дерева".Идея в том, что у вас есть исходный код и make-файлы в одном дереве, и вы говорите automake сгенерировать все свои промежуточные файлы в отдельном дереве, которое является зеркалом первого.

Если вы К счастью, ваш инструмент сборки (automake или еще что-то) уже умеет это делать. Если вам не повезло, вам, возможно, придется потратить несколько головных болей на то, чтобы возиться с вашими make-файлами.

2
27.08.2017, 01:30
0 ответов

Теги

Похожие вопросы