~ / .Config ve ~ / .cache gibi dizinlerle ilgili resmi belgeler var mı?


13

Bu dizinlerin birçok uygulama tarafından kullanıldığını görüyorum ve şimdi bunları uygulamam için kullanmayı düşünüyorum. Bunun, kullanıcı başına önbellek / yapılandırma için yalnızca ay konumunun bir çeşidi değil, resmi olarak desteklenen bir klasör olduğunu nasıl bilebilirim?

Googling ve Ubuntu resmi bir şey arıyorum ama boşuna, belki başka biri bu arama belgelerinin uygun arama terimlerini veya yerini biliyor. Bu, sadece belirtilmemiş standart uygulama yeri olarak kabul etmem gereken bir şey mi?


"belki bir başkası uygun arama terimlerini bilir": Kullanımları için resmi dokümantasyondan emin değilim, ancak bunlar nokta dosyaları , daha spesifik olarak bu örneklerde nokta klasörleri olarak kabul edilir . Varsayılan olarak gizlidirler ve genellikle kullanıcı tercihlerini (~ / .config) ve önbellek (~ / .cache) gibi diğer "destek" dosyalarını kaydetmek için kullanılırlar.
Nmath

2
"Ubuntu yetkilisi" yanlış yer. Fredesktop organizasyonu tarafından -desktop-bağımlı olarak tanımlanır. Sadece Ubuntu değil. Oh ve bunlar KILAVUZLAR.
Rinzwind

1
@SergiyKolodyazhnyy dotfiles'ın nasıl geldiğinin geçmişini tartışmak ilginçtir, ancak pratikte dotfiles / dotfolders dosya yöneticileri ve bash komutları tarafından varsayılan olarak gizlidir (görünmez) dir. Bu şekilde, evet kesinlikle "gizlidir". Dosyaları bu şekilde gizlemek, son kullanıcı tarafından yanlışlıkla değiştirilmesini / silinmesini önlemek için iyi bir amaca hizmet eder - bu yüzden hala çok yaygın olarak kullanılırlar. Nokta dosyalarının, bulmak / okumak / değiştirmek imkansız olmadıkları için güvenlik için kullanılmaması gerektiğine katılıyorum.
Nmath

3
@SergiyKolodyazhnyy birkaç yöntem kendi başına% 100 etkilidir. Dotfiles'ın "hiçbir şekilde gizlenmediğini" iddia etmek, bunların kullanılmasının ana nedeni olduğu ve öncekileri eklemenin tek yararı olduğu için açıkça yanlıştır .. Tamamen görünmez mi? Hayır, olmamalılar. Hala okunabilir / yazılabilir mi? Evet, yapmalılar. Çoğu durumda görünmez mi (gizli)? Evet - mesele bu
Nmath

1
@Nmath Eh, sadece katılmıyorum kabul edelim :) Yorum bölümünün yanı sıra kapsamlı tartışmalar için değil.
Sergiy Kolodyazhnyy

Yanıtlar:


19

Evet, bir standart var: bunlar freedesktop.org tarafından belirtilmiştir ve XDG Temel Dizin Spesifikasyonlarının bir parçasıdır .

config-spec yalnızca temel gereksinimleri açıklar, ancak ayrıntılar Temel Dizin Spesifikasyonları'ndadır. ~/.configVe ~/.cacheyapılandırılmış sürece dizinleri varsayılan şunlardır:

Hangi yapılandırma dosyalarının aranması gerektiğine ilişkin bir dizi tercihli sıralı dizin vardır. Bu dizin kümesi $ XDG_CONFIG_DIRS ortam değişkeni tarafından tanımlanır.

Kullanıcıya özel zorunlu olmayan (önbelleğe alınmış) verilerin yazılacağı tek bir temel dizin vardır. Bu dizin $ XDG_CACHE_HOME ortam değişkeni tarafından tanımlanır.

...

$ XDG_CONFIG_HOME, kullanıcıya özgü yapılandırma dosyalarının saklanması gereken göreli temel dizini tanımlar. $ XDG_CONFIG_HOME ayarlanmamış veya boşsa, $ HOME / .config değerine eşit bir varsayılan değer kullanılmalıdır.

...

$ XDG_CACHE_HOME, kullanıcıya özel gerekli olmayan veri dosyalarının saklanması gereken göreli temel dizini tanımlar. $ XDG_CACHE_HOME ayarlanmamış veya boşsa, $ HOME / .cache değerine eşit bir varsayılan değer kullanılmalıdır.

Bu spesifikasyonların çoğunlukla verilerin nerede depolanacağını, hangi ortam değişkenlerinin kullanıldığını ve hangi şekilde (masaüstü nötr, verimli vb.) Olduğunu görebilirsiniz, ancak çoğu masaüstü bilgisayar "nasıl" bölümünü uygulamada serbesttir. GNOME tabanlı masaüstü bilgisayarlar, gsettingsKDE kullanıcılarının aynı şekilde kullanabileceği yerlerde kullanacak kwriteconfig, ancak her ikisi ~/.configde işlemdeki dizine güvenecek


Soru anahtar noktaları

Bunun, kullanıcı başına önbellek / yapılandırma için yalnızca ay konumunun bir çeşidi değil, resmi olarak desteklenen bir klasör olduğunu nasıl bilebilirim?

Bu dizinler resmi belgelerde yer alır ve Dosya Sistemi Hiyerarşi Standardı da bunlardan bahseder. Bu resmi belgelerdir, dolayısıyla klasörler resmi olarak desteklenmektedir.

Bu, sadece belirtilmemiş standart uygulama yeri olarak kabul etmem gereken bir şey mi?

Oluşturduğunuz uygulamaya bağlıdır. Uygulama kullanıcı başına yapılandırılabilir mi yoksa sistem üzerinden sürekli mi çalışıyor? FHS bize, sistem genelindeki şeyler için kullanmamız gerektiğini /etcveya /usr/localXDG dizinlerinin kullanıcıya özel yapılandırmalar için kullanılması gerektiğini söyler - ~/.cacheve ~/.config. Tabii ki, uygulama kullanıcıya özgü ayarlara bağlı değilse, kullanıcı başına dizin yerine / var / cache kullanılabilir. Tabii ki, konfigürasyonları ve önbelleği orada tutmak için her zaman tek bir ~/.appname.confdosya, bir ~/.appname.db veya ~/.appname/dizine sahip olabilirsiniz , ancak bu standart değildir; "kötü" değil - sadece standart dışı.

Ayrıca bakınız


ehm bunu benden önce mi gönderdin? ya da sırasında? > :)
Rinzwind

@Rinzwind Cevabınızdan hemen önce :) Zaman çizelgesine bakın askubuntu.com/posts/1151791/timeline
Sergiy Kolodyazhnyy

Bunu yapmana izin vereceğim: =)
Rinzwind

Ah harika, daha derin kazmış olmalıydım, bilgi için teşekkürler.
Danny A

POSIX'in hangi kısmı dizin kullanımı hakkında konuşuyor?
Chepner
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.