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 https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
git clone --recurse-submodules https://github.com/awslabs/mountpoint-s3.git
cd mountpoint-s3
cargo build --release
|
Mountpoint for Amazon S3 は Rust で書かれています。 上記の手順にある Rust のインストール時は以下のようにインストール方法を選択する箇所がありました。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 | # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | 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:
/root/.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
/root/.cargo
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:
/root/.cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:
/root/.profile
/root/.bash_profile
/root/.bashrc
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
|
参考
ヘルプ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 | # mount-s3 --help
Mountpoint for Amazon S3
Usage: mount-s3 [OPTIONS] <BUCKET_NAME> <MOUNT_POINT>
Arguments:
<BUCKET_NAME> Name of bucket to mount
<MOUNT_POINT> Mount point for file system
Options:
-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.
|