Мы создаем простой двоичный пакет для военного файла и некоторых сценариев с помощью dpkg-deb.
Одна проблема, это говорит, что мы делаем это как локальный пользователь, позвонивший "глупо", затем файлы в пакете будут принадлежать глупо.
Когда мы позже пытаемся установить этот пакет как корень, мы были удивлены, что файлы, он вставил/opt/ourpackage, все все еще принадлежали глупо.
Теперь глупая пользовательская привычка существует на большинстве машин народов, поэтому что лучший способ состоит в том, чтобы обработать это?
Мы предполагаем, что существует две опции:
Какой метод рекомендуется?
ЕСЛИ ответ равняется 2, у кого-либо есть какие-либо проверенные на практике сценарии, которые мы могли бы добавить к пакету, чтобы сделать это?
Мы выбрали бы option1, но этому препятствует то, что "пользователь", который будет создавать и создавать пакеты, является jenkins, таким образом, наклон легко создает файлы, принадлежавшие корню.
Решение в конце состояло в том, чтобы использовать fakeroot (sudo apt-get install fakeroot
).
Затем поставщик программного блока может владеть файлами, которые будут упакованы, но когда мы работаем:
fakeroot dpkg-deb --build debian
это имитирует разработчика, чтобы думать, что все файлы принадлежат корню, и угождает lintian и устанавливает файлы как корень на целевом сервере.
В эти дни вы можете использовать --root-owner-group
вместо fakeroot
, чтобы создать пакет, в котором все файлы будут развернуты как root
.
dpkg-deb --root-owner-group --build $builddir $outputdeb