为什么 apt-get install 要求更新 nginx.conf ?如何使用 chef 解决这个问题?

为什么 apt-get install 要求更新 nginx.conf ?如何使用 chef 解决这个问题?

我尝试使用 chef 脚本安装一些与 nginx 无关的软件包(例如 htop)。但失败了,因为它要求更新 nginx.conf 和 nginx/sites-available/default。我可以使用 chef 选择。(我也不想覆盖它,因为我想了解并解决问题,而不是逃避它)

因此,我尝试通过运行命令自行安装 htop sudo apt-get install htop,并得到以下输出。

ubuntu@ip-10-150-4-249:~⟫ sudo apt-get install htop
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  htop
0 upgraded, 1 newly installed, 0 to remove and 160 not upgraded.
3 not fully installed or removed.
Need to get 68.0 kB of archives.
After this operation, 188 kB of additional disk space will be used.
Get:1 http://ap-southeast-1.ec2.archive.ubuntu.com/ubuntu/ trusty/universe htop amd64 1.0.2-3 [68.0 kB]
Fetched 68.0 kB in 0s (5,762 kB/s)
Selecting previously unselected package htop.
(Reading database ... 80711 files and directories currently installed.)
Preparing to unpack .../htop_1.0.2-3_amd64.deb ...
Unpacking htop (1.0.2-3) ...
Processing triggers for mime-support (3.54ubuntu1.1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up nginx-common (1.8.0-1+trusty1) ...

Configuration file '/etc/nginx/nginx.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** nginx.conf (Y/I/N/O/D/Z) [default=N] ? 

然后我尝试安装sudo apt-get install vim已经安装的 cmake,但仍然出现同样的错误。输出如下

ubuntu@ip-10-162-36-233:~⟫ sudo apt-get install vim
Reading package lists... Done
Building dependency tree       
Reading state information... Done
vim is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 171 not upgraded.
3 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up nginx-common (1.8.0-1+trusty1) ...

Configuration file '/etc/nginx/nginx.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** nginx.conf (Y/I/N/O/D/Z) [default=N] ? 
  1. 我想了解为什么每次都会发生这种情况?
  2. 有什么方法可以预防这种情况发生?因为它会阻止我的厨师脚本。
  3. 我如何使用 chef 修复此问题?

答案1

Chef 以非交互模式运行 apt,因此这些提示不会显示 Chef 的包资源,而始终使用 Chef 部署的文件版本。

相关内容