ARM 版 Amazon Linux 2023 に Mountpoint for Amazon S3 をインストールする

以前に Amazon Linux2 で S3 Bucket を goofys でマウントする というメモを書きました。 現在では新たに AWS 謹製の「Mountpoint for Amazon S3」がリリースされています。

今回は t4a.small (ARM アーキテクチャ) のAmazon Linux 2023 へ Mountpoint for Amazon S3 をインストールする手順をメモしておきます。


以下を実行します。 t4a.small インスタンスで 8 分 30 秒程度かかりました。

dnf -y install fuse fuse-devel cmake3 clang-devel git
curl --proto '=https' --tlsv1.2 -sSf | sh
source "$HOME/.cargo/env"
git clone --recurse-submodules
cd mountpoint-s3
cargo build --release

Mountpoint for Amazon S3 は Rust で書かれています。 上記の手順にある Rust のインストール時は以下のようにインストール方法を選択する箇所がありました。

# curl --proto '=https' --tlsv1.2 -sSf | sh
info: downloading installer

Welcome to Rust!

This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.

Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:


This can be modified with the RUSTUP_HOME environment variable.

The Cargo home directory is located at:


This can be modified with the CARGO_HOME environment variable.

The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:


This path will then be added to your PATH environment variable by
modifying the profile files located at:


You can uninstall at any time with rustup self uninstall and
these changes will be reverted.

Current installation options:

   default host triple: aarch64-unknown-linux-gnu
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

ビルドが完了すると target/release/mount-s3 にバイナリが生成されました。 現時点のバージョンは以下でした。

# mount-s3 --version
mountpoint-s3 0.2.0-4bcd182

バイナリは PATH 環境変数の通った場所へコピーしておきます。

cp target/release/mount-s3 /usr/local/bin/

S3 Bucket のマウント

S3 Bucket をマウントします。

mkdir ~/mnt
mount-s3 my-s3-bucket-name ~/mnt



# mount-s3 --help
Mountpoint for Amazon S3


  <BUCKET_NAME>  Name of bucket to mount
  <MOUNT_POINT>  Mount point for file system

  -l, --log-directory <LOG_DIRECTORY>  Log file directory [default: $HOME/.mountpoint-s3]
  -f, --foreground                     Run as foreground process
  -h, --help                           Print help
  -V, --version                        Print version

Bucket options:
      --prefix <PREFIX>              Prefix inside the bucket to mount, ending in '/' [default: mount the entire bucket] [default: ]
      --region <REGION>              AWS region of the bucket [default: auto-detect region]
      --endpoint-url <ENDPOINT_URL>  S3 endpoint URL [default: auto-detect endpoint]
      --virtual-addressing           Force virtual-host-style addressing
      --path-addressing              Force path-style addressing
      --requester-pays               Set the 'x-amz-request-payer' to 'requester' on S3 requests

Mount options:
      --auto-unmount           Automatically unmount on exit
      --allow-root             Allow root user to access file system
      --allow-other            Allow other non-root users to access file system
      --uid <UID>              Owner UID [default: current user's UID]
      --gid <GID>              Owner GID [default: current user's GID]
      --dir-mode <DIR_MODE>    Directory permissions [default: 0755]
      --file-mode <FILE_MODE>  File permissions [default: 0644]

Client options:
      --throughput-target-gbps <N>  Desired throughput in Gbps [default: 10]
      --thread-count <N>            Number of FUSE daemon threads [default: 1]
      --part-size <PART_SIZE>       Part size for multi-part GET and PUT [default: 8388608]

AWS credentials options:
      --no-sign-request    Do not sign requests. Credentials will not be loaded if this argument is provided.
      --profile <PROFILE>  Use a specific profile from your credential file.