No Linux, como um disco RAM pode ser criado e anexado sem ser montado? Além disso, como pode ser encontrado o nome do dispositivo como /dev/sdb
atribuído ao disco RAM? Por fim, como o disco RAM (que não está montado) pode ser desanexado?
Eu gostaria de criar e anexar um disco RAM, mas não quero montá-lo. Eu quero deixar desmontado.
No Mac OS X, o seguinte comando cria e anexa um disco RAM de 100MiB sem montá-lo.
hdiutil attach -nomount ram://204800
# In terms of the number of 512-byte sectors,
# 100 MiB is equivalent to 204800 sectors.
Após a conclusão bem-sucedida, o comando acima retorna o nome do dispositivo, como /dev/disk1
, atribuído ao RamDisk. Entretanto, mais tarde, quando você esquecer o nome do dispositivo, poderá encontrá-lo pelos seguintes comandos OSX (bem como pelo Utilitário de Disco do aplicativo GUI).
# Displays the list of attached disks.
diskutil list
# Displays the details of a specific disk.
diskutil info /dev/disk1
Por fim, no Mac OS X, para desconectar o disco RAM, não importando se ele foi montado, o seguinte comando (assim como o Utilitário de Disco do aplicativo GUI) funciona. Este comando automaticamente desmonta primeiro se tiver sido montado.
hdiutil detach /dev/disk1
No Linux, como todas as três operações acima podem ser alcançadas? (Se as operações que estou pedindo podem depender de distros, então estou particularmente interessado no Debian 9.)
Uma das razões pelas quais eu não quero que o disco RAM seja montado é que eu quero executar alguns experimentos no comando dd
lendo e gravando diretamente em um disco (ou dispositivo), ignorando o sistema de arquivos. Na verdade, o modo de gravação direta de dd
exige que o volume no dispositivo seja desmontado, mas o dispositivo ainda esteja conectado e não seja ejetado.
No Linux, o comando mount
a seguir cria, anexa e monta um disco RAM de 100 MiB.
mkdir /mnt/ramdisk
mount -t tmpfs -o size=100m tmpfs /mnt/ramdisk
No entanto, não sei como desativar a parte "montagem".
A propósito, para aqueles que querem saber como montar, além de criar e anexar, um disco RAM no Mac OS X, aqui está o comando.
diskutil erasevolume HFS+ "RamD" $(hdiutil attach -nomount ram://204800)
# 204800 is the number of 512-byte sectors,
# resulting in 100 MiB.
#
# "RamD" is a volume name or label.
#
# "erasevolume" means to format the volume,
# but it does not necessarily write zeros.