Montando um dispositivo - função de / dev, / media e / mnt, e o comando mount [fechado]

17

Tenho várias perguntas estreitamente relacionadas sobre o que acontece quando insiro um CD. Os arquivos do CD /media/Ubuntu\ 11.04\ i386/, mas pelo que vi, /dev/cdromtambém estão envolvidos.

  1. Qual é a diferença entre /dev, /mediae /mnt? A seguir, é o que encontrei na internet, mas ainda tenho pouca ideia:

    • /dev - esta pasta contém arquivos do dispositivo
    • /media - este é um ponto de montagem para dispositivos removíveis
    • /mnt - este é um ponto de montagem temporário
  2. Qual é o propósito mount? Em outras palavras, se um dispositivo foi representado pelo sistema operacional como um arquivo de dispositivo abaixo /dev, por que não pode ser acessado diretamente através do arquivo do dispositivo sem montagem?

    A montagem é usada apenas para dispositivos de armazenamento, e não para dispositivos que não são de armazenamento, como placa gráfica, placa de rede, câmera, ...?

  3. Onde está um arquivo de dispositivo sob /dev montado em, sob /mediaou sob /mnt? Lembro-me de ter visto os dois, mas estou curioso para saber quando montar para qual?

  4. Descobri que meu CD foi montado automaticamente /media/Ubuntu 11.04 i386. Eu acho que o arquivo de dispositivo do CD é /dev/cdrom, mas não posso confirmá-lo olhando /dev/cdrome /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
    

    Como posso descobrir qual arquivo de dispositivo é para o meu CD?

StackExchange for All
fonte
Divida isso, são muitas perguntas. Alguns deles são respondidos pelo comentário de @Gilles, outros devem ser descritos no manual do usuário da sua distribuição.
vonbrand
@ vonbrand No entanto, essas perguntas estão intimamente relacionadas. Não concordo com seu fechamento, já que ele teve respostas adequadas. Editei a pergunta um pouco e votei para reabrir.
Gilles 'SO- stop be evil' '' -

Respostas:

12

Há muitas perguntas aqui e farei o possível para respondê-las. Estou certo de que aqueles com mais conhecimento do que eu poderei ajudá-lo ainda mais. (Eu apreciaria se essas pessoas também pudessem me ajudar.)

No * nix, tudo é um arquivo. Por exemplo, seu CD-ROM é um arquivo.

  • /dev- Aqui você vai encontrar dispositivos físicos, bem como coisas que você normalmente não pensam como dispositivos como / dev / null .
  • /media& /mntsão diretórios em que você pode montar um dispositivo físico, como CD-ROM, partição de disco rígido, pendrive etc.

O objetivo mount(e o oposto umount) é permitir a montagem dinâmica de dispositivos. O que quero dizer aqui é que talvez você queira montar um dispositivo apenas sob certas circunstâncias e, outras vezes, não o tenha prontamente acessível. Você pode montar um sistema de arquivos inteiro em / mnt ao reparar um sistema. Você pode montar uma imagem de disco (por exemplo, foo.iso) de tempos em tempos. Etc.

Você pode optar por montar um dispositivo em / dev em / media ou / mnt. Existem maneiras mais ou menos corretas de fazer isso. Por exemplo, da sua pergunta, você diz:

/ media este é um ponto de montagem para dispositivos removíveis

/ mnt este é um ponto de montagem temporário

Isso é praticamente correto. Leia aqui como / media e / mnt devem ser usados ​​de acordo com o Padrão de Hierarquia do Sistema de Arquivos . Faço isso de maneira incorreta, optando por usar / media quando, na verdade, deveria estar usando / mnt, na maioria das vezes. Também é importante notar que um HDD interno com partições associadas pode ser referido, de maneira um tanto confusa, como mídia removível.

Estou no OS X aqui, então não posso verificar agora (o BSD faz as coisas de maneira ligeiramente diferente em relação às unidades ópticas), mas / dev / cdrom é um arquivo de dispositivo para o seu CD-ROM. Como é / dev / cdrw. Veja o '->' no ls -lresultado da sua pergunta? Isso indica que ambos / dev / cdrom e / dev / cdrw estão simbolicamente vinculados a / dev / sr0. ' sr ' é o nome do driver do dispositivo; 'sr0' é o nome do arquivo do dispositivo.

/media/Ubuntu 11.04 i386é simplesmente uma imagem .iso montada automaticamente em /media.

Espero que isto ajude um pouco.

boehj
fonte
11
Obrigado! Ainda me pergunto quais são as diferenças entre "um ponto de montagem para dispositivos removíveis" e "um ponto de montagem temporário"?
StackExchange for All
2
Em função, eles são os mesmos. A diferença teoricamente é que os mesmos dispositivos removíveis podem aparecer repetidamente e, se possível, é bom que eles sejam montados no mesmo diretório. Sempre que você inserir um CD, é bom ter esse CD em um caminho único, como "/ media / My_CD_Title". O cartão de memória da câmera pode ser "/ media / SD_Card". Por outro lado, é provável que um ponto de montagem temporário tenha o mesmo caminho, mas você monta unidades diferentes com base na necessidade do momento, e apenas o seu conhecimento do que você montou identifica a unidade porque está no mesmo local que a ÚLTIMA unidade temporária .
Caleb
11
Enquanto o /mntadministrador de sistemas tende a ser usado - digamos, quando queremos restaurar um backup ou migrar uma partição para um novo disco, criamos (por exemplo) /mnt/homebackupe montamos a imagem do disco de backup nesse ponto de montagem, copiamos os arquivos perdidos para /homee solte o ponto de montagem.
Shadur
9

A resposta de boehj explica as peças básicas em jogo aqui. A única coisa que gostaria de acrescentar é sobre a diferença entre um dispositivo e um sistema de arquivos montado. O fato é que você pode acessar diretamente um nó do dispositivo. Por exemplo, você pode usar dd if=/dev/sda of=/dev/sdbpara tornar seu segundo dispositivo ATA uma cópia exata do primeiro, ou cat /dev/sr0 > mycd.isocopiar um CD e criar uma imagem iso dele.

A diferença é que, quando você monta um dispositivo em um local, cria um caminho na estrutura de diretórios que acessa o dispositivo usando um driver de sistema de arquivos. O driver do sistema de arquivos lida com todas as coisas especiais que precisam acontecer, como cache, indexação, busca, etc., para que o seu dispositivo de unidade bruta apareça com todas as conveniências de um sistema de arquivos.

Caleb
fonte
Obrigado! As partições e sistemas de arquivos em um dispositivo de armazenamento também são considerados dispositivos? Eles têm drivers próprios, além do que o dispositivo de armazenamento possui um?
StackExchange for All
Sim, as partições são endereçáveis ​​como dispositivos, assim como todos os dispositivos de armazenamento (o que você quer dizer com isso). Todo o dispositivo será executado sob um driver de hardware, mas é claro que cada partição pode ter seu próprio sistema de arquivos, portanto o comando mount pode usar drivers de kernel diferentes para lidar com os diferentes sistemas de arquivos.
Caleb
11
Uau. cat /dev/sr0 > mycd.iso- Nunca pensei nisso.
29/05
11
Obrigado por chamar minha atenção cate ddre: nós de dispositivos. Eu ignorei completamente essas coisas.
21811 Boehj
2

Com base na resposta do boehj, mounté usado nos bastidores no momento da inicialização para verificar /etc/fstabonde cada partição existente que ela deveria conhecer deve ser montada no sistema de arquivos real.

Diferentemente do Windows, por exemplo, onde você não tem muita escolha além da letra da unidade que uma partição recebe, isso permite que qualquer dispositivo ou partição seja montado em qualquer lugar da árvore do sistema de arquivos, se você desejar - por exemplo, universidade os computadores em rede normalmente só têm /bin/e /libalgumas partições temporárias montadas localmente, enquanto /usr/(contendo quase todo o software que não é necessário durante a fase de inicialização) e /home/(contendo todos os diretórios pessoais dos usuários) seriam montados a partir de um NFS acessível centralmente servidor.

É também responsável pelo silêncio de montagem vários sistemas de arquivos temporários e virtuais, como /dev/shm/, /sys/, /dev/pts/, e em sistemas mais modernos /run/. As chances são de que você raramente faça alguma coisa diretamente com elas, mas muito software depende delas para existir nos bastidores. Dê uma olhada na saída do mountcomando bare ou em /etc/fstab- você pode aprender algo interessante.

Shadur
fonte