Planeta Sysadmin

de sysadmins para sysadmins

July 16, 2018

soyadmin.com

LIBRO: MIGRANDO A SOFTWARE LIBRE de Pablo Marinero Merino

Título: MIGRANDO A SOFTWARE LIBRE: APROVECHAMIENTO DE EQUIPOS EN AULAS PÚBLICAS
Autor: Pablo Marinero Merino
Año: 2014
Páginas: 163 páginas
Tamaño: 6 MB
Fomato: PDF

 

 

 

 

Contenido:

La educación pública debe ser accesible para todos los alumnos por igual. El único tipo de software que es capaz de cumplir este cometido es el Software Libre, debido a las libertades que ofrece a los usuarios. Este trabajo consiste en el estudio de alternativas libres frente a los programas que se usan en el Ciclo Formativo de Grado Superior Administración de Sistemas Informáticos en Red (A.S.I.R.). Con este fin, se ha estudiado el Software Libre disponible para reemplazar, desde el sistema operativo hasta los editores de texto plano, pasando por todos los programas empleados en clase durante los dos cursos de este ciclo.

Se han estructurado los programas por módulos para abordarlos de una forma ordenada. Además de estudiar las alternativas, se ha explicado cómo instalar los programas en la distribución GNU/Linux elegida, manifestando las dificultades encontradas en el proceso y el procedimiento para solventarlas.

Para finalizar se ha analizado cómo repercute económicamente el uso de software privativo en los alumnos al finalizar, y durante, sus estudios.

Las conclusiones son económicas, pero por encima de todo éticas. Sólo con valores y principios (ética, creatividad, colaboración, no discriminación, ciencia, transparencia, competitividad, privacidad, solidaridad y libertad) nace la necesidad de realizar esfuerzos que de otra manera parecen innecesarios.

by Mauro at July 16, 2018 08:57 PM

¿Qué hace y cómo se usa el Comando DMESG? (para verificar errores)

Segun la Wikipedia “dmesg (diagnostic message, mensajes de diagnóstico) es un comando presente en los sistemas operativos Unix que lista el buffer de mensajes del núcleo. Este buffer contiene una gran variedad de mensajes importantes generados durante el arranque del sistema y durante la depuración de aplicaciones.”

Traduciendo un poco esto, con dmesg podemos obtener (usando nuestra terminal) la información de arranque nuestro sistema entre otros datos, mensajes del nucleo (kernel) y utilizar esta información para detectar posibles errores de nuestro sistema y del Hardware.

DMESG viene preinstalado en casi cualquier distro, por lo que no es necesario instalar nada.

¿COMO SE USA?

# dmesh | less
Created with GIMP

Acá vemos que nos muestra toda la información, sin discriminar lo que nos puede dificultar un poco la identificación de errores o posibles problemas, por suerte podemos filtrar el detalle para que nos muestre los posibles fallos o warnings del sistema.

Los filtros los identificaremos como:
emerg – el sistema no se puede usar
alert – se deben tomar medidas de inmediato
crit – condiciones críticas
err – condiciones de error
warn – condiciones de advertencia
notice – condición normal pero significativa
info – informativo
debug – mensajes a nivel de depuración

Podemos filtrar el resultado de dmesg, por ejemplo si deseamos ver las alertas y advertencias críticas:

# dmesg --level=alert,crit
Created with GIMP

Para ver errores simples y advertencias:

# dmesg --level=err,warn

Podemos buscar las referencias a dispositivos USB en los mensajes del kernel:

# dmesg | grep -i usb

Muestrar todos los puertos series (los cuales están representados por los caracteres tty):

# dmesg | grep -i tty

Mostrar datos de la memoria física (esto es, RAM):

# dmesg | grep -i memory

DMESG es una herramienta muy útil, más cuando nos es necesario identificar problemas a nivel hardware los cuales en algunos casos son muy dificiles de detectar e impactan directamente en la performance de nuestra PC o SERVIDOR.

by Mauro at July 16, 2018 03:48 PM

July 14, 2018

RooTeando

Tomando Un Café 37: Alternativas muy potentes a la Raspberry Pi

En este audio sigo con la serie sobre alternativa a la Raspberry, aunque en esta ocasión me he enfocado a placas con una potencia alta, que no son comparable a Raspberry. 
En el audio describo una serie de placas ARM y x86 (Intel y AMD) que destacan por su potencia y su alto precio, pero que permiten conocer una universo muy amplio que existe dentro de la arquitectura ARM.

La lista esta compuesta por ...

July 14, 2018 05:17 PM

July 13, 2018

soyadmin.com

¿Cómo cambiar el tamaño de la Partición TMP?

La partición TMP o /tmp es la encargada de recolectar y almacenar todos los archivos temporales del servidor, procesos que quedan en segundo plano realizando alguna tarea, etc.

Cuando esta partición se llena, por ejemplo al trabajar con archivos.tar.gz sin descomprimirlos, varios servicios empiezan a funcionar mal, uno de ellos Mysql directamente deja de andar.

En este caso es necesario ampliar el espacio asignado a dicha partición, y lo haremos de la siguiente forma:

1) Editar el archivo “securetmp”

# vi /scripts/securetmp
Buscamos la linea:
my $tmpdsksize = 2048000; # Must be larger than 250000

Aqui podemos cambiar el espacio asignado, vemos que en este caso posee 2GB.

2) Apagamos los servicios más importantes:

# service mysql stop
# service httpd stop
Tambien es necesario cerrar o terminar todos los procesos tailwatch

# pstree -p | grep tailwatchd
Aqui veremos los procesos activos

|-tailwatchd(4755)
Con un kill los matamos:
# kill -9 4755

3) Desmontamos /var/tmp

# unmount /var/tmp
Y verificamos que ningún usuario este usando la carpeta tmp
# fuser -cu /tmp
Aqui si sale algun user con kill lo matamos como lo hicimos en el paso anterior.

 

4) Hacemos el proceso de ampliación en si:

# umount /tmp
# rm -rf /usr/tmpDSK
# /scripts/securetmp --auto

Se reinicia el server y listo, la partición quedará con el espacio que asignamos en el punto 1º

by Mauro at July 13, 2018 12:49 PM

July 12, 2018

soyadmin.com

Lollypop un atractivo y moderno Reproductor de Audio para Linux

Seguramente cada uno tiene tu reproductor preferido, pero siempre es bueno probar nuevas alternativas, más cuando son MUY BUENAS alternativas.

Lollypop es un reproductor de audio con un diseño moderno, es muy rápido y está inspirado en material desing. Dispone de dos temas uno claro y uno oscuro, lo que te permitirá elegir aquel que mejor case con tu tema de escritorio.

Es un reproductor muy fácil de usar, gratuito y funciona en casi cualquier distribución.

Lollypop organiza y explora nuestra música, álbumes y artistas. Dentro de los álbumes lista todas las canciones de dicho álbum. Nos muestra la carátula del álbum que descargará automáticamente desde Last.fm, Itunes y Spotify.

Permite crear listas de reproducción, además integra la posibilidad de escuchar estaciones de radio online siendo muy facil agregar, navegar y reproducirlas.

Admite cualquiera de los formatos de audio más comunes: mp3, mp4, ogg, flac, etc.

COMO SE INSTALA: (Ubuntu 18.04/17.10 Linux Mint 19/18/17 y derivadas)

# sudo add-apt-repository ppa:gnumdk/lollypop
# sudo apt-get update
# sudo apt-get install lollypop

Fuente: noobslab.com

by Mauro at July 12, 2018 01:38 PM

July 11, 2018

soyadmin.com

Instalando un Servidor FTP, VSFPD (Very Secure FTP Daemon) en CentOS/Red Hat

Vsftpd significa “Very Secure FTP Daemon” (Demonio FTP muy seguro), es un servidor de FTP el cual funciona bajo linux/unix, el cual tiene una estructura de seguridad lo cual lo hace ser uno de los más utilizados actualmente.
Es utilizado para la implementación de archivos a partir del protocolo FTP, es muy popular y utilizado dado que es muy sencillo y de fácil configuración.

1) Como lo instalamos:

# yum install -y vsftpd

2) Hacemos un respaldo del archivo de configuración y empezamos su edición:

# cd /etc/vsftpd
# cp vsftpd.conf vsftpd.conf.back
# vi vsftpd.conf
Aquí veremos que el fichero de configuración es muy fácil y explicativo, detallo algunas opciones a tener en cuenta:
Acceso a usuarios anónimos: anonymous_enable
Mensaje de bienvenida: ftpd_banner
Permitir escritura en el servidor (lo más frecuente será activarla): write_enable
Enjaular a los usuarios (necesario para asegurar la confidencialidad de los datos). Tres ficheros:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

3) Esas son las opciones más comunes a tener en cuenta, luego de eso crearemos el archivo chroot_list el cual tiene los usuarios que utilizarán el servicio, lo creamos y ubicamos las cuentas de usuarios asi:

usuario1
usuario2
usuario3
..
...
usuario100

4) Nos queda iniciar el servicio

# service vsftpd start

by Mauro at July 11, 2018 09:05 PM

blogofsysadmins.com

PAC Manager inicia pero no conecta por SSH

En el post anterior os expliqué como hacer funcionar PAC Manager en Ubuntu 17, en este post os doy la segunda solución cuando ya lo habeis echado a andar pero intentais conectar a cualquier servidor por SSH y se os queda colgado PAC Manager, y no conecta ni para atrás; de hecho se queda como …

by GhOsTi at July 11, 2018 10:08 AM

July 10, 2018

soyadmin.com

¿Cómo instalar Apache en Ubuntu 18.04?

Apache es un poderoso servidor web, cuyo nombre proviene de la frase inglesa “a patchy server” y es completamente libre, ya que es un software Open Source y con licencia GPL. Una de las ventajas más grandes de Apache, es que es un servidor web multiplataforma, es decir, puede trabajar con diferentes sistemas operativos y mantener su excelente rendimiento.

Desde el año 1996, es el servidor web más popular del mundo, debido a su estabilidad y seguridad. Apache sigue siendo desarrollado por la comunidad de usuarios desarrolladores que trabaja bajo la tutela de Apache Software Foundation.

Apache tiene una amplia aceptación en la red que alcanza su máxima cuota del mercado siendo el servidor empleado en el 70% de los sitios web en el mundo sin embargo a sufrido un descanso en su cuota del mercado en los últimos años.

¿Cómo lo instalamos?
Apache es una aplicación muy popular, debido a esto podemos encontrarlo en los repositorios oficiales de la mayoría de distros Linux. Su instalación es muy sencilla:

# sudo apt update
# sudo apt install apache2

Solo debemos de confirmar la instalación y se instalaran todos los paquetes necesarios para el funcionamiento de Apache en nuestro equipo.

Paso siguiente será verificar que esté correctamente instalado y en funcionamiento:

# sudo systemctl status apache2
Deberá devolver algo parecido a esto:
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)

Otra manera de verificarlo es navegando nuestra IP, en un navegador o bien el hostname de nuestro equipo.
Al navegar nuestra IP o nuestro Hostname, nos mostrará una página default de apache, como esta:

Por último dejo unos comandos básicos de Apache:
Iniciar Apache:

# sudo systemctl start apache2

Detener Apache:

# sudo systemctl stop apache2

Reiniciar Apache:

# sudo systemctl restart apache2

Fuente: ubunlog.com

by Mauro at July 10, 2018 12:34 PM

Sobre bits

PowerCLI one liners – Listar ISOs montadas y desmontarlas

Algo frecuente cuando administramos una infraestructura VMware vSphere es encontrarnos con VMs con ISOs de nuestros datastores montadas que ya no son necesarias. Este problema se vuelve aún más habitual cuando muchas manos están tocando la misma infraestructura. Si bien podemos ir VM por VM comprobando si esto pasa, es más interesante valernos de PowerCLI para listar ISOs montadas (o directamente desmontarlas) periódicamente mendiante la ejecución programada de scripts de PowerShell.

Listar ISOs montadas con PowerCLI

Get-VM | Get-CDDrive | Where-Object {$_.IsoPath -ne $null} | Select Parent,IsoPath 

Como siempre, vamos a revisar cada parte del one-liner:

  • Get-VM: Obtenemos las VMs del entorno.
  • Get-CDDrive: De cada VM pasada a través del pipe obtenemos las unidades de CD.
  • Where-Object {$_.IsoPath -ne $null}: Obtenemos las unidades de CD cuyo path de ISO no esté vacío.
  • Select Parent,IsoPath: Mostramos el nombre de la VM y el path a la ISO montada.

Si programamos la ejecución de un script de PowerShell con el contenido de este one-liner podemos obtener un reporting automatizado de las ISOs montadas en nuestro entorno.

Desmontar ISOs montadas con PowerCLI

Si queremos ir un paso más allá y no nos vale solo con reportar las ISOs tenemos la posibilidad de, también con un one-liner, desmontar de forma masiva todas las ISOs del entorno.

Aviso: Hay que ir con cuidado con la siguiente línea por si alguna VM está activamente trabajando con la ISO en cuestión, ya que podría llevar a algún tipo de corrupcion del Sistema Operativo invitado.

Get-VM | Get-CDDrive | where {$_.IsoPath -ne $null} | Set-CDDrive -NoMedia -Confirm:$False

Como podréis ver únicamente cambia la parte de después del último pipe, donde con Set-CDDrive configuramos la unidad de CD para que no utilice ninguna ISO.

Combinando estos one-liners con el envío de correo desde PowerShell y las tareas programadas podremos luchar contra el descontrol que tan fácilmente puede producirse en infraestructuras grandes de VMware vSphere.

La entrada PowerCLI one liners – Listar ISOs montadas y desmontarlas aparece primero en Sobrebits.

by Marc Meseguer at July 10, 2018 08:00 AM

July 09, 2018

blogofsysadmins.com

PAC Manager no inicia en Ubuntu 17

Buenos días amigos y amigas, si habéis instalado o actualizado a Ubuntu 17 y habéis intentando ejecutar el programa PAC Manager para la administración de servidores, VPS, etc… Os habréis topado con que el PAC Manager no inicia ni para atrás ni para delante… y si lo lanzáis desde consola os aparece un error como …

by GhOsTi at July 09, 2018 07:33 AM

July 08, 2018

roke.es

Cliente Web SSH con PHP

Hace algunos días estuve buscando un cliente web para conectar por SSH a servidores linux y encontré una solución muy buena que utilizaba node.js y que podéis encontrar aqui https://github.com/billchurch/WebSSH2

Viendo como WebSSH2 utilizaba los websockets decidí hacer lo mismo pero esta vez usando PHP en lugar de node.js. Para ello he utilizado la librería libssh2 de php la cual debéis tener activa si queréis utilizar el cliente que he creado.

Podéis encontrar el cliente y ayudarme a mejorarlo en github https://github.com/roke22/PHP-SSH2-Web-Client

A continuación os dejo un pequeño vídeo que muestra como funciona.

 

La entrada Cliente Web SSH con PHP se publicó primero en Roke.es.

by Roke at July 08, 2018 09:20 AM

July 07, 2018

soyadmin.com

Solución a: Problema de actualización de cPanel “Needed system RPMs were not installed”

Hace unos días nos topamos con unos errores en nuestro repositorio de errores de WHM, el cual nos indicaba que existía un problema al actualizar la versión de cPanel.

El error sólo se daba sobre uno de nuestro servidores donde conviven, cPanel, Cloud Linux y CentOS, por lo que me eso reducía la búsqueda a una falla entre los 3 sistemas.

Los errores que recibíamos a nuestra cuenta de correo del host, eran:

“Updating to the latest version of cPanel & WHM 11.40 did not succeed. Basic requirements for cPanel & WHM were unable to be installed. The specific failure was:
Sysup: Needed system RPMs were not installed: screen
For more information on this error, and guidance on resolving the error, please go to go.cpanel.net/sysupfailed”

“An error was detected which prevented updatenow from completing normally.
Please review the enclosed log for further details

—————————————————————————————————-

[20131221.010006] Detected version ‘11.40.0.29’ from version file.
[20131221.010006] Using mirror ‘216.38.56.98’ for host ‘httpupdate.cpanel.net’.
[20131221.010006] Target version set to ‘11.40.1.5’
[20131221.010006] Checking license
[20131221.010006] License file check complete
[20131221.010006] Checking that the RPM DB is OK…
[20131221.010006] glibc-2.5-118.el5_10.2
[20131221.010006] glibc-2.5-118.el5_10.2
[20131221.010006] OK: RPM DB is responding to queries
[20131221.010006] Testing if rpm_is_working RPM is installed
[20131221.010006] package rpm_is_working is not installed
[20131221.010006] Testing if it’s possible to install a simple RPM
[20131221.010006] Preparing… ##################################################
[20131221.010006] rpm_is_working ##################################################
[20131221.010007] Switching to version ‘11.40.1.5’ of updatenow to perform sync.
[20131221.010013] Loaded plugins: fastestmirror, rhnplugin, security
[20131221.010015] Profilename: server04.solo10.com
[20131221.010015] IP:108.59.12.143 Not licensed
[20131221.010015] There was an error communicating with CLN.
[20131221.010015] CLN support will be disabled.
[20131221.010015] Error communicating with server. The message was:
[20131221.010015]
[20131221.010015] Error Message:
[20131221.010015] Please run rhn_register as root on this client
[20131221.010015] Error Class Code: 9
[20131221.010015] Error Class Info: Invalid System Credentials.
[20131221.010015] Explanation:
[20131221.010015] An error has occurred while processing your request. If this problem
[20131221.010015] persists please enter a bug report at helpdesk.cloudlinux.com.
[20131221.010015] If you choose to submit the bug report, please be sure to include
[20131221.010015] details of what you were trying to do when this error occurred and
[20131221.010015] details on how to reproduce this problem.
[20131221.010015]
[20131221.010016] Loading mirror speeds from cached hostfile
[20131221.010017] * rpmforge: mirror.us.leaseweb.net
[20131221.010017] Excluding Packages in global exclude list
[20131221.010020] Finished
[20131221.010020] Setting up Install Process
[20131221.010021] No package screen available.
[20131221.010021] Nothing to do
[20131221.010021] Prelinking shared libraries and binaries: /usr/sbin/prelink -av -mR
[20131221.010047] E Sysup: Needed system RPMs were not installed: screen
[20131221.010047] ***** FATAL: Cannot proceed. Needed system RPMs were not installed.
[20131221.010047] The Administrator will be notified to review this output when this script completes
[20131221.010047] E Detected events which require user notification during updatenow. Will send iContact the log"

Lo que indicaba el error era un problema de RPM’s, que son las dependencias de terceros en cPanel & WHM.

Para solucionarlo encontramos 2 métodos:
1) Metodo sencillo, directamente se chequean y reparan las RPM’s

# /usr/local/cpanel/scripts/check_cpanel_rpms --fix
# /scripts/upcp

 

2) Cuando el método anterior no funciona, tendremos que reinstalar la fuente del problema, en este caso el LVE o Cloud Linux

# yum remove libwmf-lite lvemanager
# yum install lvemanager# /scripts/upcp

by Mauro at July 07, 2018 03:05 PM

July 06, 2018

soyadmin.com

Elementary “Juno” ya tiene su primera Beta

Elementary presentó hace unos días la primera beta de “Juno” su nueva versión principal 5.0. Esta Beta es solo eso, según el lider del proyecto Daniel Fore no debe usarse como una versión lista, está en fase de desarrollo y con algunos posibles errores que se irán resolviendo con el paso de nuevas versiones.

“Esta Beta es un lanzamiento especial destinada a nuestros desarrolladores y usuarios altamente técnicos. Los desarrolladores necesitan una versión preliminar para probar y aprovechar las nuevas características de la plataforma”

Juno está basada en Ubuntu 18.04 LTS, trae muchos cambios en su apariencia y en su escritorio Phanteon.

El Centro de Software cuenta con unas 95 aplicaciones (Puedes verlas aqui) que incluye temas adicionales, widgets, íconos y aplicaciones de terceros rediseñadas para mejorar sobre todo la apariencia.

Otras características y cambios que pueden interesarte:
Función Luz nocturna
El panel de escritorio ahora se adapta al fondo de pantalla
Iconos de indicador de sistema animados
Subprograma de potencia mejorado con alternancia de medio punto para el porcentaje de batería
Nuevo instalador y herramienta de configuración inicial
Compatibilidad mejorada con HiDPI
Las notificaciones ya no se muestran de forma predeterminada para muchas aplicaciones
Nuevo efecto de sonido en nuevas notificaciones
La superposición de acceso directo aparece cuando se presiona la tecla Windows / Super
Nuevo modelo de permiso para aplicaciones que usan la ubicación

Descargar Elementary OS Juno Beta:
Debes recordar que esta beta está aun en desarrollo activo, aún no hay fecha de lanzamiento de su versión final.

Puedes descargar la beta aquí

Fuente: omgubuntu.co.uk

by Mauro at July 06, 2018 01:31 PM

July 05, 2018

soyadmin.com

Terminal: Cambiar el directorio de Mysql (por ejemplo de /var/lib/ a /hd2)

Muchas veces, la mayoría de ellas por cuestiones de espacio, es necesario mover el directorio de base de datos a una carpeta distinta.
Esto también puede ser aplicable a un disco totalmente nuevo. Según lei por ahi tener mysql operando en un disco distinto al resto de aplicaciones y donde no conviva con servicios, mejora considerablemente la performance. De esta manera poseemos configurado los servers de host en nuestra empresa.

1) A modo preventivo y como seguridad lo primero sería hacer un respaldo de todas las bases de datos:

# mysqldump --all-databases | gzip > /home/respaldogeneral.sql.gz

 

2) Para evitar problemas de reinicio del servicio, si usamos algún panel de control debemos estopear el servicio de Mysql y evitar que este se reactive automáticamente (por ejemplo si tenemos WHM ingresamos en Service Manager y vamos a estopear el chequeo de Mysql)
También lo paramos via SSH

# service mysql stop

 

3) Ahora vamos en si crear el nuevo directorio para mysql, y moveremos el contenido:

# mkdir /hd2/mysql
# mv /var/lib/mysql /hd2/mysql
# chown -R mysql:mysql /hd2/mysql/mysql
# ln -s /hd2/mysql/mysql /var/lib/mysql

 

4) Por último hay que verificar el archivo de configuración de mysql:

# vi /etc/my.cnf

Buscamos en una de las primeras filas
datadir=/var/lib/mysql
Y lo reemplazamos por el nuevo directorio:
datadir=/hd2/mysql

 

5) Iniciamos y chequeamos el funcionamiento de Mysql y de los sites.-
Volvemos a activar el monitor de Mysql en en nuestro panel de control.

# service mysql start

by Mauro at July 05, 2018 10:28 PM

July 04, 2018

soyadmin.com

Krita 4 la mejor alternativa a Photoshop para Linux

Para aquellos que les gusta buscar parecidos, Krita podría ser comparado con Photoshop o con GIMP, su principal característica es que es un software Free, Open source y multiplataforma.

Krita es rápido, robusto y que nos dará muchas facilidades a la hora de crear pinturas digitales, una imagen o dibujo desde cero. Este software está disponible en la versión 4 y lleva evolucionando desde hace casi 11 años.

Se incluyen una gran cantidad de pinceles, máscaras, filtros y texturas, otorgándonos las herramientas indispensables, convirtiéndola en una aplicación que merece la pena probar.

Originalmente era una herramienta creada y desarrollada por KDE, hoy en día se encuentra disponible para Linux, Windows y Mac. Soporta múltiples formatos de archivos, incluidos el PSD de Photoshop y también formatos de paletas de colores por ejemplo RGB y CMYK, posee una interfaz muy amena e intuitiva totalmente compatible con tabletas digitalizadoras o tabletas de dibujo.

COMO SE INSTALA: (Ubuntu 18.04/17.10 Linux Mint 19/18/17 y derivadas)

sudo apt-add-repository ppa:kritalime/ppa
sudo apt-get update
sudo apt-get install krita

by Mauro at July 04, 2018 03:18 PM

July 03, 2018

Sobre bits

Cómo gestionar las credenciales de un script de PowerShell

Una de las tareas comunes de la mayoría de scripts de automatización es la de logearse a servicios que requieren de autenticación. Cuando ésto ocurre nos encontramos con que de algún modo tenemos que gestionar las credenciales de dicho servicio, y en este punto podemos caer en la tentación de crear una magnífica variable $usuario y otra $password donde, en texto planto, almacenar las credenciales de nuestro servicio.

$usuario = 'usu4rio'
$password = '3st03s1np4swrd'
Connect-VIServer -Server vcsa.lab.local -User $usuario -Password $password

Esta es el típica configuración que durante la fase de desarrollo puede parecer la más práctica, pero que cuando llega el momento de poner el script en producción podemos ‘olvidar’ corregir. Si además lo juntamos con que estos scripts muchas veces se ejecutan con usuarios con permisos muy elevados (a menudo demasiado para la función que realizan) tenemos una bonita bomba que en cualquier momento nos puede explotar en la cara.

Así que no me enrollo más y pasemos a ver qué herramientas nos da PowerShell para gestionar las credenciales en nuestros scripts.

Un vistazo a los Secure String

Los Secure Strings (System.Security.SecureString) como su nombre indica son datos de tipo string pero con un cifrado aplicado. Este cifrado, en su forma estandar, se realiza con DPAPI, que a grandes rasgos hace que dichos Secure Strings solo puedan ser descifrados por el propio usuario que los generó y en la misma máquina que lo hizo.

En este punto ya podemos ver por donde va la película: si introducimos un password en formato Secure String después seremos capaces de almacenarlo para su próxima ejecución y si alguien se apropia del archivo no será capaz de utilizar el password que hay almacenado en el.

Utilizando Get-Credential para gestionar las credenciales

La forma más sencilla de gestionar las credenciales en PowerShell es utilizando el cmdlet Get-Credential. Si lo ejecutamos veremos que se nos pedirá un usuario y contraseña:

Gestionar las credenciales con Get-Credential

Para seguir con el ejemplo del principio del post llenaremos la credencial con los mismos valores:

Get-Credential rellenado

Si ahora examinamos el contenido de nuestra variable $credenciales veremos que se trata de un objeto de tipo System.Management.Automation.PSCredential con las propiedades ‘UserName’ y ‘Password’:

Contenido objeto credencial

Si nos fijamos bien la propiedad ‘Password’ es un Secure String, por lo que si intentamos mostrar la propiedad no la veremos a menos que la volvamos a convertir a texto planto con ConvertFrom-SecureString:

Contenido Secure String

Que como podemos ver nos devuelve el string cifrado.

Guardando las credenciales con Export-Clixml

Vale, ya tenemos nuestro objeto de credenciales creado, pero ahora la idea sería poder guardarlo de algún modo para una futura utilización. Para ello, una buena forma es valerse del cmdlet Export-Clixml, que crea una representación de un objeto con todas sus propiedades dentro de un archivo XML.

$credenciales | Export-Clixml -Path C:\Export\credenciales.xml 

Si abrimos el contenido del archivo XML veremos algo así:

<Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
  <Obj RefId="0">
    <TN RefId="0">
      <T>System.Management.Automation.PSCredential</T>
      <T>System.Object</T>
    </TN>
    <ToString>System.Management.Automation.PSCredential</ToString>
    <Props>
      <S N="UserName">usu4rio</S>
      <SS N="Password">01000000d08c9ddf0115d1118c7a00c04fc297eb010000007ac4a7fc58e25c4b8481520c37cb9c8800000000020000002000106600002001000220000000ca81c7eb68d072e1a7a7e8ce250920bf5c3bcbb99faac9275cc967ad71cb77b8000000000e8000000002000020000000f8093b49fa4ade062a9cd1bb98641b60dd1bf2f08c18c40483a09eed0cccda9a200000200603d4d7e00ca4a893b80da7ee28702adc89029b43302cfa29ec5c81bcc4f96040000000f4feb94583668fb08070898ead1c162fdde71995616c1e245ac72ca55c0d963e4800f447a54e05b45de2827427757b5da5bd552712575e3907d15f6d6f3c17dd</SS>
    </Props>
  </Obj>
</Objs>

Importando y utilizando las credenciales almacenadas

Ya llegamos al final del asunto. Ahora que tenemos las credenciales almacenadas solo nos queda ver como podemos utilizarlas. Aún con el ejemplo del principio del post podríamos usar las credenciales así:

 
$credenciales = Import-Clixml -Path C:\Export\credenciales.xml
Connect-VIServer -Server vcsa.lab.local -Credential $credenciales 

Como podéis ver en vez de utilizar los parámetros -User y -Password utilizamos el parámetro -Credential. La mayoría de cmdlets que autentican contra otros servicios admiten este parámetro, que espera un objeto PSCredential para realizar la autenticación en vez de pedir por separado usuario y password. ¿Quiere decir eso que si el cmdlet no admite la entrada de objetos PSCredential nos vemos obligados a utilizar usuario y contraseña en texto plano?

 
$credenciales = Import-Clixml -Path C:\Export\credenciales.xml 
Connect-VIServer -Server vcsa.lab.local -User $credenciales.UserName -Password $credencial.GetNetworkCredential().password

Evidentemente no, los objetos PSCredential disponen de un método con el que podemos acceder a las credenciales descifradas, con lo que podríamos acceder al password tal y como vemos en el ejemplo con $credencial.GetNetworkCredential().password, así que no hay excusa para seguir utilizando credenciales “hardcodeadas” en nuestros scripts.

Conclusión

¿Utilizando este método estamos totalmente protegidos? Realmente no, porque como hemos visto el cifrado reversible está vinculado al usuario que ha generado el secure string, por lo que si nuestra cuenta queda vulnerada (o una cuenta de administrador de nuestra máquina que pueda resetear nuestro password) podremos tener un problema, pero desde luego reduce el vector de ataque notablemente y puede evitar que por un despiste se filtre nuestro script y con ello las credenciales que éste utilizaba.

La entrada Cómo gestionar las credenciales de un script de PowerShell aparece primero en Sobrebits.

by Marc Meseguer at July 03, 2018 08:00 AM

July 02, 2018

soyadmin.com

Instalar Wechat en Ubuntu/Mint

Wechat es un sistema de mensajería gratuito, disponibles en múltiples plataformas Windows, Mac, Android, iOS y Linux.  En el 2017 estuvo dentro de los servicios de mensajería independiente con más usuarios activos.

Existe una manera de instalarlo en Linux que nos permitirá chatear por mensaje de texto o audios y además compartir archivos, tal cual lo hacen sus versiones móviles.

Además de estas opciones básicas permite realizar videoconferencias, videojuegos, compartir fotografías y videos y compartir la ubicación del dispositivo. Como si fuera poco Las fotografías también se pueden embellecer con filtros y subtítulos, y hay disponible un servicio de traducción automática.

Para usar WeChat, debe registrarse para obtener una cuenta con su número de teléfono móvil. Para registrarse, simplemente descargue la aplicación en su dispositivo móvil, ingrese su número de teléfono y luego ingrese el código QR de verificación que nos muestra la aplicación de escritorio y así autorizarla.

COMO SE INSTALA: (Ubuntu 18.04/17.10/16.04/14.04/12.04 Linux Mint 18/17/13/ y derivadas)

# sudo apt install snapd snapd-xdg-open
# sudo snap install electronic-wechat

PARA DESINSTALARLO:

# sudo snap remove electronic-wechat

by Mauro at July 02, 2018 07:25 PM

RooTeando

Tomando Un Café 36: Rock(II) y otros temas

En este audio hablaré sobre una  serie audios sobre alternativas a la Raspberry que estoy preparando, el "modo vacaciones" que entraran todos mis proyectos. Como tema principal la segunda parte sobre la Rock64 y el rendimiento con el software instalado.

Música: North Cape Lights-North Cape Ligths EP-02 Come to me one more time  http://freemusicarchive.org

Canales de Telegram @UnDiaUnaAplicacion @UnPythonAldia @AprendePython


Correo [email protected]
Twitter https://twitter.com/Tomando_Un_Cafe

RSS ...

July 02, 2018 01:30 AM

June 29, 2018

soyadmin.com

Instalar SMPlayer 18.2.2 en Ubuntu/Mint via PPA

SMPlayer es un reproductor multimedia multiplataforma con licencia GNU. Este reproductor a diferencia de la mayoría no necesita de instalación de códecs extras para reproducir ya que incluye todos los códecs necesarios.

Esta nueva versión es compatible con MPV y además otorga soporte para MPRIS v2. Además incluye un nuevo tema, filtro estereo, etc.

SMPlayer es capaz de reproducir casi todos los formatos de video y audio conocidos (avi, mkv, wmv, mp4, mpeg, mp3, etc)

Además una muy buena característica es que SMPlayer recuerda la configuración utilizada (volúmen, pista de audio, subtítulos, etc). Por ejemplo estás viendo una película y tienes que salir puedes cerrar el programa tranquilamente ya que la próxima vez que abras esa película empezará a reproducirse desde el punto donde lo dejaste.

Este reproductor cuenta con varias “pieles” o themes, posibilidad de cambiar íconos y toda su apariencia. Está disponible en más de 30 idiomas, incluidos el Español, Alemán, Inglés, Italiano, etc.

SMPlayer puede reproducir videos de Youtube y también incluye una práctica herramienta que permite buscar videos de YouTube. Además busca y descarga subtítulos desde opensubtitles.org para nuestras películas.

COMO SE INSTALA: (Ubuntu 18.04/17.10/16.04/14.04/12.04 Linux Mint 18/17/13/ y derivadas)

# sudo add-apt-repository ppa:rvm/smplayer
# sudo apt-get update
# sudo apt-get install smplayer smtube smplayer-themes

Fuente: noobslab.com

by Mauro at June 29, 2018 01:11 PM

June 28, 2018

Sobre bits

Ejecutar un script de PowerShell como tarea programada

Está muy bien ahorrarnos trabajo automatizando procesos con PowerShell, pero si para que éstos se ejecuten tenemos que lanzar la tarea a mano en muchas ocasiones se pierde el sentido de la automatización. Por ello en el post de hoy veremos cómo ejecutar un script de PowerShell como tarea programada mediante el programador de tareas de Windows.

Ejecutar script de PowerShell como tarea programada

Pese a que programar una tarea en Windows es algo totalmente trivial, programar la ejecución de un script de PowerShell puede resultar un poco más “complicado” si no sabemos exáctamente como construir la tarea. Para ello nos dirigremos al Programador de tareas de Windows y crearemos una nueva tarea (Tarea normal, no básica).

  • En la pestaña “General” damos nombre a la tarea y seleccionamos “Ejecutar tanto si el usuario inició sesión como si no” y, en caso de que nuestro script requiera permisos de administrador, seleccionaremos “Ejecutar con los privilegios más altos“.
  • En la pestaña “Desencadenadores” indicaremos cuándo ejecutar la tarea.
  • En la pestaña “Acciones” es donde realmente empieza la parte que afecta directamente a la programación de un script de Powershell:
    • En “Acción” seleccionamos “Iniciar un programa”.
    • En “Programa o script” escribimos:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    • En “Agregar argumentos” escribimos:
-command “Path_Del_Script\Nombre_Del_Script.ps1

(Importante que esté entre comillas)

Poniéndolo todo junto debería quedar algo así:

Programar un script de PowerShell

Con esto hecho sólo nos queda ejecutar la tarea haciendo “botón derecho > Ejecutar” en la propia tarea y, si todo ha ido bien, deberíamos ver un mensaje indicando que la tarea se ha completado correctamente.

Tarea completada

Esta utilidad es ideal para combinarla con el envío de correo mediante PowerShell, y con ello, generar scripts de reporting o de automatización de tareas rutinarias que se ejecuten bajo una programación y nos envíen el resultado directo a nuestra bandeja de correo.

La entrada Ejecutar un script de PowerShell como tarea programada aparece primero en Sobrebits.

by Marc Meseguer at June 28, 2018 08:00 AM

June 26, 2018

Sobre bits

Exportar carpetas de vCenter con PowerCLI

Si por algún motivo os ha tocado recrear un servidor vCenter por corrupción del mismo, actualización fallida (pese al gran actualizador del que dispone) o algún tipo de migración, y por casualidad éste disponía de muchas carpetas de VM, sabréis que recrearlas puede ser un auténtico calvario. Por una experiencia de este estilo me he decidido a crear un módulo de PowerCLI con el que exportar carpetas de vCenter para posteriormente recrearlas con un solo comando.

Algunas de las “bondades” de este módulo son:

  • Exportación e importación muy sencilla utilizando como archivo intermedio un CSV.
  • Soporte para carpetas con nombres duplicados.
  • Permite especificar el datacenter sobre el que exportar/importar.

Usando Export-VMFolderStructure para exportar carpetas de vCenter

Para utilizar Export-VMFolderStructure (e Import-VMFolderStructure) lo primero que deberemos hacer es descargar el módulo desde su página en Github e importarlo en nuestra sesión de PowerShell tal y como vimos en el post “Introducción a los módulos de PowerShell“.

Export-VMFolderStructure dispone de los siguientes parámetros:

  • Path: Ruta completa en la que exportaremos el archivo .csv. Este parámetro es obligatorio.
  • Datacenter: Nombre del datacenter sobre el que exportar los datos. Si no se especifica y sólo existe uno se utilizará ese, de haber más de uno se detiene la ejecución.
  • Server: IP o nombre DNS del servidor vCenter sobre el que ejecutar el comando. Si ya se está conectado a un servidor vCenter se utiliza ese y se ignora el de este parámetro.

Para la demostración utilizaremos este vCenter de prueba:

Exportar carpetas de vCenter origen

Por lo tanto, podemos ejecutar el comando así:

Export-VMFolderStructure -Path C:\Export\folders.csv -Datacenter 'Datacenter Test' -Server 192.168.247.100

Si abrimos el archivo folders.csv veremos una lista separada con comas con carpetas de VM y su correspondiente path.

Listado carpetas de vCenter exportadas

Con este archivo ya podemos proceder a importar la estructura de carpetas.

Importando carpetas de vCenter con Import-VMFolderStructure

El comando destinado a realizar la importación es Import-VMFolderStructure (¡sorpresa!). Este comando leerá el contenido del archivo .csv y recreará toda la jerarquía de carpetas exportada en el nuevo vCenter.

Para realizar la prueba borro el contenido de este mismo vCenter y volveremos a exportar las carpetas. Este es el resultado:

vCenter vacío

Para evitar comportamientos erróneos recomiendo ejecutar Import-VMFolderStructure sobre un servidor vCenter sin carpetas.

Import-VMFolderStructure dispone de los mismos parámetros que Export-VMFolderStructure:

  • Path: Ruta completa del .csv con la estructura de carpetas a crear. Este parámetro es obligatorio.
  • Datacenter: Nombre del datacenter sobre el que exportar los datos. Si no se especifica y sólo existe uno se utilizará ese, de haber más de uno se detiene la ejecución.
  • Server: IP o nombre DNS del servidor vCenter sobre el que ejecutar el comando. Si ya se está conectado a un servidor vCenter se utiliza ese y se ignora el de este parámetro.

Por lo que podemos proceder a recrear las carpetas con:

Import-VMFolderStructure -Path C:\Export\folders.csv -Datacenter 'Datacenter Test' -Server 192.168.247.100

Que nos deja la estructura de carpetas tal como estaba al inicio:

Carpetas de vCenter importadas

Como podréis ver se ha respetado la jerarquía de todas las carpetas, incluso las que tienen el mismo nombre.

Conclusión

Si bien recrear unas pocas carpetas a mano no es un problema, si os toca recrear varias decenas o algún que otro ciento de carpetas os recomiendo que tiréis de Export-VMFolderStructure y empleeis las horas que os ahorraréis en algo más productivo.

Si tenéis curiosidad por el código en si podéis consultar la página del script en GitHub, y si tenéis alguna sugerencia sobre el mismo las acepto encantado.

La entrada Exportar carpetas de vCenter con PowerCLI aparece primero en Sobrebits.

by Marc Meseguer at June 26, 2018 07:00 AM

June 25, 2018

soyadmin.com

Ficheros de logs en Plesk Linux

En este post comentaremos la ubicación de los logs más utilizados de un Server Linux, funcionando con Plesk como Panel de Control

Logs de Instalación de Plesk:

/tmp/autoinstaller3.log

 

Logs de la actualización del panel de control Plesk y otras aplicaciones:

/tmp/psa-'nombre-aplicacion'...log

 

Errores y logs de accesos a Plesk:

/usr/local/psa/admin/logs/httpsd_access_log
/var/log/sw-cp-server/error_log

 

Logs de la migración de Plesk:

/usr/local/psa/PMM/logs/migration.log

 

Logs de WachDog:

/usr/local/psa/var/modules/watchdog/log/monit.log

 

Logs del servidor apache en Plesk:

/var/log/httpd/access_log
/var/log/httpd/error_log

 

Logs de Apache Suexec en Plesk:

/var/log/httpd/suexec_log

 

Logs de accesos y errores de una página web:

/var/www/vhosts/domain.tld/statistics/logs/access_log
/var/www/vhosts/domain.tld/statistics/logs/error_log

 

Logs de MySQL en Plesk:

/var/lib/mysql/server.hostname.err (definido /etc/my.cnf)

 

Logs de Named (Bind) en Plesk:

/var/log/messages

 

Los del mail (Qmail y Postfix) en Plesk:

/usr/local/psa/var/log/maillog

 

Logs FTP en Plesk:

/var/log/plesk/xferlog

 

Logs del servidor en Plesk:

/var/log/messages

 

Logs de Horde Webmail:

/var/log/psa-horde/psa-horde.log

 

Logs del Cronjob:

/var/log/cron

 

Logs SSH:

/var/log/secure

 

Logs de Mailman:

/var/log/mailman/

 

Logs de Tomcat:

/var/log/tomcat5/catalina.out

 

Logs de Backup Plesk:

/usr/local/psa/PMM/sessions/

by Mauro at June 25, 2018 11:21 PM

June 22, 2018

soyadmin.com

Como cambiar el Directorio Raíz o Document Root de nuestro sitio

Muchas veces es necesario modificar el document root de tu sitio, muchos tenemos la costumbre de NO hacer las instalaciones de aplicaciones directamente en el raíz del sitio entonces a la hora de finalizado el proyecto es necesario realizar un cambio de directorio raíz o document root.

Existen varias maneras de realizarlo, aca explicaremos 2:
1) Crear o editar el archivo .htaccess y hacer la redirección hacia el directorio:

# vi .htaccess

RewriteEngine On
RewriteRule ^$ /nuevo_directorio/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/nuevo_directorio/
RewriteRule ^(.*)$ /nuevo_directorio/$1
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule ^nombresitio.com/(.*[^/])$ http://www.nombresitio.com/$1/ [R=301]

 

2) Directamente modificando el archivo de configuración de cPanel
Vamos a la ruta de configuracion de nuestro dominio en cPanel /var/cpanel/userdata/USUARIO/dominio.com (reemplazamos USUARIO y dominio.com por los datos de nuestro sitio)
Ponemos como ejemplo los datos de soyadmin.com

# vi /var/cpanel/userdata/soyadmin/soyadmin.com
Buscamos "documentroot" y editamos con los datos del nuevo "directorio"
documentroot: /home/nerion/public_html/directorio

Guardamos y tendremos que hacer un rebuild de apache para que “tome” los cambios hechos en la configuración del dominio

# /scripts/rebuildhttpdconf
# /etc/init.d/httpd restart

by Mauro at June 22, 2018 02:05 PM

June 21, 2018

Sobre bits

Plugin de Nagios con PowerShell (Parte 2): Instalación de NSClient++

En esta segunda parte de la serie veremos cómo instalar y configurar NSClient++ para ejecutar nuestro plugin de Nagios con PowerShell creado en la entrada anterior.

Para esta entrada asumo que tenemos un servidor de Nagios (Core o XI) ya instalado y funcionando sobre el que crearemos el check.

Instalación y configuración de NSClient++

Para empezar con la instalación de NSClient++ nos dirigiremos al apartado de descargas de su página web y descargaremos la versión correspondiente a la arquitectura de nuestro SO.

  • Ejecutamos el instalador.
  • En Select Monitoring Tool marcamos Generic.
  • En Choose Setup Type seleccionamos Typical.
  • En NSClient++ Configuration:
    • Allowed hosts: Introducimos la IP de nuestro servidor Nagios.
    • Password: Establecemos un password (no requerido para checks con nrpe).
    • Modules to load: Marcamos “Enable common check plugins” (si queremos poder utilizar los checks típicos), “Enable NRPE server” y, o bien “Insecure legacy mode” para no usar cifrado o “Safe mode” para usarlo (tiene que estar habilitado en el servidor Nagios).

NSClient para Powershell

Una vez finalizada la instalación copiaremos nuestro script (en este ejemplo check_spooler.ps1) a la carpeta scripts de nuestra instalación de NSClient++ (por defecto “C:\Program Files\NSClient++\scripts”).

Hecho esto sólo nos quedará hacer unos pequeños ajustes en el archivo de configuración de NSClient++ (por defecto ubicado en C:\Program Files\NSClient++\nsclient.ini) para que éste reconozca nuestro flamante script. Para ello abrimos el archivo con nuestro editor de texto favorito y añadimos lo siguiente:

En la categoría [/settings/NRPE/server] añadimos la siguiente línea:

allow arguments = true

En la que permitimos los argumentos en los checks. En la categoría [/modules] permitimos el uso de scripts externos:

CheckExternalScripts = enabled

Y al final del archivo añadimos una nueva categoría [/settings/external scripts/scripts] con el siguiente contenido:

check_spooler=cmd /c echo scripts\check_spooler.ps1; exit $LastExitCode | powershell.exe -command -
  • check_spooler: Es el nombre que le daremos al check y con el que invocaremos el script desde Nagios.
  • check_spooler.ps1: Es el nombre del script a invocar (en nuestro caso el plugin de Nagios con PowerShell).

Y por último reiniciamos el servicio de NSClient++ para que apliquen los cambios (como no, con PowerShell):

Restart-Service nscp

Creación del servicio en Nagios

En este punto, si lo hemos hecho todo bien, nuestra máquina Windows a monitorizar ya debería estar lista para ejecutar nuestro plugin de Nagios con PowerShell, por lo que lo último que nos queda es configurar el check desde el lado de Nagios.

Atención: Asumo que la instalación de Nagios ya dispone de check_nrpe instalado.

Para ello definiremos un nuevo servicio para el host en cuestión con un contenido parecido al siguiente:

define service{
	use                     generic-service
	host_name               winserver
	service_description     Estado Spooler
	check_command           check_nrpe!check_spooler
	}

Guardamos el archivo, reiniciamos el servicio de Nagios y si vemos algo parecido a lo siguiente desde la consola web quiere decir que hemos triunfado:

Plugin de Nagios con Powershell OKSi probamos a parar el servicio deberíamos ver algo como esto:

Plugin de Nagios con Powershell Critical

Conclusión

Y hasta aquí la mini serie “Plugin de Nagios con PowerShell”. Reutilizando los pasos descritos podremos crear cualquier check que requiramos y que no encontremos en Nagios Exchange con la ayuda de PowerShell y de nuestra destreza. De hacerlo os invito a que lo subáis a su web para que el resto de la comunidad pueda beneficiarse de los mismos, en su FAQ explican el proceso para hacerlo, no tiene ningún misterio.

La entrada Plugin de Nagios con PowerShell (Parte 2): Instalación de NSClient++ aparece primero en Sobrebits.

by Marc Meseguer at June 21, 2018 08:00 AM

RooTeando

Tomando Un Café 35: Minicursos

Participación en los Lunes con Mosquetero Web.
https://youtu.be/YMwi4kyfCNA

Canal de Telegram Web Reactiva https://t.me/webreactiva

En el audio de hoy hablaré sobre formación, una ídea de formato para formación donde  incluye las  formas que yo considero mas útiles a la hora de transmitir conocimiento a un alumno.


Música: Caleb Lemond-Borrow Your Time  http://freemusicarchive.org

 

Canales de Telegram @UnDiaUnaAplicacion @UnPythonAldia @AprendePython


Correo [email protected]
Twitter https ...

June 21, 2018 01:25 AM

June 18, 2018

Sobre bits

Plugin de Nagios con PowerShell (Parte 1): Creación del script

Si bien Nagios dispone de un extenso catálogo público de plugins creados por la comunidad, es posible que tengamos necesidades específicas que no estén cubiertas en dicho catálogo. Es por eso que en esta mini serie de entradas vamos a ver cómo crear nuestro propio plugin de Nagios con Powershell y cómo configurarlo posteriormente en la máquina destino con la ayuda del cliente NSClient++.

Códigos de retorno de un plugin de Nagios

Si nos dirigimos a la guía de desarrollo de plugins de Nagios nos encontramos con que los posibles códigos de retorno de un plugin de Nagios son los siguientes:

  • OK (0): Se ha podido realizar el check y el servicio funciona correctamente.
  • Warning (1): Se ha podido realizar el check pero el servicio está por encima de un valor de alarma o no está funcionando correctamente.
  • Critical (2): El plugin ha detectado que o el servicio no estaba corriendo o estaba por encima de un valor crítico.
  • Unknown (3): Se han proporcionado argumentos inválidos al plugin o hay fallos a bajo nivel en el mismo.

Sabiendo los tipos de retorno disponibles para nuestro plugin y su correspondiente valor numérico a devolver (entre paréntesis en la lista anterior) ya podemos empezar a darle forma al script con el que crearemos nuestro primer plugin de Nagios con PowerShell.

Diseño del plugin de Nagios con PowerShell

Para la realización de nuestro plugin de prueba crearemos un script que monitorizará el servicio de “Cola de impresión” de Windows (spooler).

Lo primero que necesitaremos saber será qué campo del servicio queremos consultar:

Plugin de Nagios con PowerShellComo podemos ver en la captura anterior la propiedad “Status” nos indica que el servicio está corriendo (estado “Running”).

Para este plugin de ejemplo podemos determinar los siguientes dos estados:
· OK (0): El servicio está corriendo (running).
· Critical (2): El servicio está en cualquier otro estado (parado, arrancando, parando…).

Creación del script

Ahora que sabemos lo que tenemos que devolverle a Nagios podemos ponernos a picar código. El resultado final debería ser algo así:

# Extraemos la propiedad "Status" del servicio Spooler.
$service_status = Get-Service 'Spooler' | Select -ExpandProperty Status

# Según el contenido de "Status" devolveremos un estado u otro
If ($service_status -eq "Running") {
    # Si el servicio está en running devolvemos el texto correspondiente y estado 0
    Write-Host "OK! El servicio se encuentra en estado $service_status"
    Exit 0
}
Else {
    # Si el servicio no está en running devolvemos el texto correspondiente y estado 2
    Write-Host "CRITICAL! El servicio se encuentra en estado $service_status"
    Exit 2
}

Es importante devolver siempre, a parte del estado mencionado anteriormente, el texto que mostrará Nagios en su panel de control (En este caso mediante Write-Host en las líneas 7 y 12 del script).

Conclusión

Y hasta aquí esta primera parte de la mini serie de entradas sobre la creación de un plugin de Nagios con PowerShell. En la próxima entrada veremos cómo instalar y configurar Nagios y NSClient++ para ejecutar nuestro plugin de prueba.

La entrada Plugin de Nagios con PowerShell (Parte 1): Creación del script aparece primero en Sobrebits.

by Marc Meseguer at June 18, 2018 06:00 PM

June 15, 2018

debianhackers.net

Tip: Escalar un documento PDF con GhostScript

Pongamos que lleváis tiempo maquetando un documento de unos cuantos cientos de páginas y que a la hora de imprimir decidís que en lugar del clásico A4, preferís hacerlo en un formato más manejable, por ejemplo B5. Pongamos también que la pereza os ha vencido y no habéis utilizado LaTex para editar vuestro documento. Y que además tiene decenas de imágenes y tablas con sus respectivas leyendas. Remaquetarlo son unas cuantas horas de ingrato trabajo extra ¿por qué no redimensionar el PDF directamente?

Ghostscript funciona la mar de bien en estos casos, y pasar de un A4 a un B5, respetando márgenes, interlineados y demás es tan sencillo como ejecutar:

gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dFIXEDMEDIA -sPAPERSIZE=isob5 -dPDFFitPage -sOUTPUTFILE=B5_file.pdf A4_file.pdf

Los curiosos podéis echar un vistazo al significado de cada parámetro en el man de gs.

Happy reformating!

by Debish at June 15, 2018 06:30 AM

June 14, 2018

Sobre bits

PowerShell one-liners: Obtener IP pública

Una vez iniciada la serie sobre one-liners de PowerCLI es turno de arrancar con los one-liners de PowerShell. En esta primera entrega veremos cómo obtener la IP pública de la máquina que ejecuta el one-liner con PowerShell.

Ya de entrada puedes preguntarte: ¿por qué querría hacerlo desde PowerShell si lo puedo consultar desde el navegador? Aquí van algunos ejemplos:

  • Para incorporarlo a un script que, por ejemplo, modifique el comportamiento según la línea WAN por la que esté saliendo.
  • Si estás administrando un sistema operativo Windows Server Core en el que no hay navegador.
  • Porque puedes hacerlo. (obviamente la razón más importante)

Obtener IP pública con PowerShell

Para obtener la dirección IP nos valdremos de uno de tantos servicios online que permiten consultarla. Éstos son algunos:

Si pinchamos en cualquiera de los links veremos que dichas webs nos devuelven nuestra IP pública en texto plano, por lo que lo hace ideal para ser consultado desde la línea de comandos. Para obtener el contenido de una web en PowerShell disponemos de Invoke-WebRequest:

 Invoke-WebRequest ident.me | Select -ExpandProperty Content 

Vamos a desglosar la línea:

  • Invoke-WebRequest ident.me: Nos valemos de Invoke-WebRequest para hacer una consulta a la web ident.me, la cual nos devuelve un objeto Microsoft.PowerShell.Commands.HtmlWebResponseObject.
  • Select -ExpandProperty Content: Obtenemos el contenido de la propiedad “Content”, en el este caso un string con la dirección IP.

A partir de ahí ya podemos asignar la salida a una variable, mostrarla o lo que necesitemos hacer con ella.

 

La entrada PowerShell one-liners: Obtener IP pública aparece primero en Sobrebits.

by Marc Meseguer at June 14, 2018 06:00 PM

June 12, 2018

Sobre bits

Introducción a los módulos de PowerShell

Muchas veces la gente que programamos tenemos tendencia a reinventar la rueda y escribir código que ya ha sido escrito por otro y, en muchos casos, incluso acabamos reescribiendo código escrito por nosotros mismos. En esta entrada veremos el funcionamiento de los módulos de PowerShell, con los que obtendremos piezas de código reutilizables y fácilmente distribuibles con los que podremos evitar que esto ocurra. ¡Veamos como funcionan!

¿Qué es un módulo de PowerShell?

Básicamente un módulo es un paquete que contiene comandos de PowerShell. La gran gracia de los módulos de PowerShell es que nos permiten, por un lado, empaquetar distintos comandos para organizarlos, usarlos y distribuirlos, y por el otro, obtener comandos desarrollados por terceros y utilizarlos de forma muy sencilla.

Una vez tenemos un módulo importado en nuestra sesión de PowerShell podremos utilizar los comandos que éste contiene como si de un comando nativo se tratara.

¿Cómo trabajar con módulos de PowerShell?

PowerShell incorpora una serie de cmdlets relacionados con los módulos con los que podremos interactuar con los mismos.

Comandos sobre módulos de PowerShell

Demos un repaso a las operaciones básicas que podremos utilizar.

Importar módulos

Lo primero que debemos hacer si queremos trabajar con módulos ya escritos es importarlos. Una vez importados podremos utilizar los comandos que éstos contienen de forma totalmente transparente. Podemos importar módulos:

  • De forma automática (a partir de PowerShell versión 3.0) ubicándolos en una carpeta que forme parte de nuestro path de módulos. Al hacerlo de este modo el módulo se importará la primera vez que ejecutemos un comando del mismo en la sesión actual.
    • Podemos consultar  y modificar el path de módulos con la variable de entorno $env:PSModulePath.
    • Podemos desactivar este comportamiento modificando la variable $PSModuleAutoloadingPreference.

Path de módulos de PowerShell

  • Utilizando el cmdlet Import-Module pasando como parámetro la ruta de nuestro módulo de PowerShell.

Importar módulos de PowerShell

Consultar módulos cargados y disponibles

Si queremos consultar los módulos de PowerShell cargados en nuestra sesión o queremos listar los disponibles dentro de las distintas ubicaciones de nuestro path de módulos deberemos valernos del cmdlet Get-Module:

  • Con su comportamiento por defecto Get-Module lista los módulos cargados en nuestra sesión.

Listar módulos de PowerShell con Get-Module

  • Si añadimos al comando el parámetro -ListAvailable éste nos devolverá una lista con todos los módulos disponibles para su carga clasificado según la ubicación de los mismos dentro de nuestro path.

Listar módulos disponibles con Get-Module

Ambos comportamientos del cmdlet, como se aprecia en las capturas, nos muestran los comandos disponibles dentro de dicho módulo.

Quitar un módulo de PowerShell ya cargado en nuestra sesión

Como seguro que se puede intuir gracias a la coherencia de los verbos de PowerShell podemos apoyarnos del cmdlet Remove-Module para quitar un módulo previamente cargado. Esta opción puede sernos muy útil si queremos cargar, por ejemplo, una nueva versión de un módulo que ya teníamos cargado.

¿Dónde encuentro módulos de PowerShell?

Existen varios sitios desde los que descargar módulos:

  • Repositorios públicos de módulos como PowerShell Gallery o PSGet.
  • Repositorios de código como GitHub.
  • Webs de fabricantes que decidan integrar PowerShell en sus soluciones.
  • Blogs técnicos en los que se publique código como este :-).

Siguientes pasos

Con esta introducción hecha ya estamos listos para descargar código, inspeccionarlo (una de las mejores formas de aprender) y utilizarlo. En futuras entradas veremos cómo crear nuestros propios módulos.

La entrada Introducción a los módulos de PowerShell aparece primero en Sobrebits.

by Marc Meseguer at June 12, 2018 04:00 PM

soyadmin.com

Windows: Exportar la configuración y conexiones de PuTTy

PuTTY es un emulador de terminal, un programa que permite conectar con máquinas remotas y ejecutar programas a distancia. PuTTY se conecta como cliente a múltiples protocolos, como SSH, Telnet o Rlogin.

La ventana principal de PuTTY es la de configuración, que contiene un completo árbol de opciones. Las básicas están en el primer apartado, Session: introduce allí la dirección del servidor, el puerto y el tipo de conexión. Luego, haz clic en Open para establecer la conexión.

Una de las caracteríscas o funciones que posee PuTTy es la posibilidad de recordar o mantener un registro de las conexiones realizadas, donde sólo con un click estaríamos ingresando a nuestra conexión remota.

Para aquellos que poseemos muchisimos servidores o conexiones, el hecho de tener que reingresar todas las conexiones debido a que cambiamos de pc o formateamos, es un dolor de cabeza para muchos.(Como casi lo fue para mi)

Por suerte blogueando por ahi, encontre una manera sencilla de realizar un backup y restore de la configuración de puTTy.

1) Debemos ingresar a nuestro registro
Vamos a Inicio – Ejecutar
Escribimos regedit y le damos aceptar.

2) Una vez dentro del registro de Windows, vamos a buscar la cadena de puTTy

HKEY_CURRENT_USER
Software
SimonTatham
Putty

Alli hacemos click derecho en dicho registro y lo exportamos, lo cual nos generará un archivo .reg.

Este archivo .reg es el que restauraremos en la nueva PC. Teniendo ya instalado PuTTy simplemente le hacemos doble click para que restaure.

by Mauro at June 12, 2018 01:44 PM

June 11, 2018

soyadmin.com

Libro: Seguridad en UNIX y Redes de Antonio Huerta

 

 

Título: SEGURIDAD EN UNIX Y REDES
Autor: Antonio Huerta
Año: 2002
Páginas: 503 páginas
Tamaño: 2.5 MB
Fomato: PDF

 

 

 

Contenido:

El mundo de la seguridad informática es demasiado amplio y complejo como para ser tratado exhaustivamente en ningún trabajo, mucho menos en uno tan simple como este; aquí únicamente he intentado resumir una visión global de diferentes aspectos relacionados con la seguridad, especialmente con Unix y redes de computadores (estas últimas tan de moda hoy en día… Unix, por desgracia, no tanto). Este trabajo está casi completamente extraído de mi proyecto final de carrera, que estudiaba la seguridad en los sistemas Unix y la red de la Universidad Politécnica de Valencia (UPV), de forma que si aparece alguna referencia a “nuestra red” o “nuestros equipos” (aunque he intentado eliminar todos los ejemplos y comentarios relativos a UPV, por motivos obvios) ya sabemos de qué se trata.

A lo largo de este trabajo se va a intentar hacer un repaso de los puntos habituales referentes a seguridad en Unix y redes de computadores (problemas, ataques, defensas…), aplicando el estudio a entornos con requisitos de seguridad medios (universidades, empresas, proveedores de acceso a Internet…); de esta forma se ofrecerá una perspectiva general de la seguridad en entornos Unix, el funcionamiento de sus mecanismos, y su correcta utilización. También se hablará, en menor medida, sobre temas menos técnicos pero que también afectan directamente a la seguridad informática, como puedan ser el problema del personal o la legislación vigente.

El objetivo final de este proyecto sería marcar unas pautas para conseguir un nivel de seguridad aceptable en los sistemas Unix conectados en cualquier red, entendiendo por ‘aceptable’ un nivel de protección suficiente para que la mayoría de potenciales intrusos interesados en los equipos de nuestra organización fracasara ante un ataque contra los mismos. Obviamente, es imposible garantizar una plena seguridad ante cualquier atacante: seguramente un pirata experimentado, con el tiempo suficiente, pagado, o simplemente muy interesado en uno de nuestros equipos, no tendría muchos problemas en acceder a él. Este hecho, aunque preocupante, es casi inevitable; lo evitable es que cualquier persona sea capaz de atacar con éxito un equipo simplemente por haber visto una película, descargado un par de páginas web y ejecutado un programa que ni ha hecho ni entiende.

 

by Mauro at June 11, 2018 11:37 PM

Libro: EL SOFTWARE LIBRE EN EL SECTOR PÚBLICO de David Megias

Título: EL SOFTWARE LIBRE EN EL SECTOR PÚBLICO
Autor: David Megias
Año: 2010
Páginas: 118 páginas
Tamaño: 2 MB
Fomato: PDF

 

 

Contenido:

Esta guía persigue acercar a los estudiantes a las principales cuestiones vinculadas con la aplicación del Software Libre a las administraciones públicas. Éstas, que entre otras funciones tienen que velar por la seguridad y la transparencia de la información pública del ciudadano, tienen una responsabilidad especial con respecto al uso de los fondos públicos aplicados a las tecnologías de la información y la comunicación (TIC). Es en este sentido en qué las administraciones se han posicionado como uno de los públicos objetivos más relevantes con respecto al uso y el fomento del Software Libre. Ahorro de costes de licencias, fomento de la industria local, localización de las lenguas marcada por el interés social y no estrictamente comercial, fomento de una sociedad de la información y del conocimiento basada en tecnologías libres y estándares abiertos, entre muchos otros, son algunos de los temas que han generado un debate en el si de la Administración Pública y que todavía permanecen con total vigencia.

El Software Libre en el sector público
La Administración pública como impulsora de acciones y fomento del Software Libre
La Administración pública como receptora de proyectos internos de Software Libre
Estudio de casos reales de migración de administraciones públicas
Plan de migración de una Administración Pública

by Mauro at June 11, 2018 10:59 PM

Libro: Utilidades y herramientas de Software Libre de Jesus Carrius

 

Título: UTILIDADES Y HERRAMIENTAS DE SOFTWARE LIBRE
Autor: Jesis Carrois
Año: 2007
Páginas: 392 páginas
Tamaño: 17 MB
Fomato: PDF

Contenido:

Por software libre se entiende aquel que no sólo permite al usuario final ejecutar los programas, sino que también le confiere la libertad de acceder al código fuente y adaptarlo a sus necesidades, distribuir copias del software a terceras personas y publicar nuevas versiones.

Mucha gente, cuándo se habla de software libre, le viene a la cabeza las aplicaciones en modo texto que funcionan en los servidores, pero este movimiento también tiene a su disposición un gran número de utilidades para el usuario normal de escritorio.

En el curso de Herramientas y utilidades veremos algunos de los programas pensados para el entorno de trabajo de un usuario final. Estos programas nos permiten navegar de manera segura por la red (Mozilla), gestionar nuestro correo electrónico y trabajar en grupo (Ximan Evolution) y crear documentos de texto, hojas de cálculo o presentaciones al estilo del Microsoft Office (OpenOffice.org).

A lo largo del curso veremos cómo también podemos trabajar con estas herramientas libres en entornos propietarios como el Microsoft Windows aparte, claro está, del entorno GNU/Linux.

Los contenidos del curso se estructuran en dos grandes bloques. El primero está dedicado a las herramientas de Internet, representado por las unidades 1 y 2. El resto del temario está dedicado al programa OpenOffice.org, que, dada su complejidad, requiere muchas más unidades.

by Mauro at June 11, 2018 10:41 PM

Huawei prepara un procesador Kirin 710 para competir con Qualcomm

El Snapdragon 710 se ha convertido en uno de los SoCs más interesantes dentro de lo que podemos considerar gama media-alta. Esperamos que goce de una buena acogida entre los principales vendedores de smartphones, aunque Huawei apostará por seguir utilizando soluciones propias y el Kirin 710 será su respuesta al nuevo chip de Qualcomm.

Los que nos leéis a diario sabéis que Huawei ha dejado de utilizar casi por completo los SoCs de empresas como Qualcomm y MediaTek para montar sus soluciones Kirin, que son desarrolladas por HiSilicon y fabricadas por la empresa TSMC.

Su aventura le ha salido bastante bien, ya que soluciones como el Kirin 970 han demostrado que no tienen nada que envidiar a los SoCs tope de gama de Qualcomm, ya demás han conseguido innovar y marcar el camino a seguir gracias a la introducción de la NPU (unidad de procesamiento neural para inteligencia artificial).

Con el Kirin 710 veremos una evolución del concepto que introdujeron al lanzar el Kirin 970, ya que dicho SoC vendrá acompañado de una unidad de procesamiento neural de nueva generación, algo de lo que el Snapdragon 710 carece. Esto quiere decir que la solución de Huawei estará mejor preparada para trabajar con sistemas de inteligencia artificial, y que su rendimiento final podría ser muy superior al del chip de Qualcomm.

Por lo que respecta al resto de especificaciones (procesador y GPU) esperamos que utilice una CPU de ocho núcleos divididos en dos bloques, uno de alto rendimiento bajo la arquitectura Cortex-A75 y otro de bajo consumo basado en la arquitectura Cortex-A55. No tenemos detalles sobre la unidad gráfica, pero todo apunta a una Mali-G72.

El anuncio oficial del Kirin 710 se espera para el mes de julio. Recordad que este SoC se utilizará no sólo en los nuevos smartphones de gama media-alta de Huawei, sino también en la serie Honor, que es la segunda marca del gigante chino.

Fuente

by Mauro at June 11, 2018 10:12 PM

Microsoft Store permitirá la instalación remota de apps en cualquier PC con Windows 10

Microsoft está agregando una nueva característica a su tienda de aplicaciones Microsoft Store. Y es una que toma reminiscencia de una función de Windows Phone, “Install on my devices”, aunque en lugar de móviles la recrea para que funcione en cualquier PC con Windows 10.

Cuando abras la página de una app de la tienda y hayas utilizado previamente tu cuenta (cualquier ID Microsoft) para instalar dicha app, se mostrará botón con la etiqueta “Instalar en mis dispositivos”, como vemos con el siguiente ejemplo de Netflix:

Si haces clic en el botón “Instalar en mis dispositivos”, se te mostrará una lista de dispositivos registrados que usan tu cuenta. Desde ahí, puedes seleccionar los dispositivos donde desees instalar la app.

La característica funciona de manera similar a la función equivalente para instalar apps remotas desde Play Store de Google y la tienda para Windows Phone, pero en este caso para PCs con Windows 10.

Solo algunos usuarios tienen acceso a esta función, que según los foros de soporte se activó el pasado 6 de junio. ¿La habías visto? ¿La has probado?

Fuente

by Mauro at June 11, 2018 09:46 PM

Lenovo renueva sus portátiles Legion, sector gaming contentos

Lenovo ha anunciado una renovación de sus portátiles Legion, una gama que está dirigida al sector gaming y que desde su debut ha destacado por ofrecer una buena relación calidad-precio. Los que nos leéis a diario recordaréis que en algunos Red Friday hemos visto portátiles Legion en oferta con precios que rondaban los 600 euros, una cifra muy buena para un portátil gaming de verdad.

Tenemos dos modelos diferentes dentro de esa renovación de la serie Lenovo Legión: el Y530 y el Y730. El primero viene en una única configuración con pantalla de 15,6 pulgadas y el segundo estará disponible tanto en configuraciones de 15,6 como de 17,3 pulgadas. Ambas gamas tienen un acabado premium en aluminio y unos bordes de pantalla reducidos frente a la generación anterior. El peso también está muy ajustado, ya que el Y530 parte en su configuración base desde los 2,3 kilogramos y el Y730 pesa 2,1 kilogramos en su versión de 15,6 pulgadas y 2,9 kilogramos en su versión de 17,3 pulgadas.

A nivel de hardware el Lenovo Legion Y530 tiene una configuración básica que parte de un procesador Core i5 de octava generación, 8 GB de RAM y una GeForce GTX 1050, suficiente para jugar a cualquier título actual con garantías en resolución 1080p y calidades altas.

Por su parte el Lenovo Legion Y730 utiliza procesadores Core i5 y Core i7 de octava generación que soportan overclock, puede montar hasta 32 GB de RAM y cuenta con una GeForce GTX 1050 TI con 4 GB de GDDR5 en su configuración más básica.

La resolución de pantalla es FullHD en ambos modelos y tienen una frecuencia de refresco de 60 Hz, aunque Lenovo ofrecerá versiones con hasta 144 Hz y tecnología G-Sync de NVIDIA, que ayuda a acabar con los molestos efectos de stuttering (pérdida de sincronización de los FPS) y de ruptura de la imagen que se producen en algunos juegos.

Por lo demás tenemos teclados retroiluminados personalizables, unidades de almacenamiento SSD y HDD para unir rendimiento y capacidad y un sistema de refrigeración mejorado que resulta mucho más eficiente y silencioso.

El Lenovo Legion Y530 estará disponible en julio con un precio base de 929 dólares, mientras que el Lenovo Legion Y730 llegará en septiembre y costará 1.1799,99 dólares en su versión de 15,6 pulgadas y 1.249,99 dólares en su versión de 17,3 pulgadas.

Fuente

by Mauro at June 11, 2018 09:34 PM

Dale a Gimp la apariencia de Photoshop

Con este interesante Tweak podremos darle un tuneo a nuestro Gimp, no solo en apariencia similar a Photoshop, sino también en íconos, atajos del teclado y ubicación de paneles. Funciona bajo cualquier distro Linux y rama, comprobado.

Algunos dirán que con la opción de ventana unificada (como yo lo uso) es suficiente, pero para algunos nostálgicos o bien para animar a saltar la brecha les sirve y mucho este tweak con el cual dejarán a su Gimp totalmente sabor Photoshop.

Este tuneo fue realizado por Martin Owens y es muy fácil de usar, simplemente realizamos un par de cambios rápidos y ya tendremos nuestro Gimp muy parecido a esto (directamente desde mi Xubuntu con GIMP 2.9)

La verdad sorprendente el cambio, todos los íconos y los paneles, hermoso incluso para mi que no uso ni usé nunca Photoshop.-

 

Vamos a Instalarlo en GIMP 2.8:
1) Descargamos el zip con el contenido desde DevianArt

2) Hacemos un respaldo de la configuración actual:
Se puede usar nuestro gestor de archivos (RECORDAR QUE LOS DIRECTORIOS ESTÁN OCULTOS) o bien desde la terminal con: (reemplazar USER por el usuario de esa PC)

mv /home/USER/.gimp-2.8 /home/USER/.gimp-2.8-backup

3) Descomprimimos el contenido del Zip dentro de nuestro /home, veremos que nos crea una nueva carpeta llamada .gimp-2.8 y con eso estaría completo.

 

Vamos a instalarlo en GIMP 2.9:
1) Descargamos el zip con el contenido desde DevianArt

2) Hacemos un respaldo de la configuración actual:
Se puede usar nuestro gestor de archivos (RECORDAR QUE LOS DIRECTORIOS ESTÁN OCULTOS) o bien desde la terminal con: (reemplazar USER por el usuario de esa PC)

mv /home/USER/.config/GIMP/2.9 /home/USER/.config/GIMP/2.9.backup

3) Descomprimimos el contenido del Zip dentro de /home/.config/GIMP/, nos creará un directorio llamado .gimp-2.8 que deberemos renombrar luego a 2.9 con eso ya estaría.

 

Deshacer los cambios:
GIMP 2.8 (reemplazar USER por el usuario de esa PC)

rm -r /home/USER/.gimp-2.8
mv /home/USER/.gimp-2.8-backup /home/USER/.gimp-2.8

GIMP 2.9 (reemplazar USER por el usuario de esa PC)

rm -r /home/USER/.config/GIMP/2.9
mv /home/USER/.config/GIMP/2.9-backup /home/USER/.config/GIMP/2.9

Fuente

by Mauro at June 11, 2018 08:55 PM

SOLUCIÓN A: W: Error de GPG: http://ppa….. al intentar actualizar Debian, Ubuntu y derivados

Durante una actualización manual de mi Xubuntu 18.10 me devolvieron algunos errores de GPG los cuales trataremos de solucionar en este post. El problema es que la actualización del sistema no seguirá hasta que reparemos estos inconvenientes.

Vamos a reproducir el error:
– Actualizamos:

sudo apt-get update

El error que devuelve es, por ejemplo:

W: Error de GPG: http://ppa.launchpad.net precise Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 1F3045A5DF7587C3

En este caso el error está en la clave 1F3045A5DF7587C3. El error se da porque se intenta autenticar las firmas de los repositorios y las mismas están desactualizadas contra el PPA.

Para solucionarlo tenemos 2 métodos:
1) Con nuestra querida Terminal:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1F3045A5DF7587C3

Lo que hace este comando es consultar a un servidor seguro de Ubuntu y actualizar la clave pública del repositorio con una válida.
Esto lo tendremos que hacer con cada clave que salte cuando intentemos actualizar, reemplazando 1F3045A5DF7587C3 por la siguiente.

2) Método Gráfico con Y-PPA-MANAGER:
Y-PPA-MANAGER es un gestor de repositorios, el cual entre otras funciones, nos permitirá actualizar las claves de repositorios que poseemos.
– Instalamos Y-PPA-MANAGER

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

Luego ejecutamos el programa y vamos a Advanced y luego a Try to import all GPG keys.

Tendremos que esperar a que el proceso termine, puede demorar más de 2 o 3 minutos en completarse, quedando todas nuestras claves actualizadas correctamente.

by Mauro at June 11, 2018 08:38 PM

Libro: CORRE LINUX CORRE de Fernando Monroy



Título: CORRE LINUX CORRE
Autor: Fernando Monroy
Año: 2013
Páginas: 122 páginas
Tamaño: 16.47 MB
Fomato: PDF

 

 

 

 

Contenido:
Este es un libro NO oficial basado en la distribución de Ubuntu (Gnu Linux), esta desarrollado y pensado para todos aquellos que quieran iniciarse en el mundo de Gnu Linux.

Los procesos se explican de manera sencilla, de forma gráfica y didácticamente. Cuando uses este libro sentirás un “acompañamiento” como si alguien estuviera guiándote de forma presencial, pues así esta pensado.

Se reconoce y respeta que tanto la marca Linux como Ubuntu se encuentran registradas y se hace énfasis que este es un Libro No Oficial.

En Gnu Linux existen diferentes maneras de hacer los procesos de instalación y configuración, pero en esta guía se presenta el método más cómodo para el usuario novato.

by Mauro at June 11, 2018 05:14 PM

June 08, 2018

RooTeando

Rock64(I)

En el audio de hoy hablaré sobre la Rock64, esta enfocado al hardware, una pequeña descripción de los componentes y los pequeños problemas que tuve con la memoria eMMC. 

Rock64: https://www.pine64.org/?page_id=7147
Rock64Pro: https://www.pine64.org/?page_id=61454
Recursos de Rock64: https://www.pine64.org/?page_id=7175

Música: Sachiko Kanenobu- Live at WFMU- Look Up, The Sky Is Beautiful. http://freemusicarchive.org
 

Canales de Telegram @UnDiaUnaAplicacion @UnPythonAldia  ...

June 08, 2018 01:48 AM

June 07, 2018

Sobre bits

PowerCLI one-liners: Máquinas virtuales sin VMware Tools

Si hay algo que caracteriza a PowerShell (y PowerCLI) es la capacidad de realizar acciones aparentemente complejas en otros lenguajes de programación/scripting utilizando muy pocos carácteres. Es por ello que iniciamos la sección “PowerCLI one-liners” en la que iremos viendo utilidades de todo tipo con algo en común: que se pueden ejecutar en una sola línea. En la primera entrega vamos a ver como a listar máquinas virtuales sin VMware Tools.

Listar máquinas virtuales sin VMware Tools, algo no tan fácil si no sabes dónde mirar

Si tenemos algo de experiencia utilizando PowerCLI se nos puede pasar por la cabeza lo más obvio: ¿máquinas virtuales sin VMware Tools? Fácil, listo las VMs con Get-VM y a partir de ahí me las apaño para buscar alguna propiedad que indique si están instaladas. El gran problema de ésto es que no existe dicha propiedad, por lo que tendremos que tirar de Get-View para la tarea (o de la propiedad ExtensionData que realmente accede a un objeto con las propiedades de Get-View desde Get-VM).

Get-View es un CMDlet que nos devuelve un objeto “vSphere .Net View” al contrario que Get-VM que nos devuelve un objeto “PowerShell VIObject”. Para esta entrada la diferencia que nos interesa es que con Get-View sacámos un objeto con 147 métodos y propiedades, y con Get-VM sacámos un objeto con “sólo” 41, y de entre esos 147 métodos y propiedades de Get-View está el estado de las VMware Tools.

Ahora sí, listando máquinas virtuales sin VMware Tools con un one-liner

Después de esta pequeña intro sobre la diferencia entre Get-View y Get-VM vamos a lo que toca, éste es el one-liner y la descomposición del mismo:

Get-View -ViewType VirtualMachine | Select-Object Name, @{ Name="VersionTools"; Expression={$_.config.tools.toolsVersion}} | Where-Object {$_.VersionTools -eq 0}
  • Get-View -ViewType VirtualMachine: Listamos todas las VM’s de nuestro Datacenter.
  • Select-Object Name, @{ Name=”VersionTools”; Expression={$_.config.tools.toolsVersion}}: Seleccionamos la propiedad “Name” y una propiedad a la que llamamos “VersionTools” con el número de versión de las VMware Tools.
  • Where-Object {$_.VersionTools -eq 0}: Filtramos sólo las VM’s que tengan versión “0”, es decir, que no tienen las tools instaladas.

Después de ejecutarlo deberíamos ver algo similar a esto:

Máquinas virtuales sin VMware Tools

Una tarea muy sencilla que podemos programar y con la que obtendremos más control sobre nuestra infraestructura.

La entrada PowerCLI one-liners: Máquinas virtuales sin VMware Tools aparece primero en Sobrebits.

by Marc Meseguer at June 07, 2018 03:41 PM

June 03, 2018

Sobre bits

Monitorizar la licencia de Veeam Backup con Nagios y PowerShell

Todos los Sysadmin tenemos que lidiar en nuestro día a día con tareas apasionantes como las expiraciones de garantía, licencias y soporte de los productos que utilizamos en nuestras compañías. Para facilitar ésta tarea me decidí a crear el plugin “check_veeam_license_expiration” con el que monitorizar la licencia de Veeam Backup desde Nagios con PowerShell.

Si bien existen y se deben usar métodos de seguimiento calendarizados, es muy útil disponer de un check en nuestro sistema de monitorización que nos de el chivatazo si por algún motivo se nos ha olvidado tramitar las renovaciones correspondientes o éstas no se han realizado automáticamente.

En el caso de Veeam Backup es especialmente importante llevarlo al día porque la combinación de una licencia de pago por uso (que se debería autorenovar cada poco tiempo y no siempre lo hace) y el hecho de que sin licencia fallen todos los backups nos puede llevar a más de una sorpresa desagradable.

Cómo monitorizar la licencia de Veeam Backup con Nagios

Para utilizar el plugin check_veeam_license_expiration y monitorizar la licencia de Veeam Backup desde Nagios necesitaremos lo siguiente en el servidor de destino:

  • Tener Veeam Backup and Replication instalado, obviamente.
  • Permitir la ejecución de scripts en PowerShell.
  • Tener NSClient++ instalado y correctamente configurado.

Para descargarlo podemos dirigirnos a la página del plugin en Nagios Exchange, o bien, directamente hacerlo desde GitHub.

El uso del script es muy sencillo:

check_veeam_license_expiration.ps1 -w 5 -c 2

Los parámetros que podemos utilizar son los siguientes:

  • Warn (o su alias “w”): Días restantes de licencia para mostrar estado Warning.
    • Si no se especifica su valor por defecto es 7.
  • Crit (o su alias “c”): Días restantes de licencia para mostrar estado Critical.
    • Si no se especifica su valor por defecto es 2.

Y el check funcionando quedaría así:

Monitorizar la licencia de Veeam

¿Qué hace realmente check_veeam_license_expiration?

Básicamente lo que hace check_veeam_license_expiration es consultar el valor de la clave de registro correspondiente a la licencia de Veeam Backup y compararlo con la fecha actual:

HKLM:\SOFTWARE\VeeaM\Veeam Backup and Replication\license

En función de los días que quedan para la expiración el plugin devolverá los correspondientes estados Ok, Warning o Critical para que Nagios los gestione.

En próximas entradas veremos paso a paso cómo crear un plugin de Nagios con PowerShell desde cero y cómo configurar NSClient++ y Nagios para ejecutarlo.

La entrada Monitorizar la licencia de Veeam Backup con Nagios y PowerShell aparece primero en Sobrebits.

by Marc Meseguer at June 03, 2018 05:30 PM

June 01, 2018

RooTeando

Tomando Un Café 33: Videos para aprender a programar

En el audio de hoy hablaré sobre aprender a programar viendo solo videos, mi opinión sobre este tema y cual es la mejor proceso de aprendizaje para la programación.

Música: The Polish Ambassador-Pusing through the pavement. The Juiceman Cometh ft. Saqi http://freemusicarchive.org

Canales de Telegram @UnDiaUnaAplicacion @UnPythonAldia @AprendePython


Correo [email protected]
Twitter https://twitter.com/Tomando_Un_Cafe

RSS
Anchor.fm  http://anchor.fm/s/18c0860/podcast/rss
Blog(post y ...

June 01, 2018 01:01 AM

May 31, 2018

UnLugarEnElMundo

WordPress. El misterioso caso del cuelgue diario a las 9 de la mañana

icono de wordpress Los blogs están muertos. Por fin. Bueno, no todos. Hay alguno que resiste hoy y siempre a la invasión de las redes sociales. A ratos me gusta pensar que este es uno de ellos… pero si soy sincero conmigo mismo ciertamente está un poco desnutrido. No le presto mucha antención, no… Hace meses, por ejemplo, que se cuelga durante aproximadamente media hora todas las mañanas y ni siquiera me he preocupado de ver que le pasa. Bueno, ya no. Ya está arreglado. Los malos hados subestiman el poder de esas tareas tediosas y desagradables que hacen que hasta te den ganas de ponerte a planchar o a limpiar los baños. Bueno, yo me he conformado con arreglar por fin este problemilla. Los baños otro día. 🙂

¿Síntomas mi querido Watson? Apenas nada: la indisponibilidad se producía por un elevado consumo de CPU y mirando con htop resulta que la responsable es mariadb (aunque en el pantallazo aparezca mysql ya sabéis que son compatibles a nivel binario).

htop - mysql se come todo el tiempo de proceso de ambos cores

Alguna pista mas: conéctandome a mariadb observo que lo que se están ejecutando son consultas aparentemente bastante simples sobre la tabla wp_options:

MariaDB [unlugar]> show processlist;
+-------+---------+-----------+---------+---------+------+--------------+------------------------------------------------------------------------------------------------------+----------+
| Id    | User    | Host      | db      | Command | Time | State        | Info                                                                                                 | Progress |
+-------+---------+-----------+---------+---------+------+--------------+------------------------------------------------------------------------------------------------------+----------+
| 29462 | unlugar | localhost | unlugar | Query   | 1043 | Sending data | DELETE a, b FROM wp_options a, wp_options b
			WHERE a.option_name LIKE '\\_transient\\_%'
			AND a. |    0.000 |
| 29552 | root    | localhost | unlugar | Query   |    0 | init         | show processlist                                                                                     |    0.000 |
| 29559 | unlugar | localhost | unlugar | Query   |   40 | update       | INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('jetpack_nonce_15275779 |    0.000 |
| 29560 | unlugar | localhost | unlugar | Query   |   22 | updating     | UPDATE `wp_options` SET `option_value` = '1527578481.1030609607696533203125' WHERE `option_name` = ' |    0.000 |
| 29561 | unlugar | localhost | unlugar | Query   |    7 | updating     | UPDATE `wp_options` SET `option_value` = '1527578505', `autoload` = 'yes' WHERE `option_name` = 'jet |    0.000 |
| 29562 | unlugar | localhost | unlugar | Query   |    0 | updating     | UPDATE `wp_options` SET `option_value` = '1527578503.1177010536193847656250' WHERE `option_name` = ' |    0.000 |
+-------+---------+-----------+---------+---------+------+--------------+------------------------------------------------------------------------------------------------------+----------+

Así que le echamos un vistazo a esa tabla y resulta que tiene la friolera de más de 40.000 registros y consume cerca de 38 Megas de espacio ¿Qué tiene dentro?¿Los casos de corrupción del PP? Porque la estructura de la tabla también es bastante simplona:

MariaDB [unlugar]> describe wp_options;
+--------------+---------------------+------+-----+---------+----------------+
| Field        | Type                | Null | Key | Default | Extra          |
+--------------+---------------------+------+-----+---------+----------------+
| option_id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| option_name  | varchar(191)        | NO   |     | NULL    |                |
| option_value | longtext            | NO   |     | NULL    |                |
| autoload     | varchar(20)         | NO   |     | yes     |                |
+--------------+---------------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

Un último dato: la exactitud en la periodicidad me escamaba también. Incluso uno de esos días de puentes con un tiempo maravilloso donde no queda ni el friki más irredento paseándose por algo donde no despachan cerveza el blog también se caía. Y a la misma hora, así que le eché un vistazo al cron del sistema y no había nada que se lanzara a esa hora. ¿Y? De repente recordé que wordpress viene con su propio planificador de tareas y que estas se pueden inspeccionar fácilmente. Por ejemplo a través del plugin WP Cron Cleaner. Bingo. Ahí la tengo: Justo a las 9.04 y todos los días hay una tarea que se llama delete_expired_transients. Y eso de “transient” ya era algo que habíamos visto por ahí arriba en la consulta que se estaba realizando en mariadb.

El proceso que se lanza diariamente alrededor de las 9 realiza una limpieza de transients

Tocaba googlear a ver que es eso de los transients pero ya teníamos datos suficientes para reunir en la biblioteca a todos los implicados y desvelar quien es el asesino.

Los transients, al parecer, son registros con información temporal que proviene de los plugins que tenemos instalados. ¿Sirven para algo? Pues una vez que caducan no, para nada. De hecho precisamente por eso está ahí esa tarea que elimina los caducados. ¿Qué es lo que ocurre entoces? Pues que es evidente que muy bien no funciona porque la mayoría de esos 40.000 registros son transients. Más de 35.000, de hecho. Y la búsqueda se realiza a través del campo wp_options que como vemos no está indexado. Fatal. La primera aproximación al problema pasa, pues, por crear un índice sobre esa columna:

MariaDB [unlugar]> alter table wp_options add index (option_name);
Query OK, 0 rows affected (3 min 47.86 sec)         
Records: 0  Duplicates: 0  Warnings: 0

Mano de santo, oigan. Al día siguiente a las 9.04 por primera vez en meses el blog no se colgó. ¿Lo dejo así?¿Con una tabla diez veces mas grande que el contenido de todo lo escrito en el blog?¿Hasta donde la dejo crecer entonces? Toca hacer otra búsqueda y por ahí me encuentro con mucha mas gente que ha tenido problemas similares y que asegura que se puede hacer tábula rasa y borrarlos todos. Así que hago un backup rápido, los elimino… y parece que todo va bien. Fantástico 🙂

¿Cómo eliminarlos? Pues a través de línea de comando es fácil:

MariaDB [unlugar]> DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%')

Puestos a buscar una solución más cómoda y permanente para no llegar de nuevo aquí dentro de 10 años encontré otro plugin (Transient Cleaner) que te permite borrarlos puntualmente y/o programar una tarea para hacer una limpieza mas efectiva que la de wordpress de forma periódica.

Y listo. O eso parece. Mañana los baños. Sin falta 🙂

Artículo Original: .

Este artículo pertenece a Un lugar en el mundo... Si quieres ver actualizaciones y comentarios interesantes visita el texto original en: WordPress. El misterioso caso del cuelgue diario a las 9 de la mañana || Hospedado en un Cloud VPS de Gigas.

by Josemaría at May 31, 2018 10:25 AM

May 29, 2018

blogofsysadmins.com

wkhtmltopdf: cannot connect to X server “centos 7”

Me lo voy a dejar aquí escrito, porque tengo muy mala cabeza y ahora hay mucho Symfony destroyer que se meten cabezazos por el error este. Lo primero de todo, instalamos e iniciamos el servicio de Xvfb (Virtual framebuffer es un servidor X11 que ejecuta todas las operaciones gráficas en memoria, sin mostrar nada por …

by GhOsTi at May 29, 2018 05:10 PM

May 24, 2018

# rm-rf.es

Cambio de URL para feeds y cancelación de suscripciones por correo

Una entrada rápida para informaros que con motivo del Reglamento General de Protección de Datos (RGPD) que entra en vigor mañana, me veo en la obligación de eliminar las suscripciones por correo electrónico. A partir de ahora, podéis seguir el blog a través de las redes sociales o mediante la nueva URL de RSS, cualquiera de las siguientes:

Redes sociales:

by Alex at May 24, 2018 07:35 AM

May 22, 2018

soyadmin.com

Jugando con la paquetería en ARCH (Manjaro – Antergos – Chakra)

En este post hablaremos un poco de los comienzos en Manjaro, si luego de una instalación de cero. Como entender la paquetería de Manjaro (Arch) y conocer los comandos básicos para Instalar, Actualizar, Modificar y Eliminar paquetes.

Como ya todos sabrán Manjaro está basada en Arch y como tal utiliza PACMAN como gestor de paquetes y binarios de los repositorios originales de Arch Linux. AUR es el repositorio comunitario y YAOURT vendría a ser un complemento de PACMAN para poder compilar y dar forma a AUR. Esto sería a grandes rasgos, ahora detallemos un poco la funcion de PACMAN, AUR y YAOURT:

PACMAN
En Linux el soft está en binarios, cada rama de distribuciones tienen sus propios intérpretes de dichos binarios, (por ejemplo apt-get en Debian y derivados o yum en Fedora y RedHat, etc) PACMAN vendría a ser el gestor de paquetes de binarios de Manjaro (Arch) el cual nos permitirá instalar, actualizar eliminar estos paquetes. En los repositorios Arch los paquetes vienen compilados y se dividen de la siguiente manera:

Core: Paquetes esenciales del sistema, como el kernel Linux o las herramientas de GNU.
Extra: Paquetes no esenciales, pero que son importantes como entornos de escritorio y programas.
Testing: Paquetes en estado de pruebas, que luego van a Core o a Extra.
Community: Paquetes de AUR más votados por la comunidad de usuarios y adoptados por un Trusted User(usuario que el equipo de Arch considera de confianza).
Community Testing: Contiene paquetes de AUR en estado de prueba para ser luego transferidos a Community.
Multilib: repositorio centralizado para usuarios x86_64, para dar soporte más fácilmente a aplicaciones 32-bit en ambientes 64-bit.
Multilib-testing: con paquetes de prueba para multilib.

AUR (Arch Users Repository)
Es el Reporsitorio de la Comunidad, en el cual se incluyen miles y miles de paquetes de código fuente. AUR centraliza el software subido por la comunidad junto con su respectivo PKGBUILD. Esto le permite a cualquier usuario descargar el paquete, compilarlo fácilmente usando makepkg e instalarlo usando Pacman. Aunque suene medio complejo no es así.

YAOURT (Yet AnOther User Repository Tool)
Llega para facilitarnos las cosas, es un complemento de Pacman que nos compila e instala paquetes AUR. Además de esto podemos usarlo para actualizar estos paquetes a sus últimas versiones, es decir hace una indexación de AUR y chequea si hay actualizaciones. Al estar funcionando bajo Pacman también actualiza los paquetes oficiales de Arch.

Como se usan Pacman y Yaourt?

pacman -S “paquete” (Instala un paquete)
pacman -Sy “paquete” (Sincroniza repositorios e instala el paquete)
pacman -Sy (Sincroniza repositorios)
pacman -Syy (Fuerza la sincronización de repositorios incluso para paquetes que parecen actualizados)
pacman -Syu (Sincroniza repositorios y actualiza paquetes)
pacman -Syyu (Fuerza sincronización y actualiza paquetes)
pacman -Su (Actualiza paquetes sin sincronizar repositorios)
pacman -Ss “paquete” (Busca un paquete)
pacman -Si “paquete” (Muestra información detallada de un paquete)
pacman -Sg “grupo” (Lista los paquetes que pertenecen a un grupo)
pacman -Qs “paquete” (Busca un paquete instalado)
pacman -Qi “paquete” (Muestra información detallada de un paquete instalado)
pacman -Qdt (Muestra paquetes huérfanos)
pacman -R “paquete” (Borra paquete sin sus dependencias)
pacman -Rs “paquete” (Borra paquete y sus dependencias no utilizadas)

yaourt -S "paquete" (Busca e instala el paquete, si es de los repositorios oficiales lo instala. Si es de AUR, lo compila y lo instala)
yaourt -Syua (Sincroniza, actualiza y comprueba actualizaciones de paquetes AUR instalados)

Ejemplo:

Espero les sirva este principio de tutorial, el cual sirve para cualquier distro ARCH. Saludos!

by Mauro at May 22, 2018 02:58 PM

May 21, 2018

soyadmin.com

Terminal: NeoFetch & Screenfetch 2 herramientas para consultar la Información del Sistema

Hoy les traemos 2 programas perfectamente funcionales y de hecho muy parecidos entre sí, con los cuales podremos ver la Información Básica de Nuestro Sistema, esto realizado automáticamente desde nuestra terminal.

NeoFetch y ScreenFetch escanean nuestro sistema y recopilan información rápida y básica sobre lo que poseemos tanto de Software como de Hardware. Esto incluye:

Hoy les traemos 2 programas perfectamente funcionales y de hecho muy parecidos entre sí, con los cuales podremos ver la Información Básica de Nuestro Sistema, esto realizado automáticamente desde nuestra terminal.

NeoFetch y ScreenFetch escanean nuestro sistema y recopilan información rápida y básica sobre lo que poseemos tanto de Software como de Hardware. Esto incluye:
El logo de nuestra distribución.
Nuestro nombre de usuario y el nombre del equipo.
La versión del Kernel que estamos usando.
El tiempo que lleva abierto nuestro ordenador.
El número de paquetes que tenemos instalado en nuestro sistema operativo.
La versión de Bash que estamos usando.
La resolución de nuestra pantalla.
El entorno de escritorio que estamos utilizando.
El tema que estamos usando en nuestro sistema operativo.
El tema de iconos que estamos usando.
El tipo de fuente que tenemos configurada.
El procesador que tiene nuestro ordenador.
La tarjeta gráfica que tiene nuestro ordenador.
La memoria RAM usada y disponible de nuestro ordenador.

 

1) NEOFETCH
Está escrito en Bash, muestra el logotipo de nuestra distribución base en ASCII. Muestra y detalla información que si bien parece básica puede resultarnos muy útil y sin necesidad de diversos comandos o de aplicaciones complejas.

NeoFetch al estar diseñado en Bash puede ser utilizado en cualquier sistema que permita ejecutar Bash, lo que significa que se puede usar en Linux, MacOS, iOS, BSD, Solaris, Android y Windows 10. Un súper multiplataformas.

Como lo Instalamos:
DEBIAN, UBUNTU Y DERIVADAS:

sudo add-apt-repository ppa:dawidd0811/neofetch
sudo apt update && sudo apt install neofetch

ARCH LINUX Y DERIVADAS:

yaourt -S neofetch

FEDORA:

su -c
dnf install dnf-plugins-core
dnf copr enable konimex/neofetch
dnf install neofetch

Para ejecutarlo una vez instalado, simplemente:

neofetch

Para ver la ayuda y complementos:

neofetch --help

 

2) SCREENFETCH
ScreenFetch está diseñado en Bash y al igual que NeoFetch nos ayuda a ver y tener una idea básica de la Información de nuestro Sistema. Presentada elegantemente con el logo de la distro que estamos ejecutando en nuestra PC.

Como lo Instalamos:
DEBIAN, UBUNTU Y DERIVADAS:

sudo apt-get install screenfetch

ARCH LINUX Y DERIVADAS:

sudo pacman -S screenfetch

FEDORA:

sudo dnf install screenfetch

Para ejecutarlo una vez instalado, simplemente:

screenfetch

Para ver la ayuda y complementos:

man screenfetch

 

Estas son 2 alternativas muy válidas para tener un pantallazo general del sistema que poseemos, tanto en Hardware como en Software. Fáciles de usar, se pueden configurar y editar la información a mostrar, todo esto directamente desde la terminal 🙂

by Mauro at May 21, 2018 02:42 PM

Timeshift un sistema de Backups and Restore para Linux.

Todos sabemos o comprendemos que la rotura de un disco o una mala jugada de un comando pasado bajo sudo puede hacer que nuestros archivos queden fritos.

Ante esto todos creo que somos conscientes que hoy en día sea el SO que sea lo mejor es siempre tener a mano un respaldo, backup, copia de seguridad o como quieran llamarlo.

Existen muchísimas herramientas o aplicaciones, incluso varias distribuciones traen su propia app encargada de hacer esta tarea de backups.

Hoy les presento a Timeshift, un excelente software que nos puede salvar la vida ante alguna catástrofe…
Timeshift sirve para restauración de nuestro sistema completo, es decir no solo backupea archivos personales, sino que realiza una copia completa o espejo de nuestra PC, toda nuestra distribución de principio a fin.
En caso de comprar un nuevo disco o pc y deseamos replicar todo lo que teníamos. En caso de una configuración, instalación extrema que pueda salir mal, sirve como regresión a un estado anterior en el cual todo funcionaba correctamente.

Timeshift no solo copia nuestros archivos personales o nuestras aplicaciones, captura el SO completo con configuraciones, aplicaciones, personalizaciones en una sola imagen.

 

Como lo instalamos?
Ubuntu y derivadas:

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift

Arch y derivadas:

yaourt timeshift

 

Como Funciona?
Hacer un respaldo:
Lo primero será iniciar nuestro programa desde el menú, nos pide permisos de root e inicia un Setup Wizard donde nos guiará paso a paso como hacer nuestro primer backup. Le damos a finalizar así vemos directamente las opciones de este excelente programa.

Si le damos a “Create” empezará directamente la copia de seguridad con los valores de configuración defaults, por lo que lo mejor es arrancar por las opciones, vamos a “Settings” y veremos:

Type: Nos permite elegir el modo de respaldo, yo lo deje en RSYNC que hace un respaldo completo del sistema por primera vez y luego incrementales segun la peridicidad que elijamos. Luego esta tambien disponible la opción de BTRFS

Location: Tenemos un listado de nuestros discos y particiones disponibles donde resguardar nuestra información.

Schedule: Nos permitirá elegir la periodicidad con la que se realizan los respaldos, y la cantidad de copias que podemos guardar de cada uno. Por ejemplo hacemos respaldo semanalaes y guardamos 2 semanas.

Filters: Nos permite agregar carpetas o archivos que no queremos que respalde. Por ejemplo en mi caso saco las carpetas de Dropbox y Mega ya que sincronizo nuevamente si en algún momento tengo problemas.

Dependiendo de lo que deseemos, podemos darle a “Create” y empezará nuestro respaldo o bien cerramos la aplicación y esperamos a que se autoejecute con la periodicidad que elegimos en Schedule.

 

¿Ahora, que pasa si necesitamos restaurar?
En caso de que llegue ese momento donde nuestro sistema se derritió, necesitaremos acceder a nuestra PC mediante un Live USB de la distro que deseemos. Aunque si nuestra pc está operativa, timeshift permite que restauremos un respaldo desde nuestro mismo del linux operativo.

 

Los pasos son fáciles:
Instalamos Timeshift y este buscará en los discos o extraibles las copias de seguridad que poseamos para proceder a restaurarlas.

Una vez que seleccionamos la copia deseada, vamos a “Restore” y alli nos pedirá que elijamos donde restaurar y también nos permitirá elegir que aplicaciones excluir en caso de que lo querramos.

 

Desinstalar:
Si vemos que timeshift no nos convence y queremos eliminarlo de nuestro sistema, lo primero es ingresar y eliminar cada respaldo desde la misma aplicación.
Luego de eso desinstalamos con:

sudo timeshift-uninstall

by Mauro at May 21, 2018 01:45 AM

May 18, 2018

# rm-rf.es

Oracle VM Manager: Event queue is full. Drop new event …

En la versión 3.4.2 de Oracle VM, existe un bug que provoca que los jobs que ejecutemos desde la interfaz web de Oracle VM Manager se queden atascados y no terminen nunca. Además, la creación, borrado o clonado de máquinas virtuales tampoco funcionan.

Analizando el log del agente ovs-agent.log se observa que continuamente aparece una entrada similar a lo siguiente:

[2018-01-12 10:32:33 3700] WARNING (notificationserver:119) Event queue is full. Drop new event: {SERVER} {STATUS} {'timestamp': 1419241357C01L, 'lastBootTime': 1419241357C01L}
[2018-01-12 10:32:34 3700] WARNING (notificationserver:119) Event queue is full. Drop new event: {SERVER} {STATUS} {'timestamp': 1476369052402P, 'lastBootTime': 1469741057102P}

El problema como podéis ver es que la cola de eventos está llena, impidiendo el funcionamiento correcto de los jobs. La solución, en esta versión concreta (3.4)es únicamente reiniciar el agente en todos los servidores:

# service ovs-agent restart

Los agentes se pueden reiniciar sin problema, pues no afectará a las máquinas virtuales. En caso de que siguieras teniendo problemas, reinicia completamente Oracle VM Manager:

# service ovmm stop
# service ovmm start

by Alex at May 18, 2018 08:33 PM

soyadmin.com

Prueba

Mantenimiento de servidores:

SERVIDOR:
# Controlar tamaños de ficheros, mayores a 500MB dentro de /home /root /usr/local/apache/logs/
find . -type f -size +50000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

# Eliminar logs "rotados" dentro de:
/usr/local/cpanel/logs/archive

# Empezar a controlar con el MC carpetas perdidas y archivos raros dentro del /root, dentro del /home etc.

# Controlar Backups
# Repara y optimiza las bases mysql
mysqlcheck -r --all-databases
mysqlcheck -o --all-databases

# Borrar los temporales de analisis clamav
rm -fr /var/spool/exim/scan/*

# Limpiar la cache de yum ( /var/cache/yum/ )
yum clean all

# Borrar los temporales de logwatch
rm -fr /var/cache/logwatch/*

# Borra los archivos temporales de horde
rm -f /var/cpanel/horde/tmp/*
rm -fr /var/cpanel/horde/tmp/.horde/imp/attachments/*
[cc lang="bash"]
# Dentro de /tmp
# Clean up PHP temp. session files
ls | grep 'sess_*' | xargs rm -fv
# Clean up dead vBulletin uploads
ls | grep 'vbupload*' | xargs rm -fv
# Clean up trash left by Gallery2
ls | grep '[0-9].inc*' | xargs rm -fv
# Clean up failed php uploads
ls | grep 'php*' | xargs rm -fv
# Clean up failed ImageMagick conversions.
ls | grep 'magick*' | xargs rm -fv
[cc lang="bash"]
WHM:
# Chequear actualizaciones de:
WHM
SCRIPTS
PHP
APACHE
MYSQL

# Controlar avisos del Firewall

# Ver que todos los sitios esten dentro del cagefs

# Controlar versiones de php en easyapache

by Mauro at May 18, 2018 01:32 PM

May 16, 2018

Entre Dev Y Ops

Podcast 39: Entrevistas de trabajo

En el episodio 39 del podcast hablamos sobre las entrevistas de trabajo, tanto desde el punto de vista del entrevistado como del entrevistador.

May 16, 2018 10:35 PM

RooTeando

Tomando Un Café 32: Zenkit, organizando tus tareas

En el audio de hoy hablaré sobre la herramienta Zenkit, comentare mis primeros pasos en  esta, muy recomendable, herramienta. Como se instala y configura, también explicaré las funcionalidades que he utilizado y otras que he visto.  

Muy recomendable ver los siguientes tutoriales en video, para conocer mejor Zenkit.
https://zenkit.com/tutorials
Clientes disponibles
https://zenkit.com/apps

 Música: Blue Dot Sessions- The Balloonist-02 UpUpUp and Over http://freemusicarchive.org/
 

Canales de Telegram  ...

May 16, 2018 01:48 AM

May 15, 2018

soyadmin.com

¡Hola mundo!

Bienvenido a WordPress. Esta es tu primera entrada. Editala o borrala, ¡y comenzá a escribir!

by Mauro at May 15, 2018 08:13 PM

May 09, 2018

CloudAdmins.org

Barcelona Cloud Techday 24/5 : Especial OpenNebula y VMware

 https://opennebula.org/community/techdays/techday-barcelona-2018/

The OpenNebula Cloud TechDays are day-long educational and networking events to learn about OpenNebula.  Join our technical experts from OpenNebula by OpenNebula Systems for a one-day, hands-on workshop on cloud installation and operation. You’ll get a comprehensive overview of OpenNebula and will be equipped with the skills to take this back to your company and implement right away.

Sponsors

Local Organizer

CSUC, which stands for Consorci de Serveis Universitaris de Catalunya (Catalan Consortium for University Services), shares academic, scientific, library, transfer of knowledge and management services to associated entities to improve effectiveness and efficiency by enhancing synergies and economies of scale. It’s integrated by the Generalitat de Catalunya and ten Catalan universities (UB, UAB, UPC, UPF, UdL, UdG, URV, UOC, URL and UVic-UCC).

Location

The TechDay will be held at

CSUC
Gran Capità street, no number
CSUC Building
Barcelona, Spain

Contact: [email protected]

Call for Speakers

Send us an email at [email protected] if you are interested in speaking at this TechDay and:

  • Sharing cloud use cases and deployment experiences
  • Introducing new integrations and ecosystem developments
  • Describing other related cloud open-source projects and tools

Registration

The number of seats is limited  to ensure there is plenty of opportunity for everyone to interact. We encourage everyone to register as early as possible.

Agenda and Speakers

Agenda will include a hands-on cloud installation and operation tutorial, and presentations from OpenNebula community members and users. Send us an email at [email protected] if you are interested in speaking at this TechDay.

09:15 – 09:30: Check-in

09:30 – 09:35: Welcome to Open Cloud TechDay Barcelona

09:35 – 11:00: Session 1, OpenNebula Project

09:35 – 10:00: OpenNebula and VMware

Tino VázquezOpenNebula SystemsIntroduction to OpenNebula on  VMware.

10:00 – 10:30: LINBIT

TBD

10:30 – 11:00: Flexible infrastructures for future Cloud

Daniel Justicia,IT Product Manager – Huawei

11:00 – 11:30: Coffee & Soda

11:30 – 12:15: Session 2, OpenNebula Experiences

ONE Xperience at Facultat d’Informàtica de Barcelona

Daniel Sanchez,inLab UPC

ONE Tips & Tricks

Xavier Peralta,CSUC

ONE and Hybrid Cloud – Terraform

Cristina Jerez,iThinkUPC

Hybrid Clouds: Dancing with “Automated” Virtual Machines

Jordi Guijarro,CSUC

12:15-13:45: Hands-on Part I: OpenNebula in Action

Juan Montiel,OpenNebula Systems.This hands-on tutorial will give an overview of how OpenNebula is used to build and operate private clouds. The attendees will build, configure and operate their own OpenNebula cloud.

13:45 – 14:30: Lunch

14:30-16:30: Hands-on Part II: OpenNebula in Action

Contents

  • Configuration and basic usage
  • An introduction to cloud computing with OpenNebula
  • The architecture of the cloud
  • Planning and installing OpenNebula
  • Virtualization hosts management
  • Basic datastore configuration
  • Basic virtual network creation
  • VM Template creation & instantiation

Methodology

This is an interactive course, where the attendees operate on their own labs with a 3-node OpenNebula cloud, which are provided during the course. OpenNebula provides an abstraction layer on top of the infrastructure and technologies deployed in the datacenter. In order for the attendees to get the best understanding possible of OpenNebula as a whole, the labs used during the course make use of the most common open-source technologies that can be used to deploy an OpenNebula cloud. For example, the hypervisor technology used during the course will be KVM, shared file-system for storage, and regular linux bridges and linux firewall for networking. Other technologies supported by OpenNebula will be addressed and discussed as well.

Audience

The target audience is devops and system administrators interested in deploying a private cloud solution, or in the integration of OpenNebula with other platform.

Skills Gained

  • Describe the features and benefits of using virtualization and clouds
  • Describe different architectures for a cloud that can be deployed with OpenNebula
  • Deployment and basic configuration OpenNebula
  • Basic operation of an OpenNebula cloud instance

Prerequisites

No prior OpenNebula skills are required, but participants should have working knowledge of virtualization, networking and Unix/Linux systems.

Material

The instructor will rely on a set of PDF documents that will be explained throughout the course. These documents will be made available to the attendees right at the very beginning of the course. Attendees need a laptop to connect to their hands-on labs.

16:30: Open Space

This is a session for attendees to gather and discuss passionate questions, burning ideas, features, integrations or any topic of their choice, in an informal and tech-friendly environment, with other passionate and interested people.There is no preplanned list of topics, only time slots and a space in one of the meeting rooms where interested participants propose topics and pick time slots.

by Cloudadmin JordiGuijarro at May 09, 2018 09:26 AM

May 08, 2018

RooTeando

Tomando Un Café 31: Alternativas Raspberry

En el audio de hoy tendré un pequeña reflexión sobre la compra de una alternativa de una Raspberry Pi, porque son tan desconocidas para el gran público. Reflexiono los motivos principales porque se compra Raspberry y no cualquiera de su alternativas, y si son verdad o no.

Música: Kevin MacLeod-Blues Sampler-08 Slow Burn http://freemusicarchive.org

Canales de Telegram @UnDiaUnaAplicacion @UnPythonAldia @AprendePython

Correo [email protected]
Twitter https://twitter.com/Tomando_Un_Cafe

RSS
Anchor.fm  http ...

May 08, 2018 01:50 AM

May 06, 2018

joseangelfernandez.es

Azure y los servicios disponibles por región en una tabla de Excel

Esta semana, revisando una de nuestras listas de distribución internas, he descubierto un interesante truco para tener de forma fácil en un fichero Excel el resumen de servicios disponibles en Azure por región. Cuando solo existían unas pocas regiones era fácil recordarlo; sin embargo, con casi 50 regiones disponibles en breve se ha vuelto prácticamente imposible.

Desde Excel 2010 existe una funcionalidad basada en PowerQuery que permite recuperar información desde diferentes fuentes de datos e incluirla directamente en una hoja de cálculo. En este caso, la que nos interesa es la opción de obtenerla desde una página web

Al mismo tiempo, Azure proporciona un listado de todos los servicios por región disponibles. La experiencia es bastante buena pero puede no ser suficiente si necesitas por algún motivo tener el listado en un fichero para consultar sin conexión. ¿Cómo resolverlo? Vamos allá.

En primer lugar, abrimos Excel y nos dirigimos a la pestaña de Data. Dentro de ella encontraremos la opción de Get Data > From Other Sources > From Web

Obteniendo información en Excel desde una WebObteniendo información en Excel desde una Web

Una vez seleccionado se abrirá el asistente que nos guiará en el proceso. En primer lugar será necesario copiar la dirección de la página web de Azure donde se encuentra el listado: https://azure.microsoft.com/en-us/global-infrastructure/services/ y pasar al siguiente paso. Esto iniciará el proceso de búsqueda de información disponible en dicha página web y nos permitirá previsualizarla.

Primer paso asistente de Excel para obtener datos desde una WebPrimer paso asistente de Excel para obtener datos desde una Web

De las dos opciones que encuentra, nos interesará la que aparece como Table 0. La seleccionamos y a continuación hacemos click en Load. Excel comenzará a analizar la página web y a extraer la información disponible. Mientras dura el proceso se nos mostrará lo siguiente:

Mensaje de información de carga y procesado de los datosMensaje de información de carga y procesado de los datos

Tras unos segundos, todo el contenido del portal de Azure aparecerá volcado dentro de nuestra hoja de cálculo listo para ser consumido o guardado.

Resultado de la carga de los datosResultado de la carga de los datos

El formato es por defecto no es muy atractivo visualmente; sin embargo, con unas pequeñas modificaciones en los datos y aplicando las opciones de formato condicional podemos tener una tabla mucho más fácil de consultar a simple vista.

Datos cargados con un formato más visualDatos cargados con un formato más visual

Si alguna vez lo necesitáis, ya tenéis un proceso rápido y sencillo para obtenerlo.

by jafernandez at May 06, 2018 05:50 PM

May 04, 2018

RooTeando

Tomando Un Café 30: Rock64, TeleX y ActivityWatch

En el audio de hoy trataremos sobre hardware, Rock64, y software, con las aplicaciones TeleX cliente de Telegram y Activity Watch,tracker de tiempo.

Grupo de Elav https://t.me/systeminsidegroup

Música: Dexter Britian- Creative Commons Volume 5-01 The Time To Run http://dexterbritain.bandcamp.com
 

Canales de Telegram @UnDiaUnaAplicacion @UnPythonAldia @AprendePython
Correo [email protected]
Twitter https://twitter.com/Tomando_Un_Cafe

RSS
Anchor.fm  http://anchor.fm/s/18c0860/podcast/rss ...

May 04, 2018 11:07 AM

May 03, 2018

debianhackers.net

WordPress Multisite, Let’s Encrypt Wildcard y dominios redirigidos

Inciso: Dabo, te lo dije, te advertí que no pararía hasta terminar sabiendo cómo hacer funcionar esto 🙂

Tengo varias web, varios WordPress y un puñado de dominios. Es, creo yo, lo habitual cuando te mueves por estas aguas y a cada proyecto, idea o viaje místico le asocias un dominio y un espacio en internet. La mayoría no llega a ningún sitio pero eso no es lo importante. Al final, te juntas con un puñado de webs en un WordPress Multisite, con varios dominios apuntando a varios de sus subdominios y con unas ganas locas de ponerles a todas un bonito certificado SSL patrocinado por Let’s Encrypt.

El escenario

example.com es el dominio principal de un WordPress Multisite que alberga una veintena de webs en su propio subdominio, loquesea.example.com y, algunas de ellas, además, tienen un dominio propio que apunta al subdominio. Así tenemos, por ejemplo, example1.com que apunta a ex1.example.com y example2.net que apunta a ex2net.example.com.

Y un día quieres que todos los dominios tengan su propio certificado de Let’s Encrypt y es un problema porque como todos los subdominios dependen del mismo dominio principal y Let’s Encrypt no soporta wildcards, no hay mucho que hacer.

Así que te planteas hacer que sea Apache (2.4) el que se coma el marrón y te pones a mirar cómo hacerlo. El VirtualHost ya tiene declarado el dominio y los subdominios y también cuenta con el certificado para si mismo. Y no encontré la forma de meterle el resto de certificados, ni declarando otros VirtualHosts para que cada dominio tuviese su certificado, ni de ninguna forma.

Al final lo dejas por un tiempo porque no, ni apache es la solución ni Let’s Encrypt soporta wildcards y ya estás bastante cansado de batallar con molinos multisite.

La solución

El 13 de marzo, con dos meses de retraso sobre la fecha previstas, Let’s Encrypt anuncia que soporta wildcards y empiezas con las pruebas.

Primero, el VirtualHost de apache debe reconocer todos y cada uno de los dominios y subdominios, incluídos los dominios asociados:

grep ServerAlias /etc/apache2/sites-enabled/example.com.conf
    ServerAlias *.example.com ex1.example.com example1.com ex2net.example.com example2.net

Luego, se invoca a cerbot con los parámetros adecuados:

sudo certbot certonly \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --manual \
  --preferred-challenges dns-01 \
  -d example.com \
  -d *.example.com \
  -d example1.com \
  -d example2.net

Con el parámetro --manual deberemos añadir un registro TXT _acme-challenge con una clave al DNS de cada uno de los dominios especificados para que sean capaces de comprobar que realmente eres el propietario del dominio.

Los dominios a incluir en el certificado se especifican por separado, todos ellos, con un -d, incluyendo el wildcard para los subdominios de example.com.

Se cambia la declaración del certificado porque es un fichero diferente, se reinicia apache y esta parte está lista. Cada dominio y subdominio tiene un certificado nominal válido, firmado por Let’s Encrypt y se puede acceder a cada uno, por HTTP y HTTPS.

En WordPress es una buena idea activar el plugin Really Simple SSL que convierte todas las peticiones HTTP en HTTPS para que todo el contenido esté cifrado.

Bonus track: redirigir las peticiones HTTP a HTTPS

Añadir estas pocas líneas al VirtualHost de apache:

# Force HTTPS
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Sólo he necesitado un año y pico y que Let’s Encrypt admitiese los wildcard para poder tener los dominios funcionando a mi gusto. Y si, seguro que hay una docena (o más) de mejores formas de hacerlo pero, sinceramente, no he encontrado ninguna otra.

by Diego Martínez Castañeda at May 03, 2018 11:02 PM

May 01, 2018

Entre Dev Y Ops

Píldora 3 - DevOps Barcelona

En esta tercera píldora del podcast, David y Daniel nos cuentan cómo vivieron la conferencia DevOps Barcelona; los demás les troleamos lo que podemos.

May 01, 2018 12:25 PM