apt 的“买家的悔恨”

Org*_*ble 7 updates aptitude apt

今天早上我安装了一些更新,询问我是否要替换配置文件:

Configuration file '/etc/apache2/envvars'
 ==> 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.
*** envvars (Y/I/N/O/D/Z) [default=N] ? N
Run Code Online (Sandbox Code Playgroud)

我保留了当前的配置,但在那之后,我开始想:

有没有办法在事后查看新配置文件的样子?

Eld*_*eek 5

我尚未对此进行测试,但逻辑要求您可以查看正在更新的包中包含的文件。我假设您可以从此页面选择当前发行版的 apache2 包(您可以通过检查您的 dpkg.log 来确认)

DEB 文件是档案,它总是包含三个文件——debian-binary、control.tar.gz 和 data.tar.gz。我们可以使用 dpkg-deb 和 tar 命令从 deb 包中提取和查看文件,如下所示。

只需将文件从包中提取到一个临时位置。例如: dpkg-deb -x packagename.deb /tmp根据需要调整包名称和目标位置。

提取包的内容后,接下来提取包含的 data.tar.gz 组件的内容 tar -xvzf data.tar.gz

找到包含的 envvars 文件(您可以find ./ -name envvars从提取 data.tar.gz 文件的位置使用。

找到该文件后,导航到该目录并用于 diff envvars /etc/apache2/envvars显示当前配置文件与建议配置文件之间的差异。资料来源:

http://www.thegeekstuff.com/2010/04/view-and-extract-packages/

man dpkg

man dpkg-deb

man diff