外付けHDDのファイルシステムをLinuxマシンで変更する方法
LinuxマシンへのGMTのインストール
rsyncコマンドを使ったファイル転送(ファイル同期)

外付けHDDのファイルシステムをLinuxマシンで変更する方法

はじめに

 市販の外付けHDDのファイルシステムを変更したい場合、容量が2TB以下であれば従来通りにfdiskというコマンドが使えますが、2TB以上の場合は、partedというコマンドを使用する必要があります。
 以下では、I・Oデータ社製HDJA-UTRWシリーズの8TBの外付けHDDのファイルシステムを、Linuxマシン(OS: AlmaLinux 8)上でLinuxファイルシステム(ext4)に変更する場合の手順の覚え書きを紹介します。rootでログインして作業を行ってください。

パーティションの初期化

 su -でログインする。
 外付けHDDをマシンに接続したあと、df -hでマウントされているか確認する。
[root@xxx user_name]# 
df -h
Filesystem Size Used Avail Use% Mounted on /dev/sda3 923G 30G 894G 4% / devtmpfs 47G 0 47G 0% /dev tmpfs 47G 33M 47G 1% /dev/shm tmpfs 47G 27M 47G 1% /run tmpfs 47G 0 47G 0% /sys/fs/cgroup /dev/sdc 9.1T 282M 9.1T 1% /home /dev/sda1 485M 196M 290M 41% /boot tmpfs 9.3G 40K 9.3G 1% /run/user/1002 /dev/sdd 7.3T 319M 7.3T 1% /run/media/yoshida/HDJA-UT (←ここ)
 parted -lでパーティションの初期状態を確認する。
[root@xxx user_name]# 
parted -l
…(マシンに付いている他のディスクの情報が長々と表示された後、最後に) Model: I-O DATA HDJA-UT (scsi) Disk /dev/sdd: 8002GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 134MB 134MB Microsoft reserved partition msftres 2 135MB 8002GB 8001GB
ntfs
Basic data partition msftdata
「File system」が「ntfs」であることに注意。

次に、mklabelでラベル(パーティションの管理方式)をGPT(GUID Partition Table)に設定する。
[root@xxx user_name]# 
parted /dev/sdd
GNU Parted 3.1 Using /dev/sdd Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
mklabel gpt
Warning: Partition(s) on /dev/sdd are being used. Ignore/Cancel?
I
 (←警告が出るが無視) Warning: The existing disk label on /dev/sdd will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No?
Y
Error: Partition(s) 2 on /dev/sdd have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. Ignore/Cancel?
I
 (←警告が出るが無視) (parted)
q
Information: You may need to update /etc/fstab.

新しいパーティションの作成

もう一度partedコマンドを実行。
[root@xxx user_name]# 
parted /dev/sdd
GNU Parted 3.2 Using /dev/sdd Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
mkpart
Partition name? []?
primary
 (←名前は何でも良い) File system type? [ext2]?
ext4
Start?
0%
End?
100%
Error: Error informing the kernel about modifications to partition /dev/sdd1 -- Device or resource busy. This means Linux won't know about any changes you made to /dev/sdd1 until you reboot -- so you shouldn't mount it or use it in any way before rebooting. Ignore/Cancel?
I
 (←警告が出るが無視) Error: Partition(s) 2 on /dev/sdd have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. Ignore/Cancel?
I
 (←警告が出るが無視) (parted)
q
Information: You may need to update /etc/fstab.
 parted -lで、パーティションのサイズや名前が合っているか確認する。この時点では、まだext4でフォーマットされていないので「ファイルシステム」には何も表示されない。
[root@xxx user_name]# 
parted -l
…(マシンに付いている他のディスクの情報が長々と表示された後、最後に) Model: I-O DATA HDJA-UT (scsi) Disk /dev/sdd: 8002GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 134MB 134MB Microsoft reserved partition msftres 2 135MB 8002GB 8001GB Basic data partition msftdata
「File system」が空白になっていればOK。

フォーマット

 ext4でフォーマットを開始しようとするが…、
[root@xxx user_name]# 
mkfs -t ext4 /dev/sdd
/dev/sdd is entire device, not just one partition! Proceed anyway? (y,n)
y
/dev/sdd is apparently in use by the system; will not make a filesystem here!
 以上のように表示されて、マウントしたままではフォーマットできないので、一旦外付けHDDをアンマウントする。
[root@xxx user_name]# 
umount /run/media/user_name/HDJA-UT
 df -hでアンマウントされているか確認する。
[root@xxx user_name]$ 
df -h
Filesystem Size Used Avail Use% Mounted on /dev/sda3 923G 30G 894G 4% / devtmpfs 47G 0 47G 0% /dev tmpfs 47G 96M 47G 1% /dev/shm tmpfs 47G 27M 47G 1% /run tmpfs 47G 0 47G 0% /sys/fs/cgroup /dev/sdc 9.1T 281M 9.1T 1% /home /dev/sda1 485M 196M 290M 41% /boot tmpfs 9.3G 40K 9.3G 1% /run/user/1002
 外付けHDDをマシンから外した後、再び外付けHDDをマシンに接続し、parted -lでパーティションを確認する。
[root@xxx user_name]# 
parted -l
…(マシンに付いている他のディスクの情報が長々と表示された後、最後に) Model: I-O DATA HDJA-UT (scsi) Disk /dev/sdd: 8002GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 134MB 134MB Microsoft reserved partition msftres 2 135MB 8002GB 8001GB Basic data partition msftdata
 もう一度、ext4でフォーマットの開始を試みる。
[root@xxx user_name]# 
mkfs -t ext4 /dev/sdd
mke2fs 1.42.9 (28-Dec-2013) /dev/sdd is entire device, not just one partition! Proceed anyway? (y,n)
y
Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 244191232 inodes, 1953506646 blocks 97675332 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4102029312 59617 block groups 32768 blocks per group, 32768 fragments per group 4096 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544, 1934917632 Allocating group tables:
done
Writing inode tables:
done
Creating journal (32768 blocks):
done
Writing superblocks and filesystem accounting information:
done
 「done」が出ればフォーマットは成功。parted -lでパーティションを確認する。
[root@xxx user_name]# 
parted -l
…(マシンに付いている他のディスクの情報が長々と表示された後、最後に) Model: I-O DATA HDJA-UT (scsi) Disk /dev/sdd: 8002GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 134MB 134MB Microsoft reserved partition msftres 2 135MB 8002GB 8001GB
ext4
Basic data partition msftdata

マウント

 次に、自分のアカウント(user_name)のhome領域に作成したディレクトリ(newhdd)に、外付けHDDをマウントする。
[root@xxx user_name]# 
mkdir newhdd
[root@xxx user_name]#
mount /dev/sdd /home/user_name/newhdd
 df -hできちんとマウントされているか確認する。
[root@xxx user_name]# 
df -h
Filesystem Size Used Avail Use% Mounted on /dev/sda3 923G 30G 894G 4% / devtmpfs 47G 0 47G 0% /dev tmpfs 47G 96M 47G 1% /dev/shm tmpfs 47G 27M 47G 1% /run tmpfs 47G 0 47G 0% /sys/fs/cgroup /dev/sdc 9.1T 282M 9.1T 1% /home /dev/sda1 485M 196M 290M 41% /boot tmpfs 9.3G 40K 9.3G 1% /run/user/1002 /dev/sdd 7.3T 93M 6.9T 1% /home/user_name/newhdd
 newhddに入って、「lost+found」以外、ディレクトリの中に何もファイルがないことを確認する。
[root@xxx user_name]# 
cd newhdd
[root@xxx newhdd]#
ls
. .. lost+found
 引き続き、マウントした外付けHDDにデータを書き込みたいときは、そのまま作業をすすめる。その際、newhddに書き込みの許可を与える。
[root@xxx user_name]# 
chmod a+w newhdd
 データを書き込まず一旦アンマウントして、外付けHDDを外したい場合は、newhddから出てアンマウントする。
[root@xxx newhdd]# 
umount /home/user_name/newhdd
umount: /home/yoshida/newhdd: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) [root@xxx newhdd]#
cd ..
[root@xxx user_name]#
umount /home/user_name/newhdd
 以上で終了。

Linuxコンピューター(Rocky Linux 8)へのGMTのインストール

はじめに

 Linuxコンピューターに、地球科学で広く使われている作図ソフト「Generic Mapping Tools (GMT)」をインストールする際の覚え書きです。
 以下は、Rocky Linux 8にGMTをインストールした例です。

OSの確認

 まず、以下のように入力し、LinuxのOSを確認します。
[root@xxx ~]# cat /etc/os-release
あるいは、Red Hat系のOSであることがわかっていれば、以下のように入力します。
[root@xxx ~]# cat /etc/redhat-release
 さらに、
[root@xxx ~]# dnf search gmt
と入力し、「GMT.x86_64 : Generic Mapping Tools」という文字があれば、そのOSでのGMTのパッケージが存在するのでインストール可能であることがわかります。

GMTのインストール

 GMTに公式サイトから以下のように辿っていきます。
  https://www.generic-mapping-tools.org/documentation/
  →https://docs.generic-mapping-tools.org/latest/
  →https://docs.generic-mapping-tools.org/latest/install.html

 そして、上のサイトに書かれている通りにインストールします。
[root@xxx ~]# sudo dnf install epel-release
[root@xxx ~]# sudo dnf install GMT dcw-gmt gshhg-gmt-nc4 gshhg-gmt-nc4-full gshhg-gmt-nc4-high ghostscript
[root@xxx ~]# sudo dnf localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-`rpm -E %rhel`.noarch.rpm
[root@xxx ~]# sudo dnf install ffmpeg GraphicsMagick
 途中で、"Is this ok [y/N]:"と訊かれますが、全て、"y"と入力してエンターキーを押します。

GMTのインストールに失敗する場合

 Rocky Linux 9など新しいOSにインストールする場合は、新しいソフトウェアパッケージのインストールを許可するために、赤字のコマンドを実行する必要があります。
[root@xxx ~]# sudo dnf install epel-release
[root@xxx ~]# sudo dnf config-manager --enable epel
[root@xxx ~]# sudo dnf install GMT dcw-gmt gshhg-gmt-nc4 gshhg-gmt-nc4-full gshhg-gmt-nc4-high ghostscript
[root@xxx ~]# sudo dnf localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-`rpm -E %rhel`.noarch.rpm
[root@xxx ~]# sudo dnf install ffmpeg GraphicsMagick

GMTがインストールされたかどうかの確認

 無事にインストールできたかどうかは以下のコマンドで確認できます。
[root@xxx ~]$ gmt --version
6.5.0
 最新バージョンより少し古いバージョンがインストールされている場合がありますが気にしないことにします。
 あるいは、例えば、以下のようにすると、GMTのコマンドであるpsxyの説明がつらつらと表示され、GMTが無事にインストールされたことがわかります。
[root@xxx ~]$ gmt psxy

GMTで作図できるかどうかの確認

 GMTで作図できるかどうか確認するために、2011年に日本列島とその周辺で起きた気象庁マグニチュード5以上の震源データをプロットしてみましょう。スクリプトファイルデータファイルを同じディレクトリにダウンロードし、次のように実行します。
[user@xxx ~]$ chmod +x gmt_meca.sh(スクリプトファイルのアクセス権限を実行可にする。初回のみ)
[user@xxx ~]$ gmt_meca.sh
 そうすると、こちらのようなPDFファイルが保存されます。
 ちなみに、このPDFの図では、震源の深さはカラーマップ「jet」が使われていますが、GMTでは多くのカラーマップがビルトインされています。

GMTと地図データの最新バージョンの確認

 GMTを使用するには、地図データ(GSHHGとDCW)もインストールする必要がありますが、上記の作業ですでにインストールされています。GSHHG(Global Self-consistent, Hierarchical, High-resolution Geography)は海岸線、島、湖、河川などの物理・地形データで、DCW(Digital Chart of the World)は国境、州境などの政治・行政データで、互いに補完する関係にあります。
 GMT、GSHHG、DCWの最新バージョンを確認したいときはこちらで確認してください。2026年4月上旬の段階では、GMT 6.6.0、GSHHG 2.3.7、DCW 2.2.0が最新バージョンです。

rsyncコマンドを使ったファイル転送(ファイル同期)

自分の計算機のアカウント@ドメインをuser@zibun.ac.jp、相手の計算機のアカウント@ドメインをuser@aite.ac.jpとする。

相手の計算機上から、自分の計算機の/home/user/dir/にデータ転送する場合
rsync -avuh --progress [移したいディレクトリ名もしくはファイル名の絶対パス] user@zibun.ac.jp:/home/user/dir
ワイルドカード*でディレクトリ名(例えば、dir0、dir1、dir2、…)を指定する場合、dir*とし、dir*/のようにスラッシュを付けないこと。

自分の計算機上で、相手の計算機の/home/user/dirのディレクトリを丸ごとデータ転送する場合
rsync -avuh --progress user@aite.ac.jp:/home/user/dir . 
自分の計算機上で、相手の計算機の/home/user/dir/にあるファイル(file)をデータ転送する場合
rsync -avuh --progress user@aite.ac.jp:/home/user/dir/file .
  • zオプション(圧縮転送)は多くの場合で高速化に寄与する場合が多いが、元から圧縮しているものに対しては、逆に遅くなるとの報告もある。実際のアウトプットファイルで効果を見積もると良い。
  • --progress オプションもscpライクに転送経過を表示するので利用しやすい。
  • rsyncには多くのオプションがあり、複雑なことを実施させようとした場合、予期せぬ挙動となる場合があるので注意。