↑ 「FreeBSDで遊ぼう」のページへ

↑ トップページへ

★ [SilverSackの自画自賛] FreeBSDで遊ぼう

★

 操作マニュアル - 2. ディスク、ファイルの管理(FreeBSD 11.1~11.2)


ディスクの全般に関する作業をまとめます。

  1. 新規ディスクの追加
  2. ファイルシステムの起動時マウントの設定
  3. ディスクの状態の確認と管理
  4. ファイル/ディレクトリの操作

  1. 新規ディスクの追加
  2. 新しいディスクを追加した場合、自動的にデバイスが認識されてデバイスノード(ada2とかda0とか)が作成されているところまでは行きます。その後の作業です。デバイスノードは仮にada2とします。

    1. パーティショニングスキームの作成
    2. まずは、パーティショニングスキームを作成します。

        # gpart  create  -s GPT  ada2[ENTER]

      gpart createは、パーティショニングスキームを作成します。オプションフラグ-sには、パーティショニングスキームの種類を指定します。APM, BSD, BSD64, LDM, GPT, MBR, PC98, VTOC8といった選択肢があるようですが、バードウェアにあうように選択します。CPUがIntel(またはその互換)であれば、GPTかと。その後の引数はプロバイダ(記憶ボリュームを供給するものという意味かと)を指定しますが、通常ハードディスクのデバイスノードを指定します。

    3. パーティションの作成
    4. 次に作成したパーティショニングスキームの上にパーティションを作成します。パーティションの作成とそのパーティションの中のファイルシステムの作成は別なので、二つのコマンドが必要です。

        # gpart  add  -t freebsd-ufs  ada2[ENTER]
        # newfs  -U  ada2p1[ENTER]

      gpart addは、パーティションを作成します。オプションフラグ-tには、パーティションタイプを指定します。ここで指定するfreebsd-ufsは、FreeBSDの一般的なファイルシステムで、ZFSを使用する場合は、freebsd-zfsになります。newfsの-Uオプションは、FreeBSDで有効にすることを推奨されているソフトアップデートを有効にするものです(「FreeBSDハンドブック 11.8.2. ソフトアップデート」参照)。

      このコマンドでada2全体に一つのパーティションが作られます。オプションフラグ-sを使うと作成するパーティションのサイズを指定できます。

        # gpart  add  -s 80G  -t freebsd-ufs  ada2[ENTER]
        # newfs  -U  ada2p1[ENTER]

      とすると80GBのパーティションが作成されます。

    5. パーティションの操作
    6. gpartによりパーティションについて、以下の操作ができます。

      1. パーティションの内容の表示
      2. 以下のコマンドでパーティションの設定・内容(開始アドレス、容量、インデックス、パーティションタイプ)の確認ができます。

          # gpart  show  -l  ada2[ENTER]

        パーティションの指定を省略すると全てのディスクのパーティションの情報が表示されます。オプションにpを追加して-lpにすると、パーティションがインデックス番号ではなく、ada2p1のようなデバイスノードで表示されます。

      3. パーティションのタイプ、ラベルの変更
      4. 以下のコマンドで既存のパーティションのタイプ、ラベルの変更ができます。

          # gpart  modify  -i 1  -l datadisk  -t freebsd-zfs  ada2[ENTER]

        ada2p1パーティションのラベルを「datadisk」に、タイプを「zfs」に変更します。-iオプションで指定するインデックスは、gpart showで確認します。

      5. パーティションのサイズの変更
      6. 以下のコマンドで既存のパーティションのサイズの変更ができます。

          # gpart  resize  -i 1  -s 80G  ada2[ENTER]

        これでada2p1パーティションの容量を80GBに変更します。-iオプションで指定するインデックスは、gpart showで確認します。

      7. パーティションの削除
      8. 以下のコマンドでパーティションの削除ができます。

          # gpart  delete  -i 1  ada2[ENTER]

        これで、ada2のインデックス1のパーティション(ada2p1)が削除できます。

      9. パーティションスキームの削除
      10. 以下のコマンドでパーティションスキームの削除ができます。

          # gpart  destroy  -F  ada2[ENTER]

        -Fは、ada2にまだ作成したパーティションが残っていても強制的に削除するフラグです。

  3. ファイルシステムの起動時マウントの設定
  4. 追加したディスク、パーティションを仕えるようにします。

    1. 手動マウント
    2. 作成したパーティションは、以下のコマンドでマウントします。

        # mount  /dev/ada2p1  /home/disk1[ENTER]

      「mount (マウントするパーティション) (マウント先のディレクトリ)」です。ディレクトリは、既に作成されている必要があります。パーティションタイプがufsでない場合は、(マウントするパーティション)の前に「-t (パーティションタイプ)」で指示します。

    3. 起動時マウントの設定
    4. 手動で問題なくマウントできたら、起動時に自動でマウントされるよう/etc/fstabに以下の記載をします。

        /dev/ada2p1  /home/disk1  ufs  rw  0  2

      「(マウントするパーティション) (マウント先のディレクトリ) (パーティションタイプ) (マウントオプション) (dumpの要否) (ファイルシステムのチェックの順番)」という内容になるようです。この場合、・読み書き可能な設定にするので、マウントオプションはrw、・ダンプはしないので0、・ファイルシステムのチェックの順番は/(ルートファイルシステム)が1なので、その後にするため2以上に設定します。

  5. ディスクの状態の確認と管理
  6. ユーザーの追加、削除、内容の変更は、以下の要領で行います。スーパーユーザーで作業します。

    1. ディスク全体の使用状況の確認
    2. ディスク全体の使用状況を確認するにはdf -hコマンドを使用します。

        # df -h[ENTER]

      これで、画面に「(デバイスノード) (全体の容量) (使用している容量 (空き容量) (空き容量の割合) (マウントポイント)」が全てのディスクについて表示されます。

    3. ディスクの内容の確認
    4. ディスクの内容を確認するにはncduコマンドを使用します。
        # ncdu  /[ENTER]

      これで、画面に「(使用している容量) (ディレクトリ)」が全てのディレクトリについて表示されます。矢印キーでサブディレクトリの情報も見れます。引数を省略するとカレントディレクトリ以下の情報が表示されます。

  7. ファイル/ディレクトリの操作
  8. あまりにも基礎的すぎますが、まとめておきます。コピー、移動、削除のコマンドがぞれぞれ別とか、引数の属性が変わると動作が変わるとか、結構わかりにくいんですよ。

    1. ファイルの操作
    2. ファイルの操作には以下のコマンドを使用します。

      1. ファイルのコピー
      2.   # cp   (コピーするファイルのフルパス名)  (コピーする先のディレクトリのフルパス名)[ENTER]

        これで、ファイルがコピーされます。

          # cp   (コピーするファイルのフルパス名)  (コピーする先のファイルのフルパス名)[ENTER]

        とすると(1)コピー、(2)コピー先ファイルの名称変更の二つの作業が一度にできます。

      3. ファイルの移動
      4.   # mv   (移動するファイルのフルパス名)  (移動する先のディレクトリのフルパス名)[ENTER]

        これで、ファイルが移動されます。

      5. ファイル名の変更
      6.   # mv   (名称変更するファイルのフルパス名)  (新しいファイルのフルパス名)[ENTER]

        で名称変更できます。ファイルのディレクトリは同じでなくても構わないので、(1)移動、(2)名称変更の二つの作業を一度にすることも可能です。

      7. ファイルの削除
      8.   # rm   (削除するファイルのフルパス名)[ENTER]

        これで、ファイルが削除されます。

    3. ディレクトリの操作
    4. ファイルの操作には以下のコマンドを使用します。

      1. ディレクトリの作成
      2.   # mkdir -p   (作成するディレクトリのフルパス名)[ENTER]

        これで、ディレクトリが作成されます。-pオプションで途中のサブディレクトリも作ってくれるので、便利だと思います。-m 0755といったオプションを指定するとアクセス権限も同時に指定できます。

      3. ディレクトリの削除
      4.   # rm -rf   (削除するディレクトリのフルパス名)[ENTER]

        これで、ディレクトリが削除されます。確認なしに全部ばっさり削除されます。-rfを-riにすると、アイテムごとに削除する前に都度「消すかどうか」確認を求められます。rmdirは、空のディレクトリしか消してくれないので、使える機会は少ないと思います。

      5. ディレクトリのコピー
      6.   # cp -R   (コピーするディレクトリのフルパス名)  (コピーする先のディレクトリのフルパス名)[ENTER]

        これで、指定したディレクトリがコピー先のディレクトリにサブディレクトリやファイルごとコピーされます。

      7. ディレクトリの移動
      8.   # mv   (移動するディレクトリのフルパス名)  (移動する先のディレクトリのフルパス名)[ENTER]

        これで、ディレクトリが移動されます。なお、移動先のディレクトリが存在しない場合は、名称変更(移動元のディレクトリの内容が移動先のディレクトリに移動して元のディレクトリは削除される)になるので、注意が必要です。

      9. ディレクトリ名の変更
      10.   # mv   (名称変更するディレクトリのフルパス名)  (新しいディレクトリのフルパス名)[ENTER]

        これで、ディレクトリ名が変更されます。なお、変更後の名前のディレクトリが存在する場合は、そのディレクトリの下への移動になるので、注意が必要です。

      11. ディレクトリの内容の表示
      12.   # ls -l   (内容を表示するディレクトリのフルパス名)[ENTER]

        これで、ディレクトリの内容が表示されます。

      13. カレントディレクトリの変更
      14.   # cd   (変更先のディレクトリのフルパス名)[ENTER]

        これで、カレントディレクトリが変更されます。

      15. カレントディレクトリの確認
      16.   # pwd[ENTER]

        これで、カレントディレクトリが表示されます。

[その他の情報]

なお、このページを書くに当たって、以下の記事を参考にしました。

(2018年 9月15日 記)