Primeiro: você não monta a partição. O que está montado é o sistema de arquivos . O sistema de arquivos pode viver em uma partição, mas isso não é necessariamente assim; sistemas de arquivos comumente vivos:
-
dentro do arquivo (por exemplo, imagens ISO),
-
inteiramente na RAM (por exemplo, / tmp às vezes é criado dessa maneira),
-
dentro do kernel (/ sys e / proc funcionam desta forma),
-
ou como um serviço de rede (o NFS e o Samba funcionam dessa maneira).
To mount a partition c onto the mount point /a/b means "hanging" /c onto the /a/b branch, resulting in /a/b/c
Isso está incorreto.
Primeiro, há muitas maneiras de se referir ao sistema de arquivos (por exemplo, mais comum - e mais seguro na maioria dos casos - é usar o UUID, tente executar lsblk -o +UUID,LABEL
como usuário normal para ver IDs que seu kernel conhece) mas nenhum deles tem implicações no caminho resultante real.
Portanto, ao montar, você fornece um caminho (esse caminho é chamado de ponto de montagem e já deve existir). Depois que o sistema de arquivos é montado, sua raiz se torna acessível nesse mesmo caminho que você forneceu --- e não em um subdiretório dele.
- Can we only mount a whole partition, or can we do with a part of that partition ? Please elaborate.
Em teoria, você poderia ter vários sistemas de arquivos em uma única partição, mas precisaria de um software específico para encontrá-lo lá (truecrypt costumava fazer isso, IIRC).
Se você quiser montar apenas parte de um sistema de arquivos, então, novamente, em teoria, isso poderia ser possível, mas o kernel não faz isso dessa maneira. Em teoria, você poderia criar um sistema de arquivos que permita ser montado apenas parcialmente e, em seguida, escrever um driver para ele, mas eu acho que seria entre difícil e impossível. AFAIK, nenhum sistema de arquivos comumente usado suporta isso.
- Do we mount a partition onto another already-mounted partition?
Sim, você pode fazer isso. Você pode montar qualquer número de sistema de arquivos sobre o mesmo caminho e desmontá-los em qualquer ordem. Apenas o último sistema de arquivos montado será acessível, no entanto.
Na verdade, é feito comumente por alguns programas, por exemplo, por motivos de segurança: monte um sistema de arquivos, abra um arquivo nele e monte algo diferente no mesmo caminho. Agora nenhum outro processo pode acessar o primeiro arquivo.
For example some d mounted on /mnt, now can I mount another /e onto d, creating /mnt/d/e ? Or we can/should only mount to "fixed branch" such as /, /mnt ? If it is possible, what will happen if we unmount /d, will /e be automatically unmounted as well ?
Se você montar um sistema de arquivos em / mnt, e esse sistema de arquivos contiver, por exemplo, diretório 'foo', então você pode usar este diretório para montar outro sistema de arquivos. Mas o kernel não permite que você desmonte um sistema de arquivos que está sendo usado. Abrir um arquivo, ter um processo chdir para um diretório e usar um diretório como um ponto de montagem, tudo conta como "sendo usado".
mount to "fixed branch" such as /,
Ah, e a propósito, nunca faça isso. Não monte nada diretamente para /; isso provavelmente quebraria imediatamente seu sistema.
- Can we mount onto something with a different filesystem
Sim. De fato, com qualquer distribuição comum, no momento em que você chegar à tela de login, você tem cerca de 5 sistemas de arquivos diferentes (heh, são 16 na minha caixa Fedora agora) montados em algum lugar em /.
Execute mount
para ver quais sistemas de arquivos estão montados no momento.
- Let's say a device sda having 2 partitions sda1, sda2. In common practice, would people mount at any mount point they want such as /sda1 to /a/sda1 , sda2 to /b/c/sda2 , or do they mount to the same directory ?
Tanto quanto me lembro, apenas o requisito é que o ponto de montagem (ou seja, o diretório) já deve existir. Fora isso, você pode chegar a qualquer esquema que atenda às suas necessidades. O fato de os sistemas de arquivos estarem no mesmo disco não apresenta nenhum limite.
Afinal, você poderia até mover o sistema de arquivos posteriormente para um meio diferente e montá-lo novamente. Você faria isso, por exemplo se o disco está falhando ou você quer mais espaço.
Em relação à nomenclatura, é mais uma questão de por que você precisa do sistema de arquivos em primeiro lugar. É comum ter um sistema de arquivos separado (grande) apenas para os diretórios home dos usuários. Local natural para diretórios home é / home, então o truque é montar esse sistema de arquivos nesse caminho. Para os servidores, muitas vezes é vantajoso separar / var dessa maneira. Mas se você quer apenas um armazenamento separado, você sempre pode montá-lo em qualquer caminho não utilizado (por exemplo, / finance), desde que o caminho seja único e significativo para seus usuários (eu acho / sda1 não seria YMMV;)) .
- [...] how can I create some virtual or temporary partition/filesystem for testing and learning mounting and mountpoint ?
Veja a resposta de Archemar. (A propósito, deve funcionar em qualquer distribuição GNU / Linux comum, não apenas no Fedora 22.)