diff --git a/test/borg.bats b/test/borg.bats
index 0a454acd0800b66fa2a0b346738c85fb01e22ab1..10fc7e236fd186224fafafca48308c2ea1724996 100644
--- a/test/borg.bats
+++ b/test/borg.bats
@@ -1,7 +1,7 @@
 load common
 
 begin_borg() {
-    apt-get -qq install debootstrap borgbackup
+    install_pkgs debootstrap borgbackup
     if [ ! -d "$BN_SRCDIR" ]; then
         debootstrap --variant=minbase testing "$BN_SRCDIR"
     fi
diff --git a/test/common.bash b/test/common.bash
index 45c193f945515b7c6da7b9fc69776c20f903b19c..7280180788c6a213df21dc89f635256bf16bc469 100644
--- a/test/common.bash
+++ b/test/common.bash
@@ -241,3 +241,7 @@ makegpgkeys() {
     BN_SIGNKEY=$(gpg --keyid-format long -k sign@bntest0 | sed -n '2p' | grep -o '\S\+')
     export BN_SIGNKEY
 }
+
+install_pkgs() {
+    TMPDIR=/tmp DEBIAN_FRONTEND=noninteractive apt-get -qq install $@
+}
diff --git a/test/dup.bats b/test/dup.bats
index 71ce4f597f0c0494734ef8ecad3ab3f480d77d24..81367095bcdadeb641389e33c2457785fffd6755 100644
--- a/test/dup.bats
+++ b/test/dup.bats
@@ -1,7 +1,7 @@
 load common
 
 begin_dup() {
-    apt-get -qq install debootstrap duplicity trickle
+    install_pkgs debootstrap duplicity trickle
     if [ ! -d /var/cache/bntest ]; then
         debootstrap --variant=minbase testing "$BN_SRCDIR"
     fi
diff --git a/test/mysql.bats b/test/mysql.bats
index 205a94fd52f0814130b3840eb30ce4fca5b23da8..ca73656c294074a0824fda93e86289af763b29e2 100644
--- a/test/mysql.bats
+++ b/test/mysql.bats
@@ -1,7 +1,7 @@
 load common
 
 begin_mysql() {
-    apt-get -qq install default-mysql-server
+    install_pkgs install default-mysql-server
     systemctl is-active mysql || systemctl start mysql
     zcat "${BATS_TEST_DIRNAME}/samples/bntest_p8Cz8k.sql.gz" | mysql --defaults-file=/etc/mysql/debian.cnf
     zcat "${BATS_TEST_DIRNAME}/samples/bntest_v11vJj.sql.gz" | mysql --defaults-file=/etc/mysql/debian.cnf
diff --git a/test/pgsql.bats b/test/pgsql.bats
index 163fe8c5aa36dcbfaaf9294112f54009ee162b1d..3f995d3a8b91b365ed5a85710dc5813db4569d92 100644
--- a/test/pgsql.bats
+++ b/test/pgsql.bats
@@ -1,7 +1,7 @@
 load common
 
 begin_pgsql() {
-    apt-get -qq install postgresql
+    install_pkgs postgresql
     systemctl is-active postgresql || systemctl start postgresql
     sudo -u postgres createuser --superuser root
     createdb bntest_p8Cz8k
diff --git a/test/rdiff.bats b/test/rdiff.bats
index 8a70b772a40ac042996d46b4fdcf56c381ac68e2..8f5a4500905646347f8f062386ea714de610424b 100644
--- a/test/rdiff.bats
+++ b/test/rdiff.bats
@@ -1,7 +1,7 @@
 load common
 
 begin_rdiff() {
-    apt-get -qq install debootstrap rdiff-backup cstream
+    install_pkgs install debootstrap rdiff-backup cstream
     if [ ! -d /var/cache/bntest ]; then
         debootstrap --variant=minbase testing /var/cache/bntest
     fi
diff --git a/test/rsync.bats b/test/rsync.bats
index 903518daeb49d4f8c1f953f2cf209e363966a84f..b33cf5b6f9a1476a6d3a56438619cf4a6025cbca 100644
--- a/test/rsync.bats
+++ b/test/rsync.bats
@@ -1,7 +1,7 @@
 load common
 
 begin_rsync() {
-    apt-get -qq install debootstrap rsync
+    install_pkgs debootstrap rsync
     if [ ! -d "$BN_SRCDIR" ]; then
         debootstrap --variant=minbase testing "$BN_SRCDIR"
     fi
diff --git a/test/sys.bats b/test/sys.bats
index 439fa35c3506ff971f6095b912f89643e87dd05a..7e1b67fac5753dbd75edba55bccc382f6ace5160 100644
--- a/test/sys.bats
+++ b/test/sys.bats
@@ -1,7 +1,7 @@
 load common
 
 begin_sys() {
-    apt-get -qq install debconf-utils hwinfo lvm2 cryptsetup-bin parted
+    install_pkgs debconf-utils hwinfo lvm2 cryptsetup-bin parted
 
     cat << EOF > "${BATS_TMPDIR}/backup.d/test.sys"
 when = manual
diff --git a/test/tar.bats b/test/tar.bats
index a593c84ac5c014aebc8720f49a25993dd1dc29dd..084694195d85b635aab951de3c0556568c4d8bf1 100644
--- a/test/tar.bats
+++ b/test/tar.bats
@@ -1,7 +1,7 @@
 load common
 
 begin_tar() {
-    apt-get -qq install debootstrap ncompress zstd
+    install_pkgs debootstrap ncompress zstd
     if [ ! -d "$BN_SRCDIR" ]; then
         debootstrap --variant=minbase testing "$BN_SRCDIR"
     fi