内核源代码占用超过 20 Mb 的空间,您可能想要移除它们。如果是这样,我建议您编译一个新的内核,使其完全适合您的机器,然后移除源代码。不过,请务必小心。
我不建议您移除内核源代码,除非您确定您的机器配置正确。此外,您需要内核 #include 文件来编译 C 程序。请三思!
如果您确实决定这样做,请勿移除 include/linux 目录树,除非您知道您永远不会在您的机器上编译应用程序。
现在,决定您真正需要哪些应用程序。有些可能证明是多余的:例如,您确定您不能没有 emacs
吗?您可以改用 jed
。
这取决于您决定保留什么。一些通用要点:
gcc
是一个相当大的软件包。重新编译内核和所有没有预构建 Linux 二进制文件的应用程序都需要它。当然,如果您编写自己的 C 或 Fortran(使用 f2c
或 g77
)程序,也需要它;在移除它之前考虑您的需求。其他编译器如 lcc
也不错,但达不到 gcc
的水平。我建议您保留它;xterm
、没有 100 dpi 字体等等;dvitty
、dvivga
等,则可以放弃像 xdvi
和 ghostview
这样的 X11 预览器。消除对 X11 dviware 的需求甚至可能使 X11 变得多余;
让我们开始减小二进制文件的大小。移动到 /usr/bin 并发出命令
machine:/usr/bin# strip *
这将去除嵌入在二进制文件中的符号。在 /usr/X11R6/bin/ 和您可能拥有的其他包含可执行文件的目录中重复此步骤(不要忘记定位 TeX 和 gcc
的二进制文件),但如果您重视您的安装,请勿在 /sbin、/bin 或 /usr/sbin/ 下运行它!
upx
压缩
首先,安装 upx
并阅读其文档。然后转到 /usr/bin 并使用命令 upx *
运行它;它将压缩所有可执行文件,包括 suid 文件(tcx
不会)。在如上所述的其他目录中重复此步骤。
记住在每次安装新软件包时压缩可执行文件!
还有许多其他文件可以一劳永逸地进行压缩。让我们从 /usr/doc/ 开始;移动到此目录并发出命令
machine:/usr/doc# find . -type f -exec gzip -9 {} \; 2> /dev/null
记住在每次安装新软件包时压缩文档!
在包含 TeX 文档的目录中重复此步骤(在我的系统上,是 /usr/lib/texmf/texmf/doc/。如果您真的确定,则完全移除这些目录。
现在,安装 zlibc
并编译它。如果您的系统像我的一样,编译过程将中止并抱怨缺少(静态)libc。没关系;您会找到一个名为 uncompress.o
的文件,这就是所需的。将其移动到 /usr/local/lib/ 并将此行添加到您的 /etc/profile
export LD_ELF_PRELOAD=/usr/local/lib/uncompress.o
现在,您可以使用 gzip
不仅压缩文档,还可以压缩数据文件:使用它们的应用程序仍然能够使用它们。理论上,这个技巧应该适用于大多数应用程序,但实际上您的成功程度可能会有所不同。我的效果相当一般。