コンテンツのダイエット

-ダイナミックライブラリとスタティックが両方ある場合、スタティックライブラリのみ残す
~*_pic.a, *_p.aは無条件に削除 [#tfde0d4d]
 # cd /opt/fi/4.8
 # make open-media
 # make open-fuguita
 # find fuguita -type f -print0 | xargs -0 file > file_types 2> file_types.err
 # awk '/ELF 32-bit LSB shared object/ { print $1 }' file_types | cut -d: -f1 | sort > dynlibs
 # sed -e 's/\(.*\)\.so.*/rm \1*.a/' dynlibs | sh
 # find fuguita -name  '*.a' -print > dynlibs2
 # vi dynlibs2
 # rm fuguita/{usr/lib,usr/X11R6/lib}/{*_p.a,*_pic.a}

-可能な限りstrip
 # cd /opt/fi/4.8
 # awk '/not stripped/ { print $1 }' file_types | cut -d: -f1 | sort > notstripped
 # vi notstripped ; #libexec/* mdec/* ld.soなどはstripしないこと
 # cat notstripped 
 # cat notstripped | xarg strip
 # cat notstripped | xargs strip

-サイズが大きくて使用頻度の殆どないものは削除
 # ls -lS `find fuguita -type f -size +655360c -print` | less
 # cd fuguita/usr/X11R6/bin
 # rm Xvfb Xnest 
 # cd ../man/
 # rm */*Xnest*
 # ls -l */*Xvfb*
 # rm */*Xvfb*

-driドライバは基本、消すです。
 # cd lib/modules/
 # ls
 # cd dri
 # du -sh .
 # ls -lSr
 # mv -i swrast_dri.so ..
 # rm *
 # mv ../swrast_dri.so .

-infoファイルを圧縮
 # cd ../share/info/
 # ls
 # mv -i dir ..
 # gzip *
 # ls -l
 # mv ../dir .

-manを圧縮 ~
複数のリンクを持つエントリがあるので、専用のスクリプトで処理
 # cd ../man/
 # /opt/fi/4.8/lib/compress_man.sh
 # df -h
 # sync
 # pwd
 # cd ../../X11R6/man/
 # ls
 # /opt/fi/4.8/lib/compress_man.sh

-ディスクの空き領域をzero fill ~
ISOイメージを圧縮する場合などに有効
 # dd if=/dev/zero of=fuguita/tmp/fill
 # dd if=/dev/zero of=fuguita/tmp/fill bs=1024k
 # cd fuguita/tmp/
 # cat fill >> fill
 # ls -l
 # rm fill
Top Index Search Recent Backups  Help  RSS