Как я могу изменить поведение по умолчанию Ubuntu 12.04 (& 12.10), чтобы предотвратить символическую ссылку из /dev/shm на /run/shm, когда-либо создаваемую при загрузке?

При установке Oracle 11gR2 Express Edition в Ubuntu 12.04, следуя инструкциям Oracle 11gR2 Express Edition в Linux, Ubuntu 11.10 и столкнулись с проблемой целевой памяти Oracle /dev/shm (как описано в разделе 7. этого руководства), так как /dev/shm теперь реализован по умолчанию как символическая ссылка, как отмечено в примечаниях к выпуску Ubuntu 11.10 от /dev/shm в /run/shm, Символическая ссылка несовместима с тем, что ожидает Oracle, и это приводит к ошибке Oracle (ORA-00845: MEMORY_TARGET) при запуске базы данных.

Раздел 7) "Oracle 11gR2 Express Edition в Linux Ubuntu 11.10 howto" документирует скрипт запуска /etc/init.d/oracle-shm это предназначено для настройки /dev/shm использовать Ubuntu /run/shm Однако, похоже, это не оказывает желаемого эффекта на 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. Изменение mount линия в /etc/init.d/oracle-shm от:

    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 монтируется как временная файловая система с общей памятью.

Вот тогда вопрос.

Как я могу изменить стандартное поведение Ubuntu 12.04 (& 12.10), чтобы предотвратить символическую ссылку /dev/shm в /run/shm когда-либо создавался в первую очередь при загрузке?

действие = показать и перенаправляют =OneiricOcelot/TechnicalOverview# Обновление

1 ответ

Решение

В /etc/init/mounted-dev.conf удалить строку

 [ -e /dev/shm ] || ln -s /run/shm /dev/shm
Другие вопросы по тегам