какого пользователя / владелец файла для использования при создании debian пакетов?

Мы создаем простой двоичный пакет для военного файла и некоторых сценариев с помощью dpkg-deb.

Одна проблема, это говорит, что мы делаем это как локальный пользователь, позвонивший "глупо", затем файлы в пакете будут принадлежать глупо.

Когда мы позже пытаемся установить этот пакет как корень, мы были удивлены, что файлы, он вставил/opt/ourpackage, все все еще принадлежали глупо.

Теперь глупая пользовательская привычка существует на большинстве машин народов, поэтому что лучший способ состоит в том, чтобы обработать это?

Мы предполагаем, что существует две опции:

  1. заставьте все файлы принадлежать пользователю, которого мы можем принять, существует на всех серверах - т.е. корень.
  2. создайте некоторые сценарии перед установкой, которые создают глупое (или соответствующий) пользователь сначала.

Какой метод рекомендуется?

ЕСЛИ ответ равняется 2, у кого-либо есть какие-либо проверенные на практике сценарии, которые мы могли бы добавить к пакету, чтобы сделать это?

Мы выбрали бы option1, но этому препятствует то, что "пользователь", который будет создавать и создавать пакеты, является jenkins, таким образом, наклон легко создает файлы, принадлежавшие корню.

3
задан 18 February 2016 в 14:49

2 ответа

Решение в конце состояло в том, чтобы использовать fakeroot (sudo apt-get install fakeroot).

Затем поставщик программного блока может владеть файлами, которые будут упакованы, но когда мы работаем:

fakeroot dpkg-deb --build debian

это имитирует разработчика, чтобы думать, что все файлы принадлежат корню, и угождает lintian и устанавливает файлы как корень на целевом сервере.

4
ответ дан 1 December 2019 в 15:55

В эти дни вы можете использовать --root-owner-group вместо fakeroot, чтобы создать пакет, в котором все файлы будут развернуты как root.

dpkg-deb --root-owner-group --build $builddir $outputdeb
5
ответ дан 22 December 2019 в 19:58

Другие вопросы по тегам:

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