Insync for Linux
Insync is the client-side software required to access various cloud-based storage accounts.
It is not free but if you have thrown Windows into the trashcan this is the solution for you.
There are a number of others available, but I don't have time to stuff about and wanted something that works across all three major cloud storage vendors, and this was it.
- Google Drive
- Microsoft OneDrive
- Dropbox
I ditched Microsoft Windows as my daily runner in October. I need to fast track my Linux skills, and it worked.
Insync is here:

Installation
I have generated a script for installation. It is included here which is production‑ready, fleet‑safe, idempotent Insync installer that works cleanly across:
- Linux Mint 22 (Zara) – Ubuntu 24.04 base
- LMDE 7 (Gigi) – Debian 13 (Trixie) base
- Debian 12 / 13
- Ubuntu 22.04 / 24.04
- All Mint Ubuntu‑based editions
And includes:
- Root check
- Full distro + codename detection
- Correct upstream mapping
- Fix for Mint Zara auto‑generated repo
- Fix for LMDE 7 auto‑generated repo
- Correct
.sourcesformat for modern Debian/Ubuntu - Cleanup of stale/broken repo entries
- Idempotent behavior
- Clear audit‑friendly output
#!/bin/bash
#
# install-insync.sh
# Unified installer for:
# - Linux Mint (including Zara)
# - LMDE 7 (Gigi)
# - Debian 12/13+
# - Ubuntu 22.04 / 24.04+
#
# Includes:
# - Root check
# - Correct repo mapping
# - Fixes for Mint & LMDE auto-generated broken repos
# - Correct .sources format for modern systems
# - Idempotent behaviour
# - Tested on Linux MintOS Zara & LMDE 7
#
set -euo pipefail
### --- Root check ---
if [[ "$EUID" -ne 0 ]]; then
echo "ERROR: This script must be run as root."
echo "Run again using: sudo $0"
exit 1
fi
echo ">>> Installing Insync..."
### --- Step 1: Add Insync GPG key ---
curl -fsSL https://apt.insync.io/insynchq.gpg \
| gpg --dearmor \
| tee /usr/share/keyrings/insync.gpg >/dev/null
### --- Step 2: Detect distribution + codename ---
DISTRO=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
CODENAME=$(lsb_release -cs)
echo ">>> Detected distro: $DISTRO, codename: $CODENAME"
### --- Step 3: Map Mint & LMDE to correct upstream repos ---
# Mint 22 (Zara) = Ubuntu 24.04 (Noble)
if [[ "$DISTRO" == "linuxmint" && "$CODENAME" == "zara" ]]; then
BASE_DISTRO="ubuntu"
BASE_CODENAME="noble"
# LMDE 7 (Gigi) = Debian 13 (Trixie)
elif [[ "$DISTRO" == "linuxmint" && "$CODENAME" == "gigi" ]]; then
BASE_DISTRO="debian"
BASE_CODENAME="trixie"
# LMDE 6 (Elsie) = Debian 11
elif [[ "$DISTRO" == "lmde" && "$CODENAME" == "elsie" ]]; then
BASE_DISTRO="debian"
BASE_CODENAME="bullseye"
# Standard Debian
elif [[ "$DISTRO" == "debian" ]]; then
BASE_DISTRO="debian"
BASE_CODENAME="$CODENAME"
# Standard Ubuntu / Mint Ubuntu-based
else
BASE_DISTRO="$DISTRO"
BASE_CODENAME="$CODENAME"
fi
echo ">>> Mapped to upstream: $BASE_DISTRO $BASE_CODENAME"
### --- Step 4: Disable Mint Zara auto-generated broken Insync repo ---
if [[ "$DISTRO" == "linuxmint" && "$CODENAME" == "zara" ]]; then
echo ">>> Disabling Mint Zara auto-generated Insync repo..."
sed -i '/apt\.insync\.io\/linuxmint/d' /etc/apt/sources.list.d/*.list || true
sed -i '/apt\.insync\.io\/linuxmint/d' /etc/apt/sources.list || true
echo "# Mint Zara auto-repo block for Insync" \
> /etc/apt/sources.list.d/insync-mint-block.list
fi
### --- Step 5: Disable LMDE 7 auto-generated broken Insync repo ---
if [[ "$DISTRO" == "linuxmint" && "$CODENAME" == "gigi" ]]; then
echo ">>> Disabling LMDE 7 auto-generated Insync repo..."
sed -i '/apt\.insync\.io\/linuxmint/d' /etc/apt/sources.list.d/*.list || true
sed -i '/apt\.insync\.io\/linuxmint/d' /etc/apt/sources.list || true
echo "# LMDE 7 auto-repo block for Insync" \
> /etc/apt/sources.list.d/insync-lmde-block.list
rm -f /var/lib/apt/lists/*insync* || true
fi
### --- Step 6: Install repo using correct format ---
if [[ "$BASE_DISTRO" == "debian" || "$BASE_DISTRO" == "ubuntu" ]]; then
cat <<EOF | tee /etc/apt/sources.list.d/insync.sources
Types: deb
URIs: http://apt.insync.io/${BASE_DISTRO}
Suites: ${BASE_CODENAME}
Components: non-free contrib
Signed-By: /usr/share/keyrings/insync.gpg
EOF
else
echo "deb [signed-by=/usr/share/keyrings/insync.gpg] http://apt.insync.io/${BASE_DISTRO} ${BASE_CODENAME} non-free contrib" \
| tee /etc/apt/sources.list.d/insync.list
fi
### --- Step 7: Update package lists ---
apt-get update -y
### --- Step 8: Install Insync ---
apt-get install -y insync
echo ">>> Insync installed successfully."If for some reason you break the application on your distribution it is extremely untidy on resetting, in that it leaves data all over the place. If you do this, I highly suggest you refer to an AI to help you reset your workstation without requiring a reinstallation.
If you are desperate get in touch and I will send you my reset code which worked as I have just finished breaking, fixing, reinstallation and testing.
That's another project tested and dusted.
Anyhow - have fun.
#enoughsaid
