トップ «前の日記(2015-10-20(Tue)) 最新 次の日記(2015-10-27(Tue))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2015-10-21(Wed) ずっといい天気

bsdiff(1)とbspatch(1)

RaspberryPiのFreeBSDで、bsdと打鍵してTabを2回押すと、

$ bsd
bsdconfig   bsdgrep     bsdinstall  bsdtar      
bsdcpio     bsdiff      bsdlabel

bsdconfigとbsdlabelはbsd固有のツールであろう。
bsdinstallはmanを1分見ただけでは、installとの違い はよく分からない。bsdgrep は置き換え途上、 bsdcpioとbsdtarは、GNUからの置き換え 完了という感じに見える(時期を追いかけるのも面白そう)。

$ ls -alF /usr/bin | grep cpio
-r-xr-xr-x   1 root  wheel      30808 Oct 20 15:42 bsdcpio*
lrwxr-xr-x   1 root  wheel          7 Oct 20 15:42 cpio@ -> bsdcpio
$ ls -alF /usr/bin | grep tar 
-r-xr-xr-x   1 root  wheel      48872 Oct 20 15:42 bsdtar*
lrwxr-xr-x   1 root  wheel          6 Oct 20 15:42 tar@ -> bsdtar
 
$ ls -i /usr/share/man/man1 | grep "tar\|cpio" | sort
322572 bsdtar.1.gz
322572 tar.1.gz
322615 bsdcpio.1.gz
322615 cpio.1.gz

前置きが長くなった。バイナリ型式の差分を扱っているらしい。

$ ls -alF `which sed` `which awk`
-r-xr-xr-x  2 root  wheel  180340 Oct 20 15:42 /usr/bin/awk*
-r-xr-xr-x  1 root  wheel   33308 Oct 20 15:42 /usr/bin/sed*
 
$ bsdiff `which sed` `which awk` sed_awk_diff
$ bsdiff `which awk` `which sed` awk_sed_diff
 
$ ls -l *diff
-rw-r--r--  1 user  group  16713 Oct 21 22:12 awk_sed_diff
-rw-r--r--  1 user  group  60825 Oct 21 22:11 sed_awk_diff
 
$ bspatch `which sed` myawk sed_awk_diff 
$ bspatch `which awk` mysed awk_sed_diff 
 
$ sha1 `which sed` mysed
SHA1 (/usr/bin/sed) = fbf24a7e8d86366107e588c0dd98b58b8e966409
SHA1 (mysed) = fbf24a7e8d86366107e588c0dd98b58b8e966409
$ sha1 `which awk` myawk
SHA1 (/usr/bin/awk) = d8b7011e9a7ab394df710b287260f3f2bc3c6371
SHA1 (myawk) = d8b7011e9a7ab394df710b287260f3f2bc3c6371

もちろんDebian/Ubuntuにも、bsdiffパッケージに両方とも。

$ dpkg -L bsdiff | grep "bin/\|man1/"
/usr/share/man/man1/bspatch.1.gz
/usr/share/man/man1/bsdiff.1.gz
/usr/bin/bsdiff
/usr/bin/bspatch

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。