It’s 2021 and Google still doesn’t offer an official Linux client for Drive, and at this rate they might never. Thankfully there are many great options out there. We’re going to take a look at what is available.
There are three main types of clients:
- Mount Google Drive as a network drive
- Sync your Google Drive to a local folder
- Access Google Drive in an FTP-like interface for graphical transfer.
Mounting Google Drive on Linux
Mounting your GSuite account as a network filesystem is one of the best ways to access your files in the cloud. A network filesystem accesses your files on-demand, when you use them. This differs from a traditional sync-style client which mirrors remote content in a local folder.
On-demand access has huge benefits over a traditional sync-style client. First and foremost, it doesn’t pre-download any of your data, and files you aren’t using don’t take up valuable hard drive space. You access just what you need, when you need it. Google’s own Drive File Stream product replaced their sync client for business users for these very reasons.
Drive mounting options
These projects don’t come with some of the features you might expect if you’re used to operating on Mac or Windows and are generally not for the faint of heart. But they do work, and they are free.
There are also commercial options available such as ExpanDrive that do have a full desktop client with advanced features such as offline sync, background synchronization and many other powerful improvements over a standard network drive.
If you’re looking for a more powerful option to mount Google Drive on Linux ExpanDrive is a great option.
The ExpanDrive software has been available on Mac and Windows for over 10 years and has millions of users. Starting with ExpanDrive version 7 on a wide variety of Linux distributions including Ubuntu, Red Hat, Linux Mint, CentOS, Debian and most other popular distributions.
What makes ExpanDrive different are a variety of features to ensure a stable and high quality end-user experience.
ExpanDrive has multi-threaded background uploads, a full graphical user interface to facilitate bulk transfer, integrated search and version management along with much more. The main product page goes into detail on many of these features.
ExpanDrive supports personal Google Drive accounts as well as GSuite Drive accounts, including support for Team Drives. It securely connects to the Google Drive API and transparently supports ADFS and 2FA.
ExpanDrive runs We provide deb and RPM based installers and have an integrated auto-updater to help you stay up to date.
Released July 1st, 2022
Desktop based installations
ExpanDrive ships primarily as a desktop app with a user interface for advanced configuration and management. We also have a server edition that runs headless for Windows and Linux Servers.
Debian and Ubuntu based desktop distributions
For Debian and Ubuntu based distributions the easiest way to get started is to download and install the latest .deb package (64 bit), either through the graphical installer or via the command-line with the following command.
sudo apt install ./ExpanDrive_2022.7.1_amd64.deb
Installing the .deb will also automatically install the apt repository and code signing key to enable easy update using the system package manager.
You can install the repository and key manually with the following script
curl https://packages.expandrive.com/keys/expandrive.asc | gpg – dearmor > packages.expandrive.gpg sudo install -o root -g root -m 644 packages.expandrive.gpg /usr/share/keyrings/ sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.expandrive.gpg] https://packages.expandrive.com/expandrive stable main" > /etc/apt/sources.list.d/expandrive.list'
Then you update the package cache and install ExpanDrive using:
sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install expandrive
RHEL, Fedora, and CentOS based desktop distributions
Download our latest .rpm package (64-bit) and use yum to install ExpanDrive and the required dependencies.
sudo yum localinstall ./ExpanDrive-2022.7.1.x86_64.rpm
Installing the .rpm will also automatically configure the yum repository and code signing key to enable easy update using the system package manager.
You can install the yum repo manually using the following script:
sudo rpm – import https://packages.expandrive.com/keys/expandrive.asc sudo sh -c 'echo -e "[expandrive]\nname=expandrive\nbaseurl=https://packages.expandrive.com/rpm\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.expandrive.com/keys/expandrive.asc" > /etc/yum.repos.d/expandrive.repo'
Then update your package cache and install Expandrive using dnf (Fedora 22 and above):
sudo dnf check-update sudo dnf install expandrive
or using yum
yum check-update sudo yum install expandrive
Head over to our ExpanDrive Server Edition page for instructions and packages for Windows and Linux servers. ExpanDrive Server edition is designed to run unattended, at boot [versus login], and provides drives that can even be re-shared on the network.
“ExpanDrive lets you mount remote sftp drives and it actually works! I.e. no long delays or dropped connection in the middle of a save.”
Allan Odgaard, TextMate
“My first impression after reading ExpanDrive’s promotional description last week was that it sounded too good to be true. One week later, I’m pretty sure it actually is that good.”
John Gruber, Daring Fireball
ExpanDrive connects your files as a fast network drive and accesses all of your data on demand. You can browse and open any file from within your file manager or from the command-line. ExpanDrive builds native access to Google Drive into Linux.
It’s written in OCaml and is designed to be run from the command-line. There are deb packages maintained by the author, but beyond that you’re own your own. Checkout the project github page for instructions on how to install.
Once you’ve installed google-drive-ocamlfuse you start the authentication process by running
This command sets up the default configuration directory in
~/.gdfuse/default and launches your system browser to do an oauth authentication to get the API key. Now perform the filesystem mount by simply running:
$ google-drive-ocamlfuse mountpoint
mountpoint is the absolute path to your intended mountpoint in the filesystem. Google-drive-ocamlfuse supports multiple accounts via the -label command-line option, letting you mount different labels to different mountpoints. Run the fusermount -u command to perform an unmount.
GCSF is another FUSE based project that runs on Linux (and Mac) that runs a fairly similar manner to google-drive-ocamlfuse. Th primary author, Sergiu Pușcaș spun the project out of his diploma thesis and remains the primary author. In the spirit of developing in trendy languages, GCSF is written in Rust. Sergiu notes, as of April 2019 that he has very little time to dedicate to the project. It is definitely still maintained, but perhaps not under active development anymore. If you’re looking for details on how to try it out, check his github project page.
There are many more open-source sync style clients available on Linux for Google Drive. Most of them have fairly dubious levels of quality and support. There are also some more polished commercial options available as well.
Insync is the most feature-rich sync client for Google Drive on Linux. The user interface runs out of your system tray and is fairly similar to other desktop sync clients on Mac and Windows. It offers support for multiple accounts and selective sync. It is a $49.95 one-time license fee to get all the features.
You can think of overGrive like a less expensive version Insync. It only costs $4.95 and comes with a few extra features, like back-only, and converting Google Docs to office files for offline editing.
Rclone is a free open-source app that bills itself as rsync for cloud storage, which is a reasonable approximation of how this works. Rclone is designed as a command-line utility to push and pull data from the cloud, rather than a continuous sync solution like overGrive or Insync. It support a huge array of cloud storage back-ends, which is certainly nice to have.