A software patch is an update to an existing software program that is inserted into the code as a temporary fix before the next full release of the program. Patches can fix bugs in the software that are discovered after the product has shipped. Patches can also be used to address new security vulnerabilities, or fix stability or interoperability problems that are found after the product is in use. With server software and operating systems, patches are often required to fix security holes, or address issues with drivers. When several patches have been released, the vendor may issue them as a collection called a service pack.
Earlier patches had to be installed manually, but automatic updates have simplified the processes dramatically. Operating systems often provide automatic, or semi-automatic updating functions, but many corporate computing environments do not embrace complete automation because system administrators may fear loss of control to the vendors, or may want to verify the stability of a patch before they apply it.
Administrators who manage enterprise Linux systems have long struggled with the difficulty of patching the Linux kernel because it requires rebooting the system. As a result, business-critical apps like artificial intelligence apps, big data analytics, Oracle databases, and in-memory database apps like SAP HANA all are unavailable while the patch is being applied. New technology has emerged to solve that problem. SUSE Linux Enterprise Live Patching lets administrators apply patches to the Linux kernel without rebooting the system, so the applications can all keep running throughout the patching process.