Tôi đã được cung cấp thông số RPM hoàn chỉnh một phần cho dịch vụ chúng tôi đang viết. Nó có được như tạo các thư mục cần thiết, sao chép tệp, thiết lập quyền, v.v., nhưng nó không tạo tài khoản hệ thống cần thiết mà dịch vụ sẽ chạy theo. Tôi được thông báo rằng tốt nhất là RPM nên quan tâm đến vấn đề này, vì vậy tôi đã thêm
Requires(pre): /usr/sbin/useradd
%pre
useradd -r -d /path/to/program -s /bin/false myservice
Điều này thành công trong việc tạo tài khoản người dùng (và nhóm được liên kết), vì vậy sau này khi nó cố gắng đặt quyền sở hữu / quyền trên các tệp của dịch vụ, điều đó cũng thành công.
Vấn đề hiện tại của tôi là, a) nếu tài khoản người dùng đã tồn tại, cài đặt RPM không thành công vì useradd
không thành công (vì người dùng đã tồn tại); và b) Tôi không biết làm thế nào để rpm -e myservice
loại bỏ người dùng và nhóm liên quan.