Ir al contenido principal

Cómo escribir un archivo fstab en Linux

¿Agregar un nuevo disco duro o unidad de estado sólido a su computadora Linux?Necesitará editar su archivo fstab.A muchas personas les da miedo la idea.Sí, es crítico que lo hagas bien, pero armado con el conocimiento correcto, realmente no es difícil. Le guiamos a través del proceso de edición de su archivo fstab para integrar su nueva unidad en su sistema de archivos.

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. Conecta el hardware, enciende la computadora e inicia sesión en el sistema operativo. Pero no puede ver su nuevo disco en ningún lado.¿Por qué no aparece?¿Cómo se consigue que Linux “ vea ”¿el disco para que pueda comenzar a configurarlo?

En realidad, Linux ha visto su hardware, pero no lo anuncia fácilmente.O incluso darle una pista de que ha encontrado su nuevo hardware. Debe interrogar a Linux para obtener la información que necesitará poner en su archivo fstab.

Aquí le mostramos cómo configurar su nuevo disco duro para que Linux —y usted — puede 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 editar el archivo fstab, utilizando la información que hemos reunido en la fase de reconocimiento.

Encontrando su nueva unidad

Estamos agregando dos nuevas unidadesa este sistemaUno es un disco duro mecánico (HD) de 32 GB, y el otro es un disco de estado sólido (SSD) de 16 GB.

Necesitamos saber que Linux puede verlos y qué dispositivos de bloque es Linuxutilizando para ellos. En los sistemas operativos similares a 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 directorio / dev.

Podemos usar el comando lsblkpara enumerar los dispositivos de bloque conectados a su computadora Linux.

 lsblk 

La salida de lsblk está en columnas.

Las columnas son:

  • Nombre: este es el nombre del dispositivo. Los nombres de los dispositivos que comienzan “ sd ” y van seguidos de una letrarepresentan discos duros SCSI. La letra identifica los discos duros individuales, con “ a ” siendo el primero, “ b ”. siendo el segundo y así sucesivamente. Si hay un número adjunto, indicauna 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 mayor y menor del dispositivo.número indica el tipo de dispositivo (o, más precisamente, el tipo de controlador utilizado para hablar con ese dispositivo). El número menor es unrecuento de la cantidad de dispositivos de ese tipo.
  • Rm: 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. Esta es 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 lecturay 0 para dispositivos de lectura y escritura. Todos los dispositivos de bucle son de solo lectura.
  • Tipo: identifica el tipo de dispositivo. El “ disco ”entrada significa una unidad de disco, la “ parte ”entrada significa partición, y “ rom ”significa memoria de solo lectura (CD-ROM).
  • Punto de montaje: muestra el punto en el 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 todos los dispositivos de bucle reciben un número mayor de 7 (es decir, un bucle invertido o bucle,dispositivo), y los números menores simplemente se incrementan en 1 cada vez. Los dispositivos de bucle se utilizan con el sistema de archivos squashfs. Se crea un sistema de archivos squashfs cada vez que se instala una aplicación utilizando el sistema de administración de paquetes ágil.

Los discos duros SCSI reciben nombres como sda, sdb y sdc, y todos tienen un número mayor de 8 (Disco duro SCSI). Los números menores se agrupan en 16 ’ s. Los números menores para la primera unidad, sda, se ejecutan de 0 a 15. El 0 representa la unidad física, y el número menor de 1 representa la primera partición en esa unidad. Para la segunda unidad, sdb, los números menores van del 16 al 31. 16 representa la unidad física y 17 representa la primera partición en esa unidad. Los siguientes 16 números, del 32 al 47, se usan 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-ROM.

En realidad, el estilo / dev / sr0 para unidades de CD-ROM SDCSI está en desuso. El formato aprobado es / dev / scd0.A pesar de eso, el formato / dev / sr0 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 pueden tomar los números mayores y menores. Es una lista sorprendentemente larga.

Para desordenar la salida de lsblk, podemos usar grep para seleccionar solo los elementos que nos interesan. 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 hará que grep imprima solo líneas que tengan “ sd ”en el. En nuestra máquina de prueba, vemos:

Entonces, tenemos tres unidades SCSI. El primero, / dev / sda, está montado en la raíz del sistema de archivos, /. Los otros dos no están montados en absoluto, lo cual es de esperar para unidades nuevas. Podemos ver que la unidad / dev / sdb tiene un tamaño de 32 GB, lo que significa que es nuestra unidad mecánica tradicional. La unidad / 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. Entonces, la SSD se muestra como una unidad mecánica SCSI. En mi escritorio normal, mi SSD NVMe aparece como / dev / nvme0n1, y la primera partición es / dev / nvme0n1p1. Su número principal es 259. Esas diferencias no cambian lo que tenemos que hacer en el archivo fstab, pero tenga en cuenta que si tiene un SSD, no aparecerá como un examen físico. unidad.

Además, sus unidades probablemente no tendrán una partición si son nuevas. Puede usar fdisk para crear una partición si es necesario.

RELACIONADO: Cómo usar Fdisk para administrar particiones en Linux

Identificación de unidades giratorias y no giratorias

Si usamos la opción -o (salida) con lsblk y agregamos la columna ROTA (giratoria) a la pantalla, lsblk usará un 1 para indicar un dispositivo de almacenamiento giratorio (accionamiento mecánico) 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 la columna ROTA (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 comenzar a pensar en el archivo fstab, deje ’ s compruebe que podamos montar las unidades a mano. De esta manera, si algo no funciona cuando usamos el archivo fstab, sabremos que el problema debe ser nuestra sintaxis y no un problema con la unidad en sí.

Nosotros ’crearé algunos puntos de montaje temporales en el directorio / mnt. Deberá usar sudo y se le pedirá su contraseña.

 sudo mkdir / mnt / scsi 

 sudo mkdir / mnt / ssd 

Ahora montemos la unidad SCSI en el nuevo punto de montaje. Usaremos el comando de montaje en su forma más simple. Le diremos el nombre de la partición que queremos montar y el punto de montaje en el que queremos que se monte. 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 parapartición, en este caso, “ 1 ”.

 sudo mount / dev / sdb1 / mnt / scsi 

Si todo va bien, no habrá respuesta del montaje. Volviste silenciosamente al símbolo del sistema.

Montar el SSD es igual de simple. Le decimos a Mount qué partición en qué dispositivo montar, y el punto de montaje para montarlo.

 sudo mount / dev / sdc1 / mnt / ssd 

Nuevamente, el silencio es dorado.

RELACIONADO: Cómo montar y desmontar dispositivos de almacenamiento desde el terminal Linux

Comprobando los montajes

Para verificarque los montajes han tenido lugar, usaremos lsblk nuevamente.’ canalizaremos su salida a través de grep y seleccionaremos “ sda1 ”, “ sdb2 ”, y “ sdc1 ”entradas.

 lsblk -o + ROTA |grep sd [ac] 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á montada en / mnt / scsiy está en un dispositivo de almacenamiento giratorio. La partición / dev / sdc1 está montada en / mnt / ssd y está en un dispositivo de almacenamiento no giratorio. Todo parece estar bien.

Ahora necesitamos configurar el archivo fstab para que estos dispositivos se monten cada vez que se inicia la computadora.

El archivo fstab

El archivo fstab contiene una entrada para cada sistema de archivos que se monta cuando se reinicia su computadora. Cada entrada se compone de seis campos. Los campos son:

  • Sistema de archivos: no, como su nombre lo sugiere, el tipo de sistema de archivos en la partición (para eso es el campo de tipo). Este es el identificador de la partición que se debe montar.
  • Punto de montaje: la ubicación en el sistema de archivos en el que desea montar la partición.
  • Tipo: el tipo de archivosistema en la partición.
  • Opciones: cada sistema de archivos puede tener opciones especificadas para activar o desactivar la funcionalidad.
  • Volcado: una referencia a un medio casi obsoleto de hacer una copia de seguridad del archivosistemas, donde todo el sistema de archivos fue “ volcado ”a cinta.
  • Pase: Este es el “ pasando ”bandera. Le dice a Linux qué particiones deben verificarse en busca de errores usando fsck y en qué orden. La partición principal del sistema operativo y de arranque debe ser 1, y el resto se puede establecer en 2. Si el indicador se establece en cero, significa “ don ’ t check all. ”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 configurándolo en 0.

Estoslos 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 las “ opciones ”campo. Las “ opciones ”las opciones de campo deben estar en una lista separada por comas sin espacios entre ellas.

La página de manual para cada sistema de archivos enumerará las opciones que se pueden usar. 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 solo se monta cuandoingrese el comando mount -a.
  • Exec: La ejecución de binarios está permitida 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 de lectura-escritura.
  • Sincronización: la escritura de archivos deberealizarse de inmediato y no tamponarse. Mejor reservado para disquetes, si alguien todavía los está usando. Incurre en una penalización de rendimiento.
  • Asíncrono: las escrituras de archivos deben almacenarse y optimizarse.
  • Usuario: Cualquier usuario puede montar el sistema de archivos.
  • Nousuario:El usuario root es el único usuario que puede montar este sistema de archivos.
  • Valores predeterminados: esta es una forma abreviada de especificar un conjunto de configuraciones comunes: rw, suid, dev, exec, auto, nouser y async).
  • Suid: permite la operación de los bits suid y sgid. El bit suid se usa para permitir que un archivo sea ejecutado como root, por un usuario normal, sin otorgarle al usuario todos los privilegios de root. Cuando el bit sgid se establece en un directorio, los archivos y directorios creados dentro de ese directorio tienen su propiedad de grupo establecida en la del directorio, no en el grupo del usuario que los creó.
  • Nosuid: Nopermitir el uso de los bits suid y sgid.
  • Noatime: & # 8211;No actualice los tiempos de acceso a 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 modificado del archivo.

El “ por defecto ”La opción es un buen gambito de apertura. Puede agregar o quitar más opciones si se requiere un ajuste fino. Si solo hubiera una manera ordenada de obtener la configuración que necesita, en el orden en que debe ingresarla en el archivo fstab.

Ingrese el archivo mtab.

El archivo mtab

El archivo mtab es la lista de sistemas de archivos actualmente montados. Esto contrasta con el archivo fstab que enumera los sistemas de archivos que deben montarse en el momento del arranque. El archivo mtab incluye sistemas de archivos montados manualmente. Ya hemos montado nuestras nuevas unidades, por lo que deberían aparecer en el archivo mtab.

Podemos ver el contenido del archivo mtab usando cat. Restringiremos la salida al canalizarla a través de grep y mirando / dev / sdb1 y / dev / sdc1 solamente.

 cat / etc / mtab |grep sd [bc] 1 

El resultado muestra las entradas mtab para estas dos particiones.

Podríamos levantaresos valores y colóquelos directamente en el archivo 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 reiniciamos.

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. Necesitaríamos ingresar los puntos de montaje reales en lugar de los temporales, si fueran diferentes.

La segunda advertencia es, si usamos la configuración del archivo mtab, nosotros ’ utilizará el archivo de dispositivo de bloque como identificador para cada partición. Eso funcionaría, pero los valores / dev / sda y / dev / sdb, etc., corren el riesgo de cambiar si se agrega nuevo hardware de almacenamiento masivo a la computadora. Eso significaría que la configuración en el archivo fstab sería incorrecta.

Cada partición tiene un Identificador Universalmente Único (UUID), que podemos usar para identificar la partición. Esto nunca cambiará. Si usamos el UUID para identificar las particiones en el archivo fstab, la configuración siempre será precisa y verdadera.

Si está utilizando sus nuevas particiones como parte de un sistema de matriz redundante de discos económicos (RAID), consulte con la documentación de ese sistema. Podría especificar que debe usar el identificador de dispositivo de bloque en lugar del UUID.

Encontrar una partición ’ s UUID

Para encontrar el UUID de una partición, podemos usar blkidpara imprimir los atributos de los dispositivos de bloque. Limitaremos la salida a nuestras dos nuevas particiones en nuestras nuevas unidades:

 blkid |grep sd [bc] 1 

La salida incluye el UUID para cada partición.

El PARTUUID es un formulariode UUID que se puede usar con el método de partición Tablas de partición GUID (GPT) (si no está usando el método de partición Master Boot Record (MBR)).

Edición del archivo fstab

Abra el archivo 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 archivo fstab cargado en él.

Este archivo fstab 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 archivo fstab. Uno para la partición en la unidad SCSI y otro para la partición en la unidad SSD. Agregaremos primero la partición SCSI. Tenga en cuenta que las líneas que comienzan con un hash # son comentarios.

  • En el “ sistema de archivos ”campo, usaremos el UUID que blkid recuperó para nosotros anteriormente. Comience la línea con “ UUID = ”y luego pegue el UUID. Presione la barra espaciadora o la pestaña.
  • Para el “ punto de montaje ”En el campo, vamos a utilizar el punto de montaje que creamos anteriormente, / mnt / scsi. Usted ’ utilizaría el punto de montaje apropiado de su sistema. Presione la barra espaciadora o la pestaña.
  • Para “ escriba ”vamos a ingresar ext4, que es el tipo de sistema de archivos en nuestra partición. Presione la barra espaciadora o la pestaña.
  • En las “ opciones ”campo ’ utilizaremos las opciones que recuperamos usando cat / etc / mtab. Estos son “ rw, relatime ”. Presione la barra espaciadora o la pestaña.
  • El “ volcado ”el campo se establece en cero. Presione la barra espaciadora o la pestaña.
  • El “ pase ”el campo se establece en cero.

Ahora agregaremos la partición de entrada fstab en la unidad SSD en una línea separada.

  • En el “ sistema de archivos ”En el campo, ingresaremos el UUID que blkid recuperó para la partición en la unidad SSD. Comience la línea con “ UUID = ”y luego pegue el UUID. Presione la barra espaciadora o la pestaña.
  • Para el “ punto de montaje ”En el campo, vamos a utilizar el punto de montaje que creamos anteriormente, / mnt / ssd. Presione la barra espaciadora o la pestaña.
  • Para “ escriba ”vamos a ingresar ext4, que es el tipo de sistema de archivos en nuestra partición. Presione la barra espaciadora o la pestaña.
  • En las “ opciones ”campo — solo para que las dos nuevas entradas sean diferentes en nuestro ejemplo — usaremos ’ valores predeterminados ”opción. Presione la barra espaciadora o la pestaña.
  • El “ volcado ”el campo se establece en cero. Presione la barra espaciadora o la pestaña.
  • El “ pase ”el campo se establece en cero.

Guarde el archivo y cierre el editor.

RELACIONADO: Cómo editar archivos de texto gráficamente en Linux con gedit

Prueba de fstab sin reiniciar

Podemos desmontar nuestras nuevas unidades y luego forzar una actualización en el archivo fstab. El montaje exitoso de nuestras nuevas particiones verificará que la configuración y los parámetros que hemos ingresado son sintácticamente correctos. Eso significa que nuestro archivo fstab debe procesarse correctamente durante una secuencia de reinicio o encendido.

Para desmontar la unidad SCSI, use este comando. Tenga en cuenta que solo hay uno “ n ”en “ umount ”:

 sudo umount / dev / sdb1 

Para desmontar la unidad SSD, use este comando:

 sudo umount / dev / sdc1 

Ahora usaremos lsblk para verificar 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 están montados en ninguna parte.

Podemos usar el comando mount con la opción -a (all) para volver a montar todos los sistemas de archivos en fstab.

 sudo mount -a 

Y podemos verificar una vez más con lsblk para ver si nuestras nuevas particiones están ahora montadas:

 lsblk |grep sd 

Todo está montado donde debería 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 hacerlo 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 parael punto de montaje SSD:

 sudo chown dave: users / mnt / ssd 

Ahora podemos reiniciar nuestra computadora con confianza, sabiendo quelas particiones que hemos agregado serán montadas para nosotros, y tenemos acceso a ellas.

No es tan aterrador después de todo

Todo el trabajo duro está en la fase de reconocimiento & #8212; y eso tampoco fue difícil. Editar el archivo fstab una vez que haya reunido la información que necesita es muy sencillo. La preparación lo es todo.

Fuente: How to Geek

Comentarios

Entradas populares de este blog

¿Qué son stdin, stdout y stderr en Linux?

stdin, stdout y stderr son tres flujos de datos creados al iniciar un comando de Linux. Puede usarlos para saber si sus scripts se están canalizando o redirigiendo. Le mostramos cómo. Streams Unir dos puntos Tan pronto como Cuando comienzas a aprender sobre Linux y sistemas operativos tipo Unix, te encontrarás con los términos stdin, stdout y stederr. Estas son tres secuencias estándar que se establecen cuando se ejecuta un comando de Linux. En informática, un flujo es algo que puede transferir datos. En el caso de estas corrientes, esos datos son texto. Las corrientes de datos, como las corrientes de agua, tienen dos extremos. Tienen una fuente y un flujo de salida. Cualquiera que sea el comando de Linux que esté utilizando, proporciona un extremo de cada transmisión. El otro extremo está determinado por el shell que lanzó el comando. Ese extremo estará conectado a la ventana del terminal, conectado a una tubería o redirigido a un archivo u otro

Cómo usar el comando Echo en Linux

El comando echo es perfecto para escribir texto formateado en la ventana del terminal.Y no tiene que ser texto estático. Puede incluir variables de shell, nombres de archivo y directorios. También puede redirigir echo para crear archivos de texto y archivos de registro. Siga esta sencilla guía para descubrir cómo. Echo repite lo que le dice que repita A Zeus le gustaba abandonar el Olimpo para asociarse con hermosas ninfas. En un viaje, le dijo a una ninfa de la montaña llamada Echo que matara a su esposa, Hera, si ella lo seguía. Hera vino a buscar a Zeus, y Echo hizo todo lo que pudo para mantener a Hera en conversación. Finalmente, Hera perdió los estribos y maldijo al pobre Echo para que solo repitiera las últimas palabras que alguien más había dicho. Lo que Hera le hizo a Zeus cuando lo alcanzó es la suposición de nadie. Y eso, más o menos, es mucho eco en la vida. Repite lo que se le ha dicho que repita. Esa es una función simple, pero vit

Cómo usar el comando rev en Linux

El comando rev de Linux invierte las cadenas de texto. Este comando puede operar en el texto proporcionado o en un archivo, y parece ser aparentemente simple. Pero al igual que muchas utilidades de la línea de comandos, su poder real se hace evidente cuando lo combinas con otros comandos. El comando rev es una de esas sencillas utilidades de Linux que, a primera vista, parece ser una especie de rareza. Realiza una sola función: invierte cadenas. Y aparte de poder imprimir una página de ayuda rápida (-h) y mostrarle su número de versión (-V), no acepta ninguna opción de línea de comandos. Por lo tanto, rev invierte cadenas, ¿y eso es? ¿No hay variaciones u opciones? Pues sí y no. Sí, no tiene permutaciones, pero no, eso no es todo. Este tutorial le muestra cómo combinarlo para operaciones poderosas. Cuando usa rev como un bloque de construcción en secuencias de comandos más complicadas, realmente comienza a mostrar su valor. rev es uno de un grupo de