diff --git a/dist/setup/index.js b/dist/setup/index.js
index 7d58fa84..a648f701 100644
--- a/dist/setup/index.js
+++ b/dist/setup/index.js
@@ -65919,9 +65919,9 @@ class PipCache extends cache_distributor_1.default {
             let primaryKey = '';
             let restoreKey = '';
             if (utils_1.IS_LINUX) {
-                const osRelease = yield utils_1.getLinuxOSReleaseInfo();
-                primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osRelease}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
-                restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osRelease}-python-${this.pythonVersion}-${this.packageManager}`;
+                const osInfo = yield utils_1.getLinuxInfo();
+                primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
+                restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`;
             }
             else {
                 primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
@@ -66379,7 +66379,7 @@ function useCpythonVersion(version, architecture, updateEnvironment, checkLatest
         if (!installDir) {
             const osInfo = yield utils_1.getOSInfo();
             throw new Error([
-                `The version '${version}' with architecture '${architecture}' was not found for ${osInfo ? osInfo : 'this operating system'}.`,
+                `The version '${version}' with architecture '${architecture}' was not found for ${osInfo ? `${osInfo.osName} ${osInfo.osVersion}` : 'this operating system'}.`,
                 `The list of all available versions can be found here: ${installer.MANIFEST_URL}`
             ].join(os.EOL));
         }
@@ -66952,7 +66952,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
 };
 Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.getOSInfo = exports.logWarning = exports.getLinuxOSReleaseInfo = exports.isCacheFeatureAvailable = exports.isGhes = exports.validatePythonVersionFormatForPyPy = exports.writeExactPyPyVersionFile = exports.readExactPyPyVersionFile = exports.getPyPyVersionFromPath = exports.isNightlyKeyword = exports.validateVersion = exports.createSymlinkInFolder = exports.WINDOWS_PLATFORMS = exports.WINDOWS_ARCHS = exports.IS_MAC = exports.IS_LINUX = exports.IS_WINDOWS = void 0;
+exports.getOSInfo = exports.getLinuxInfo = exports.logWarning = exports.isCacheFeatureAvailable = exports.isGhes = exports.validatePythonVersionFormatForPyPy = exports.writeExactPyPyVersionFile = exports.readExactPyPyVersionFile = exports.getPyPyVersionFromPath = exports.isNightlyKeyword = exports.validateVersion = exports.createSymlinkInFolder = exports.WINDOWS_PLATFORMS = exports.WINDOWS_ARCHS = exports.IS_MAC = exports.IS_LINUX = exports.IS_WINDOWS = void 0;
 const cache = __importStar(__nccwpck_require__(7799));
 const core = __importStar(__nccwpck_require__(2186));
 const fs_1 = __importDefault(__nccwpck_require__(7147));
@@ -67043,17 +67043,6 @@ function isCacheFeatureAvailable() {
     return true;
 }
 exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
-function getLinuxOSReleaseInfo() {
-    return __awaiter(this, void 0, void 0, function* () {
-        const { stdout, stderr, exitCode } = yield exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], {
-            silent: true
-        });
-        const [osRelease, osVersion] = stdout.trim().split('\n');
-        core.debug(`OS Release: ${osRelease}, Version: ${osVersion}`);
-        return `${osVersion}-${osRelease}`;
-    });
-}
-exports.getLinuxOSReleaseInfo = getLinuxOSReleaseInfo;
 function logWarning(message) {
     const warningPrefix = '[warning]';
     core.info(`${warningPrefix}${message}`);
@@ -67065,7 +67054,7 @@ function getWindowsInfo() {
             silent: true
         });
         const windowsVersion = stdout.trim().split(' ')[3];
-        return `Windows ${windowsVersion}`;
+        return { osName: "Windows", osVersion: windowsVersion };
     });
 }
 function getMacOSInfo() {
@@ -67074,7 +67063,7 @@ function getMacOSInfo() {
             silent: true
         });
         const macOSVersion = stdout.trim();
-        return `macOS ${macOSVersion}`;
+        return { osName: "macOS", osVersion: macOSVersion };
     });
 }
 function getLinuxInfo() {
@@ -67083,9 +67072,11 @@ function getLinuxInfo() {
             silent: true
         });
         const [osName, osVersion] = stdout.trim().split('\n');
-        return `${osName} ${osVersion}`;
+        core.debug(`OS Name: ${osName}, Version: ${osVersion}`);
+        return { osName: osName, osVersion: osVersion };
     });
 }
+exports.getLinuxInfo = getLinuxInfo;
 function getOSInfo() {
     return __awaiter(this, void 0, void 0, function* () {
         let osInfo;
diff --git a/src/cache-distributions/pip-cache.ts b/src/cache-distributions/pip-cache.ts
index 460b097c..25b29c66 100644
--- a/src/cache-distributions/pip-cache.ts
+++ b/src/cache-distributions/pip-cache.ts
@@ -7,7 +7,7 @@ import * as path from 'path';
 import os from 'os';
 
 import CacheDistributor from './cache-distributor';
-import {getLinuxOSReleaseInfo, IS_LINUX, IS_WINDOWS} from '../utils';
+import {getLinuxInfo, IS_LINUX, IS_WINDOWS} from '../utils';
 
 class PipCache extends CacheDistributor {
   constructor(
@@ -61,9 +61,9 @@ class PipCache extends CacheDistributor {
     let restoreKey = '';
 
     if (IS_LINUX) {
-      const osRelease = await getLinuxOSReleaseInfo();
-      primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osRelease}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
-      restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osRelease}-python-${this.pythonVersion}-${this.packageManager}`;
+      const osInfo = await getLinuxInfo();
+      primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
+      restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`;
     } else {
       primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`;
       restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}`;
diff --git a/src/find-python.ts b/src/find-python.ts
index 5f506960..c156d2ab 100644
--- a/src/find-python.ts
+++ b/src/find-python.ts
@@ -89,7 +89,9 @@ export async function useCpythonVersion(
     throw new Error(
       [
         `The version '${version}' with architecture '${architecture}' was not found for ${
-          osInfo ? osInfo : 'this operating system'
+          osInfo
+            ? `${osInfo.osName} ${osInfo.osVersion}`
+            : 'this operating system'
         }.`,
         `The list of all available versions can be found here: ${installer.MANIFEST_URL}`
       ].join(os.EOL)
diff --git a/src/utils.ts b/src/utils.ts
index e5230904..37059cb6 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -122,22 +122,6 @@ export function isCacheFeatureAvailable(): boolean {
   return true;
 }
 
-export async function getLinuxOSReleaseInfo() {
-  const {stdout, stderr, exitCode} = await exec.getExecOutput(
-    'lsb_release',
-    ['-i', '-r', '-s'],
-    {
-      silent: true
-    }
-  );
-
-  const [osRelease, osVersion] = stdout.trim().split('\n');
-
-  core.debug(`OS Release: ${osRelease}, Version: ${osVersion}`);
-
-  return `${osVersion}-${osRelease}`;
-}
-
 export function logWarning(message: string): void {
   const warningPrefix = '[warning]';
   core.info(`${warningPrefix}${message}`);
@@ -154,7 +138,7 @@ async function getWindowsInfo() {
 
   const windowsVersion = stdout.trim().split(' ')[3];
 
-  return `Windows ${windowsVersion}`;
+  return {osName: 'Windows', osVersion: windowsVersion};
 }
 
 async function getMacOSInfo() {
@@ -164,17 +148,19 @@ async function getMacOSInfo() {
 
   const macOSVersion = stdout.trim();
 
-  return `macOS ${macOSVersion}`;
+  return {osName: 'macOS', osVersion: macOSVersion};
 }
 
-async function getLinuxInfo() {
+export async function getLinuxInfo() {
   const {stdout} = await exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], {
     silent: true
   });
 
   const [osName, osVersion] = stdout.trim().split('\n');
 
-  return `${osName} ${osVersion}`;
+  core.debug(`OS Name: ${osName}, Version: ${osVersion}`);
+
+  return {osName: osName, osVersion: osVersion};
 }
 
 export async function getOSInfo() {