ライブラリに加えた変更を、簡単に元に戻す方法
概要
ソフトウェア開発をしていると、システムにインストールされているライブラリを変更したいときがあります(スクリプト言語を使っている場合はとくに)。たとえば、挙動を確かめるためにprint文を加える、といった場合です。しかし、システムのライブラリを変更したあと、またすべてを元に戻せるか、という心配があります。この記事では、その心配を解消する方法について述べます。
方法
次の方法でライブラリを変更します。
1. 元のファイルを.origという拡張子をつけて保存します。
$ sudo cp foo foo.orig
2. ライブラリを変更し、目的を達成します。
3. 以下のRubyスクリプトorig.rbを実行します。
# ruby require "fileutils" require "find" now = Time.now.strftime("%Y%m%d%H%M%S") Find.find(ARGV[0]) do |path| next if /\A(.*)\.orig\Z/ !~ path FileUtils.mv($1, "#{$1}.#{now}") FileUtils.mv(path, $1) end # vim: tabstop=2 shiftwidth=2 expandtab
実行する際、ディレクトリを指定します。
$ sudo ruby orig.rb /path/to/dir
上のスクリプトは、指定されたディレクトリの下にあるファイルについて、
- 現在のファイルを、日時をつけた名前に変更する。
- .origファイルを、元のファイル名に戻す。
とします。
非常に簡単なスクリプトですが、これがあるおかげで、システムのライブラリを躊躇なく変更できます。
上のスクリプトは、http://nekomimists.ddo.jp/~tom/tools/orig.rbからダウンロードできます。