Ubuntu 16.10(VM内で実行)で次のコマンドを使用してRAMディスクを作成します。
sudo mkdir -p /media/RAMDisk sudo マウント -t tmpfs -o サイズ=2048M tmpfs /media/RAMDisk
その後、RAMディスクに入ってこれを実行すると
df 。
私は次のことを得ます
tmpfs 2097152 0 2097152 0% /メディア/RAMディスク
ここまでは順調ですね。
次に、Ubuntu を再起動します (これにより、Workstation Pro 経由で実行されている VM が再起動されます)。
再起動後、/media/RAMDisk
フォルダがまったく存在しないか、またはtmpfs
内容のないファイル システム。
フォルダー/media/RAMDisk
は中身なしで存在しますが、驚くべきことに/dev/sda1
ファイル システムとして存在します。df .
を実行すると/media/RAMDisk
、次のようになります。
/dev/sda1 17413904 9577448 6928836 59% /
これで、コマンドを簡単に自分の中に入れて実行.bashrc
し、毎回正しい処理を実行できるようになりましたが、何が起こっているのかを知る必要があります。
また、仮想マシン マネージャー (Workstation Pro) が何かを実行している可能性はありますか?
答え1
何が起こっているのか?
何も異常はありません。
df /media/RAMDisk
を参照する場合、/dev/sda1
ディレクトリが現在 に/dev/sda1
マウントされているファイルシステムに属していることを示します/
。
これは、コマンドの効果がmount
永続的ではなく、再起動すると消えてしまうためです。一方、コマンドはmkdir
ファイルシステム内にディレクトリを作成し/dev/sda1
、このファイルシステムは再起動のたびにマウントされるため、ディレクトリ自体はファイルシステムの一部として残ります/dev/sda1
。
RAMDisk
何らかの方法で、起動後(または起動時に)毎回マウントする必要があります。
取り付け方法は?
mount
内部から逃げるのは.bashrc
良い考えではない。このファイルは複数回参照される可能性があります単一セッション中。いずれにせよ必要なので、 OS 起動時に一度実行されるものをsudo
使用する方がよいでしょう。/etc/rc.local
しかし、さらに良い方法は、次の行を追加することです/etc/fstab
。
tmpfs /media/RAMDisk tmpfs defaults,nosuid,nodev,size=2048M 0 0
user
およびnoauto
オプション (を参照)を調べて、必要に応じてのみman 5 fstab
それらを使用して呼び出すこともできます。mount /media/RAMDisk
systemd
?
このサイトsystemd
特定のユーザーが初めてログインしたときにユニットを実行し、そのユーザーの最後のセッションが終了するとすぐに終了できると思います。 にはあまり詳しくないsystemd
ので、ユニットでそれができるかどうかはわかりません.mount
。
ただし、 を使用する場合はsystemd
、すでに個人用のtmpfs
が にマウントされている必要があります/run/user/<UID>
。システム全体の は にマウントされている必要があります/dev/shm
。
について/media/
また、/media/
Ubuntu では、外付け USB ドライブなどのマウントポイントを作成するために使用されていることに注意してください (これudisks2
が原因だと思います)。 似ているように見えるかもしれませんが、何かと衝突することはないと/media/<username>/<label>
思います/media/RAMDisk
。 ただし、一般的にはこの場所の使用は避けます。 私が使用しているシステム (Debian、Kubuntu、Raspbian、OpenWRT) では、これ/mnt/<something>
まで問題が発生したことはありません。