A medida que va pasando el tiempo, los equipos (sobre todo basados en windows), no paran de «engordar» y cada vez hay menos espacio libre y más espacio ocupado con ficheros que igual no haria falta que estuvieran en el sistema. Uno de esos ficheros puede ser hiberfil.sys, el fichero encargado de la hibernación. Por ello si no utilizas nunca la hibernación, puedes «librarte» de dicho fichero y así ganar espacio.
Lo más importante es saber si estamos utilizando la hibernación. Para ello, basta con ir a la linea de comandos (ejecutandolo como administrador) y poner powercfg /a esto nos listará los estados de suspensión. Si tenemos la hibernación activada, nos saldrá algo parecido a la imagen de abajo.
En ese caso para desactivar la hibernación, teclearemos powercfg /hibernate off como se puede ver ena la imagen inferior.
que tendrá como resultado, que al volver a teclear powercfg /a , ahora nos saldrá «hibernar no se habilitó la hibernación»
A continuación ya podremos proceder a eliminar el fichero hiberfil.sys que se encuentra por defecto en c:\ , en mi caso ocupaba la no despreciable cifra de 6,4GB y puesto que nunca hibernaba, estaba ocupando espacio sin necesidad de ello.
Tened en cuenta que solo debeis deshabilitar la hibernación si realmente no la utilizais.
Para enceder en remoto los equipos con windows vimos como hacerlo en wakeonlan (wol) para arrancar equipos en windows. En los sistemas basados en linux lo haremos con la herramienta ethtool y wakeonlan, para ello primero las instalaremos mediante los comandos:
apt-get install ethtool
apt-get install wakeonlan
Una vez instalados, veremos con ip a y ethtool si tenemos activado el wol en nuestra máquina, para ello ponemos ip a en nuestra linea de comandos y obtendremos el nombre de la interface de red que queremos consultar, en nuestro ejemplo es la enp1s0, por lo que pondremos ethtool enp1s0 y obtendremos lo siguiente:
como podemos ver, nuestra máquina si tiene acticado el wol «pumbg» y se activata con magic-packets «g»
la tabla con todos los valores es la siguiente:
wol p|u|m|b|a|g|s|d...
Set Wake-on-LAN options. Not all devices support this. The argument to this
option is a string of characters specifying which options to enable.
p Wake on phy activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on ARP
g Wake on MagicPacket(tm)
s Enable SecureOn(tm) password for MagicPacket(tm)
d Disable (wake on nothing). This option clears all previous options.
En nuestro caso soporta pumbg, es debir soporta arranque físico, unicas,multicast, broadcast y MagicPacket, y el wake-on se activará mediante MagicPacket
ahora para «despertar» nuestra máquina, simplemente deberemos utilizar el comando wakeonlan con los siguientes parámetros.
Aunque es un mecanismo bastante antiguo, la gente no lo suele utilizar y la verdad es que puede ser bastante útil. Mediante el wake on lan o wol, podemos poner en marcha equipos que esten apagados de forma remota. Para ello, vamos a utilizar una de las muchas aplicaciones gratuitas que hay en internet. En este caso utilizaremos la herramienta de https://wol.aquilatech.com/ llamada wakeonlan, es gratuita y una de las más utilizadas, tambien podeis utilizar la de solarwinds o cualquier otra que sea de vuestro gusto. El funcionamiento es muy similar en todas ellas. Generalmente proporcionaremos la mac y a veces la ip, para poder «despertar» a los equipos. El programa es muy sencillo de utilizar, si que es verdad que os encontrareis muchos problemas en la parte de la máquina para hacer que funcionen. Despues de explicar como funciona el programa, expondremos las posibles causas del mal funcionamiento en la parte de los equipos.
El programa tiene un aspecto como este,
Para crear un host es tan simple como hacerlo desde el boton derecho y añadir nuevo host, primero le daremos un nombre,
y luego pondremos la mac (1) y la ip (2) del equipo que queremos encender.
Una vez configurado nuestro equipo, encenderlo será tan sencillo pulsar boton derecho sobre la máquina que queramos encender y elegir Wake up
Espero que os sirva de ayuda, si es así podeis dejar vuestro comentario.
Para el montaje de imagenes se puede hacer de dos modos, directamente con mount o utilizando el comando losetup. Veremos como con losetup es mucho más sencillo.
Imaginemos que tenemos un fichero de imagen de un usb o de un disco duro, el fichero lo llamaremos imagenrecuperada.img y se encuentra en el directorio /home/usuario/Descargas, por lo que su ruta completa será /home/usuario/Descargas/imagenrecuperada.img , por lo tanto, para montar dicha imagen mediante mount, primero deberemos de saber donde empieza la partición que nos interesa montar, lo haremos mediante el comando fdisk, teclearemos fdisk -lu /home/usuario/Descargas/imagenrecuperada.img ya que tenemos que sacar el offset de la partición que nos interesa.
Esto nos dará el tamaño de sector (512bytes) y que la partición empieza en el sector 63, por lo tanto el offset será de 32256. Una vez obtenido, ya podemos montarlo mediante mount -o loop,offset=32256 -t vfat /home/usuario/Descargas/imagenrecuperada.img /rutadondequeremosmontarimagen
Después de pelearme varias veces con el offset descubrí que hay un modo mucho más sencillo de hacer el montaje. Mediante losetup simplemente configuramos primero el dispositivo virtual con losetup /dev/loop1 /home/usuario/Descargas/imagenrecuperada.img y ahora la imagen, al haberla convertido en un dispositivo más, simplemente lo montamos como siempre. mount /dev/loop1/rutadondequeremosmontarimagen
Evidentemente mediante la utilización de losetup es mucho mas sencillo. Espero que os sirva de ayuda.
Para recuperar ficheros con ddrescue, primero deberemos instalarlo con apt-get install gddrescue (equipos basados en debian) una vez instalado, procederemos a utilizarlo del siguiente modo.
#Recuperamos el usb que tenemos como sdb en fichero /tmp/imagenrecuperada.img
ddrescue -d -r3 /dev/sdb /tmp/imagenrecuperada.img /mnt/test.logfile
Con la opción -d le decimos a ddrescue que acceda directamente al dispositivo y no utilice la cache del kernel, con -r 3 que intente hasta 3 veces si hay algun sector defectuoso que no lo lee a la primera. Esta opción se podria quitar.
Si todo sale ok nos saldra lo siguiente, donde nos indica el tamaño de la imagen recuperada etc.
Ahora ya tenemos una imagen del disco que al montarlo en el sistema de ficheros , podremos acceder a los ficheros sin problemas. Para ello deberemos «montar» la imagen en una carpeta.
Primero obtendremos de donde empieza la particion que queremos montar, para ello pondremos fdisk -l -u imagenrecuperada.img y obtendremos que cantidad es cada sector 512 y que nuestra imagen empieza en el sector 63, con lo que le tendremos que decir al comando mount que nuestro offset real es de 32256.
El comando para montarlo en carpeta(que abremos creado previamente ) es
mount -o loop,offset=32256 -t vfat /tmp/imagenrecuperada.img /tmp/ficherosarecuperar/
la opcion de loop es para cuando montamos ficheros en vez de dispositivos, el offset para indicar donde empieza nuestra particion y -t vfat para decirle que tipo de sistema de fichero es.
En esta entrada veremos un script para saber si un dispositivo en concreto ( o un directorio), se ha montado en modo lectura RO o en modo escritura RW.
#este primer ejemplo nos dice si el dispositivo /dev/sdb1 está montado RO o RW, sino devolverá vacio.
grep /dev/sdb1 /proc/mounts |cut -d" " -f4|cut -d"," -f1
#en este caso lo mismo pero para un directorio
grep /media/usb /proc/mounts |cut -d" " -f4|cut -d"," -f1
Como podéis ver en los ejemplos, primero medianta grep, «filtramos» las entradas de los dispositivos montados por el valor de un dispositivo en concreto y en el segundo caso por un directorio, una vez filtramos la linea, con «cut» la cuarteamos primero por espacios y luego por las comas.
En la imagen de más abajo podéis ver un ejemplo que lo aclara aun más. Supongamos que queremos saber si la carpeta /run/user/116 esta montada como RO o RW, para ello filtraremos en el proceso de montaje mediante grep 116 /proc/mounts que nos dara tmpfs /run/user/116 tmpfs rw,nosuid,nodev,relatime, size=378280k,mode=700,uid= 116,gid=122 0 0 despues con cut -d» » -f4 dividiremos por los espacios y cogeremos el 4 elemento con lo que nos quedará rw,nosuid,nodev,relatime, size=378280k,mode=700,uid= 116,gid=122 0 0 por último volvemos a dividir, pero esta vez por la comas y nos quedamos con el primero con cut -d»,» -f1 que nos da rw que era lo que buscábamos desde un principio.
En este tutorial vamos a ver como se utiliza la nueva fución de excel Buscarx, con ella se facilita de manera notable tanto la busqueda de valores en filas, columnas y rangos como la obtención de los mismos. Ahora la función es muy mas potente y flexible.
Empecemos por su sintaxis, =BUSCARX(valor_buscado; matriz_buscada; matriz_devuelta; [si_no_se_encuentra]; [modo_de_coincidencia]; [modo_de_búsqueda])
Como podeis ver, cambia bastante respecto las «antiguas» BuscarV y BuscarH, ahora para podemos devolver rangos enteros, devolver valores si no se encuentra el valor buscado, muchas mas opciones en cuanto a valores de coincidencia y varios «modos de busqueda» que nos permiten incluso hacer ordenaciones de los datos antes de «encontrarlos». Aquí podeis ver una explicación de los argumentos.
argumento
Descripción
valor_buscado Requerido
El valor buscado
matriz_buscada Requerido
La matriz o rango para buscar
matriz_devuelta Requerido
La matriz o rango para devolver
[si_no_se_encuentra] Opcional
Si no se encuentra una coincidencia válida, devolver el texto [if_not_found] que proporcione. Si no se encuentra una coincidencia válida y no hay [if_not_found], se devolverá #N/A.
[modo_de_coincidencia] Opcional
Especifique el tipo de coincidencia: 0: coincidencia exacta. Si no se encuentra ninguno, devolver #N/A. Este valor es el predeterminado. -1: coincidencia exacta. Si no se encuentra ninguna, devolver el siguiente elemento más pequeño. 1: coincidencia exacta. Si no se encuentra ninguna, devolver el siguiente elemento más grande. 2: una coincidencia comodín donde *, ? y ~ tienen significado especial.
[modo_de_búsqueda] Opcional
Especifique el modo de búsqueda que se usará: 1: realizar una búsqueda empezando por el primer elemento. Este valor es el predeterminado. -1: realizar una búsqueda inversa empezando por el último elemento. 2: realizar una búsqueda binaria que se base en que lookup_array se ordene en orden ascendente. Si no está ordenada, se devolverán resultados no válidos. -2: realizar una búsqueda binaria que se base en que lookup_array se ordene en orden descendente. Si no está ordenada, se devolverán resultados no válidos.
Pasemos a ver 3 ejemplos.
1. – El uso más sencillo, como si fuera el antiguo Buscarv, ahora es mas intuitivo, hay que poner el valor a buscar, el rango donde buscar y el rango de los datos a obtener. Por defecto la búsqueda es exacta, al contrario que en buscarv. Abajo podeis ver una comparativa de las dos fórmulas para obtener el mismo resultado.
En las imágenes se utilizan los equivalentes en inglés buscar(xlookup) y buscarv(vlookup), aunque son totalmente análogos a la versión española.
2.- Seguimos con el segundo ejemplo, en este caso veremos la potencia de la nueva fórmula respecto buscarv, en este ejemplo devolveremos varios valores en vez de uno solo como es el caso de buscarv.
Como vemos en la imágen, al poner el rango de valores encontrados, vemos como en (3), no solo nos da el nombre del vendedor sino que también el apellido!!!, sin tener que volver a escribir otra vez la fórmula para obtener cada celda.
Este es el resultado final de utilizar la fórmula en este ejemplo.
3.- Utilización del parámetro [si_no_se_encuentra], ahora en buscarx podemos poner nosotros el valor que queramos que se devuelva cuando no se encuentra el elemento buscado. Recordad que esto no era posible con buscarx y buscarv que devolvián el N/A#.
En el ejemplo vemos como al no encontrar a SALES5 (1) puesto que no existe, se devuelve «No Encontrado», que es el texto que hemos puesto en la fórmula(2)
Aquí tenéis el excel con los ejemplos por si os hiciese falta.
Con powershell podemos realizar facilmente esta tarea. Hay veces que nos interesa borrar de un directorioo (y sus subdirectorios), los ficheros que hayan sido modificados hace mas de un mes (por ejemplo). Además veremos como ejecutar este script de manera programada.
Empezemos con el script de powerhshell que nos permitirá borrar los ficheros mas antiguos que diez dias. (este valor lo podeis cambiar con la variable Daysold
$Daysold = 10
$Folder = "c:\windows\temp"
#Borramos los ficheros que haya en la Variable Folder, que sean mas viejos que Daysold
Get-ChildItem $Folder -Recurse -Force -ea 0 |
? {!$_.PsIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-$Daysold)} |
ForEach-Object {
$_ | del -Force
$_.FullName | Out-File C:\tmp\deletedlog.txt -Append
}
#Eliniar directorios vacios
Get-ChildItem $Folder -Recurse -Force -ea 0 |
? {$_.PsIsContainer -eq $True} |
? {$_.getfiles().count -eq 0} |
ForEach-Object {
$_ | del -Force
$_.FullName | Out-File C:\tmp\deletedlog.txt -Append
}
#Los nombres de los ficheros eliminados los guardamos en C:\tmp\deletedlog.txt por si queremos tracearlo.
Como podeis ver en el código, tenemos dos variables, Folder y Daysold, que hacen referencia a la carpeta donde queremos borrar todos los ficheros, cuya fecha de modificación es mayor de 10 dias que es el valor de Daysold.
Al ejecutar este script, el primer bloque eliminará todos los ficheros mas antiguos de 10 dias, y después la seguna parte del script eliminará los directorios que se hayan quedado vacios. Si queremos dejar los directorios vacios, solo tenemos que eliminar las lineas de la 13 a la 19, que se encargan del borrado de los mismos.
Por otra parte guardamos el nombre de los ficheros borradoes en el fichero C:\tmp\deletedlog.txt por si queremos tener un log del borrado realizado.
En realidad, hay varias maneras de hacerlo. Pero seguramente, la más rápida y cómoda de hacerlo, sea la de encriptarlo mediante el winrar nuestro documento.
Esta claro que hay aplicaciones como el excel,word,etc que nos dejan hacerlo tambien, pero solo aplica a sus propios documentos. En cambio, si lo hacemos con la aplicación de compresión, aprovechamos que protegemos nuestros documentos y además ocupan menos espacio en nuestro email.
La razón de utilizar el winrar es porque est gratuito y además es de los más extendidos y fáciles de utilizar. Si no lo tiene, puede descargarselo aquí. https://www.win-rar.com
Imaginemos que queremos enviar de forma protegida (es decir encriptado y con password), nuestro documento de ejmplo test.pdf lo que deberemos de hacer es lo siguiene.
1.- Una vez instalado el winrar, iremos a la ubicación del archivo en cuestión, seleccionaremos el ficheros o ficheros (tambien puede ser una carpeta), que queramos proteger y sobre la seleccion, haremos clic en el boton secundario(1), de modo que podremos elegir «Añadir al archivo…»(2)
2.- Ahora, se nos abrirá la ventana del winrar, donde elegiremos nuestro nombre de archivo(1), luego elegiremos el zip(2) como formato(al ser el mas difundido). Después, haremos clic en establecer contraseña(3), al hacerlo, nos aparecerá una ventana donde podremos poner nuestra password(4) y si queremos podemos verla mientras la ponemos(5)
Nota: Es muy importante acordarse de esta password, porque si la perdemos no podremos desencriptar el archivo que estamos protegiendo.
Ahora, nuestros documentos están protegidos y podremos compartirlos con otras personas y solo a aquellos que les facilitemos la password, podrán desencriptar el fichero.
Al compartir la password, nunca lo hagais en compañia del fichero que mandais, puesto que no serviria de nada. Es decir, si compartis el fichero encriptado con un email, no pongais la password en ese mismo email. En su lugar, compartid la pwd por otro método(whatsapp, sms, etc) para hacerlo mas seguro.
Una vez recibido el archivo encriptado, la persona que lo reciba, simplemente tiene que seleccionar el archivo .zip, hacer clic en el botón derecho (1) y elegir cualquiera de las opciones de Extaer.., en este ejemplo elegiremos «Extraer en test\» (2)
Finalmente, winrar le preguntará la password, el usuario solo tendrá que poner la password correcta y winrar descomprimira y desencriptará los ficheros para que este tenga acceso a ellos.
Con este procedimiento conseguiremos que solo a aquellos que les compartamos la contraseña, tendrán acceso a dichos documentos, salvaguardando la seguridad de los mismos, en caso de que alguien los consiga, ya sea por hurto o por equivocación nuestra.
Espero que os sirva de utilidad. Dejad vuestro comentarios.