S3 Drive - Linux Guide


S3 Drive is an easy-to-use command line application that mounts S3 buckets and allows you to browse and work with objects as if they were stored on your local machine.

Prerequisites

S3 Drive requires only a few prerequisites to be installed in order to run properly:

  • S3 Drive
  • Microsoft .NET 6 (or later) Runtime
  • FUSE 2 (FUSE 3 Support Coming Soon)

Installing the .NET runtime and FUSE libraries on Linux can typically be done in only a couple of commands. If the commands listed below are not suitable for your environment please refer to the official Microsoft and FUSE documentation for instructions on installing on your system. In most the following commands can be used:

RedHat/CentOS:

sudo yum install dotnet-runtime-6.0 sudo yum install fuse-libs

Debian/Ubuntu:

sudo apt-get install dotnet-runtime-6.0 sudo apt-get install libfuse2

Mounting the Remote File System

Connecting to a server is designed to be simple. The connection details may be provided as command line arguments or via a configuration file. The following command is all that is necessary to mount a drive.

dotnet s3drive.dll start --mount-point /path/to/mount/point --provider amazons3 [--region us-east-1] --bucket test --access-key VALUE --secret-key VALUE

Please note that the local folder must be empty.

Another way to start the drive is to specify the connection details using a configuration file. The installation includes an example s3drive_example.conf file that can be modified for your environment. The following command is all that is necessary to mount a drive via a configuration file.

dotnet s3drive.dll start -c example.conf For details on additional command-line options and examples please use the help command as in the example below or refer to the "Running S3 Drive" section of the Online Documentation.

dotnet s3drive.dll help

Example Configuration

Below is an example configuration file with the minimal settings needed to mount a drive. Details about possible settings and values can be found in the s3drive_example.conf file that is included with the product.

# The Global section is for system-wide mount point settings. [Global] # Logging settings. LogMode can be set to 0 (off) to 5 (debug): # 0 Off - Nothing will be logged. # 1 Error - Only errors will be logged. # 2 Warning - Additional warning information will be logged. # 3 Info - General information about the status of the connection will be logged. # 4 Verbose - Logs additional information about the connection and detailed protocol information. # 5 Debug - Logs detailed debug information, including raw data. LogFile="/path/to/file.log" LogMode=4 LogToFile=True [AppInfo] Name="S3Drive" [Drives\ExampleDrive] # Defines a bucket or object on the server that will serve as # a root folder of the drive. If needed, a path portion can be # specified after the bucket name. For example: bucket/path/to/object. Bucket="bucket" # MountPoint is the desired location on the local disk where the server's filesystem should be mounted. MountPoint="/path/to/mount/point" # Defines the provider and region to use when connecting to the S3 storage provider. # To use a custom provider, define the URL configuration setting below. # Valid options are : # amazons3 (default) # backblazeb2 # cloudflarer2 # digitalocean # ibm # linode # oracle # seagatelyvecloud # wasabi Provider="amazons3" Region="us-east-1" # Defines credentials to connect to the S3 storage provider. AccessKey="YOUR_ACCESS_KEY" SecretKey="YOUR_SECRET_KEY" Once the start command has run successfully, verbose level console output should look something like the following: [05/09/2023 13:24:19] [TID=001] S3 Drive 22.0.8518 [05/09/2023 13:24:19] [TID=001] Unix 5.15.0.60 [05/09/2023 13:24:19] [TID=001] Driver installed: 2.9.0.0 [05/09/2023 13:24:19] [TID=001] License: [Personal Edition] [05/09/2023 13:24:19] [TID=001] LogMode: Info [05/09/2023 13:24:19] [TID=001] Starting S3 service. [05/09/2023 13:24:19] [TID=001] [INFO ] [drive_name] Mounting drive: 'drive_name'. [05/09/2023 13:24:19] [TID=001] [INFO ] [drive_name] Start to connect to S3 server [05/09/2023 13:24:19] [TID=001] [INFO ] [drive_name] Establishing S3 connection to [05/09/2023 13:24:19] [TID=001] [INFO ] [drive_name] All requests will be sent using signature version 4 [05/09/2023 13:24:19] [TID=001] [INFO ] [drive_name] S3 connection established. [05/09/2023 13:24:19] [TID=001] [INFO ] [drive_name] Connected to S3 server successfully [05/09/2023 13:24:24] [TID=013] [INFO ] [drive_name] Successfully added mounting point '/path/to/mount/point'. [05/09/2023 13:24:24] [TID=001] [INFO ] [drive_name] Mounting complete. [05/09/2023 13:24:24] [TID=001] The S3 service started successfully.

We appreciate your feedback. If you have any questions, comments, or suggestions about this article please contact our support team at support@callback.com.