Yazdığımız bir hizmet için bana kısmen tamamlanmış bir RPM spesifikasyonu verildi. Gerekli dizinleri yapmak, dosyaları kopyalamak, izinleri ayarlamak vb. Kadar sürer, ancak hizmetin altında çalışacağı gerekli sistem hesabını oluşturmaz. RPM'nin bununla ilgilenmesinin en iyisi olduğu söylendi, bu yüzden ekledim
Requires(pre): /usr/sbin/useradd
%pre
useradd -r -d /path/to/program -s /bin/false myservice
Bu, kullanıcı hesabını (ve ilişkili grubu) oluşturmayı başarır, bu nedenle daha sonra, hizmet dosyalarında sahiplik / izinler ayarlamaya çalıştığında da başarılı olur.
Şu anki sorunum: a) kullanıcı hesabı zaten varsa, RPM yüklemesi başarısız olduğu için useradd
başarısız olur (kullanıcı zaten var olduğu için); ve b) rpm -e myservice
İlişkili kullanıcı ve grubu nasıl kaldıracağımı bilmiyorum .