核心的原始檔會佔去約 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
壓縮外, 其他的資料檔也可以被壓縮.
相關的程式應該還是可以存取這個資料檔.
理論上這個方法可以用在各種程式上.