[JM:01761] [POST: DP] util-linux sfdisk.8

Zurück zum Archiv-Index
長南洋一 cyoic****@maple*****
2020年 6月 23日 (火) 21:31:30 JST


<STATUS>
stat: DP
ppkg: util-linux
page: sfdisk.8
date: 2020/06/23
mail: cyoic****@maple*****
name: Chonan Yoichi
</STATUS>

cfdisk.8 を改訂するなら、sfdisk も新訳を出すべきだと思います。

例によって、よくわからないところを書いておきます。
fdisk グループのコマンドのようなものは、マニュアルが間違えていると、
取り返しの付かないことが起きかねませんから、厳し目にチェックしてください。

○ 「説明」セクションから:

   sfdisk (since version 2.26) aligns the start and end of  partitions  to
   block-device  I/O  limits  when  relative sizes are specified, when the
   default values are used or when multiplicative suffixes (e.g. MiB)  are
   used  for  sizes.  It is possible that partition size will be optimized
   (reduced or enlarged) due to alignment if the start offset is specified
   exactly  in  sectors  and  partition size relative or by multiplicative
   suffixes.

   sfdisk  は、(バージョン 2.26 以来) 相対的なサイズが指定された場合や、デ
   フォルトの値が使用された場合、それに (MiB などの)  乗数を表す接尾辞がサ
   イズに使用された場合に、 パーティションの開始点と終了点をブロックデバイ
   スの I/O 境界 (I/O limits) に揃えるようになっている。  開始オフセットが
   セクタで厳密に指定された場合でも、   パーティションのサイズが相対的な形
   や、乗数接尾辞を付けて指定されているならば、I/O 境界に揃えるために、
   パーティションサイズの最適化が行われるかもしれない  (すなわち、サイズが
   増減されるかもしれない)。

     fdisk でも書きましたが、"I/O limits" をどう訳すかという問題が
     ここにもあります。

     しかし、それ以上に困っているのは、「相対的なサイズ (relative size) が
     指定された場合」をどう考えればよいかということです。

     fdisk でのサイズ指定のデフォルトは、厳密にはサイズ指定ではなく、最終セクタの
     指定で、これは言わば絶対的な指定です。しかし、サイズを指定することも認められて
     いて、パーティションの先頭からのセクター数、またはバイト数を (それぞれ
     +<sectors> や +<size>{K,M,G...} という形で) 指定することもできます。
     そして、こちらの指定法を fdisk では relative と呼んでいます。

     それに対して、sfdisk の方は、サイズ指定は最初からサイズ指定なのです
     (基本的に、頭に + を付けないで指定する)。それなのに、sfdisk では、
     サイズをセクタ数で指定した場合を relative な値とは考えないらしいのです。

     たとえば、サイズにセクタ数で 209715203 といった半端な値を指定します。
     もし、このセクタ数が relative な値と見なされるのなら、パーティションの
     セクタ数によるサイズは、切りのよい数字に揃えられるはずです。ところが、
     作成されたパーティションを print コマンドで表示すると、こんな風に、

     Device     Boot      Start        End    Sectors   Size Id Type
     /dev/sdb8       1266690071 1476405273  209715203   100G 83 Linux

     指定したサイズがそのまま使われています。ということは、セクタ数による
     サイズ指定は、relative なものとは見られていないということでしょう。
     言い換えれば、fdisk とは違って、絶対的な指定だと考えられている。

     それでは、「relative なサイズの指定」というのは、どういう場合を
     言うのでしょうか。それがわからないで困っているのです。もしかすると、
     サイズに対して数値の代わりに '+' を 1 個指定したときのことを言って
     いるのかもしれませんが、それはそれで当該箇所の説明がよく分かりませんし...。
     (「入力の書式」のサブセクション「フィールド名なしの書式の」の size の
     説明の部分をご覧ください。)

○ すぐ次のパラグラフ:

   The recommended way is not to specify start offsets at all and  specify
   partition size in MiB, GiB (or so).  In this case sfdisk align all par‐
   titions to block-device I/O limits (or when I/O limits  are  too  small
   then  to  megabyte  boundary  to  keep  disk layout portable).  If this
   default behaviour is unwanted (usually for very small partitions)  then
   specify  offsets  and  sizes  in sectors.  In this case sfdisk entirely
   follows specified numbers without any optimization.

   我々が推奨するのは、開始オフセットを全く指定せず、パーティションサイズ
   を  MiB,  GiB などの単位で指定する方法だ。その場合、sfdisk は、すべての
   パーティションをブロックデバイスの I/O 境界に揃える (I/O 境界では細か
   すぎる場合には、ディスクレイアウトに可搬性があるように、 メガバイトレベルの
   境界に揃える)。 デフォルトのこの動作が望ましくない場合は  (よくあるのは、
   非常に小さなパーティションを作りたい場合だ)、  オフセットとサイズをセクタで
   指定すればよい。 その場合、sfdisk  は、指定された数値に全面的に従い、最
   適化を一切行わない。
   
     (or when I/O limits  are  too  small then  to  megabyte
     boundary  to  keep  disk layout portable) の "I/O limits
     are too small" の部分が、具体的にどういうことか分かっていません。
     なんとなくつじつまが合うように訳しただけです。

○ udevd と競合しないように flock を使う話:

   ... The recommended way how to avoid possible collisions
   is to use exclusive flock for the whole-disk device to serialize
   device access.

   ... 衝突 (collisions) が起きないようにするための推奨方法は、ディスク全体を
   表すデバイスに対して flock  を排他的に使って、デバイスへのアクセスを
   シリアライズすることである。

     "serialize" の適切な訳語はないでしょうか。一本化、直線化、直列化?

   Note, this semantic is not currently supported by udevd for MD
   and DM devices.

   現在のところ、この方法の持つ効果は、MD  や  DM デバイスに対しては udevd
   によってサポートされていない。

     "semantic" の訳語が思いつかないので、ごまかしています。
     MD, DM って何ですか。MD は聞いたことがあるような。

○ [-N partition-number] device:

   Note  that it's possible to address an unused partition with -N.
   For example, an MBR always contains 4 partitions, but the number
   of  used partitions may be smaller.  In this case sfdisk follows
   the default values from the partition table  and  does  not  use
   built-in  defaults  for the unused partition given with -N.  See
   also --append.

   なお、-N    を用いて、未使用のパーティションを指示することもでき
   る。  たとえば、MBR  にはパーティションが 4 個、必ず存在するが、
   現在使用しているパーティションは、それより少ないかもしれない。  その
   場合、sfdisk は、-N で指定された未使用パーティションについては、
   パーティションテーブルから取得されるデフォルトの値に従い、  プロ
   グラムに埋め込まれたデフォルトを使用しない。--append  も参照して
   いただきたい。

     よく分からないで訳しています。
     "In this case sfdisk follows the default values from the
     partition table" というのは、具体的にはどういうことなんでしょうか。
     "built-in defaults" というのは、どこに built-in されているんでしょう。
     "built-in defaults for the unused partition given with -N" は、
     上の訳のように "for" 以下が全体に掛かるのではなく、「-N で指定された
     未使用パーティションに対する built-in デフォルト」とつながるのかもしれません。

     これは、「フィールド名なしの書式」の二番目のパラグラフの「ただし、
     -N オプション ... が指定されているときは ...」と同じことを言っている
     のかもしれません。でも、それでも、具体的な状況がわかりませんけれど。

○ -A, --activate:

   ... If GPT label is detected than sfdisk prints warning  and
   automatically enter PMBR.

   ... GPT のディスクラベルが検出された場合、sfdisk は警告メッセージを表示し、
   自動的に PMBR にブートフラグを記入する。

     than は then の間違いでしょう。
     
     この enter は「記入する」でよいのでしょうか。それとも、「PMBR のモードに
     なる」といったような意味なんでしょうか。

○ -T, --list-types:

     訳注にも書きましたが、私のところでは、バージョン 2.34 も 2.35 も
     "sfdisk -T /dev/sda" では dos のパーティションタイプ一覧を表示します。
     gpt だというのに。

○ -w. --wipe when:

     これは、fdisk の同じ項目とほぼ同文です。つまり、私がよく分かっていないことも同様。

○ -W, --wipe-partitions when:

     これも fdisk とほぼ同文ですが、一箇所だけ違うところがあります。

     fdisk:
   In all cases detected signatures are reported by warning messages
   before a new partition is created. 

     sfdisk:
   In all cases detected signatures are reported by warning messages
   after a new partition is created.

     before と after の違いですが、fdisk と sfdisk の違いなんでしょうか。

○ 「入力の書式」セクション:

   sfdisk supports two input formats and generic header lines.

   sfdisk は、2 種類の入力書式と、一般的なヘッダ行をサポートしている。

     generic はどう訳すべきなんでしょう。「どちらでも使える」はどうだろうか。
     でもすぐ後に "The optional header lines specify generic information
     that apply to the partition table." も出てくるし、「一般的な」で
     お茶を濁すよりないのかも。

○ "The default value of size" に始まるパラグラフ:

   ... A '+' can  be  used instead  of  a number to enlarge the
   partition as much as possible.  Note '+' is equivalent to
   the default behaviour for a  new partition; existing partitions
   will be resized as required.

   ... 数値に代えて、1 個の '+'  を使用することもでき、その場合は、パーティションを
   できるだけ大きく広げることになる。  '+' は、新規パーティションでは、デフォルトの
   動作と等しいことに注意していただきたい。すでに存在しているパーティションの場合は、
   要求されたとおりにサイズを変更することになる。

     最後の "existing partitions" 以下が分かりません。どういう状況について
     言っているんでしょうか。

○ 「フィールド名のある書式」サブセクション:

   The  device  field  is  optional.  sfdisk extracts the partition
   number from the device name.  It allows to  specify  the  parti‐
   tions  in  random  order.   This functionality is mostly used by
   --dump.  Don't use it if you are not sure.

   device フィールドの指定は任意である。sfdisk は、パーティション番
   号をこのデバイス名から取り出す。そこで、これを使用すれば、パーティ
   ションを任意の順番で指定することが可能になる。この機能は、主に
   --dump で使用されている。パーティション番号に確信がない場合は、
   device フィールドを使用してはいけない。

     "functionality" は、この場合どういう意味なんでしょうか。
     一応、上のように訳しておきましたが、曖昧かもしれません。
     "if you are not sure" の解釈も、やりすぎかもしれません。

添付ファイルの構成は以下のようになっています。

$ tar tzf sfdisk-2.34.tar.gz 
sfdisk-2.34/
sfdisk-2.34/po4a/
sfdisk-2.34/po4a/man8/
sfdisk-2.34/po4a/man8/sfdisk.po
sfdisk-2.34/po4a/man8/sfdisk.patch
sfdisk-2.34/original/
sfdisk-2.34/original/man8/
sfdisk-2.34/original/man8/sfdisk.8
sfdisk-2.34/draft/
sfdisk-2.34/draft/man8/
sfdisk-2.34/draft/man8/sfdisk.8

-- 
長南洋一
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: sfdisk-2.34.tar.gz
型:         application/octet-stream
サイズ:     33746 バイト
説明:       無し
URL:        <https://lists.osdn.me/mailman/archives/linuxjm-discuss/attachments/20200623/fe6f2025/attachment-0001.obj>


linuxjm-discuss メーリングリストの案内
Zurück zum Archiv-Index