今回はTwinCAT/BSDのWrite filter機能について説明いたします。Write filterはTwinCAT/BSD内のSystem Setを保護でき、システムから予想外の変更を守り、もしくは常にDefault-構成で稼働することができます。
つまりConfigurationが変更したとしても、TwinCAT/BSDが再起動さえすれば変更前の状態に戻ります。
そのWrite Filterはzroot/ROOT/defaultのデータセットはTwinCAT/BSDのシステムFileを保護します。例えば、/usr/homeや/var/logのものが変更してもそのまま保存ですが、rc.confのようなConfiguration Fileはシステム再起動するたび、Write Filter機能を有効すると巻戻ります。
例えばの話ですが、BSDではrc.confというFileがありまして、システム設定情報のファイルです。IP・Host Name・sshd・sshd・デーモンプロセスの設定・制御などで利用されています。この zroot/ROOT/default がデフォルトのルートファイルシステムです。 ルートファイルシステムに含まれるディレクトリは /dev を除いた / 以下の全てのディレクトリです。 /usr や /var も含みます。
SystemにWrite filterかけられたあとそのrc.confが変更されても再起動しても戻ります。
Reference Link
TwinCAT/BSDに関連する記事はこちらへ↓
http://soup01.com/ja/category/beckhoff/twincat3/twincat-bsd/
Enable
doas service bwf enableのコマンドでWrite filterを有効にします。
有効してから一回の再起動が必要です。
Administrator@Soup01PC:~ $ doas service bwf enable Password: bwf_enable: NO -> YES writefilter enabled, please reboot to make your changes take effect. |
ではWrite filterを試してみます。
いまのTerminalはAdminのDirectoryにいます。
pwd /home/Administrator |
そしてls コマンドでDirectory内のFileをListupします。
それ以外のものを作成しても(例えば空のFileでも)System再起動しても削除され元の状態に戻ります。
touch test.txt でFile作成し再起動してみてください。
Administrator@Soup01PC:/ $ ls COPYRIGHT home media sbin var bin include mnt share www boot lib net test.log zroot dev libdata proc tests entropy libexec rescue tmp etc man root usr |
Disable
doas service bwf disableコマンドでWrite filterを無効にします。
同じく再起動が必要です。
Administrator@Soup01PC:/ $ doas service bwf disable Password: writefilter disabled, please reboot to make your changes take effect. |