To samo pytanie zostało zadane w przypadku awarii serwera około 8 godzin temu.
Wstrzymano do odwołania.
Odpowiedzi:
22
.dOznacza katalogu. Konwencja odróżnia konfigurację opartą na katalogu od konfiguracji opartej na pojedynczym pliku konfiguracyjnym. Często będziesz mieć zarówno trochę zdolności, na przykład jak /etc/logrotate.confi /etc/logrotate.d/.
Zwykle zdarza się również, że wszystkie (rozsądnie nazwane) pliki w takim katalogu są automatycznie łączone w jedną konfigurację. Paczki mogą następnie instalować pliki w takim katalogu i będą one używane automatycznie. Ponownie /etc/logrotate.d/jest to dobry przykład. W przeciwieństwie do tego, katalog plików konfiguracyjnych, który nie kończy się, .dprawdopodobnie zawiera po prostu losowe zestawienie plików konfiguracyjnych należących do tego samego pakietu i na przykład nie można wnioskować o sposobie ich przetwarzania /etc/zsh/.
Aby nieco rozwinąć odpowiedź Petera, ten wzór .d pozwala na łatwiejsze dodawanie i usuwanie plików konfiguracyjnych: dla danego programu .d administrator może po prostu skopiować lub usunąć plik do katalogu .d bez konieczności edycji istniejący plik konfiguracyjny.
Na przykład, jeśli chcesz dodać zadanie cron do swojego systemu, możesz edytować / etc / crontab z nowym zaplanowanym zadaniem za pomocą swojego ulubionego edytora tekstu. Jest to odpowiednie dla pojedynczego serwera lub kilku serwerów, ale spróbuj to zrobić na 100 serwerach, jeśli pracujesz w środowisku centrum danych / chmury. W tym drugim przypadku możesz użyć czegoś takiego jak sed z plikiem tymczasowym lub narzędziem takim jak ex, aby zapisać plik na swoim miejscu, ale istnieje niewielkie ryzyko, jeśli nie wykonałeś poprawnie polecenia. Rzeczywiście widziałem pliki konfiguracji całkowicie nukowane z powodu literówki w tych poleceniach edycji.
Porównaj to teraz z umieszczaniem pliku z zaplanowanymi zadaniami w /etc/cron.d. Po prostu skopiuj plik do niego, a przy następnym uruchomieniu crona (zwykle co minutę) zobaczy nowy plik i odpowiednio go prześle / przetworzy. Jest to świetne, jak twierdzi Peter, jeśli chcesz zrolować własne pakiety: plik /etc/cron.d to tylko kolejny plik w archiwum pakietów, który zostanie zainstalowany. Po usunięciu pakietu plik cron.d zostaje usunięty, a Twój cron przestaje działać.
Wreszcie, każdy program, który ma katalog .d, może mieć własną implementację, jeśli chodzi o sposób pozyskiwania plików, na przykład zastępowanie kolejności i konfiguracji. Dlatego za każdym razem, gdy zdecydujesz się umieścić plik w katalogu .d, zawsze sprawdź, czy robi to, co chcesz, i nie zakładaj, że działa tak, jak w innym programie, który ma katalog .d.
Odpowiedzi:
.d
Oznacza katalogu. Konwencja odróżnia konfigurację opartą na katalogu od konfiguracji opartej na pojedynczym pliku konfiguracyjnym. Często będziesz mieć zarówno trochę zdolności, na przykład jak/etc/logrotate.conf
i/etc/logrotate.d/
.Zwykle zdarza się również, że wszystkie (rozsądnie nazwane) pliki w takim katalogu są automatycznie łączone w jedną konfigurację. Paczki mogą następnie instalować pliki w takim katalogu i będą one używane automatycznie. Ponownie
/etc/logrotate.d/
jest to dobry przykład. W przeciwieństwie do tego, katalog plików konfiguracyjnych, który nie kończy się,.d
prawdopodobnie zawiera po prostu losowe zestawienie plików konfiguracyjnych należących do tego samego pakietu i na przykład nie można wnioskować o sposobie ich przetwarzania/etc/zsh/
.źródło
Aby nieco rozwinąć odpowiedź Petera, ten wzór .d pozwala na łatwiejsze dodawanie i usuwanie plików konfiguracyjnych: dla danego programu .d administrator może po prostu skopiować lub usunąć plik do katalogu .d bez konieczności edycji istniejący plik konfiguracyjny.
Na przykład, jeśli chcesz dodać zadanie cron do swojego systemu, możesz edytować / etc / crontab z nowym zaplanowanym zadaniem za pomocą swojego ulubionego edytora tekstu. Jest to odpowiednie dla pojedynczego serwera lub kilku serwerów, ale spróbuj to zrobić na 100 serwerach, jeśli pracujesz w środowisku centrum danych / chmury. W tym drugim przypadku możesz użyć czegoś takiego jak sed z plikiem tymczasowym lub narzędziem takim jak ex, aby zapisać plik na swoim miejscu, ale istnieje niewielkie ryzyko, jeśli nie wykonałeś poprawnie polecenia. Rzeczywiście widziałem pliki konfiguracji całkowicie nukowane z powodu literówki w tych poleceniach edycji.
Porównaj to teraz z umieszczaniem pliku z zaplanowanymi zadaniami w /etc/cron.d. Po prostu skopiuj plik do niego, a przy następnym uruchomieniu crona (zwykle co minutę) zobaczy nowy plik i odpowiednio go prześle / przetworzy. Jest to świetne, jak twierdzi Peter, jeśli chcesz zrolować własne pakiety: plik /etc/cron.d to tylko kolejny plik w archiwum pakietów, który zostanie zainstalowany. Po usunięciu pakietu plik cron.d zostaje usunięty, a Twój cron przestaje działać.
Wreszcie, każdy program, który ma katalog .d, może mieć własną implementację, jeśli chodzi o sposób pozyskiwania plików, na przykład zastępowanie kolejności i konfiguracji. Dlatego za każdym razem, gdy zdecydujesz się umieścić plik w katalogu .d, zawsze sprawdź, czy robi to, co chcesz, i nie zakładaj, że działa tak, jak w innym programie, który ma katalog .d.
źródło