Páginas

Mostrando entradas con la etiqueta tar. Mostrar todas las entradas
Mostrando entradas con la etiqueta tar. Mostrar todas las entradas

miércoles, 21 de septiembre de 2022

Freebsd tar Excluir Directorios

Fuente:
https://www.gnu.org/software/tar/manual/html_node/exclude.html#exclude

Ciertas opciones para tar le permite especificar un nombre para su archivo. Otras opciones le permiten decidir qué archivos incluir o excluir del archivo, en función de cuándo o si se modificaron los archivos, si los nombres de los archivos coinciden o no con los patrones especificados, o si los archivos están en directorios especificados.

Realizar copias con tar excluyendo directorios listados dentro de un archivo, utilizando la opción --exclude-from

Importamos el zpool copias


# zpool import copias

# zpool status
  pool: copias
 state: ONLINE
config:

	NAME        STATE     READ WRITE CKSUM
	copias      ONLINE       0     0     0
	  da0p1     ONLINE       0     0     0

errors: No known data errors

  pool: zroot
 state: ONLINE
config:

	NAME        STATE     READ WRITE CKSUM
	zroot       ONLINE       0     0     0
	  nvd0p4    ONLINE       0     0     0

errors: No known data errors

Creamos el archivo excluir_dirs.txt donde incluiremos todos los directorios a excluir de la copia

carlos@foo:~ % pwd


/usr/home/carlos

carlos@foo:~ % touch excluir_dirs.txt

Tenga en cuenta que las líneas del archivo se leen palabra por palabra. Uno de los los errores frecuentes es dejar espacios en blanco adicionales después de un nombre de archivo, que es difícil de detectar usando editores de texto. Sin embargo, las líneas vacías están bien

carlos@foo:~ % cat excluir_dirs.txt


./.ssh
./.dbus
./.mozilla
./.cache
./Descargas
./DevOps_Bootcamp
./Musica

# tar cfCv - /usr/home/carlos/ --exclude-from excluir_dirs.txt . | \
tar xpfC - /copias/tar_home_fbsd

-c Crear un nuevo archivo que contenga los elementos especificados

-f Leer el archivo desde o escribir el archivo en el fichero especificado

-C directorio, --cd directorio. En el modo c y r, esto cambia el directorio antes de añadir los siguientes archivos.

-v Produce una salida detallada. En los modos de creación y extracción, tar enumerará cada nombre de archivo a medida que se lea o escriba en el archivo.

-x Extraer al disco desde el archivo. Si un archivo con el mismo nombre aparece más de una vez en el archivo, cada copia será extraído, y las copias posteriores sobrescribirán las anteriores copias.

-p --preserve-permissions (sólo en modo x) Preserva los permisos de los archivos. Intenta restaurar los permisos completos

Exportar el zpool copias


# zpool export copias

carlos@foo:~ % ls -Fa


...
.ssh/
.cache/
.dbus/
.mozilla
Avanzado/
bhyve/
Dell-7390/
Descargas/
DevOps_Bootcamp/
docs/
Documentos/
Ebooks/
Escritorio/
excluir_dirs.txt
Imagenes/
Musica/
Plantillas/
Publico/
scripts/
Videos/

FreeBSD es genial!.

lunes, 24 de junio de 2019

Copiar restaurar particiones Linux


Instalar Arch Linux UEFI

Iniciar el sistema desde un usb live Sytem Rescue con soporte UEFI


lsblk lista información a cerca de todos los dispositivos de bloques disponibles


# lsblk

root@sysresccd /root % lsblk 

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

sda      8:0    0  55.9G  0 disk 

├─sda1   8:1    0   512M  0 part 

├─sda2   8:2    0    30G  0 part 

└─sda3   8:3    0  25.4G  0 part 

sdb      8:16   0 465.8G  0 disk 

└─sdb1   8:17   0 211.5G  0 part 

sdc      8:32   1   1.9G  0 disk 

└─sdc1   8:33   1   1.9G  0 part /livemnt/boot

loop0    7:0    0 317.1M  1 loop /livemnt/squashfs

lsblk con la opción -f devuelve información sobre sistemas de archivos

# lsblk -f

NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT

sda                                                                   

├─sda1 vfat    CC3A-1EDB 

├─sda2  ext4    38b21575-cd76-4ff5-9733-654c1d50f30f   21,4G    22% /

└─sda3  ext4    e9774ab0-2d95-4820-8c1e-d76563970c86     21G    11% /home

sdb                                                                   

└─sdb1  vfat  SYSRCD-4_5_ 6843-DF82    /livemnt/boot

sdc                                                                

└─sdc1  ext4 ArchlinuxHP   d007c890-2620-44fc-aaeb-5e40f68fa40

loop0  squashfs                                               /livemnt/squashfs 

https://docs.freebsd.org/es/books/handbook/disks/#backup-basics

“No hacer nada” no es un programa, pero es la estrategia de respaldo más extendida. No tiene coste. No hay un calendario de respaldos a seguir. Simplemente hay que decir que no. Si algo le sucediera a sus datos sonría y acostúmbrese a su nueva situación.


Copia de seguridad con tar

Se crea el punto de montaje y se monta en modo rw (lectura y escritura) el disco duro externo donde se guardarán las copias de seguridad en formato tar.gz

root@sysresccd /root % mkdir /mnt/backuprestore
root@sysresccd /root % mount -t ext4 -o rw /dev/sdc1 /mnt/backuprestore

Se crean los puntos de montaje uno para cada partición con nombres que sirvan de referencia.

# mkdir /mnt/archlinuxboot
# mkdir /mnt/archlinuxraiz
# mkdir /mnt/archlinuxhome

Mantar en modo ro (sólo lectura) las particiones del sistema a respaldar

root@sysresccd /mnt % mount -o ro -t vfat /dev/sda1 /mnt/archlinuxboot
root@sysresccd /mnt % mount -o ro -t ext4 /dev/sda2 /mnt/archlinuxraiz
root@sysresccd /mnt % mount -o ro -t ext4 /dev/sda3 /mnt/archlinuxhome

Opciones y argumentos del comando tar
c crea la copia usando tar
v activa el modo verbose para mostrar información por pantalla
z comprime los datos utilizando el formato gzip
p preserva los permisos de los ficheros (predeterminado para root)
f manda la salida a un fichero en lugar de a la salida estandar
--exclude excluye ficheros y directorios de la copia

Se crea y exporta la variable temporal fecha
root@sysresccd /mnt % FECHA=$(date +%d%m%Y)
root@sysresccd /mnt % export FECHA
root@sysresccd /mnt % env | grep FECHA
FECHA=24062019
root@sysresccd /mnt % echo $FECHA
24062019

Una vez hecho esto se cambia al punto de montaje de la partición raiz (sda2) para realizar la copia.
root@sysresccd /mnt % cd /mnt/archlinuxraiz
root@sysresccd /mnt/archlinuxraiz % tar czvf /mnt/backuprestore/Archlinux/archlinuxsda2/archilinuxsda2-$FECHA.tar.gz *

Entrando en el punto de montaje de la partición boot (sda1) para la copia en formato tar.gz utilizando tar
root@sysresccd /mnt % cd /mnt/archlinuxboot
root@sysresccd /mnt/archlinuxboot % tar czvf /mnt/backuprestore/Archlinux/archlinuxsda1/archilinuxsda1-$FECHA.tar.gz *

Por último lo mismo para home (sda3)

root@sysresccd /mnt % cd /mnt/archlinuxhome
root@sysresccd /mnt/archlinuxraiz % tar czvf /mnt/backuprestore/Archlinux/archlinuxsda3/archilinuxsda3-$FECHA.tar.gz --exclude=lost+found *

Restaurar particiones

Iniciar un live usb System Rescue con soporte UEFI

Crear el punto de montaje y montar en modo ro (sólo lectura) la partición que contiene el o los archivos comprimidos a restaurar

# mkdir /mnt/backuprestore
# mount -t ext4 -o ro /dev/sdb1 /mnt/backuprestore

Restaurar la partición raiz

Formatear la partición a restaurar (se perderan todos los datos)
# mkfs.ext4 /dev/sda2

Crear el punto de montaje y montar en modo rw (lectura y escritura) la partición a restaurar

# mkdir /mnt/archraiz
# mount -t ext4 -o rw /dev/sda2 /mnt/archraiz

Entrar en la partición sda2
# cd /mnt/archraiz

Extraer el archivo (no olvide el punto final)
# tar xvzf /mnt/backuprestore/Archlinux/archlinuxsda2/archilinuxsda2-24062019.tar.gz .

Restaurar partición boot (sda1)

Formatear la partición a restaurar (se perderan todos los datos)
# mkfs.vfat /dev/sda1

Crear el punto de montaje y montar en modo rw (lectura y escritura) la partición a restaurar
# mkdir /mnt/archboot
# mount -t vfat -o rw /dev/sda1 /mnt/archboot

Entrar en la partición sda1
# cd /mnt/archboot

Extraer el archivo

# tar xvzf /mnt/backuprestore/Archlinux/archlinuxsda1/archilinuxsda1-24062019.tar.gz .

Restaurar partición home

Formatear la partición a restaurar (se perderan todos los datos)
# mkfs.ext4 /dev/sda3

Crear el punto de montaje y montar en modo rw (lectura y escritura) la partición a restaurar
# mkdir /mnt/archhome
# mount -t ext4 -o rw /dev/sda3 /mnt/archhome

Entrando en la partición sda3

# cd /mnt/archraiz

Extraer el archivo
# tar xvzf /mnt/backuprestore/Archlinux/archlinuxsda3/archilinuxsda3-24062019.tar.gz . 

Finalmente desmontar las particiones

# cd
# umount /mnt/archraiz
# umount /mnt/archboot
# umount /mnt/archhome
# umount /mnt/backuprestore

O desmontar recursivamente.
La relación entre los puntos de montaje está determinada por /proc/self/mountinfo. El sistema de archivos debe ser especificado por la ruta del punto de montaje. Un recursivo desmontado por el nombre del dispositivo o UUID es incompatible.

# umount -R /mnt/*

Reiniciar el sistema
# reboot

OpenBSD es genial!.

viernes, 13 de junio de 2014

FreeBSD cambiar disco duro


Cambiar disco duro conservando la configuración actual del sistema FreeBSD.

tar es una aplicacion creada alrededor de 1975 que trabaja en cooperación con el sistema de ficheros. En FreeBSD el comando por defecto es bsdtar.

En este caso se trata de duplicar un sistema FreeBSD instalado en un disco duro de 320 GB a otro un disco duro de 120 GB. El espacio utilzado en el disco duro actual (320 GB) es de 30 GB, por tanto un disco duro de 120 GB dispone de espacio suficiente.

Los pasos a seguir son:

Realizamos una instalación mínima en el disco duro de 120 GB que a partir de ahora llamaremos ada1. Igual que el disco duro de 320 GB que llamaremos ada0 el particionado utilizado desde el instalador es auto. Este es el resultado:

Disco ada0:
/dev/ada0p1 boot
/dev/ada0p2 raiz
/dev/ada0p3 swap

Disco ada1:
Disco ada0:
/dev/ada1p1 boot
/dev/ada1p2 raiz
/dev/ada1p3 swap


Comprobar que la instalación mínima (ada1) arranca.

El disco duro ada0 conectarlo como master
El disco duro ada1 conectar como esclavo.

Arrancar el sistema desde el disco duro ada0 (desde la bios puede cambiarse la secuencia de arranque) en modo single user pulsando la barra espaciadora en la cuenta atrás de 10 segundos y pulsar 6 (single user). Presionar Enter para la shell por defecto.

Desde el símbolo del sistema:

# fsck -p
# mount -u /
# mount -a
# swapon -a
# adjkerntz -i

Asegúrese que los archivos de dispositivos del disco duro esclavo (ada1) han sido creados:
# ls /dev/ada1*

/dev/ada1p1
/dev/ada1p2
/dev/ada1p3

Crear un sistema de ficheros nuevo en la partición raiz el disco nuevo ada1 (120 GB). Dejamos sin cambios la partición de arranque /dev/ada1p1:

# newfs /dev/ada1p2

Crear el punto de montaje
# mkdir /mnt/root

Montar la partición:
# mount /dev/ada1p2 /mnt/root

Vamos a crear un archivo tar.gz de la partición raiz /dev/ada0p2 (disco ada0). :
# cd /
# bsdtar czvf /mnt/root/ada0p2.tar.gz *

Si se fija este archivo tar.gz ha sido creado en la particion ada1p2 (raiz) del disco nuevo. Vamos a copiarlo al disco duro ada0 para dejar la partición raiz del disco duro nuevo libre:

# mkdir /dbackup
# cp /mnt/root/ada0p2.tar.gz /dbackup/

Si quiere puede borrar el archivo tar.gz del disco duro nuevo:
# rm -f /mnt/root/ada0p2.tar.gz

Restaurar los datos en el disco duro nuevo:
# cd /mnt/root/
# bsdtar xzvf /dbackup/ada0p2.tar.gz

Después de finalizar, desmonte la partición y permita softupdates en la nueva unidad.
# umount /mnt/root
# tunefs -n enable /dev/ada1p2

Todo lo que debe hacer ahora es apagar el sistema desconectar el disco duro viejo (ada0) y conectar el nuevo disco duro como master e iniciar el sistema desde el nuevo disco duro:
# shutdown -p now

Unix es genial!.

martes, 31 de julio de 2012

Alinear particiones linux


Particiones alineadas

Después de ejecutar fdisk -l aparece un mensaje similar a este:

Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders, total 1250263728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 byes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000e1f0

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63       96388       48163+  83  Linux
Partition 1 does not start on physical sector boundary.
/dev/sda2           96389      594404      249007+  82  Linux Swap
Partition 2 does not start on physical sector boundary.
/dev/sda3          594405    40596254    20000925   83  Linux
Partition 3 does not start on physical sector boundary.
/dev/sda4        40596255  1250263727   604833736+  83  Linux
Partition 4 does not start on physical sector boundary
....

Todos los sectores donde empiezan las particiones deben ser múltiplo de 8. Caso contrario, está mal alieada la partición o particiones.

Fdisk en versiones anteriores de modo predeterminado gestiona los tamaños de las particiones sin alinear al tamaño del sector. Herramientas modernas de particionado utilizan libparted > 2.1 que de forma automática realizan alineamiento compatible 1Mb.

Las nuevas unidades de sectores 4096 bytes

Logical block size: 512 bytes
Physical block size: 4096 bytes

Alinear particiones pasa por reparticionar el disco duro y este proceso es posible realizarlo en Linux sin perder un solo dato. Utilizando un disco externo de 120Gb montado en /media/recuperacion copiar todos los datos de la partición de datos:

# cp -R /media/datos/* /media/recuperacion/

Características:
Disco duro 500 GB 9 particiones distribuidas de la manera siguiente. Las particiones sda8 de datos y sda9 tmp se crearán despues de recuperar el sistema:

$ ls -l /dev/disk/by-label

lrwxrwxrwx 1 root root 10 jul 31 10:12 datos -> ../../sda8
lrwxrwxrwx 1 root root 10 jul 31 10:12 gentoob -> ../../sda1
lrwxrwxrwx 1 root root 10 jul 31 08:10 gentooh -> ../../sda7
lrwxrwxrwx 1 root root 10 jul 31 08:10 gentoor -> ../../sda3
lrwxrwxrwx 1 root root 10 jul 31 08:10 gentoot -> ../../sda9
lrwxrwxrwx 1 root root 10 jul 31 10:12 ubuntuh -> ../../sda6
lrwxrwxrwx 1 root root 10 jul 31 10:12 ubuntur -> ../../sda2

Desde la instalación de gentoo se crean y montan los directorios ubuntur y ubuntuh:
# mkdir /media/ubuntur
# mkdir /media/ubuntuh
# mount -v -t ext3 /dev/sda2 /media/ubuntur
# mount -v -t ext3 /dev/sda6 /media/ubuntuh
# mkdir /media/recuperacion/ubuntu

Entrar en los directorios y realizar los backups:
# cd /media/ubuntur
# tar czvf /media/recuperacion/ubuntu/ubuntu-raiz.tar.gz *
# cd ..
# cd /media/ubuntuh
# tar czvf /media/recuperacion/ubuntu/ubuntu-home.tar.gz *
# cd ..

Al finalizar los backups desmontar las particiones
# umount /media/ubuntuh
# umount /media/ubuntur

Reiniciar y desde la instalación ubuntu realizar los mismos pasos:
Crear directorios y montarlos:
# mkdir /media/gentoob
# mkdir /media/gentoor
# mkdir /media/gentooh
# mount /dev/sda1 /media/gentoob
# mount /dev/sda3 /media/gentoor
# mount /dev/sda7 /media/gentooh
# mkdir /media/recuperacion/gentoo

Realizar los backup
# cd /media/gentoob
# tar czvf /media/recuperacion/gentoo/gentoo-boot.tar.gz *
# cd ..
# cd /media/gentoor
# tar czvf /media/recuperacion/gentoo/gentoo-raiz.tar.gz *
# cd ..
# cd /media/gentooh
# tar czvf /media/recuperacion/gentoo/gentoo-home.tar.gz *

Desmontar particiones
# umount /media/gentoob /media/gentoor /media/gentooh

Realizado el backup de las particiones abrir gparted y copiar el tamaño aproximado de las particiones:

sda1 ext2 97 Mb
sda2 ext3 25 GB
sda3 ext3 25 GB
sda4 extended 415 Gb
sda5 swap 2 GB
sda6 ext3 20 Gb
sda7 ext3 20 Gb
sda8 ext3 200 Gb
sda9 reiserfs 8 Gb
sin asignar 165 Gb

Reiniciar con un livecd, en este caso el livedvd gentoo linux 13.0
Después de la carga del sistema utilizando fdisk particionar el disco. La versión incluida en el mencionado livedvd inicia por defecto desde 2048 bytes. Versiones anteriores empiezan desde 63 bytes en cuyo caso no se acepta el valor por defecto y se sustituye por 64 bytes.

Crear, formatear particiones, hacer sda1 arrancable. Primero eliminar todas las particiones.
# fdisk /dev/sda
Crear las particiones utilizando fdisk
Crear los sistemas de ficheros
Crear e inicializar swap.
# mkswap /dev/sda5
# swapon /dev/sda5


Conmutar el indicador de iniciable.

Abrir un terminal y pasarse a root:
# sudo su

Restaurar particiones:
formatear partición, crear directorios y montarlos
# mkfs.ext2 /dev/sda1
# mkdir /media/{gentoob,gentoor,gentooh,ubuntur,ubuntuh}
# mount -t ext2 /dev/sda1 /media/gentoob
# cd /media/gentoob
# tar xzvf /media/recuperacion/gentoo/gentoo-boot.tar.gz
# mkfs.ext3 /dev/sda2
# mount /dev/sda2 /media/ubuntur
# cd /media/ubuntur
# tar xzvf /media/recuperacion/ubuntu/ubuntu-raiz.tar.gz
# mkfs.ext3 /dev/sda3
# mount /dev/sda3 /media/gentoor
# cd /media/gentoor
# tar xzvf /media/recuperacion/gentoo/gentoo-raiz.tar.gz
# cd ..
# mkfs.ext3 /dev/sda6
# mount /dev/sda6 /media/ubuntuh
# cd /media/ubuntuh
# tar xzvf /media/recuperacion/ubuntu/ubuntu-home.tar.gz
# cd ..
# mkfs.ext3 /dev/sda7
# mount /dev/sda7 /media/gentooh
# cd /media/gentooh
# tar xzvf /media/recuperacion/gentoo/gentoo-home.tar.gz
# cd ..

Desmontar particiones:
# umount /media/gentoob /media/gentooh /media/gentoor

Reinstalar grub y cambiar los uuid para ubuntu en los archivos /boot/grub/menu.lst y /etc/fstab.

# mount -v -t ext2 /dev/sda1 /media/gentoor/boot
# mount -v -t ext3 /dev/sda7 /media/gentoor/home

Montar el sistema de ficheros /proc para permitir a la instalación utilizar la información proporcionada por el kernel incluso dentro del chroot y montar de forma transparente el sistema de ficheros /dev.

# mount -t proc none /media/gentoor/proc
# mount -o bind /dev /media/gentoor/dev

Entrar en el nuevo entorno de instalación chrooting:
# chroot /media/gentoor /bin/bash
# env-update
>>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"

Actualizar /etc/mtab que contiene la información relativa a todos los ficheros montados:
# grep -v rootfs /proc/mounts > /etc/mtab

Instalar grub:
# grub-install --no-floppy /dev/sda

Salir del chroot y reiniciar
# exit
# umount /media/gentoor/boot /media/gentoor/home
# umount /media/gentoor/proc /media/gentoor/dev
# umount /media/gentoor
# reboot

Crear el sistema de ficheros reiserfs para la partición tmp se puede realizar una vez iniciado el sistema. En Gentoo con la utilidad reiserfsprogs. Comentar esta linea en /etc/fstab y descomentarla despues de crear el sistema de fichero:

# /dev/sda9 /tmp reiserfs notail,noatime,nodev,nosuid,noexec 0 0

Creo el sistema de ficheros reiserfs para particion tmp:
# emerge reiserfsprogs
# mkreiserfs -f --l "gentoot" /dev/sda9

Utilizar gparted para crear la particion de datos. Crear directorio /media/datos y agregar entrada al archivo /etc/fstab
# vi /etc/fstab
/dev/sda8 /media/datos ext3  users,defaults,nodev,nosuid 0 2


# mount -a

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sda1   *        2048      200703       99328   83  Linux
/dev/sda2          200704    52629503    26214400   83  Linux
/dev/sda3        52629504   105058303    26214400   83  Linux
/dev/sda4       105058304   976773167   435857432    5  Extendida
/dev/sda5       105060352   109254655     2097152   83  Linux
/dev/sda6       109256704   151199743    20971520   83  Linux
/dev/sda7       151201792   193144831    20971520   83  Linux
/dev/sda8       193146880   617873407   212363264   83  Linux
/dev/sda9       617875456   634652671     8388608   83  Linux



Linux es genial!.

domingo, 12 de febrero de 2012

Respaldar particion


En mi máquina tengo varias instalaciones Linux (por razones que no vienen al caso), lo cual facilita el respaldo y restauración de una partición determinada. También es posible iniciar con el SystemRescue o cualquier livecd. Simplemente entro en Debian para realizar bakup de las particiones gentoo linux. Lo primero es montar la partición a respaldar y ejecutar los siguientes comandos. El archivo resultante será comprimido .tar.gz. Todo dependerá de si el sistema está en una o varias particiones como en este caso, pero en definitiva es lo mismo. Omito el directorio lost+found propio del sistema de archivos bajo el que fue formateado "ext3".

# mkdir /mnt/gentooraiz
# mount -o ro /dev/sda3 /mnt/gentooraiz
# cd /mnt/gentooraiz
# tar czvf /media/data/gentoo-last-back/gentoo-raiz-boot-usr-home-portage/gentoo_25_01_2012/gentoo-raiz_25_01_2012.tar.gz *
# umount /mnt/gentooraiz

# mkdir /mnt/gentooboot
# mount -o ro /dev/sda1 /mnt/gentooboot
# cd /mnt/gentooboot
# tar czvf /media/data/gentoo-last-back/gentoo-raiz-boot-usr-home-portage/gentoo_25_01_2012/gentoo-boot_25_01_2012.tar.gz *
# umount /mnt/gentooboot

# mkdir /mnt/gentoohome
# mount -o ro /dev/sda10 /mnt/gentoohome
# cd /mnt/gentoohome
# tar czvf /media/data/gentoo-last-back/gentoo-raiz-boot-usr-home-portage/gentoo_25_01_2012/gentoo-home_25_01_2012.tar.gz --exclude=lost+found *
# umount /mnt/gentoohome

# mkdir /mnt/gentooportage
# mount -o ro /dev/sda11 /mnt/gentooportage
# cd /mnt/gentooportage
# tar czvf /media/data/gentoo-last-back/gentoo-raiz-boot-usr-home-portage/gentoo_25_01_2012/gentoo-portage_25_01_2012.tar.gz --exclude=distfiles --exclude=packages *
# umount /mnt/gentooportage

# mkdir /mnt/gentoousr
# mount -o ro /dev/sda8 /mnt/gentoousr
# cd /mnt/gentoousr
# tar czvf /media/data/gentoo-last-back/gentoo-raiz-boot-usr-home-portage/gentoo_25_01_2012/gentoo-usr_25_01_2012.tar.gz *
# umount /mnt/gentoousr

En el momento de recuperar partición a partir de un respaldo:

# mkfs.ext3 /dev/sda3
# mkdir /mnt/gentooraiz
# mount /dev/sda3 /mnt/gentooraiz
# cd /mnt/gentooraiz
# tar xvzf /media/data/gentoo-last-back/gentoo-raiz-boot-usr-home-portage/gentoo_25_01_2012/gentoo-raiz_25_01_2012.tar.gz

ls -l /dev/disk/by-label/
total 0

lrwxrwxrwx 1 root root 10 2012-02-12 08:42 boot -> ../../sda1
lrwxrwxrwx 1 root root 10 2012-02-12 08:42 data -> ../../sda7
lrwxrwxrwx 1 root root 10 2012-02-12 08:42 gentoo -> ../../sda3
lrwxrwxrwx 1 root root 11 2012-02-12 08:42 home_gentoo -> ../../sda10
lrwxrwxrwx 1 root root 11 2012-02-12 08:42 portage -> ../../sda11
lrwxrwxrwx 1 root root 10 2012-02-12 08:42 squeeze -> ../../sda2
lrwxrwxrwx 1 root root 10 2012-02-12 08:42 squeeze_home -> ../../sda6
lrwxrwxrwx 1 root root 10 2012-02-12 08:42 ubuntu -> ../../sda9
lrwxrwxrwx 1 root root 10 2012-02-12 08:42 usr_gentoo -> ../../sda8

Linux es genial!.

miércoles, 21 de abril de 2010

Comando tar

La utilidad tar para archivar.
Tar crea archivos de los ficheros, incluida su estructura, en cualquier tipo de soporte, incluido en otro fichero con extensión .tar. El archivo así creado puede extenderse a varios volúmenes. Su sintaxis es:
tar cvf archivo.tar fichero(s)

gentoo ~ $ tar cvf xtecat.tar xtecat/
xtecat/
xtecat/net-win
xtecat/netcat.txt
xtecat/traceroute
xtecat/192.168.1.1
xtecat/xtecat
xtecat/nudge.txt
xtecat/whois.txt
xtecat/nmap
xtecat/xtecports
  • -c creacion de archivo
  • -v muestra lo que hace
  • -f el siguiente parámetro es el nombre del archivo
gentoo ~ $ ls -l xtecat.tar
-rw-r--r-- 1 gentoo users 30720 abr 21 10:00 xtecat.tar

Listar el contenido el archivo creado con anterioridad:

gentoo ~ $ tar tvf xtecat.tar
drwxr-xr-x gentoo/users      0 2010-02-09 14:42 xtecat/
-rw-r--r-- gentoo/users    245 2010-02-02 23:01 xtecat/net-win
-rw-r--r-- gentoo/users   1934 2010-02-02 22:38 xtecat/netcat.txt
-rw-r--r-- gentoo/users   2726 2010-02-01 06:04 xtecat/traceroute
-rw-r--r-- gentoo/users    172 2010-02-09 14:42 xtecat/192.168.1.1
-rw-r--r-- gentoo/users   2931 2010-02-01 05:30 xtecat/xtecat
-rw-r--r-- gentoo/users     15 2010-02-02 22:36 xtecat/nudge.txt
-rw-r--r-- gentoo/users   4241 2010-02-09 13:02 xtecat/whois.txt
-rw-r--r-- gentoo/users   5159 2010-02-02 22:48 xtecat/nmap
-rw-r--r-- gentoo/users    481 2010-02-09 14:39 xtecat/xtecports

Restaurar el contenido del archivo anterior:
gentoo ~ $ tar xvf xtecat.tar
xtecat/
xtecat/net-win
xtecat/netcat.txt
xtecat/traceroute
xtecat/192.168.1.1
xtecat/xtecat
xtecat/nudge.txt
xtecat/whois.txt
xtecat/nmap
xtecat/xtecports

Tar permite gestionar los formatos de compresión directamente
  • z - comprime el archivo al formato gzip
  • Z - comprime el archivo al formato compress
  • j - comprime el archivo al formato bzip2
Para el formato de compresión gzip, siguiendo con el ejemplo anterior:
gentoo ~ $ tar cvzf xtecat.tar.gz xtecat/
xtecat/
xtecat/net-win
xtecat/netcat.txt
xtecat/traceroute
xtecat/192.168.1.1
xtecat/xtecat
xtecat/nudge.txt
xtecat/whois.txt
xtecat/nmap
xtecat/xtecports

gentoo ~ $ ls -l xtecat.tar*
-rw-r--r-- 1 gentoo users 30720 abr 21 10:00 xtecat.tar
-rw-r--r-- 1 gentoo users  7008 abr 21 11:19 xtecat.tar.gz

Pueden utilizarse las opciones de compresión con c, t, x. En caso de un soporte que gestiona por sí mismo la compresión es preferible no especificar una opción de compresión.

Si desea guardar compatibilidad con los parámetros por defecto de tar o si comprime su archivo para destinarlo a otros sistemas, puede utilizar:

gentoo ~ $ gzip -cd xtecat.tar.gz | tar xvf -

El - final indica a tar que debe recuperar el flujo por la entrada standar. El parámetro -d le dice a gzip que debe descomprimir el fichero y -c pasa el resultado por la salida standar.

Linux es genial.