Debian: создайте пользователя во время упаковки - PullRequest
1 голос
/ 25 июня 2009

Я переупаковываю некоторое программное обеспечение (которое имеет свой собственный установщик) для частного использования в системе на основе Debian. Это программное обеспечение уже скомпилировано (без исходного кода), поэтому я запускаю установщик в дерево $DESTDIR.

К сожалению, установщик требует, чтобы системное имя пользователя и имя группы были предварительно созданы. Теперь я знаю, что это просто сделать вручную, перед сборкой (и установкой) пакета Debian. Но мне интересно, можно ли дать команду debuild «подделать создание пользователя» (при запуске с правами root с помощью fakeroot). Редактирование файлов debian/preinst.ex и debian/postrm.ex работает для выполнения этих операций, но это также касается этапа build , когда эти пользователи становятся ненужными после сборки.

Таким образом, в основном это означает, что инструменты сборки Debian (и инструменты, работающие внутри сборки) должны «верить», что определенный пользователь уже существует. Если не работать в среде chroot (например, pbuilder), как я могу это сделать?

1 Ответ

2 голосов
/ 29 сентября 2010

Немного поздно, но мое лучшее предположение было бы LD_PRELOAD, что требует построения отдельного C-файла, скомпилированного в динамическую библиотеку, которая может переопределить, например, getpwnam() Это, вероятно, то, что установщик использует для проверки пользователя.

Но сначала я бы действительно посмотрел, нельзя ли принудительно установить "установщик" в распакованный режим. Многие установщики могут, используя скрытые опции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...