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/cdrom
também estão envolvidos.
Qual é a diferença entre
/dev
,/media
e/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
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, ...?
Onde está um arquivo de dispositivo sob
/dev
montado em, sob/media
ou sob/mnt
? Lembro-me de ter visto os dois, mas estou curioso para saber quando montar para qual?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/cdrom
e/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?
fonte
Respostas:
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
&/mnt
sã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 opostoumount
) é 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:
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 -l
resultado 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.
fonte
/mnt
administrador 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/homebackup
e montamos a imagem do disco de backup nesse ponto de montagem, copiamos os arquivos perdidos para/home
e solte o ponto de montagem.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/sdb
para tornar seu segundo dispositivo ATA uma cópia exata do primeiro, oucat /dev/sr0 > mycd.iso
copiar 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.
fonte
cat /dev/sr0 > mycd.iso
- Nunca pensei nisso.cat
edd
re: nós de dispositivos. Eu ignorei completamente essas coisas.Com base na resposta do boehj,
mount
é usado nos bastidores no momento da inicialização para verificar/etc/fstab
onde 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/lib
algumas 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 domount
comando bare ou em/etc/fstab
- você pode aprender algo interessante.fonte