Neither, as it should be placed into /etc/apt/sources.list.d/virtualmin.list file.
A repo line should look on Ubuntu 22.04 and Virtualmin 7 clean install:
deb [signed-by=/usr/share/keyrings/debian-virtualmin-7.gpg] https://software.virtualmin.com/vm/7/pro/apt virtualmin main
.. for upgrades to Ubuntu 22.04 from 20.04 or 18.04 and initially installed with Virtualmin 6:
deb [signed-by=/usr/share/keyrings/debian-virtualmin-6.gpg] https://software.virtualmin.com/vm/6/apt virtualmin-focal main
deb [signed-by=/usr/share/keyrings/debian-virtualmin-6.gpg] https://software.virtualmin.com/vm/6/apt virtualmin-universal main
But there is more to that. Do not do it manually, the easiest and cleanest way to do it is to grab Virtualmin 7 pre-release install script and use it to setup repos and exit, i.e.:
wget -O virtualmin-install-pre-release.sh https://raw.githubusercontent.com/virtualmin/virtualmin-install/d7fcb4ea35b5545417a38b7af4c4d97dbe45d591/virtualmin-install.sh
sh virtualmin-install-pre-release.sh --setup
Just to confirm and clarify, I have a bunch of Ubuntu 20.04 servers (All are using Virtualmin 7.1-1) that I am planning to upgrade to 22.04 using do-release-upgrade. After the upgrade process, should I run the following and then go ahead with re-checking the config and then using the server as usual or are there any other extra steps I should know before I start the upgrade?
wget -O virtualmin-install-pre-release.sh https://raw.githubusercontent.com/virtualmin/virtualmin-install/d7fcb4ea35b5545417a38b7af4c4d97dbe45d591/virtualmin-install.sh
sh virtualmin-install-pre-release.sh --setup
This version of virtualmin-install.sh script has been fixed and should be safe to run. Although, if everything upgrades correctly it’s safe to leave Virtualmin repos as is.
How does your /etc/apt/sources.list.d/virtualmin.list file look like at the moment?
On the server that I’ve upgraded to 22.04 (Vmin: 7.1-1 | Wmin: 1.999), the above file has the following two lines after I ran the pre-release setup:
deb [signed-by=/usr/share/keyrings/debian-virtualmin-6.gpg] https://software.virtualmin.com/vm/6/gpl/apt virtualmin-focal main
deb [signed-by=/usr/share/keyrings/debian-virtualmin-6.gpg] https://software.virtualmin.com/vm/6/gpl/apt virtualmin-universal main
The only problem I came across (before and after running the pre-release setup) is when I run apt update and apt upgrade which returns the following error(s):
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
4 not fully installed or removed.
[master a9a3514] saving uncommitted changes in /etc prior to apt run
20 files changed, 654 insertions(+), 4 deletions(-)
create mode 100644 letsencrypt/csr/0191_csr-certbot.pem
create mode 100644 letsencrypt/csr/0192_csr-certbot.pem
create mode 100644 letsencrypt/csr/0193_csr-certbot.pem
create mode 100644 letsencrypt/csr/0194_csr-certbot.pem
create mode 100644 letsencrypt/csr/0195_csr-certbot.pem
create mode 100644 letsencrypt/csr/0196_csr-certbot.pem
create mode 100644 letsencrypt/csr/0197_csr-certbot.pem
create mode 100644 letsencrypt/csr/0198_csr-certbot.pem
create mode 100644 letsencrypt/keys/0191_key-certbot.pem
create mode 100644 letsencrypt/keys/0192_key-certbot.pem
create mode 100644 letsencrypt/keys/0193_key-certbot.pem
create mode 100644 letsencrypt/keys/0194_key-certbot.pem
create mode 100644 letsencrypt/keys/0195_key-certbot.pem
create mode 100644 letsencrypt/keys/0196_key-certbot.pem
create mode 100644 letsencrypt/keys/0197_key-certbot.pem
create mode 100644 letsencrypt/keys/0198_key-certbot.pem
After this operation, 0 B of additional disk space will be used.
Setting up proftpd-core (1.3.7c+dfsg-1build1) ...
usermod: no changes
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Synchronizing state of proftpd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable proftpd
Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 142.
dpkg: error processing package proftpd-core (--configure):
installed proftpd-core package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of proftpd-mod-crypto:
proftpd-mod-crypto depends on proftpd-core (= 1.3.7c+dfsg-1build1); however:
Package proftpd-core is not configured yet.
dpkg: error processing package proftpd-mod-crypto (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of proftpd-mod-wrap:
proftpd-mod-wrap depends on proftpd-core (= 1.3.7c+dfsg-1build1); however:
Package proftpd-core is not configured yet.
dpkg: error processing package proftpd-mod-wrap (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of proftpd-basic:
proftpd-basic depends on proftpd-core; however:
Package proftpd-core is not configured yet.
proftpd-basic depends on proftpd-mod-wrap; however:
Package proftpd-mod-wrap is not configured yet.
proftpd-basic depends on proftpd-mod-crypto; however:
Package proftpd-mod-crypto is not configured yet.
dpkg: error processing package proftpd-basic (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
proftpd-core
proftpd-mod-crypto
proftpd-mod-wrap
proftpd-basic
E: Sub-process /usr/bin/dpkg returned an error code (1)
It seems like proftpd has some dependency issues after upgrading Ubuntu from 20.04 to 22.04.
I didn’t get any errors during the upgrade process but the following command:
Returns the following:
Setting up proftpd-core (1.3.7c+dfsg-1build1) ...
usermod: no changes
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
Synchronizing state of proftpd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable proftpd
Could not execute systemctl: at /bin/deb-systemd-invoke line 142.
dpkg: error processing package proftpd-core (--configure):
installed proftpd-core package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of proftpd-mod-crypto:
proftpd-mod-crypto depends on proftpd-core (= 1.3.7c+dfsg-1build1); however:
Package proftpd-core is not configured yet.
dpkg: error processing package proftpd-mod-crypto (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of proftpd-mod-wrap:
proftpd-mod-wrap depends on proftpd-core (= 1.3.7c+dfsg-1build1); however:
Package proftpd-core is not configured yet.
dpkg: error processing package proftpd-mod-wrap (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of proftpd-basic:
proftpd-basic depends on proftpd-core; however:
Package proftpd-core is not configured yet.
proftpd-basic depends on proftpd-mod-wrap; however:
Package proftpd-mod-wrap is not configured yet.
proftpd-basic depends on proftpd-mod-crypto; however:
Package proftpd-mod-crypto is not configured yet.
dpkg: error processing package proftpd-basic (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
proftpd-core
proftpd-mod-crypto
proftpd-mod-wrap
proftpd-basic
I am not sure what is wrong exactly but a solution could be is to purge all proftpd-* packages by running apt-get purge proftpd-* and then later re-install it by running apt-get install proftpd-basic command. You would have to re-configure ProFTPD for Virtualmin by running: