【问题标题】:RPM SPEC Systemd enable and startRPM SPEC Systemd 启用和启动
【发布时间】:2019-03-27 13:45:42
【问题描述】:

我已经创建了一个 RPM SPEC 文件,但我正在努力启用和启动 Systemd。通过 yum 更新软件包会禁用并停止服务。 发行版是 Centos 7.x

我已经在 /etc/systemd/system 下安装了该服务。 这是我尝试过的,但它不起作用。

我还没有找到任何好的工作示例来说明如何做到这一点。

我将此页面用作参考。 https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_systemd https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax

    #Pre installation/upgrade of RPM section
    %pre      
      #Upgrading
      if [ $1 -eq 2 ]; then
        /usr/bin/systemctl stop %{pkgname}.service >/dev/null 2>&1 ||:
      fi

    %post
    %systemd_post %{pkgname}.service

      if [ $1 -eq 1 ]; then        
        /usr/bin/systemctl daemon-reload
        /usr/bin/systemctl start %{pkgname}.service
      fi
      if [ $1 -eq 2 ]; then
        /usr/bin/systemctl daemon-reload
        /usr/bin/systemctl start %{pkgname}.service    
      fi

   %preun
   %systemd_preun %{pkgname}.service
    #old package
    #uninstall
    if [ $1 -eq 0 ]; then
      /usr/bin/systemctl --no-reload disable %{pkgname}.service
      /usr/bin/systemctl stop %{pkgname}.service >/dev/null 2>&1 ||:
      /usr/bin/systemctl disable %{pkgname}.service

    fi
    if [ $1 -eq 1 ]; then
      /usr/bin/systemctl --no-reload disable %{pkgname}.service
      /usr/bin/systemctl stop %{pkgname}.service
    fi

【问题讨论】:

    标签: linux centos7 rpm


    【解决方案1】:

    1) %{pkgname}.service 应放在 %{_unitdir} 中,/usr/lib/systemd/system/

    2) 当你使用%systemd_post %{pkgname}.service 宏时,不需要有:

      if [ $1 -eq 1 ]; then        
        /usr/bin/systemctl daemon-reload
        /usr/bin/systemctl start %{pkgname}.service
      fi
      if [ $1 -eq 2 ]; then
        /usr/bin/systemctl daemon-reload
        /usr/bin/systemctl start %{pkgname}.service    
      fi
    

    %pre%preun 也一样。

    【讨论】:

    • /usr/lib/systemd/system 是用于用户服务的文件夹吗?我是否在 SPEC 文件中设置了 %{_unitdir},它是否应该包含路径和服务名称?
    • 该文件夹应该用于所有服务。宏应该由您的系统设置。试试rpm --eval '%{_unitdir}'
    猜你喜欢
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多