Navegando me encontré con una imagen que quizá nos ayude a comprender de una forma más fácil lo que es el software libre :) espero les agradé
martes, 11 de diciembre de 2012
lunes, 26 de noviembre de 2012
Actualizaciones del blog
jeje mas bien para recordarles que pueden seguir revisando las entradas anteriores ya que se anexaron varias modificaciones entre ellas los comando de monitoreo y los backups con rsync por mencionar algunas, les sugiero se den una vuelta :-) quizá encuentran ese comando que andaba buscando o ahora si le aplican el respaldo a su servidor :-D
buen dia ;-)
buen dia ;-)
Comprobar la existencia de un archivo en Linux
Saludos, hoy les voy a postrar algo bien sencillo pero muy útil y es comprobar la existencia de un archivo en Linux, en realidad es sólo un par de comandos que pueden agregar a su shell
test -f nombredelarchivo
echo $?
Expliquemos ahora que ocurre aquí
, test es un comando que comprobara expresiones y genera un valor booleano a su salida, que es 0 cuando es true o verdadero y 1 para false o falso, la opción -f devuelve verdadero o cero si se cumple la condición en este caso la existencia del archivo y siempre y cuando sea un archivo regular -s comprueba que tenga un tamaño mayor que cero.
Con -r podemos ver si tiene permisos de lectura así como -w si tiene permiso de escritura o -x comprobara si tiene permiso de ejecución y -d comprobara si el archivo existe y es un directorio.
El uso de test se extiende más pudiendo comparar cadenas y retornando valor booleano, aunque para comparaciones podemos usar diff que quizá es un poco más potente.
Espero les sirva :)
test -f nombredelarchivo
echo $?
Expliquemos ahora que ocurre aquí
, test es un comando que comprobara expresiones y genera un valor booleano a su salida, que es 0 cuando es true o verdadero y 1 para false o falso, la opción -f devuelve verdadero o cero si se cumple la condición en este caso la existencia del archivo y siempre y cuando sea un archivo regular -s comprueba que tenga un tamaño mayor que cero.
Con -r podemos ver si tiene permisos de lectura así como -w si tiene permiso de escritura o -x comprobara si tiene permiso de ejecución y -d comprobara si el archivo existe y es un directorio.
El uso de test se extiende más pudiendo comparar cadenas y retornando valor booleano, aunque para comparaciones podemos usar diff que quizá es un poco más potente.
Espero les sirva :)
Etiquetas:
scripts,
shell,
terminal,
Test,
validaciones
lunes, 29 de octubre de 2012
Cuenta la leyenda IOS6 jailbreak Untethered
Saludines, resulta que navegando por la web me tope con que circulan algunos post en diversos medios que aseguran haber aplicado Jailbreak al IOS 6 de forma untethered para dispositivos de la manzana y todo el potencial de Cydia.
La verdad investigando; aun así varios posts indican que por ahora todavía no es posible y que lo mas cercano que se ha conseguido es el jailbreak a dispositivos de 4ta generación para ipod touch y anteriores, nueva ipad, iphone 4 y anteriores de forma "semi untethered" , les dejo el blog donde pudieran seguir "el camino amarillo " http://ios6jailbreaknow.blogspot.mx/
yo aun no tengo la oportunidad de probarlo espero poder descargar el tutorial por la noche y hacer algunas pruebas,les sugiero hagan una copia de respaldo por cualquier percance que ocurra :-p.
Espero les sirva y sus comentarios.
Have Fun
La verdad investigando; aun así varios posts indican que por ahora todavía no es posible y que lo mas cercano que se ha conseguido es el jailbreak a dispositivos de 4ta generación para ipod touch y anteriores, nueva ipad, iphone 4 y anteriores de forma "semi untethered" , les dejo el blog donde pudieran seguir "el camino amarillo " http://ios6jailbreaknow.blogspot.mx/
yo aun no tengo la oportunidad de probarlo espero poder descargar el tutorial por la noche y hacer algunas pruebas,les sugiero hagan una copia de respaldo por cualquier percance que ocurra :-p.
Espero les sirva y sus comentarios.
Have Fun
Etiquetas:
IOS,
ipod,
manzana,
sistemas operativos,
tutorial
Probando iOS 6.0
Saludos a todos en mi muy humilde opinión me decidí a postrar sobre iOS 6, ya que me obsequiaron hace algún tiempo un artilugio de la manzanita a la cual acabó de actualizar, a decir verdad pocos cambios en la interface, ligeramente más veloz, esperemos ver mejoras en la duración de la batería del iPod, la ejecución de las tareas va mejor, y la integración con las redes sociales ciertamente es más amena que con su antecesor, los mapas evidentemente no son tan buenos como los de Google hasta ahora todavía no ej encontrado a Cancún en España ni nada por el estilo pero si ciertamente Google lleva mucho camino ya recorrido, cosa que le falta a la manzana, algo que sí note fue una ligera mejora en el rango de la red inalámbrica, al parecer también la gestión de la misma luce con varias mejoras desde la velocidad hasta la captación, quiero creer, además espero la batería no se vea afectada, a grandes rasgos es un poco más limpio en su ejecución, la aplicación de Youtube me resulta algo lenta y la cache es muy mala, diseñada sólo para redes rápidas, se que esto ya no es problema del os pero en vista de que se elimino la versión anterior, lo comento, por otro lado la App Store luce algo incómoda y la vista por categorías que se tenía por lo menos para mi, me resultaba algo más cómoda y rápida para navegar, la escritura mejor ligeramente tanto en su corrección como al tacto, se siente más "certero", en fin haber que ocurre conforme vaya instalado aplicaciones, será necesario cargar cydia y quizá algunas aplicaciones más interesantes para poder sacarle jugo y notar algunos otros beneficios del sw libre, digamos que esperaba algo un poco más en cuanto a la interface, bien por la parte del desempeño y ojalá liberaran el Bluetooth para la transferencia de datos que aún resulta monopolica, las nuevas apps, me resultan con poca utilidad real, me resulta más útil notes y recordatorios así como la App del clima que ya estaban con anterioridad, juzguen ustedes la mayoría de las mejoras van más de fondo quiero pensar.
viernes, 19 de octubre de 2012
Iniciar sesion en unix/linux
Una entrada mas para recordar, básicamente para iniciar sesión en cualquier o casi cualquier sistema Linux es necesario el nombre del usuario y la contraseña, como usuario podemos definir si veremos usuario administrador o bien un usuario con apenas permisos para leer un log o el correo, para iniciar en modo administrador generalmente entramos con el usuario root o súper usuario.
Generalmente no podemos loggearnos de forma directa como usuario root, esto por mi motivos de seguridad al establecer una sesión remota o incluso local, una forma es teclear usuario u contraseña por lo general los dígitos de la contraseña no se ven en consola y en entornos gráficos los campos aparecen como "bloqueados" o con marcas que indican solo el numero de caracteres,
una vez ingresando al sistema para ser usuario root podemos teclear el comando su luego tecla Enter y la contraseña de root o bien como en debían podemos ingresar con sudo usuario_especial y con esto nos pedirá el password del usuario administrador sin loggearnos como root, una vez con la sesión iniciada en root deberíamos ver en la terminal el carácter # (gato) al inicio de la línea de comando algo como:
#root@webhost:
Bueno es algo muy sencillo pero espero les sirva el detalle saludines
Generalmente no podemos loggearnos de forma directa como usuario root, esto por mi motivos de seguridad al establecer una sesión remota o incluso local, una forma es teclear usuario u contraseña por lo general los dígitos de la contraseña no se ven en consola y en entornos gráficos los campos aparecen como "bloqueados" o con marcas que indican solo el numero de caracteres,
una vez ingresando al sistema para ser usuario root podemos teclear el comando su luego tecla Enter y la contraseña de root o bien como en debían podemos ingresar con sudo usuario_especial y con esto nos pedirá el password del usuario administrador sin loggearnos como root, una vez con la sesión iniciada en root deberíamos ver en la terminal el carácter # (gato) al inicio de la línea de comando algo como:
#root@webhost:
Bueno es algo muy sencillo pero espero les sirva el detalle saludines
Especial respaldos en unix/linux parte 2
Bueno continuamos con las herramientas y utilerias de respaldo
Les comento de rsnapshot que es una herramienta que permite respaldos con alta compresión, se ayuda de
rsync y ssh para su operación, escrito en pearl, permite la publicación de copias incrementa-les.
Para su instalación
En Debian (o Ubuntu):
Les comento de rsnapshot que es una herramienta que permite respaldos con alta compresión, se ayuda de
rsync y ssh para su operación, escrito en pearl, permite la publicación de copias incrementa-les.
Para su instalación
En Debian (o Ubuntu):
apt-get install rsnapshot
Como el tutorial es algo extenso les dejo la pagina de donde pueden consultar la instalación y configuración de rsnapshot guide-to-rsnapshot-and-incremental-backups-on-linux
El enlace se encuentra en Ingles, ya me dedicare a realizar la traducción ;)
Rsnapshot se puede utilizar en scripts, y programar su automatización en crontab como eh comentado para otras utilerias.
Otra herramienta muy potente es Backuppc.
Backuppc: es un herramienta orientada un poco más al sector profesional que permite realizar copias de seguridad en Linux y Windows en un dispositivo de almacenamiento en un servidor o unidad.
Esta herramienta extrae los datos con la ayuda de Samba o bien con el comando tar,la transferencia se realiza según se requiera por medio de ssh, rsync entre otros.
Instalación en ubuntu
apt-get update
apt-get install backuppc
Esto instalara backuppc con sus dependencias, creara un usuario con el mismo nombre "backuppc", e instalara Apache, de tal forma hay que tener en cuenta si ya se tenia instalado.
Puedes ingresar a la consola de administración en la siguiente URL de tu navegador "http://SERVER-IP/backuppc" por default.
También hay que anotar la contraseña proporcionada por el instalador.
Cabe mencionar que backuppc se puede configurar para conectarse y autenticarse con otros ordenadores o servidores.
La configuración consiste en logearse con el usuario backuppc ( su backuppc )
generar claves ssh " ssh-keygen-t rsa".
Acepte la ubicación de instalación por defecto (el directorio home del usuario backuppc) y deje en blanco la contraseña.
Después, copia la clave pública RSA (id_rsa.pub) en el archivo authorized_keys para el usuario root de cada uno de los servidores o pc que deseas hacer una copia de seguridad (hay varias maneras de lograr esto):
[Copiar la clave pública] ssh root @ server-ip [Enter Password] CD vi authorized_keys (aqui puedes usar cualquier editor de texto solo ten cuidado de no dejar espacios al final del archivo) [PEGA LA LLAVE Y GUARDA EL ARCHIVO]
Ahora, ya que estamos en el servidor de donde se va a hacer una copia de seguridad, compruebe que está instalado rsync:apt-get update apt-get install rsync
Por último, compruebe que ahora puedes inciar una sesión SSH desde el servidor de copia de seguridad en el servidor que se desea sustraer la copia de seguridad como usuario backuppc:Su backuppc ssh root @ server ~-IP [TENDRÁ QUE ACEPTAR known_hosts LA PRIMERA VEZ SOLAMENTE]
Introduce la contraseña, Asegúrate de que los permisos del archivo authorized_keys están bloqueados a rw para root como propietario único.Asegúrate de hacer SSH en cada servidor / ordenador desde el servidor donde se hacen las copias de seguridad a los servidores de donde se quiere sustraer la copia.Basta con repetir lo anterior para cada servidor / ordenador para agregarlo al servidor BackupAnexo la fuente original ya que plantea algunas soluciones si el apache ya esta instalado y en caso de que hayas olvidado anotar la password generada para el usuario "backuppc"Por ahora hasta ahí le dejamos ya que hay que revisar muchas más herramientas cualquier duda, pues por aquí andamos ;-)
Etiquetas:
administracion,
aplicaciones,
backuppc,
backups,
linux,
rsnapshot,
rsync,
sistemas operativos,
terminal,
tutorial,
ubuntu,
unix
jueves, 18 de octubre de 2012
Especial respaldos en unix/linux parte 1
Que tal , ya en ocasiones anteriores ya se hablo de rsync, respaldos con tar, hoy vamos a hablar de más herramientas.
Pero primero tenemos que planificar el respaldo.
Seguiremos estas preguntas:
dd if=/dev/unidad of=respaldo.iso
Para montar la imagen podemos teclear
dd if=respaldo.iso of=/dev/unidad
o
mount -o loop respaldo.iso /mnt/unidad
Pero primero tenemos que planificar el respaldo.
Seguiremos estas preguntas:
- Que se va a respaldar?
- Que herramienta vamos a usar?
- En donde vamos a respaldar?
- Quien va a respaldar?
- Cada cuando vamos a respaldar?
- Que tipo de respaldo queremos?
- Que se va a respaldar?: Para esta parte debemos dejar bien en claro que es lo que se quiere respaldar, los archivos, que permisos, el espacio que requieren muy probablemente empecemos a ver el tipo de archivo que vamos a respaldar.
- Que herramienta vamos a usar?: En esta parte nos enfocaremos a ver la necesidad del respaldo, es decir si el servicio requiere de una alta disponibilidad o si bien solo vamos a guardar los mp4 de toda la temporada de zombies, la herramienta en gran medida debe considerar los recursos con los cuales se cuenta, la frecuencia, y tamaño del respaldo que vamos a generar.
- En donde vamos a respaldar?: Aquí hablaremos del medio en el que vamos a respaldar, ya sea unidades dedicadas, físicas o virtuales, un servidor solo de respaldo o bien un dvd con suficiente espacio, hay que tener muy en cuenta el tipo de respaldo y archivo que se va a almacenar así como su compresión y la disponibilidad del respaldo.
- Quien va a respaldar?: Evidentemente si estas leyendo esto es por que te toco a ti o bien no hay nadie más pero se puede automatizar el proceso y se pueden hacer copias incrementa les, es decir esta tarea no siempre tiene que ser realizada por personal y podemos descargar esa responsabilidad a un usuario con menor conocimiento que el administrador del sistema, dependerá de la herramienta y que tan critico o delicado sea el respaldo a realizar.
- Cada cuando vamos a respaldar?: la frecuencia de un respaldo es vital, cuando solo queremos guardar logs seguro sera seguido el respaldo o bien el respaldo critico de fin de mes o al final del año, o quizá solo quieres tener el monitoreo de las sesiones y solo te interesa cada miércoles.
- Que tipo de respaldo queremos?: con el tipo de respaldo me refiero a que no es lo mismo realizar un tar de archivos a un dump completo o bien una imagen clonada de todo el disco o discos, también hay que analizar la compresión del respaldo.
Empecemos mencionando algunas herramientas que operan bajo la terminal.
Rsync: bueno ya se ha hecho un post sobre esta poderosa herramienta que invito revisen en esta pagina, rsync opera sobre la terminal, se puede automatizar fácilmente con el crontab del sistema.
Dump/Restore: Herramienta básica de unix, dump copia sistemas de ficheros completos y restore se encarga de la recuperación del respaldo, la sintaxis es sencilla "dump opciones destino origen".
Muy similar a la de un tar y cualquier otro comando de unix como "cp"
por ejemplo: # dump 0uf /root/copia.dump /home
que es lo que hace, sencillo, crea una copia de la carpeta home en el directorio /root
es recomendado que exista antes de la primera ejecución el archivo /etc/dumpdates que almacena las fechas y archivos dump que se han creado.
algunas opciones de dump son:
0-9 Nivel de copia de seguridad
u Actualiza /etc/dumpdates al finalizar el backup
f indica una cinta diferente de la usada por defecto
b Tamaño de bloque
c indica que la cinta destino es un cartucho
w ignora todas las opciones excepto el nivel de backup
su contra parte restore es la encargada de la restauración del backup previamente generado, la sintaxis es muy similar, "restore -i -f /root/copia.dump", supongamos que queremos recuperar la copia en una usb, o disco, en este caso /dev/sdb1 "# restore -i -f /root/copia.dump" posicionados en la unidad, recuerda que disponemos de los comandos "man" y "help" para ver mas opciones y ejemplos.
algunas opciones de restore son:
R Restaurar la cinta completa
F Indica el dispositivo o fichero donde está el backup
I Modo interactivo (mas cómodo a la hora de estar leyendo en la terminal)
x Extrae los ficheros y directorios desde el directorio actual
t Imprime los nombres de los ficheros de la cinta.
Les dejo la fuente para que consulten el articulo completo
Fuente: Todo Linux, Numero 127, pag 56 y 57 www.studiopress.es
Después también hablamos del comando Tar, incluido por default como una poderosa herramienta del sistema para empaquetar, y recordando que se puede complementar con crontab para su automatización y con comandos como gzip o zip para comprimir los respaldos, puedes revisar también en este blog la entrada que hacer referencia y detalla mas el uso de Tar y algunos ejemplos
Por ahora esta es la primera parte y en vista de que me lanzo a comer hasta aquí le dejamos
pueden ir buscando información sobre el comando "dd" este comando nos permite copiar discos duros enteros, generar imágenes de tipo .iso desde la terminal y por consiguiente almacenar una copia bit a bit de los archivos.
la sintaxis es algo así: "dd if=fichero_origen of=fichero_destino"
o por ejemplo para crear un iso
dd if=/dev/unidad of=respaldo.iso
Para montar la imagen podemos teclear
dd if=respaldo.iso of=/dev/unidad
o
mount -o loop respaldo.iso /mnt/unidad
Fuente: usando-dd-para-crear-imagenes-iso.html
Agrego también este apartado de Wikipedia con algunas herramientas de software propietario y privativo para realizar copias de respaldo
http://es.wikipedia.org/wiki/Anexo:Aplicaciones_de_copias_de_seguridad
Agrego también este apartado de Wikipedia con algunas herramientas de software propietario y privativo para realizar copias de respaldo
http://es.wikipedia.org/wiki/Anexo:Aplicaciones_de_copias_de_seguridad
miércoles, 25 de julio de 2012
numerar lineas con cat
numerar las lineas de un archivo en linux en su previsualizacion,
Respuesta: cat -n nombredelarchivo o bien podemos utilizar el comando nl nombredelarchivo
Respuesta: cat -n nombredelarchivo o bien podemos utilizar el comando nl nombredelarchivo
un reproductor para unirlos a todos VLC en ubuntu 12.04
Bueno no es ningún reto ni vamos a revolucionar la computación cuántica XD jejeje pero si
es una excelente recomendación menciona a el reproductor VLC altamente recomendado,
VLC Media Player es un reproductor multimedia del proyecto VideoLAN distribuido bajo licencia GPL. VLC Media Player soporta muchos codecs de audio y vídeo, diferentes tipos de archivos, formatos de DVD, VCD y varios protocolos streaming.
su instalacion ya sea via el centro de software ubuntu o por la terminal tecleamos : sudo apt-get install vlc
Ahora bien para leer los dvd originales (esto ya lo habia twitteado)podemos anexar las siguientes librerias
sudo apt-get install libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh
o bien tambien podria ser con : sudo apt-get install libdvdcss2
es extremadamente potente y multiplataforma, su calidad es muy buena y es bastante ligero sin duda alguna una herramienta que no puede faltar.
es una excelente recomendación menciona a el reproductor VLC altamente recomendado,
VLC Media Player es un reproductor multimedia del proyecto VideoLAN distribuido bajo licencia GPL. VLC Media Player soporta muchos codecs de audio y vídeo, diferentes tipos de archivos, formatos de DVD, VCD y varios protocolos streaming.
su instalacion ya sea via el centro de software ubuntu o por la terminal tecleamos : sudo apt-get install vlc
Ahora bien para leer los dvd originales (esto ya lo habia twitteado)podemos anexar las siguientes librerias
sudo apt-get install libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh
o bien tambien podria ser con : sudo apt-get install libdvdcss2
es extremadamente potente y multiplataforma, su calidad es muy buena y es bastante ligero sin duda alguna una herramienta que no puede faltar.
Etiquetas:
aplicaciones,
linux,
reproductor,
ubuntu,
vlc
martes, 24 de julio de 2012
Speed test desde el iPod
Bueno ando probando la red pero varían un poco los resultados de la App a la prueba por la computadora con respecto al ancho de banda les dejo el resultado aunque se que anda algo lento
Etiquetas:
aplicaciones,
consejos,
IOS,
ipod
Probando aplicación blogger
Si lo se este post no les dejara nada bueno ando probando la aplicación de blogger para el iPod, aunque soy medio anti Apple este fue un presente XD a por cierto alguien sabrá los requerimientos para tridion SDL ?
lunes, 23 de julio de 2012
DOMINIK SYMONOWICZ's blog - Netbeans vs Eclipse vs IntelliJ IDEA .Which is bet...
Interesante entrada Nebeans vs Eclipse, que opinan a mi los 2 me han servidor pero que puedo decir, empece con Netbeans ;-)
DOMINIK SYMONOWICZ's blog - FOREVER HUNGRY*: Netbeans vs Eclipse vs IntelliJ IDEA .Which is bet...: This is extremely subjective review. This review based on Netbeans 7.1.1 ,Eclipse 3.7 (STS 2.8.2),IntelliJ IDEA 11.1.1 I used 1).GUI U...
DOMINIK SYMONOWICZ's blog - FOREVER HUNGRY*: Netbeans vs Eclipse vs IntelliJ IDEA .Which is bet...: This is extremely subjective review. This review based on Netbeans 7.1.1 ,Eclipse 3.7 (STS 2.8.2),IntelliJ IDEA 11.1.1 I used 1).GUI U...
Etiquetas:
aplicaciones,
consejos,
IDE,
JAVA,
programacion,
tutorial
viernes, 20 de julio de 2012
Respaldos con clonzilla
Hey que tal hoy les hablare de otra aplicación sumamente interesante para la creación de respaldos, esta vez toca el turno de una excelente distribución, clonzilla
Tutorial de clonzilla en youtubeClonzilla
Es una distribución linux especializada en "clonar" o generar imágenes de respaldo, ya sea de una partición o un disco duro completo, casi exactamente la función de lo que es Norton Ghost, existen 2 versiones Clonezilla Live permite a los usuarios clonar una máquina individual, partición o disco para ser reproducido en otro medio.
La clonación puede ser guardada como un archivo de imagen o como una copia exacta de datos.
Los datos pueden ser guardados localmente, en un servidor SSH, servidor Samba o un recurso compartido de archivos NFS y luego restaurarlos en una fecha posterior.
El software se puede ejecutar ya sea desde un arranque de unidad flash USB o cd/dvd. Clonezilla Server se utiliza para clonar simultáneamente muchos computadores a través de una red. Esto se hace usando un servidor DRBL y estaciones de trabajo que puede arrancar desde una red. http://es.wikipedia.org/wiki/Clonezilla
Resulta que esta aplicación ya tuve el gusto de usarla para generar una imagen exacta de mi lap brindadome un excelente resultado ya que copia tal cual por ejemplo en mi caso a una usb el respaldo de un disco o bien al ipod, para restaurar es necesario correr la distribución ya sea por usb o bien por disco live, las opciones si observan el tutorial, son muy sencillas y básicamente te llevan de la mano la dirección para descargar dicha distribución es : clonezilla.org/ en su versión server es sumamente potente al tener la capacidad de replicar la imagen del respaldo en muchas computadoras, ideal para centros de computo grandes o bien redes que tengan computadoras de la misma linea (con las mismas características), aprovechando la red.
El respaldo lo hice en muy poco tiempo respalde alrededor de 60gb en algo así como 20 min con todo y el sistema operativo justo como había generado el respaldo, es un excelente substituto de otras herramientas y su velocidad de respaldo es brillante.
Bueno espero sus sugerencias y el motivo es divulgar esta excelente distro linux :-)
Pueden descargar el iso desde aqui http://clonezilla.softonic.com/linux
Es una distribución linux especializada en "clonar" o generar imágenes de respaldo, ya sea de una partición o un disco duro completo, casi exactamente la función de lo que es Norton Ghost, existen 2 versiones Clonezilla Live permite a los usuarios clonar una máquina individual, partición o disco para ser reproducido en otro medio.
La clonación puede ser guardada como un archivo de imagen o como una copia exacta de datos.
Los datos pueden ser guardados localmente, en un servidor SSH, servidor Samba o un recurso compartido de archivos NFS y luego restaurarlos en una fecha posterior.
El software se puede ejecutar ya sea desde un arranque de unidad flash USB o cd/dvd. Clonezilla Server se utiliza para clonar simultáneamente muchos computadores a través de una red. Esto se hace usando un servidor DRBL y estaciones de trabajo que puede arrancar desde una red. http://es.wikipedia.org/wiki/Clonezilla
Resulta que esta aplicación ya tuve el gusto de usarla para generar una imagen exacta de mi lap brindadome un excelente resultado ya que copia tal cual por ejemplo en mi caso a una usb el respaldo de un disco o bien al ipod, para restaurar es necesario correr la distribución ya sea por usb o bien por disco live, las opciones si observan el tutorial, son muy sencillas y básicamente te llevan de la mano la dirección para descargar dicha distribución es : clonezilla.org/ en su versión server es sumamente potente al tener la capacidad de replicar la imagen del respaldo en muchas computadoras, ideal para centros de computo grandes o bien redes que tengan computadoras de la misma linea (con las mismas características), aprovechando la red.
El respaldo lo hice en muy poco tiempo respalde alrededor de 60gb en algo así como 20 min con todo y el sistema operativo justo como había generado el respaldo, es un excelente substituto de otras herramientas y su velocidad de respaldo es brillante.
Bueno espero sus sugerencias y el motivo es divulgar esta excelente distro linux :-)
Pueden descargar el iso desde aqui http://clonezilla.softonic.com/linux
Etiquetas:
aplicaciones,
backups,
distribuciones,
linux,
respaldos,
tutorial,
unix
jueves, 19 de julio de 2012
pequeño review a la nueva netbook MacBook Retina Display
Saludos de nuevo, en vista de que salio la nueva netbook de la marca de la manzana decidí hacer un pequeño review.
Empezemos :-)
Lo primero que notas es su buen tamaño 15" retina display nada despreciables, la definición y calidad 2880 por 1800 pixele, en verdad la vi codo a codo con su antecesora y la diferencia es muy notoria.
el procesador, bueno pues eh visto 2 versiones ambas con icore7 2.3ghz y 2.6ghz respectivamente, nada despreciables si bien no es el procesador de mas alto rendimiento si supero con creces a su antecesora y brinda una excelente potencia.
viene lo bueno
8 gb de memoria ddr3 a 1600mhz esto empieza a ser verdadero musculo para esta pequeña compañera y en verdad se nota en el desempeño, al tener varias aplicaciones.
el disco de estado solido ayuda mucho en el arranque, aunque para mi gusto aquí se lleva un 7 de10 en vista de que la capacidad esta un tanto limitada para la primera versión con 256gb y que sin duda aumentara el precio por ser de estado solido y la segunda pues bueno con 512gb, que ya no están nada despreciables pero que mandan los precios por los aires.
las dimensiones ... que decir aquí hay un 10 en cuanto a dimensiones y peso, ya que se vio mucho la reducción, en todos los sentidos, la pantalla es impresionante mente delgada, y pesa tan solo 2kg todo el conjunto, conservando el clásico diseño minimalista.
la tarjeta de vídeo, a mi parecer queda un poco a deber ya que aunque es potente sigue siendo una tarjeta de gama media pudiendo ser alguna de las series mas elevadas de nvidia, cuenta con un chipset intel, que si bien no es malo seguramente pudo haber sido mejor.
luego viene lo malo, solo 2 puertos usb :-( compensa en algo los puertos thunder pero te obliga a ingerir los productos de la manzana.
el sonido es pobre las bocinas se vieron afectadas y reducidas, la calidad es intermedia a mi gusto, y la carcasa no ayuda mucho, la disposicion es igual que la del modelo anterior.
wifi y bluetooth 4.0, la conectividad al máximo con estos dos aditamentos de alta velocidad, batería de 7hrs, el acostumbrado trackpad cómodo, y bueno osx lion.
en general es una computadora enfocada a un sector bien pudiente XD jejeje
con varias prestaciones elevadas, la configuración en lo personal no termina de convencerme y si vemos el precio menos, definitivamente no es para gamers, excelente para diseñadores o animadores, algo básica para entusiastas de la musica, quizá sea del gusto de varios desarrolladores y ejecutivos, definitivamente no es tan buena como multimedia, no tiene lector blu ray o bien dispositivos ópticos que bien se puede resolver explotando el wifi y otros medios portables, la capacidad de almacenamiento se ve limitada en comparación a otros equipos de gama alta, la pantalla repito es soberbia a y como ya mencione el precio para mi es muy caro, el disco de estado solido la encarece aun mas y version con mas poder es excesiva.
Aunado a los detalles ya conocidos de la mac para trabajar con ciertas aplicaciones y etc.
excelente calidad en los materiales y un acabado muy depurado al que nos tiene acostumbrados la empresa de cook.
en mi punto de vista y calificación global tiene un 8.5 /10
ya que la configuración y el precio pueden ser mejores, se enfoca a un sector demasiado selectivo y poco versátil en cuanto juegos y multimedia, ademas como voy a ver LOTR en blu ray en mi pantalla de retina display, tengo que convertir las movies :-(
pero bueno es solo la humilde opinión de un servidor ciao.
Empezemos :-)
Lo primero que notas es su buen tamaño 15" retina display nada despreciables, la definición y calidad 2880 por 1800 pixele, en verdad la vi codo a codo con su antecesora y la diferencia es muy notoria.
el procesador, bueno pues eh visto 2 versiones ambas con icore7 2.3ghz y 2.6ghz respectivamente, nada despreciables si bien no es el procesador de mas alto rendimiento si supero con creces a su antecesora y brinda una excelente potencia.
viene lo bueno
8 gb de memoria ddr3 a 1600mhz esto empieza a ser verdadero musculo para esta pequeña compañera y en verdad se nota en el desempeño, al tener varias aplicaciones.
el disco de estado solido ayuda mucho en el arranque, aunque para mi gusto aquí se lleva un 7 de10 en vista de que la capacidad esta un tanto limitada para la primera versión con 256gb y que sin duda aumentara el precio por ser de estado solido y la segunda pues bueno con 512gb, que ya no están nada despreciables pero que mandan los precios por los aires.
las dimensiones ... que decir aquí hay un 10 en cuanto a dimensiones y peso, ya que se vio mucho la reducción, en todos los sentidos, la pantalla es impresionante mente delgada, y pesa tan solo 2kg todo el conjunto, conservando el clásico diseño minimalista.
la tarjeta de vídeo, a mi parecer queda un poco a deber ya que aunque es potente sigue siendo una tarjeta de gama media pudiendo ser alguna de las series mas elevadas de nvidia, cuenta con un chipset intel, que si bien no es malo seguramente pudo haber sido mejor.
luego viene lo malo, solo 2 puertos usb :-( compensa en algo los puertos thunder pero te obliga a ingerir los productos de la manzana.
el sonido es pobre las bocinas se vieron afectadas y reducidas, la calidad es intermedia a mi gusto, y la carcasa no ayuda mucho, la disposicion es igual que la del modelo anterior.
wifi y bluetooth 4.0, la conectividad al máximo con estos dos aditamentos de alta velocidad, batería de 7hrs, el acostumbrado trackpad cómodo, y bueno osx lion.
en general es una computadora enfocada a un sector bien pudiente XD jejeje
con varias prestaciones elevadas, la configuración en lo personal no termina de convencerme y si vemos el precio menos, definitivamente no es para gamers, excelente para diseñadores o animadores, algo básica para entusiastas de la musica, quizá sea del gusto de varios desarrolladores y ejecutivos, definitivamente no es tan buena como multimedia, no tiene lector blu ray o bien dispositivos ópticos que bien se puede resolver explotando el wifi y otros medios portables, la capacidad de almacenamiento se ve limitada en comparación a otros equipos de gama alta, la pantalla repito es soberbia a y como ya mencione el precio para mi es muy caro, el disco de estado solido la encarece aun mas y version con mas poder es excesiva.
Aunado a los detalles ya conocidos de la mac para trabajar con ciertas aplicaciones y etc.
excelente calidad en los materiales y un acabado muy depurado al que nos tiene acostumbrados la empresa de cook.
en mi punto de vista y calificación global tiene un 8.5 /10
ya que la configuración y el precio pueden ser mejores, se enfoca a un sector demasiado selectivo y poco versátil en cuanto juegos y multimedia, ademas como voy a ver LOTR en blu ray en mi pantalla de retina display, tengo que convertir las movies :-(
pero bueno es solo la humilde opinión de un servidor ciao.
Respaldos con Tar
Saludos hoy la entrada es nuevamente una herramienta popular entre los usuarios de unix y linux,
la herramienta tar para compresión y respaldo de archivos.
Empezamos :-)
Que es tar ?
Segun la wiki
Tar se refiere en Informática a un formato de archivos ampliamente usado en entornos UNIX, identificados con la extensión tar. Además hace referencia al programa para la manipulación de archivos que es estándar en estos entornos.
El formato fue diseñado para almacenar archivos de una forma conveniente en cintas magnéticas y de allí proviene su nombre, que proviene de "Tape ARchiver" (en inglés: archivador en cinta). Debido a este origen el formato está preparado para ser procesado linealmente, no contando con manera de extraer un miembro sin recorrer todo el archivo hasta encontrarlo.
http://es.wikipedia.org/wiki/Tar
El uso de tar es
tar argumentos miarchivo.tar archivocopia archivocopia1 ...
Bueno quedando claro esto vamos a las opciones
http://es.wikipedia.org/wiki/Tar
Ahora un ejemplo practico y expliquemos
Pwd: /home
[] (espartan): tar -cvf /home/espartan/respalditol19JUL2012.tar /etc/
Expliquemos
la primera parte "tar" llama a la aplicacion, "-c" archiva o copia la vista del archivo, "v" activa el modo verbose para visualizar los archivos que se están creando dentro del tar, "f" file. Utiliza el argumento fichero tar el nombre del archivo tar. es decir el nombre que deseamos y la ruta donde va a quedar; posterior a los argumentos sigue la ruta con el nombre del archivo a como queremos que se llame, y luego vendrían los archivos o carpetas a respaldar (/etc/)
Para descomprimir utilizaremos la opcion "-x"
como tar -xvf home/espartan/respalditol19JUL2012.tar /home/espartan/respaldos
recuerda si usaste compresion debes descomprimir primero y luego aplicar la decompress o
Tar entonces nos ayuda a empaquetar varios archivos y crear una copia, podemos anexar varios archivos y a estos agregar la compresión, para habilitar la compresión hay varias formas de hacerlo si anexamos tar -cfz
estariamos comprimiento con con gzip al agregar la letra "z" de igual modo si utilizamos "Z" estaremos usando la opción de compress o Z file el cual podremos leer con zcat
Por que para respaldos?, bueno es una opción sencilla de empaquetar los archivos que deseemos, puedes empaquetar gran capacidad de datos y es muy recomendable aplicar la compresión ya que te ahorrara buen espacio yo suelo utilizarlo con gzip -9 para maxima compresión y es de fácil integración en un shell, es una herramienta poderosa y se encuentra en prácticamente todo los sistemas unix/linux.
Las ventajas son múltiples y podemos leerlo con varias utilerias tales como winrar o winzip para poder leerlo en windows.
espero les sirva :-D
la herramienta tar para compresión y respaldo de archivos.
Empezamos :-)
Que es tar ?
Segun la wiki
Tar se refiere en Informática a un formato de archivos ampliamente usado en entornos UNIX, identificados con la extensión tar. Además hace referencia al programa para la manipulación de archivos que es estándar en estos entornos.
El formato fue diseñado para almacenar archivos de una forma conveniente en cintas magnéticas y de allí proviene su nombre, que proviene de "Tape ARchiver" (en inglés: archivador en cinta). Debido a este origen el formato está preparado para ser procesado linealmente, no contando con manera de extraer un miembro sin recorrer todo el archivo hasta encontrarlo.
http://es.wikipedia.org/wiki/Tar
El uso de tar es
tar argumentos miarchivo.tar archivocopia archivocopia1 ...
Bueno quedando claro esto vamos a las opciones
actividad | opción | ejemplo |
descomprimir/extraer | -x | tar -xf paquete.tar |
visualizar lo que se realiza | -v | tar -xvf paquete.tar |
archivar/crear el directorio kernel (y subdirect.) | -c | tar -cvf paquete.tar kernel/ |
comprimiendo con bzip2 | -j | tar -cjvf paquete.tar.bz2 kernel/ |
comprimiendo con lzma | -J | tar -cJvf paquete.tar.lzma kernel/ |
comprimiendo con gzip | -z | tar -czvf paquete.tar.gz kernel/ |
comprimiendo con lzip | --lzip | tar -cvf paquete.tar.lz --lzip kernel/ |
comprimiendo con compress | -Z | tar -cZvf paquete.tar.Z kernel/ |
comprime utilizando la extensión facilitada en el nombre del fichero (ej. para bz2) | -a | tar -cavf paquete.tar.bz2 kernel/ |
muestra el contenido de un archivo tar | -t | tar -tvf paquete.tar.bz2 kernel/ |
http://es.wikipedia.org/wiki/Tar
Ahora un ejemplo practico y expliquemos
Pwd: /home
[] (espartan): tar -cvf /home/espartan/respalditol19JUL2012.tar /etc/
Expliquemos
la primera parte "tar" llama a la aplicacion, "-c" archiva o copia la vista del archivo, "v" activa el modo verbose para visualizar los archivos que se están creando dentro del tar, "f" file. Utiliza el argumento fichero tar el nombre del archivo tar. es decir el nombre que deseamos y la ruta donde va a quedar; posterior a los argumentos sigue la ruta con el nombre del archivo a como queremos que se llame, y luego vendrían los archivos o carpetas a respaldar (/etc/)
Para descomprimir utilizaremos la opcion "-x"
como tar -xvf home/espartan/respalditol19JUL2012.tar /home/espartan/respaldos
recuerda si usaste compresion debes descomprimir primero y luego aplicar la decompress o
Tar entonces nos ayuda a empaquetar varios archivos y crear una copia, podemos anexar varios archivos y a estos agregar la compresión, para habilitar la compresión hay varias formas de hacerlo si anexamos tar -cfz
estariamos comprimiento con con gzip al agregar la letra "z" de igual modo si utilizamos "Z" estaremos usando la opción de compress o Z file el cual podremos leer con zcat
Por que para respaldos?, bueno es una opción sencilla de empaquetar los archivos que deseemos, puedes empaquetar gran capacidad de datos y es muy recomendable aplicar la compresión ya que te ahorrara buen espacio yo suelo utilizarlo con gzip -9 para maxima compresión y es de fácil integración en un shell, es una herramienta poderosa y se encuentra en prácticamente todo los sistemas unix/linux.
Las ventajas son múltiples y podemos leerlo con varias utilerias tales como winrar o winzip para poder leerlo en windows.
espero les sirva :-D
Enlaces o links en linux
Siendo algo muy rapido y a manera mas de recordatorio, hoy explico los enlaces para linux.
Un enlace es una referencia hacia un archivo o ruta, similares a los accesos directos de windows,
se utilizan bien para localizar alguna ruta muy larga, un nombre a un archivo que se requiere en otra ubicacion
o simplemente situar un objeto en varias ubicaciones.
Hay 2 tipos
Enlaces Blandos: se crean para hacer referencia a un archivo o ruta, el comando es
ln -s ruta_objeto nombredelenlace
Ahora bien si el objeto original o enlace son modificados y no son correspondientes, el enlace queda sin posibilidad de servir.
Enlaces Duros: Pueden hacer referencia a archivos o a otros enlaces, pero no a carpetas, el comando es
ln ruta_objeto nom
Ojo que cuando utilizas enlaces duros recuerda que te puedes cargar el archivo ;-)
Un enlace es una referencia hacia un archivo o ruta, similares a los accesos directos de windows,
se utilizan bien para localizar alguna ruta muy larga, un nombre a un archivo que se requiere en otra ubicacion
o simplemente situar un objeto en varias ubicaciones.
Hay 2 tipos
Enlaces Blandos: se crean para hacer referencia a un archivo o ruta, el comando es
ln -s ruta_objeto nombredelenlace
Ahora bien si el objeto original o enlace son modificados y no son correspondientes, el enlace queda sin posibilidad de servir.
Enlaces Duros: Pueden hacer referencia a archivos o a otros enlaces, pero no a carpetas, el comando es
ln ruta_objeto nom
Ojo que cuando utilizas enlaces duros recuerda que te puedes cargar el archivo ;-)
miércoles, 6 de junio de 2012
Leer dvds codificados en ubuntu 12.04
Pues esta quizá si lo conocen pero yo no sabia como instalar los codecs
para ver dvds originales en Linux ubuntu, fácil ponemos en la terminal:
sudo apt-get install libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh
sudo apt-get install libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh
martes, 5 de junio de 2012
Repost Backups con rsync
Backups con rsync En ¿Piensas en si un día te roban el portátil?
mencioné que me gusta hacer los backups con rsync.
Me gusta usarlo para backups tanto locales (copiar ficheros de un directorio a otro del mismo sistema) como remotos (copiar ficheros de un sistema a otro), y tanto en en Linux como en Windows usando Cygwin sin ningún problema de interoperabilidad para hacer backups remotos usando uno u otro como destino de las copias de seguridad.rsync es una herramienta para sincronizar los ficheros y directorios que tenemos almacenados en un sitio en otro diferente minimizando la transferencia de datos (Wikipedia: rsync).
En realidad, rsync son dos cosas: un algoritmo de delta compression para sincronizar dos ficheros similares y una utilidad que usa dicho algoritmo junto con otras técnicas para hacer mirroring de ficheros y directorios en otro sitio transfiriendo la mínima cantidad de datos posible.
A nivel de un árbol de directorios con sus ficheros, la idea es sencilla. rsync nos copiará esos ficheros y directorios tal y como estaban en el nuevo sitio pero sin copiar todo, sino sólo lo que ha cambiado en el origen respecto al destino. Hacer lo mismo copiando los ficheros y directorios, incluso en remoto usando una carpeta compartida, sería equivalente si nos fijamos únicamente en el resultado, pero tenemos que transferir mucha más información.
A nivel de ficheros individuales, podemos imaginar un fichero muy grande (p.e. de varios GiB) de una base de datos.
Si quisiéramos hacer backup de él sin tener herramientas como rsync, tendríamos que copiarlo cada vez, cuando en realidad en muchos casos la inmensa mayoría de bloques del fichero no habrá cambiado. rsync, en cambio, analiza el fichero en origen y en destino y sólo transmite (de forma comprimida, además) las partes que realmente hayan cambiado.Debian, por ejemplo, pone a nuestra disposición servidores de rsync para descargar sus imágenes de CDs, aunque hay un debate sobre si el descenso en el uso de ancho de banda de los servidores compensa el aumento en el uso de CPU y memoria a causa del propio algoritmo de rsync (About integration of rsync and Debian).
Y es que rsync consume la CPU necesaria para su algoritmo y además mantiene en memoria una lista con todos los ficheros a ser sincronizados (unos 100 bytes por cada uno), por lo que necesita bastante memoria.
También se debate el problema de que el rsync no es muy eficiente con ficheros comprimidos con gzip y con bzip2 porque un pequeño cambio en el contenido modifica en cadena todo el archivo creando una especie de efecto mariposa que causa que dos archivos parecidos no guarden ninguna semejanza aprovechable por rsync tras la compresión.
En cualquier caso, si las anteriores pequeñas pegas no nos detienen, veremos que rsync es, en definitiva, una excelente utilidad de línea de comandos para hacer copias de seguridad locales y remotas.
El listado de características especiales que nos da la página de man de rsync es:Soporte para copiar enlaces, ficheros de dispositivo, propietarios, grupos y permisosOpciones de exclusión (exclude y exclude-from) similares a las del GNU tarModo CVS para ignorar los fichero que CVS ignoraríaSe puede usar cualquier shell remota transparente, como ssh o rshNo es necesario ser root para usarlopipelining de los ficheros transferidos para minimizar la latenciaSoporte para usuarios anónimos o autentificados usando el demonio de rsync (ideal para hacer mirroring)En su forma más sencilla de uso, es similar a un cp.
Si queremos sincronizar un fichero en otro podemos, simplemente, hacer (el v es para que nos muestre información más detallada sobre lo que hace):
$ ll fichero1-rw-r----- 1 vicente users 7625431 2008-01-13 11:40 fichero1$ rsync -v fichero1 fichero2fichero1sent 7626448 bytes received 42 bytes 15252980.00 bytes/sectotal size is 7625431 speedup is 1.00$ ll fichero?-rw-r----- 1 vicente users 7625431 2008-01-13 11:40 fichero1-rw-r----- 1 vicente users 7625431 2008-01-13 11:41 fichero2
Pero si el comando lo ejecutamos desde otro usuario (en el ejemplo root), vemos que no se está manteniendo el usuario, aunque sí los permisos, y que incluso la hora es diferente:# rsync fichero1 fichero3# ll fichero?-rw-r----- 1 vicente users 7625431 2008-01-13 11:40 fichero1-rw-r----- 1 vicente users 7625431 2008-01-13 11:41 fichero2-rw-r----- 1 root root 7625431 2008-01-13 11:44 fichero3
Y tampoco es capaz de hacer nada con directorios:$ rsync dirA dirBskipping directory dirA
Por eso, para propósitos de backup, el rsync en la mayoría de los casos se utiliza con la opción -a:-a, --archive archive mode; same as -rlptgoD (no -H, -A)
Esta opción combina el parámetro -r para que el recorra toda la estructura de directorios que le indiquemos, el -l para que copie enlaces simbólicos como enlaces simbólicos, la -p para que mantenga los permisos, la -t para que se mantenga la hora del fichero, la -g para que se mantenga el grupo, la -o para que se mantenga el propietario, la -D para que se mantengan los ficheros de dispositivo (sólo para root).
Ni se mantienen los hard links (-H) ni las ACLs (-A) por defecto.
En definitiva, con la opción -a obtenemos una copia exacta de una jerarquía de ficheros y directorios.
Veamos un ejemplo de sincronización de un directorio llamado dirA que contiene otros directorios y ficheros en otro llamado dirB que, de momento, aún no existe:
$ rsync -av dirA/ dirB/building file list ... donecreated directory dirBdirA/dirA/fichero1dirA/fichero2dirA/dirA1/dirA/dirA1/fichero3dirA/dirA2/dirA/dirA2/fichero4sent 6540542 bytes received 126 bytes 13081336.00 bytes/sectotal size is 6539349 speedup is 1.00
Si ahora modificamos un poco sólo uno de los ficheros y volvemos a ejecutar exactamente el mismo comando, veremos que esta vez sólo se copia el fichero modificado:$ echo prueba >> dirA/fichero1$ rsync -av dirA dirBbuilding file list ... donefichero1sent 65884 bytes received 42 bytes 131852.00 bytes/sectotal size is 6539356 speedup is 99.19
Sin embargo, vemos que aunque el fichero sea sólo ligeramente distinto, rsync copia todo el fichero completo cada vez:$ rm fichero2$ rsync -av fichero1 fichero2fichero1sent 7626462 bytes received 42 bytes 15253008.00 bytes/sectotal size is 7625445 speedup is 1.00$ echo prueba >> fichero1$ rsync -av fichero1 fichero2fichero1sent 7626469 bytes received 42 bytes 15253022.00 bytes/sectotal size is 7625452 speedup is 1.00
No es que haya ningún defecto en su algoritmo, es que para un uso en local, rsync usa la opción -W por defecto, ya que considera que el esfuerzo en calcular la diferencia entre los ficheros es mayor que copiar directamente todo el fichero:-W, --whole-file copy files whole (without rsync algorithm)
Si contrarrestamos la -W con --no-whole-file veremos que que ahora sí que sólo copia el bloque donde ha encontrado el cambio:$ echo prueba >> fichero1$ rsync -av --no-whole-file fichero1 fichero2building file list ... donefichero1sent 13514 bytes received 16620 bytes 20089.33 bytes/sectotal size is 7625459 speedup is 253.05
Y si encima usamos la opción -z, comprimirá el bloque antes de pasarlo:$ echo prueba >> fichero1$ rsync -avz --no-whole-file fichero1 fichero2building file list ... donefichero1sent 843 bytes received 16620 bytes 34926.00 bytes/sectotal size is 7625466 speedup is 436.66
El uso de la opción -z puede ser beneficioso o perjudicial, ya que la menor transferencia de datos redunda en un mayor consumo de CPU.Por cierto, ¿en qué se basa rsync para decidir que un fichero ha cambiado?
Normalmente sólo mira la fecha del fichero y su tamaño, por lo que si ninguna de las dos cosas cambia, por defecto el rsync no copiará el fichero.
Es muy raro que dos ficheros con la misma fecha y tamaño sean diferentes, pero puede ocurrir. Si en nuestro entorno se puede dar ese caso, tendremos que usar la opción -c para que se determine por CRC si realmente los ficheros son iguales:-c, --checksum skip based on checksum, not mod-time & size
Pero claro, esto también aumentará sensiblemente el uso de CPU.
La barra al final de los nombres de directorioRespecto a cómo pasarle los nombres de los directorios, hay que tener una especial atención respecto a si ponemos una barra al final del nombre del directorio o no, ya que significan cosas distintas:You can think of a trailing / on a source as meaning “copy the contents of this directory” as opposed to “copy the directory by name”, but in both cases the attributes of the containing directory are transferred to the containing directory on the destination. In other words, each of the following commands copies the files in the same way, including their setting of the attributes of /dest/foo: rsync -av /src/foo /dest rsync -av /src/foo/ /dest/fooEfectivamente, /path/foo significa “el directorio foo“, mientras que /path/foo/ significa “lo que hay dentro de foo“.
Pongamos algunos ejemplos para entenderlo.Este es el uso más estándar en el que sincronizamos dos directorios (dirA y dirB) para que sean exactamente iguales (“rsync -av dirA/ dirB/” o “rsync -av dirA/ dirB“):$ rm -rf dirB$ rsync -av dirA/ dirB/building file list ... donecreated directory dirB./fichero1fichero2dirA1/dirA1/fichero3dirA2/dirA2/fichero4sent 6540550 bytes received 126 bytes 13081352.00 bytes/sectotal size is 6539363 speedup is 1.00$ ll dirBtotal 164drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 ./drwxr-xr-x 4 vicente users 4096 2008-01-13 14:00 ../drwxr-xr-x 2 vicente users 4096 2008-01-13 11:48 dirA1/drwxr-xr-x 2 vicente users 4096 2008-01-13 11:59 dirA2/-rwxr-xr-x 1 vicente users 65638 2008-01-13 13:59 fichero1*-rw-r--r- 1 vicente users 71033 2008-01-13 11:39 fichero2
En cambio, si lo que queremos es que que copie dirA dentro de dirB, tenemos que poner “rsync av dirA dirB/” o “rsync -av dirA dirB“:$ rm -rf dirB$ rsync -av dirA dirBbuilding file list ... donecreated directory dirBdirA/dirA/fichero1dirA/fichero2dirA/dirA1/dirA/dirA1/fichero3dirA/dirA2/dirA/dirA2/fichero4sent 6540549 bytes received 126 bytes 13081350.00 bytes/sectotal size is 6539356 speedup is 1.00$ ll dirBtotal 12drwxr-xr-x 3 vicente users 4096 2008-01-13 13:35 ./drwxr-xr-x 4 vicente users 4096 2008-01-13 13:35 ../drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 dirA/
La diferencia entre poner la barra al final y no ponerla es una de las cosas que tenemos que tener en todo momento más claras a la hora de pensar en qué parámetros le vamos a pasar al comando para hacer un backup con rsync con éxito.Eliminando ficheros del destino de backups anteriores.
En muchos casos, es posible que hayamos borrados ficheros de origen que ya no queremos que aparezcan en el destino, pero por defecto rsync no los elimina. Para que lo haga, debemos usar la opción --delete:$ rm -rf dirB/$ rsync -a dirA/ dirB/$ touch dirB/ficheroextraño$ rsync -av dirA/ dirB/building file list ... done./sent 199 bytes received 26 bytes 450.00 bytes/sectotal size is 6539363 speedup is 29063.84$ rsync -av --delete dirA/ dirB/building file list ... donedeleting ficheroextraño./sent 199 bytes received 26 bytes 450.00 bytes/sectotal size is 6539363 speedup is 29063.84
Cuando se hagan pruebas con el --delete hay que llevar mucho cuidado, porque si elegimos erróneamente el directorio de destino podemos borrar en cascada muchísimos ficheros que no queríamos borrar. Es por eso que se aconseja que se use en las pruebas la opción -n/--dry-run para que el comando no haga nada en realidad y así podamos depurar el comando antes de ponerlo en funcionamiento definitivamente.Otra opción que puede ser interesante en algunos entorno es la -u, para que no se sobreescriban los ficheros del destino que son más recientes que los del origen.
Esta opción es útil si es posible que en un momento dado se trabaje sobre los ficheros del backup, de modo que en ningún caso reemplacemos los archivos que se puedan haber modificado en destino: $ touch dirB/fichero1$ rsync -av --delete dirA/ dirB/building file list ... donefichero1sent 65885 bytes received 42 bytes 131854.00 bytes/sectotal size is 6539363 speedup is 99.19$ touch dirB/fichero1$ rsync -av --delete -u dirA/ dirB/building file list ... donesent 193 bytes received 20 bytes 426.00 bytes/sectotal size is 6539363 speedup is 30701.23Y en este punto, ya tenemos varias forma de usar el comando perfectamente válidas para hacer backups en función de nuestras necesidades:$ rsync -av --delete directorioorigen/ directoriodestino/$ rsync -av --delete directorioorigen directoriodestino$ rsync -av --delete -u directorioorigen/ directoriodestino/$ rsync -av --delete -u directorioorigen directoriodestinoBackups incrementales
Si queremos tener un archivo con los ficheros que vamos modificando, un backup incremental, las opciones -b/--backup y --backup-dir=DIR (y también --suffix=SUF) son de mucha utilidad para nosotros.
Supongamos que tenemos dos directorios dirA y dirB perfectamente sincronizados y actualizamos un fichero en el directorio origen:$ rsync -a dirA/ dirB/$ echo prueba >> dirA/fichero1
Si volvemos a sincronizar, el rsync borraría el dichero dirA/fichero1 que teníamos almacenado del backup anterior en dirB.
Para que no nos lo elimine completamente, vamos a usar la opción -b y le vamos a decir que almacene la versión previa en el directorio “backup_fechahoradehoy” (ponemos dos opciones -v para que nos informe sobre el backup):$ rsync -avvb --delete --backup-dir=$PWD/rsync/backup_$(date +%y%m%d%H%M) dirA/ dirB/backup_dir is /home/vicente/rsync/backup_0801131917/building file list ...donedeleting in .delta-transmission disabled for local transfer or --whole-filefichero1fichero2 is uptodatedirA1/fichero3 is uptodatedirA2/fichero4 is uptodatebacked up fichero1 to /home/vicente/rsync/backup_0801131917/fichero1total: matches=0 hash_hits=0 false_alarms=0 data=65708sent 65991 bytes received 78 bytes 132138.00 bytes/sectotal size is 6539433 speedup is 98.98
Y vemos que ya tenemos un directorio de backup que sólo contiene los fichero que han sido reemplazados esta vez:
$ lltotal 20drwxr-xr-x 5 vicente users 4096 2008-01-13 19:18 ./drwxr-x--- 56 vicente users 4096 2008-01-13 18:43 ../drwxr-xr-x 2 vicente users 4096 2008-01-13 19:17 backup_0801131917/drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 dirA/drwxr-xr-x 5 vicente users 4096 2008-01-13 11:48 dirB/$ ll backup_0801131917/total 80drwxr-xr-x 2 vicente users 4096 2008-01-13 19:17 ./drwxr-xr-x 5 vicente users 4096 2008-01-13 19:18 ../-rwxr-xr-x 1 vicente users 65701 2008-01-13 19:17 fichero1
Si ahora modificamos otro fichero, veremos que antes de reemplazarse, se almacenará en un nuevo directorio de backup:$ echo prueba >> dirA/fichero2$ rsync -ab --delete --backup-dir=$PWD/backup_$(date +%y%m%d%H%M) dirA/ dirB/$ lltotal 28drwxr-xr-x 7 vicente users 4096 2008-01-13 19:21 ./drwxr-x--- 56 vicente users 4096 2008-01-13 18:43 ../drwxr-xr-x 2 vicente users 4096 2008-01-13 19:17 backup_0801131917/drwxr-xr-x 2 vicente users 4096 2008-01-13 19:21 backup_0801131921/drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 dirA/drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 dirB/$ ll backup_0801131921/total 84drwxr-xr-x 2 vicente users 4096 2008-01-13 19:21 ./drwxr-xr-x 7 vicente users 4096 2008-01-13 19:21 ../-rw-r--r- 1 vicente users 71040 2008-01-13 19:20 fichero2/
Es importante no usar paths relativos en el parámetro -backup-dir, porque son relativos al directorio destino. En los ejemplos anteriores, si hubiéramos hecho “--backup-dir=backup_$(date +%y%m%d%H%M)“, el directorio “backup_0801131917” de turno se hubiera creado dentro del dirB y sería eliminado en el siguiente rsync con --delete.Actualización 15/1/07 (inspirada por los comentarios de MetalAgent):
También podemos hacer backups incrementales con las opciones:--compare-dest=DIR also compare received files relative to DIR--copy-dest=DIR ... and include copies of unchanged files--link-dest=DIR hardlink to files in DIR when unchangedLa opción --compare-dest=DIR hace casi lo mismo que la -b/--backup / --backup-dir=DIR, pero al revés.
En lugar de guardar los ficheros viejos en DIR, como hace la -b, la --compare-dest lo que hace es guardar en el directorio destino sólo los ficheros que han cambiado respecto a DIR. Es como un backup incremental pero mientras que con la -b tienes todos los ficheros de la última versión en el directorio destino, con la --compare-dest sólo tienes en el directorio destino los ficheros que han cambiado desde el último backup.Como variación de la --compare-dest, está la --copy-dest=DIR, que hace lo mismo que la anterior pero además copia los ficheros que no hayan cambiado.
¡Pero ojo!, la ventaja de esta opción es que la copia de los ficheros que no han cambiado es local, de forma que en un rsync remoto, todos los ficheros que ya estaban en DIR no se tienen que transferir. La desventaja es que necesita mucho espacio en disco.Finalmente, la variante más interesante es la --link-dest=DIR, que hace lo mismo que la --copy-dest pero sin consumir más espacio en disco porque usa hard links a los ficheros que ya existen.
¡Una opción realmente útil!Incluyendo y excluyendo ficheros del backupLa mayoría de las veces no querremos hacer backup de un único directorio y ya está, sino que querremos hacer backup de una lista determinada de directorios. En esos casos, o especificamos uno por uno en la línea de comandos o, mucho mejor, los especificamos en una lista.
Si especificamos los ficheros en una lista, nos podemos permitir tener un script de backup que lance rsync con las opciones deseadas y que no modificaremos nunca y el fichero con la lista de directorios de los que hay que hacer backup que será lo que modificaremos.
Las opciones son:
--exclude=PATTERN exclude files matching PATTERN--exclude-from=FILE read exclude patterns from FILE--include=PATTERN don't exclude files matching PATTERN--include-from=FILE read include patterns from FILE--files-from=FILE read list of source-file names from FILE
Los patrones que usa rsync no son muy intuitivos, así que lo mejor es leer detenidamente la sección que los explica (INCLUDE/EXCLUDE PATTERN RULES) en la página de man de rsync, pero podemos ver un ejemplo que nos aclarará un poco este tema.Imaginemos que queremos hacer un backup de los directorios “/var/log/” y “/var/www/“.
Podríamos usar un comando como:rsync -av --delete --prune-empty-dirs --include-from=lista_dirs_backup.txt / /mnt/disco/Backup/en el que el fichero lista_dirs_backup.txt contiene:+ /+ /var/www/**+ /var/log/* El “+ */” de la primera línea especifica que todos los directorios pasan el filtro y es necesario porque aunque especifiquemos los directorios que nos interesan en las siguientes líneas, el propio directorio /var/ y los /var/log/ y /var/www/ no pasaría el filtro.
Además, como esta opción nos permite pasar todos los directorios pero sin los ficheros y directorios que contienen, tenemos que usar la opción -prune-empty-dirs para que no copie directorios vacíos.
En la última línea le especificamos con “ *” que todo lo que en ese punto ya no ha pasado el filtro, que sea descartado. Los dos asteriscos (*) indican que todos los ficheros y directorios que hay debajo pasarán el filtro.Una alternativa sin -prune-empty-dirs sería incluir específicamente todos los directorios involucrados:+ /var/+ /var/www/+ /var/log/+ /var/www/*+ /var/log/*
Pero es evidente que en el caso de tener muchos directorios y con mucha profundidad, esta forma se puede complicar mucho y es claramente más sencilla la anterior (aunque también es más lenta por tener que recorrer todos los directorios del origen).
En versiones de rsync >=2.6.7 también existe la posibilidad de poner tres asteriscos (**) para especificar que el propio directorio especificado también pasa el filtro, facilitándonos nuestra labor en el caso de que queramos hacerlo sin “+ /” y sin -prune-empty-dirs:+ /var/+ /var/www/***+ /var/log/** Y también es importante tener en cuenta si los directorios especificados son relativos o absolutos.
En los ejemplos anteriores, el directorio origen era el raíz (/) y por ello, los directorios se guardaban con todo el path (/var/log/ y /var/www/) y así los especificábamos en el fichero de include:$ ll /mnt/disco/Backup/var/total 16drwxr-xr-x 4 root root 4096 2007-10-31 21:10 ./drwxr-xr-x 3 root root 4096 2007-12-09 18:19 ../drwxr-xr-x 14 root root 4096 2008-01-13 18:43 log/drwxr-xr-x 3 root root 4096 2007-06-27 20:19 www/
pero también podríamos haber decidido hacerlo con referencia a /var/:rsync av --delete --prune-empty-dirs --include-from=lista_dirs_backup.txt /var/ /mnt/disco/Backup/
Con lo que en el fichero lista_dirs_backup.txt tendríamos que poner (suponemos versión <2.6.7):+ www+ log+ www/**+ log/* Y el resultado sería un backup sin la parte del directorio /var/:$ ll /mnt/disco/Backup/total 16drwxr-xr-x 4 root root 4096 2007-10-31 21:10 ./drwxrwxrwt 18 root root 4096 2008-01-13 20:07 ../drwxr-xr-x 14 root root 4096 2008-*01-13 18:43 log/drwxr-xr-x 3 root root 4096 2007-06-27 20:19 www/
Pero como regla fácil que siempre funciona, tenemos lo primero que hemos comentado. Un comando como este:rsync av --delete --prune-empty-dirs --include-from=lista_dirs_backup.txt / /mnt/disco/Backup/con un lista_dirs_backup.txt como este:+ */+ /directorio1/**+ /directorio2/directorio2A/**+ /directorio2/directorio2B/ *rsync remoto
Hasta ahora hemos hecho todos los ejemplos en local. Sin embargo, la máxima utilidad de rsync llega cuando se usa para hacer backups en una máquina remota, de forma que el backup cumpla mejor su función al estar físicamente en otro sistema.
En la máquina destino es posible usar el propio proceso rsync funcionando como demonio y escuchando por defecto en el puerto 873 para recibir estas conexiones, pero es mucho más cómodo y fácil hacerlo por SSH, algo para lo que rsync ya está preparado por defecto.
Para esto es conveniente configurar el cliente y el servidor de SSH involucrados para entrar de forma transparente usando autentificación por clave pública (Autentificación trasparente por clave pública/privada con OpenSSH) para evitar tener que introducir la contraseña cada vez, aunque no es estrictamente necesario.
Una vez que lo tengamos así (o si optamos por introducir la contraseña manualmente) y verifiquemos que podemos entrar en la otra máquina sin introducir usuario ni contraseña, podemos usar rsync exactamente igual que si trabajáramos con la máquina local, solo que tenemos que especificar el prefijo “usuario@maquina:” en el origen o en el destino (no en ambos):
$ rsync -av --delete dirA vicente@remoto:/backup/building file list ... donedirA/dirA/fichero1dirA/fichero2dirA/dirA1/dirA/dirA1/fichero3dirA/dirA2/dirA/dirA2/fichero4sent 6540658 bytes received 126 bytes 2616313.60 bytes/sectotal size is 6539461 speedup is 1.00# rsync -av --delete vicente@remoto:/backup/dirA/ dirC/receiving file list ... donecreated directory dirC./fichero1fichero2dirA1/dirA1/fichero3dirA2/dirA2/fichero4sent 126 bytes received 6540665 bytes 2616316.40 bytes/sectotal size is 6539461 speedup is 1.00
Fuente: www.vicente-navarro.com/blog/2008/01/13/backups-con-rsync/
Me gusta usarlo para backups tanto locales (copiar ficheros de un directorio a otro del mismo sistema) como remotos (copiar ficheros de un sistema a otro), y tanto en en Linux como en Windows usando Cygwin sin ningún problema de interoperabilidad para hacer backups remotos usando uno u otro como destino de las copias de seguridad.rsync es una herramienta para sincronizar los ficheros y directorios que tenemos almacenados en un sitio en otro diferente minimizando la transferencia de datos (Wikipedia: rsync).
En realidad, rsync son dos cosas: un algoritmo de delta compression para sincronizar dos ficheros similares y una utilidad que usa dicho algoritmo junto con otras técnicas para hacer mirroring de ficheros y directorios en otro sitio transfiriendo la mínima cantidad de datos posible.
A nivel de un árbol de directorios con sus ficheros, la idea es sencilla. rsync nos copiará esos ficheros y directorios tal y como estaban en el nuevo sitio pero sin copiar todo, sino sólo lo que ha cambiado en el origen respecto al destino. Hacer lo mismo copiando los ficheros y directorios, incluso en remoto usando una carpeta compartida, sería equivalente si nos fijamos únicamente en el resultado, pero tenemos que transferir mucha más información.
A nivel de ficheros individuales, podemos imaginar un fichero muy grande (p.e. de varios GiB) de una base de datos.
Si quisiéramos hacer backup de él sin tener herramientas como rsync, tendríamos que copiarlo cada vez, cuando en realidad en muchos casos la inmensa mayoría de bloques del fichero no habrá cambiado. rsync, en cambio, analiza el fichero en origen y en destino y sólo transmite (de forma comprimida, además) las partes que realmente hayan cambiado.Debian, por ejemplo, pone a nuestra disposición servidores de rsync para descargar sus imágenes de CDs, aunque hay un debate sobre si el descenso en el uso de ancho de banda de los servidores compensa el aumento en el uso de CPU y memoria a causa del propio algoritmo de rsync (About integration of rsync and Debian).
Y es que rsync consume la CPU necesaria para su algoritmo y además mantiene en memoria una lista con todos los ficheros a ser sincronizados (unos 100 bytes por cada uno), por lo que necesita bastante memoria.
También se debate el problema de que el rsync no es muy eficiente con ficheros comprimidos con gzip y con bzip2 porque un pequeño cambio en el contenido modifica en cadena todo el archivo creando una especie de efecto mariposa que causa que dos archivos parecidos no guarden ninguna semejanza aprovechable por rsync tras la compresión.
En cualquier caso, si las anteriores pequeñas pegas no nos detienen, veremos que rsync es, en definitiva, una excelente utilidad de línea de comandos para hacer copias de seguridad locales y remotas.
El listado de características especiales que nos da la página de man de rsync es:Soporte para copiar enlaces, ficheros de dispositivo, propietarios, grupos y permisosOpciones de exclusión (exclude y exclude-from) similares a las del GNU tarModo CVS para ignorar los fichero que CVS ignoraríaSe puede usar cualquier shell remota transparente, como ssh o rshNo es necesario ser root para usarlopipelining de los ficheros transferidos para minimizar la latenciaSoporte para usuarios anónimos o autentificados usando el demonio de rsync (ideal para hacer mirroring)En su forma más sencilla de uso, es similar a un cp.
Si queremos sincronizar un fichero en otro podemos, simplemente, hacer (el v es para que nos muestre información más detallada sobre lo que hace):
$ ll fichero1-rw-r----- 1 vicente users 7625431 2008-01-13 11:40 fichero1$ rsync -v fichero1 fichero2fichero1sent 7626448 bytes received 42 bytes 15252980.00 bytes/sectotal size is 7625431 speedup is 1.00$ ll fichero?-rw-r----- 1 vicente users 7625431 2008-01-13 11:40 fichero1-rw-r----- 1 vicente users 7625431 2008-01-13 11:41 fichero2
Pero si el comando lo ejecutamos desde otro usuario (en el ejemplo root), vemos que no se está manteniendo el usuario, aunque sí los permisos, y que incluso la hora es diferente:# rsync fichero1 fichero3# ll fichero?-rw-r----- 1 vicente users 7625431 2008-01-13 11:40 fichero1-rw-r----- 1 vicente users 7625431 2008-01-13 11:41 fichero2-rw-r----- 1 root root 7625431 2008-01-13 11:44 fichero3
Y tampoco es capaz de hacer nada con directorios:$ rsync dirA dirBskipping directory dirA
Por eso, para propósitos de backup, el rsync en la mayoría de los casos se utiliza con la opción -a:-a, --archive archive mode; same as -rlptgoD (no -H, -A)
Esta opción combina el parámetro -r para que el recorra toda la estructura de directorios que le indiquemos, el -l para que copie enlaces simbólicos como enlaces simbólicos, la -p para que mantenga los permisos, la -t para que se mantenga la hora del fichero, la -g para que se mantenga el grupo, la -o para que se mantenga el propietario, la -D para que se mantengan los ficheros de dispositivo (sólo para root).
Ni se mantienen los hard links (-H) ni las ACLs (-A) por defecto.
En definitiva, con la opción -a obtenemos una copia exacta de una jerarquía de ficheros y directorios.
Veamos un ejemplo de sincronización de un directorio llamado dirA que contiene otros directorios y ficheros en otro llamado dirB que, de momento, aún no existe:
$ rsync -av dirA/ dirB/building file list ... donecreated directory dirBdirA/dirA/fichero1dirA/fichero2dirA/dirA1/dirA/dirA1/fichero3dirA/dirA2/dirA/dirA2/fichero4sent 6540542 bytes received 126 bytes 13081336.00 bytes/sectotal size is 6539349 speedup is 1.00
Si ahora modificamos un poco sólo uno de los ficheros y volvemos a ejecutar exactamente el mismo comando, veremos que esta vez sólo se copia el fichero modificado:$ echo prueba >> dirA/fichero1$ rsync -av dirA dirBbuilding file list ... donefichero1sent 65884 bytes received 42 bytes 131852.00 bytes/sectotal size is 6539356 speedup is 99.19
Sin embargo, vemos que aunque el fichero sea sólo ligeramente distinto, rsync copia todo el fichero completo cada vez:$ rm fichero2$ rsync -av fichero1 fichero2fichero1sent 7626462 bytes received 42 bytes 15253008.00 bytes/sectotal size is 7625445 speedup is 1.00$ echo prueba >> fichero1$ rsync -av fichero1 fichero2fichero1sent 7626469 bytes received 42 bytes 15253022.00 bytes/sectotal size is 7625452 speedup is 1.00
No es que haya ningún defecto en su algoritmo, es que para un uso en local, rsync usa la opción -W por defecto, ya que considera que el esfuerzo en calcular la diferencia entre los ficheros es mayor que copiar directamente todo el fichero:-W, --whole-file copy files whole (without rsync algorithm)
Si contrarrestamos la -W con --no-whole-file veremos que que ahora sí que sólo copia el bloque donde ha encontrado el cambio:$ echo prueba >> fichero1$ rsync -av --no-whole-file fichero1 fichero2building file list ... donefichero1sent 13514 bytes received 16620 bytes 20089.33 bytes/sectotal size is 7625459 speedup is 253.05
Y si encima usamos la opción -z, comprimirá el bloque antes de pasarlo:$ echo prueba >> fichero1$ rsync -avz --no-whole-file fichero1 fichero2building file list ... donefichero1sent 843 bytes received 16620 bytes 34926.00 bytes/sectotal size is 7625466 speedup is 436.66
El uso de la opción -z puede ser beneficioso o perjudicial, ya que la menor transferencia de datos redunda en un mayor consumo de CPU.Por cierto, ¿en qué se basa rsync para decidir que un fichero ha cambiado?
Normalmente sólo mira la fecha del fichero y su tamaño, por lo que si ninguna de las dos cosas cambia, por defecto el rsync no copiará el fichero.
Es muy raro que dos ficheros con la misma fecha y tamaño sean diferentes, pero puede ocurrir. Si en nuestro entorno se puede dar ese caso, tendremos que usar la opción -c para que se determine por CRC si realmente los ficheros son iguales:-c, --checksum skip based on checksum, not mod-time & size
Pero claro, esto también aumentará sensiblemente el uso de CPU.
La barra al final de los nombres de directorioRespecto a cómo pasarle los nombres de los directorios, hay que tener una especial atención respecto a si ponemos una barra al final del nombre del directorio o no, ya que significan cosas distintas:You can think of a trailing / on a source as meaning “copy the contents of this directory” as opposed to “copy the directory by name”, but in both cases the attributes of the containing directory are transferred to the containing directory on the destination. In other words, each of the following commands copies the files in the same way, including their setting of the attributes of /dest/foo: rsync -av /src/foo /dest rsync -av /src/foo/ /dest/fooEfectivamente, /path/foo significa “el directorio foo“, mientras que /path/foo/ significa “lo que hay dentro de foo“.
Pongamos algunos ejemplos para entenderlo.Este es el uso más estándar en el que sincronizamos dos directorios (dirA y dirB) para que sean exactamente iguales (“rsync -av dirA/ dirB/” o “rsync -av dirA/ dirB“):$ rm -rf dirB$ rsync -av dirA/ dirB/building file list ... donecreated directory dirB./fichero1fichero2dirA1/dirA1/fichero3dirA2/dirA2/fichero4sent 6540550 bytes received 126 bytes 13081352.00 bytes/sectotal size is 6539363 speedup is 1.00$ ll dirBtotal 164drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 ./drwxr-xr-x 4 vicente users 4096 2008-01-13 14:00 ../drwxr-xr-x 2 vicente users 4096 2008-01-13 11:48 dirA1/drwxr-xr-x 2 vicente users 4096 2008-01-13 11:59 dirA2/-rwxr-xr-x 1 vicente users 65638 2008-01-13 13:59 fichero1*-rw-r--r- 1 vicente users 71033 2008-01-13 11:39 fichero2
En cambio, si lo que queremos es que que copie dirA dentro de dirB, tenemos que poner “rsync av dirA dirB/” o “rsync -av dirA dirB“:$ rm -rf dirB$ rsync -av dirA dirBbuilding file list ... donecreated directory dirBdirA/dirA/fichero1dirA/fichero2dirA/dirA1/dirA/dirA1/fichero3dirA/dirA2/dirA/dirA2/fichero4sent 6540549 bytes received 126 bytes 13081350.00 bytes/sectotal size is 6539356 speedup is 1.00$ ll dirBtotal 12drwxr-xr-x 3 vicente users 4096 2008-01-13 13:35 ./drwxr-xr-x 4 vicente users 4096 2008-01-13 13:35 ../drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 dirA/
La diferencia entre poner la barra al final y no ponerla es una de las cosas que tenemos que tener en todo momento más claras a la hora de pensar en qué parámetros le vamos a pasar al comando para hacer un backup con rsync con éxito.Eliminando ficheros del destino de backups anteriores.
En muchos casos, es posible que hayamos borrados ficheros de origen que ya no queremos que aparezcan en el destino, pero por defecto rsync no los elimina. Para que lo haga, debemos usar la opción --delete:$ rm -rf dirB/$ rsync -a dirA/ dirB/$ touch dirB/ficheroextraño$ rsync -av dirA/ dirB/building file list ... done./sent 199 bytes received 26 bytes 450.00 bytes/sectotal size is 6539363 speedup is 29063.84$ rsync -av --delete dirA/ dirB/building file list ... donedeleting ficheroextraño./sent 199 bytes received 26 bytes 450.00 bytes/sectotal size is 6539363 speedup is 29063.84
Cuando se hagan pruebas con el --delete hay que llevar mucho cuidado, porque si elegimos erróneamente el directorio de destino podemos borrar en cascada muchísimos ficheros que no queríamos borrar. Es por eso que se aconseja que se use en las pruebas la opción -n/--dry-run para que el comando no haga nada en realidad y así podamos depurar el comando antes de ponerlo en funcionamiento definitivamente.Otra opción que puede ser interesante en algunos entorno es la -u, para que no se sobreescriban los ficheros del destino que son más recientes que los del origen.
Esta opción es útil si es posible que en un momento dado se trabaje sobre los ficheros del backup, de modo que en ningún caso reemplacemos los archivos que se puedan haber modificado en destino: $ touch dirB/fichero1$ rsync -av --delete dirA/ dirB/building file list ... donefichero1sent 65885 bytes received 42 bytes 131854.00 bytes/sectotal size is 6539363 speedup is 99.19$ touch dirB/fichero1$ rsync -av --delete -u dirA/ dirB/building file list ... donesent 193 bytes received 20 bytes 426.00 bytes/sectotal size is 6539363 speedup is 30701.23Y en este punto, ya tenemos varias forma de usar el comando perfectamente válidas para hacer backups en función de nuestras necesidades:$ rsync -av --delete directorioorigen/ directoriodestino/$ rsync -av --delete directorioorigen directoriodestino$ rsync -av --delete -u directorioorigen/ directoriodestino/$ rsync -av --delete -u directorioorigen directoriodestinoBackups incrementales
Si queremos tener un archivo con los ficheros que vamos modificando, un backup incremental, las opciones -b/--backup y --backup-dir=DIR (y también --suffix=SUF) son de mucha utilidad para nosotros.
Supongamos que tenemos dos directorios dirA y dirB perfectamente sincronizados y actualizamos un fichero en el directorio origen:$ rsync -a dirA/ dirB/$ echo prueba >> dirA/fichero1
Si volvemos a sincronizar, el rsync borraría el dichero dirA/fichero1 que teníamos almacenado del backup anterior en dirB.
Para que no nos lo elimine completamente, vamos a usar la opción -b y le vamos a decir que almacene la versión previa en el directorio “backup_fechahoradehoy” (ponemos dos opciones -v para que nos informe sobre el backup):$ rsync -avvb --delete --backup-dir=$PWD/rsync/backup_$(date +%y%m%d%H%M) dirA/ dirB/backup_dir is /home/vicente/rsync/backup_0801131917/building file list ...donedeleting in .delta-transmission disabled for local transfer or --whole-filefichero1fichero2 is uptodatedirA1/fichero3 is uptodatedirA2/fichero4 is uptodatebacked up fichero1 to /home/vicente/rsync/backup_0801131917/fichero1total: matches=0 hash_hits=0 false_alarms=0 data=65708sent 65991 bytes received 78 bytes 132138.00 bytes/sectotal size is 6539433 speedup is 98.98
Y vemos que ya tenemos un directorio de backup que sólo contiene los fichero que han sido reemplazados esta vez:
$ lltotal 20drwxr-xr-x 5 vicente users 4096 2008-01-13 19:18 ./drwxr-x--- 56 vicente users 4096 2008-01-13 18:43 ../drwxr-xr-x 2 vicente users 4096 2008-01-13 19:17 backup_0801131917/drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 dirA/drwxr-xr-x 5 vicente users 4096 2008-01-13 11:48 dirB/$ ll backup_0801131917/total 80drwxr-xr-x 2 vicente users 4096 2008-01-13 19:17 ./drwxr-xr-x 5 vicente users 4096 2008-01-13 19:18 ../-rwxr-xr-x 1 vicente users 65701 2008-01-13 19:17 fichero1
Si ahora modificamos otro fichero, veremos que antes de reemplazarse, se almacenará en un nuevo directorio de backup:$ echo prueba >> dirA/fichero2$ rsync -ab --delete --backup-dir=$PWD/backup_$(date +%y%m%d%H%M) dirA/ dirB/$ lltotal 28drwxr-xr-x 7 vicente users 4096 2008-01-13 19:21 ./drwxr-x--- 56 vicente users 4096 2008-01-13 18:43 ../drwxr-xr-x 2 vicente users 4096 2008-01-13 19:17 backup_0801131917/drwxr-xr-x 2 vicente users 4096 2008-01-13 19:21 backup_0801131921/drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 dirA/drwxr-xr-x 4 vicente users 4096 2008-01-13 11:48 dirB/$ ll backup_0801131921/total 84drwxr-xr-x 2 vicente users 4096 2008-01-13 19:21 ./drwxr-xr-x 7 vicente users 4096 2008-01-13 19:21 ../-rw-r--r- 1 vicente users 71040 2008-01-13 19:20 fichero2/
Es importante no usar paths relativos en el parámetro -backup-dir, porque son relativos al directorio destino. En los ejemplos anteriores, si hubiéramos hecho “--backup-dir=backup_$(date +%y%m%d%H%M)“, el directorio “backup_0801131917” de turno se hubiera creado dentro del dirB y sería eliminado en el siguiente rsync con --delete.Actualización 15/1/07 (inspirada por los comentarios de MetalAgent):
También podemos hacer backups incrementales con las opciones:--compare-dest=DIR also compare received files relative to DIR--copy-dest=DIR ... and include copies of unchanged files--link-dest=DIR hardlink to files in DIR when unchangedLa opción --compare-dest=DIR hace casi lo mismo que la -b/--backup / --backup-dir=DIR, pero al revés.
En lugar de guardar los ficheros viejos en DIR, como hace la -b, la --compare-dest lo que hace es guardar en el directorio destino sólo los ficheros que han cambiado respecto a DIR. Es como un backup incremental pero mientras que con la -b tienes todos los ficheros de la última versión en el directorio destino, con la --compare-dest sólo tienes en el directorio destino los ficheros que han cambiado desde el último backup.Como variación de la --compare-dest, está la --copy-dest=DIR, que hace lo mismo que la anterior pero además copia los ficheros que no hayan cambiado.
¡Pero ojo!, la ventaja de esta opción es que la copia de los ficheros que no han cambiado es local, de forma que en un rsync remoto, todos los ficheros que ya estaban en DIR no se tienen que transferir. La desventaja es que necesita mucho espacio en disco.Finalmente, la variante más interesante es la --link-dest=DIR, que hace lo mismo que la --copy-dest pero sin consumir más espacio en disco porque usa hard links a los ficheros que ya existen.
¡Una opción realmente útil!Incluyendo y excluyendo ficheros del backupLa mayoría de las veces no querremos hacer backup de un único directorio y ya está, sino que querremos hacer backup de una lista determinada de directorios. En esos casos, o especificamos uno por uno en la línea de comandos o, mucho mejor, los especificamos en una lista.
Si especificamos los ficheros en una lista, nos podemos permitir tener un script de backup que lance rsync con las opciones deseadas y que no modificaremos nunca y el fichero con la lista de directorios de los que hay que hacer backup que será lo que modificaremos.
Las opciones son:
--exclude=PATTERN exclude files matching PATTERN--exclude-from=FILE read exclude patterns from FILE--include=PATTERN don't exclude files matching PATTERN--include-from=FILE read include patterns from FILE--files-from=FILE read list of source-file names from FILE
Los patrones que usa rsync no son muy intuitivos, así que lo mejor es leer detenidamente la sección que los explica (INCLUDE/EXCLUDE PATTERN RULES) en la página de man de rsync, pero podemos ver un ejemplo que nos aclarará un poco este tema.Imaginemos que queremos hacer un backup de los directorios “/var/log/” y “/var/www/“.
Podríamos usar un comando como:rsync -av --delete --prune-empty-dirs --include-from=lista_dirs_backup.txt / /mnt/disco/Backup/en el que el fichero lista_dirs_backup.txt contiene:+ /+ /var/www/**+ /var/log/* El “+ */” de la primera línea especifica que todos los directorios pasan el filtro y es necesario porque aunque especifiquemos los directorios que nos interesan en las siguientes líneas, el propio directorio /var/ y los /var/log/ y /var/www/ no pasaría el filtro.
Además, como esta opción nos permite pasar todos los directorios pero sin los ficheros y directorios que contienen, tenemos que usar la opción -prune-empty-dirs para que no copie directorios vacíos.
En la última línea le especificamos con “ *” que todo lo que en ese punto ya no ha pasado el filtro, que sea descartado. Los dos asteriscos (*) indican que todos los ficheros y directorios que hay debajo pasarán el filtro.Una alternativa sin -prune-empty-dirs sería incluir específicamente todos los directorios involucrados:+ /var/+ /var/www/+ /var/log/+ /var/www/*+ /var/log/*
Pero es evidente que en el caso de tener muchos directorios y con mucha profundidad, esta forma se puede complicar mucho y es claramente más sencilla la anterior (aunque también es más lenta por tener que recorrer todos los directorios del origen).
En versiones de rsync >=2.6.7 también existe la posibilidad de poner tres asteriscos (**) para especificar que el propio directorio especificado también pasa el filtro, facilitándonos nuestra labor en el caso de que queramos hacerlo sin “+ /” y sin -prune-empty-dirs:+ /var/+ /var/www/***+ /var/log/** Y también es importante tener en cuenta si los directorios especificados son relativos o absolutos.
En los ejemplos anteriores, el directorio origen era el raíz (/) y por ello, los directorios se guardaban con todo el path (/var/log/ y /var/www/) y así los especificábamos en el fichero de include:$ ll /mnt/disco/Backup/var/total 16drwxr-xr-x 4 root root 4096 2007-10-31 21:10 ./drwxr-xr-x 3 root root 4096 2007-12-09 18:19 ../drwxr-xr-x 14 root root 4096 2008-01-13 18:43 log/drwxr-xr-x 3 root root 4096 2007-06-27 20:19 www/
pero también podríamos haber decidido hacerlo con referencia a /var/:rsync av --delete --prune-empty-dirs --include-from=lista_dirs_backup.txt /var/ /mnt/disco/Backup/
Con lo que en el fichero lista_dirs_backup.txt tendríamos que poner (suponemos versión <2.6.7):+ www+ log+ www/**+ log/* Y el resultado sería un backup sin la parte del directorio /var/:$ ll /mnt/disco/Backup/total 16drwxr-xr-x 4 root root 4096 2007-10-31 21:10 ./drwxrwxrwt 18 root root 4096 2008-01-13 20:07 ../drwxr-xr-x 14 root root 4096 2008-*01-13 18:43 log/drwxr-xr-x 3 root root 4096 2007-06-27 20:19 www/
Pero como regla fácil que siempre funciona, tenemos lo primero que hemos comentado. Un comando como este:rsync av --delete --prune-empty-dirs --include-from=lista_dirs_backup.txt / /mnt/disco/Backup/con un lista_dirs_backup.txt como este:+ */+ /directorio1/**+ /directorio2/directorio2A/**+ /directorio2/directorio2B/ *rsync remoto
Hasta ahora hemos hecho todos los ejemplos en local. Sin embargo, la máxima utilidad de rsync llega cuando se usa para hacer backups en una máquina remota, de forma que el backup cumpla mejor su función al estar físicamente en otro sistema.
En la máquina destino es posible usar el propio proceso rsync funcionando como demonio y escuchando por defecto en el puerto 873 para recibir estas conexiones, pero es mucho más cómodo y fácil hacerlo por SSH, algo para lo que rsync ya está preparado por defecto.
Para esto es conveniente configurar el cliente y el servidor de SSH involucrados para entrar de forma transparente usando autentificación por clave pública (Autentificación trasparente por clave pública/privada con OpenSSH) para evitar tener que introducir la contraseña cada vez, aunque no es estrictamente necesario.
Una vez que lo tengamos así (o si optamos por introducir la contraseña manualmente) y verifiquemos que podemos entrar en la otra máquina sin introducir usuario ni contraseña, podemos usar rsync exactamente igual que si trabajáramos con la máquina local, solo que tenemos que especificar el prefijo “usuario@maquina:” en el origen o en el destino (no en ambos):
$ rsync -av --delete dirA vicente@remoto:/backup/building file list ... donedirA/dirA/fichero1dirA/fichero2dirA/dirA1/dirA/dirA1/fichero3dirA/dirA2/dirA/dirA2/fichero4sent 6540658 bytes received 126 bytes 2616313.60 bytes/sectotal size is 6539461 speedup is 1.00# rsync -av --delete vicente@remoto:/backup/dirA/ dirC/receiving file list ... donecreated directory dirC./fichero1fichero2dirA1/dirA1/fichero3dirA2/dirA2/fichero4sent 126 bytes received 6540665 bytes 2616316.40 bytes/sectotal size is 6539461 speedup is 1.00
Fuente: www.vicente-navarro.com/blog/2008/01/13/backups-con-rsync/
Instalando gnome classic en ubuntu 12.04lts
Navengando un ratito me encontre con este interesante enlace
Acerca de Ubuntu
Donde nos da algunos consejitos para instalar la interface gnome classic en vista de que como a un servidor Unity o bien Gnome en su ultima version no suele ser tan "configurable" como el caso de la version anterior, el comando en si es: sudo apt-get install gnome-panel
Acerca de Ubuntu
Donde nos da algunos consejitos para instalar la interface gnome classic en vista de que como a un servidor Unity o bien Gnome en su ultima version no suele ser tan "configurable" como el caso de la version anterior, el comando en si es: sudo apt-get install gnome-panel
lunes, 21 de mayo de 2012
Incrementar la seguridad de linux, consejos y herramientas
Saludos pues me encontre con una excelente entrada para incrementar la seguridad el ubuntu les dejo el enlace
como aumentar la seguridad en ubuntu
Ademas no podemos olvidar seguir las siguientes recomendaciones basicas
1.- Asignar los permisos adecuados a los archivos para cada usuario y grupo sin ser demasiado permisivos.
2.- Asignar particionado, es decir asegurate de generar particiones distintas para en caso de hechar a perder una, esta no afecte a todo el sistema o bien a los datos.
3.- Se recomienda por lo general que el home de cada usuario tuviera su particion, esto asegura la privacidad y aisla posibles afectaciones, focalizandolas en solo el usuario de la particion afectada.
4.- Asegurate de manejar los privilegios de grupos y usuarios correctamente, con esto garantizas la propiedad y privacidad de un archivo asignado a un grupo o usuario en especifico.
5.- Manejar listas de control de acceso, para individualizar los permisos de ciertos archivos a solo los usarios designados.
6.- Eso aplica para cualquier sistema operativo y es cifrar o encriptar los archivo, un ejemplo muy sencillo es utilizar el editor "vi -x" con esto crearemos un archivo de texto plano pero cifrado, tambien hay muchas otras aplicaciones para cifrar los archivos como CFS
7.- Restringir los permisos a: /var/log/syslog ya que es aqui donde se guardan varios de los logs almacenados por el sistema.
8.- Restringir la ejecucion de programas y comandos como lo es la edicion del crontab o bien el comando finger.
9.- Cifrar las password de acceso al sistema por ejemplo utilizando /etc/shadow ya que asi las passwords se almacenan aqui y solo el root tiene acceso.
10.- Algo basico pero escencial en cualquier sistema para mejorar la seguridad, es cambiar con cierta periodicidad las password de acceso al sistema y a ciertas aplicaciones, no hay un tiempo en especifico para cambiarlo pero entre mas rapido sea el cambio, se complica más el acceso y el hecho de dar con la password correcta.
11.- Procura usar conexiones cifradas ya sea cuando te conectas en forma local o remota, es decir utiliza procotolos de seguridad como ssh, sftp, https.
Hay varios procesos para incrementar la seguridad en un sistema linux, a estos procesos se le llama Hardening e aqui una utilieria excelente http://www.grsecurity.net/
como aumentar la seguridad en ubuntu
Ademas no podemos olvidar seguir las siguientes recomendaciones basicas
1.- Asignar los permisos adecuados a los archivos para cada usuario y grupo sin ser demasiado permisivos.
2.- Asignar particionado, es decir asegurate de generar particiones distintas para en caso de hechar a perder una, esta no afecte a todo el sistema o bien a los datos.
3.- Se recomienda por lo general que el home de cada usuario tuviera su particion, esto asegura la privacidad y aisla posibles afectaciones, focalizandolas en solo el usuario de la particion afectada.
4.- Asegurate de manejar los privilegios de grupos y usuarios correctamente, con esto garantizas la propiedad y privacidad de un archivo asignado a un grupo o usuario en especifico.
5.- Manejar listas de control de acceso, para individualizar los permisos de ciertos archivos a solo los usarios designados.
6.- Eso aplica para cualquier sistema operativo y es cifrar o encriptar los archivo, un ejemplo muy sencillo es utilizar el editor "vi -x" con esto crearemos un archivo de texto plano pero cifrado, tambien hay muchas otras aplicaciones para cifrar los archivos como CFS
7.- Restringir los permisos a: /var/log/syslog ya que es aqui donde se guardan varios de los logs almacenados por el sistema.
8.- Restringir la ejecucion de programas y comandos como lo es la edicion del crontab o bien el comando finger.
9.- Cifrar las password de acceso al sistema por ejemplo utilizando /etc/shadow ya que asi las passwords se almacenan aqui y solo el root tiene acceso.
10.- Algo basico pero escencial en cualquier sistema para mejorar la seguridad, es cambiar con cierta periodicidad las password de acceso al sistema y a ciertas aplicaciones, no hay un tiempo en especifico para cambiarlo pero entre mas rapido sea el cambio, se complica más el acceso y el hecho de dar con la password correcta.
11.- Procura usar conexiones cifradas ya sea cuando te conectas en forma local o remota, es decir utiliza procotolos de seguridad como ssh, sftp, https.
Hay varios procesos para incrementar la seguridad en un sistema linux, a estos procesos se le llama Hardening e aqui una utilieria excelente http://www.grsecurity.net/
Seguridad Unix y Linux, parte 1 (Shadow)
Shadow
Bueno pues en esta ocacion cito a grandes rasgos lo que maneja esta suite que ya tiene algun tiempo,
/etc/shadow, es un archivo de configuración para encriptar las passwords en sistemas Unix
SHADOW
Seccion: Formato de Archivos (5)
Seccion: Formato de Archivos (5)
NOMBRE
shadow - archivo de passwords encriptados
shadow - archivo de passwords encriptados
DESCRIPCIÓN
shadow contiene la información encriptada para las cuentas de usuarios y opcionalmente la información de caducidad del password.
shadow contiene la información encriptada para las cuentas de usuarios y opcionalmente la información de caducidad del password.
Está incluido
- Nombre de usuario
- Password Encriptado
- Dias desde 1 Enero, 1970 que el password fue cambiado
- Dias antes de que el password pueda ser cambiado
- Dias despues de los cuales el password debe ser cambiado
- Dias antes en los que el usuario será advertido antes de que el password expire
- Dias desde 1 Enero, 1970 que el password fue cambiado
- Dias antes de que el password pueda ser cambiado
- Dias despues de los cuales el password debe ser cambiado
- Dias antes en los que el usuario será advertido antes de que el password expire
- Dias despues de 1 Enero de 1970, en los cuales la cuenta será deshabilitada luego del password expirar
- Un campo reservado
- Un campo reservado
El password debe ser llenado.
El password encriptado consiste en
13 a 24 carácteres del alfabeto de 64 caracteres de a hasta z, A hasta
Z, 0 al 9, . y /. Referirse a crypt(3) para detalles acerca de como es
interpretada esta cadena.
El dia del ultimo cambio de password es dado como el número de
dias desde 1 Enero, 1970. El password no puede ser cambiado nuevamente
hasta que esos dias hayan pasado, y debe ser cambiado antes número
máximo de dias. Si el número mínimo de dias requerido es mayor que el
máximo numero de dias permitido, este password no puede ser cambiado por
el usuario.
Una cuenta es considerada como inactiva y deshabilitada si el
password no es cambiado dentro de el número de dias especificado luego
de que el password expire. Una cuenta tambien será deshabilitada en los
dias especificados no obstante la información de expiracion restante.
Esta información trasciende cualquier password o información de tiempo de password presente en /etc/passwd.
Este archivo no debe ser leible por usuarios regulares si se mantendrá la seguridad de los passwords.
ARCHIVOS
/etc/passwd - user account information
/etc/passwd - user account information
/etc/shadow - encrypted user passwords
VER TAMBIEN
chage(1), login(1), passwd(1), su(1), passwd(5), pwconv(8), pwunconv(8), sulogin(8)
chage(1), login(1), passwd(1), su(1), passwd(5), pwconv(8), pwunconv(8), sulogin(8)
AUTOR
Julianne Frances Haugh (jockgrrl@ix.netcom.com)
Julianne Frances Haugh (jockgrrl@ix.netcom.com)
De modo que tomando como ejemplo la linea correspondiente , en /etc/shadow , tenemos algo como esto:
jespinal:$1$N9L1HjIf$.YbfoPCCZmrqemk4zwYUb4:13918:0:::::0
Se sigue viendo medio feo, pero por lo menos se entiende, ya que sabemos que segun el man page:
Nombre de usuario
jespinal
Password Encriptado
$1$N9L1HjIf$.YbfoPCCZmrqemk4zwYUb4
Dias desde 1 Enero, 1970 que el password fue cambiado
13918
Dias antes de que el password pueda ser cambiado
0
Dias despues de los cuales el password debe ser cambiado
vacio, es decir, no debo cambiarlo
Dias antes en los que el usuario será advertido antes de que el password expire
tampoco estoy usando este campo
Dias despues de 1 Enero de 1970, en los cuales la cuenta será deshabilitada luego del password expirar
ya que mi cuenta no va a expirar, tampoco se usa esto
Un campo reservado
0
Shadow maneja varios tipos de encripciones donde la mas comun es MD5
Opcionalmente se puede comenzar con un carácter "$". Esto significa que la contraseña encriptada se ha generado utilizando otro algoritmo (no DES). Por ejemplo, si comienza con "$ 1 $", significa que el algoritmo MD5 basado fue utilizado.
la wikipedia nos da mas detalles sobre los metodos de encripcion manejados, sobre lo que eh leido aunque MD5 no es el mas seguro si suele ser el estandar.
Algunos directorios linux/unix
Saludos nuevamente les traigo una pequeña lista de los directorios linux espero les pueda ayuda, la fuente antes que nada por si gustan consultar el tutorial completo :-)
Tutorial linux, y comandos basicos
Tutorial linux, y comandos basicos
Cambia la contraseña de usuario en linux/unix
Pues solo recordandoles un comdo muy sencillo para cambiar la contraseña de unix/linux,
"passwd" posteriormente te pedira teclear tu password anterior y lugo la nueva contraseña si lo haces como root cambiaras la password de administrador, ojo con este comando anota bien tus contraseñas ;-)
"passwd generalmente funciona manipulando el archivo donde se guardan los usuarios y sus contraseñas (comúnmente /etc/passwd, o /etc/shadow si se usan contraseñas shadow), lo que significa que la contraseña cambiada aplica sólo al computador en el cual se ejecutó el comando. Si se está usando PAM, en cambio, como puede ser en GNU/Linux, Solaris, FreeBSD o NetBSD, la instrucción passwd se puede usar para cambiar la contraseña del mecanismo de autenticación que esté usándose en el momento, sea NIS, Kerberos, LDAP, o cualquier otro para el que haya un módulo de PAM."
wikipedia
"passwd" posteriormente te pedira teclear tu password anterior y lugo la nueva contraseña si lo haces como root cambiaras la password de administrador, ojo con este comando anota bien tus contraseñas ;-)
"passwd generalmente funciona manipulando el archivo donde se guardan los usuarios y sus contraseñas (comúnmente /etc/passwd, o /etc/shadow si se usan contraseñas shadow), lo que significa que la contraseña cambiada aplica sólo al computador en el cual se ejecutó el comando. Si se está usando PAM, en cambio, como puede ser en GNU/Linux, Solaris, FreeBSD o NetBSD, la instrucción passwd se puede usar para cambiar la contraseña del mecanismo de autenticación que esté usándose en el momento, sea NIS, Kerberos, LDAP, o cualquier otro para el que haya un módulo de PAM."
wikipedia
Comandos Basicos para Monitoreo linux/unix 1 update 05-01-2015
Saludos les publicare algunos tips sumamente basicos para el monitoreo de nuestro sistema en Linux o unix, la segunda parte abarca algunos comandos mas avanzados comandos-para-monitoreo-parte-2-solaris/linux.html
primero empezaremos con " uname -a " el cual nos mostrara el nombre y versión del sistema operativo que estamos utilizando.
el comando funciona de manera genérica para cualquier plataforma unix.
También un comando sumamente importante es prtdiag -v dentro de solaris, este comando nos sirve para ver el estatus del servidor desde la ram hasta el estatus del todo el hardware que se encuentra funcionando, asi como la version de firmware y otros componentes.
Del mismo modo tenemos " psrinfo -v " que proporciona la información de los procesadores, de favor si me corrigen ya que ignoro si esto aplique también para osx, ya que me parece solo aplicaría para solaris y algunas distros linux.
Status of virtual processor 0 as of: 05/21/2012 11:21:18
on-line since 05/06/2012 17:12:36.
The sparcv9 processor operates at 2520 MHz,
and has a sparcv9 floating point processor.
Status of virtual processor 1 as of: 05/21/2012 11:21:18
on-line since 05/06/2012 17:13:32.
Para ver la memoria disponible " prtconf | grep Memory " solo para solaris.
Memory size: 20480 Megabytes
Para conocer la cantidad de memoria ram de nuestro sistema Solaris, así como la cantidad y el tipo de CPU, tarjetas PCI y dispositivos externos con los que contamos ejecuta el siguiente comando:
/usr/platform/`uname -i`/sbin/prtdiag
Para saber el nombre de la maquina en unix o linux, tenemos 2 opciones, " uname -n " o bien hostname, ignoro si aplica para todas las distros, los eh probado en ubuntu y solaris.
Para saber nuestra ip, tecleamos " ifconfig -a " o solo " ifconfig " y nos proporcionara información referente a la ip (s) configuradas para nuestro equipo.
Uno muy util es cuando queremos saber los procesos asignados a nuestro usuario, en tal caso usuamos "ps -fu nombreusuario" en donde "nombreusuario" es el user id o nombre del usuario con el que iniciamos sesion o " ps -ef " que también nos mostrara los procesos que se están ejecutando.
Para ver el estado de la memoria podemos hacerlo con "vmstat" aunque para este comando hay muchas opciones, podemos tomar por numero de muestras y/o intervalos de tiempo, para este comando le dedicare un poco mas de tiempo en futuras entradas, por lo pronto podemos usar el manual con "man vmstat" en la consola y un ejemplo seria vmstat 3 6 el cual toma muestras cada 3 segundos y tomara 6 muestras
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m0 m1 m3 m4 in sy cs us sy id
0 0 0 199603904 164565344 94 409 62 134 134 0 0 0 0 0 0 6809 13802 7377 0 1 99
1 0 0 196558024 160959592 0 78 0 206 206 0 0 0 0 0 0 6827 16920 7403 0 1 99
1 0 0 196557528 160959304 0 2 0 73 73 0 0 0 0 0 0 6825 9409 7181 0 2 98
0 0 0 196557528 160958624 47 51 0 377 377 0 0 0 0 0 0 7013 9912 7734 0 1 98
0 0 0 196557312 160959712 105 720 0 76 76 0 0 0 0 0 0 7236 17293 8342 0 1 99
0 0 0 196557528 160960160 0 30 0 102 102 0 0 0 0 0 0 6735 12328 6987 0 2 98
Para ver el espacio en disco podemos usar df -k (bytes) o df -h (formato megabytes o human)
df -h
Filesystem size used avail capacity Mounted on
/ 68G 8.7G 59G 13% /
/HTTPServer 2.0G 254M 1.6G 14% /HTTPServer
/NDM36 2.0G 387M 1.5G 20% /NDM36
/WebSphere61 5.0G 2.3G 2.5G 48% /WebSphere61
/arqnacar 10G 20M 9.4G 1% /arqnacar
/backlogs 2.0G 18M 1.9G 1% /backlogs
/bladelogic 2.0G 117M 1.8G 7% /bladelogic
/ctrlmagt 2.0G 163M 1.7G 9% /ctrlmagt
/dev 68G 8.7G 59G 13% /dev
Ahora bien para saber el espacio de una carpeta / filesystem podemos usar "du -ha", este comando informara sobre el tamaño de los archivos en una carpeta de forma re cursiva.
prstat -as cpu que muestra de forma ordenada los procesos que se están ejecutando y se actualiza mas o menos cada 2 segundos, solo aplica para ciertos sistemas unix (Solaris) y sirve para monitorizar también el consumo de CPU, memoria ram, swap, usuarios, es el equivalente de top en linux.
Continua comandos-para-monitoreo-parte-2-solaris/linux.html
Have nice day
primero empezaremos con " uname -a " el cual nos mostrara el nombre y versión del sistema operativo que estamos utilizando.
el comando funciona de manera genérica para cualquier plataforma unix.
También un comando sumamente importante es prtdiag -v dentro de solaris, este comando nos sirve para ver el estatus del servidor desde la ram hasta el estatus del todo el hardware que se encuentra funcionando, asi como la version de firmware y otros componentes.
Del mismo modo tenemos " psrinfo -v " que proporciona la información de los procesadores, de favor si me corrigen ya que ignoro si esto aplique también para osx, ya que me parece solo aplicaría para solaris y algunas distros linux.
Status of virtual processor 0 as of: 05/21/2012 11:21:18
on-line since 05/06/2012 17:12:36.
The sparcv9 processor operates at 2520 MHz,
and has a sparcv9 floating point processor.
Status of virtual processor 1 as of: 05/21/2012 11:21:18
on-line since 05/06/2012 17:13:32.
Para ver la memoria disponible " prtconf | grep Memory " solo para solaris.
Memory size: 20480 Megabytes
Para conocer la cantidad de memoria ram de nuestro sistema Solaris, así como la cantidad y el tipo de CPU, tarjetas PCI y dispositivos externos con los que contamos ejecuta el siguiente comando:
/usr/platform/`uname -i`/sbin/prtdiag
Para saber el nombre de la maquina en unix o linux, tenemos 2 opciones, " uname -n " o bien hostname, ignoro si aplica para todas las distros, los eh probado en ubuntu y solaris.
Para saber nuestra ip, tecleamos " ifconfig -a " o solo " ifconfig " y nos proporcionara información referente a la ip (s) configuradas para nuestro equipo.
Uno muy util es cuando queremos saber los procesos asignados a nuestro usuario, en tal caso usuamos "ps -fu nombreusuario" en donde "nombreusuario" es el user id o nombre del usuario con el que iniciamos sesion o " ps -ef " que también nos mostrara los procesos que se están ejecutando.
Para ver el estado de la memoria podemos hacerlo con "vmstat" aunque para este comando hay muchas opciones, podemos tomar por numero de muestras y/o intervalos de tiempo, para este comando le dedicare un poco mas de tiempo en futuras entradas, por lo pronto podemos usar el manual con "man vmstat" en la consola y un ejemplo seria vmstat 3 6 el cual toma muestras cada 3 segundos y tomara 6 muestras
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m0 m1 m3 m4 in sy cs us sy id
0 0 0 199603904 164565344 94 409 62 134 134 0 0 0 0 0 0 6809 13802 7377 0 1 99
1 0 0 196558024 160959592 0 78 0 206 206 0 0 0 0 0 0 6827 16920 7403 0 1 99
1 0 0 196557528 160959304 0 2 0 73 73 0 0 0 0 0 0 6825 9409 7181 0 2 98
0 0 0 196557528 160958624 47 51 0 377 377 0 0 0 0 0 0 7013 9912 7734 0 1 98
0 0 0 196557312 160959712 105 720 0 76 76 0 0 0 0 0 0 7236 17293 8342 0 1 99
0 0 0 196557528 160960160 0 30 0 102 102 0 0 0 0 0 0 6735 12328 6987 0 2 98
Para ver el espacio en disco podemos usar df -k (bytes) o df -h (formato megabytes o human)
df -h
Filesystem size used avail capacity Mounted on
/ 68G 8.7G 59G 13% /
/HTTPServer 2.0G 254M 1.6G 14% /HTTPServer
/NDM36 2.0G 387M 1.5G 20% /NDM36
/WebSphere61 5.0G 2.3G 2.5G 48% /WebSphere61
/arqnacar 10G 20M 9.4G 1% /arqnacar
/backlogs 2.0G 18M 1.9G 1% /backlogs
/bladelogic 2.0G 117M 1.8G 7% /bladelogic
/ctrlmagt 2.0G 163M 1.7G 9% /ctrlmagt
/dev 68G 8.7G 59G 13% /dev
Ahora bien para saber el espacio de una carpeta / filesystem podemos usar "du -ha", este comando informara sobre el tamaño de los archivos en una carpeta de forma re cursiva.
prstat -as cpu que muestra de forma ordenada los procesos que se están ejecutando y se actualiza mas o menos cada 2 segundos, solo aplica para ciertos sistemas unix (Solaris) y sirve para monitorizar también el consumo de CPU, memoria ram, swap, usuarios, es el equivalente de top en linux.
Actualización ------------
También para ver los usuarios conectados podemos utilizar, who y finger, ambos comandos muestran las sesiones conectadas a nuestro sistema. finger proporciona mayor detalle y puede ser un comando restringido al proporcionar información sensible.
y tenemos uptime, que muestra el tiempo que lleva nuestro equipo funcionando desde el último reinicio o bien apagado.
También para ver los usuarios conectados podemos utilizar, who y finger, ambos comandos muestran las sesiones conectadas a nuestro sistema. finger proporciona mayor detalle y puede ser un comando restringido al proporcionar información sensible.
y tenemos uptime, que muestra el tiempo que lleva nuestro equipo funcionando desde el último reinicio o bien apagado.
Continua comandos-para-monitoreo-parte-2-solaris/linux.html
Have nice day
Suscribirse a:
Entradas (Atom)