Spiga
Mostrando entradas con la etiqueta particiones. Mostrar todas las entradas
Mostrando entradas con la etiqueta particiones. Mostrar todas las entradas

Redimensionando particiones

Hoy vamos a poner un tutorial que me ha hecho llegar Isaac Chavarría (ikeeki en Cubieforums) sobre el redimensionado de particiones. Muchas veces te habrás encontrado que al bajar un fichero "img" para Raspberry o Cubieboard está preparado para una SD mayor a lo que tenías pensado utilizar, por lo que únicamente tenías la opción de comprar una tarjeta de tal capacidad... hasta ahora.

El tutorial es una traducción del original posteado aquí, pero no va a haber problemas contando que Isaac es español y que la traducción la ha hecho él mismo ;)

Sin más os dejo con el "howto".

REQUISITOS GENERALES: 
  • Una máquina con Linux.
  • Realizar una copia de seguridad de la SD a reducir/aumentar. 
  • Tener GParted instalado.
Primero realizaremos la copia de seguridad de nuestra tarjeta. Para ello utilizaremos dd y el formato "img". Escribimos lo siguiente en terminal (requiere permisos de root):


dd if=/dev/unidad of=/destino/nombredelbackup.img bs=1M


Por ejemplo, suponiendo que mi unidad fuese "sdb" y el destino mi carpeta de usuario:


dd if=/dev/sdb of=/destino/nombredelbackup.img bs=1M


EXPANDIENDO PARTICIÓN:

La parte fácil. La microSD con el S.O. debe estar conectada mediante un lector a la PC. Normalmente y tratándose de Raspberry Pi o Cubieboard, el sustema nombrará a sus particiones como sdb1 y sdb2 si no tienemos más unidades conectadas que la propia donde ejecutamos nuestro sistema operativo (nuestro disco duro).

Si no estás seguro puedes ver un listado de particiones ejecutando el siguiente comando:

Abre GParted, ve a botón redimensionar/eliminar, arrastra lo que quieras la barra hacia tu derecha aplica cambios y ya está hecho.

También puedes hacer uso del siguiente script de consola.

ENCOGIENDO PARTICIÓN:

Lo primero que tenemos que tener en cuenta para hacer un "shrink" de la partición es que haya menos datos ocupados en dicha partición que el tamaño de la nueva que vamos a realizar. Obvio, un litro de agua no cabe en una taza de té (al menos en España). Procura dejar un margen de unos 100 MiB extra, por si acaso.

Primero ejecutaremos en consola lo siguiente:

df -h 

Así nos haremos una idea de los espacios ocupados. Suponiendo que rootfs está montado en sdb2 (como siempre), usamos en terminal con permisos de administrador:
umount /dev/sdb1 /dev/sdb2

Que desmontará las particiones en uso del sistema. Ahora pasamos a redimensionar sdb2 con resize2fs:

fsck -f /dev/sdb2
resize2fs /dev/sdb2 3800M


Uso 3800M como ejemplo, como si quisieras encoger el contenido (3,5GB) de una SD de 8GB para que lo puedas copiar en una SD de 4GB y te ahorres la de 8GB para las fotos de la boda de tu primo.

¡¡¡ATENCIÓN!!! las tarjetas SD son normalmente más pequeñas que lo que dice el fabricante, por ejemplo:

Kingston sdcard: 3904 MB, 3904897024 bytes
Trascend sdcard: 3963 MB, 3963617280 bytes

Ahora desmonta todos los dispositivos y abre de nuevo GParted. Al principio solo te permitirá reducir el tamaño de la partición (botón redimensionar/eliminar) más de unos pocos megas, pero hazlo de todas formas.

Captura de pantalla de GParted


Cierra GParted y reábrelo o simplemente refresca dispositivos. ¡Sorpresa! Ahora puedes reducirlo hasta lo que tenías planeado. Acuérdate de dejar al menos 100 MiB libres. Fíjate que tienes un montón de espacio muerto "unallocated" en la parte derecha de la barra, una no tocada (sdb1) y una reducida (sdb2) en medio que debería caber en la nueva SD.

Para finalizar apunta los bloques en información de sdb2, que nos servirá para saber cuanto ocupan. También puedes ir a terminal y escribir:

fdisk -l


Y anotar los bloques utilizados. Por ejemplo mi salida ha sido:

Disco /dev/sdb: 7882 MB, 7882145792 bytes
243 cabezas, 62 sectores/pista, 1021 cilindros, 15394816 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x00062524

Dispositivo Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sdb1            2048       30719       14336    c  W95 FAT32 (LBA)
/dev/sdb2           30720     7567359     3768320   83  Linux
root@ikeeki-Extensa-5635Z:/home/ikeeki#

Usa 3768320 bloques.

Nos vamos a quedar con la cantidad de bloques, en este caso 3768320. Ahora haz una imagen o flashea la nueva (y más pequeña SD) con los bloques de uno de los métodos anteriores.

Para hacer la imagen, y siguiendo ejemplo anterior:

dd if=/dev/sdb of=/home/ikeeki/Escritorio/cubiuntu4.0b.img bs=1k count=3768320
 

Para flashear una nueva SD, llamada sdc (recuerda que puedes ver nombre con fdisk -l)


dd if=/dev/sdb of=/dev/sdc  bs=1k count=3768320


Y con esto ya tendríamos solucionada la papelete. Por último recuerda tener mucho cuidado con los dispositivos que escribes, puesto que un desliz puede dejarte sin información en un disco duro.


Y hasta aquí con el tutorial cedido por Isaac, al que aprovecho una vez más a darle las gracias por su colaboración y buen rollo que estamos teniendo en el desarrollo tanto de Cubiuntu como Cubieez.

Instalando Webmin (control remoto por web)

¡Ya estamos de vuelta! Hoy os traigo un tutorial que va a hacer las delicias de todos: la instalación de Webmin. En el análisis al modelo de 512 MB de la Raspberry Pi ya lo usé para enseñaros el uso de memoria y comenté que os enseñaría a instalarlo y, posteriormente, a utilizarlo.

Webmin es un configurador de sistemas Unix, a través de web, que facilita enormemente el trabajo de administración de una máquina. Entre sus ventajas destacan el poder gestionar la máquina, sin necesidad de grandes conocimientos de comandos de administración de la shell o de los ficheros implicados en determinadas configuraciones, a través de HTTPS. Lógicamente si podemos administrar y configurar a través de web, podremos hacerlo de forma remota sin necesidad de tener pantalla, estar en casa o delante de la máquina.



Entre las funciones más destacables que podremos utilizar están:
  • Conexiones SSH desde el propio Webmin
  • Subidas y bajadas remotas de ficheros
  • Tareas programadas (cronjobs)
  • Edición sencilla de fstab para automontar unidades
  • Usuarios y grupos
  • Gestor de ficheros
  • Envio de comandos a consola
  • Gestión y visualización de "logs" del sistema
  • Configuración y monitorización de red
  • Configuración de cortafuegos (iptables)
  • Configuración de servidor de correo (en mi caso de POSTFIX)
  • Etcétera
Son tantísimas las opciones de las que dispone que es difícil resumirlas en las más importantes, ya que todas lo son en su medida.

El tutorial que vamos a ver es totalmente válido para cualquier distribución basada en Debian (en mi caso voy a hacerlo en Debian Wheezy en mi Raspberry Pi) y puede realizarse de dos formas distintas: manual o automática. Personalmente me gusta más hacerlo de forma "automática", porque vamos a incluir el repositorio del programa en nuestro fichero de orígenes de software (sources.list). De otra manera deberíamos preocuparnos nosotros de buscar nuevas versiones e instalarlas, pudiendo ser vulnerables a exploits descubiertos en el programa hasta que no actualizásemos.

1.- Añadiendo orígenes:

Lo primero que vamos a hacer es añadir la clave GPG con la que está firmado el repositorio. Para ello abriremos una terminal y escribiremos lo siguiente desde nuestro directorio de usuario:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
rm jcameron-key.asc

Y ahora añadiremos el repositorio a nuestro fichero de orígenes de software. Para ello, y otra vez en la terminal, escribiremos lo siguiente:

sudo nano /etc/apt/sources.list

Y al final agregamos la siguiente línea:

deb http://download.webmin.com/download/repository sarge contrib

Debería estar para Wheezy, pero únicamente tienen para Sarge (aunque funciona igual de bien :P). Ahora ya podemos actualizar e instalar los paquetes necesarios con:

sudo apt-get update
sudo apt-get install webmin

Ya tenemos Webmin instalado y corriendo en nuestra máquina. Enhorabuena.

2.- Configuración básica

Ahora que ya tenemos instalado Webmin, vamos a hacer un par de modificaciones en su configuración para que se adapte mejor a nuestras necesidades. Básicamente cambiaremos el idioma a Español y lo dejaremos preparado para los próximos tutoriales que voy a ir poniendo, que entre ellos ya estoy preparando alguno que otro muy interesante. ;)

Para entrar en Webmin de forma local (es decir, desde nuestra propia red) bastará con abrir el navegador  en otro ordenador e introducir lo siguiente:

https://ipRasperry:10000

Por ejemplo, mi Raspberry está configurada con IP 192.168.1.123, por lo tanto sería:

https://192.168.1.123:10000

Es importante usar https, ya que vamos a realizar una conexión segura en vez del protocolo plano de HTTP. Recordad que si no sabéis la IP de vuestra Raspberry podéis verla ejecutando lo siguiente en una terminal:

ifconfig

En el caso que conectáramos a través de un adaptador inalámbrico sería:

iwconfig

Por si algún despistado aún va con IP dinámica, os recuerdo que hay un fabuloso tutorial para novatos en el blog que os servirá, entre otras cosas, para fijar una IP estática a vuestra Raspberry Pi. Una vez dentro nos pedirá un nombre de usuario y contraseña. Son los mismos credenciales que usas para entrar en tu Raspberry, por lo tanto (y por defecto) son pi y raspberry si estás usando Raspbian Wheezy.

ATENCIÓN: Es muy importante que a éstas alturas tu contraseña de usuario no sea la de por defecto, de lo contrario te arriesgas a que tu Raspberry pase a ser de "dominio público". Si aún no has cambiado tu contraseña házlo de forma inmediata.

Una vez dentro veremos la siguiente pantalla:

Pantalla de inicio de Webmin


Si existe alguna actualización te recomiendo que la realices. Es tan fácil como pinchar en el mensaje que aparece justo debajo (en mi caso me dice que todos los paquetes están al día). Para hacer las cosas más fáciles vamos a poner Webmin en Español, para ello nos vamos a la columna de la izquierda y en la sección "Webmin" vamos a "Change Language and Theme". Supongo que es de lógica que para ponerlo en Español hay que seleccionarlo de la lista, pero por si acaso hay que ir a "Webmin UI language" y en "Personal choice" marcar el idioma que queráis. También existe posibilidad de cambiar el tema a través de "Webmin UI theme", pero personalmente me gusta el que lleva. Una vez que lo tengamos listo pulsaremos en "Make changes" y nos esperaremos a que todo se reinicie.

Como Webmin tiene tantísimas opciones, menús, submenús y configuraciones, lo que haré en las próximas semanas será ir viendo, a través de implementar mejoras en nuestra Raspberry, cada una de éstas opciones. La ventaja que tendremos será que no necesitaremos ser usuarios "expertos" en Linux para poder ajustar opciones como el automontado de discos en el sistema, parado y control de servicios, particionado de unidades, configuración de dispositivos, compartición por red y prácticamente todo lo que puede realizar tu Raspberry con una distribución Linux.

Por el momento os recomiendo ir mirando un poco aquellas opciones que conozcáis mejor, sin meteros demasiado a fondo o sin aplicar cambios si no sabéis qué es lo que estáis haciendo. En todo caso nunca está de más hacer una copia de seguridad de vuestra SD por si acaso. ;)

Por el momento os estoy preparando un tutorial que os va a encantar y que realizaremos con la ayuda de Webmin: montaje de disco externo automático y con permiso de escritura para usuarios y reindexado automático del contenido del mismo en el servidor DLNA que montamos hace poco, gracias a las tareas programadas. Este tutorial nos va a permitir conocer un poquito más un fichero muy importante en el arranque de nuestro sistema (fstab) y la automatización de tareas (cronjobs). No os lo perdáis, porque va a estar muy, pero que muy interesante.

Por si os ha sabido a poco os haré otro avance del segundo tutorial que haremos con Webmin: mover el sistema de ficheros (rootfs o /) a un disco duro externo consiguiendo un rendimiento muy superior al de la SD y un desgaste mínimo de la vida de ésta. Os dejo una captura de mi sistema de archivos para que veáis como he movido la raíz a un disco externo:

Root Filesystem cargado en disco externo (partición de 4 GB clonada de SD)

Recordaros antes de acabar que podéis seguirme en Twitter en @drkbcn. También os recomiendo a @TelecoBosco con los que podréis aprender más sobre Linux / Raspberry Pi y estar al día de las novedades de la misma (felicito profesores y alumnos por la iniciativa) no sin olvidarme de @Farnell_ES que me han apoyado desde el primer momento con los tutoriales y que, llevan unos días dándonos buenas noticias desde la #elec12, como la exclusividad de PiFace.

¡Gracias una vez más a todos y nos leemos de nuevo en apenas unos días!