[PREVIOUS CHAPTER]
[NEXT CHAPTER]
5 ファイルをã¾ã¨ã‚ã¦æ“作ã™ã‚‹é–¢æ•°ç¾¤ (mgetã¨ã¾ã¨ã‚ãŠãりã§ä½¿ã†)
5.1 mget options (help file より)
mgetã¯ã€Žãã®ã‚³ãƒžãƒ³ãƒ‰ã”ã¨ã«ã€ã€Žã¾ã¨ã‚ãŠãりã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã”ã¨ã«ã€é€ã‚Šæ–¹ãŒæŒ‡
定ã§ãã¾ã™ã€‚以下 help ファイルより抜粋
5.2 mget3 ã®ãƒ‡ãƒ•ォールトã®å¤‰æ›´
â—‹ 複数ã®ãƒ•ァイルを一ã¤ã«ã™ã‚‹æ™‚ã®ã¾ã¨ã‚æ–¹ã®ãƒ‡ãƒ•ォールト
$MGET_MODE_DEFAULT can change the default file format "mget" command
sends back. The default format is "tgz" on UNIX, 'mp' on Windows NT4.
libsendfile.pl ã§ã¯
local($mode) = $MGET_MODE_DEFAULT || 'tgz'; # default
ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã§æ˜Žç¤ºçš„ãªæŒ‡å®šãŒãªã„å ´åˆã¯
tar ã—㦠gzip ã‚’ã‹ã‘ãŸãƒ•ォーマット(binary)
ãã—㦠uuencode ã—ã¦é€ã‚‰ã‚Œã¾ã™ã€‚
ã§é€ã‚Šè¿”ã•れã¾ã™ã€‚ã“ã®ãƒ‡ãƒ•ォールト㯠$MGET_MODE_DEFAULT ã§å¤‰æ›´ã§ãã¾ã™ã€‚
定義ã—ã¦æ„味ã®ã‚る変数㯠上述ã®mgetã®ã‚ªãƒ—ションã¨åŒã˜ã¨æ€ã£ã¦æ§‹ã„ã¾ã›
ん。æ£ç¢ºã«ã¯(libfop.plä¸ã§å®šç¾©ã•れã¦ã„ã‚‹) %_fp ã¨ã„ã†ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ル
ã®KEY(2番目ã®å¼•æ•°ã®ãƒ•ィールド)ã§ã™ã€‚
uf
rfc934
rfc1153
mp
gz
tgz
lhaish
lhauu
uu
â—‹ アーカイブ(var/archive ã‚„ library コマンドや…)ã®encodingã®ãƒ‡ãƒ•ォールト
spool ã¨ã¯åˆ¥ã«ï¼ï¼¬ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ãŒã‚ã‚‹å ´åˆãŒã‚りãˆã¾ã™ã€‚例ãˆã°
電話番å·ç°¿(TEXT)
100個ãšã¤ã«ã¾ã¨ã‚ãŸã‚¹ãƒ—ールã®è¨˜äº‹(BINARY)
ã“ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã‚’å–り寄ã›ã‚‹æ™‚ã®ãƒ‡ãƒ•ォールトã¯
テã‚スト $MGET_TEXT_MODE_DEFAULT
(デフォールト㯠'mp' MIME/Multipart)
ãƒã‚¤ãƒŠãƒª $MGET_BIN_MODE_DEFAULT
(デフォールト㯠'uu' uuencode ã•れãŸçŠ¶æ…‹);
$mode = -T $opt ?
($MGET_TEXT_MODE_DEFAULT || 'mp'):
($MGET_BIN_MODE_DEFAULT || 'uu');
â—‹ Subject ã®è¨å®š
$MGET_SUBJECT_TEMPLATE
ã¨ã„ã†å¤‰æ•°ã‚’テンプレートã¨ã—ã¦ç”¨ã„ã¦ã„ã¾ã™ã€‚ã“れを元ã«ã„ãã¤ã‹ã®å…¥ã‚Œæ›¿
ãˆã‚’ãŠã“ãªã£ã¦ subject を生æˆã—ã¦ã„ã¾ã™ã€‚
ã“れã¯
result for mget _DOC_MODE_ _PART_ _ML_FN_
ã®ã‚ˆã†ã«å®šç¾©ã•れã¦ã„ã‚‹å ´åˆ
_DOC_MODE_ <=> [last:10 tar + gzip]
_PART_ <=> (1/4)
_ML_FN_ <=> $ML_FN (here is "(Elena Lolobrigita ML)")
ã¨ã„ã†ç½®æ›ãˆãŒè¡Œãªã‚ã‚Œã€æœ€çµ‚çš„ã«
Subject: result for mget [last:3 tar + gzip] (1/1) (Elena Lolobrigita ML)
ã¨ã„ã†å½¢ã§ mget ã® result ãŒé€ã‚Šè¿”ã•れã¾ã™ã€‚よã£ã¦ã“ã®å¤‰æ•°ã‚’é©å½“ã«å‰Šã‚‹
ãªã‚Šã™ã‚Œã° subject をカスタマイズã§ãã¾ã™ã€‚
5.3 mget3 インターフェイス:ãƒ‘ã‚¿ãƒ¼ãƒ³ãƒžãƒƒãƒæˆ¦ç•¥
5.4 プãƒã‚°ãƒ©ãƒ ã®ãƒ‘ス
6.57.4
ファイルæ“作ã§ã¯ã„ãã¤ã‹ä¸‹è«‹ã‘ã®ãƒ—ãƒã‚°ãƒ©ãƒ を呼ã¶ã“ã¨ãŒã‚りã¾ã™ã€‚ã“れら
㯠makefml ãŒè‡ªå‹•çš„ã«æ¤œå‡ºã—ã€è¨å®šã™ã‚‹ã¯ãšã§ã™ã€‚ã§ã‚‚一応確èªã¯ã—ã¦ä¸‹ã•
ã„。自分ã§ãƒã‚§ãƒƒã‚¯ã—ãªãŒã‚‰ config.ph ã«æ›¸ãã®ã¯ç®¡ç†è€…ã¨ã—ã¦æœ›ã¾ã—ã„æ…‹
度ã§ã™ã€‚site_init.ph ã‚‚ã—ã㯠sitedef.ph ç‰ã§ä¸€å›žã¡ã‚ƒã‚“ã¨è¨˜è¿°ã—ã¦ã‚ã¨
ã¯ã»ã£ã¦ãŠãã¨ã„ã†ã®ã‚‚ã‚ˆã„æ‰‹ã§ã™ã€‚
ç¾åœ¨ãƒ•ァイルæ“作関係ã§è‡ªå‹•çš„ã«æ¤œå‡ºã—è¨å®šã•れるã®ã¯æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã™ã€‚
変数å è¨å®šä¾‹
$TAR = "/usr/bin/tar cf -";
$UUENCODE = "/usr/bin/uuencode";
$COMPRESS = "/usr/bin/gzip -c";
$ZCAT = "/usr/bin/zcat";
$LHA = "/usr/local/bin/lha";
$ISH = "/usr/local/bin/ish";
5.5 mget3 ã®é€ã‚Šè¿”ã—プãƒã‚»ã‚¹
ã„ãã¤ã‹ã®ãƒ•ァイルをã¾ã¨ã‚ã¦é€ã‚Šè¿”ã™ãƒ—ãƒã‚»ã‚¹ã®æœ€çµ‚ステージã¯ã€æ¬¡ã®ã‚ˆã†
ã«è¡Œãªã‚れã¾ã™ã€‚
â—‹ mget3 interface ã¯ãƒãƒƒã‚¯ãŒã‹ã‹ã£ã¦ã„る状態ã®ã†ã¡ã«
$TMP_DIR ã«é€ã‚Šè¿”ã™ã¹ãファイルを作ã£ã¦ãŠãã¾ã™ã€‚
é€ã‚Šè¿”ã—プãƒã‚»ã‚¹ã¯ãƒãƒƒã‚¯ã‚’外ã—ãŸå¾Œã§è¡Œãªã‚れる。
ãªãŠ $TMP_DIR ã«ä½œã‚‰ã‚Œã‚‹ä¸é–“ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ¬¡ã®ã‚ˆã†ãªãƒ•ァイルåã«ãªã£ã¦ã„る。
m:"モードå":"プãƒã‚»ã‚¹ID"return.æ•°å—(分割ã•れるãŸã‚)
é€ã‚Šè¿”ã™ã‚‚ã®ãŒè¤‡æ•°ã«ãªã£ãŸæ™‚ã®ãŸã‚ã«â€åˆ†å‰²ã®æ•°å—â€ã¯å¿…è¦ã§ã‚ã‚‹ã®ã¯è‡ªæ˜Ž
ã ãŒã€ä¸€æ„ã«ãƒ•ァイルを定ã‚ã‚‹ãŸã‚ã«ã¯ãƒ—ãƒã‚»ã‚¹IDã¨ãƒ¢ãƒ¼ãƒ‰åã¾ã§ãŒã‚»ãƒƒãƒˆã«
ãªã‚‹å¿…è¦ãŒã‚る。ã¨ã„ã†ã®ã¯ä¸€ã¤ã®ãƒ¡ãƒ¼ãƒ«ã§ã€Œè¤‡æ•°ã®ãƒ¢ãƒ¼ãƒ‰ã® mget コマンド
を使ã†ã€ã“ã¨ãŒã§ãã‚‹ã‹ã‚‰ã§ã‚る。
â—‹ ãƒãƒƒã‚¯ã‚’ã¯ãšã™ (&Unlock();)
ã¨ã„ã†ã®ã¯ã€é€ã‚Šè¿”ã™ãƒ—ãƒã‚»ã‚¹ãŒé•·ã„å ´åˆï¼ï¼¬è‡ªä½“ãŠã‚ˆã³ãã®å¾Œã«æ¥ãŸã‚‚ã£ã¨
手間ã®ã‹ã‹ã‚‰ãªã„プãƒã‚»ã‚¹ã•ãˆã‚‚ãƒãƒƒã‚¯ã—ã¦æ¢ã¾ã¦ã—ã¾ã†ã®ã¯ã„ã‘ãªã„ã‹ã‚‰ã§
ã‚る。
â—‹ &RunStartHooks; ã‹ã‚‰ mget3_SendingEntry を呼ã³å‡ºã™ã€‚
mget3_SendingEntry 㯠%mget_list ã«å¾“ã„下ä½ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスを呼ã³å‡ºã™ã€‚
ãƒãƒƒã‚¯ã¯ã¯ãšã‚Œã¦ã„ã‚‹ã®ã§ã€è¤‡æ•°ã®é€ã‚Šè¿”ã—プãƒã‚»ã‚¹ãŒã©ã†æ™‚ã«èµ°ã£ã¦ã‚‚æ§‹ã‚
ãªã„。
ファイルãŒåˆ†å‰²ã•れã¦ã„ã‚‹å ´åˆã€é€ã‚Šè¿”ã—㯠$MGET_SEND_BACK_SLEEPTIME (ãŒ
未定義ãªã‚‰ $SLEEPTIME) 時間ã”ã¨ã«è¡Œãªã‚れる。mget ã‚³ãƒžãƒ³ãƒ‰ã§æ˜Žç¤ºçš„ã«æŒ‡
定ã•ã‚Œã‚‹å ´åˆä»¥å¤–ã¯ãƒ‡ãƒ•ォールト㮠$MGET_SEND_BACK_SLEEPTIME
($SLEEPTIME) ãŒå„ªå…ˆã•れる。$SLEEPTIME 㯠$MGET_SEND_BACK_SLEEPTIME ã®
å¤ã„åå‰ã§ã‚ã‚‹
注æ„:ãªãŠé€šå¸¸ã®æ¡ä»¶ä¸‹ã§ã¯ä»Šé€ã‚Šè¿”ãã†ã¨ã—ã¦ã„ã‚‹ä¸é–“ファイル㌠上書ãã•
れるã“ã¨ã¯ã‚りãˆãªã„。異常ãªå ´åˆã¯æœ‰ã‚Šå¾—ã‚‹ã ã‚ã†ãŒâ€¦(ãã‚“ãªçŠ¶æ…‹ã®OS下
ã§ãƒ—ãƒã‚»ã‚¹ã¯ãƒžãƒˆãƒ¢ã«å‹•ã‹ãªã„ã ã‚ã†)
5.6 コマンドã§å˜ãªã‚‹ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã‚¨ãƒ©ãƒ¼ã®è¦å‘Šã‚’ã™ã‚‹
明示的㫠$USE_WARNING をセット
e.g. in config.ph
$USE_WARNING = 1;
ã™ã‚‹ã¨ã‚³ãƒžãƒ³ãƒ‰ãƒ¡ãƒ¼ãƒ«ã§ã®ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã‚¨ãƒ©ãƒ¼ã®è¦å‘Šã‚’ã™ã‚‹ã€‚デフォールトã¯
ã—ãªã„。
e.g.
# helps â†ã‚³ãƒžãƒ³ãƒ‰ã®ã‚¨ãƒ©ãƒ¼ã¯è¦å‘Š
#ã†ã˜ã‚ƒ â†ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã‚¨ãƒ©ãƒ¼è¦å‘Šãªã—
#ã—ãã«ã¡ã‚ƒã€œ uja@uja.ac.jp â†ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã‚¨ãƒ©ãƒ¼è¦å‘Šãªã—
5.7 mget ã®é€ã‚Šè¿”ã—æ™‚ã®ãƒ•ァイルサイズ
$MAIL_LENGTH_LIMIT (default is 1000 lines)
ã¯è¤‡æ•°ã®ãƒ•ァイルã«åˆ†å‰²ã™ã‚‹æ™‚ã®ä¸€é€šã‚ãŸã‚Šã®å¤§ãã•ã§ã™ã€‚è¡Œæ•°ã§æŒ‡å®šã—ã¾ã™ã€‚
Internetãªã‚‰ã¨ã‚‚ã‹ãã€ãƒ‘ソコン通信ã®äººã¸ã‚‚é…é€ã™ã‚‹æ™‚ã¯æ°—を使ã„ã¾ã™ã‚ˆã
(最近ã§ã¯ãã†ã§ã‚‚ãªã„ã®ã‹ï¼Ÿã‚ˆãã—らãªã„)。
目安ã¨ã—ã¦ã¯1000行ã§ã ã„ãŸã„50kãらã„ã«ãªã‚‹ã®ã§1000ãŒé¸ã°ã‚Œã¦ã„ã¾ã™ã€‚
5.8 mget ã§æŒ‡å®šã§ãã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€å¤§æ•°
mget ã§æŒ‡å®šã§ãã‚‹ãƒ•ã‚¡ã‚¤ãƒ«æ•°ã®æœ€å¤§å€¤ã€‚デフォールトã¯1000ã§ mget * ãªã©
ã¨ã—ã¦1000通以上ã®ãƒ•ァイルを指定ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚‹ã€‚
$MGET_SEND_BACK_FILES_LIMIT
5.9 Mget Format: Unix From å½¢å¼
4.4BSD UNIX ã® sendmail 㯠/usr/libexec/mail.local を使ã„å„ユーザ(e.g.
fukachan) å®›ã®ãƒ¡ãƒ¼ãƒ«ã‚’ /var/mail/fukachan ã«ä¿å˜ã—ã¦ã„ã¾ã™ã€‚
ã“ã®å½¢å¼ãŒ UNIX FROM å½¢å¼ã§ã™ã€‚$HOME/mbox ã‚‚åŒæ§˜ã§ã™ã。
From fukachan Mon Jan 26 09:11:46 1998
Received: by hikari.fml.org (8.8.8/3.4W6+Hikari-2.1)
with ESMTP id JAA02846 for <uja@fml.org>;
Mon, 26 Jan 1998 09:11:46 +0900 (JST)
From: fukachan@sapporo.iij.ad.jp
Subject: uja
ãªã‚“ã¨ãªãã§ã™ã€‚ãªã‚“ã¨ãªã
MH ã® inc ã¯ã“ã®å½¢å¼ã®ãƒ•ァイルを処ç†ã™ã‚‹ã“ã¨ã‚’剿ã«ã—ã¦ã„ã¾ã™ã€‚
5.10 Mget Format: MIME/Multipartã®BNF表ç¾ï¼ˆRFC1521より)
boundary := 0*69<bchars> bcharsnospace
bchars := bcharsnospace / " "
bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" / "+" /"_"
/ "," / "-" / "." / "/" / ":" / "=" / "?"
Overall, the body of a multipart entity may be specified as
follows:
multipart-body := preamble 1*encapsulation
close-delimiter epilogue
encapsulation := delimiter body-part CRLF
delimiter := "--" boundary CRLF ; taken from Content-Type field.
; There must be no space
; between "--" and boundary.
close-delimiter := "--" boundary "--" CRLF ; Again, no space
by "--",
preamble := discard-text ; to be ignored upon receipt.
epilogue := discard-text ; to be ignored upon receipt.
discard-text := *(*text CRLF)
body-part := <"message" as defined in RFC 822,
with all header fields optional, and with the
specified delimiter not occurring anywhere in
the message body, either on a line by itself
or as a substring anywhere. Note that the
semantics of a part differ from the semantics
of a message, as described in the text.>
5.11 Mget Format: MIME/Multipartã®è¦‹æœ¬
Date: Thu, 18 May 95 22:33:00 JST
From: Elena@phys.titech.ac.jp (Elena Lologrigita)
Subject: P R E S E N T
To: fukachan@phys.titech.ac.jp
MIME-Version: 1.0
Content-type: multipart/mixed;
boundary="--Thu_18_May_95_22:32:56--"
5.12 Mget Format: RFC934
rfc934 "Proposed Standard for Message Encapsulation"
MH ã® burstã§è¤‡æ•°ã®å±•é–‹ã«å±•é–‹ã§ãã¾ã™ã€‚
Example:
5.13 Mget Format: RFC1153 digest
5.14 Mget Format: 1153 ã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚º
$RFC1153_ISSUE ï¼ï¼¬ã®è¨˜äº‹ç•ªå·ã§ã¯ãªã1153å½¢å¼ã§é€ã‚Šå‡ºã™æ™‚ã®ç•ªå·
$RFC1153_SEQUENCE_FILE ãã®ç•ªå·ã‚’ä¿å˜ã™ã‚‹ãƒ•ァイル
ã“ã®ãƒ«ãƒ¼ãƒãƒ³ãŒå‘¼ã°ã‚Œã‚‹ãŸã³ã«ã‚«ã‚¦ãƒ³ã‚¿ã¯é€²ã¿ã¾ã™ãŒã€
å‰è¿°ã®ã‚ˆã†ã«å„ユーザã”ã¨ã«1153ã§é€ã‚‹å ´åˆã‚’考ãˆã‚‹ã¨
é€ã‚Šæ–¹ã¯ãれãžã‚Œé•ã†ã®ã ã‹ã‚‰
番å·ã¯ã¡ã‚ƒã‚“ã¨ã¤ãªãŒã£ã¦ã¯ãれã¾ã›ã‚“。
ã“れを解決ã™ã‚‹æ–¹æ³•ã¯ã‚りã¾ã›ã‚“
$RFC1153_LISTNAME ã¾ã¨ã‚é€ã‚Šã™ã‚‹1153 digest ã«ã¤ã‘るタイトル
$RFC1153_VOL Volume 例ãˆã°96年度ã®ã¾ã¨ã‚é€ã‚Šãªã‚‰ Volume 96ã®
よã†ãªãƒ¬ãƒ™ãƒ«ã®ç•ªå·
$RFC1153_CUSTOM_HOOK &Rfc1153Custom($mode, *conf) ã®ä¸ã§
行ãªã‚れるフック
&Rfc1153Custom($mode, *conf) internal:
########## CUSTOMIZE BELOW ##########
$issue = $RFC1153_ISSUE || 1;
$listname = $RFC1153_LISTNAME || "UJA";
$vol = $RFC1153_VOL || $year;
$IssueSeq = $RFC1153_SEQUENCE_FILE ||
"$FP_VARLOG_DIR/IssueSeq"; # file to remember count;
&GetTime;
&eval($RFC1153_CUSTOM_HOOK, 'RFC1153 custom:');
$issue = &Rfc1153GetSeq($IssueSeq);
5.15 Mget Format: lzh + ish option
FYI: 一部ã®OS(Sun OS 4.x ?)ã§ 2.2 ã§ã†ã¾ãå‹•ã‹ãªã„時ã«
$INSECURE_SYSTEM = 1; ã‚’è¨å®šã™ã‚‹ã¨å‹•ãã“ã¨ãŒã‚りã¾ã™ã€‚
9.15
mget 200-210 ish
ã®ç”¨ã«æŒ‡å®šã™ã‚‹ã¨lzh ã—㦠ish(s7 mode)ã—ãŸã‚‚ã®ã‚’é€ã‚Šè¿”ã—ã¾ã™ã€‚
$LHA = "/usr/share/bin/lha";
$ISH = "/home/axion/fukachan/bin/ish";
ç‰ã‚’ã©ã“ã‹ã§(config.ph or sitedef.ph)ã§è¨å®šã—ã¦ä¸‹ã•ã„。makefml ãŒè‡ªå‹•
探索ã¦è¨å®šã•れã¦ã„ã‚‹ã¯ãšã§ã™ãŒç¢ºèªã¯ã—ã¦ä¸‹ã•ã„。
5.16 SJIS ã«ãƒ•ァイルを変æ›ã—ã¦é€ã‚‹ (lzh + ish 㨠lhz + uuencode option)
config.ph ã§ $USE_SJIS_IN_ISH = 1; をセットã™ã‚‹ã¨ lha を使ã†ã‚¿ã‚¤ãƒ—ã§ã¯
SJIS ã«å¤‰æ›ã—ã¾ã™ã€‚変数å㯠ish ã ã‘ã®ã‚ˆã†ã«è¦‹ãˆã¾ã™ãŒæ´å²çš„ãªã‚‚ã®ã§ã™ã€‚
lha を使ã†ãªã‚‰ã„ã¥ã‚Œã®å ´åˆã«ã‚‚é©ç”¨ã•れã¾ã™ã€‚
^M ^Z ã‚‚ã¤ã‘ã¾ã™ã€‚ã™ã¹ã¦ã€å¤–部コマンドを使ã‚ãšã«è‡ªåŠ›ã§ã‚„りã¾ã™ã€‚
[PREVIOUS CHAPTER]
[NEXT CHAPTER]