核心的原始档会占去约 20 MB 的空间, 所以你应该会想移除他. 在你移除之前, 建议你先建立一个针对你机器组态专用的核心档.
我 不建议 把核心原始档移除, 除非你确定你的机器已经设定完成. 此外, 当你要编译程式时, 你也需要核心的 #include 档.
如果你决定要移除核心原始档, 不要 移除掉 include/linux 这个路径, 除非你以後不在这台机器上编译程式.
首先决定有哪些程式是你 真的 需要的.
哪些则是多馀的: 例如你觉得你不能没有 emacs
吗? 你也可以改用 jed
.
哪些程式应该要保留是由你决定的, 下面是一些一般性的要点:
gcc
是非常大的套件.
但却是编译核心与任何原先没有的应用程式所需要的.
当然, 如果你自行撰写 C 或是 Fortran 程式时, 其中的 f2c
或 g77
也是必须的.
依据你的状况来决定是否要移除他们.
而其他的编译器如 lcc
也还不错, 只是没有 gcc
高阶, 我想你可能会留著他.
xterm
, 不要安装 100 dpi 的字型等等.
dvitty
或 dvivga
, 则你可以放弃 X11 下的预览程式, 例如 xdvi
与 ghostview
.
除去这些 X11 的软体, 也能减少 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
压缩外, 其他的资料档也可以被压缩.
相关的程式应该还是可以存取这个资料档.
理论上这个方法可以用在各种程式上.