martes, 13 de diciembre de 2016

Experiencias con el Chat de solo texto Profanity

Sí yo sé: Adium y Pidgin son clase!.  Pero mi Mac no es una nave voladora que digamos. Para evitar los peges, he optado por sacar lo superfluo, entre ellos Adium.

Y es que en mi trabajo usamos un chat XMPP con el que intercambiamos texto, aunque raramente smiles y aun mas raramente documentos y menos fotos y otras multimedia. Tampoco usamos otros protocolos como gogle chat, skype, messenger o que se yo que mas que el Adium soporte.

La verdad que para ese rudimentario intercambio de texto esta el Adium no solo sobrados, sino que tambien, infrautilizado.

Por esto, decidí ponerme a buscar algo mas liviano y encontré a Profanity. Un cliente xmpp en modo consola, liviano y multiplataforma del cual quede enamorado a primera vista.

Como cualquier aplicacion de consola, hay que escribir comandos, recordarlos y saber usarlos. Por esto, y para que no se me olviden los útiles he decidido escribir un Post, con la esperanza de reutilizar el conocimiento y con que quizas tambien a otros le sirva.


Buscar ayuda:
/help   <<----- ensena una clasificacion de los comandos segun tema
/help commands <<------- ensena todos los comandos
/help comandoespecifico <<--------- muestra la ayuda para ese comando especifico
/help navegation <<---- tips de navegacion

Interface:
/beep on/off <<----- Activa / desactiva las notificaciones
/history <<--- Activa el historial (como en bash)
/clear <<--- limpiar
/flash on/off <<--- destella cuando hay un mensaje
/intype on/off <<-- dice si alguien tipea

Estatus
/away <<------ Ausente
/xa mensaje <<------ largamente ausente (extended away) con mensaje
/chat << --- disponible para chatear (ansprechbar) 
/online <<--- pone el estatus en verde y lo hace activo (verfugbar)
/dnd <<--- do not disturb, o en otras palabras nojo...
/gone 


Ventanas
/win 3 <<---- se va a la ventana y al chat #3
alt + pgd down/up <<-----  ver mas abajo o arriba de la ventana
F1... Fx <<--- ventanas 1 hasta x

Chats
/close 2 <<--- cierra la ventana 2
/join chatname <<----- entra en chatname
/msg "alguien" hola <<--- manda el mensaje
/autoconnect usuario.muestra@chat.com <<------- conecta automaticamente a usuario.muestra al iniciar
/roster add fulanito@chat.com <<-- agrega a fulanito a tus amigos
/roster remove fulanito@chat.com <<-- lo saca

Control
/quit << salir

/script run nombredelscript <<------
ejecuta un script que debe estar guardado en ~/.local/profanity/scripts y que utiliza los comandos de la consola de profanity como lenguaje. Muy útil para configuraciones previas, para mi por ejemplo me sirvio para unirme a todos los chat al empezar la sesion poniendo en el script "inicio" los siguiente
/join chat1
/join chat2

Archivos de configuracion:
EN MAC, tiene profanity 2 directorios importantes:
~/.config/profanity
...  profrc <<--- tiene casi el mismo contenido de un tema, con algunas variaciones
~/.local/profanity

Los Temas (theme)

son una cosa bien importante como poderosa. Podemos listar los temas disponibles con
/theme list
para cambiarlo basta:
/theme load nombredeltema

los temas disponibles se deben guardar en:
~/.config/profanity/themes
aunque los del systema estan en la instalacion del programa:
/usr/local/cellar/profanity/0.5.0/share/profanity/theme

si no encuentras nada alli, es porque es la carpeta para tus temas y no para los que vienen por defecto.
Se pueden bajar temas desde el git del autor:
https://github.com/boothj5/profanity/tree/master/themes

puedes probarlos con "theme load" y comenzar a editar el que mas te guste.

los colores aceptados son:

white bold_white black bold_black
yellow bold_yellow bold_green green blue bold_blue red bold_red
cyan bold_cyan magenta bold_magenta
             
el orden es según mi lógica como armonizan mejor










jueves, 1 de diciembre de 2016

instalaciones de paquetes de software con github

desde que existe github existe con él una nueva alternativa para la instalacion de software que debemos manejar exactamente bien como en el caso de yum, apt-get, aptitude y demas.

la instalacion con github tiene la ventaja de no sobreescribir todos los paquetes sino que analiza primero las alternativas.

Esto puede ser util cuando trabajamos con un software de codigo abierto que editamos a nuestro gusto y del cual queremos editar solamente los archivos que nosotros no editamos.

Basicamente el comando git, copia o "Clona"  el contenido del repositorio Web de Github en nuestra computadora objeto.

El siguiente comando clonará el depositorio de cowsay en un directorio llamado "cowsay" en el directorio activo donde nos encontremos para

git clone git://github.com/schacon/cowsay

El resto dependerá de la forma en que este software se instale, para el caso de cowsay, se ejecuta despues un script install.sh y ya.

Un articulo mucho mas extenso sobre el tema, el cual inspiró este minihow, se puede encontrar en

https://www.lifewire.com/installing-software-using-git-3993572


jueves, 20 de octubre de 2016

el comando find

el comando find se diferencia del comando grep en que el primero busca ficheros en el directorio mientras que el segundo busca cadenas de texto dentro de archivos

find puede encontrar directorios o archivos con la opcion
-type d
-type f

. significa directorio activo
/ significa directorio raiz
y por supuesto todas sus variantes como /home/desktop/etcymas

-name archivo.txt

pero tambien sirvern aqui los comodines o wildcards *

tambien tenemos la opcion ignora el nombre para
-iname archivo.txt
donde find no va a encontrar este nombre

con los comodines entonces podemos encontrar todos los archivos de scripts de pyton ignorando los que pertenecen a test asi:

find / -type f -name *.py -iname test*.py

find tambien nos permite encontrar segun permisos

find . -perm 777 -print
./logfile.001

Virtualizacion con KVM

No voy a discutir porque KVM y no XEN o VMWare. He tenido que usar KVM!

La interfaz me ha parecido espartana como un kernel solitario de linux en su version mas primitiva.

No es tan verdad, puesto que kvm cuenta con un interprete de comando llamado virsh que es bastante poderoso.

Pero cuando te acostumbras al clickliclicki con XEN o VMWare, y tienes que usar KVM te parece un viaje en la historia al pasado.

El manejo de KVM es casi obligatorio a traves de ssh y la consola virsh, porque el unico manager con interface para clientes corre solo en linux de manera nativa. Pero tampoco es tan malo: con una maquina virtual local se puede installar un linux rudimentario que corra puro virt-manager en windows, y en mac hay algunas recetas para brew que con sudor sangre y lagrimas funcionaran despues de algunos dias :-)

La instalacion en Ubuntu es mas o menos asi

sudo apt install qemu-kvm libvirt-bin
 
sudo apt install virtinst


el usuario que va a trabajar con libvirtd debe pertenecer al grupo, para saber si esta
bastara

groups username

si libvirtd no esta en la lista deberemos agregarlo con:

sudo adduser username libvirtd
 

Otra Guia mas de grep

bueno, no quiero reinventar el fuego: esta guia la he escrito para mi mismo aunque si a alguien le sirve me agradará saberlo!

Grep es un comando Unix que sirve para buscar cadenas de texto en archivos.

basicamente funciona así:

grep cadenaabuscar archivoendondesebusca

si la cadena es larga y contiene espacios se puede usar ' ':

grep 'cadena a buscar' archivoendondebusca

si queremos que grep nos diga solo las linias que empiezan con una cadena:

grep '^cadena con la que debe iniciar la linia' archivo.txt

si queremos que a grep no le importen las mayusculas o las minusculas usamos -i

grep -i CadenAaBuscar archivo.txt

si queremos que grep busque una palabra en cualquier lugar de la linea usamos $

grep 'palabra$' archivo.txt

se diferencia de

grep 'palabra' archivo.txt  --> en que este segundo comando buscará la palabra aunque este metida en otra palabra asi: parangacutitidimicuaropalabraparangacutitidimicuaro

si queremos que grep nos ensene las liniea donde NO ESTA una cadena usaremos -vi

grep -vi 'cadenaquenoquiero' archivo.txt

tambien podemos decirle a grep que busque en un grupo de archivos cuyo nombre empieza con asi "arch" por ejemplo, asi:

grep 'buscaesto" arch*

y el nos dara un resultado diciendo donde lo encontro y que:

archivo1.txt:buscaestoaqui
archivo2.txt:buscaestoalla

y si solo queremos que grep nos diga en que archivo esta podemos usar -l (list) que ademas podemos combinar con las otras y hacer un -vil

grep -l '3' arch*
archivo1.txt
archivo2.txt

podemos tambien decirle a grep que nos ensene una linea antes o despues de la liniea encontrada con grep -C cuantaslinias -i "cadena" archivo.txt
... cuantaslinias
liniadearriba
cadena
liniadeabajo
... cuantaslinias

claro, con numeros:
grep -C 2 -i "cadena" archivo.txt 

ah, apropósito tambien sirven las comillas dobles "" en lugar de simples ''

tambien podemos decirle a grep que consiga las lineas que contienen caracteres entre una secuencia, como desde el 0 al 5 asi:

grep [0-5] archivo.txt
linea con un 2
linea con un 4
1 linea
3 linea

la linia con un 6 no saldrá

si solo queremos que grep encuentre las lineas que comienzan con estos numeros usamos ^

grep [^0-5] archivo.txt
1 linea
3 linea

 y las otras dos que no comienzan con los numeros de las secuencia buscada no saldran

grep tambien se entiende bien con directorios, asi si estamos en un directorio que contiene otro llamado "carpeta" podemos decirle a grep

grep 'cadena' carpeta/*

y si queremos una busqueda recursiva (que incluya subcarpetas) podemos usar -r

grep -r cadena carpeta/*

la opcion -n nos permitira ver el numero de línia donde esta la cadena

~\> grep -n [0-3] test.txt
2:testing 1
3:Testing 2
4:TesT 3


Uno muy útil, mostrar el contenido de un fichero omitiendo las linieas comentadas. Por ejemplo para apache.conf etc:

grep -v ^# autofs.conf 

quitar las lineas vacias:

grep .  archivo.txt

y quitar las linias comentadas y las vacias:


grep -v ^# archivo.txt | grep . 

comparar dos ficheros: mejor que grep en este caso te recomiendo sdiff (super-diferencias, en realidad sidebysidediff) que te muestra los resultados ordenadamente en una tablita...

sdiff archivo1.txt archivo2.txt

aparte de sdiff tambien existe un diff, un poco mas primitivo que el primero, aunque en algunos casos podria ser útil, la sintaxis es la misma



Aqui una tablita util de opciones de grep:

Option Beschreibung
-r Setze die Suche rekursiv durch alle Unterverzeichnisse fort. Funktioniert nur bei
der Verwendung von Wildcards einwandfrei
-c Anzeige der Anzahl Zeilen, in denen das Muster gefunden wurde
-i Groß- und Kleinschreibung werden nicht unterschieden
-l Nur Anzeige der Namen der Dateien, in denen das Muster gefunden wurde
-n Zeigt die Zeilennummer an, in der das Muster gefunden wurde
-s Unterdrückt die Fehlerausgaben (Standardfehler); sinnvoll in Skripten
-v Zeigt alle Zeilen an, die das Muster nicht enthalten
-w Das Suchmuster muss ein einzelnes Wort sein (also kein Bestandteil eines anderen Wortes)
-A [n] Zeigt »n« Zeilen an, die der Zeile mit dem Muster folgen
-B [n] Zeigt »n« Zeilen an, die vor der Zeile mit dem Muster liegen
--color=auto Hebt das gesuchte Muster farblich hervor

esta tablita me la tome de:
http://www.prontosystems.org/tux/grep

Crear una script condicional usando grep:

#!/bin/bash
# Script que comprueba la existencia de un Driver
# en conjuncion con Munki se puede usar para instalar el mismo si no esta
if kextstat | grep -q "com.asix.driver.ax88179-178a";
then
    # Driver vorhanden
    touch /Users/Shared/found_kesing_driv.txt
    exit 1
else
    # Driver existiert NIX
    touch /Users/Shared/NOT-found_kesing_driv.txt
    exit 0
fi


 si deseamos que el script funcione a la inversa entonces agregamos ! despues de if
 la "q" sirve para que grep no nos devuelva las lineas donde encontró algo. Ideal para Scripts.





LibreOffice remplaza dos guiones por uno

a veces cuando tengo que escribir un documento sobre el shell o con mezclas de ingles o aleman, el corrector automatico de LibreOffice me molesta: corrige por ejemplo el comando

virsh list --all

en este otro: virsh list -all
que por supuesto no es para nada lo mismo,.

Para quitarlo debes ir al menu --> format --> autocorrect --> options

y ver lo que queremos configurar "mientras tipeas" o "

Tambien se puede desactivar la autocorreccion "while typing"

las opciones tambien puedes ser una opcion... aunque para mi problema con dos -- que se convierten en uno, habia un "hack" especial:

menu --> format --> autocorrect --> option --> replace dashes

Creando secuencias con Shell, seq , echo, jot...

seq puede crear secuencias numericas crecientes y decrecientes con diferentes intervalos, la forma mas simple seria:
seq 5
1
2
3
4
5
si queremos la secuencia decreciente
seq 5 1
5
4
3
2
1
si queremos rellenos con ceros
seq -w 5 1
5
4
3
2
1
¡no pasó nada! -- noo, si pasa, pero aqui no hay ceros que rellenar, prueba
seq -w 10 1
o
seq -w 100 1           ó tambien            seq -w 100
y aqui el último numero de la secuencia será 001

ahora los intervalos...
los intervalos standard son de unidad. Si queremos intervalos diferentes tenemos que definir el inicio, intervalo y fin, asi:

seq 1 0.5 10

o decreciente con
seq 10 0.5 1
aha! aqui seq no hace nada y nos dice:
seq: needs negative decrement
que es absolutamente lógico pues le estamos pidiendo a seq que nos haga una secuencia decremental, y seq sólo suma el intervalo, por lo que tenemos que darle a seq un intervalo negativo, asi

seq 10 -0.5 1 si nos funcionará

las opciones -s y -t tambien nos pueden ser muy útiles


seq -s , -t ENDSEQ 10 -0.5 1

10,9.5,9,8.5,8,7.5,7,6.5,6,5.5,5,4.5,4,3.5,3,2.5,2,1.5,1,ENDSEQ

lo que podria servir por ejemplo para rellenar matrices o crear sucesiones.

Y para terminar aun nos queda la opcion -f o "format" que va a definir si los números se presentarán como estandard (%g), exponencial o notacion cientifica(%e), o con punto decimal y 6 posiciones decimales(%f)

prueba seq -f %g con %e y f% y veras estos formatos mas claramente, pero la fuerza de -f no radica exactamente en estos 3 formatos, sino en los formatos adicionales que se pueden crear a traves de estos. Y es que -f tambien puede ser "archivo%02g.txt" o "logfile.%03g" asi

~\> seq -f "logfile.%03g" 5
logfile.001
logfile.002
logfile.003
logfile.004
logfile.005

con lo que podemos usar seq para crear archivos por ejemplo asi:

touch $(seq -f "logfile.%03g" 5)

o para borrarlos, o crear directorios, etc.


SECUENCIAS CON JOT

SECUENCIAS CON ECHO

echo {1..9}
1 2 3 4 5 6 7 8 9

echo {5..1}
 5 4 3 2 1

en este sentido es echo un poco mas poderoso que seq y jot ya que estas secuencias pueden ser tambien alfabeticas, como
echo {a..z}
echo {A..Z}
y reversas:
echo {z..a}      a asi...
pero estas secuencias estaran siempre en la misma linea (a no ser que se acabe la pantalla entonces salta a la siguiente linea), y si quisieramos que los numeros esten uno bajo el otro necesitaremos a xargs asi
echo {1..10} | xargs -n1
cosa que podria parecer molesta depender de un segundo comando para esta opcion, aunque si lo miramos asi
echo {1..9} | xargs -n3
echo {a..y} | xargs -n5
tenemos como resultado unas bonitas matrices

pero la salida de { .. }  la podemos utilizar en Unix de muchas otras maneras mas alla de echo, ya que echo es solo un repetidor que saca cosas por la salida estandar stdout o por otra dirigida con direccionamientos > o pipes

asi podemos directamente crear el efecto de arriba en ~\> seq -f "logfile.%03g" 5
con:
touch logfile.00{1..5} 

crear directorios:
md directorio_{a..z}                 ó sino tambien md              {a..z}_directorio

con XARGS podemos
cambiar derechos de grupos de usuarios en todas las carpetas dentro del directorio listado:


o lo que seria aún mejor, cambiar los derechos de sólo algunos directorios que cumplan con alguna condición como los que comienzen con "a"

ls a* | xargs sudo chgrp wheel

o filtrarlo con find:

find d* -*k-z

miércoles, 5 de octubre de 2016

Instalando Webmin...

Cada vez que tengo que instalarme el Webmin me topo con algunos problemas extranos, que me derivan a la misma solucion: la instalacion alternativa a traves del depositorio.

Como esta solucion siempre funciona, aqui la copio para que la proxima vez no la tenga que buscar demasiado:

Using the Webmin APT repository

If you like to install and update Webmin via APT, edit the /etc/apt/sources.list file on your system and add the line :deb http://download.webmin.com/download/repository sarge contrib
You should also fetch and install my GPG key with which the repository is signed, with the commands :cd /root
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc
You will now be able to install with the commands :apt-get update
apt-get install webmin
All dependencies should be resolved automatically.


Es la copia textual del manual online en

http://www.webmin.com/deb.html

Borrar winsxs en Windows 2008

En estos tiempos de Discos grandes rapidos y baratos pudiera parecer una tontería, pero siempre hay alguna situacion en la que se puede presentar la necesidad de ganar espacio en el Disco duro de nuestro servidor sin tener que instalar nuevos. Incluso yo diria que es mejor practica, limpiar que simplemente dejar crecer y crecer. Un buen sucio que nos ahorrara unos 15 GB de espacio en Disco y que realmente puede ser poco necesario es el directorio de WINSXS

La finalidad del directorio WINSXS es la de proveer los paquetes de instalacion de Windows en el caso de que deseemos instalar nuevos Roles o Features en nuestro Servidor. Si el servidor ya esta madurito, cumple sus funciones sin problemas y no queremos enconchinarlo, seguramente que estos archivos estan demas. Por otro lado el eliminarlos del Disco no va a significar que nunca mas podamos instalar nuevos roles, sino que podemos ubicar el WINSXS en una carpeta compartida de red donde todos los servidores puedan accederla para sus instalaciones. Si WINSXS tiene 15GB y tenemos 11 Servidores esta reduccion nos estará significando 150GB de espacio, lo que no es poco.

Para eliminar el WINSXS debemos realizar lo siguiente:
1.- Instalar la Feature "Desktop Experience" con "ink Support"
2.- Reiniciar el servidor
3.- Ahora tendremos en las herramientas del sistema, el "limpiador de Disco"
4.- Seleccionar el "Windows update Cleanup"




este update es necesario, pero ya no hay que bajarlo extra sino que viene con  los updates automaticos



Powershell Tipps y tops

las Funciones:

function [<scope:>]<name> [([type]$parameter1[,[type]$parameter2])]{

el scope, normal es local, pero se puede poner "global" para que la funcion trabaje a nivel de sistema

type, pude ser bool, string, etc. Por lo visto se puede obviar en algunos casos

$parameter es el nombre de una variable que funcionara como parametro para la funcion, asi:

funtion global:buscar [([string]$cosaabuscar)]
{}

para que el programa sea mas legible, tambien se pueden poner los parametros con la etiqueta "param" asi:

param([type]$parameter1 [,[type]$parameter2])

Aqui un ejemplo de la especificidad que se puede alcanzar:#

function [<scope:>]<name> [([type]$parameter1[,[type]$parameter2])]{
param([type]$parameter1 [,[type]$parameter2])
dynamicparam {<statement list>}

begin {<statement list>}
process {<statement list>}
end {<statement list>}

}

si un parametro es obligatorio se puede usar el atributo de parametro "mandatory"

function Start-App{
Param(
[parameter(Mandatory=$true)]
[String]$AppName


Powershell tiene tambien otros atributos como por ejemplo:
AllowNull
AllowEmptyString
ValidateCount
ValidateLength
ValidatePattern


MATRICES

Una funcion puede almacenar un Array de la siguiente manera:
function myping {
$compname = $args[0]
$ip = $args[1]
ping $args[0,1]
}


el array args, ejecutara el ping para ip o para computername, pero no para ambos

VALORES LOGICOS

en PS basta que una variable tenga un valor para ser verdadera, asi si hacemos

$var="hola"
if ($var){echo "es verdad"} 

el resultado sera ver en pantalla "es verdad" 

los operadores son un poco extranos, es mejor al empezar hacerse una tabla:

-eq equal
-ne not equal
-lt little
-le little or equal
-gt grande?
-ge grande or equal

se usan como un signo:
 $var -eq 10

otros operadores muy útiles son tambien

en lugar de decir $var = 10, cosa que al final de cuentas tambien es valida 

viernes, 1 de abril de 2016

Ver las conversaciones pasadas del chat por Pidgin para Windows 7

Pidgin guarda sus conversacionen en la siguienter Ruta

C:\Users\<<NombreDeUsuario>>\AppData\Roaming\.purple\logs

Cada conversacion cerrada esta archivada  como html por fechas asi

2016-04-01.085222+0200CET


lunes, 16 de noviembre de 2015

Jenkins default port 8080 changing

Easy, go to jenkins installation and edit the file jenkins.xml, there you can find the port 8080 for http and you must change it in belived.

Force Jenkins to use allways English in Chrome

Jenkins automatically find your language in your brownser. To do that, easy put English in the languages of Chrome and put it in the first place:

chrome://settings --> under, Advanced Settings --> Languages --> Language and input settings --> Add English and per drag and drop put it in the first position.

Jenkins Refresh, and voalá!

lunes, 19 de octubre de 2015

Configuracion de iSCSI con Server 2012

El Servidor debe tener instalado el "iSCSITarget" o Microsoft iSCSI Software Target.
El Cliente debe tener el iSCSI initiator

En el Servidor se crea un Target, en las propiedades del Target, pestana iSCSI initiators se agrega la IP del Cliente. Debe funcionar tambien con el DNS name, y hasta la MAC.

En el Cliente, iSCSI initiator se mete la ip del servidor y aparece el target portal.

domingo, 2 de agosto de 2015

No Targets available for Login using Quick Connect

Hace algunos días me configuré un servidor de FreeNAS con iSCSI Targets que me gustó muchisimo, ya que en una simple maquinilla con un freeware podia tener el poder de un SAN. La ventaja de estos SANs es que no funcionan en el nivel de archivos, sino que funcionan al nivel de disco y se pueden poner discos en red que pueden ser controlados por completo con el pc-cliente

la cosa es que con FreeNAS funcionó el iSCSI de maravilla, nada mas configurar y alli estaba. Pero FreeNAS no se estaba llevando bien con varios de los Disco duros al no reconocer el SMART y provocando asi el sobrecalentamiento de los discos.

Para evitar danos mayores y con el dolor de mi alma, tuve que prescindir de FreeNAS e instale un WinServ2008R2 donde todo estaba reconocido y compatible.

Convencido de las ventajas del SAN, me aventuré a crear uno con mi WS2008, Asi que me baje el

Microsoft iSCSI Software Target 3.3

de la pagina de microsoft, lo instale en mi servidor y configuré rapidamente. Cree targets, cree discos, me fui al iSCSI initiator de mi pc-cliente, vi mi servidor en la pestana  "Favorite Targets" pero en Targets no aparecia mi servidor por nada, ni por ip, ni nombre ni nada


Despues de buscar un poco, di con la solucion, que resulto ser bastante banal: en el servidor, debemos dar de alta al equipo que va usar el iSCSI. es decir, el "initiator"

Aqui podemos agregar el identificador, por ip, dnsname, mac, o IQN. Despues de esto, funciona de maravillas!!!




viernes, 24 de julio de 2015

Asegurar una computadora importante virtualizandola

Entorno:
Tenemos una computadora (cliente) de importancia critica: la propia, del jefe, del jefe de finanzas, etc. Si se quema la tajeta madres, tardara algunos dias en funcionar todo de nuevo como era, tomemos el rumbo que tomemos, y aunque tengamos backups. Esta computadora critica debe funcionar siempre y enseguida, aunque se queme todo!

Problema:
Los aparatos se danan cuando uno menos se lo espera, y en general no se puede pasar el disco duro de una pc a otra a no ser que el hardware sea casi identico. Aunque las pcs puedan tener discos redundantes, si lo que se dana es algo como la tarjeta madre, puede ser una situacion dificil, y aun mas si el jefe te esta presionando con "como puede pasar esto si para esto te pago"

Solucion:
Al virtualizar la maquina, se puede trabajar en esta virtualizacion casi al 100% con todas las ventajas de la maquina misma en una copia virtualizada.

Pasos
  1. Conseguir un Software que virtualice el HW. Yo estoy probando con Disk2VHD
  2. Tener una unidad Externa compatible que pueda almacenar el resultado el virtualizador
  3. Contar con un "servidor" de maquinas virtuales que pueda almacenar y cargar la maquina virtual en caso de Crash

1.- El software virtualizador puede ser VMWare Converter, VMSCM, XEN, o Disk2VHDx que es el que yo escoji y estoy usando. Te lo bajas de SYSTEMINTERNALS y es gratuito y compatible con Microsoft Hypervisor. Puedes hacerlo correr manualmente y esto es juego de ninos de facil, por lo que no lo explicare. El proceso que voy a explicar es el de automatizarlo en modo de comando y con tareas programadas.

En las tareas programadas se puede configurar el programa para correrlo directamente. A mi no me funciono asi, por lo que cree un pequeno script de esta manera:

PC2VHD.cmd:
---------------------------------------------------------------------------------
echo ASEGURANDO PC EN UN DISCO VIRTUAL ...
cd\
cd C:\Program Files (x86)\Disk2vhd>
disk2vhd.exe a: c: D:\CARPETA-Destino\DiscoVirtual.vhdx -accepteula
echo PROCESO TERMINADO, PRESIONE UNA TECLA PARA APAGAR
shutdown -s -t 0
---------------------------------------------------------------------------------

Cabe destacar que para asegurar el disco de boot, le asigne una unidad con el DiskManager, por eso tengo una a: que es mi disco boot. Si no aseguras esto no arranca la vm. Tambien te puedes copiar la larga cadena de caracteres de la unidad que aparece en la interfaz grafica de Disk2VHD.

Para evitar los caminos largos, las comillas y nos nombres con espacios, puse en el direcctorio raiz una carpeta llamada SCRIPTS y en ella guarde PC2VHD.cmd

Luego me fui al Task Scheduler (programador de tareas) de Windows y cree una nueva tarea que arranca este script. Lo probe varias veces con RUN desde el Task Scheduler y cuando todo fue sobre ruedas le puse un horario fijo

UPDATE 19.10.2015

He encontrado una forma mucho mas eficiente, auque de cierta complejidad inicial para virtualizar una computadora en tiempo real. Se trata de crear un disco virtual .vhd en un servidor iSCSI. Este disco, se monta a traves de iSCSI initiator en el Windows, y luego en las propiedades de MiPC --> Storage --> configuras el disco como Dinamic --> Creas un Mirror con el disco fijo.

La copia de todo sera en este caso 1:1 y absolutamente "Live". Esto ya es bastante con tener el Disco Mirror en algun servidor p.e. FreeNAS, que en caso de crash se puede montar en Hyper-V, aunque lo mas Cool, seria que el servidor iSCSi al mismo tiempo sea un servidor Windows con Hyper-V ya que el .VHD estaría en el mismo server.

Teoricamente, VirtualBox tambien puede montar discos .vhd, pero hasta el momento no he probado esta constelación (nada en contra de VB, por el contrario, lo uso regularmente como mi favorito, es solo que hasta ahora me he concentrado en la compatibilidad Microsoft.

El iSCSI Target provee ademas la posibilidad de crear Snapshots de los discos virtuales, lo que permitiria entonces, casi presindir de cualquier otra forma de backups...

update (un par de horas mas tarde)

He Creado un disco virtual en mi servidor W2008R2 y montado el disco iSCSI en mi Desktop con Windows 8.1. He creado el Mirror entre mi disco duro local y el iSCSI. Despues de completada la sincronizacion inicial, he ido al iSCSI Target Manager y desabilitado el Target. Después me fui a HV manager, cree una nueva VM y monte el disco alli. Pues buenas noticias: ha arrancado maravillosamente sin ningun problema!

Ahora que sé que la maquina arranca, y que absolutamente todo funciona como en el host, probaré la reinsersion en el iSCSI y la reactivacion en el compmngr.exe.

Entonces me queda explicarles un poquito mas profundamente, con fotitos y videitos de como hacerlo. Pero eso lo haré algo mas tarde... quizas se animan a hacerlo solitos!


jueves, 9 de julio de 2015

Android 4 = Samsung Galaxy S5 mini no sincroniza una cuenta de emai

Despues de configurar una cuenta adiccional para uno de mis usuarios en su Handy, al probarla, me di cuenta que aunque la cuenta estaba alli, y las carpetas se podían ver, los emails no se bajaban y las carpetas permanecian vacias.

Al cliquear el botón de sincronizar un mensajito aparecia en la pantalla:

"Sincronización desactivada"

(realmente por mis telefonos en aleman: "Synchronisierung wurde deaktiviert"

Si estás pasando por este o semejante problema, puedes desgranarte los sesos buscando en las opciones de la cuenta... no vas a encontrar nada, pues la sincronizacion no se activa aqui, sino en la configuracion General:

1.- Barra de notificaciones (la que aparece cuando deslizas de arriba a abajo en la pantalla) -->
2.- Boton de Configuración (el engranaje, que parece un asterisco gordo con un hueco en el medio)
3.- Personal --> Cuentas --> email --> cliquea la cuenta con problemas --> Sincronizar email

y eso era!

En Android 5 viene activado por defecto mientras que el 4 no, por esto da problemillas

sábado, 16 de mayo de 2015

Como Funcionan y deberían funcionar los Perfiles en Servidor con un Remote Desktop Services Server RDS

Como Funcionan y deberían funcionar los Perfiles en Servidor con un Remote Desktop Services Server RDS

- Usuario se logea en Host2
- Crea un archivo1 de texto en su escritorio --> el cambio se guarda en el perfil local
- Crea un favorito1 en IExplorer --> el cambio se guarda en el perfil local
- Se deslogea en Host1 --> su perfil se transfiere al servidor
- Se logea en Host2 y ve su Archivo1 y Favorito1
- crea un archivo2 de texto en su escritorio --> el cambio se guarda local
- Crea un favorito2 en IExplore --> el cambio es local
- Se logea en RDS-Server y sólo ve su Archivo1 y Favorito1 -Llama al Administrator.
- Administrator le dice que se debe deslogear
- Usuario se deslogea del RDS
- Usuario vuelve a ver su Archivo1 y Favorito1 y él es :) feliz aunque como está molesto por la simple solución, trata de rehacer el error
- Se logea y ve que su Archivo2 y Favorito2 no esta ahí. Usuario Feliz2 --> llama corriendo a su Admin.
- Admin le dice que se desloge ... ad infinitum
... Usuario se fastidia y crea su Archivo2 y Favorito2 en RDS-Server
- Feliz nuevamente, de haber tenido exito en su trabajo, se deslogea del terminalserver, se deslogea de su Terminal o Cliente Host y se va a su casa

- Dia2: usuario se logea en su Host y encuentra Archivo1 y Archivo2(2) Archivo2 Favorito1, Favorito2 y Favorito2(2) y molesto por toda esa basura llama a Admin

Explicación y Solucion:
Cada usuario tiene dos caminos para su perfil: uno para los clientes, uno para el RDS Server.
Configura un camino diferente para cada uno y estos problemas desapareceran:

1.- Para las Computadoras Clientes que usan Roaming Profil


2.- Para el Servidor de Terminal Server o RDS Server


WDS Windows Deployement Services instalacion automatica de Windows por la red

La Instalacion remota a traves de un WDS o RIS Server es una cosa fina. Para empezar, se puede instalar un Windows simple a traves de la red. Pero tambien se pueden crear instalaciones con personalizaciones especiales e incluso con Software preinstalado.

Una de las Cosas que me gustan son la administracion de controladores (drivers). Aqui hay un detalle importante que en Muchas ocasiones hace fallar la instalacion: La instalacion se realiza en dos pasos, en el primero arranca el systema desde el PXE que busca un servidor WDS, este le proporciona una "imagen de arranque" o Startimage. La imagen o imagenes de arranque nos seran expuestas en un entorno parecido al DOS o como la de Recuperacion de Windows o de Modo a prueba de fallo, en Ella encontraremos las imagens guardadas en nuestro servidor WDS asi:



Las dos imagenes de arriba son las dos imagenes de arranque que vemos abajo como "online"


Hasta este punto, la instalacion WDS va bien porque el PXE ha buscado Estas imagenes de arranque atraves de la red.

Un par de imagenes mas alla, el sistema despues de guardar los archivos de preinstalacion, se reiniciará otra vez y aqui tendremos un mensaje de problemas con el acceso a la red... Esto sucede porque ahora el sistema operativo debe poder utilizar la tarjeta de red para continuar la instalacion, y necesita de los controladores. Si has tenido suerte, los controladores estaban en la instalacion de Windows, sino deberás buscarlos. Estos controladores no son los simples .exe que uno instala normalemente, sino que se tratan de archivos .inf.

Mi metodo favorito para encontrarlos es buscarlos en instalaciones previas, o en aparatos semejantes: Si Estas planeando una reinstalacion esto funciona de maravilla, ve al controlador de dispositivos y mira el Driver para la tarjeta de red:


luego buscar el camino a los controladores y guardarlos en una carpeta.

Clic con el boton derecho en el Servidor WDS y escojer el paquete de controladores, escojer INF --> Buscar y agregar la carpeta donde se guardaron los .inf


Despues de pegar los Drivers se ven asi, en mi caso de ejemplo cada .inf pertenece a una computadora

Por ultimo y a manera informativa quiero explicarles el sentido de las dos imagenes que hay que crear:
1.- Imagen de instalacion
2.- Imagen de arranque

Ambas son un archivo del tipo .wim (Windows Image)
La imagen de arranque se llama boot.wim
la de instalacion install.wim
 --- y las podemos encontrar en el DVD de instalacion de Windows al buscar *.win (estan en "Sources")

La imagen de arranque el la que "absorbe" el arranque PXE cuando busca un servidor de arranque. Primero que nada el PXE debe encontrar un servidor DHCP que le asigne una IP valida, este servidor DHCP, le va a decir a nuestro Cliente quien tiene una imagen de arranque para iniciar un sistema operativo, esto se logra con la opcion 060 en el servidor DHCP






Reto: Jugar Age of Empire I (la era de los imperios i) en modo ventana con sonido

Que tiene de raro Jugar Age of Empires en modo ventana?

Bueno, cuando empezamos a jugar este apasionante juegito con mi hermanito y mi primo, era todavia era de monitores de 17 pulgadas. Aun VGAs y aún de baja resolución. Esto no era un problema, ni lo es ahora, a no ser porqu mi computadora actual tiene 4 monitores full hd de 22 pulgadas. Logico, no se puede jugar en los 4 a la vez, aunque no esta nada mal mirar el face, o Videos online mientras mis hombrecitos recolectan oro, Madera, piedra y comida. Pero no es tan fácil: el juego bloquea el modo ventana y parece ser que la unica solucion al problema lo tiene algun programilla de procedencia dudosa que puede contener algun malguere de Korea.

Por esto, gracias a los comentarios en los Blogs, ni si quiera me acerque mucho a buscar el susodicho Software, sino que me adapte a jugarlo en una sola pantalla y bloquear el resto -por unos dias

Cuando tuve tiempo, me aventuré a buscar alguna vieja licencia del bueno y viejo Windows XP y a instalarlo en una flamante VM en mi Hyper-V de Windows 8.

Quisiera serlo, pero no soy un fan de Windows 9 y lamento tener que repetir lo que tantos repiten: inconsistente, inestable, complicado y poco amigable. Pero si alguna ventaja tiene, es que tiene su propio servidor de máquinas virtuales: una Version recortada, aunque todavia bien completa de Hyper-V. Este en su renovada Version, bien potente. Por outside que pueda parecer, detesto el parchado: rellenar el sistema operativo con otro Software que hace lo mismo que el que ya biene con el sistema. Esto llega hasta el punto de que no uso morcilla por el simple hecho de que tengo Internet Explorer. Asi, desde que Windows 8 incluye Hyper-v, he empezado a olvidarme del buen Virtual Box, y del ya abandonado VMPlayer desde que se volvio comercial y su homologo gratuito se recorto aun mas.

Pero Hyper-v es todavia recortado.

Con este proyecto, me tope con problemillas que, vieniendo todo de Microsoft, no deberían uceder:

- La targeta de red estandar no funciona: debes instalar una legacy
- El sonido no funciona, no debes usar la VM desde el connector de Hyper-V sino que debes acceder con RDP (Remote Desktop Protokoll)
- El Video del juego no funciona remotamente, un mesaje me advierte: Error No se puede inicializar el sistema de gráficos. Comprueba que la tarjeta de Video y sus controladores son compatibles con DirectDraw

-- Update Segundo Dia:
Despues de instalar SP3 y todas las actualizaciones que se bajaron despues:
-- AOE I funciona sin problemas desde el "Virtual Machine Connection" que viene con Hyper-V, pero aqui es el sonido el que no funciona. Con el Acceso remoto, probé sin exito cambiar la resolucion de conexion, tambien las opciones de compatibilidad: por RDP recibo el mismo error sobre los gráficos. El sonido funciona, claro que no en AOE

-- Voy a probar una nueva configuracion importante: estoy creando una VM de Win7 Pro 64, donde installaré tambien el AOE I. Si el problema es de Drivers, el Siete tiene mejores chances...
-- Update 5 Horas después: Windows 7 provoca el mismo error.

Solución
Reinstalar Virtual Box: alli funciona todo de principio sin mucho escarbar!