Situando el espacio en disco

Esquemas de particionamiento

No es fácil particionar un disco de la mejor manera posible. Peor incluso, no existe una forma universal correcta de hacerlo; hay demasiados factores involucrados.

La forma tradicional es tener un sistema de archivos raíz (relativamente) pequeño, que contenga /bin, /etc, /dev, /lib, /tmp, y otros elementos necesarios para mantener al sistema activo y funcionando. De esta forma, el sistema de archivos raíz (en su propia partición o en su propio disco) es todo lo que se necesita para levantar el sistema. La razón es que si el sistema de archivos raíz es lo suficientemente pequeño y no se utiliza intensamente, es menos probable que se corrompa cuando el sistema se caiga, y por lo tanto encontrará más sencillo solucionar cualquier problema causado por la caída. Entonces se crean particiones separadas o se utilizan discos independientes para el árbol de directorios bajo /usr, los directorios hogar de los usuarios (generalmente bajo /home), y el espacio de intercambio. Separar los directorios hogar (con los archivos de los usuarios) en su propia partición facilita las copias de seguridad, ya que no es necesario guardar los programas (que residen bajo /usr). En un entorno de red es posible compartir /usr entre varias máquina (por ejemplo utilizando NFS), disminuyendo por tanto el espacio total requerido en algunas decenas o cientos de megabytes según número de máquinas.

El problema de tener varias particiones es que fracciona el espacio total de espacio libre en varios trozos pequeños. Hoy en día, con disco y (afortunadamente) sistemas operativos más fiables, mucha gente prefiere tener una única partición que contenga todos sus archivos. Por el otro lado, es menos doloroso guardar (y restaurar) una partición pequeña.

Para un disco duro pequeño (suponiendo que no realice desarrollo del núcleo), la mejor manera es probablemente tener una única partición. Para discos grandes, es seguramente mejor tener algunas particiones grandes, por si acaso algo va mal. (Tenga en cuenta que "pequeño" y "grande" se utilizan aquí en sentido relativo; sus necesidades de espacio en disco deciden cuál es el límite.)

Si tiene varios discos, puede querer tener el sistema de archivos raíz (incluido /usr) en uno, y los directorios de usuarios en otro.

Es buena idea estar preparado para experimentar un poco con diferentes esquemas de particionamiento (siempre, no sólo a primera hora al instalar el sistema). Esto requiere un poco de trabajo, ya que es necesario que instale el sistema desde cero varias veces [25][18] , pero es la única forma de asegurarse de que se hace bien.

Requerimientos de espacio

La distribución Linux que usted instala le dará alguna indicación sobre cuánto espacio en disco necesita para varias configuraciones. Los programas instalados independientemente también harán lo mismo. Esto le ayudará a planificar el uso del espacio en disco, pero debe estar preparado par el futuro y reservar algún espacio extra para cosas que luego se dará cuenta que necesitaba.

La cantidad que necesita para archivos de usuario depende de qué quiere que hagan los usuarios. La mayoría de la gente parece necesitar cuanto más espacio sea posible para sus archivos, pero la cantidad con la que ellos vivirán a gusto varía mucho. Algunos sólo realizan procesamientos de texto ligero y pueden sobrevivir con unos pocos megabytes, mientras que otros realizan procesados de imagen y necesitan gigabytes.

Por cierto, cuando se comparan tamaños de archivo dados en kilobytes o megabytes con espacio en disco dado en megabytes, es importante saber que las dos unidades pueden ser diferentes. Algunos fabricantes de discos fingen que un kilobyte son 1000 bytes y un megabyte son 1000 kilobytes, mientras que el resto del mundo que utiliza ordenadores utiliza 1024 para ambos factores. Por lo tanto, mi disco duro de 345 MB es en realidad un disco de 330 MB.

La ubicación de espacio de intercambio se encuentra explicada en la Sección 7.5 “ Alocando espacio de swap.”.

Ejemplos de colocación de disco duro

Yo solía tener un disco duro de 109 MB. Ahora uso uno de 330 MB. Explicaré cómo y por qué particioné estos discos.

El disco de 109 MB lo particioné de varias formas, a medida que mis necesidades y los sistemas operativos que utilizaba cambiaban; explicaré dos situaciones típicas. Primero, solía ejecutar MS-DOS junto con Linux. Para ello, necesitaba unos 20 MB de disco duro, o lo suficiente para tener MS-DOS, un compilador de C, un editor, unas pocas de otras utilidades, el programa en el que estaba trabando, y suficiente espacio libre para no sentirme claustrofóbico. Para Linux, tenía una partición de intercambio de 10 MB, y el resto, 79 MB, era una única partición con todos los archivos que tenía bajo Linux. Experimenté con tener independientes las particiones raíz, /usr, /home, pero no había nunca suficiente espacio libre en un trozo para hacer nada interesante.

Cuando no necesité más de MS-DOS, reparticioné el disco de manera que tenía 12 MB de partición de intercambio, y de nuevo tuve el resto en un único sistema de archivos.

El disco de 330 MB está particionado en varias particiones, así:

5 MBsistema de archivos raíz
10 MBpartición de intercambio
180 MBsistema de archivos /usr
120 MBsistema de archivos /home
15 MBpartición improvisada

La partición improvisada es para jugar con cosas que necesitan su propia partición, como por ejemplo probar distribuciones de Linux, o comparar la velocidad de los sistemas de archivos. Cuando no se necesita para nada más, se utiliza como espacio de intercambio (me gusta tener un montón de ventanas abiertas). [26] [19]

Añadir más espacio en disco para Linux

Añadir más espacio en disco para Linux es fácil, al menos después de que el hardware se ha instalado correctamente (la instalación de hardware queda fuera de los objetivos de este libro). Se formatea si es necesario, luego se crean las particiones y sistemas de archivos como se ha descrito más arriba, y se añaden las líneas adecuadas en /etc/fstab para que se monte automáticamente.

Consejos para liberar espacio en disco

El mejor consejo para liberar espacio en disco es evitar instalar programas innecesarios. La mayoría de distribuciones Linux tienen una opción para instalar únicamente parte de los paquetes que contienen, y analizando sus necesidades puede darse cuenta que no necesita la mayoría de ellos. Esto le ayudará a liberar mucho espacio en disco, ya que muchos programas son grandes. Incluso si necesita un paquete o programa determinado, puede que no lo necesite entero. Por ejemplo, alguna documentación en línea puede ser innecesaria, como puede ser algunos de los archivos Elisp de GNU Emacs, algunas fuentes para X11, o algunas de las librerías para programar.

Si no se pueden desinstalar paquetes, se puede intentar comprimirlos. Los programas de compresión, como el gzip o zip, comprimen (y descomprimen) archivos individuales o grupos de archivos. El sistema gzexe comprime y descomprime programas de forma transparente para el usuario (programas no usados son comprimidos, y luego descomprimidos cuando ellos son usados). El sistema experimental DouBle comprime todos los archivos en un filesystem, de forma invisible para los programas que los usan. (Si está familiarizado con productos como el Stacker para MS-DOS or DriverSpace para Windows, el principio es el mismo.)



[18] This is not actually true, it is possible to move partitions and mountpoints without reinstalling, but it is (currently) beyond the scope of this book to explain how. It is on the TODO list to write a section on this. If you have experience and knowledge in this area then perhaps you could write it for me and save me the bother? :)

[19] This section is somewhat out of date. Most people these days have disks that stretch into the multiple Gigabytes. It is still quite scalable (just multiply by some factor to make it fit your hardware) for the moment though, updating it to take account of larger disks is planned.