¿Desea agregar un nuevo disco duro o unidad de estado sólido a su computadora Linux? Tendrás que editar tu fstab
archivo. Mucha gente encuentra la idea aterradora. Sí, es fundamental que lo hagas bien, pero armado con el conocimiento correcto, realmente no es difícil. Te guíamos a través del proceso de edición de tu fstab
para integrar la nueva unidad en el sistema de archivos.
¿De qué vamos a hablar?
- 1 fstab, la tabla de sistemas de archivos
- 2 Encontrar su nueva unidad
- 3 Identificación de unidades giratorias y no giratorias
- 4 Montaje de los sistemas de archivos
- 5 Comprobación de los soportes
- 6 El archivo fstab
- 7 El archivo mtab
- 8 Búsqueda del UUID de una partición
- 9 Edición del archivo fstab
- 10 Probar fstab sin reiniciar
- 11 No es tan aterrador después de todo
fstab, la tabla de sistemas de archivos
Aunque agregar un nuevo disco duro a una computadora Linux no es demasiado complicado, puede ser un poco confuso la primera vez que lo intente. Conecte el hardware, encienda el equipo e inicie sesión en el sistema operativo. Pero no puede ver su nueva unidad en ninguna parte. ¿Por qué no aparece? ¿Cómo consigues que Linux “vea” la unidad para que puedas empezar a configurarla?
En realidad, Linux tiene vio su hardware, pero no lo anuncia fácilmente. O incluso darle una pista de que ha encontrado su nuevo hardware. Tienes que interrogar a Linux para obtener la información que vas a necesitar poner en tu fstab
archivo.
A continuación, le indicamos cómo configurar su nuevo disco duro para que Linux, y usted, puedan verlo y usarlo. Hay dos partes en el proceso. La primera parte es hacer un reconocimiento para identificar el disco duro y recopilar información sobre él. La segunda parte es la edición del fstab
, utilizando la información que hemos recopilado en la fase de reconocimiento.
Encontrar su nueva unidad
Estamos agregando dos nuevas unidades a este sistema. Uno es un disco duro mecánico (HD) de 32 GB y el otro es una unidad de estado sólido (SSD) de 16 GB.
Necesitamos saber que Linux puede verlos y qué dispositivos de bloque está utilizando Linux para ellos. En sistemas operativos Linux y Unix, un dispositivo de bloque es un archivo especial que actúa como una interfaz para un dispositivo desde el que se pueden leer y escribir datos (a menos que sea de solo lectura). Los dispositivos de bloque a menudo representan una unidad de almacenamiento masivo de algún tipo (por ejemplo, una partición en un disco duro o un CD-ROM. Se crean en el /dev
directorio.
Podemos utilizar el lsblk
comando a Enumerar los dispositivos bloqueados conectado a su computadora Linux.
lsblk
El resultado de lsblk
está en columnas.
Las columnas son:
- Nombre: Este es el nombre del dispositivo. Los nombres de dispositivos que comienzan “sd” y van seguidos de una letra representan Discos duros SCSI. La letra identifica los discos duros individuales, siendo “a” la primera, “b”. siendo el segundo y así sucesivamente. Si hay un número anexado, indica una partición. Por ejemplo, “sdb2” sería la partición 2 en el segundo disco duro SCSI.
- Maj:Min: Esta columna contiene los números mayores y menores del dispositivo. El número principal indica el tipo de dispositivo (o, más precisamente, el tipo de controlador utilizado para hablar con ese dispositivo). El número menor es un recuento del número de dispositivos de ese tipo.
- Micrómetro: Esta columna muestra si el dispositivo es extraíble o no. Tenga en cuenta que el dispositivo
sr0
tiene un valor de 1, lo que indica que es extraíble. Se trata de una unidad de CD-ROM. - Tamaño: Esta es la cantidad de datos que se pueden almacenar en el dispositivo.
- Ro: Esta columna mostrará 1 para dispositivos de solo lectura y 0 para dispositivos de lectura y escritura. El
loop
Dispositivos son todos de solo lectura. - Tipo: Esto identifica el tipo de dispositivo. La entrada “disco” significa una unidad de disco, la entrada “parte” significa partición y “rom” significa Memoria de solo lectura (CD-ROM).
- Punto de montaje: Muestra el punto del sistema de archivos en el que está montado este dispositivo. Si está en blanco, el dispositivo no está montado.
En la captura de pantalla anterior, puede ver que el loop
a todos los dispositivos se les da un número importante de 7 (lo que significa un dispositivo de bucle invertido o bucle), y los números menores simplemente aumentan en 1 cada vez. Los dispositivos de bucle se utilizan con el squashfs
sistema de archivos. Un squashfs
El sistema de archivos se crea cada vez que se instala una aplicación mediante el rápido sistema de gestión de paquetes.
Los discos duros SCSI reciben nombres como sda
, sdb
y sdc
, y todos tienen un número importante de 8 (disco duro SCSI). Los números menores se agrupan en 16. Los números menores para la primera unidad, sda
, de 0 a 15. El 0 representa la unidad física y el número menor de 1 representa la primera partición de esa unidad. Para la segunda unidad, sdb
, los números menores van del 16 al 31. 16 representa el physical drive, y 17 representa la primera partición en esa unidad. Los siguientes 16 números, del 32 al 47, se utilizan para los números menores de sdc
, y así sucesivamente.
Otros números principales comunes son 3 (para un Disco duro IDE) y 11 para CD-ROMS.
En realidad, el /dev/sr0
el estilo para las unidades de CD-ROM SDCSI está en desuso. El formato aprobado es /dev/scd0
. A pesar de eso, el /dev/sr0
El formato todavía estaba en uso en todas las máquinas utilizadas para investigar este artículo.
La documentación del kernel contiene una larga lista de todos los valores que los números mayores y menores pueden tomar. Es una lista sorprendentemente larga.
Para desordenar la salida de lsblk
podemos usar grep
Para seleccionar sólo los artículos de interés a nosotros. Sabemos que no hemos agregado un dispositivo de bucle, así que seleccionemos todos los discos duros SCSI. sabemos que estos tendrán “sd” en sus nombres.
lsblk | grep sd
Este comando causará grep
para imprimir sólo líneas que tienen “sd” en el. En nuestra máquina de prueba, vemos:
Por lo tanto, tenemos tres unidades SCSI. La primera, /dev/sda
, está montado en la raíz del sistema de archivos, /
. Los otros dos no están montados en absoluto, lo que es de esperar para las unidades nuevas. Podemos ver ese impulso /dev/sdb
tiene un tamaño de 32 GB, lo que significa que es nuestra unidad mecánica tradicional. Conducir /dev/sdc
tiene un tamaño de 16 GB, y esta es nuestra unidad SSD.
En realidad, como se trata de una computadora virtual, estos también son discos virtuales. Así que el SSD está apareciendo como una unidad mecánica SCSI. En mi escritorio normal mi NVMe SSD aparece como /dev/nvme0n1
, y la primera partición en él es /dev/nvme0n1p1
. Su número principal es 259. Esas diferencias no cambian lo que tenemos que hacer en el fstab
pero tenga en cuenta que si tiene un SSD, no se mostrará como una unidad física.
Además, sus unidades probablemente no tendrán una partición en ellas si son nuevas. Puedes usar fdisk
para crear una partición si es necesario.
Identificación de unidades giratorias y no giratorias
Si utilizamos el -o
(salida) opción con lsblk
y agregue el ROTA
columna (giratoria) a la pantalla, lsblk
usará un 1 para indicar un dispositivo de almacenamiento giratorio (unidad mecánica) y un 0 para indicar un dispositivo de almacenamiento no giratorio (unidad de estado sólido).
lsblk -o +ROTA | grep sd
Obtenemos una columna adicional a la derecha de la pantalla, que es el ROTA
columna (giratoria). Como puede ver, el “SSD” tiene un 0 para el dispositivo y la partición. Eso tiene sentido porque un SSD es un dispositivo de almacenamiento no giratorio.
Montaje de los sistemas de archivos
Antes de empezar a pensar en el fstab
file, vamos a comprobar que podemos montar las unidades a mano. De esta manera, si algo no funciona cuando usamos el fstab
, sabremos que el problema debe ser nuestra sintaxis y no un problema con la unidad en sí.
Crearemos algunos puntos de montaje temporales en el /mnt
directorio. Tendrás que usar sudo
, y serás se le ha solicitado su contraseña.
sudo mkdir /mnt/scsi
sudo mkdir /mnt/ssd
Ahora montemos la unidad SCSI en el nuevo punto de montaje. Usaremos el mount
en su forma más simple. Le diremos el nombre de la partición queremos montar, y el punto de montaje en el que queremos que esté montado. mount
montará el sistema de archivos en esa partición en el punto de montaje que especifiquemos.
Estamos especificando la partición que contiene el sistema de archivos, no la unidad, así que asegúrese de incluir el dígito de la partición, en este caso, “1”.
sudo mount /dev/sdb1 /mnt/scsi
Si todo va bien, no habrá respuesta de mount
. Se le devuelve silenciosamente al símbolo del sistema.
Montar el SSD es igual de simple. Te contamos mount
en qué dispositivo montar y el punto de montaje en el que montarlo.
sudo mount /dev/sdc1 /mnt/ssd
Una vez más, el silencio es dorado.
Comprobación de los soportes
Para verificar que los montajes han tenido lugar, usaremos lsblk
otra vez. Canalizaremos su salida a través de grep
y seleccione las entradas “sda1”, “sdb2” y “sdc1”.
lsblk -o +ROTA | grep sd[a-c]1
mount
nos muestra las tres particiones montadas. Esos son los dos que acabamos de montar y la partición original montada en /.
La partición /dev/sdb1
está montado en /mnt/scsi
, y está en un dispositivo de almacenamiento giratorio. La partición /dev/sdc1
está montado en /mnt/ssd
y está en un dispositivo de almacenamiento no giratorio. Todo parece estar bien.
Ahora necesitamos configurar el fstab
para que estos dispositivos se monten cada vez que se inicia el equipo.
El archivo fstab
El fstab
contiene una entrada para cada sistema de archivos que se monta cuando se reinicia el equipo. Cada uno entry se compone de seis campos. Los campos son:
- Sistema de archivos: No, como su nombre indica, el tipo de sistema de archivos en la partición (eso es lo que el tipo campo es para). Este es el identificador de la partición que se debe montar.
- Punto de montaje: La ubicación en el sistema de archivos en la que desea montar la partición.
- Tipo: El tipo de sistema de archivos en la partición.
- Opciones: Cada sistema de archivos puede tener opciones especificadas para activar o desactivar la funcionalidad.
- Vertedero: Una referencia a un medio casi obsoleto de hacer copias de seguridad de sistemas de archivos, donde todo el sistema de archivos se “volcó” a la cinta.
- Pasar: Esta es la bandera de “paso”. Le dice a Linux qué particiones deben verificarse en busca de errores usando
fsck
y en qué orden. La partición principal del arranque y del sistema operativo debe ser 1, y el resto se puede establecer en 2. Si la bandera se establece en cero, significa “no verificar en absoluto”. Si su sistema de archivos no es un sistema de archivos de registro en diario (como ext2 o FAT16/32, por ejemplo), es mejor desactivarlo conficándolo en 0.
Estos campos deben especificarse en este orden y deben tener un espacio o una pestaña entre ellos. Encontrar los valores para estos campos puede ser desalentador, particularmente los valores para el campo “opciones”. El campo “opciones” Opciones debe estar en una lista separada por comas sin espacios entre ellas.
El man
para cada sistema de archivos enumerará las opciones que se pueden utilizar. ext4
tiene alrededor de 40 opciones. Estas son algunas de las opciones más comunes:
- Automático: El sistema de archivos se montará en el momento del arranque, automáticamente.
- Noauto: El sistema de archivos sólo se monta cuando se introduce el
mount -a
mandar. - Exec: Se permite la ejecución de binarios en este sistema de archivos.
- Noexec: La ejecución de binarios no está permitida en este sistema de archivos.
- Ro: El sistema de archivos debe montarse como de solo lectura.
- Rw: El sistema de archivos debe montarse como lectura-escritura.
- Sincronizar: Las escrituras de archivos deben realizarse inmediatamente y no almacenarse en búfer. Mejor reservado para disquetes, si alguien todavía los está usando. Incurre en una penalización de rendimiento.
- Async: Las escrituras de archivos deben almacenarse en búfer y optimizarse.
- Usuario: Cualquier usuario puede montar el sistema de archivos.
- Nouser: El usuario root es el único usuario que puede montar este sistema de archivos.
- Defectos: Esta es una forma abreviada de especificar un conjunto de configuraciones comunes: rw, suid, dev, exec, auto, nouser y async).
- Suid: Permite el funcionamiento de la
suid
ysgid
bits. Elsuid
bit se utiliza para permitir que un archivo sea ejecutado como root, por un usuario normal, sin dar al usuario privilegios de root completos. Cuando elsgid
El bit se establece en un directorio, los archivos y directorios creados dentro de ese directorio tienen su propiedad de grupo Establecido en el del directorio, no al grupo del usuario que los creó. - Nosuid: No permitir el uso de la
suid
ysgid
bits. - Noatime: – No actualice los tiempos de acceso a los archivos en el sistema de archivos. Esto puede ayudar al rendimiento en hardware antiguo.
- Nodiratime: No actualice los tiempos de acceso al directorio en el sistema de archivos.
- Relatime: Actualice los tiempos de acceso al archivo en relación con el tiempo de modificación del archivo.
La opción “por defecto” es un buen gambito de apertura. Puede agregar o eliminar más opciones si se requiere algún ajuste fino. Si solo hubiera una forma ordenada de obtener la configuración que necesita, en el orden en que necesita ingresarlos en el fstab
archivo.
Introduzca el mtab
archivo.
El archivo mtab
El mtab
archivo es la lista de Sistemas de archivos montados actualmente. Esto contrasta con el fstab
que enumera los sistemas de archivos que deben montarse en el momento del arranque. El mtab
incluye sistemas de archivos montados manualmente. Ya hemos montado nuestras nuevas unidades, por lo que deberían aparecer en el mtab
archivo.
Podemos ver el contenido de la mtab
archivo utilizando cat
. Restringiremos la salida canaleándola a través de grep
y mirando /dev/sdb1
y /dev/sdc1
solamente.
cat /etc/mtab | grep sd[b-c]1
La salida muestra el mtab
entradas para estas dos particiones.
Podríamos levantar esos valores y dejarlos caer.ght en el fstab
, asegurándose de que haya un espacio o una pestaña entre cada campo. Y eso sería todo. Las unidades se montarían cuando reiniciáramos.
Hay dos advertencias al respecto. Uno es el punto de montaje. Creamos puntos de montaje temporales solo para demostrar que podíamos montar las nuevas particiones en las nuevas unidades. Tendríamos que ingresar los puntos de montaje reales en lugar de los temporales, si fueran diferentes.
La segunda advertencia es, si usamos la configuración de la mtab
, usaremos el archivo de dispositivo de bloque como identificador para cada partición. Eso funcionaría, pero los valores /dev/sda
y /dev/sdb
y así sucesivamente corren el riesgo de cambiar si se agrega nuevo hardware de almacenamiento masivo a la computadora. Eso significaría la configuración en el fstab
sería incorrecto.
Cada partición tiene un Identificador único universal (UUID), que podemos utilizar para identificar la partición. Esto nunca cambiará. Si utilizamos el UUID para identificar las particiones en el fstab
, la configuración siempre seguirá siendo precisa y verdadera.
Si está utilizando las nuevas particiones como parte de un Arreglo de discos redundantes de bajo costo (RAID), consulte con la documentación de ese sistema. Puede especificar que debe utilizar el identificador de dispositivo de bloque en lugar del UUID.
Búsqueda del UUID de una partición
Para encontrar el UUID de una partición, podemos usar blkid
Para Imprimir los atributos de los dispositivos de bloque. Limitaremos la salida a nuestras dos nuevas particiones en nuestras nuevas unidades:
blkid | grep sd[b-c]1
El resultado incluye el UUID de cada partición.
El PARTUUID es una forma de UUID que se puede utilizar con el Tablas de particiones GUID Método de partición (GPT) (si no está utilizando el Registro de arranque maestro (MBR) método de partición).
Edición del archivo fstab
Abra el fstab
en un editor. Estamos usando gedit
, un editor fácil de usar que se encuentra en la mayoría de las distribuciones de Linux.
sudo gedit /etc/fstab
El editor aparece con su fstab
archivo cargado en él.
Éste fstab
el archivo ya tiene dos entradas. Son la partición en el disco duro existente /dev/sda1
y el sistema de archivos de intercambio. Tenga cuidado de no alterar estas entradas.
Necesitamos agregar dos nuevas entradas al fstab
archivo. Uno para la partición en la unidad SCSI y otro para la partición en la unidad SSD. Primero agregaremos la partición SCSI. Tenga en cuenta que las líneas que comienzan con un hash #
son comentarios.
- En el campo “sistema de archivos”, usaremos el UUID que
blkid
recuperado para nosotros antes. Inicie la línea con “UUID=” y luego pegue el UUID. Presione espacio o tabulador. - Para el campo “punto de montaje”, vamos a usar el punto de montaje que creamos anteriormente,
/mnt/scsi
. Usaría el punto de montaje apropiado de su sistema. Presione espacio o tabulador. - Para “tipo” vamos a entrar
ext4
, que es el tipo de sistema de archivos en nuestra partición. Presione espacio o tabulador. - En el campo “opciones” usaremos las opciones que recuperamos usando cat
/etc/mtab
. Estos son “rw, relatime”. Presione espacio o tabulador. - El campo “volcado” se establece en cero. Presione espacio o tabulador.
- El campo “pass” se establece en cero.
Ahora añadiremos el fstab
partición de entrada en la unidad SSD en una línea separada.
- En el campo “sistema de archivos”, ingresaremos el UUID que
blkid
recuperado para la partición en la unidad SSD. Inicie la línea con “UUID=” y luego pegue el UUID. Presione espacio o tabulador. - Para el campo “punto de montaje”, vamos a usar el punto de montaje que creamos anteriormente,
/mnt/ssd
. Presione espacio o tabulador. - Para “tipo” vamos a entrar
ext4
, que es el tipo de sistema de archivos en nuestra partición. Presione espacio o tabulador. - En el campo “opciones”, solo para hacer que las dos nuevas entradas sean diferentes en nuestro ejemplo, usaremos la opción “valores predeterminados”. Presione espacio o tabulador.
- El campo “volcado” se establece en cero. Presione espacio o tabulador.
- El campo “pass” se establece en cero.
Guarde el archivo y cierre el editor.
Probar fstab sin reiniciar
Podemos desmontar nuestras nuevas unidades y luego forzar una actualización en el fstab
archivo. El montaje exitoso de nuestras nuevas particiones verificará que la configuración y los parámetros que hemos introducido son sintácticamente correctos. Eso significa que nuestro fstab
el archivo debe procesarse correctamente durante una secuencia de reinicio o encendido.
Para desmontar la unidad SCSI, utilice este comando. Tenga en cuenta que solo hay una “n” en “umount”:
sudo umount /dev/sdb1
Para desmontar la unidad SSD, utilice este comando:
sudo umount /dev/sdc1
Ahora usaremos lsblk
para comprobar si estos dispositivos de bloque están montados.
lsblk | grep sd
Y vemos que los dispositivos de bloque están presentes en la computadora, pero no montados en ninguna parte.
Podemos utilizar el mount
con el comando -a
(todos) opción para volver a montar todos los sistemas de archivos en fstab
.
sudo mount -a
Y podemos comprobarlo una vez más con lsblk
para ver si nuestras nuevas particiones están ahora montadas:
lsblk | grep sd
Todo está montado donde debe estar. Todo lo que tenemos que hacer ahora es cambiar la propiedad de los puntos de montaje, de lo contrario root
será el único que podrá acceder a los nuevos dispositivos de almacenamiento.
Podemos hacer esto fácilmente usando chown
. Este es el comando para el punto de montaje SCSI:
sudo chown dave:users /mnt/scsi
Y este es el comando para el punto de montaje SSD:
sudo chown dave:users /mnt/ssd
Ahora podemos reiniciar nuestro ordenador con confianza, sabiendo que las particiones que hemos añadido se montarán por nosotros, y tenemos acceso a ellas.
No es tan aterrador después de todo
Todo el trabajo duro está en la fase de reconocimiento, y eso tampoco fue difícil. Edición de la fstab
Una vez que haya recopilado la información que necesita, es muy fácil. La preparación lo es todo.