📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

609行目: 609行目:
  または
  または
  update-desktop-database /usr/local/share/applications
  update-desktop-database /usr/local/share/applications
<br><br>
== F2FSファイルシステムの使用 ==
SUSEにおいて、古いファイルシステムの多くは、セキュリティのためブラックリストとして設定している。<br>
F2FS等のファイルシステムを使用するには、SUSE向けのLinuxカーネルをユーザ自身でコンパイルする必要がある。<br>
<br>
ここでは、Linuxカーネルをコンパイルして、Linuxカーネルモジュールをインストールする手順を記載する。<br>
<br>
==== F2FSモジュールのみインストールする方法 (推奨) ====
Linuxカーネルのソースコードをダウンロード、または、インストールする。<br>
* パッケージ管理システムから、Linuxカーネルのソースコードをインストールする場合
*: <code>sudo zypper install kernel-source</code>
*: <br>
* Linuxカーネルの公式webサイトから、Linuxカーネルのソースコードをダウンロードする場合
*: [https://www.kernel.org Linuxカーネルの公式webサイト]または[https://github.com/torvalds/linux/tags Github]にアクセスして、対応するバージョンのLinuxカーネルのソースコードをダウンロードする。
*: あるいは、[https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/refs/tags Linuxカーネルの公式webサイトにあるGit]から、対応するバージョンのLinuxカーネルをダウンロードする。
*: ダウンロードしたファイルを解凍する。
*: <code>tar xf linux-<バージョン>.tar.gz</code>
*: <code>cd linux-<バージョン></code>
<br>
F2FSのビルド設定を行うため、<code>make menuconfig</code>コマンドを実行する。<br>
make menuconfig -j $(nproc)
# または
sudo make menuconfig -j $(nproc)
<br>
TUI画面が起動するので、[File systems] - [F2FS filesystem support]に移動して、[M]キーを押下する。<br>
TUI画面下にある[Save]を選択して、上記の設定を保存する。<br>
<br>
Linuxカーネルから、F2FSのみをビルドする。<br>
make scripts prepare modules_prepare -j $(nproc)
make -C . M=fs/f2fs -j $(nproc)
<br>
生成したf2fs.koファイルをZstandard形式またはXZ形式に圧縮する。<br>
cd fs/f2fs
# SUSE 15.4の場合
zstd -19 f2fs.ko
# SUSE 15.3以前の場合
xz -kv f2fs.ko
<br>
圧縮したファイルを、/lib/modules/<使用しているLinuxカーネルのバージョン>/kernel/fs/f2fsディレクトリにコピーする。<br>
sudo mkdir /lib/modules/$(uname -r)/kernel/fs/f2fs
sudo cp f2fs.ko.xz /lib/modules/$(uname -r)/kernel/fs/f2fs
<br>
F2FSモジュールをデプロイする。<br>
sudo depmod -a $(uname -r)
<br>
/etc/modprobe.dディレクトリにある60-blacklist_fs-f2fs.confファイルを、以下のように編集する。
sudo vi /etc/modprobe.d/60-blacklist_fs-f2fs.conf
<br>
# /etc/modprobe.d/60-blacklist_fs-f2fs.confファイル
# 編集前
blacklist f2fs
__THIS FILE MAY BE MODIFIED__
# 編集後
# blacklist f2fs
# __THIS FILE MAY BE MODIFIED__
<br>
PCを再起動して、F2FSファイルシステムが正常にマウントできるかどうか確認する。<br>
<br>
また、F2FSモジュールが正常に読み込まれているかどうかを確認するには、以下のコマンドを実行する。<br>
sudo modinfo f2fs
<br>
Linuxカーネルモジュールのインストール後は、以下のコマンドを実行することを推奨する。(ファイル容量が膨大なため)<br>
sudo make clean -j $(nproc)      # .configファイルを残す
または
sudo make distclean -j $(nproc)  # .configファイル等の設定ファイルを全て削除する
<br>
==== カーネルモジュール全体をインストールする方法 ====
Linuxカーネルをビルドするために必要なライブラリをインストールする。<br>
sudo zypper install kernel-source
<br>
/usr/src/linux-<カーネルのバージョン>ディレクトリに移動して、以下のコマンドを実行する。<br>
cd /usr/src/linux-<カーネルのバージョン>
sudo make menuconfig
<br>
TUI画面が起動するので、[File systems] - [F2FS filesystem support]に移動して、[M]キーを押下する。<br>
TUI画面下にある[Save]を選択して、上記の設定を保存する。<br>
<br>
SUSEでにおいて、カーネルモジュールは、XZ形式に圧縮されている。<br>
圧縮を有効にするには、.configファイルに<code>MODULE_COMPRESS_GZIP=y</code>オプションまたは<code>MODULE_COMPRESS_XZ=y</code>オプションを追記する必要がある。<br>
<u>(この設定は必須ではないが、SUSEの標準では、カーネルモジュールはXZ形式に圧縮されているため)</u><br>
<br>
まず、Linuxカーネルのビルドディレクトリの.configファイルを開いて、"<u>MODULE_COMPRESS</u>"を検索する。<br>
検索した"<u>MODULE_COMPRESS</u>"の直下に、以下の設定を追記する。<br>
sudo vi /usr/src/linux-<カーネルのバージョン>/.config
<br>
# /usr/src/linux-<カーネルのバージョン>/.configファイル
# ...略
CONFIG_MODULE_COMPRESS=y
CONFIG_MODULE_COMPRESS_XZ=y
# ...略
<br>
次に、Linuxカーネルをコンパイルする。<br>
sudo make -j $(nproc)
<br>
Linuxカーネルモジュールのみをインストールする。<br>
インストールディレクトリは、/lib/modules/<カーネルのバージョン>-defaultディレクトリである。<br>
sudo make modules_install
<br>
最後に、/etc/modprobe.dディレクトリにある60-blacklist_fs-f2fs.confファイルを、以下のように編集する。<br>
sudo vi /etc/modprobe.d/60-blacklist_fs-f2fs.conf
<br>
# /etc/modprobe.d/60-blacklist_fs-f2fs.confファイル
# 編集前
blacklist f2fs
__THIS FILE MAY BE MODIFIED__
# 編集後
# blacklist f2fs
# __THIS FILE MAY BE MODIFIED__
<br>
PCを再起動して、F2FSファイルシステムが正常にマウントできるかどうか確認する。<br>
<br>
<u>※注意 1</u><br>
<u>Linuxカーネルをアップデートした場合は自動的にF2FSモジュールが削除されるため、再度、F2FSモジュールをインストールする必要がある。</u><br>
<u>もし、既にF2FSモジュールのバックアップが存在する場合、f2fs.ko.xzファイルを以下のディレクトリにコピーして、モジュール群をデプロイすることもできる。</u><br>
# F2FSモジュールのコピー
sudo mkdir /lib/modules/$(uname -r)/kernel/fs/f2fs/
sudo cp f2fs.ko.xz /lib/modules/$(uname -r)/kernel/fs/f2fs/
# モジュール群のデプロイ
sudo depmod -a $(uname -r)
<br>
<u>※注意 2</u><br>
<u>もし、VMware WorkStationをインストールしている場合は、併せて、Linuxカーネルヘッダもインストールする必要がある。</u><br>
sudo make headers_install
<br>
Linuxカーネルモジュールのインストール後は、以下のコマンドを実行することを推奨する。(ファイル容量が膨大なため)<br>
sudo make clean -j $(nproc)      # .configファイルを残す
または
sudo make distclean -j $(nproc)  # .configファイル等の設定ファイルを全て削除する
<br>
==== F2FS Toolのインストール ====
* パッケージ管理システムからインストール
*# <code>sudo zypper install f2fs-tools</code>
*: <br>
* ソースコードからインストール
*# F2FS Toolsのビルドに必要な依存関係のライブラリをインストールする。
*#: <code>sudo zypper install libuuid-devel pkg-config autoconf libtool libselinux-devel </code>
*# [https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/ LinuxカーネルのF2FS ToolsのWebサイト]から、タグが"vX.Y.Z"のソースコードをダウンロードする。<br>または、以下のコマンドを実行して、ソースコードをダウンロードする。
*#: <code>git clone https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git -b master</code>
*#: <code>cd f2fs-tools</code>
*# ダウンロードしたファイルを解凍する必要があれば行う。
*#: <code>tar xf f2fs-tools-1.14.0.tar.gz</code>
*#: <code>cd f2fs-tools-1.14.0</code>
*# Configureスクリプトを作成する。
*#: <code>./autogen.sh</code>
*# ビルドディレクトリを作成する。
*#: <code>mkdir build && cd build</code>
*# F2FS Toolsをビルドおよびインストールする。
*#: <code>../configure --prefix=<F2FS Toolsのインストールディレクトリ></code>
*#: <code>make -j $(nproc)</code>
*#: <code>make install</code>
<br>
F2FS Toolsの使用するコマンドを以下に示す。<br>
mkfs.f2fs -l <ラベル名> /dev/sd<span style="color:#C00000">X</span>
# または
sudo mkfs.f2fs -l <ラベル名> /dev/sd<span style="color:#C00000">X</span>
<br><br>
<br><br>