checkinstall 创建的备份文件有什么用?

checkinstall 创建的备份文件有什么用?

我通过编译重新安装emacs它的来源进而sudo checkinstall。我发现checkinstall创建了一个文件

-rw-r--r--  1 root root 44628516 Apr 22 19:19 emacs_24.5-1_amd64.deb
-rw-r--r--  1 root root 56991208 Apr 22 19:19 backup-042220151919-pre-emacs.tgz

无论安装哪个软件都会checkinstall 创建备份文件,还是取决于特定软件(例如emacs)(也许取决于特定的Makefile?)?

备份文件有什么用?

我应该保留它吗?什么时候可以丢弃它?

如果需要的话我该如何使用呢?

答案1

当您使用 来安装软件包时checkinstall,它会自动为当前安装的软件包创建备份 tarball(如果存在)(这取决于./configure --prefix=/dir)。名称是:backup-<datetime>-pre-<packagename>-<version>.tgz在您正在构建包的目录中。如果您的新软件包出现任何问题,您可以使用以下命令回滚到以前的版本:

tar -xzvf backup-<datetime>-pre-<packagename>-<version>.tgz -C /

您将保留此备份多久取决于您。

附加信息:

  1. 当您运行时,checkinstall它会问您几个问题:

    该包将根据以下值构建:

     ...
     3 -  Version: [ x.y.z ]
     ...
    

所以你的备份应该是:backup<datetime>-pre-<packagename>-x.y.z.注意这个词

  1. 如果已安装的软件包安装在 中/usr/bin,并且您--prefix=/usr/local/ checkinstall不会备份安装在 中的软件包/usr/bin

  2. 我认为你的备份存档是相对于/.和

    tar -xzvf backup-<datetime>-pre-<packagename>-<version>.tgz -C /

需要,sudo因为它将文件放置在普通用户无权访问的文件夹中write

相关内容