source - みる会図書館


検索対象: UNIX MAGAZINE 1999年9月号
17件見つかりました。

1. UNIX MAGAZINE 1999年9月号

連載 / Linux でリラックスー⑩ 図 5 ソース・パッケージ乍成例 % ls —IF wget—l . 5.3 / wget—l . 5.3. orig. tar ・ gz % dpkg—source —b wget—l . 5 . 3 ←ファイルの一覧を表示 展開されたソース・パッケー ←オリジナルのアーカイプ ←ソース・パッケージを作成 dpkg¯source : building wget usxng existing wget—l . 5.3. orig ・ tar. gz dpkg—source: building wget in wget—l . 5.3 ー 1 . 1 . diff . gz dpkg¯source : building wget in wget-l . 5.3 ー 1 . 1 . dsc % ls wget wget ー wget— wget— 1 . 5.3. orig. tar ・ gz 1 . 5 . 3 ー 1 . 1 . dsc 1 . 5.3 ー 1 . 1 . diff . gz ー 1 . 5 . 3 / —IF ←ファイルの一覧を表示 作成された差分ファイル 作成されたソース・パッケージ制御ファイル と書かれています。ソース・パッケージによっては、 のファイルが含まれていないものもあります。 ・ debian/copyright ( ノヾッケージの著イ料 ノヾッケージの著イ料 (copyright) か書かれたファイル です。このファイルは、バイナリ・パッケージに含ま れる /usr/doc/ ノヾッケージ名 /copyright" というフ ァイルになります。 ・ debian/README. debian (Debian GNU/Linux ノヾッケージの README) Debian GNU/Linux ノヾッケージの README フ ァイルです。ソフトウェアそのものではなく、 Debian GNU/Linux のノヾッケージに関する README フ ァイルです。 Debian GNU/Linux のノヾッケージに 固有の情報か書かれています。このファイルは、バイ ナリ・パッケージに含まれる /usr/doc/'S ッケージ 名 /README. debian" というファイルになります。 このほかにも、ソース・パッケージからバイナリ・パッ ケージを作成する際に使われるファイルが含まれているこ とがあります。詳しくは文献 [ 3 ] や debmake パッケージ に含まれる debstd コマンドのマニュアルを参照してくだ さい。 最後に、展開されたソース・パッケージから、 Debian GNU/Linux のソース・パッケージを作成するガ去を説 明します。通常は、次のように dpkg-source コマンドを 使用します。 dpkg-source -b ディレクトリ名 、ディレクトリ名 " には、 Debian GNU/Linux のソー ス・パッケージが展開されているディレクトリ名を指定し ます。なお、 dpkg-source コマンドを実行する前に、オ UNIX MAGAZINE 1999.9 リジナルのアーカイプを同じティレクトリに置いておく必 要があります。ヨ列として、展開した wget ソース・パッ ケージのアーカイプからソース・パッケージを作成すると きの様子を図 5 に示します。 パイナリ・パッケージの本 ヾイナリ・パッケージの構造について説明しま す。 Debian GNU/Linux のノヾイナリ・ノヾッケージは、 拡張子が、、 . deb " になっています ( 表 1 ) 。これは、しつ は UNIX で古くから使われている ar 形式のアーカイプ です。つまり、 /usr/lib/libc. a などの勺ライプラリと まったく同しアーカイフ形式です。このため、 ar コマン ドを使って、バイナリ・パッケージに含まれるファイル の一覧を表示したり、アーカイプを展開したりすることが できます。 バイナリ・パッケージの展開などには、通常はあとで説 明する dpkg-deb コマンドを使いますが、こではパッケ ージの構造を説明するために ar コマンドを利用してパッ ケージの中身を見てみましよう。 wget のノヾイナリ・パッケ ージの中身を調べてみます ( 図 6 ) 。 Debian GNU/Linux のバイナリ・パッケージには、下記のようなファイルがか ならすこの順番てオ褓内されています。 ・ debian-binary ( ノヾイナリ・ノヾッケージのノヾージョン ) パッケージ形式のバージョン ( 現在は 2.0 ) か書かれた テキストファイルです。 ・ control. tar. gz ( 制御ファイルのアーカイフ ) パッケージの制御ファイルやパッケージのインストー ル時に実行されるプログラムなどが tar 十 gzip でまと めてオ内されています ( 図 6 ) 。このように、 Debian 87

2. UNIX MAGAZINE 1999年9月号

連載 / Linux でリラックスーの 図 1 wget ソース・ / くッケージの展列 % dpkg—source ¯x $TOP/dists/s1ink/main/source/web/wget—1.5.3 ー 1.1. dsc dpkg-source : extracting wget in wget—l . 5 . 3 ー 1 ー 1 ソース・ノヾッケ ージを展開 % ls —IF get ー 1 . 5 . 3 / wget—l . 5 . 3. orig ・ tar ・ gz ←ファイルの一覧を表示 ←展開されたソース・パッケージ ←オリジナルのアーカイプ 図 2 dpkg-source コマンドを使わない wget ソース・パッケージの展開 % tar xzvf $TOP/dists/s1ink/main/source/web/wget—1.5.3. orig ・ tar ・ gz ←オリジナルのアーカイプを展開 % zcat $TOP/dists/s1ink/main/source/web/wget—1.5.3 ー 1 . 1. diff. gz ー patch —pO ←ソースコードに % mkdir wget-l . 5.3/debian ← debian ディレクトリを作成 wget—l . 5 .3/ChangeLog wget-l . 5 .3/stamp-h. in wget—l . 5.3 / TODO wget-l . 5.3 / po / Ⅱ 0. po wget—l . 5 .3/doc/Makefi1e. in wget-l . 5 .3/doc/ChangeLog wget—l . 5 .3/doc/ get ー 1 . 5 . 3 / パッチを当てる patching file pat ching patching patching file p at ching patching file pat ching patching file file file file file wget wget wget wget¯ wget wget wget— wget— ー 1 ・ 5 ・ 3/doc/Makefi1e . in' . 5.3/doc/samp1e . wgetrc' . 5.3/doc/wget . info' . 5.3/doc/wget . texi ' ー 1 ・ 5 ・ 3/debian/conffiIes' ー 1 ・ 5 ・ 3/debian/controI ' 1 ・ 5 ・ 3/debian/ru1es' 1 ・ 5 ・ 3/debian/inf0' 1 % chmod + x wget—l . 5 .3/debian/ru1es ← debian/rules ファイルを実行可能に こで、、ファイル名 " には、ソース・パッケージ制御ファ イル長子 : . dsc) のファイル名を指定します。このと き、ソース・パッケージ制御ファイルと同じティレクト リに、オリジナルのアーカイプ ( 拡張子 : . orig. tar. (z) と 差分ファイル朝刻長子 : . diff.gz) がなけれはなりません。 例として、 wget のソース・ノヾッケージを dpkg-source コマンドを用いて展開する様子を図 1 に示します ( 以降の 例では、 Debian GNU/Linux のアーカイプのトップ・ ディレクトリを、、 $ TOP " と表記します ) 。 Debian GNU/Linux のソース・ノヾッケージは、基本的 にオリジナルのアーカイプと、 Debian GNU/Linux の ソース・パッケージに対する差分ファイルから構成されて いるため、 patch コマンドを使って手イ乍業で展開すること も可能です。 ただし、 84 1. patch コマンドの実行月リに debian というディレクト リを作成しておく 2. patch コマンドの実行後に debian/rules ファイルの 実行可能ピットを立てるにれは、バイナリ・パッケー ジ作成のためにおこないます ) といった作業が必要です。 wget のソース・ノヾッケージを、 tar と patch を用いて展開する様子を図 2 に示します。 Debian GNU/Linux のソース・ノヾッケージを展開 すると、ディレクトリ・ツリーのトップ・ディレクトリ に、、 debian " という名前のディレクトリか作成されます。 このディレクトリは、 Debian GNU/Linux のソース・ パッケージにとってきわめて重要な意味をもちます。 こには、ソース・ノヾッケージをコンノヾイルし、 Debian GNU/Linux のバイナリ・パッケージを作成するために 必要な清幸ゞすべて書かれています。このディレクトリに UNIX MAGAZINE 1999.9

3. UNIX MAGAZINE 1999年9月号

連載 / Linux でリラックスー⑩ 図 11 wget ソース・ / ヾッケージ乍成例 % export EMAIL=momotaro@d0k0ka—u. ac ・ JP ←管ま黽者ク ) メーノレアドレスを言乂正 ←オリジナルのアーカイプを展開 % tar xzvf wget—l . 5 . 3. tar. gz . 5 . 3 / % dh_make アーカイプのトップ・ディレクトリに移動 ー 1 1 1 1 1 1 wget¯ wget¯ wget¯ wget wget¯ wget ー wget¯ wget wget¯ wget % cd 1 . 5 ・ 3/doc/ansi2knr . 1 ー 1 . 5 ・ 3/doc/Makefi1e . in . 5 .3/doc/ChangeLog 1 ・ 5 ・ 3 / doc / . 5.3/ChangeLog . 5.3/stamp—h. in ー 1 .5 . 3 / TODO . 5 . 3 / po / no ・ po . 5 . 3 / po / cs . po wget ー 1 . 5.3 VerS1011 Package Name Maintainer Date used Emai1—Address dh-make を実行 momotaro@dokoka—u ・ ac ・ JP Sat , 17 Ju1 1999 01 : 45 : 03 + 0900 Momotaro Onigashima wget 1 . 5 . 3 Type 0f package (S=Sing1e Binary , M=Mu1ti¯Binary , L=Library , X=Abort? s/m/l/x ↑作成するパッケージの不頁お尺 wget debianized. lt uses a configure script which probably means that you dO not have tO edit the % vi debian/control % vi debian/rules % mv debian/info. ex debian/info % vi debian/info % cat >debian/conffiles /etc/wgetrc % rm debian/{README . debian,dirs ,docs, Makefi1e . ←缶剏ファイルを編集 ← Makefile を編集 ← info ファイルを編集 ← conffiles ファイルを作成 ←疋ファイルは /etc/wgetrc だけ * . ex} ←不要なファイルを削除 ← 1 つ上のディレクトリに移動 ←ソース・ノヾッケージをイ乍成 % cd % dpkg-source ¯b wget 1 . 5 . 3 ー 1 . dsc 1 . 5.3 ー 1 . dif f . gz 1 . 5 . 3 / —IF dpkg-source : building dpkg¯source : building dpkg—source : building ー 1 . 5 . 3 wget in wget in wget in wget— wget— wget— % ls wget¯ wge t ー wget— wget— % cd 1 . 5.3. orig. tar ・ gz wget ー 1 . 5 . 3 1 . 5 . 3 . orig . tar ・ gz 1 . 5.3 ー 1 . diff . gz 1 . 5 . 3 ー 1 . ds c ・ノ、ツ・ケ バイナリ ージを作成 ←ソース・パッケージカイ乍成されているかを石忍 % fakeroot . /debian/rules binary dh_testdir . /configure ——prefix=/usr ¯¯sysconfdir=/etc creating cache . /config ・ cache configuring for GNU Wget 1 . 5 . 3 checking host system type ・ dh—shlibdeps dh—gencontrol dh_md5sums dh_bu i lddeb dpkg—deb : building package % ls ー IF .. / * . deb wget—l . 5 . 3 ー 1 ー i386. deb UNIX MAGAZINE 1999.9 i586—pc—1inux—gnu wget ' in . / wget ー 1 . 5 . 3 ー 1 ー i386 . deb ' バイナリ・パッケージカ乍成されているかを石忍 95

4. UNIX MAGAZINE 1999年9月号

連載 / Linux でリラックスー① 表 1 wget / ヾッケージのファイル名 パッケージの動リ ファイル名 ヾイナリ・パッケージ wget ー 1 . 5 . 3 ー 1 . 1 . deb ソース・ノヾッケージ ( ソース・ノヾッケージ缶膽卩ファイル ) wget ー 1 . 5 . 3 ー 1 . 1 . dsc ( オリジナルのアーカイフ ) wget-l . 5 . 3. orig ・ tar ・ gz ( 差分ファイル ) wget-l . 5 .3ー1.1. diff . gz 佖 C ん 09e ー社 St ? 、 e 佖 7 〃ーゼ、 S20 れ一 7 、 e ゼ tS を 0 れ . dSC 佖 C ん佖 ge ー社〃 S e 佖 7 〃 - ゼ e S20 れ のようになっています。刻長子が、、 . dsc " となっている のどちらかです。 ( アンダースコア ) と のかキ芋徴です。佖 c ん e はノヾッケージ名、叩 s 作印 m - ( ハイフン ) の違いに注意してください。 眦”れはパッケージ化されたソフトウェアのもともと ソース・パッケージではオリジナルのアーカイプをその のノヾージョン、 re 0 れは Debian GNU/Linux の まま使用しているので、 Debian GNU/Linux 以外の ノヾッケージとしてのノヾージョンです。ノヾッケージ名や オペレーティング・システムでコンパイルして使うこと バージョン番号の命名規則については、 7 月号を参照し もできます。 Debian GNU/Linux のアーカイプに含 てください。 まれるソース・パッケージは膨大な数に上ります。した ソース・パッケージ制御ファイルは、バイナリ・パッ がって、ある程度有名なソフトウェアなら、ソフトウェ ケージの制御ファイルと同しような構造になっていて、 アの 1 朝己布サイトを苦労して探すまでもなく、年匠な ソース・パッケージに関するいくっかの幸肋ゞ書かれて Debian GNU/Linux アーカイプからソースコードを います。ソース・パッケージ制御ファイルには、 -- ド記 簡単に入手できます。 のフィールドがあります。 3. Debian GNU/Linux 固有の変更のための差分 ( 拡張 子 : . diff. gz) Source ( ソース・ノヾッケージの名則 ) オリジナルのアーカイプを Debian GNU/Linux のソ Version ( ノヾッケージのノヾージョン ) ース・パッケージに変更するための差分ファイルです。 Maintainer ( ノヾッケージの管 : ま里名 ) 実際には、オリジナルのアーカイプに対する diff コマ Architecture ( 対象とするアーキテクチャ ) ンド ()u オフションを使用 ) の出力になっています。 Standards-Version ( ノヾッケージ形式の / ヾージョン ) オリジナルのアーカイプからの差分ファイルを使用して Files ( ファイルの情幸 いるため、いくつかの制約があります。たとえは、オリ これらのフィールドの詳細は 7 月号を参照してくださ ジナルのアーカイプに含まれるファイルの許可ビットや シンポリック・リンクのリンク先の変更、ファイル名 2. オリジナルのアーカイプ付長子 : . orig ・ tar ・ gz) の変更、ファイルの削除などはできません。 オリジナルのアーカイプを tar 十 gzip で宿したファイ 一例として、 Debian GNU/Linux 2.1 の wget ノヾッ ルです。アーカイプのファイル名やアーカイプが展開さ ケージ ( バージョン 1.5.3 ー 1 ) のファイル名を表 1 に示し れるディレクトリ名は、 Debian GNU/Linux のソー ます。 ス・パッケージに合わせて変更されていますが、アーカ イプの中身はオリジナルのままです。アーカイプのファ なお、オリジナルのアーカイプがない場合 ( もともと イル名は、 Debian GNU/Linux 用に作成されたソフトウェアなど ) は、ソース・パッケージの構成がすこし異なることがあり 〃 ac ん佖 ge ー社〃 S こ 7 、 e07 〃 - 、 S を 0 れ ・ orig ・ tar . gz ます。 のように統一されています。アーカイプが展開されるデ 通常、ソース・ノヾッケージの展開には、 dpkg-source ィレクトリ名は、 コマンドを次のように使います。 佖 C ん age ー社〃 StT 、 e 佖 7 れ - ゼ、 S ~ 0 れ . orlg または、 dpkg—source —x ファイル名 し、 83 UNIX MAGAZINE 1999.9

5. UNIX MAGAZINE 1999年9月号

連載 / 凵 nux でリラックスーの 図 10 netatalk パイナリ・パッケージ乍成例 % dpkg-source —x $TOP/dists/s1ink/main/source/net/netata1k—1.4b2 + asun2.1.1 ー 2. dsc ↑ソース・パッケージを展開 dpkg—source : extracting netatalk in netatalk—l .4b2 + asun2.1.1 % cd netatalk—l .4b2 + asun2.1.1 % cat >>etc/afpd/Makefi1e volume . 0 volume . C トップ・ディレクトリに移動 ← Makefile を一部変更 ${cc} ${DEFS} ${AFSDEFS} ${KRBDEFS} ${DESDEFS} ${INCPATH} \ ${PAMDEFS} —DAPPLCNAME —c volume . c % debchange ーⅡ ' Changed etc/afpd/Makefi1e to avoid optimization problem. % . /debian/rules build ↑ debian/changelog ファイルの修正 / ノヾージョン更新 ←ノヾッケージをコンノヾイノレ test —f VERSION —a —d debian Ⅱ false make DESTDIR= ' ' SBINDIR=/usr/sbin BINDIR=/usr/bin LIBDIR=/usr/1ib RESDIR=/usr/1ib/ata1k ETCDIR=/etc/netataIk INCDIR=/usr/incIude MANDIR=/usr/man PAMDIR=/usr TCPWRAPDIR=/usr TCPWRAPLIBS="-1wrap ー 1 Ⅱ sl " ADDLIBS="—1wrap —lnsl " make [ 1 ] : Entering directory make [ 4 ] : Leaving directory make [ 3 ] : Leaving directory make [ 2 ] : Leaving directory make [ 1 ] : Leaving directory touch build % su # . /debian/rules binary ( /tmp/netatalk—l .4b2 + asun2.1.1 ' ヾイナリ・パッケージを作成 ヾイナリ・パッケージの作成は root で 1 . 4b2 + asu Ⅱ 2 . 1 . 1 ' ( /tmp/netatalk—l .4b2 + asu れ 2.1. l/sys/linux ' ( /tmp/netatalk—l .4b2 + asun2.1. l/man ' ( /tmp/netatalk—l .4b2 + asu 取 2.1.1/man/man8 ) ( /tmp/netatalk— instaII —d —m 755 debian/tmp/usr debian/tmp/etc/netatalk \ debian/tmp/usr/man debian/tmp/usr/lib make DESTDIR= cpwd ' /debian/tmp SBINDIR=/usr/sbin BINDIR=/usr/bin LIBDIR=/usr/1ib RESDIR= /usr/lib/atalk ETCDIR=/etc/netata1k INCDIR=/usr/inc1ude MANDIR=/usr/man install make [ 1 ] : Entering directory ( /tmp/netatalk—l .4b2 + asun2.1.1 ' debian/build/libatalkl—dev/usr/lib/libatalk* . a install —d —m 755 debian/bui1d/1ibata1k1-dev/DEBIAN dpkg-gencontrol —isp —plibatalkl—dev —Pdebian/bui1d/1ibata1k1-dev —vl : 1 .4b2 + as ⅡⅡ 2 . 1 . 1 ー 3 dpkg—deb ——build debian/build/libatalkl—dev dpkg—deb : building package ( libatalkl—dev' in . /libatalkl-dev—l .4b2 + asun2.1.1—3—a1pha. deb ' # ls ー IF .. / * . deb libatalkl—dev—l .4b2 + asun2.1.1-3—a1pha. deb libatalkl—l .4b2 + asun2.1.1—3-a1pha. deb netatalk-l .4b2 + asun2.1.1—3-a1pha. deb は、パッケージ管理システムがごく単屯な SIackware と、 きわめて複雑な Debian GNU/Linux とで、パッケージ の作成ガ去がどのように異なるかが分かると思います。 wget プログラムのソース・パッケージを作成する例を 図 11 に示します。ます、 wget フログラムのオリジナル のアーカイプを展開します。展開されたディレクトリ名が Debian GNU/Linux のルールに従っていない場合は、 適切に変更します。 wget のアーカイプはそのままて大丈 夫です。 94 作成されたバイナリ・パッケージを確認 開発用ライプラリ ←共有ライプラリ ← netatalk ノヾイナリ・ノヾッケージ 次に、アーカイプのトップ・ディレクトリで dh-make コマンドを実行します。作成するソース・パッケージがど のようなバイナリ・パッケージのものであるかと訊かれる こでは s ( 単一のバイナリ ) を j 尺します。 ので、 れによって debian ディレクトリカ乍成さ制御ファイ ルなどのテンプレートか作られます。 さらに、 Debian GNU/Linux のソース・ノヾッケージ で重要な役割を果たす debian/control ファイルと de- bian/rules ファイルを適切に変史します。ここが一番肝 UNIX MAGAZINE 1999.9

6. UNIX MAGAZINE 1999年9月号

連載 / 凵 nux でリラックスー⑩ 図 7 dpkg-deb コマンド吏用例 % dpkg—deb ——extract $TOP/dists/s1ink/main/source/web/wget—1.5.3 ー 1 . 1. deb wget_l . 5.3 ー 1.1 % ls —IF wget ー 1 . 5.3 ー 1 . 1 etc/ usr/ ↑ソフトウェアのディレクトリ・ツリーを展開 ←展開されたファイルを確認 % dpkg—deb --control $TOP/dists/s1ink/main/source/web/wget—1.5.3 ー 1.1. deb wget_l. 5.3 ー 1 . I/DEBIAN ↑ソフトウェアの制御ファイルを展開 % ls —IF wget_l . 5.3 ー 1 . I/DEBIAN ←展開された制御ファイルを確認 conffiles control md5sums postinst* postrm* % dpkg-deb ——build wget—l . 5 dpkg-deb : building package % ls -IF wget ー 1 . 5.3 ー 1 . 1 / wget ー 1 . 5.3 ー 1 . 1 ー i386 . deb . 3 ー 1 . 1 ヾイナリ・パッケージを作成 'wget' in ( . / wget ー 1 . 5.3 ー 1 . 1 ー i386 . deb ' . 作成されたバイナリ・パッケージを確認 ヾイナリ・パッケージができている バイナリ・パッケージの展開 ( ディレクトリ・ツリーの 取出し ) dpkg—deb —x ー -extract ファイル名ディレクトリ名 Debian GNU/Linux のノヾイナリ・ノヾッケージから、 ソフトウェアを構成するディレクトリ・ツリーを取り 出します。これは、バイナリ・パッケージに含まれる data. tar. gz アーカイプを指定したディレクトリに展開 することと同しです。、、ファイル名 " には展開したいバ イナリ・パッケージのファイル名を、、、ディレクトリ 名 " にはパッケージを展開したいディレクトリ名を指定 します。指定したディレクトリがない場合は自重加勺に作 成されます。 バイナリ・パッケージの展開 ( 制御ファイルの取出し ) dpkg—deb -e ー —control ファイル名ディレクトリ名 Debian GNU/Linux のバイナリ・パッケージから制 御ファイルを取り出します。これは、バイナリ・パッ ケージに含まれる control. tar. gz アーカイプを指定し たディレクトリに展開することと同しです。、、ファイル 名 " には展開したいバイナリ・パッケージのファイル名 を、、、ディレクトリ名 " には制御ファイルを展開したい ディレクトリ名を指定します。ディレクトリ名を省略 した場合は、、、 DEBIAN" というディレクトリに展開 されます。指定したディレクトリがない場合は自動的 UNIX MAGAZINE 1999.9 に作成されます。 バイナリ・パッケージの作成 dpkg-deb -b ー -build ディレクトリ名 [ ファイル 名ーディレクトリ名 ] 最初の引数である、、ディレクトリ名 " にあるディレクト リ・ツリーから、 Debian GNU/Linux のバイナリ パッケージを作成します。 2 番目の引数には、作成し たバイナリ・パッケージを格納するファイル名または ディレクトリ名を指定します。ディレクトリ名を指定 した場合は、パッケージの制御ファイルにもとづいて、 Debian GNU/Linux のノヾイナリ・ノヾッケージとして 適切なファイル名が付けられます。このため、通常は ディレクトリ名を指定するとよいでしよう。 ディレクトリ・ツリーには、ソフトウェアを構成する ディレクトリ・ツリーに加えて、トップ・ディレクト リにバイナリ・パッケージの制御ファイルかオ褓内された ディレクトリ (DEBIAN ディレクトリ ) が存しなけ ればなりません。つまり、 dpkg—deb ——extract と、 dpkg—deb ——control の両方によって展開されるファイルが必要です。 89

7. UNIX MAGAZINE 1999年9月号

第生等物第信等を . 信第信 : 信第第信第信等。信霊霊等第 1 , 等第第信信 33 第 : 臼工 : ? 昌等を信 ? 鬲等 Subject. Visualized Active Newsgroups List 0f [as of 1999 / 06 / 23 ] 巧ニュースグルーフ。一覧をもとに、階層構造を見やす くした一覧のム斤版です - 。ニュースグループによっては、 利用上のヒントや注意のはか、新設や廃になどの経緯もコ メントとして書かれています。 Newsgroups. カ . SCi. military,fj. archives. answers Subject: . sci. military FAQ List ( 1 / 1 ) 軍事学に関するニュースグループ新 . sci. military への 投稿の仕方や記事内容の基準などをまとめた FAQ 集で す。 Newsgroups. . sci 」 aw,fj. archives. documents Subject: The Standarad of Posting for . sci.law 、法律学上の諸論点について学ヤ籀侖をおこなう " ニュ ースグループである巧 . sci. law に投稿をする際のガイド ラインの最新版です。 Newsgroups: カ . sci.law . archives. documents Sub. 」 ect: Fault case 0f posting for . sci.law 上記の巧 . sci. law への投稿がふさわしくない記事の例 の最斤版です。 Newsgroups: archives. documents . un ⅸ雨 . comp. lang. misc, 」 apan. comp 」 ang. misc Sub 」 ect: comments-in-computer-languages vl. 15 各種のプログラム言語におけるコメント表記法の一覧 の最新版でづー。今回新たに 9 つの言語 / ファイルについ ての情報が追加されました。 ・今月の fj. sources* Subject: f77chk ー Fortran77 source code checker Ver. 1.1 Message-ID: く 377CB6FF AFBB829C@spdg1.sci. shizuoka. ac 」 p 〉 作者 : Tsuguhiro Tamaribuchi さん Fortran 77 で書かれたプログラムのソースコードチェ ック・ツールです。 Perl 言語で書かれているので、それ が使える竟であれはどこでも使用できるそうです (ftp: //spdgl ・ sci. shizuoka ・ ac ・ jp/pub/f77chk/ からも入手 できます ) 。 Subject: CF-3.7Wp12-drac. patch Message-ID: く 14205.13129.389727.98862C @ⅵ si. kuee. kyoto-u. ac. jp 〉 イ乍者岡田健一さん sendmail の初期設定ファイル sendmail. cf の生成 用ツールである CF ノヾッケージを、 DRAC (Dynamic Relay Authorization Control) に対応させるためのパ ッチです (ftp://akagai.kuee.kyoto-u ・ ac ・ jp/pub/ar- chives/net/CF-3.7Wp12-drac. patch. gz からも入手で きます ) 。 Sub. 」 ect: L00kup vl. 0 ー a Search lnterface Message-ID. く 71n116$55p$2@voyager.aist-nara.ac.jp 〉 イ乍者西田圭介さん、 Satoru Takabayashi さん、他 GNU Emacs や Mule 、 XEmacs 上で重川する辞書 検索ツールの公開のお知らせです。フリーの辞書や CD- ROM 辞書、ネットワーク辞書サーバー経由の辞書など 数多くの辞書をサポートしています (http://openlab ・ ring ・ gr ・ jp/lookup/ から入手できます ) 。 Subject: uriarchie ー a neat wrapper for archie command Message-lD: (71nmbv$5fl$1@voyager.aist-nara.ac.jp 〉 イ乍者 Satoru Takabayashi さん anonymous FTP サーノヾー / ファイル青幸財、システ ム Archie のための wrapper ツーノレです。 archie コマ ンドの出力を URI 形式で表示したり、特定のサイトの置 報を除外できるほか、ソートやページャ呼出し機能をもっ ています。 Subject: distributionp-alpha3 mpeg3-encodeing- manager supported distributed-encode distributionp-alpha3-0019990630. tar. gz [ 1 / 1 ] Message-lD: く 71rqf2$nfd$2@news.zzz.or.jp 〉 イ乍者山口青星さん 分散処理のフロントエンド・ツールとそれを利用した MP3 のエンコード / デコードッール群です。これらのツ ールはシェルや Perl 、 Ruby のスクリプトとして作成さ れています。 Su bject: BeatWord Beta-4 Message-ID: く 3783F89D.1EADA75C@cypac.co ・ jp 〉 作者工藤智行さん、サイバック : を信を : 等等 . ダを第第第既等物第号物物勢 3 : 信 3 第日等すに臼 : は第 : 信 UNIX MAGAZINE 1999.9 147

8. UNIX MAGAZINE 1999年9月号

連載 / Linux でリラックスーの 図 8 dpkg-deb --info の実彳デ列 % dpkg—deb -—info $TOP/dists/s1ink/main/source/web/wget-1.5.3 ー 1.1. deb ←ノヾイナリ ・ノヾツウ - ージの new debian package , version 2 . 0 . size 221932 bytes : control archive= 1842 bytes . 12 bytes, 696 bytes, 2122 bytes, 253 bytes , 70 bytes , 138 bytes , Package : wget 1 16 34 4 2 3 lines lines lines lines lines lines conffiles control md5sums postinst postrm prerm 情報を表示 # ! /bin/sh # ! /bin/sh # ! /bin/sh Vers ion : 1 . 5 . 3 ー 1 . 1 Architecture : i386 Depends : Iibc6 Insta11ed—Size : 535 pages , or traverse the web like a WWW robot (Wget understands you can use Wget tO make mirrors Of archives and home supported Wget [formerly known as Getur1] is a freely available network utility Description: utility tO retrieve files from the WWW via HTTP and FTP Maintainer : Nic01äs Lichtmaier く nick@feedback . net . ar> /robots . txt) . dpkg-deb コマンドには、 な機能があります。 これ以外にも次のようなイリ バイナリ・パッケージの情報を表示 dpkg—deb ーエー -info ファイル名 [ ファイルの種類 ] Debian GNU/Linux のバイナリ・ノヾッケージに関する 情報を表示します。、、ファイル名 " にはバイナリ・パッ ケージのファイル名を、、、ファイルの種類 " には cor ト trol や postinst など、情報を表示したい制御ファイル の名前を指定します。、、ファイルの不頁 " を省略した場 合は、バイナリ・パッケージのバージョンや含まれて いる制御ファイルの一覧に加えて、 control ファイルの 内容か表小されます。 wget ノヾイナリ・パッケージに対 する実行結果を図 8 に示します。 ・ファイルの一覧を表示 dpkg-deb -c ー —contents ファイノレ名 Debian GNU/Linux のノヾイナリ・ノヾッケージに含ま れるすべてのファイルの一覧を表示します。、、ファイ ル名 " には、バイナリ・パッケージのファイル名を指 定します。これは、バイナリ・パッケージに含まれる data. tar. gz アーカイプに対して、 tar tzvf data. tar. gz 90 を実行した結果と同じです。つまり、制御ファイルなど はこの一覧には表示されません。 ・アーカイプを tar 形式で出力 UNIX MAGAZINE 1999.9 り出したり、変更したりできるので、憶えておくとよいで deb コマンドカ硬えない場合でも、パッケージの中身を取 す。なんらかの理由で dpkg-source コマンドや dpkg- 通常の UNIX コマンドでも取り扱える形式になっていま Linux のソース・ノヾッケージやノヾイナリ・ノヾッケージは、 こまでの説明からも分かるように、 Debian GNU/ すことかて、きます。 ジから /usr/doc ディレクトリ以下のファイルを取り出 たとえば、図 9 のようにすれば、バイナリ・パッケー を実行した結果と同じです。 zcat data. tar ・ gz ケージに含まれる data. tar. gz アーカイプに対して、 ジのファイル名を指定します。これは、バイナリ・パッ き出します。、、ファイル名 " には、バイナリ・パッケー れるディレクトリ・ツリーを tar 形式て標準出力に書 Debian GNU/Linux のノヾイナリ・ノヾッケージに含ま dpkg-deb -—fsys—tarfile ファイル名

9. UNIX MAGAZINE 1999年9月号

MP3 でサウン天国 O 能が使える。これを利用すれは、 MP3 形式に変換する過 程で、どの程度情幸師甘員なわれているのかを謌・、くることが できる。 インストール ます、下記のサイトからパッケージを入手する。 ・ The Snd Home Page http://ccrma-www.stanford.edu/CCRMA/ Software/snd/snd. html s Ⅱ d ー 3 ー 1. i386. rpm snd は RPM 形式て配布されているので、インストー ルは簡単である 1 snd には数多くの機能があり、とうていすべては紹介で きない。そこで、日里の訓整と音質のチェックに絞って説 明する。 snd にかぎらず、この種のオーディオ編集ツールはメ モリや CPU パワーを大量に消費する。そこで、メモリ を 192MB に増設した。波形の編集には解像度の高いピ デオカードがあったはうカイ更利なので、 Matrox の Mil- lennium G200 (8MB) に交換した。これで、 1 , 600 x 1 , 200 、 16bit カラーの言殳定にしている。 通常は少ないリソースで動く Linux も、オーディオを 扱い始めるととたんに大食漢と化してしまう。せつかくの メリットか活力せない気がして残念だが、こうなったら毒 を喰らわば皿まで、である。 変換前・変換後の音質の変化 snd では、 MP3 への圧縮過程における音質の変化を簡 単にチェックできる。前回紹介した LAME など、音質 に関係するオプションの多いエンコーダの場合には、オプ ション指定の有効性も目で見て確かめられる。 ただし、 MP3 のような圧縮ファイルを直接扱うこと はできないので、 PCM (PuIse Code Moduration) 形 式 (WAVE や AIFF 、 (u) に伸長しておく必がある。 MP3 は非 - 可遡宿方式だから、伸長しても ) 宿前の音質 には戻らない。そのため、圧系制に失われた情報は失われ 1 Red Hat Linux 6.0 では、従来の glint というインストーラに ftå ) て gnorpm という Windows の工クスプローラに似たツールカイ吏える ようになった。 glint では、パッケージお尺するたびにいちいちフォ ルダを開けなくてはならないので、深い階層の下にあるパッケージを探す のに苦労したが、 gnorpm はそれよりもはるかに使いやすい。 UNIX MAGAZINE 1999.9 2 snd の波形表示 れ当魲い 85 -1 ー 0 1-0 け unl 1.0 北 Ce. り・ 10. 0 10. 0 たままである。だから、それはど厳密な上肆交にはならない が、 MP3 から伸長したファイルどうしを上交すれは・おお まかな傾向は分かるだろう。 ます、 mpg123 で MP3 形式のファイルを WAVE 形 式に伸長する。 $ mpg123 -w source . wav source . mp3 そして snd を起動し、 File メニューから Open を選 んで *. wav ファイルを読み込むと、時間軸 (X 軸 ) と音 圧 (Y 軸 ) 窈彡が表示される ( 画面 2 ) 。 こで、左下 にある、、「のラジオボタンをチェックすると FFT の表示 に切り替わる。 FFT の表刀研彡式は、 Options メニューの Transform Option で変更できる。 画面 3 は、デフォルトで表示される周波数 (X 軸 ) と 音圧 (Y 軸 ) のグラフで ( 音圧のスケールは、、 dB " に切り 替えている ) 、上から順に 128Kbps のノーマルモード、 同じく 128Kbps の高速モード、 VBR ( q = 4 ) 、 ) 宿前 の WAVE ファイルである。これは、右下に並んでいる unite" と、、 sync" のラジオボタンをチェックし ( すべて の表示を同期 ) 、楽曲 (Led ZeppeIin の「 The Wanton Song 」 ) の時間軸を揃えたときの表示である。左右のチャ ンネルについては、 View メニューの Channel style → Superimposed で合成している。 MP3 の日孫宿は時間軸方 向にもおこなわれるので、 こで分かるのはある瞬間の周 波数分布だけである。 128Kbps ではモードの違いによる変化はほとんどない が、どちらも 16kHz より上の周波数は出ていない。 VBR (Variable Bit Rate) はやや間引かれてはいるが、 20kHz 103

10. UNIX MAGAZINE 1999年9月号

連載 / Linux でリラックスー⑩ 図 6 wget パイナリ・パッケージの中身 % ar tv $TOP/dists/s1ink/main/source/web/wget—1.5.3 ー 1 . 1 . deb rw—r——r—— 0 / 0 4 Feb 21 06 : 53 1999 debian—binary rw—r——r—— 0 / 0 1842 Feb 21 06 : 53 1999 control. tar ・ gz rw—r——r—— 0 / 0 219897 Feb 21 06 : 53 1999 data. tar ・ gz % ar xv $TOP/dists/s1ink/main/source/web/wget—1.5.3 ー 1.1. deb ←制御ファイルのアーカイプの中身を表示 ←ソフトウェアのアーカイプの中身を展開 1999 ー 02 ー 21 06 : 53 1999 ー 02 ー 21 06 : 53 ←アーカイプの中身を表示 ←アーカイプの中身を展開 x ー debian—binary control . tar. gz X x ー data. tar ・ gz % cat % tar drwxr— % tar drwxr drwxr drwxr drwxr drwxr ー drwxr drwxr deb i an—b inary tzvf xr—X tzvf X X X X X X control . tar て 00t / て 00t root/root root/root root/root root/root root/root root/root data. tar ・ gz root/root て 00t / root て 00t / root root/root root/root root/root root/root て 00t / root て 00t / root て 00t / root . gz ←制御ファイルのアーカイプ ←ソフトウェアのアーカイプ ←ファイルの中身を表示 138 1999 ー 02 ー 21 06 : 53 prerm 70 1999 ー 02 ー 21 06 : 53 postrm 253 1999 ー 02 ー 21 06 : 53 postinst 12 1999 ー 02 ー 21 06 : 48 conffiles 0 1999 ー 02 ー 21 06 . ←ノヾッケージのフォーマットは 2.0 ・ 53 . / 696 1999 ー 02 ー 21 06 : 53 control 2122 1999 ー 02 ー 21 06 : 53 md5sums ←設正ファイノレの一覧 ←インストール後に実行するスクリプト ←削除後に実行するスクリプト ←削除前に実行するスクリプト ← MD5 形式のチェックサム ←パッケージ制御ファイル 0 0 0 116348 0 ・ / ヾツウ - 0 0 604 0 3293 GNU/Linux のノヾイナリ プが含まれています。 1999 ー 02 ー 21 06 1999 ー 02 ー 21 06 1999 ー 02 ー 21 1999 ー 02 ー 21 1999 ー 02 ー 21 06 1999 ー 02 ー 21 06 : 48 1999 ー 02 ー 21 06 : 53 usr/lib/menu/ : 53 1999 ー 02 ー 21 06 : 53 usr/bin/ etc/wgetrc etc/ : 48 usr/lib/menu/wget 06 : 53 usr/lib/ 定します。 かのオプションを付け、 06 : 53 usr/info/ : 53 usr/bin/wget ージでは ar 形式の どのような処理を実行するかを指 アーカイプのなかにさらに tar 十 gzip 形式のアーカイ 88 コマンドを使います。 dpkg-deb コマンドに以下のいすれ バイナリ・パッケージの展開や作成には、 dpkg-deb dpkg コマンドを使います。 生します。パッケージのインストールには、かならず ッケージ間の依存関係がおかしくなるといった間題が発 ジに含まれるファイルが不用意に上書きされたり、パ ジをインストールしてはいけませんはかのパッケー GNU/Linux では、絶対にこのような方法でパッケー ィレクトリ・ツリーが再現されます。しかし、 Debian ート・ディレクトリで展開すると、ソフトウェアのデ で圧縮したアーカイプです。つまり、 data. tar. gz をル ソフトウェアそのものを構成するファイルを tar 十 gzip ・ data. tar. gz ( ソフトウェアのアーカイフ ) —build —contentS —info —field —control —extract —vextract —fsys—tarfile します ( 図 7 もあわせて参照してください ) 。 す。以下では、 dpkg-deb コマンドの使用法を簡単に説明 ドを使って dpkg-deb コマンドを起動することもできま deb コマンドを起動します。したがって、 dpkg コマン と、 dpkg コマンドは引数を保存したまま内部で dpkg- dpkg コマンドにこれらのオプションを付けて実行する UNIX MAGAZINE 1999.9