diff --git a/src/cloudron.js b/src/cloudron.js index ee558f784..a1538dca7 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -45,6 +45,7 @@ const apps = require('./apps.js'), safe = require('safetydance'), services = require('./services.js'), settings = require('./settings.js'), + system = require('./system.js'), tasks = require('./tasks.js'), timers = require('timers/promises'), translation = require('./translation.js'), @@ -139,9 +140,7 @@ async function getStatus() { } async function getConfig() { - const release = safe.fs.readFileSync('/etc/lsb-release', 'utf-8'); - if (release === null) throw new BoxError(BoxError.FS_ERROR, safe.error.message); - const ubuntuVersion = release.match(/DISTRIB_DESCRIPTION="(.*)"/)[1]; + const ubuntuVersion = await system.getUbuntuVersion(); const profileConfig = await users.getProfileConfig(); const { fqdn:adminFqdn, domain:adminDomain } = await dashboard.getLocation(); diff --git a/src/system.js b/src/system.js index 67c2b239e..3cc9763e4 100644 --- a/src/system.js +++ b/src/system.js @@ -3,6 +3,7 @@ exports = module.exports = { reboot, isRebootRequired, + getUbuntuVersion, getDisks, getSwaps, checkDiskSpace, @@ -327,6 +328,12 @@ async function checkRebootRequired() { } } +async function getUbuntuVersion() { + const release = safe.fs.readFileSync('/etc/lsb-release', 'utf-8'); + if (release === null) throw new BoxError(BoxError.FS_ERROR, safe.error.message); + return release.match(/DISTRIB_DESCRIPTION="(.*)"/)[1]; +} + async function checkUbuntuVersion() { const isXenial = fs.readFileSync('/etc/lsb-release', 'utf-8').includes('16.04'); if (!isXenial) return;