如何确定/bin、/lib、/var等中哪些文件是必需的?

如何确定/bin、/lib、/var等中哪些文件是必需的?

我目前正在尝试使用其他人的文件内容来获取可用于网络启动的图像。我之前制作的保留所有原始文件的图像太大了,因此我需要缩小必要目录的大小。不过,查看这些目录的内容,例如 /bin、/dev、/etc 等,我真的无法分辨哪些对系统至关重要,哪些是特定于已安装的某些程序的额外内容(不需要)在图像上)。但我不想删除任何重要的东西。

迄今为止最大的目录是 /etc、/lib 和 /usr,它们都比我之前使用的映像的等效目录大数百 MB。正因为如此,我知道这些目录中有很多额外的东西。同时,我正在使用不同的操作系统版本(SL5 而不是 SL4),因此我不确定是否要比较和对比这些版本,特别是因为文件系统无论如何都安装了不同的东西。

有没有一种更快的方法来对需要的文件和不需要的文件进行排序,或者删除大量额外的“垃圾”文件? (例如,一项建议是删除所有标记为文档的内容,但这仍然不够。)

答案1

您不应直接从系统目录中删除文件。相反,您应该删除不需要的包。通过这种方式,系统将删除不必要的文件及其依赖项。

注意:您可以删除/var/cache.此外,旧的登录信息/var/log/可以被删除。检查未读的系统邮件(/var/mail//var/spool)。

答案2

请记住,您应该删除(而不是个人文件),我首先确保文件系统支持程序执行时访问时间的更新,然后检查哪个自上次启动以来尚未使用过。假设您的系统正常使用,那么这就是您需要的对未使用软件包的初步猜测。

我以前做过这个(一个中等复杂的脚本)。这可以通过

  • 用于find查找路径中“最近”未访问过的文件(例如, 、 等)(自上次重新启动以来/bin/usr/bin
  • 对于该列表中的每个文件,跟踪相应的包以及属于该包的最近使用的文件(您可以使用rpm -ql 包裹名字获取文件列表)。
  • 查看包列表与访问日期,并提供可能未使用的包(及其大小)的报告。

相关内容