/var/lib/update-rc.d/xxx 有什么用?

/var/lib/update-rc.d/xxx 有什么用?

我发现中有一些文件/var/lib/update-rc.d/,例如:

$ more /var/lib/update-rc.d/exim4
update-rc.d exim4 defaults

唯一的内容是一个update-rc.d命令将服务添加到默认级别。

那么,这些文件有什么用?它们可以被删除吗?

答案1

update-rc.d命令是一个 perl 脚本:

$ file `which update-rc.d`
/usr/sbin/update-rc.d: a /usr/bin/perl script, ASCII text executable

我不擅长 perl,但从我的理解和它的变量名来看:

my $archive = "/var/lib/update-rc.d";

sub save_last_action {
    my ($script, @arguments) = @_;

    return if $notreally;

    open(FILE, ">", "$archive/${script}.new") || die "unable to write to $archive/${script}.new";
    print FILE join(" ","update-rc.d",@arguments), "\n";
    close(FILE);
    rename "$archive/${script}.new", "$archive/${script}";
}

sub remove_last_action {
    my ($script) = @_;
    unlink "$archive/$script";
}

它只是记录 update-rc.d. 的最后一个操作(命令),然后删除,没有任何影响

答案2

几乎可以肯定的是,这样做会冒着破坏某些东西的风险。man file-hierarchy

   /var/lib
       Persistent system data. System components may place private data 
       in this directory.

这意味着他们可能希望找到它。除非您知道如何备份系统,否则不要删除它们。我们在这里收到足够的“嗨,我刚刚做了$SOMETHING_REALLY_STUPID,我如何将我的机器恢复到以前的状态?”问题。

您可以运行du -hs /var/lib/update-rc.d。您可能会发现占用的空间很小。

相关内容