Montaje de un dispositivo: función de / dev, / media y / mnt, y el comando de montaje [cerrado]

17

Tengo varias preguntas estrechamente relacionadas sobre lo que sucede cuando inserto un CD. Los archivos en el CD /media/Ubuntu\ 11.04\ i386/, pero por lo que he visto, /dev/cdromtambién están involucrados.

  1. ¿Qué es la diferencia entre /dev, /mediay /mnt? Lo siguiente es lo que he encontrado en Internet, pero todavía tengo poca idea:

    • /dev - esta carpeta contiene archivos del dispositivo
    • /media - este es un punto de montaje para dispositivos extraíbles
    • /mnt - este es un punto de montaje temporal
  2. ¿Para qué sirve mount? En otras palabras, si el sistema operativo ha representado un dispositivo como un archivo de dispositivo /dev, ¿por qué no se puede acceder a él directamente a través del archivo del dispositivo sin montarlo?

    ¿El soporte solo se usa para dispositivos de almacenamiento, no para dispositivos que no son de almacenamiento, como tarjetas gráficas, tarjetas de red, cámaras, ...?

  3. ¿Dónde está /dev montado un archivo de dispositivo debajo , debajo /mediao debajo /mnt? Recuerdo que he visto ambos, pero tengo curiosidad por saber cuándo montar.

  4. Encontré que mi CD fue montado automáticamente /media/Ubuntu 11.04 i386. Supongo que el archivo del dispositivo del CD es /dev/cdrom, pero no puedo confirmarlo buscando /dev/cdromy /media/Ubuntu 11.04 i386:

    $ ls -l /media/Ubuntu\ 11.04\ i386/
    total 3522
    -r--r--r-- 1 Tim Tim     143 2011-04-27 13:04 autorun.inf
    ...
    $ ls -l /dev/cdrw
    lrwxrwxrwx 1 root root 3 2011-05-28 15:12 /dev/cdrw -> sr0
    $ ls -l /dev/cdrom
    lrwxrwxrwx 1 root root 3 2011-05-28 15:12 /dev/cdrom -> sr0
    

    ¿Cómo puedo averiguar qué archivo de dispositivo es para mi CD?

StackExchange para todos
fuente
Divide esto, son muchas preguntas. Algunos de ellos son respondidos por el comentario de @Gilles, otros deben describirse en el manual de usuario de su distribución.
vonbrand
@vonbrand Sin embargo, estas preguntas están muy relacionadas. No estoy de acuerdo con su cierre, dado que ha tenido respuestas adecuadas. Edité un poco la pregunta y voté para volver a abrirla.
Gilles 'SO- deja de ser malvado'

Respuestas:

12

Aquí hay muchas preguntas y haré todo lo posible para responderlas. Estoy seguro de que aquellos que tienen más conocimiento que yo podrán ayudarlo más. (Agradecería si esas personas también pudieran ayudarme).

En * nix, todo es un archivo. Por ejemplo, su CD-ROM es un archivo.

  • /dev- Aquí encontrará dispositivos físicos, así como cosas que normalmente no consideraría como dispositivos como / dev / null .
  • /media& /mntson directorios en los que puede montar un dispositivo físico, como un CD-ROM, una partición HDD, una memoria USB, etc.

El propósito de mount(y lo contrario umount) es permitir el montaje dinámico de dispositivos. Lo que quiero decir aquí es que tal vez es posible que solo desee montar un dispositivo bajo ciertas circunstancias, y en otras ocasiones no sea accesible. Es posible que desee montar un sistema de archivos completo en / mnt cuando repare un sistema. Es posible que desee montar una imagen de disco (por ejemplo, foo.iso) de vez en cuando. Etc.

Puede elegir montar un dispositivo en / dev en / media o / mnt. Hay formas más o menos correctas de hacerlo. Por ejemplo, de tu pregunta dices:

/ media este es un punto de montaje para dispositivos extraíbles

/ mnt este es un punto de montaje temporal

Eso es bastante correcto. Lea aquí para saber cómo / media y / mnt deben usarse de acuerdo con el Estándar de jerarquía del sistema de archivos . Hago esto incorrectamente, optando por usar / media cuando de hecho debería usar / mnt, la mayoría de las veces. También vale la pena señalar que un HDD interno con particiones asociadas puede referirse, de manera algo confusa, a medios extraíbles.

Estoy en OS X aquí, así que no puedo comprobarlo ahora (BSD hace las cosas de manera ligeramente diferente con respecto a las unidades ópticas) pero / dev / cdrom es un archivo de dispositivo para su CD-ROM. Como es / dev / cdrw. ¿Ves el '->' en el ls -lresultado de tu pregunta? Eso indica que tanto / dev / cdrom como / dev / cdrw están simbólicamente vinculados a / dev / sr0. ' sr ' es el nombre del controlador del dispositivo; 'sr0' es el nombre del archivo del dispositivo.

/media/Ubuntu 11.04 i386es simplemente una imagen .iso que se ha montado automáticamente en /media.

Espero que ayude un poco.

boehj
fuente
1
¡Gracias! Todavía me pregunto qué diferencias hay entre "un punto de montaje para dispositivos extraíbles" y "un punto de montaje temporal".
StackExchange for All
2
En función, son lo mismo. La diferencia teórica es que los mismos dispositivos extraíbles pueden aparecer repetidamente y, si es posible, es bueno que se monten en el mismo directorio. Cada vez que inserte un CD, es bueno tener ese CD en una ruta única como "/ media / My_CD_Title". La tarjeta de memoria de su cámara podría ser "/ media / SD_Card". Por el contrario, es probable que un punto de montaje temporal tenga la misma ruta, pero usted monta diferentes unidades en función de la necesidad del momento, y solo su conocimiento de lo que montó allí identifica la unidad porque está en el mismo lugar que la ÚLTIMA unidad temporal .
Caleb
1
Mientras que /mnttienden a usarse mis administradores de sistemas, por ejemplo, cuando queremos restaurar una copia de seguridad o migrar una partición a un nuevo disco, creamos (por ejemplo) /mnt/homebackupy montamos la imagen del disco de copia de seguridad en ese punto de montaje, copiamos los archivos perdidos a /homey luego suelte el punto de montaje.
Shadur
9

La respuesta de boehj explica las piezas básicas en juego aquí. Lo único que agregaría es sobre la diferencia entre un dispositivo y un sistema de archivos montado. El hecho es que puede acceder a un nodo de dispositivo directamente. Por ejemplo, podría utilizar dd if=/dev/sda of=/dev/sdbpara hacer que su segundo dispositivo ATA sea una copia exacta del primero, o puede cat /dev/sr0 > mycd.isoextraer un CD y hacer una imagen iso de él.

La diferencia es que cuando monta un dispositivo en una ubicación, crea una ruta en la estructura de su directorio que accede al dispositivo utilizando un controlador del sistema de archivos. El controlador del sistema de archivos maneja todas las cosas especiales que deben suceder, como el almacenamiento en caché, la indexación, la búsqueda, etc., para que su dispositivo de disco sin procesar aparezca con todas las comodidades de un sistema de archivos.

Caleb
fuente
¡Gracias! ¿Las particiones y los sistemas de archivos en un dispositivo de almacenamiento también se consideran dispositivos? ¿Tienen controladores ellos mismos, además de que el dispositivo de almacenamiento tiene uno?
StackExchange for All
Sí, las particiones son direccionables como dispositivos, al igual que todos los dispositivos de almacenamiento (lo que quiera decir con eso). Todo el dispositivo se ejecutará con un controlador de hardware, pero, por supuesto, cada partición puede tener su propio sistema de archivos, por lo que el comando de montaje podría usar diferentes controladores de kernel para manejar los diferentes sistemas de archivos.
Caleb
1
Guau. cat /dev/sr0 > mycd.iso- Nunca pensé en esto.
pide
1
Gracias por llamar mi atención sobre caty ddre: los nodos de dispositivos. Pasé completamente por alto estas cosas.
boehj
2

Basándose en la respuesta de boehj, mountse utiliza detrás de escena en el momento del arranque para verificar /etc/fstabdónde cada una de las particiones existentes sobre las que se supone que debe saber se debe montar en el sistema de archivos real.

A diferencia de, por ejemplo, Windows, donde no tiene muchas opciones más allá de qué letra de unidad obtiene una partición, esto permite que cualquier dispositivo o partición se monte en cualquier parte del árbol del sistema de archivos si así lo desea, por ejemplo, la universidad las computadoras de red típicamente solo tendrían /bin/y /libalgunas particiones temporales montadas localmente, mientras que /usr/(que contiene casi todo el software que no se requiere durante la fase de arranque) y /home/(que contiene todos los directorios de inicio de los usuarios) se montarían desde un NFS accesible desde el centro servidor.

Es también responsable de montaje en silencio varios sistemas de archivos temporales y virtuales, tales como /dev/shm/, /sys/, /dev/pts/, y en los sistemas más modernos /run/. Lo más probable es que rara vez haga algo directamente con estos, pero una gran cantidad de software depende de que existan detrás de escena. Eche un vistazo a la salida del mountcomando simple , o en /etc/fstab- podría aprender algo interesante.

Shadur
fuente