Win-SSHFs Montar FS sobre SSH (Windows)

Win-SSHFs

Win-SSHFs  utiliza un sistema de ficheros linux en un windows a través de SSH. La arquitectura se basa en una conexión ssh a un servidor  en la que tengamos que trabajar con ficheros y un equipo windows como cliente.

Este sistema te permite montar el sistema de ficheros como una unidad de windows , además de la seguridad que otorga las conexiones ssh .

Personalmente el modificar ficheros y tener que subirlo al servidor me parece un atraso , el WinSCP o Filezilla se hacen izando una mezcla de un poco pesado ya que no fueron diseñados para esta tarea.

Utilizando:

  • Dokan Library 0.6.0
  • .NET
  • Un poco de cabeza se ha creado este proyecto.

Sobre todo Win-SSHFs es fácil de usar

[flickr]http://www.flickr.com/photos/12949201@N08/9374177056/[/flickr]

Podemos asignar diferentes conexiones a letras del sistema y poder trabar de forma trasparente.

Partimage

El porque de todo esto

He adquirido una vieja gloria de portátil y venia con licencia de Windows XP. Va a tocar actualizarlos , vaya ideas que tengo a veces.
Revisamos que tenga el SP3 de rigor y de damos al «Windows Update» , toma ya!!! 250MB en actualizaciones. Esto va a ser un trabajo de chinos.

[flickr]http://www.flickr.com/photos/12949201@N08/9373859616/[/flickr]

Poco a poco ejecutamos las actualizaciones de windows , una y otra vez aparecen nuevos parches. Esto se consigue poniendo de requerimientos un software nuevo , en una versión antigua , y en la siguiente ejecución del Windows Update tendremos más y más.  Solo llevo 1,8 GB de actualizaciones  así que hay que buscar un método de backup.

El backup

La búsqueda del software tiene como requisito que sea de tipo Ghost.  En OpenSource existe Partimage , ha sido probarlo y enamorarme. Ellos mismo recomienda utilizar el CdSystemRescue como sistema de arranque.

Yo he utilizado un almacenamiento externo para guardar la imagen , para ello he tirado de dmseg tras enchufar el disco externo , obtengo /dev/sdX que corresponde y lo monto en una carpeta dentro de root ,  una costubre.

El sistema de archivos del PinchoUSB es NO-Persisntente !!!! , así que utiliza un disco externo u otra partición en el equipo para no perder lo

Los pasos

Desde la interfaz de consola ejecutamos el partimage y lo configuramos desde ncurses. Los datos que te piden es la partición o disco que quieres hacer imagen  , la ruta donde guardar el resultado (donde hayas montado el recurso).

 

[flickr]http://www.flickr.com/photos/12949201@N08/9371082155[/flickr]

La opciones son el nombre , si quieres que se comprima mucho o poco,  usar un servidor de red y decir si se parte en varios volúmenes.

Si no hemos indicado que se cree la imagen en el recurso externo deberemos de copiarla ahora , antes de apagar.

 

BrandCache Windows 7 y el puerto 80

BrandCache

Este post  aparece por las pocas veces que utilizo Windows para el trabajo web. Son mas familiares los entornos derivados de debian.  No puedo dejar de apuntar como gestiona Windows 7 este puerto para futuros casos en los que me haya olvidado completamente como lo he solucionado.

Tengo un Windows 7 instalado y me dispongo a utilizar Xampp Lite , la instalación por defecto con todo el pack Apache+PHP+MySQL+PHPMyAdmin . Al iniciar el servicio de Apache solo hace que fallar y el paso inicial es revisar si el puerto 80 esta ocupado. Así es  esta ocupado por el propio sistema operativo.

[flickr]https://secure.flickr.com/photos/12949201@N08/9047402715/[/flickr]

Las dos vías posibles para abordar el problema  son:

Los servicio de  SQLServer , que aun des instalado puede haber dejado una entrada el registro solicitando a svchost que escuche en ese puerto.

El SQL Server no era mi caso ya que indicaba e como propietario el usuario SYSTEM

La suerte estaba de mi lado  y el problema era del sistema operativo , esto es verificable con la herramienta de control de puerto de Xampp , en ella se indica que SYSTEM esta usando el puerto 80 y no svchost

Tenemos un windows que ocupa el puerto 80 , hay que buscar que servicio se les ha ocurrido colocar en este puerto.

La respuesta es  :

BrandCache

Ahora ya sabes con quien nos jugamos los cuartos.  Esta es la única referencia de BrandCache que he encontrado sobre el .

Vamos a los servicios de windows a deshabilitarlo

Fuente: Microbiablog.com

PowerShell y objetos COM

No siempre PowerShell nos resuelve el problema , esta en pleno crecimiento. Un truquito que podemos utilizar , sin abusar mucho , es utilizar los objeto COM que hemos utilizado VBS o WSH. En este caso será el objeto WScript.Network

[box type=»info»] He localizado este blog en el que el autor ha realizdo el ejerciciod e reconvertir scripts tipos de VSH a el nuevo PowerShell Blog Pauerschell

[/box]

 

            
    Param(            
        [string]$Drive,            
        [string]$Unc            
        )            
    $net = New-Object -com WScript.Network            
    if ($Drive.length -eq 1) { $Drive = $Drive +':' }            
    "$Drive $UNC"            
    $net.mapnetworkdrive($Drive, $Unc)            
    # ToDo -- currently I don#t need it            
    #$net.mapnetworkdrive($Drive+ ':',$Unc, $bProfile, $User, $password)            
}            

function Get-NetworkDrives            
{            

    $mappedDrives = @{}            
    $net = New-Object -com WScript.Network             
    $a = $net.EnumNetworkDrives()            
    $anz = $a.count()            

    for ($i = 0; $i -lt $anz; $i = $i + 2)            
    {            
        $drive = $a.item($i)            
        $path = $a.item($i+1)            
        $mappedDrives[$drive] = $path            
    }            
    $mappedDrives            
}            

function Remove-NetworkDrive($Drive)            
{            

    $net = New-Object -com WScript.Network            
    if ($Drive.length -eq 1) { $Drive += ':' }            
    $net.removenetworkdrive($Drive)            
}

 

También indico las fuentes originales:

Logon_MapNetworkDrive.htm
LogonScript_enumnetworkdrives.htm#EnumNetworkDrives_Syntax
Powershell index.htm
Blogs technet, hey scripting Guy

PowerShell Uso de parametros

Tiene un función integrada para gestionar nuestros parámetros. Estable un control sobre su contenido y si no se ha pasado via para metros el solo te lo solicita.

Param(

[Parameter(Mandatory=$true)]
$user1 = $null,

[Parameter(Mandatory=$true)]
$pass1 = $null
) #end param

Lanzar Java desde PowerShell

Este caso ha sido un dolor de cabeza   ,  ejecutando PowerShell en un servidor de aplicaciones  tienen muchos inconvenientes técnicos. Su pongo que tenga alguna ventaja  , no la he conocido ni utilizado.

Teniendo un script en PowerShell y queremos invocar una aplicación java existente  desde un entorno «limitado»

cd h:ficheros
set-item -path Env:CLASSPATH -value h:ficheros
$hola2 = Invoke-Expression -Command «java apalicacion parametros»
$env:Path

 

Desglosando por lineas veremos un poco mejor su funcionamient.

  • Lo primero que vemos es un típico posicionamiento  en el directorio donde se encuentran los scripts
  • Establecemos un entorno para que nuestro servidor de aplicaciones sepa donde tiene las «cosas»
  • Ya comentamos el Invoke-Expression
  • No podemos olvidar restablecer el entorno porque sino tendremos muchos problemas para ejecutar otras sentencias.

 

 

Java SE Floating Point Updater

Este jar es un parche peculiar para las JRE , evita varios ataque de denegación de servicio y varias operaciones.

La instalación:

Descargar el parche de oracle
Copiarlo en la caperta bin del jre y  ejecutar:

java -jar "nombre del paquete" -u -v

El log para revisar posibles fallos es:

.fpupdater.log

El backaup del fp.jar que actualiza se llama

fp.jar.fpupdater

Si has de reinstalarlo con eliminar el log y el backup se puede relanzar

PowerShell y comandos del sistema

Siempre sabemos que comandos ejecutamos para realizar muchas tareas  y a la hora de crear el VBScript  nos quedábamos en blanco con el dichoso objeto que debíamos utilizar. Hacer un par de scripts al año no te da soltura. En mi primer problema técnico con este lenguaje me he encontrado muchas soluciones basadas en el concepto de ejecutar comando de cmd , dentro del script . Para esto se recurre a un recubrimiento del lenguaje , en VBS era crear un proceso y dentro de el ejecutábamos lo que queríamos , a nivel de sistema operativo quedaba registrado como un procesos de w/cscript.

 

C:UsersAdministrator>type foo.ps1
Invoke-Expression -Command "dir e:temp"

PS E:temp> Invoke-Expression -Command "dir h:temp"

    Directory: H:temp

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        30/07/2011      6:28            fffff
d----        11/05/2011     20:27            f_gggg
-a---        02/05/2011     20:60        281 hola.ps1
-a---        14/06/2011     23:10       6240 ffffffffff.jar
-a---        10/06/2011      6:38       2900 rrr_444.rar

Tenemos un herramienta fantastica para salir del paso en momentos críticos

PowerShell, un lugar por donde empezar

Tras una búsqueda en Google sobre este invento he dado con este blog Aprende informática conmigo , el primer paso esta dado y ha sido fácil siguiendo los puntos en orden.

Para los impacientes como yo que desean ejecutar un script en los primero 3 minutos  de lectura nos encontraremos con errores un poco peculiares.  Por defecto viene restringido el uso de scripts en PowerShell por medidas de seguridad , algo poco corriente en otros sistemas.

 

Debemos habilitar la política ExecutionPolicy , para ello podemos revisar su estado con

Get-ExecutionPolicy

y modificar lo con

Set-ExecutionPolicy (restricted | allsigned | remotesigned | unrestricted)

Intentemos leerlo todo antes de hacer tus primeros pinitos

Manual básico del technet de MSDN

Particionar y Windows 7

No siempre tengo un Linux a mano , así que ha tocado recuperar un viejo disco desde Windows  7. El fdisk  ya no esta  y me ha ralentizado un poco . Renovarse o morir así que a buscar la nuevo utilidad ….. DISKPART …. lleva mucho con nosotros y ahora va a ser quien nos ayude. Su política de uso es una consola en la que para reducir problemas de mal uso  te obliga a seleccionar el dispositivo , partición o volumen donde quieres realizar la operación. Curioso sistema  ,  ejemplo:

LIST DISK

  Núm Disco  Estado      Tamaño   Disp     Din  Gpt
  ---------- ----------  -------  -------  ---  ---
  Disco 0    En línea     232 GB  3072 KB
  Disco 1    En línea      15 GB      0 B
  Disco 2    En línea     149 GB      0 B

SELECT DISK 0

El disco 0 es ahora el disco seleccionado.

LIST PARTITION

 Núm Partición  Tipo              Tamaño   Desplazamiento
 -------------  ----------------  -------  ---------------
 Partición 1    Principal          155 GB    31 KB
 Partición 0    Extendido           76 GB   155 GB
 Partición 3    Lógico            3815 MB   155 GB
 Partición 4    Lógico              18 GB   159 GB
 Partición 5    Lógico              53 GB   177 GB
 Partición 2    Principal         1027 MB   231 GB

SELECT PARTITION "Numero de partición"

Ejemplo para volumen:

LIST VOLUMEN

  Núm Volumen Ltr  Etiqueta     Fs     Tipo        Tamaño   Estado     Info
  ----------- ---  -----------  -----  ----------  -------  ---------  --------
  Volumen 0     E                      DVD-ROM         0 B  Sin medio
  Volumen 1     G                      DVD-ROM         0 B  Sin medio
  Volumen 2     C               NTFS   Partición    155 GB  Correcto   Sistema
  Volumen 3     D   HP_TOOLS    FAT32  Partición   1027 MB  Correcto
  Volumen 4     H   SD          NTFS   Extraíble     15 GB  Correcto
  Volumen 5                            Partición    149 GB  Correcto

SELECT "Numero de VOLUMEN"

Con la selección hecha ya podemos , borrarlo , verificar o lo que necesitemos.

 

Nota: Solo me ha hecho falta una vez en mi vida pero por si acaso lo dejo apuntado , s epeuden convertir disco de GPT (Mac) a MBR (PC) siempre que los discos estén vacíos.

Primero seleccionamos el disco , como indicamos antes y después ejecutamos la conversión

CONVERT MBR