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.
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.”.
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 MB | sistema de archivos raíz |
10 MB | partición de intercambio |
180 MB | sistema de archivos /usr |
120 MB | sistema de archivos /home |
15 MB | partició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 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.
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.