cancel
Showing results for 
Search instead for 
Did you mean: 
The Zoom Community will be placed in read-only mode January 9th, 2026 through January 22nd, 2026 to deliver you a new and improved community experience!

The community will still be accessible, however, the creation of any new discussions or replies will be temporarily unavailable. We appreciate your patience during this time.

Update Zoom in Debian/Ubuntu

hamletmun
Explorer
Explorer

Too bad there is no PPA for Zoom. I use this script to check for newer zoom_amd64.deb and update.

Installing or updating Zoom on Linux – Zoom Support

#!/bin/sh

echo Installed: $(cat /opt/zoom/version.txt)
echo Available: $(wget --spider https://zoom.us/client/latest/zoom_amd64.deb 2>&1 | grep Location | sed -e 's/.*prod\/\(.*\)\/.*/\1/')

REPLY=n
echo -n "Download and install? "
read REPLY
if [ $REPLY = y ] ; then
  wget -c https://zoom.us/client/latest/zoom_amd64.deb
  sudo apt install ./zoom_amd64.deb
  rm zoom_amd64.deb
fi

 

1 ACCEPTED SOLUTION

jeremyjustin
Community Champion | Employee
Community Champion | Employee

hi @hamletmun thank you for your post on the Zoom Community! In regards to updating with PPA, that is a great suggestion and I believe it would help to have you enter this functionality as a feature request. Currently, our product team reviews all feature requests submitted via our feedback form https://zoom.us/feed. I highly encourage you to submit this feature there! It would help to add a little bit about your company, how many employees this is impacting, etc. 

 

If this has answered your question to your satisfaction, please click the "Accept as Solution" button below but if not please reply and we can continue the  discussion. Thank you!

View solution in original post

6 REPLIES 6

jeremyjustin
Community Champion | Employee
Community Champion | Employee

hi @hamletmun thank you for your post on the Zoom Community! In regards to updating with PPA, that is a great suggestion and I believe it would help to have you enter this functionality as a feature request. Currently, our product team reviews all feature requests submitted via our feedback form https://zoom.us/feed. I highly encourage you to submit this feature there! It would help to add a little bit about your company, how many employees this is impacting, etc. 

 

If this has answered your question to your satisfaction, please click the "Accept as Solution" button below but if not please reply and we can continue the  discussion. Thank you!

liam-lb
Newcomer
Newcomer

Adding a tweaked version that will automatically update when the versions don't match:

#!/usr/bin/env bash
# This script will download and install the Zoom client 

ZOOM_DEB='zoom_amd64.deb'

version_installed=$(cat /opt/zoom/version.txt)
version_available=$(wget --spider https://zoom.us/client/latest/zoom_amd64.deb 2>&1 | grep Location | sed -e 's/.*prod\/\(.*\)\/.*/\1/')

echo "Installed: ${version_installed}"
echo "Available: ${version_available}"

if [[ "${version_installed}" == "${version_available}" ]]; then
  echo "The latest version is installed. Exiting."
else
  curl -J -L -o /tmp/${ZOOM_DEB} https://www.zoom.us/client/latest/${ZOOM_DEB}

  sudo dpkg --install /tmp/${ZOOM_DEB}
  sudo apt install -f
fi

Thank you - this has been helpful for me. Recently it started hanging on the wget command so I made some updates using only curl and wanted to share them.

 

#!/usr/bin/env bash
# This script will download and install the Zoom client
# https://community.zoom.com/t5/Zoom-Meetings/Update-Zoom-in-Debian-Ubuntu/m-p/32820

arch="$(dpkg --print-architecture)"
echo "info: architecture ${arch}"
ZOOM_DL="zoom_${arch}.deb"
ZOOM_DEB=$(mktemp --tmpdir "zoom_${arch}_XXXXXX.deb")

version_installed=$(cat /opt/zoom/version.txt)
uri=$(curl --silent --no-styled-output --write-out '%{redirect_url}' https://zoom.us/client/latest/${ZOOM_DL})
version_available=$(echo ${uri} | sed -e 's/.*prod\/\(.*\)\/.*/\1/')

echo "Installed: ${version_installed}"
echo -e "Available: ${version_available} - URI: ${uri}\n"

if [[ "${version_installed}" == "${version_available}" ]]; then
echo -e "The latest version is installed. Exiting.\n"
else
echo -e "upgrade needed - downloading and will prompt to install with sudo.\n"
curl -J -L ${uri} -o ${ZOOM_DEB}
sudo dpkg --install ${ZOOM_DEB}
sudo apt install -f
fi

rm -f ${ZOOM_DEB}

 

See

https://github.com/barak/zoom-ubuntu-repo/blob/master/zoom-up

described below. It also uses curl, but it forks a process to do the download and sniffs the beginning of the downloaded data to check the version of the downloading .deb file, and if it's not an upgrade, aborts the download.

barak
Newcomer
Newcomer

I wrote a shell script that checks if the installed zoom is up to date and if not (or if it's not installed) install the latest. It uses shell tricks to initiate a download, check the version in the header as it streams in, and abort the download if it isn't newer.

 

https://github.com/barak/zoom-ubuntu-repo/blob/master/zoom-up

 

Zoom really should just put the version number in the filename of the .deb, or even better make a little repo in the proper format.

gene_wood
Newcomer
Newcomer

You can use the APT::Update::Pre-Invoke feature in apt.conf to instruct apt to check for an updated Zoom .deb file and fetch it if needed.

To enable this approach, copy paste the code below into a file and run it once. The code will

  • Create a new /usr/local/zoom-deb-files directory to contain the Zoom .deb file and the APT repo files (Packages and Release)
  • Create the new /etc/apt/apt.conf.d/99update_zoom file. This file instructs apt to check for a newer file hosted on Zoom's CDN, each time you run apt update, and if one is present, download it and rebuild the local APT repo.
  • Create the /etc/apt/sources.list.d/local-zoom.list file to instruct apt to use this new local APT repo
#!/usr/bin/env bash

# Based on https://askubuntu.com/a/1316231/14601

url=https://zoom.us/client/latest/zoom_amd64.deb
debdir=/usr/local/zoom-deb-files
aptconf=/etc/apt/apt.conf.d/99update_zoom
sourcelist=/etc/apt/sources.list.d/local-zoom.list

sudo mkdir -p $debdir
# --timestamping only fetches the file if the last-modified HTTP header in the
#   response is newer than the last modified time of the local file
# --no-if-modified-since tells wget to send a HEAD request to determine if
#   there's a new file or not before sending a GET request
# The grep prevents running apt-ftparchive if no new file was downloaded
echo 'APT::Update::Pre-Invoke ' \
'{"cd '$debdir' ' \
'&& wget --timestamping --no-if-modified-since '$url' 2>&1 ' \
'| ( grep --quiet ' "'Server file no newer than local file'" ' && exit 1 || exit 0 ) ' \
'&& apt-ftparchive packages . > Packages ' \
'&& apt-ftparchive release . > Release ' \
'|| true";};' | sudo tee $aptconf
echo 'deb [trusted=yes lang=none] file:'$debdir' ./' | sudo tee $sourcelist

Once this is done, you can run this to install Zoom

sudo apt update
sudo apt install zoom