[JM:03850] Re: [POST:RO] kmod 29 man5 man8

Back to archive index
長南洋一 cyoic****@maple*****
2022年 6月 22日 (水) 21:15:36 JST


長南です。

depmod.8 の訳文についての報告です。ものすごい長文になりました。

○ DESCRIPTION の最初の段落

    Linux kernel modules can provide services (called "symbols") for other
    modules to use (using one of the EXPORT_SYMBOL variants in the code).
    If a second module uses this symbol, that second module clearly depends
    on the first module. These dependencies can get quite complex.

  [今回の訳]
    Linux カーネルモジュールは、 他のモジュールが利用できるようなサービス
    ("シンボル" と呼ばれる) を提供することができます (コード内において
    EXPORT_SYMBOL バリアントを用いて行われます)。 2 つめのモジュールがこの
    シンボルを利用していたら、 2 つめのモジュールは、 明らかに 1 つめのモ
    ジュールに依存していることになります。 このような依存関係は、 非常に複
    雑になることがあります。

  原文は "using one of the EXPORT_SYMBOL variants" ですが、
  訳文では "one of" が消えて、「EXPORT_SYMBOL バリアント」だけになって
  います。私には "EXPORT_SYMBOL variants" がどんなものか分からないので
  判断できませんが、この "one of" は訳文では省略しても問題ないもの
  なのですか。

  「2 つめ」、「1 つめ」というのは、何のことだか分かりにくありませんか。
  前回の翻訳はこんなふうになっていました (なお、前回の原文では、カッコの中は
  単に "using EXPORT_SYMBOL in the code" でした)。

  [前回の訳]
    Linux  カーネルモジュールは、 (「シンボル」と呼ばれる) サービスを (コー
    ド中で EXPORT_SYMBOL を使って) 他のモジュールが使えるように提供すること
    ができる。  後者のモジュールがこのシンボルを使う場合、 後者のモジュール
    は前者のモジュールに依存しているのは明らかである。 このような依存関係は
    かなり複雑になることがある。

  「カーネルモジュール」と「他のモジュール」の並べ方 (と言うか、離し方) の
  工夫なんですが、こちらの方がマシかもしれません。まあ、どちらも分かりにくいと
  言われれば、それまでですけれど。

  なお、前回の翻訳はかなりよくできているので (もちろん、今回の方がよい
  ところもあります)、疑問があるときは (ないときも)、突き合わせてみると
  よいと思います。

○ DESCRIPTION の2つ目の段落から

・  depmod creates a list of module dependencies by reading each module
    under /lib/modules/version and determining what symbols it exports and
    what symbols it needs. 

  [今回の訳]
    depmod は /lib/modules/version 以下にあるモジュールを読み込んで、何と 
    いうシンボルをエクスポートしているか、 何というシンボルを必要としている
    かを確認した上で、 モジュールの依存関係の一覧を生成します。

  参考までに、前回の翻訳を挙げておきます。

  [前回の訳]
    depmod  は、  /lib/modules/version 以下のモジュールをひとつひとつ読み込
    み、 各モジュールがどんなシンボルをエクスポートしているかや  どんなシン
    ボルを必要としているかを調べて、   モジュールの依存関係のリストを作る。

  「依存関係の一覧」で問題ないのですが、modules.dep の内容を見ると、
  前回の翻訳のように「依存関係のリスト」と言ったほうが、よりふさわしい気が
  します。もっとも、それは「好み」とか「個人的感覚」とかの問題かもしれません。

  ついでですから、もうひとつ個人的な好みを書いておきます。"determine"
  の訳語として、中村保男・谷田貝常夫の「英和翻訳表現辞典」に「特定する」が
  載っています。これは、いろいろな場面で使える便利な訳語だと思います。
  この辞書には "determine" の訳語に「はじきだす」なんてのも載っていました。

  以下では、そうした「好み」や「感覚」の問題はできるだけ取り上げないことにします。

・  By default, this list is written to modules.dep,
    and a binary hashed version named modules.dep.bin, in the same
    directory.

  [今回の訳]
    デフォルト
    では、 その一覧を modules.dep に書き込みます。 またバイナリハッシュ形式
    として modules.dep.bin を同一ディレクトリ内に書き込みます。

  「バイナリハッシュ形式として」は、日本語としてちょっと苦しいというか、
  わかりにくい表現だと思います。こういうふうに、modules.dep で文を
  切る訳し方をするなら、

  [試訳 1]
    ... またバイナリハッシュ形式にして、同じディレクトリの modules.dep.bin
    というファイルに書き込みます。

  ぐらいの方が素直ではないでしょうか。もっとも、厳密な読み方をすると、
  "in the same directory" の前にはコンマがあるので、これは modules.dep
  と modules.dep.bin の両方に掛かるのかもしれません。いや、それどころか、
  古いバージョンの原文を見ると、"in the same directory" は
  /lib/modules/version を指すことになっています。古い原文を、パラグラフの
  初めから引用します。

  [古い原文]
    depmod  creates  a  list of module dependencies, by reading each
    module under /lib/modules/version and determining what symbols it
    exports, and what  symbols it needs.  By default this list is
    written to modules.dep in the same directory.

  マニュアルの著者としては、今でも "the same directory" を
  /lib/modules/version だと考えているのだと思います。そうでないと、
  modules.dep がどこに置かれるかを説明しないことになってしまいますから。
  ですから、現在の manpage の翻訳も以下のようになるのではないでしょうか。

  [試訳 2]
    デフォルトではそのリストを modules.dep と、それをバイナリハッシュ化した
    modules.dep.bin というファイルに書き込み、両者を /lib/modules/version
    ディレクトリに置きます。

  あるいは、"in the same directory" を「上記ディレクトリ」と訳しても
  よいかもしれません。それで前後が呼応するかを見るために、パラグラフの
  最初から訳してみます。なお、"determine" に「特定」を使ってみます。

  [試訳 3]
    depmod は /lib/modules/version 以下にある各モジュールを読み込み、
    それがどんなシンボルをエキスポートしているかや、どんなシンボルを必要と
    しているかを特定して、モジュールの依存関係のリストを作成します。
    デフォルトでは、このリストは、上記ディレクトリに置かれる modules.dep
    と、それをバイナリハッシュ化した modules.dep.bin というファイルに
    書き込まれます。

  しかし、現在の原文だけ読んだ場合には、「modules.dep と modules.dep.bin
  が、同じディレクトリにある」と取るのは、自然なことだろうと思います。
  ただし、その場合、「modules.dep はどこに置くの?」という疑問は
  残りますけれど。

・  If filenames are given on the command line, only those
    modules are examined (which is rarely useful unless all
    modules are listed).

  [今回の訳]
    コマンドラインからファイル名が指定された場合は、そのモジュールのみが検査されます
    (モジュールがすべて一覧表示されていなければ、 この機能はほぼ役に立ちません)。 

  give を「与える」でなく「指定」と訳しているのは、結構ですが、
  「コマンドラインから」は、「コマンドラインで」のように、「から」より
  「で」の方が自然ではないでしょうか。それとも、最近は「から」の方が
  普通なんですか。

  原文は "If filename are given" と現在形で、訳文はたぶん完了ですが、
  それはこの場合問題ないでしょう。もっとも、「ファイル名をコマンドラインで
  指定している場合は」とすることもできますけれど。

  この部分での最大の問題は、"all modules are listed" の "list" の訳です。
  これは、コマンドラインで、引数としてすべてのモジュールを指定するということ
  でしょう。それはわかっていらっしゃって、その上でこういう訳文になさっている
  のかもしれませんが、、引数に指定することを「一覧表示」と言うのは、無理が
  あると思います。前回の翻訳ではこうなっています。

  [前回の訳]
    ファイル名がコマンドラインで与えられると、 それらのモジュールに限って調
    べられる  (全てのモジュールが列挙されていない限り、これが役に立つことは
    滅多にない) 。

  [試訳]
    ファイル名をコマンドラインで指定した場合は、そうしたモジュールだけが
    調べられます (すべてのモジュールを指定しないかぎり、これが役に立つことは
    めったにありません)。
    
・  Finally, depmod will output a file named
    modules.devname if modules supply special device names (devname) that
    should be populated in /dev on boot (by a utility such as
    systemd-tmpfiles).

  [今回の訳]
    モジュールが特別なデバ
    イス名 (devname) を提供するものであって、 (systemd-tmpfiles などのユー
    ティリティーによって) システム起動時に /dev を有効化する必要がある場
    合、 depmod は modules.devname というファイルを出力します。

  "Finally" の訳が抜けています。

  "special device names" というのは、/dev にあると言うんですから、
  /dev/sda1 や /dev/tty のようなもののことでしょう。だったら、
  「スペシャルデバイス名」。
  
  populate は、辞書 (研究社「リーダーズ+プラス」) に「<ある場所に>住居
  [棲息]させる、...に配置する」などという訳が出ていました。「生成される」
  と訳しても、事実的に問題ないかもしれません。

  私には supply が具体的にどういうことか分からないので、きちんと訳せませんが
  (そのへんは、そちらでお考えください)、大体こんなところではないでしょうか。

  [試訳]
    最後に、depmod は、モジュールがスペシャルデバイス名を供給している場合は、
    modules.devname という名前のファイルを出力します。そうした
    スペシャルデバイス名は、ブート時に (systemd-tmpfiles のような
    ユーティリティによって) /dev ディレクトリに配置されるはずです
    (あるいは、「生成されるはずです」)。

  原文にある (devname) は、私にはなぜ必要なのかわからないので、削除しました。
  もしかすると、「modules.devname の devname は、"special device name" に
  由来している」と言っているのかもしれません。あるいは、原文の著者の
  周辺では、"special devine name" を "devname" と呼ぶ習慣があるのかも
  しれません。どちらにしても、和訳ではいらないと思います。

  ここの should は、「当然、必然」を表す用法でしょうから、他人に対して
  何かを求める場合なら、「〜すべし」になり、出来事について言う場合なら、
  「〜のはずだ」になると思います。「... ブート時に ... 配置されるのが
  普通です」や「普通ブート時に ... 配置されます (生成されます)」という
  訳し方もあります。

○ DESCRIPTION の三番目のパラグラフ

    If a version is provided, then that kernel version's module directory
    is used rather than the current kernel version (as returned by uname
    -r).

  [今回の訳]
    version が指定された場合は、 現在のカーネルバージョン (uname -r によっ
    て返される) ではなく、 指定されたカーネルバージョンのディレクトリを用い
    ます。

  "that kernel version's module directory" の "module" という肝腎な
  部分が抜けています。

  [試訳]
    引数に version を指定した場合は、現在使用中のカーネルのバージョン
    (uname -r によって返されるもの) ではなく、指定したカーネルバージョンの
    モジュールディレクトリが使用されます。

○ -a, --all
      Probe all modules. This option is enabled by default if no file
      names are given in the command-line.

    [今回の訳]
      すべてのモジュールを調査します。 このオプションはデフォルトでは、
      コマンドラインからファイル名を何も指定しなかった場合に利用できます。

  一般に enable という言葉は、二つの意味で使われます。「(ある機能を)有効にする」
  という意味と、「(ある機能を)利用可能にする」という意味。後者の場合、実際に
  有効にするには、もう一つ操作が必要になります。で、この場合、どちらなのか?

  この訳文からは「コマンドラインからファイル名を何も指定しなかった場合、
  -a というオプションが使えるようになる」と読めますが (そして、確かに
  そのとおりでもあるのでしょうが)、実際に試してみると、"depmod" も
  "depmod -a" も同じ動作をします。つまり、-a は、動作を明示的に指定
  しているだけの冗長表現なのです。ですから、原文が言いたいのは、次のような
  ことの方ではないでしょうか。

    [試訳]
      すべてのモジュールを調べます。このオプションは、ファイル名を
      コマンドラインで一つも指定しなかった場合、デフォルトで有効に
      なります。

  参考までに西村さんの記事を紹介しておきます。
    https://atmarkit.itmedia.co.jp/ait/articles/1812/28/news028.html
  この記事で西村さんは、-a オプションについてこう説明しています。

      -a  --all    全てのモジュールを調査する(デフォルト)

○ -A, --quick
      This option scans to see if any modules are newer than the
      modules.dep file before any work is done: if not, it silently exits
      rather than regenerating the files.

    [今回の訳]
      このオプションを指定すると、 処理を行う前に、 modules.dep ファイル
      よりも、 モジュールが新しいかどうかがチェックされます。 新しくなけ
      れば、 ファイルを再生成することなく、 すぐに終了します。

  "any modules are newer" の "any" の意味を表に出すべきだと思います
  つまり、「新しいモジュールがあれば」という感じ。"silently" は、
  直訳すれば、「黙って」ですが、事実上「警告やメッセージを出さずに」
  ということですから、そう訳すこともできます。"files" が複数であることも
  意識した方がよいかもしれません。

    [試訳]
      このオプションを指定すると、処理を行う前に、modules.dep ファイルより
      新しいモジュールがあるかどうかをチェックします。新しいモジュールが
      存在しなければ、一連のファイルの再生成は行わず、警告やメッセージも
      出さずに終了します。

○ -b basedir, --basedir basedir
      If your modules are not currently in the (normal) directory
      /lib/modules/version, but in a staging area, you can specify a
      basedir which is prepended to the directory name. This basedir is
      stripped from the resulting modules.dep file, so it is ready to be
      moved into the normal location. Use this option if you are a
      distribution vendor who needs to pre-generate the meta-data files
      rather than running depmod again later.

    [今回の訳]
      指定するモジュールが、 その時点で (通常の) ディレクトリ
      /lib/modules/version にないが、ステージング領域にある場合に、 ディ
      レクトリ名の先頭につく basedir を指定することができます。 この
      basedir は、 出力先である modules.dep ファイルでは取り除かれます。
      したがって、 すぐに通常のディレクトリに移動させることができます。
      このオプションを用いるのは、 ディストリビューションベンダーであり、
      depmod を後で実行することなく、 メタデータファイルを事前生成したい
      場合です。

  「ステージング領域」は、日本語として熟していないと言うか、
  まだちょっと意味が通じないのではないでしょうか。

  「ディレクトリ名の先頭に付く」というこのディレクトリは、どこのことなんでしょう。
  "the directory name" と "the" が付いていますから、筆者はそれがどこかを
  特定しているはずですが、訳文からははっきりしません。

  それから、最後の文の関係節は、"who needs to pre-generate ... rather
  than running ..." です。「メタデータファイルを事前生成したい場合です」
  というこの訳では、"need to" はどこへ行ってしまったのでしょう。
  "rather than" という語法は選択を表していますから、「むしろ ... したい」
  と言いたくなるのは分かりますが、"would rather" ではありませんし、
  ちょっと意訳のしすぎのような気がします。深読みすれば、そういう意味になる
  かもしれませんけれど。

  説明が長くなりそうなので、まず試訳を付けておきます。

    [試訳]
      対象となるモジュールが現在、(標準の) ディレクトリ /lib/modules/version
      になく、準備領域にある場合、標準ディレクトリ名に先行するディレクトリ名、
      basedir を指定することができます。この basedir は、生成される
      modules.dep ファイル中では取り除かれるので、生成されたファイルは、
      そのまま標準の場所に移動することができます。あなたがディストリビューター
      であり、depmod を後であらためて実行しないでも済むように、
      メタデータファイルを前もって作っておく必要があるならば、この
      オプションを使用するとよいでしょう。

  ついでに、参考までに前回の翻訳を掲載しておきます。この原文には、
  "Use this option ..." 以下がありませんでした。

    [前回の訳]
      対象となるモジュールが現在は      (通常の)       ディレクトリ
      /lib/modules/version  ではなく、 準備用のディレクトリに置かれ
      ている場合、 ディレクトリ名の前に付く basedir  を指定すること
      ができる。 この basedir は生成される modules.dep ファイルでは
      取り除かれており、そのため、いつでも通常の場所に移動させるこ
      とができる。

  このオプションの説明は、具体的にどういうことを言っているのかよくわからない
  ので、実際に動かしてみました。たとえば、現在 4.19.0-19-amd64 の kernel を
  使っているとして、4.19.0-20-amd64 のモジュール一式が /root/testdir 以下に
  あるとします。つまり、/root/testdir/lib/modules/4.19.0-20-amd64 以下に
  新しいバージョンのモジュールがあるわけです。なお、この 4.19.0-20-amd64
  ディレクトリに、当然ながら、まだ modules.dep などは存在しませんが、
  modules.builtin と modules.order は存在していなければならないようです。
  
  root ユーザになって、

    # pwd
    /root
    # uname -r
    4.19.0-19-amd64
    # depmod -b ./testdir 4.19.0-20-amd64

  こうすると、/root/testdir/lib/modules/4.19.0-20-amd64 に
  modules.dep などが作られます。そしてそのとき、modules.dep 中の
  モジュールのリストから、./testdir/lib/modules/4.19.0-20-amd64
  の部分が取り除かれます。つまり、リストは

    kernel/mm/z3fold.ko:
    kernel/fs/nfs_common/nfs_acl.ko: kernel/net/sunrpc/sunrpc.ko

  などという形になるのです。ですから、こうして生成された modules.dep などは、
  そのまま標準の場所 (すなわち、/lib/modules/4.19.0-20-amd64) に移動する
  ことができます。修正、変更をする必要がありません。

  "staging area" ですが、研究社の「リーダーズ+プラス」には、
  「【軍】《新作戦[任務]に先立って体制を整える》部隊集結地(域)」
  「[fig.] 準備のための場所」という二つの項目がありました。

  Web 上の "Cambridge English Doctionary" では、

    a place where soldiers and equipment are brought together
    and prepared before military activity

    a place where people gather before going somewhere or
    doing something

  だそうです。COD には "stage (v.t.)" に対して "arrange occurrence of"
  という説明がありました。"staging area" の "stage" は、「出来事の
  お膳立てをする」という意味ではないでしょうか。
  
  前回の訳では、上で引用したように、「準備用のディレクトリ」と訳していました。
  適切な訳語を思いつかなかったので、とりあえず「準備領域」と訳しておきました。
  「一時領域」もあるかもしれません。

  "a basedir which is prepended to the directory name" の
  "the directory name" を「標準ディレクトリ名」と訳にしていることに
  注意してください。実際に試してみた結果、"the" をそう解釈するように
  なりました。

  日本語の文章では一般に、「あなた」などの二人称を使わない方が自然なので、
  今回の翻訳でもお避けになったのでしょうが、ここでは「あなた」を使って
  しまった方が楽だと思います。

  また、最後の文の "... who need to pre-generate the meta-data 
  files rather than running depmod again later" の部分は非常に
  訳しにくいのですが、これは、「"pre-generate" をするか、"run depmod
  again later" をするか、どちらかをする必要があるが、ディストリビュータなら、
  前者を選ぶだろう。それならば、このオプションを使いなさい」ということだろうと
  思います。それで、日本語としては、「depmod を後であらためて実行しないでも
  済むように、メタデータファイルを前もって作っておく必要があるならば、
  このオプションを使用するとよいでしょう」ぐらいになるのではないかと
  考えました。でも、これも意訳のしすぎかもしれません。もっとスッキリした
  解釈と訳文がないものかと思っています。なお、次のような訳も考えました。

    ... あなたがディストリビューターであり、depmod コマンドを後であらためて
    実行する代わりに、前もってメタデータファイルを作っておく必要があるならば、
    このオプションを使用するとよいでしょう。

  これで済めば、いくらか素直な訳になるんですが、意味が通じるでしょうか。
  一応、"Cambridge English Doctionary" には、"rather than" に
  "insted of" という説明があります。

  なお、"running depmod again later" というのは、OS またはモジュールの
  インストール時、あるいは、最初のブート時に depmod を実行するということ
  だと思います (SysVinit のころは、ブートするたびに rc.sysinit あたりで
  depmod -A なんてやっていませんでしたっけ)。

  "a distribution vendor" は「ディストリビューター」でよいでしょうね。
  ダメですか。

○ -C, --config file or directory
      This option overrides the default configuration directory at
      /etc/depmod.d/.

    [今回の訳]
      このオプションは、 デフォルトの設定ディレクトリ /etc/depmod.d/ を
      上書きします。

  「/etc/depmod.d/ を上書きする」というのは曖昧です。言葉の上からは、
  /etc/depmod.d 以下のファイルを書き換えてしまうという意味にも取れます。
  "override" の訳には、いつでも苦労します。"override" は "overwrite" 
  ではありませんし、いつでも「上書きする」で済むとはかぎりません (「上書きする」
  が一番ぴったりなこともありますけれど)。ここでは、むしろ、「〜に優先する、
  〜を...で置き換える、〜の代わりに使う、〜から変更する」ではないかと思います。

    [試訳 1]
      このオプションで指定するファイルやディレクトリは、/etc/depmod.d 
      にあるデフォルトの設定ディレクトリに優先します。

    [試訳 2]
      /etc/depmod.d にあるデフォルトの設定ディレクトリの代わりに、
      このオプションで指定するものを使用します。

○ -e, --errsyms
      When combined with the -F option, this reports any symbols which a
      module needs which are not supplied by other modules or the kernel.
      Normally, any symbols not provided by modules are assumed to be
      provided by the kernel (which should be true in a perfect world),
      but this assumption can break especially when additionally updated
      third party drivers are not correctly installed or were built
      incorrectly.

    [今回の訳]
      -F と合わせて用いた場合に、 このオプションは、 モジュールが必要とし
      ているシンボルの中で、 他のモジュールやカーネルからは提供されていな
      いものを表示します。 モジュールによってシンボルが提供されていない場
      合には、 カーネルから提供されているものとして扱うのが普通です (理想
      的には、 そうであるべきです)。 ただし、 追加してアップデートした
      サードパーティー製のドライバーが、 正しくインストールされていなかっ
      たり、 適切にビルドされていなかったりした場合に、 この仮定は成り立
      たなくなります。

  "are assumed to be provided" を「提供されているものとして扱う」
  と訳したのは、よい工夫だと思います。しかし、"are ssumed" を
  「ものとして扱う」という表現にしたために、後で出てくる "this assumption
  (仮定)" との呼応が弱くなっている気もします。

    [前回の訳]
      このオプションが -F オプションと組み合わされると、 モジュール
      が必要としているが 他のモジュールやカーネルが提供していない
      シンボルを通知する。 通常、モジュールが提供していないシンボルは
      カーネルが提供するものと見なせる (完璧な世界では当然だ) 。
      
  ちょっと感覚や好みの問題に近いのですが、訳すときに "a" や "any" を
  意識して表に出さないと、つまり、「ある」とか「ひとつの」とか「... があれば
  (あると)」とか訳さないと、訳文が曖昧になることがあります (もちろん、必要が
  ないこともあります)。

  "a perfect world" の "perfect" は、この場合、「理想」というよりは
  「完璧」でしょう。プログラム的、人的、その他の間違いがまったくない
  世界でなら、つまり、理屈の上でなら、ということだと思います。

  この "which should be true" の "should" も、「べし」ではなく、
  「はず」の方でしょう。

   "additionally updated" の「追加してアップデートした」という訳は、
  どういうことかよく分かりません。要するに「後日アップデートした」という
  ことではないでしょうか。

    [試訳]
      このオプションは、-F オプションと一緒に使った場合、あるモジュールが
      必要にしてるシンボルに、他のモジュールやカーネルによって供給されてい
      ないものがあると、そのシンボルを報告します。通常、モジュールによって
      提供されないシンボルがあれば、それはカーネルによって提供されるもの
      と見なされます (完璧な世界でなら、そうなっているはずです)。しかし、
      その想定は、外れることがあります。特に、サードパーティ製のドライバーを
      後でアップデートしたとき、それがきちんとインストールされていなかったり、
      正しくビルドされていなかったりすると、そうなります。

○ -E, --symvers
      When combined with the -e option, this reports any symbol versions
      supplied by modules that do not match with the symbol versions
      provided by the kernel in its Module.symvers. This option is
      mutually incompatible with -F.

    [今回の訳]
      -e と合わせて用いた場合に、 このオプションは、 モジュールが提供する
      シンボルバージョンの中で、 Module.symvers を通じてカーネルが提供す
      るシンボルバージョンに一致しないものを表示します。 このオプションは
      -F とともに用いることはできません。

  "Module.symvers" がどういうものか分からないので、その部分の判断は
  できませんが (つまり、"in its Module.symbers" を「Module.symvers を
  通じて」と訳せるかどうか分からない)、それ以外は問題なさそうです。
  とくに "mutually incompatible" の訳はとてもよいと思います。
  ただし、-e の訳文に手を入れるなら、文章が同一の部分は、こちらもそれに
  合わせる必要があります。

○ -F, --filesyms System.map
      Supplied with the System.map produced when the kernel was built,
      this allows the -e option to report unresolved symbols. This option
      is mutually incompatible with -E.

    [今回の訳]
      カーネルのビルド時に System.map が提供されるので、 この -e オプショ
      ンを使えば、 未解決のシンボルを表示できます。 このオプションは -E
      とともに用いることはできません。

  "Supplied with" を分詞構文と見たんですか。"produced" を見落としたので、
  そういう解釈になってしまったんでしょうね。これは、"(This option is) 
  supplied with the System.map (which was) produced when ..." の
  カッコの部分を省略したものでしょう。つまり、「(このオプションでは、引数に)
  System.map が指定される」。

  それから、「この -e オプションを使えば」ですが、「このオプションは、
  -e オプションを使えば」の一つ目の「オプション」が消えてしまったんで
  しょうか。前回の訳がきちんとしているので、挙げておきます。
  
    [前回の訳]
      カーネルがビルドされたときに生成された  System.map   を指定す
      る。 このオプションを使うと、 -e オプションで未解決のシンボル
      を通知することができる。

○ -V, --version
      Show version of program and exit. See below for caveats when run on
      older kernels.

    [今回の訳]
      プログラムのバージョンを表示して終了します。 古いカーネル上において
      実行する場合には、 以降の注意事項を参照してください。

  重箱の隅つつききですが、「以降の」は「下記 (の)」の方が自然な表現でしょう。
  しかし、おかしなことに、この manpage には、その「以降の注意事項」なるものが
  存在しません。おそらく以前の manpage にあった「BACKWARDS COMPATIBILITY」
  セクションがそれで、最近の manpage では削除されているのでしょう。
  前回の原文と翻訳には存在するので、参考までにそれを掲載しておきます。
  前回の manpage のバージョンは、module-init-tools の 3.2-pre7 のようです。 

    [前回の原文から]
      BACKWARDS COMPATIBILITY
        This  version of depmod is for kernels 2.5.48 and above.
        If it detects a kernel with support for old-style modules,
        or the  version  specified is before 2.5.48, it will attempt
        to run depmod.old in its place, so it is completely transparent
        to the user.

    [前回の訳文]
      下位互換性
        このバージョンの depmod は、 カーネル 2.5.48 およびそれ以降のためのもの
        である。  古い形式のモジュールに対応したカーネルを検出するか、 指定され
        たバージョンが 2.5.48 よりも前の場合、 その場で depmod.old を実行しよう
        とする。 そのため、ユーザは全く意識しなくてよい。

  新しい manpage にはない文章ですから、訂正するまでもありませんが、
  "in its place" は、「その場で」ではなく、「代わりに」です。

  「以降の注意事項」なるものが存在しないのですから、「古いカーネル上で
  実行する場合には」以下は削除するべきだと思います。

○ COPYRIGHT
      This manual page originally Copyright 2002, Rusty Russell, IBM
      Corporation. Portions Copyright Jon Masters, and others.

    [今回の訳]
      この man ページの元々の著作権表記は Copyright 2002, Rusty Russell, IBM
      Corporation です。 一部は Copyright Jon Masters, and others です。

  日本語の文として何だか落ち着きが悪い感じがします。前半は過去形にして
  よいのではありませんか。

    [試訳 1]
      この man ページの最初の著作権表示は、「Copyright 2002, Rusty Russell, 
      IBM Corporation」でした。現在では、「Copyright Jon Masters, and others」
      の部分もあります。 

  あるいは、

    [試訳 2]
      この man ページの最初の版は、「Copyright 2002, Rusty Russell, IBM 
      Corporation」でした。今では、「Copyright Jon Masters, and others」の
      部分もあります。

  ぐらいの方が分かりやすいのではないでしょうか。

問題のある箇所がたくさんありました。他のマニュアルは大丈夫でしょうか。

-- 
長南洋一



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