コーヒーとトネリコ

いいアイデアだと思って書いてみたら、先週上司に説教された内容そのままだった。めげずに生きていきたい

UBUNTUで内蔵ドライブのパーミッション設定がうまく行かないときに確認したいこと

発生したこと

  1. UBUNTUをインストールしたドライブの他に、データドライブを用意した

  2. それまではWindowsで使用していたためNTFSだったが、UBUNTUでの運用を考慮してFAT32でフォーマットした

  3. 写真、音楽、動画などを保存していたが、文字化けが発生する

  4. etc/fstabに自動読み込み時のオプション'iocharset=utf8'を設定

  5. 文字化け回避

  6. ごにょごにょ

  7. データドライブがリードオンリーになる

  8. chmodもchownも「許可されていません」として実行不可能

こういう自体が発生しました。もともとWindowsが入っていたPCで、CドライブをOS用、Dドライブをデータ用として分けていたんです。

Cドライブが256GBのSSD、Dドライブが2TBのHDD。

UBUNTUに移行したところ、NTFSは使い勝手が良くないので、DドライブをFAT32でフォーマットしました。

home/etc/fstabを書き換えて、起動時に自動的にマウントするように設定。

これでしばらく問題なく使っていたのですが、気がついてみるとHDDが書き込みできない。

ターミナルでsudo chmod しても、ファイラでパーミッションを変更しても変更できない。 理由は「ごにょごにょ」にありました。

「ドライブ」アプリはetc/fstabを上書きする

異変は、UBUNTUでプリインストールされている「ドライブ」のアプリで、データドライブの設定をいじったことが原因でした。

ここでドライブの設定をいじると、せっかく設定したhome/etc/fstabの内容を上書きしてしまいます。

改めてfstabに、読み込みのオプションとして iocharset=utf8,umask=000 を書き込んだところ、データドライブに文字化けなし、読み書きOKに設定できました。

ちなみにcharsetではなくiocharsetです。htmlとかいじっていると間違えやすいです。文字コードの設定です。

umaskについては正直良くわかっていないんですが、umask=000は「パーミッションの設定を変更しない」的な意味合いです。

そもそもFATとかにはパーミッションという概念がない?ので、マウント時に明示的な指定が必要、ということらしいです。

まとめ

fstabをいじったら、ドライブアプリはいじってはいけない