应用程序调用rpm更新自身问题

时间:2018-09-10 13:38:03

标签: linux unix rpm yum dnf

我试图通过调用RPM数据包管理器(现在为DNF)来安装包含更新的RPM,以允许应用程序进行自我更新。问题在于,当数据包管理器卸载应用程序时,服务将停止并且数据包管理器将被杀死,然后才能安装新的RPM。

是否有任何方法可以分离数据包管理器进程以使其完成更新?

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您对更新的运行方式有多少控制权。

一个可能的选择是在由cron作业运行的程序中检查更新以及更新本身。 RPM安装cron作业是很常见的,如果停止了与该应用程序相关的服务,则cron作业也不会停止。

如果必须由服务直接启动更新,并且您可以控制调用更新的方式,则可以使用at命令来运行它。有关使用的示例,请参见Run command 'at' 5 seconds from now。此更新将由单独的服务运行,因此停止服务时不会停止更新。但是,这需要安装

cfg.CreateMap<NModel, NEntity>().ForMember(entity => entity.NRIntermediates , model => model.MapFrom(x => x.components.Select(y => new NRIntermediate() { ComponentID = y.Id, NID = x.Id }).ToList<NRIntermediate>()));
atd守护程序才能运行。