A computer-readable storage medium storing executable program instructions which when executed by a data processing system of a computing system cause the data processing system to perform a method comprising: prior to notifying a user of an availability of a set of updates to software: based on metadata of updates available at a remote source, determining the set of updates to software that are appropriate for the computing system, wherein metadata of the updates available includes at least a version number; downloading packages of the set of updates to software on the computing system from a remote source to the computing system in a background operation of a computing environment in the computing system, and pre-installing a plurality of the downloaded packages for the set of updates to software in a sandbox in a temporary area on a computer-readable storage device of the computing system, automatically in the background operation, wherein existing instructions and data of software are located in an area different than the temporary area; building a plurality of system caches using the plurality of packages in the temporary area on the computer-readable storage device of the computing system, each of the plurality of system caches corresponding to a predetermined combination of one or more updates in the set of updates to software, wherein each of the plurality of system caches is isolated from other system caches built in the temporary area; notifying the user of the available set of updates and waiting for user input regarding approval to complete installation of one or more of the updates; and in response to the user approving a subset of the set of updates, and the approved subset being one of the predetermined combinations of one or more updates, finding the system cache built in the temporary area that matches the subset of the set of updates to software approved by the user, and replacing a current system cache with the found system cache to commit the approved predetermined combination of one or more updates of the set of updates to software. prior to notifying a user of an availability of a set of updates to software: based on metadata of updates available at a remote source, determining the set of updates to software that are appropriate for the computing system, wherein metadata of the updates available includes at least a version number; downloading packages of the set of updates to software on the computing system from a remote source to the computing system in a background operation of a computing environment in the computing system, and pre-installing a plurality of the downloaded packages for the set of updates to software in a sandbox in a temporary area on a computer-readable storage device of the computing system, automatically in the background operation, wherein existing instructions and data of software are located in an area different than the temporary area; building a plurality of system caches using the plurality of packages in the temporary area on the computer-readable storage device of the computing system, each of the plurality of system caches corresponding to a predetermined combination of one or more updates in the set of updates to software, wherein each of the plurality of system caches is isolated from other system caches built in the temporary area; based on metadata of updates available at a remote source, determining the set of updates to software that are appropriate for the computing system, wherein metadata of the updates available includes at least a version number; downloading packages of the set of updates to software on the computing system from a remote source to the computing system in a background operation of a computing environment in the computing system, and pre-installing a plurality of the downloaded packages for the set of updates to software in a sandbox in a temporary area on a computer-readable storage device of the computing system, automatically in the background operation, wherein existing instructions and data of software are located in an area different than the temporary area; building a plurality of system caches using the plurality of packages in the temporary area on the computer-readable storage device of the computing system, each of the plurality of system caches corresponding to a predetermined combination of one or more updates in the set of updates to software, wherein each of the plurality of system caches is isolated from other system caches built in the temporary area; notifying the user of the available set of updates and waiting for user input regarding approval to complete installation of one or more of the updates; and in response to the user approving a subset of the set of updates, and the approved subset being one of the predetermined combinations of one or more updates, finding the system cache built in the temporary area that matches the subset of the set of updates to software approved by the user, and replacing a current system cache with the found system cache to commit the approved predetermined combination of one or more updates of the set of updates to software.