[JM:00960] coreutils.info のチェック (第 15 - 26 章)

Back to archive index

長南洋一 cyoic****@maple*****
2013年 11月 6日 (水) 22:12:26 JST


長南です。なかなか進みません。

16.3 `test'

     `-O FILE'
        True if FILE exists and is owned by the current effective user ID.

     `-G FILE'
        True if FILE exists and is owned by the current effective group ID.


  この "the current effective user ID (group ID)" をどう訳したらよいのか
  悩んでいます。簡単なようで、難しい。直訳すれば、

       FILE が存在し、現在の実効ユーザ ID に所有されていれば、真。

  ですが、「現在の実効ユーザ ID」が曖昧すぎる気がします。この場合、
  current を「現在の」と訳すのがまずいのかもしれません。そこで、
  こんな訳にしてみました。

       FILE が存在し、現プロセスの実効ユーザ ID によって所有されて
       いれば、真。

  FreeBSD の manpage では、"True if file exists and its owner matches 
  the effective user id of this process"と言っていますから、これで
  間違いではないと思いますが、「現プロセス」が何を指しているか、
  やはり分かりにくいかもしれません。

  そんなわけで、今のところは、次のような訳にしています。

       FILE が存在し、その所有者がコマンド実行者の実効ユーザ ID と
       同じならば、真。

       FILE が存在し、そのグループがコマンド実行者の実効グループ ID と 
       同じならば、真。

  「コマンド」を抜かして「実行者の」だけもで通じるでしょうか。
  「test コマンド実行者の」とまで言った方がよいでしょうか。
  test コマンドに set-user-ID bit や set-group-ID bit が付いている
  場合まで考えると (そんなことは、まずないでしょうが)、「実行者の」
  と言うより「プロセスの」と言った方がよいように思えますし、難しい
  ところです。
  
  これぞ決定版と言えそうな訳はありませんか。曖昧ながら、「現在の実効 
  ユーザ ID」で何となく分ってもらうのが、一番無難なのでしょうか。

19.2 `stty'

  これ章については、ほとんど内容を理解しないまま、言葉の上だけで訳して
  います。できたら、翻訳の全文をお読みになって (大部分が設定項目の
  箇条書きです)、内容的におかしいところがあったら、教えていただけると
  助かります。

  一つだけ挙げておくと、この "until the carrier detect line is high" 
  の high をどう訳したらよいか。「活動するまで」とか「活性化するまで」
  とかも考えました。ついでに言うと、最後の文の allow を省略しています。
  allow を生かせば、「シェルがいつもどおりのやり方でデバイスをオープン
  できるようにすることは」ぐらいでしょうか。allow があってもなくても、
  結局同じではないかと思ったのですが、やっぱり違いますか。

     `-F DEVICE'
     `--file=DEVICE'
       Set the line opened by the file name specified in DEVICE instead of
       the tty line connected to standard input.  This option is necessary
       because opening a POSIX tty requires use of the `O_NONDELAY' flag
       to prevent a POSIX tty from blocking until the carrier detect line
       is high if the `clocal' flag is not set.  Hence, it is not always
       possible to allow the shell to open the device in the traditional
       manner.

       標準入力に結びついている tty ラインを操作の対象にする代わりに、
       DEVICE で指定されたファイル名を使ってオープンするラインを操作の
       対象にする。このオプションが必要なのは、POSIX 準拠の tty を
       オープンするには、`O_NONDELAY' フラグを使う必要があるからである。
       そうしないと、POSIX 準拠の tty は、`clocal' フラグがセットされて
       いない場合に、キャリア検出線 (carrier detect line) が活発化する
       まで、ブロッキングを起こす。そんなわけで、シェルがいつもどおりの
       やり方で (訳注: たとえば、`stty < /dev/ttyS1' のような方法で) 
       デバイスをオープンすることは、いつでも可能というわけではないのだ。

21.7 `uptime'

  load average は「平均負荷」と「負荷平均」の両方の訳がありますが、
  どちらがよいのでしょうか?

23.1 `chroot'

  chroot の 脚注 (Footnotes)

     ... Also, on Cygwin, anyone can run the `chroot' command,
     because the underlying function is non-privileged due to lack of
     support in MS-Windows.

     ... また、Cygwin では、どんなユーザでも `chroot'
     コマンドを実行できる。内部で呼び出される関数が、MS-Windows では
     特権のサポートを欠いており、そのため非特権的だからである。

  一応上のように訳しましたが、"lack of support in MS-Windows" が
  わかりません。Windows では、何のサポートを欠いているのでしょう。
  また、"in Windowns" は、"is non-privileged" と "lack of support" の
  どちらにかかるのでしょう。non-privileged の訳も適当にごまかしています。

23.3 `nice'

    nice についても、よく分からないで訳しています。"niceness" という
  言葉自体、どう訳してよいか分からないくらいです。特に分からないのは、
  次の部分。訳文は内容的に正しいですか。

        A niceness should not be confused with a scheduling priority, which
     lets applications determine the order in which threads are scheduled to
     run.  Unlike a priority, a niceness is merely advice to the scheduler,
     which the scheduler is free to ignore.  Also, as a point of
     terminology, POSIX defines the behavior of `nice' in terms of a "nice
     value", which is the nonnegative difference between a niceness and the
     minimum niceness.  Though `nice' conforms to POSIX, its documentation
     and diagnostics use the term "niceness" for compatibility with
     historical practice.

        niceness をスケジューリング優先度 (scheduling priority) と混同しては
     ならない。後者は、様々なスレッドをどういう序列で実行するかの予定を組む
     際に、その序列をアプリケーション側に決めさせるものである。優先度とは
     違って、niceness はスケジューラに対する単なるアドバイスにすぎず、スケ
     ジューラはそれを無視することができるのだ。また、用語について言うと、
     POSIX は `nice' の動作を "nice value" という用語で定義している。 この
     nice value は、ある niceness と 最小の niceness との間の負ではない
     差である。`nice' コマンドは POSIX に準拠しているものの、この文書や
     エラーメッセージでは、従来の習慣との親和性を考慮して、"niceness" という
     言葉を使っている。

23.4 `nohup'

  イマイチわからないで訳しています。

23.5 `stdbuf'

  これもよく分かっていません。とくにここ。

        The MODE can be specified as follows:

     `L'
         Set the stream to line buffered mode.  In this mode data is
         coalesced until a newline is output or input is read from any
         stream attached to a terminal device.  This option is invalid with
         standard input.

         ストリームを行単位のバッファ・モードにする。このモードでは、改行が
         出力されるか、あるいは、端末デバイスに結びついているストリームから
         入力が読み込まれるまで、データを溜めておく。このオプションは、標準
         入力に対しては無効である。

  coalesced を「溜めておく」と訳して構いませんか。「端末デバイスに
  結びついているストリームから入力が読み込まれるまで」も、どういうことか
  よくわからないまま訳しています。

     `SIZE'
         Specify the size of the buffer to use in fully buffered mode.
         ---- (以下省略) ----

         バッファ一杯モード (fully buffered mode) で使用するバッファのサイズ
         を指定する。

  「バッファ一杯モード」という訳は、やりすぎでしょうか。もしそうなら、
  何かよい訳語がありますか。

26.2 `seq'

  次の文の "a 64-bit fractions" の fractions は「浮動小数点数」と訳して
  よいでしょうか。outlandish にもっとぴったりした訳語はないでしょうか。

        Be careful when using `seq' with outlandish values: otherwise you
     may see surprising results, as `seq' uses floating point internally.
     For example, on the x86 platform, where the internal representation
     uses a 64-bit fraction, the command:

          seq 1 0.0000000000000000001 1.0000000000000000009

        outputs 1.0000000000000000007 twice and skips 1.0000000000000000008.

        `seq' でとんでもなく大きな桁の値を使うときは、気をつけた方が
     よい。さもないと、`seq' は内部で浮動小数点を使用しているので、
     結果を見てびっくりするかもしれない。たとえば、x86 のプラット
     フォームでは内部表現に 64 ビットの浮動小数点数を使用しているが、
     そこで次のコマンドを実行すると、

           seq 1 0.0000000000000000001 1.0000000000000000009

         seq' は 1.0000000000000000007 を二度出力し、1.0000000000000000008
     をスキップする。

  しかし、このコマンドは、わたしのところでは 1.0000000000000000008 
  ではなく、1.0000000000000000006 をスキップします。原文には x86 と
  書いてありますし (x86 というのは 32 ビットまでの CPU のことですね)、
  うちのパソコンは古いとは言え Athlon 64 ですから、そのせいでしょうか。
  皆さんのところでは、どうなりますか。32 ビットの CPU で最近の
  coreutils を試すことができる方がいらっしゃると、よいのですが。

あと一回ほど質問することになりそうです。

-- 
長南洋一




linuxjm-discuss メーリングリストの案内
Back to archive index