Sim, e possivelmente você já tem vários deles. Lembre-se de que você pode ter vários sistemas de arquivos independentes montados em vários lugares - e cada um deles tem sua própria "raiz".
Por exemplo, se uma partição de "dados" separada for montada em /mnt/data
, esse diretório será, na verdade, uma raiz do sistema de arquivos, sem ..
que apontasse acima dela. (O mesmo se aplica também a sistemas de arquivos internos como / sys ou / dev.)
No Linux, a camada VFS - "sistema de arquivos virtual" - faz isso funcionar. Ele permite que o root 1 seja acessível em /
e raiz 2 em /mnt/data
e cria a ilusão de /mnt/data/..
vinculando a /mnt
.
(Novamente no Linux, o VFS tem alguns outros recursos interessantes normalmente usados para /
. Por exemplo, quando o kernel é iniciado, /
é anexado a um sistema de arquivos "tmpfs" vazio, onde o initramfs é descompactado. Eventualmente, o sistema de arquivos raiz principal é montado em algum lugar em /new_root
ou algo assim, e movido para /
usando o especial pivot_root
ou o mais geral mount --move
. Já mencionei chroot
.
Em outras palavras, o diretório raiz VFS não necessariamente é nascido assim.
É possível ter várias raízes VFS de uma só vez - não apenas por chroot, mas também usando namespaces de montagem, onde diferentes processos podem ver montagens diferentes de VFS; isso é usado por 'containers' como o Docker.)
No entanto, não é verdade que a raiz do sistema de arquivos não tenha links. Ele só não tem links de acima , mas pode facilmente ter links de abaixo - em subdiretórios regulares (como / bin) o ..
é um link real, então /
teria links de /bin/..
, /etc/..
e assim por diante.
(Curiosamente, é por isso que você pode renomear diretórios somente leitura, mas não movê-los para outro lugar, porque o último exigiria que seja escrito no diretório para atualizar seu link ..
.)