web-dev-qa-db-ja.com

Ubuntu 12.04(および12.10)のデフォルトの動作を変更して、起動時に/ dev / shmから/ run / shmへのシンボリックリンクが作成されないようにするにはどうすればよいですか?

Linux Ubuntu 11.10ハウツーでのOracle 11gR2 Express Edition に従ってUbuntu 12.04にOracle 11gR2 Express Editionをインストールし、/dev/shmのOracleメモリターゲットの問題に遭遇した(セクション7。そのガイド)/dev/shm/dev/shmから/run/shmへのUbuntu 11.10リリースノートに記載されているように、デフォルトでシンボリックリンクとして実装されるためです。シンボリックリンクはOracleが期待するものと互換性がないため、データベースの起動時にOracleエラー(ORA-00845:MEMORY_TARGET)が発生します。

「Linux Ubuntu 11.10 howtoでのOracle 11gR2 Express Edition」のセクション7)は、/etc/init.d/Oracle-shmを設定してUbuntuの/dev/shmを使用するように構成された起動スクリプト/run/shmを文書化していますnotはUbuntu 12.04で望ましい効果を発揮し、/dev/shmは期待どおりにマウントされません-おそらく11.10で動作しました。これは すでに注目され、さまざまな解決策が提案されています エントリを/etc/fstabに追加し、/etc/init.d/Oracle-shmスクリプトを次のように変更することで、少し異なる方法で問題を回避することを選択しました:

  1. 共有メモリ一時ファイルシステムのエントリを/etc/fstabに追加すると、たとえば(2ギガバイトのファイルの場合)

    shm /dev/shm    tmpfs   size=2g 0   0
    
  2. /etc/init.d/Oracle-shmmount行の変更:

    rm -f /dev/shm  
    mkdir /dev/shm
    mount -B /run/shm /dev/shm
    

    単純に

    rm -f /dev/shm
    mkdir /dev/shm 
    mount /dev/shm
    

とにかく、提案されたすべてのソリューションでは、最初にシンボリックリンクを削除してから目的の動作を実装することにより、起動時にデフォルトのUbuntuの動作を元に戻します。

共有メモリファイルシステムをセットアップできるようにしたい一度限り

  1. 共有メモリ一時ファイルシステムのエントリを/etc/fstabに追加すると、たとえば(2ギガバイトのファイルの場合)

    shm /dev/shm    tmpfs   size=2g 0   0
    
  2. / dev/shmへの既存のシンボリックリンクを削除し、Sudoとしてディレクトリとして作成します。

    rm –f /dev/shm
    mkdir /dev/shm
    
  3. 共有メモリ一時ファイルシステムのマウント

    mount /dev/shm
    

これはすべて、再起動するまで正常に機能します。再起動すると、/dev/shmから/run/shmへのシンボリックリンクが、/dev/shmが共有メモリの一時ファイルシステムとしてマウントされる代わりに再表示されます。

それでは質問です。

起動時に最初に作成される/dev/shmから/run/shmへのシンボリックリンクを防ぐためにUbuntu 12.04(および12.10)のデフォルトの動作を変更するにはどうすればよいですか?

action = show&redirect = OneiricOcelot/TechnicalOverview#Upgrades

3
Paul Hudson

/etc/init/mounted-dev.confで行を削除します

 [ -e /dev/shm ] || ln -s /run/shm /dev/shm
5
Florian Diesch