@rabirgoです。
趣味用サーバの移行をしようとしてて、fstransform をインストールしようとしてハマったので記録しておきます。
結果的にはただの勘違いでしたが (^_^;)
fstransform を yum install しようとしてもエラーになる
インストールしようとした理由は後述しますが、以下のエラーでインストールできませんでした。
$ sudo yum install fstransform
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
パッケージ fstransform は利用できません。
エラー: 何もしません
あまりパッケージ管理のことは分からないので Google の海へ・・
sudo yum install epel-release で解決(fstransform インストールできた)
EPEL リポジトリというところにあるようです。
以下の手順でリポジトリ追加して、インストールできました。
sudo yum install epel-release
$ sudo yum install epel-release
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-11 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
=============================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
=============================================================================
インストール中:
epel-release noarch 7-11 extras 15 k
トランザクションの要約
=============================================================================
インストール 1 パッケージ
総ダウンロード容量: 15 k
インストール容量: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-11.noarch.rpm | 15 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : epel-release-7-11.noarch 1/1
検証中 : epel-release-7-11.noarch 1/1
インストール:
epel-release.noarch 0:7-11
完了しました!
sudo yum install fstransform
$ sudo yum install fstransform
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ fstransform.x86_64 0:0.9.3-1.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
=============================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
=============================================================================
インストール中:
fstransform x86_64 0.9.3-1.el7 epel 130 k
トランザクションの要約
=============================================================================
インストール 1 パッケージ
総ダウンロード容量: 130 k
インストール容量: 362 k
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/7/epel/packages/fstransform-0.9.3-1.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 352c64e5: NOKEY
fstransform-0.9.3-1.el7.x86_64.rpm の公開鍵がインストールされていません
fstransform-0.9.3-1.el7.x86_64.rpm | 130 kB 00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 から鍵を取得中です。
Importing GPG key 0x352C64E5:
Userid : "Fedora EPEL (7) <epel@fedoraproject.org>"
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package : epel-release-7-11.noarch (@extras)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : fstransform-0.9.3-1.el7.x86_64 1/1
検証中 : fstransform-0.9.3-1.el7.x86_64 1/1
インストール:
fstransform.x86_64 0:0.9.3-1.el7
完了しました!
fstransform をインストールしようとした理由(確認ミス)
さくら VPS に構築していた古いほうの趣味用サーバが、i ノード枯渇で不調になりました。
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda3 12967936 12967936 0 100% /
※”/dev/vda3″ は旧サーバ
調べたところ、ファイルシステムが ext4 なので拡張はできなさそうです。
$ cat /etc/redhat-release
CentOS release 6.6 (Final)
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/vda3 ext4 203974444 92446
おそらく python 系の不要なパッケージなどを削除すれば空くと思うんですが、見よう見まねで色々いじってたのでどのパッケージを削除して良いか分からず。
他の VPS も使ってみたかったので、Amazon の Lightsail に移行することにしました。

ここで確認ミス。
CentOS 7 からは i ノード拡張ができる xfs がデフォルトで採用されているとのことで確認しようとしたら、誤って古いサーバ(CentOS 6.6)を見てたようで ext4 でした。
VPS 各社で違うのかなと勝手に勘違いして、ext4 から xfs にコンバートする手段がないか探してて見つけたのが fstransform でした。
まだ何も設定してないんでダメでもいいやと思い試してみることにしましたが、以下のエラーにより「別サーバで実行した df -T を確認してた」ことに気づき fstransform は試せませんでした。
$ sudo fstransform /dev/vda3 xfs
fstransform: starting version 0.9.3, checking environment
fstransform: checking for which... '/bin/which'
fstransform: checking for expr... '/bin/expr'
fstransform: checking for id... '/bin/id'
fstransform: parsing command line arguments
fstransform: checking for stat... '/bin/stat'
fstransform: checking for mkfifo... '/bin/mkfifo'
fstransform: checking for blockdev... '/sbin/blockdev'
fstransform: checking for losetup... '/sbin/losetup'
fstransform: checking for fsck... '/sbin/fsck'
fstransform: checking for mkfs... '/sbin/mkfs'
fstransform: checking for mount... '/bin/mount'
fstransform: checking for umount... '/bin/umount'
fstransform: checking for mkdir... '/bin/mkdir'
fstransform: checking for rmdir... '/bin/rmdir'
fstransform: checking for rm... '/bin/rm'
fstransform: checking for dd... '/bin/dd'
fstransform: checking for sync... '/bin/sync'
fstransform: checking for fsmove... '/sbin/fsmove'
fstransform: checking for fsremap... '/sbin/fsremap'
fstransform: checking for fsck(source file-system)... '/sbin/fsck'
fstransform: checking for fsck(target file-system)... '/sbin/fsck'
fstransform: looking for optional commands
fstransform: checking for sleep... '/bin/sleep'
fstransform: checking for date... '/bin/date'
13:38:45 fstransform: environment check passed.
13:38:45 fstransform: saving output of this execution into /var/tmp/fstransform/fstransform.log.14767
13:38:45 ERROR! fstransform: argument '/dev/vda3' is NOT a block special device! Aborting.
$ df -T
ファイルシス タイプ 1K-ブロック 使用 使用可 使用% マウント位置
/dev/xvda1 xfs 41931756 1216200 40715556 3% /
さいごに
勘違いでしたが、サーバ管理では基本的なことであろう EPEL リポジトリのことが知れて良かったです。
Google 検索してもコマンドレベルでの解決は見つけきれなかったので、同じところでハマってしまった方の参考になれば幸いです。