You need to enable JavaScript to run this website.

Chrooting zoom on linux

Introduction

Back in 2000s, Skype was a good program with linux support until Microsoft bought it. At that time Microsoft was aggressively trying to defend its monopoly by killing linux, so eventually Skype stopped supporting linux.

Since the pandemic many people use zoom so it makes sense to install it on my linux laptop. However, I do not trust zoom and its creators; I suspect that it may work as a spyware with numerous vulnerabilities allowing unauthorized access to my data.

They say, jami is an alternative to skype and zoom but even if jami is better, still everyone has to use whatever schools and corporations choose.

Below I share my experience on installing zoom on Debian. (Note that MS teams refused to start after I tried to install it using the same approach.)

Creating the sandbox

The purpose of the sandbox is to prevent unauthorized access to my files.

All my sandboxes are stored in /mnt/sandbox/:

root shell
mkdir -p /mnt/sandbox/zoom

Installing Debian Buster (somewhat obsolete, but working):

root shell
chgrp -R tmp /mnt/sandbox
chmod a+rx /mnt /mnt/sandbox
debootstrap buster /mnt/sandbox/zoom
mkdir /mnt/sandbox/zoom/home/shalaev
chown shalaev.shalaev /mnt/sandbox/zoom/home/shalaev

where in my linux configuration the group tmp prevents backups, and shalaev is my user- and group name.

Configuring schroot

Here is my zoom configuration:

/etc/schroot/schroot.conf
[zoom]
description=debian created under chroot
type=directory
directory=/mnt/sandbox/zoom
profile=buster
users=shalaev
groups=shalaev
root-groups=root
/etc/schroot/buster/copyfiles
/etc/resolv.conf
/etc/schroot/buster/fstab
/proc    /proc    none rw,bind 0 0
/sys     /sys     none rw,bind 0 0
/dev     /dev     none rw,bind 0 0
/dev/pts /dev/pts none rw,bind 0 0
/run     /run     none rw,bind 0 0
/etc/schroot/buster/nssdatabases
passwd
shadow
group
gshadow
services
protocols
networks
hosts

Installing zoom inside chroot

Assuming that we have already downloaded zoom into ~/Downloads/:

root shell
mkdir -p /mnt/sandbox/zoom/{srv/local-apt-repository,var/lib/local-apt-repository}
mv ~shalaev/Downloads/zoom_amd64.deb /mnt/sandbox/zoom/srv/local-apt-repository/
schroot -c zoom -u root --directory /

Then, inside an schroot shell, we install local-apt-repository which will allow us to treat zoom as if it was part of the Debian repository:

chroot root shell
apt-get install aptitude local-apt-repository
/usr/lib/local-apt-repository/rebuild

Now we can install zoom using aptitude or apt-get or any other package manager:

chroot root shell
aptitude update
aptitude install zoom

The last command will install all the necessary dependencies.

Note that zoom requires pulse audio. (I am annoyed by that because I do not need more functionality than ALSA provides, and pulse audio is less stable than ALSA.)

Starting the zoom session

(Note that we do not need root privileges any more.)

shell
schroot -c zoom -d ~
chroot shell
export DISPLAY=:0
zoom

Do not forget to quit zoom as well as the chroot session when you are done with it.