代码之家  ›  专栏  ›  技术社区  ›  boardrider Patrick K

%config(noreplace)是否足以指示RPM在升级时不要接触配置文件?

  •  1
  • boardrider Patrick K  · 技术社区  · 7 年前

    在我的Redhat7.4上,我正在用CMake创建一个RPM,我想给RPM的一个说明是——不要使用某个配置文件,以防操作是升级。

    mcve ):

    cmake_minimum_required(VERSION 3.4.0 FATAL_ERROR)                                                                                                                                                                  
    project(MyKibana)
    
    set(kibana_version 6.2.2)
    set(kibana_dir /usr/share/mykibana)
    
    list(APPEND CPACK_RPM_USER_FILELIST                                                                                                                                                
      "%config(noreplace) ${kibana_dir}/config/kibana.yml"
      )
    

    然而,当我 sudo yum upgrade /tmp/my-kibana-6.2.2-577-g7cca696.el7.my.x86_64.rpm -y ,我看到文件在 /usr/share/mykibana/config/kibana.yml 是 覆盖 使用RPM中的文件。

    除了工作之外,还有什么我需要做的吗 %config(noreplace)

    1 回复  |  直到 7 年前
        1
  •  4
  •   Chris Maes    7 年前

    行为 rpm 对于配置文件,理解起来相当复杂。

    %config(noreplace) 不会替换您的配置文件 如果你改变了它 . 如果您没有触摸配置文件,它将 总是

    为了更透彻的了解,;请参阅此精彩页面: http://people.ds.cam.ac.uk/jw35/docs/rpm_config.html