卒業時に残していく .tgz ファイルを作るには?

■ 2001/02/15 加筆

「どこまで詳しくやれば良いのか」と聞かれたのですが、コンセプトはずばり、

それを見るだけで、後輩が研究を再現できる
です。つまり例えば、後輩達が、 などのことができるように、各 README が書いてあれば良いのです。

素子講座では、卒業時に一つの username.tgz という圧縮ファイルを 残していってもらうものとします。ようするに後に続く後輩の ために、

等を残していって欲しいのです。で、それらを CD-R に焼いて 講座で保存しておきます。

これは、マスターに残る人も就職する人も基本的に全員やってもらいます。 なお、就職組はこの作業が終ったらアカウントを消します (上記以外に自分でとっておきたいものがあったら各自 フロッピーに書くなり CD-R に焼くなりして下さい)。


それでは実際の作業手順を説明します。 まずは、なぜディレクトリ構造そのものを CD-R に焼くのではなく、 username.tgz というひとつのファイルに固めてから焼くのかを 説明します。

まず、前提として、CD-R にはロングファイル名が書けません。 (MS-DOS ではファイル名は 8文字+拡張子3文字と決められて います。これより長いファイル名やピリオドがいっぱいある ファイル名をここではロングファイル名と呼ぶことにします。) 本当は書けるのですが、ロングファイル名で書いてしまうと MS-DOS や HP-UX で読めなくなる可能性もでてきてしまいます。 そうすると、いままで例えば very_long_file_name.c などと して作っていたやつを全て 8+3文字に変換しないといけないか というとそうではありません。ようは一度複数のファイルを 一つのファイルにまとめてしまい(アーカイブ)、 そののちにそれを圧縮すればいいのです。

アーカイブによってできるファイルが、foo.tar で、 それを圧縮すると foo.tar.gz になります。さらに 8+3 文字に するため、こいつを

% mv foo.tar.gz foo.tgz
というふうに ファイル名を変えてやります。foo.tar と foo.tar.gz の具体的な 作り方は後述します。
実際の作業の説明に入る前に、「何を残すか」について説明します。

まず、卒業論文。9年度は全員 tgif + LaTeX で書いたみたいで、しかも切り貼りレスなので、 非常に話が早いです。卒論で残して欲しいのは、基本的に卒論 用ディレクトリにあるもの全部です。.tex や .obj, .eps の他、 オプションで使った .sty も入れて下さい。

OHP予稿原稿 も同様ですが、基本的には

sotsuron/
ohp/
yokou/
のようにディレクトリがわかれていた方があとの人のためには親切 なような気がします。 なお、今回 OHP は人によって作り方が様々です。SliTeX or LaTeX, ランドスケープ or ポートレイト, カラーを使ったか使っていないか etc.。 なので、OHP のコンパイルの仕方、プレビューの仕方、プリントアウト の仕方を README.OHP というファイルに書いておいて OHP の ディレクトリに同梱して下さい。
README.OHP のサンプル

さらに、プログラムを作って 研究した人は、

などを含めて下さい。

また、SPICEを使って研究した人は、

などを含めて下さい。 さらに上記以外で、 これは重要だと思うのがあったらつけといて下さい。

ようするに、シミュレーション等をしたときの状況が完全に再現できるようにすればよいのです。 (そのためには、残す用ディレクトリにコピーしたときに、一回 SPICE なり platex なりを通してみる、っていうのが良いかと思います)


では、実際の作業に移りましょう。 まず、自分のホームディレクトリ(waad/hazem/fox を使ってた人はそちら、Sun を使ってた人はそちら) に、username と同じ名前のディレクトリを作ります(以下の例では username=sakapon で話を進めていきます。)
% cd                (自分のホームに移動)
% mkdir sakapon     (/home/sakapon/sakapon というディレクトリができる)
次に、このディレクトリの下に上で述べた各種のファイルをコピーして いきます。例えば、/home/sakapon/tex/sotsuron の下に卒論が図も含めて 一式ある場合は、
% cd /home/sakapon/tex
% cp -r -p sotsuron /home/sakapon/sakapon (ディレクトリをまるごとコピー)
これで、/home/sakapon/sakapon/sotsuron というディレクトリが作られ、 なおかつそこに全てのファイルがコピーされてるはずです(下の階層の ディレクトリも含めて)。 cp コマンドには必ず -r -p オプションをつけて下さい。 -r で再帰的に下の階層のディレクトリもコピーします。 あと、もし hcusotsu.sty 等をそのディレクトリにおいてなかったら、 それらも同梱するようにします。
% cp /home/sakapon/tex/macros/hcusotsu.sty /home/sakapon/sakapon/sotsuron
以下同様です。上の方で述べた説明書をつけるのを怠らないで下さい。
最後に /home/sakapon/sakapon 以下を一気にひとつのファイルにアーカイブします。 これには tar コマンドを使います。
% cd /home/sakapon
% tar cvf sakapon.tar sakapon
(カレントにある sakapon というディレクトリ以下すべてを
sakapon.tar という一個のファイルにまとめます)
sakapon.tar と sakapon の順番を間違えるとファイルが壊れるので 注意して下さい。
これで sakapon.tar というファイルがホームにできたはずです。 しかし、tar というのは単にファイルをくっつけるだけなので、 40byte のファイルと 30byte のファイルをくっつけた ときは 70+αbyte のファイルができてしまい、非効率的です。 そこで、 gzip コマンドを使って こんどはそれを圧縮します。
% gzip sakapon.tar
これで sakapon.tar.gz というファイルができてるはずです。 最後にこれを8+3文字にします。
% mv sakapon.tar.gz sakapon.tgz
以上で終りです。

ひとりのファイルの大きさには特に制限はもうけませんが、 そんなに必要じゃないやつは入れなくてもよいです。適当に 判断して下さい。で、できた『何とか.tgz』は

presidio:/home/ctrl/cdr
に置いて下さい。 このディレクトリは誰でも書き込めるようになっています (が、ファイルを作った本人にしかそのファイルを消せないようにも なっていますのでイタズラはできません)。 で、置いたらすぐに、置いたということを坂本にメールで教えて下さい。 以上です。

■ 2000/02/16 加筆

MagicPoint を使用して eps ファイルを %newimage していると、 .gscache.* というファイル名のキャッシュファイルが自動的に生成されます (「.」で始まるファイル名なので普段は見えません)。 これはかなりでかいファイルになるので、これを .tgz ファイルには含めないようにして下さい。 上記手順を忠実に実行していくとおそらく含まってしまうので、 意識して消すようにして下さい。

■ 2002/02/14 加筆

上の MagicPoint のキャッシュファイルの件ですが、H13年度からは これは関係無くなりました。 (/home の容量がつらくなってきたので、キャッシュは /usr/local/tmp に 集中的にできるように MagicPoint を改造したので。) 要するに各個人の下には .gscache.* は有りませんので気にしなくて良いです。

■ 2001/02/14 加筆

Windows で Word や Powerpoint を使った人は、漢字のファイル名とかを 使っているかも知れません。 これはうまく CD-R に焼けないので、一旦 Windows 用ファイル一式をそれだけで lzh に圧縮して UNIX に ftp し、その他 UNIX で使ったシミュレーション結果 などとあわせた上でさらに tgz に再圧縮して下さい。


back