/ var / run neden / çalıştırıldı?

66

Ubuntu 11.10 Oneiric'in teknik özeti :

  

Ubuntu 11.10, /var/run , /var/lock ve /dev/shm adresinden taşındı ve şimdi bunun yerine /run , /run/lock ve /run/shm kullanır (sırasıyla).

  • Bu yolları uygulamalarımda kodlarım, neden bu değişiklik Oneiric'e yapılmalı?
  • Uygulamalarımı geriye ve ileriye uyumlu hale getirmek için ne yapabilirim? İlk /run ve sonra /var/run varlığını kontrol etmek için daha iyi bir yol var mı?
sordu Lekensteyn 16.08.2011 11:08

5 cevap

57

Amaç, tmpfs dosya sistemlerinin sayısını azaltmaktır. 11.04'te, tmpfs , /var/lock ve /var/run de ayrı /dev/shm dosya sistemi vardır. Bu dizinlerin tümü tek bir ana dizin altındaysa, yalnızca% tek bir% co_de gerekli olacaktır. Ayrıca, yeniden başlatmalar üzerinde ısrar etmemesi gereken çalışma zamanı durumu verileri için açık bir konum sağlar.

Uygulamanız kurallı dosya yollarına bağlı olmadıkça, eski konumların yeni olanlara bağlanması nedeniyle uygulamanız değişiklik yapmadan çalışmalıdır. AppArmor ilkeleri, gerçek yol adlarına bağlı olan bir durumdur, bu nedenle özellikle belirtilmiştir.

Aşağıdaki bağlantılar gerekçeyi açıklamaya yardımcı olmalıdır:

verilen cevap James Henstridge 16.08.2011 11:56
36
  1. /run , geçici durum dosyalarının depolanması için yeni bir çapraz dağıtımlı tmpfs konumudur; yani, önyükleme işleminin başlarında önceden yazılması gerekebilecek veya gerekmeyen veya gerektirmeyen çalışma zamanı bilgilerini içeren dosyalar yeniden başlatmalarda koruma.

    /run dizininin kullanılabilir hale getirilmesi, sistemi normal olarak root dosya sistemiyle salt okunur olarak, aufs/unionfs bindirmeleri gibi herhangi bir karmaşık geçici çözüm gerektirmeden kullanmanın mümkün olduğu noktaya bir adım daha yaklaştırır.

    /run , Dosya Sistemi Hiyerarşi Standardında açıklanan mevcut birkaç konumun yerini alıyor:

    • /var/run/run
    • /var/lock/run/lock
    • /dev/shm/run/shm [şu an sadece Debian bunu yapmayı planlıyor]
    • /tmp/run/tmp [isteğe bağlı; Şu anda sadece Debian bunu sunmayı planlıyor]
    • /run ayrıca geçici dosyalar için kullanılan diğer bazı konumların yerini alıyor:

    • /lib/init/rw/run

    • /dev/.*/run/*
    • /dev/shm/*/run/*
    • /etc yazılabilir dosyaları% → /run/*

    (bu yüzden muhtemelen bunların beklemesini bekleyebilirsiniz).

    Kaynak: debian yayın hedefleri

  2. Bu dizinleri değişken olarak belirlediğiniz, bu değişkenleri kullanmak için kodunuzu değiştirdiğiniz ve sonra da kullanılan sisteme bağlı olarak değişkenleri değiştirdiğiniz yazılımınızda bir bölüm oluşturmanızı tavsiye ederim (ama bahse girerim zaten).

verilen cevap Rinzwind 16.08.2011 11:50
5

Okuduğum kadarıyla, bu neden / run tanıtıldığı için verilen orijinal açıklamaydı. İşte

    
verilen cevap gotunandan 16.08.2011 11:49
3

Not: Giriş / çalışma tanıtımı, küçük yapılandırmalar sorun yaşayabilir. Ubuntu sunucum 256Mo RAM'tır ve / run varsayılan olarak 49Mo'ya ayarlanmıştır.
Başlangıçta dosya sistemini dolgunluğa kadar doldurur.
Fstab'ta değişiklik yapmak tempfs / run boyutunu artırmak için çalışmaz. Gg'de bulduğum diğer prosedürler de değil. Init betiğine eklenecek çözümü buldum: /etc/rc.local line     % Co_de% başlangıçta genişletmek için. (85M benim için geçerlidir.)

    
verilen cevap korrident 02.09.2012 14:48
2

Bu /run yollarından hiçbirini kodlamamalısınız!

  • /var/run değerini kullanın, çünkü eğer varsa bir sembolik bağlantı%% co_de uygulanacaktır
  • /run , yukarıdakiyle aynı
  • Şimdiye kadar /var/lock kodunu kodlamayın, her zaman /dev/shm etc kullanın (posix API'sı)
verilen cevap ramslök 10.07.2012 13:45

Etiketlerdeki diğer soruları oku