viernes, 26 de agosto de 2011

Como redimensionar la swap en Debian 6

Verificamos si esta activada la swap:

free

             total       used       free     shared    buffers     cached
Mem:       1027264      64220     963044          0       6012      19464
-/+ buffers/cache:      38744     988520
Swap:       522232          0     522232

Antes que nada hay que desactivarla:

sudo swapoff -a

free

             total       used       free     shared    buffers     cached
Mem:       1027264      63388     963876          0       5984      18732
-/+ buffers/cache:      38672     988592
Swap:            0          0          0

Comprobamos en que device esta montada la swap mirando el fichero "fstab" de /etc:

cat /etc/fstab

# swap was on /dev/sdj1 during installation
UUID=f8ff33ba-79ad-4fc0-887e-6f701e78fd3d none            swap    sw              0       0

Comprobamos a que device corresponde el UUID:

ls -l /dev/disk/by-uuid/

lrwxrwxrwx 1 root root 10 ago 26 10:18 f8ff33ba-79ad-4fc0-887e-6f701e78fd3d -> ../../sdj1

Comprobamos de cuanto espacio libre disponemos:

sudo parted /dev/sdj print free

Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdj: 1342MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
        32,3kB  1049kB  1016kB           Free Space
 1      1049kB  536MB   535MB   primary  linux-swap(v1)
        536MB   1342MB  806MB            Free Space

Una vez deshabilitada borramos la partición:

sudo parted /dev/sdj rm 1

Creamos una nueva partición incluyendo el sistema de ficheros con:

sudo parted /dev/sdj mkpart primary linux-swap 1049kB 1342MB

Comprobamos como queda la particion:

sudo parted /dev/sdj print free

Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdj: 1342MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system     Flags
        32,3kB  1049kB  1016kB           Free Space
 1      1049kB  1342MB  1341MB  primary  linux-swap(v1)

sudo fdisk -l /dev/sdj

Disk /dev/sdj: 1342 MB, 1342177280 bytes
46 heads, 10 sectors/track, 5698 cylinders
Units = cylinders of 460 * 512 = 235520 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d99d3

   Device Boot      Start         End      Blocks   Id  System
/dev/sdj1               5        5699     1309696   82  Linux swap / Solaris

Generamos la swap:

sudo mkswap /dev/sdj1

Setting up swapspace version 1, size = 1309692 KiB
no label, UUID=7c7cfafe-03b2-4340-9ed3-3bef3a2be6b7

Esto genera un nuevo UUID:

ls -l /dev/disk/by-uuid/

lrwxrwxrwx 1 root root 10 ago 26 10:18 7c7cfafe-03b2-4340-9ed3-3bef3a2be6b7 -> ../../sdj1

Tras esto debemos actualizar la entrada para la swap del fichero "fstab" en /etc:

sudo vi /etc/fstab

# swap was on /dev/sdj1 during installation
UUID=7c7cfafe-03b2-4340-9ed3-3bef3a2be6b7 none            swap    sw              0       0

Una vez actualizado el fichero podemos reactivar la swap y ver como queda:

sudo swapon -a

free

             total       used       free     shared    buffers     cached
Mem:       1027264      66000     961264          0       6132      20704
-/+ buffers/cache:      39164     988100
Swap:      1309688          0    1309688

sábado, 20 de agosto de 2011

Como buscar exclusivamente los ficheros y directorios ocultos con find

find . -regex '.*/\..*'

La expresión regular '.*/\..*' se puede interpretar como:

.* - cualquier cadena de caracteres
/  - barra
\. - punto
.* - cualquier cadena de caracteres

Copiar ficheros preservando los atributos

A veces por ejemplo queremos hacer replicas de puntos de montaje como el /usr para después desmontarlo y guarrear con el montando la copia temporalmente. Si decidimos realizar la replica copiando /usr hemos de tener en cuenta los atributos de los ficheros que contiene o mas tarde herramientas como sudo no funcionaran, por lo tanto:

sudo cp --preserve=all -R $origen $destino

viernes, 19 de agosto de 2011

Como redimensionar una partición ext4 sin perdida de datos

Este procedimiento es valido para puntos de montaje por decirlo de algún modo secundarios del sistema, por ejemplo el /srv.

df -h /srv

Filesystem            Size  Used Avail Use% Mounted on
/dev/sdg1             123M  5,6M  111M   5% /srv

Primero desmontamos el punto de montaje del dispositivo en el que se halla montado:

sudo umount /srv

Miramos como esta el asunto y nos anotamos los parámetros "Number" y "Start" de la partición a redimensionar y el parámetro "End" del espacio libre que nos queda:

sudo parted /dev/sdg print free

Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdg: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
        32,3kB  1049kB  1016kB           Free Space
 1      1049kB  133MB   132MB   primary  ext4
        133MB   2147MB  2014MB           Free Space

Borramos la partición y la volvemos a crear usando los parámetros "Start" y "End" que hemos obtenido como referencia:

sudo parted /dev/sdg rm 1
sudo parted /dev/sdg mkpart primary ext4 1049kB 2147MB


Volvemos a mirar como queda:

sudo parted /dev/sdg print free

Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdg: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
        32,3kB  1049kB  1016kB           Free Space
 1      1049kB  2147MB  2146MB  primary  ext4

Obtenemos los bloques de la nueva partición:

sudo fdisk -l /dev/sdg

Disk /dev/sdg: 2147 MB, 2147483648 bytes
22 heads, 16 sectors/track, 11915 cylinders
Units = cylinders of 352 * 512 = 180224 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000486b3

   Device Boot      Start         End      Blocks   Id  System
/dev/sdg1               6       11916     2096128   83  Linux

Chequeamos el sistema de ficheros:

sudo e2fsck -f /dev/sdg1

e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdg1: 15/516096 files (0.0% non-contiguous), 72236/2096128 blocks

Expandimos el sistema de ficheros:

sudo resize2fs /dev/sdg1 2096128

resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/sdg1 to 2096128 (1k) blocks.
The filesystem on /dev/sdg1 is now 2096128 blocks long.

Montamos el sistema de ficheros y miramos como queda:

sudo mount /dev/sdg1 /srv

df -h /srv

Filesystem            Size  Used Avail Use% Mounted on
/dev/sdg1             2,0G  7,0M  1,9G   1% /srv

Como introducir un carácter de nueva linea desde terminal en bash

printf "\n"