Algo de Linux

domingo, 4 de diciembre de 2016

Paquete pkgsync 1.35-1

La última versión de pkgsync a día de hoy es la 1.35-1. No he llegado a publicar la 1.35 porque antes de terminar de hacer las modificaciones, pensé que sería interesante añadir una nueva mejora más.

Los cambios que he realizado en el paquete pkgsync son los siguientes:
  • pkgsync 1.35
    • Añado un parámetro más (-r, --remove-orphan-libs) que permite eliminar librerías huérfanas haciendo uso de la herramienta deborphan. Al ejcutar deborphan con el parámetro -r, pkgsync eliminará dichas librerías y almacenará la lista en /var/log/pkgsync/removefrommusthave.log y /etc/pkgsync/musthave.orphan.
    • Por otro lado, he modifcado el código para que se informe al usuario cuando pkgsync esté esperando a que termine apt, dpkg o sinc_puppet. Ésto es importante cuando se ejecuta pkgsync de modo manual.
  • pkgsync 1.35-1
    • Añado una nueva opción a /etc/default/pkgsync que permite al usuario elegir si quiere iniciar sinc_puppet antes de realizar la actualización de paquetes. Es importante iniciar sinc_puppet antes de actualizar paquetes para garantizar que los ficheros de pkgsync se encuentran actualizados previamente, pero también es interesante que el usuario pueda decidir si en un momento determinado le conviene no hacerlo:
      • # LAUNCH_SINC_PUPPET="no": Don't boot sinc_puppet before do pkgsync
      • # LAUNCH_SINC_PUPPET="yes": Launch sinc_puppet before do pkgsync (default option)
      • LAUNCH_SINC_PUPPET="yes"
Aquí podéis ver el fichero de configuración de pkgsync: /etc/default/pkgsync
# Defaults for pkgsync
#
# See /usr/share/doc/pkgsync/README.Debian for information about options
# of managing pkgsync.

# Ignorar ficheros de configuración musthave, mayhave o maynothave
IGNORE_MUSTHAVE="no"
IGNORE_MAYHAVE="no"
IGNORE_MAYNOTHAVE="no"

# Activar o desactivar pkgsync:
#  ENABLE="yes": activa pkgsync (opción por defecto)
#  ENABLE="no" : desactiva pkgsync
#  Si no existe la variable ENABLE o no tiene valor, es equivalente al valor 'yes'.
ENABLE="yes"

# Eliminar kernels antiguos (por defecto deja los dos últimos)
# PURGE_OLD_KERNELS="no": no elimina kernels antiguos (opción por defecto)
# PURGE_OLD_KERNELS="yes": elimina kernels antiguos
PURGE_OLD_KERNELS="no"

# Eliminar dependencias de paquetes desinstalados, purgar paquetes desinstalados y limpiar la cache
# CLEAN="no": no hacer limpieza (opción por defecto)
# CLEAN="yes": hacer limpieza
CLEAN="no"

# Eliminar librerías huérfanas
# REMOVE_ORPHAN_LIBS="no": no eliminar librerías huérfanas (opción por defecto)
# REMOVE_ORPHAN_LIBS="yes": eliminar librerías huérfanas
REMOVE_ORPHAN_LIBS="no"

# Iniciar sinc_puppet antes de lanzar pkgsync para garantizar que los ficheros de pkgsync
# se encuentren actualizados
# LAUNCH_SINC_PUPPET="no": no iniciar sinc_puppet antes de hacer pkgsync
# LAUNCH_SINC_PUPPET="yes": iniciar sinc_puppet antes de hacer pkgsync (opción por defecto)
LAUNCH_SINC_PUPPET="yes"

Aquí podéis ver el código completo de pkgsync:

Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 30 de noviembre de 2016

Paquete linex-ubuntu-puppet 2.13

Acabo de empaquetar una nueva versión de linex-ubuntu-puppet, concretamente la 2.13 a la que he realizado las siguientes modificaciones:
  • He añadido un parámetro -r que permite regenerar el uiid y como consecuencia el certificado del cliente.
  • He añadido una opción -v para mostrar versión del script sinc_puppet.
  • He añadido una opción -h para mostrar la ayuda del script sinc_puppet.

# sinc_puppet -h
sinc_puppet 2.13
Automated sinc puppet client

Usage: /usr/sbin/sinc_puppet [OPTIONS]
Recognized options:
  -h              display this help and exit
  -v              display sinc_puppet version and exit
  -f              force sinc_puppet on SPLAYLIMIT
  -f now          force sinc_puppet now
  -r              renew cert client

Comentar tan sólo dos cosas:
  • now es una opción del parámetro -f. Por lo tanto, si lo utilizamos, debe ir a continuación de -f.
  • Es posible combinar las opciones -f y -r. Ejemplos:
# sinc_puppet -f now -r
# sinc_puppet -r -f now


Publicado por primera vez en http://enavas.blogspot.com.es

martes, 29 de noviembre de 2016

Paquete linex-ubuntu-puppet 2.12-3

He modificado el paquete linex-ubuntu-puppet forzar el reemplazo del fichero /etc/puppet/puppet.conf por un link que apunta a /usr/share/linex-ubuntu-puppet/puppet.conf. Parece que algunas máquinas tenían el fichero en lugar del enlace.

Publicado por primera vez en http://enavas.blogspot.com.es

Configuración BIOS portátiles HP x360

Como estoy volviendo a clonar los portátiles HP x360, y tengo que tocar algún ajuste en la BIOS, aprovecho para realizarles las siguientes configuraciones:
  • Establecer contraseña de acceso a la configuración.
  • Activar tecnología de virtualización.
  • En "Opciones de arranque" activo la "Compatiblidad heredada" para disponer de opciones de arranque "NO UEFI".
Como en todos los equipos HP:
  • El acceso a la configuración BIOS se realiza con F10.
  • El acceso a las opciones de arranque, con F9.

Publicado por primera vez en http://enavas.blogspot.com.es

lunes, 28 de noviembre de 2016

Última versión del script sinc_puppet

Aquí tenéis el código de la última versión del script sinc_puppet, por si queréis echarle un vistazo. Como ya comenté en un post anterior, en el paquete linex-ubuntu-puppet 2.12-2 tan sólo he añadido una versión rectificada de la función solveapterrors en la que se diferencian los diferentes tipos de errores de apt para actuar en consecuencia:
/usr/share/linex-ubuntu-puppet/sinc_puppet
Y el fichero de configuración:
/etc/default/sincpuppet
Publicado por primera vez en http://enavas.blogspot.com.es

Script actualiza_proxmox: Instalar una versión actualizada de proxmox

En un post de enero de este año, os explicaba cómo solucionar el error de instalación de proxmox-ve. Para automatizar las actualizaciones de proxmox, utilizo un pequeño script. Aquí tenéis el código, por si queréis echarle un vistazo:
/usr/local/sbin/actualiza_proxmox
Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 23 de noviembre de 2016

GPO: No mostrar el útimo usuario que hizo login en Windows

Por defecto, Windows muestra el nombre del usuario que inició sesión en el dominio. Para cambiar este comportamiento, podemos hacerlo vía objeto de directiva de grupo (GPO).

Como ya he comentado en un post anterior, utilizo Zentyal como controlador de dominio. Así que, para modificar las políticas, primero me conecto a la máquina Windows que tiene instaladas las herramientas administrativas.

Una vez conectado abro la consola de gestión de políticas de grupo gpmc.msc.

A continuación, edito la directiva POLITICAS_IES que creé en el post anterior.

Y hago clic en las siguientes opciones:
Configuración del Equipo -> Configuración de Windows -> Configuración de Seguridad -> Directivas Locales -> Opciones de Seguridad.

Por último, editamos la opción que dice "Inicio de sesión interactivo: no mostrar el último nombre de usuario", marcamos la casilla que dice "Definir esta configuración de directiva" y marcamos la opción "Habilitada".

Publicado por primera vez en http://enavas.blogspot.com.es

Crear una nueva GPO para nuestro dominio y deshabilitar la "Default Domain Policy"

Vamos a crear una GPO para nuestro dominio (instituto.extremadura.es) y deshabilitar la "Default Domain Policy". De este modo, aplicaremos nuestras políticas sobre todo el dominio usando la GPO creada y guardaremos la "Default Domain Policy" como una alternativa a utilizar en caso de que se produzca un fallo en el dominio.

Para ello, primero seleccionamos nuestro dominio, en este caso, instituto.extremadura.es:

Una vez seleccionado, pulsamos con el botón derecho sobre él y seleccionamos la opción "Crear un GPO en este dominio y vincularlo aquí" en el menú de contexto que nos aparece:


Escribimos un nombre para nuestro nuevo GPO (por ejemplo, POLITICAS_IES):


Seleccionamos con el botón derecho sobre el nuevo GPO (POLITICAS_IES) y habilitamos la opción "Exigido". La opción "Vínculo habilitado" se encontrará activada por defecto.

Seleccionamos con el botón derecho sobre el GPO "Default Domain Policy" y deshabilitamos la opción "Vínculo habilitado".

Una vez realizados estos cambios, los dos GPO deben quedaros así:


Si ahora hacemos doble clic sobre la directiva "POLITICAS_IES", veremos que podemos crear:

  • Directivas y Preferencias para Equipos.
  • Directivas y Preferencias para Usuarios.



Publicado por primera vez en http://enavas.blogspot.com.es

Instalar RSAT en Windows 10 para gestionar nuestro controlador de dominio

Para gestionar la instalación Windows de los Infolab monté un controlador de dominio Zentyal virtualizado en Proxmox.

Este controlador de dominio me permite gestionar el acceso de cada usuario a la instalación Windows de los Infolab de manera que cada usuario pueda hacer login con su usuario y su password. Y, por otro lado, me va a permitir establecer políticas de grupo para las máquinas del dominio.

La cuestión es que Zentyal implementa el controlador de dominio mediante Samba4. Esto significa que si queremos administrar nuestro controlador de dominio, deberemos instalar RSAT en una máquina Windows que se encuentre agregada al dominio. 

Las Herramientas de administración remota del servidor (RSAT: Remote Server Administration Tools) nos permiten administrar nuestro controlador de dominio Windows desde un equipo remoto que ejecuta Windows.

Para facilitar mi trabajo y, teniendo en cuenta que el Windows que viene preinstalado en mi máquina sólo lo utilizo para ejecutar las herramientas administrativas, he considerado que lo más conveniente era virtualizarlo y arrancarlo solamente cuando lo necesite.

En este post, vamos a ver cómo instalar RSAT en el equipo Windows virtualizado.

Para empezar, descargamos las herramientas de administración remota del servidor desde la web de Microsoft:


Como el sistema operativo instalado es de 64 bits, descargo la versión de 64 bits:


Comienza el proceso de descarga...


Una vez descargado, ejecutamos el instalador y comenzará el proceso de instalación:


Nos pedirá que aceptemos el acuerdo de licencia:


Lo aceptamos y comienza a instalarlo:






Cuando termine, tendremos que reiniciar el equipo para completar la instalación:



Una vez reiniciado, ya podemos utilizar cualquiera de las herramientas administrativas:



También podemos abrirlas desde el menú de inicio, escribiendo el nombre de la herramienta. Por ejemplo, si queremos abrir la consola del gestor de políticas de grupo (gpmc.msc):



Publicado por primera vez en http://enavas.blogspot.com.es

martes, 22 de noviembre de 2016

Instalar tema Numix e iconos Numix-Circle y configurarlo para todos los usuarios en Xubuntu 14.04

Es fácil instalar este tema en Ubuntu:
# add-apt-repository ppa:numix/ppa
# apt-get update
# apt-get install numix-gtk-theme numix-icon-theme-circle
Una vez instalado, también es sencillo configurarlo por defecto para todos los usuarios. Tan sólo hay que tener en cuenta que en Xubuntu hay que colocar el fichero xsettings.xml en /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml en lugar de situarlo en /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml

A continuación podéis ver el fichero xsettings.xml con los ajustes del tema por defecto que tienen nuestros equipos:
/etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
<?xml version="1.0" encoding="UTF-8"?>

<channel name="xsettings" version="1.0">
  <property name="Net" type="empty">
    <property name="ThemeName" type="string" value="Greybird"/>
    <property name="IconThemeName" type="string" value="elementary-xfce-darker"/>
  </property>
  <property name="Xft" type="empty">
    <property name="DPI" type="int" value="96"/>
    <property name="Antialias" type="int" value="1"/>
    <property name="Hinting" type="int" value="1"/>
    <property name="HintStyle" type="string" value="hintslight"/>
    <property name="RGBA" type="string" value="rgb"/>
    <property name="Lcdfilter" type="string" value="lcddefault"/>
  </property>
  <property name="Gtk" type="empty">
    <property name="CursorThemeName" type="string" value="Human"/>
    <property name="CursorThemeSize" type="int" value="24"/>
    <property name="FontName" type="string" value="Droid Sans 10"/>
  </property>
</channel>
Y aquí podéis ver un  fichero xsettings.xml con los ajustes modificados. Como podéis observar:
  • Para cambiar el tema, tenemos que modificar la propiedad ThemeName.
  • Y para cambiar los iconos, modificamos la propiedad IconThemeName.
/etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
<!--
  Default values for the X settings registry as described in
  http://www.freedesktop.org/wiki/Specifications/XSettingsRegistry
-->

<?xml version="1.0" encoding="UTF-8"?>
<channel name="xsettings" version="1.0">
  <property name="Net" type="empty">
    <property name="ThemeName" type="string" value="Numix"/>
    <property name="IconThemeName" type="string" value="Numix-Circle"/>
    <property name="DoubleClickTime" type="int" value="250"/>
    <property name="DoubleClickDistance" type="int" value="5"/>
    <property name="DndDragThreshold" type="int" value="8"/>
    <property name="CursorBlink" type="bool" value="true"/>
    <property name="CursorBlinkTime" type="int" value="1200"/>
    <property name="SoundThemeName" type="string" value="default"/>
    <property name="EnableEventSounds" type="bool" value="false"/>
    <property name="EnableInputFeedbackSounds" type="bool" value="false"/>
  </property>
  <property name="Xft" type="empty">
    <property name="DPI" type="empty"/>
    <property name="Antialias" type="empty"/>
    <property name="Hinting" type="empty"/>
    <property name="HintStyle" type="empty"/>
    <property name="RGBA" type="empty"/>
    <property name="Lcdfilter" type="empty"/>
  </property>
  <property name="Gtk" type="empty">
    <property name="CanChangeAccels" type="empty"/>
    <property name="ColorPalette" type="empty"/>
    <property name="FontName" type="string" value="Sans 10"/>
    <property name="IconSizes" type="empty"/>
    <property name="KeyThemeName" type="empty"/>
    <property name="ToolbarStyle" type="empty"/>
    <property name="ToolbarIconSize" type="empty"/>
    <property name="MenuImages" type="empty"/>
    <property name="ButtonImages" type="empty"/>
    <property name="MenuBarAccel" type="empty"/>
    <property name="CursorThemeName" type="empty"/>
    <property name="CursorThemeSize" type="empty"/>
    <property name="IMPreeditStyle" type="empty"/>
    <property name="IMStatusStyle" type="empty"/>
    <property name="IMModule" type="empty"/>
  </property>
</channel>
Publicado por primera vez en http://enavas.blogspot.com.es