Mapping bucket to the local instance on google cloud

You will need gcsfuse to map a bucket to your instance. Instructions to install on Linux and Mac are below. The github link is. https://github.com/GoogleCloudPlatform/gcsfuse

Using gcsfuse

Prerequisites

    gcloud auth login

See mounting.md for more information on credentials.

Invoking gcsfuse

To mount a bucket using gcsfuse over an existing directory /path/to/mount, invoke it like this:

gcsfuse my-bucket /path/to/mount

Important: You should run gcsfuse as the user who will be using the file system, not as root. Do not use sudo.

The gcsfuse tool will exit successfully after mounting the file system. Unmount in the usual way for a fuse file system on your operating system:

umount /path/to/mount         # OS X
fusermount -u /path/to/mount  # Linux

If you are mounting a bucket that was populated with objects by some other means besides gcsfuse, you may be interested in the --implicit-dirs flag. See the notes in semantics.md for more information.

Installing gcsfuse

gcsfuse has been tested successfully with the following operating systems:

  • Linux (minimum kernel version 3.10)

  • OS X (minimum version 10.10.2)

It may or may not work correctly with other operating systems and older versions.

If you are running on Google Compute Engine, it is recommended that you use one of the following images with which it has been tested (preferring the latest version when possible):

  • ubuntu-1804-lts, ubuntu-1604-lts, and ubuntu-1404-lts

  • debian-8, debian-7

  • centos-7, centos-6

  • rhel-7, rhel-6

  • sles-12

Linux

If you are running Linux on a 64-bit x86 machine and are happy to install pre-built binaries (i.e. you don't want to build from source), you need only ensure fuse is installed, then download and install the latest release package. The instructions vary by distribution.

Ubuntu and Debian (latest releases)

The following instructions set up apt-get to see updates to gcsfuse, and are supported for the bionic, artful, zesty, yakkety, xenial, and trusty releases of Ubuntu, and the jessie and stretch releases of Debian. (Run lsb_release -c to find your release codename.) Users of older releases should follow the instructions for other distributions below.

  1. Add the gcsfuse distribution URL as a package source and import its public key:

  2. Update the list of packages available and install gcsfuse.

  3. (Ubuntu before wily only) Add yourself to the fuse group, then log out and back in:

Future updates to gcsfuse can be installed in the usual way: sudo apt-get update && sudo apt-get upgrade.

CentOS and Red Hat (latest releases)

The following instructions set up yum to see updates to gcsfuse, and work for CentOS 7 and RHEL 7. Users of older releases should follow the instructions for other distributions below.

  1. Configure the gcsfuse repo:

  2. Make the system aware of the new repo:

    Be sure to answer "yes" to any questions about adding the GPG signing key.

  3. Install gcsfuse:

    Be sure to answer "yes" to any questions about adding the GPG signing key.

Future updates to gcsfuse will automatically show up when updating with yum.

SUSE

Ensure that dependencies are present:

Download and install the latest release package:

Arch Linux

Available from AUR and can be installed with any AUR helper.

Older releases and other distributions

Ensure that dependencies are present:

  • Install fuse.

  • Install curl (or use a different program for downloading below).

If you are on a distribution that uses .rpm files for package management:

Or one that uses .deb files:

On some systems it may be necessary to add the your user account to the fuse group in order to have permission to run fusermount (don't forget to log out and back in afterward for the group membership change to take effect):

Old versions of Debian contain a bug that causes /dev/fuse to repeatedly lose its permission settings. If you find that you receive permissions errors when mounting, even after running the usermod instruction above and logging out and back in, you may need to fix the permissions:

OS X

First, handle prerequisites:

Afterward, gcsfuse can be installed with brew:

The second command is only necessary if you want to use gcsfuse with the mount command or in your /etc/fstab file, as opposed to calling gcsfuse directly.

In the future gcsfuse can be updated in the usual way for homebrew packages:

Building from source

Prerequisites:

  • A working Go installation at least as new as commit 183cc0c. See Installing Go from source.

  • Fuse. See the instructions for the binary release above.

  • Git. This is probably available as git in your package manager.

Because we use the Go 1.5 vendoring support, you must ensure that the appropriate variable is set in your environment:

To install or update gcsfuse, run:

This will fetch the gcsfuse sources to $GOPATH/src/github.com/googlecloudplatform/gcsfuse, build them, and install a binary named gcsfuse to $GOPATH/bin.

Unmount a bucket

Last updated

Was this helpful?