2016-08-17 3 views
0

Я пишу файл спецификации rpm, и я хочу сохранить файл db во время обновления. Я читал документацию и до сих пор я нашел %config модификатор, сохраняющиеся конфигурации files.It есть что-то вроде:Как сохранить файл при обновлении rpm?

%file 
%config(noreplace) foo.db 

Это правильный способ сохраняться файл во время обновления оборотов в минуту?

Заранее благодарен!

+2

Да, но вы должны использовать полный путь к файлу 'foo.db'. Обратите внимание, что предыдущая версия вашего пакета, если не настроена таким образом, удалит 'foo.db' при очистке. – alvits

ответ

1

Директива% призрак.

Файлы, отмеченные как призрак, не отправляются в формате RPM. Они не устанавливаются, но они принадлежат пакету.

Вам все равно необходимо создать их в% install. Но трогательно. Итак:

%install 
touch %buildroot/var/foo 

%files 
%ghost /var/foo 

Это предназначено для файлов базы данных, файлы журналов и т.д.

+0

Мне не очень понятно, что такое ожидаемое поведение файла-призрака во время обновления. Можно ли комбинировать% config и% ghost? –

+0

% config требует информацию о файле, такую ​​как st_mtime и дайджесты содержимого файла, чтобы обнаружить «изменено». % ghost (в метаданных) - это не файл, а только путь с владельцем: group. Таким образом, ответ «нет, вы не можете смешивать% config и% ghost: нет способа обнаружить изменения». –

+0

% призрак также удалит содержимое при его удалении. это, вероятно, удивительно для сохранения содержимого базы данных. Подумайте внимательно, прежде чем использовать% ghost, чтобы сохранить файл базы данных, используя% ghost: caveat emptor. –

Смежные вопросы