Showing posts with label almacenaje. Show all posts
Showing posts with label almacenaje. Show all posts

Thursday, December 24, 2015

Extender tu partición / (root) sin herramientas gráficas; parte III.

Una vez me conecté, hice lo siguiente:

# df -h
Filesystem      Size  Used Avail Use% Mounted on
dev             3.7G     0  3.7G   0% /dev
run             3.7G  508K  3.7G   1% /run
/dev/sda1        15G  3.4G   11G  25% /
tmpfs           3.7G     0  3.7G   0% /dev/shm
tmpfs           3.7G     0  3.7G   0% /sys/fs/cgroup
tmpfs           3.7G     0  3.7G   0% /tmp
tmpfs           742M     0  742M   0% /run/user/0

Mi directorio root sigue mostrándose como de 11GB. Eso es porque df -h muestra el directorio donde está montada la partición, no la partición como tal. Por eso, volvemos a usar fdisk -l para mostrar las particiones:

# fdisk -l
Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000bcc1a

Device     Boot Start      End  Sectors Size Id Type
/dev/sda1        2048 62916607 62914560  30G 83 Linux

Cómo podés ver, los cambios sí tuvieron efecto en la partición, pero el tamaño del directorio (filesystem) sigue siendo de 15GB; hace falta redimensionar el filesystem. 

Como podés ver, mi unidad de almacenamiento mide 111.8 (un SSD de 110GB), y la partición ya reporta mis 30GB... pero mi filesystem de root (o sea, el sistema de directorio de root) sigue siendo de 15GB. Debo de extender el tamaño del filesystem; lo hago con esta herramienta: resize2fs.

NOTA: resize2fs redimensiona los filesystems en formato ext2, ext3, ext4. Puede encoger o extender el filesystem si se accede desde fuera del sistema operativo (como una imagen en vivo, por ejemplo, o si tenés el disco duro conectado como "slave" o secundario/adicional en otro equipo); pero si estás corriendo desde el sistema operativo, sólo vas a poder extender el filesystem en cuestión, no encogerlo. A esto se le llama "online resizing", entre otras. Encontré resize2fs en Elementary y Arch; no tuve que instalar nada adicional para usarle.

Vamos entonces a hacer la expansión del filesystem de root, en la partición correspondiente (df -h te dice cuál es la partición correspondiente, recordalo); en mi caso:

# resize2fs /dev/sda1
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/sda1 is now 7864320 (4k) blocks long. (mensaje de la felicidad :D )

Y confirmo cambios en el tamaño del directorio:

# df -h
Filesystem      Size  Used Avail Use% Mounted on
dev             3.7G     0  3.7G   0% /dev
run             3.7G  508K  3.7G   1% /run
/dev/sda1        30G  3.4G   25G  12% /
tmpfs           3.7G     0  3.7G   0% /dev/shm
tmpfs           3.7G     0  3.7G   0% /sys/fs/cgroup
tmpfs           3.7G     0  3.7G   0% /tmp
tmpfs           742M     0  742M   0% /run/user/0



¡LISTO! ya tenés más espacio en el directorio y partición de root :D :D :D  Ya podés seguir descargando porno y tonterías en tu partición. 

Extender tu partición / (root) sin herramientas gráficas; parte II.

Entonces, ya determinaste cuánto espacio más podés/querés adicionar a tu partición de root. Ahora hay que agregarlo. 

¿Cómo lo hago? fácil; para agregar más espacio a la partición de root, borrás la partición de root. ¿Ah? La borrás y luego la recreás con el nuevo espacio total. Si comenzaba en 7GB y querés que sea de 25GB entonces la recreás con 25GB en total. 

¿Estás seguro? ¿no me voy a cagar en todo? Sí, estoy seguro; y no, no te vas a cagar en todo; todo va a estar bien SI y sólo SI el primer sector de la nueva partición coincide con el primer sector de la nueva partición
Ahora, asumo  que vos sos un ser humano responsable y que sabés cómo usar el papel higiénico de forma apropiada y de la misma forma sabés cómo respaldar tus datos... pero como no lo sé con certeza y no me interesa, dejo este disclaimer amigable: yo no soy responsable de cualquier cagada que le hagás a tu equipo. Respaldá tu info primero.

Procedemos: 

# fdisk /dev/sda

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d (esto borra la partición)
Selected partition 1
Partition 1 has been deleted.

Command (m for help): n (hacemos la nueva partición)
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p (por supuesto que primaria)
Partition number (1-4, default 1): (la tecla "enter" acepta el valor default)
First sector (2048-234441647, default 2048):  (la tecla "enter" acepta el valor default)
Last sector, +sectors or +size{K,M,G,T,P} (2048-234441647, default 234441647): +30G (el nuevo espacio que quiero; el tuyo puede ser distinto. Si lo querés en megas, usá M y la cantidad apropiada; probablemente tendrás que usar unidades/decenas/centenas de millares)

Created a new partition 1 of type 'Linux' and of size 30 GiB.

Command (m for help): w (escribe y guarda cambios)
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy
(no te asustés, el de arriba es una advertencia lógica y normal)
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

# reboot 0 
(es un número cero, significa: reiniciá ya, saltate la cuenta del minuto y medio)
Esto fue lo que hice hace un par de horas. 
Podría explicarte cada línea, pero es extendernos y además, estoy seguro que si te interesa, vas a traducirlas por tu cuenta o usar un traductor. Ya en la otra parte explico cómo concluir esto. 

Extender tu partición / (root) sin herramientas gráficas; parte I.


PARA ENTENDER este artículo, te sugerimos aprender los conceptos de filesystem, directorio, particiones y documentación adicional sobre fdisk.

Si te atreviste a configurar manualmente tus particiones cuando instalaste tu distro, probablemente te preguntaste ¿cuánto espacio necesito para mi partición root? ¿cuántas particiones necesito? ¿cuánto espacio asigno  a una partición swap? 

Todas estas preguntas ya tienen respuesta en las wikis y documentos oficiales de cada distro. Para usuarios expertos, determinar cuánto espacio debe de ser asignado a qué, es fácil. Para los n00bs totales, también porque dejan que los instaladores lo hagan todo por ellos. 

Pero para los que estamos aprendiendo en el ruedo, puede que esas respuestas no nos ayuden totalmente y necesitemos un poco de flexibilidad; tal vez por error o por desconocimiento, asignamos manualmente espacio suficiente para instalar el sistema base y conforme instalamos más paquetes, vemos que nos quedamos sin espacio adicional en la partición, aun teniendo espacio extra en nuestro disco. Si ese sos vos, te explicamos cómo agrandar/estirar/alargar tu partición root vía Terminal, mientras tu sistema operativo está corriendo. A esto se le conoce como LIVE/ONLINE ROOT PARTITION RESIZING o "redimensionamiento de la partición root en vivo/en línea".

PREGUNTA IMPORTANTE ¿por qué habría de usar este método cuando existe Gparted o cuando puedo usar una imagen en vivo desde  un CD/USB? Porque tal vez estás aprendiendo de admiministración de sistemas o corriendo un servidor como en mi caso, o tal vez ya sos un administrador y tenés un servidor de producción al que forzosamente necesitás extenderle el root; o puede que no dispongás de otro sistema o imagen, o simplemente porque sos jarcor (hardcore) y querés aprender a hacerlo sin usar interfaces gráficas (GUIs). Si este es tu caso, seguí leyendo. De otra forma, buscá en línea cómo  usar Gparted, que es más fácil y apropiado para usuarios que no se sienten cómodos trabajando en Terminal porque no tienen el conocimiento y/o no desean aprender a usarla.


Entradas populares.