<STATUS> stat: DP ppkg: util-linux (2.36) page: logger.1 date: 2020/12/08 mail: cyoic****@maple***** name: Chonan Yoichi </STATUS> これも引き継ぎます。例によってよく分からないところ、自信がないところを 書いておきます。たくさんあります。 それから、このマニュアルは、po4a-translate をするのに、オプション -o unknown_macros=untranslated が必要です。 ○ -e, --skip-empty ... Note that when the --prio-prefix option is specified, the priority is not part of the line. Thus an empty line in this mode is a line that does not have any characters after the priority prefix (e.g., <13>). ... なお、--prio-prefix オプションが指定された場合、優先度指定は行の一部 ではないことに気を付けていただきたい。つまり、このモードでの空行とは、優先度を 表す接頭辞 (たとえば、<13>) の後ろに文字が全く存在しない行のことである。 priority は、普通「優先度、優先順位」と訳されます。nice や renice コマンドの場合は、まさにそのとおりで、問題ありません。しかし、この manpage で priority と言う場合は、facility と level をひとつにまとめた概念です。 ですから、「優先度」という訳語は、ちょっとズレている感じがします。level (重大度) の emerg は alert より重大で、それ故優先されるというのは 分かりますが、facility (メッセージの分類) の cron と daemon では、 どちらが優先されるか、mail と lpr では、どっちが上かなんて分からないでしょう。 でも、auth は user より確実に重要な気がします。ですから、このマニュアルの priority は、「優先度」というより「重要度」と訳したほうが、ぴったりでは ないにしても、まだ近いのではないかと思います。しかし、「優先度」は priority の ほぼ定訳のようで、manpage の前の翻訳だけでなく、Web の logger 関係の記事でも たいてい「優先度」が使われています (でなければ、プライオリティ)。訳語を変えて しまうのも読者に迷惑でしょうから、一応、「優先度」を使用しておきました。 ○ --id[=id] この項の二つ目のパラグラフは、一応つじつまを合わせて、何か意味のあることを 言っているように訳しておきましたが、実のところ、さっぱり分かっていません。 "the system logging infrastructure" って何なんでしょう。 システムのロギングをやっている裏方さん? つまり、syslogd とか systemd-journald とかですか? "local socket credentials" とは、いったい何で、どう訳したら よいのでしょう。「資格情報」という訳語は、capabilities(8) や proc(5) からもらってきたものです。 日曜日の読売新聞に "press credentials (記者証)" というのが出て いました。credentials は、そんな風に使う単語のようですが、この場合は? 一応、原文と訳文を挙げておきます。 Note that the system logging infrastructure (for example systemd when listening on /dev/log) may follow local socket credentials to overwrite the PID specified in the message. logger(1) is able to set those socket credentials to the given id, but only if you have root permissions and a process with the specified PID exists, otherwise the socket credentials are not modified and the problem is silently ignored. なお、システムのロギングを下支えしているものが (たとえば、/dev/log を リッスンしている systemd が)、ローカルソケットの資格情報 (credentials) に従って、メッセージ中の指定された PID を上書きして しまうことがあるのに注意していただきたい。logger は、そうしたソケットの 資格情報の値を、指定された id にすることができるわけだが、それは、 ユーザがルート権限を持ち、しかも指定された PID を持つプロセスが存在する ときだけであって、さもなければ、ソケットの資格情報は変更されず、その問題は 暗黙裡に無視されるのである。 ○ --no-act Causes everything to be done except for writing the log message to the system log, and removing the connection or the journal. ログメッセージをシステムログに書き込むことや、接続を切ったり、 ジャーナルを削除したりすることは行わないが、それ以外のすべてを実 行する。 このように読んでいたのですが、--no-act を指定しない場合に、logger が 「ジャーナルを削除」したりすることがあるのでしょうか。"the journal" って 何でしょう。journald の出すログでしょうか。確かに journald のログは、 設定によっては消されることがあるそうですが、それはシステムの再起動時で、 logger コマンドとは無関係でしょう。 Web を見ていたら、manpage のドイツ語の翻訳者が、"connection or" ではなく、"connection to the journal" ではないかとバグ報告をして いました。それに対する応答はないようでしたが、この意見は正しいでしょうか。 おそらく、そのバグ報告をしている人は、"except for writing ... and removing ..." と、writing と removing の両方が "except for" に 続くのではなく、removing を分詞構文と読んでいるのだろうと思います。 logger コマンドが終了すれば、journal に対する (すなわちログ用のソケット、 あるいは、リモートの syslog サーバに対する) 接続は切れるのでしょうから、 「ログメーッセージをシステムログに書き込むこと以外のすべてを実行し、その後、 ジャーナルへの接続を切る」と読んだ方が、確かに筋が通っているかもしれません。 "connection to the journal" と、ここに突然 "the journal" を持って 来られると、「journal って何だよ」と言いたくなりますけれど。 一応、その線で行くことにします。 ログメッセージをシステムログに書き込むこと以外のすべてを実行し、 その後、ジャーナルへの接続を切る。このオプションは、テストのため に --stderr と一緒に使うことができる。 ○ --octet-count RFC 6587 octet counting framing method no framing RFC 6587 non-transparent framing 定訳があるんでしょうか。取りあえず、次のようにしておきましたが。 RFC 6587 のオクテット計算フレーミングメソッド ノーフレーミング RFC 6587 の非透過フレーミング ○ --priority 長い訳注を付けました。変なことを言っていないかどうか、チェックをお願いします。 上にも書きましたが、ここの priority を「優先度」と訳すことには、ちょっと 違和感があります。むしろ「重要度」ではないか。でも、「優先度」が priority の ほぼ定訳にようですし、「重要度」もちょっとズレている気もしますし ...。 ○ --rfc5424[=without] RFC 5424 をざっと覗いてみました。それで、こんな訳 (と訳注) になりましたが、「時間品質構造化データ」といった用語や、内容の解釈に おかしなところがあるかもしれません。お気づきになったら、お教えください。 それから、この部分ですが、 ... The time quality is also automatically suppressed when --sd-id timeQuality is specified. --sd-id name というオプションは、--sd-id や --sd-param オプションの 説明によれば、name という識別名の構造化データ要素を使いますという宣言でしょう (そして、後に続く --sd-param で、そのデータ要素の持つパラメータを指定する)。 それなのに、--sd-id timeQuality を指定すると、時間品質の記入がが抑制される という理屈が分かりません。実際、動作はそのとおりなんですが、理屈から言うと 逆なんじゃないかと思うのです。 ○ --sd-id ... The ID (name plus possibly @digits) is case-sensitive and uniquely identifies the type and purpose of the element. ... ID (識別名。name には @digit が続くこともある) は、大文字小文字を 区別し、要素のタイプと用途を一意に同定している。 identifie を「同定」と訳すのは、全然気に入っていません。もうちょっと いい訳がないでしょうか。 ○ -S, --size Most receivers accept messages larger than 1KiB over any type of syslog protocol. As such, the --size option affects logger in all cases (not only when --rfc5424 was used). どんなタイプの syslog プロトコルを使おうと、受信側のほとんどが 1 KiB より大きいメッセージを受け入れる。従って、この --size オプションは、 (--rfc5424 を使用した場合だけではなく) あらゆる場合に logger に影響を 及ぼすことになる。 これは、原文が何を言っているのかよく分かりません。受信側が大きいメッセージも たいてい受け入れるから、メッセージの長さの制限は、受信側ではなく、送信側で 決まる。従って、この --size オプションが、あらゆる場合に logger に対して 働くことになる、ということでしょうか。その解釈で行きましょうか。 改訳を挙げると-- どんなタイプの syslog プロトコルを使っていようと、たいていの受信側が 1 KiB より大きいメッセージを受け入れる。従って、この --size オプションは、(--rfc5424 を使用した場合だけではなく) あらゆる 場合に logger に対して働くことになる。 このパラグラフは、次のパラグラフと微妙に矛盾しているように思えるのですが。 ○ --socket-errors[=mode] これは原文がかなり変です。私の理解力が不足しているのかもしれませんけれど。 まず、原文を挙げます。 Print errors about Unix socket connections. The mode can be a value of off, on, or auto. When the mode is auto logger will detect if the init process is systemd, and if so assumption is made /dev/log can be used early at boot. Other init systems lack of /dev/log will not cause errors that is identical with messaging using openlog(3) system call. The logger(1) before version 2.26 used openlog, and hence was unable to detected loss of messages sent to Unix sockets. 何故か lack を形容詞だと思いこんでいたのですが、ふと辞書を調べたら、 形容詞ではない。名詞か動詞なんですね。だとしたら、"Other init systems lack" は、文法的に行儀よく書けば、systems を複数所有格にして、 "Other init systems' lack of /dev/log" でしょう。つまり 「他の init システムにおける /dev/log の欠如」。 それから、その後に出てくる that が分からない。関係代名詞だとしたら、 動詞が is と単数だから、直前の errors が先行詞のわけはない。 では、lack が先行詞? それでは、that と離れすぎている (文法的な 破格、例外としてありえなくはないけれど)。それなら、that は指示代名詞で、 Other から errors までを受けているんだろうか。"To be or not to be, that is the question" みたいに。その場合は、that の前に コンマがある方が自然だけど、入れ忘れたのだろうか。 間違えているかもしれませんが、その解釈で訳してみます。"will not cause errors" の "errors" がわかりにくいので、少し補足説明を入れます。 Unix ソケット接続に関するエラーを表示する。mode の値は、off, on, auto の何れかである。mode が auto の場合、logger は、init プロセ スが systemd かどうか検出しようとする。そして、もしそうならば、 /dev/log がブートの早い段階から使用可能になると想定する。 他の init システムでは、/dev/log が存在しないので、ここで述べている ようなエラーが起きることはない。そのへんは、openlog(3) システムコールを 使用するメッセージ処理と同じである。logger(1) も、バージョン 2.26 より前は openlog を使用していた。そのため、Unix ソケットに送信した メッセージが消失しても、当時は検出できなかったのである。 openlog(3) は (3) ですから、システムコールではないのではないでしょうか。 今、気になって、古いパソコンを動かしてみたら、kernel 2.4.22、 SysVinit 2.78 でも /dev/log というソケットは存在しました。 いったい、原文は何を言っているんでしょう。「他の init システムは /dev/log を欠いていることがあるが、そういうシステムではエラーが出ない」と言いたい のでしょうか。それには、すこし言葉が不足していると思いますけれど。 あるいは、"Other init systems that lack of /dev/log will not cause errors" と言うつもりで、that を入れ忘れたのでしょうか。 それとも、SysVinit は、/dev/log があっても、使っていなかったということ でしょうか。でも、あれば、logger は使うだろうから、それも変ですね。 何れにしても、意味的には、大体「他の init システムで、/dev/log を 欠いている場合、エラーが起きることはない」ということになりそうなので、 そう直しておきます。 ○ FACILITIES AND LAVELS facility の訳語ですが、「ファシリティ」とカタカナにして、「メッセージの分類 (対象分野)」と注を入れることにしました。"facility for dancing" とか facility for washing とかいう言い方をするようですが、前者は「ダンス場、 ダンス室」でしょうし、後者は「洗濯場」か「洗濯機」、「コインランドリー」 かもしれません。"have no facility for games ゲームには向いていない" なんて例文もありました。つまり、ゲームに対する適性、才能がないということですね。 logger や syslog において "facility.level" の facility の位置に 来るものは、auth や mail や lpr ですから、"facility for xxx" という表現の "xxx" に当たるもののわけです。とすると、logger の場合は、 facility という言葉の意味にこだわらないでよければ、「メッセージの分類」と 訳しておいてよいのではないか。それで、こうしておきました。「機能分類」という これまでの訳にも、ちょっと未練があります。同じことを言っているのでしょうし、 facility という言葉の意味には、その方が近いでしょうから。でも、「メッセージの 分類」と言い切ってしまった方が、明解でしょう。 syslog(3) では、"The facility argument is used to specify what type of program is logging the message." と言っています。 この場合、ファシリティは「プログラムのタイプ」でしょうが、logger の場合は、 logger がすべてのメッセージを出すのですから、「プログラムのタイプ」とは 言いにくい (「logger が演じるプログラムのタイプ」となら言えるかも)。 それで、「メッセージの分類」にしました。もっとよい訳語があったら、お教え ください。差し替えます。 添付ファイルの構成は以下のとおりです。 $ tar tzf logger-2.36.tar.gz logger-2.36/ logger-2.36/po4a/ logger-2.36/po4a/man1/ logger-2.36/po4a/man1/logger.patch logger-2.36/po4a/man1/logger.po logger-2.36/original/ logger-2.36/original/man1/ logger-2.36/original/man1/logger.1 logger-2.36/draft/ logger-2.36/draft/man1/ logger-2.36/draft/man1/logger.1 -- 長南洋一 -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: logger-2.36.tar.gz 型: application/octet-stream サイズ: 24634 バイト 説明: 無し URL: <https://lists.osdn.me/mailman/archives/linuxjm-discuss/attachments/20201209/b0a0f0a5/attachment-0001.obj>