lunes, 26 de enero de 2015

Usando "Features on Demand" para desinstalar archivos binarios de Windows 2012


Cuando agregábamos un rol (o mejor dicho un servicio) en Windows 2003, en la mayor parte de los casos necesitábamos insertar el DVD de instalación o contar con una carpeta que incluya los archivos binarios correspondientes.
A partir de Windows 2008 cuando agregamos roles o características los archivos necesarios están incluidos en la instalación básica del sistema operativo (para ser más concretos se encuentran en la carpeta %Windir%\WinSxS)
 
En una instalación Core de Windows Server no todos los binarios se encuentran instalados, con lo cual para instalar ciertos roles necesitaremos acceder a esos archivos.
En el post Convertir una instalación Core en GUI usamos la línea de comandos DISM para montar la imagen de instalación de Windows (install.wim) y disponer de ese modo de los archivos necesarios. Otra solución sería usar un recurso compartido que contenga estos archivos.

Desinstalar un rol y los binarios asociados:
En una instalación gráfica de Windows 2012 los roles y características que no están instalados permanecen en un estado deshabilitado, no están instalados pero están ocupando espacio en el disco (en %Windir%\WinSxS).
La característica Features on Demand de Windows 2012 permite quitar los archivos binarios (payload) cuando sea necesario.
De este modo se optimiza el uso de espacio en disco en el servidor y por seguridad se mantienen solamente los archivos necesarios para los roles instalados.
En nuestro escenario, el servidor está en una instalación Minimal Server Interface.
 
En la pantalla siguiente puede verse que está instalada la característica “Graphical
Management Tools and Infrastructure”
 

 
 
 
 
 
 
 
 
 
 
 
 
A continuación desinstalaremos esta característica para transformar al servidor en una instalación puramente Core.
Se puede hacer directamente desde Server Manager o mediante PowerShell
En la pantalla siguiente, mediante el comando Get-WindowsFeature, vemos el nombre exacto de la característica a desinstalar.

 
 
 
 
Usando el cmdlet Remove-WindowsFeature desinstalamos la característica “Graphical Management Tools and Infrastructure” (Server-Gui-Mgmt-Infra)

Luego de la desinstalación comprobamos el espacio disponible en disco.

 
 
 
 
 
 
 
 
 
Mediante una consulta usando Get-WindowsFeature veremos qué características han sido quitadas definitivamente de Windows (incluyendo el payload). Para ello filtramos por Estado de Instalación igual a "Removed"
En el listado obtenido no figura la característica recientemente desinstalada.

La explicación es que la característica se eliminó de la instalación de Windows pero no se eliminaron los archivos binarios correspondientes
 
Eliminar los archivos binarios
A continuación aplicaremos el concepto de Features on Demand para eliminar definitivamente los archivos relacionados con el rol desinstalado.
 
Mediante el Cmdlet Uninstall-WindowsFeature con la opción Remove quitamos completamente todos los archivos binarios de la característica y de sus características asociadas.

En las dos pantallas siguiente repetimos la consulta y vemos muchas más características en estado Remove respecto de la consulta anterior (se eliminaron los archivos binarios de Server-Gui-Mgmt-Infra y de todas las sub features asociadas)

Podemos ver resaltada la característica eliminada.

Volvemos a revisar el espacio libre del disco, vemos una importante diferencia respecto de la consulta anterior

 

No hay comentarios:

Publicar un comentario