Mac OS X 10.5 (Leopard) に Tiger(10.4) からアップグレードした場合、Tiger の man ページが /usr/share/man に残ってしまいます。これではシステムにインストールされているUNIX コマンドの man ページの閲覧に支障を来しますので、古い Tiger の man ページを ruby スクリプトで消します。
require 'find'
pages = Hash.new { |h, k| h[k] = [] }
Find.find('/usr/share/man') do |path|
stat = File.lstat(path)
next unless stat.file?
base = File.basename(path)
base.sub!(/\.gz$/,'')
base.sub!(/(\.\d)[^\.]*$/, '\1')
pages[base] << { :path => path, :mtime => stat.mtime }
end
pages.each do |base, files|
next if files.size == 1
ordered = files.sort_by { |f| f[:mtime] }
ordered.pop
ordered.each { |f| File.unlink(f[:path]) }
end上記のスクリプトを manpages.rb という名前で保存して sudo で実行すると古い man ページが削除されます。
実行する前に /usr/share/man のバックアップを推奨します。
sudo ruby ./manpages.rb
Leopard の man ページはすべて gzip されたファイルなので、.gz 以外 のファイルを削除します。
- rubyスクリプトのダウンロード
- 参考ページ
Leopard and X11 http://forums.macosxhints.com/showthread.php?t=80171&page=3
