Ble*_*der 24 linux strip disk-usage small-distribution kiosk
我一直在构建一个 Linux 发行版,并且我已经剥离了二进制文件等。该系统不会使用 GCC 或开发工具,因为它将是一个 Chrome kiosk,所以如果我可以剥离系统,将会有很大帮助...
我想知道,有没有办法通过观察运行时使用的文件/库来删除所有未使用的系统文件(如二进制文件等)?也许另一种方法是首选,但有没有办法完成这样的事情?
Sha*_*off 11
有像Bootchart这样的程序可用于显示您在启动期间运行的程序 - 您可能可以在启动后继续运行以查看会话期间调用的内容。
更好的解决方案可能是使用重新制作工具。
有针对Fedora、Ubuntu等的重新制作工具;您可以使用这些来自定义发行版。
你可能想看看Tiny Core Linux。还有一个人也在为此编写 remaster 脚本。
除其他事项外,您希望删除不需要的所有内容。确保文件系统已atime完全启用;你可以在/etc/fstab. 当前的默认值是relatime但您只想使用atime. 每次访问文件时,时间戳都会更新。然后使用几天来查看哪些文件从未更新过 atime。我会在 VM 中完成所有这些操作,并且非常小心,因为我想当系统处于只读模式时会读取一些文件。注意:noatime一旦你准备好生产就设置它,否则你每次阅读都会写一次;这是低效的。
老实说,我会看看Damn Small Linux;你真的需要比那个小吗?根据他们的发行版构建你的,只需删除窗口管理器和一些额外的程序。保留所有命令行工具,如果您需要修复或重新加载,您就拥有了 shell。
假设您使用的是 Debian 或其衍生产品
经过几天(大量)使用后,运行popularity-contest. 它将在底部显示最旧的未使用包。卸载它们,但要注意是否安装了依赖于它们的东西。
这是输出的一个片段:
1294222606 1292570417 vlc /usr/lib/vlc/plugins/gui/libqt4_plugin.so
1294222606 1292570109 xulrunner-1.9.2 /usr/share/xulrunner-1.9.2/chrome/classic.jar
1294222606 1292507839 ttf-dejavu-extra /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
1294222606 1292507459 x11-utils /usr/bin/xprop
Run Code Online (Sandbox Code Playgroud)
列表示atime、ctime、package-name和file access。