Linux'ta /etc
Dizini: Tarihi ve Gelişimi
1. /etc
Dizininin Anlamı ve Rolü
Linux ve Unix tabanlı sistemlerde /etc
, sistem genelindeki yapılandırma dosyalarını içeren kritik bir dizindir. Bu dizin, sistemin temel bileşenlerinin nasıl çalışacağını belirleyen ayar dosyalarını barındırır. Genellikle kullanıcı bazlı ayarlar ~/.config
gibi dizinlerde tutulurken, sistem genelindeki yapılandırmalar /etc
içinde yer alır.
Başlangıçta "etc" kelimesi "et cetera" (Latince "ve benzeri") anlamına geliyordu. Ancak zamanla, özellikle Unix sistemlerinde, yapılandırma dosyalarının merkezi bir deposu haline geldi.
2. Tarihi ve Evrimi
UNIX Dönemi (1970'ler)
-
/etc
dizini, 1970’lerde AT&T Bell Labs tarafından geliştirilen orijinal Unix işletim sisteminde tanımlandı. -
İlk Unix sürümlerinde çekirdek yapılandırmaları, sistem servisleri ve temel komutlar için ayar dosyaları burada tutuluyordu.
-
/etc/passwd
,/etc/group
gibi kullanıcı yönetim dosyaları bu dönemde oluşturuldu.
BSD ve System V (1980'ler)
-
Unix’in BSD (Berkeley Software Distribution) ve System V sürümleri,
/etc
dizinini daha da genişletti. -
System V init sisteminin (
/etc/init.d
) tanıtılması, hizmet yönetimini yapılandırmak için/etc
dizinini daha önemli hale getirdi. -
TCP/IP ve ağ yönetimi için ayarlar (örneğin,
/etc/hosts
,/etc/resolv.conf
) burada saklanmaya başlandı.
Linux’un Ortaya Çıkışı (1990’lar)
-
Linux’un 1991’de Linus Torvalds tarafından geliştirilmesiyle birlikte Unix geleneği korundu ve Linux dağıtımları da
/etc
dizinini standart hale getirdi. -
Linux Standard Base (LSB) ve Filesystem Hierarchy Standard (FHS) gibi standartlar,
/etc
dizininin ne tür dosyalar içermesi gerektiğini belirledi. -
Linux dağıtımları RPM (Red Hat) ve DEB (Debian) paket yönetim sistemleriyle entegre edildi; yapılandırma dosyaları için
/etc
içinde paketlere özgü alt dizinler oluşturulmaya başlandı.
Modern Linux Dağıtımları (2000’ler - Günümüz)
-
Systemd’nin (
/etc/systemd
) yükselişi ile birlikte init betikleri büyük ölçüde değişti. -
Dinamik yapılandırma araçları (örn. NetworkManager, Udev) bazı dosyaların önemini azalttı, ancak manuel yapılandırmalar için
/etc
hala kritik kaldı. -
Kapsayıcı (container) teknolojileri ve bulut tabanlı sistemler ile
/etc
dizini, genellikle sabit ayarlardan ziyade şablonlarla (örneğin, Kubernetes ConfigMap’leri) yönetilmeye başladı.
3. /etc
Dizininin İçeriği ve Alt Dizileri
Günümüzde Linux sistemlerinde /etc
dizini şu önemli yapılandırma dosyalarını içerir:
-
Kullanıcı ve Grup Yönetimi
-
/etc/passwd
: Kullanıcı bilgileri -
/etc/shadow
: Kullanıcı şifreleri -
/etc/group
: Grup bilgileri
-
-
Sistem ve Ağ Yapılandırması
-
/etc/hostname
: Sistem adı -
/etc/hosts
: Yerel makine IP eşleşmeleri -
/etc/resolv.conf
: DNS yapılandırması -
/etc/network/interfaces
veya/etc/netplan/
: Ağ arayüzleri
-
-
Servis Yönetimi ve Init Sistemleri
-
/etc/init.d/
: Eski SystemV init betikleri -
/etc/systemd/
: Modern Systemd hizmet yapılandırmaları
-
-
Paket Yöneticisi Konfigürasyonları
-
/etc/apt/
: Debian ve Ubuntu için APT yapılandırmaları -
/etc/yum/
: Red Hat ve CentOS için YUM yapılandırmaları
-
-
Güvenlik ve Erişim Kontrolleri
-
/etc/sudoers
: Sudo izinleri -
/etc/ssh/
: SSH sunucu ayarları -
/etc/pam.d/
: Kimlik doğrulama modülleri (PAM)
-
4. Sonuç
-
/etc
, Unix ve Linux sistemlerinin en kritik yapılandırma dizinlerinden biridir. -
Tarihsel olarak esneklik ve merkezi yapılandırma amacıyla oluşturulmuş, zamanla modern init sistemleri ve bulut teknolojileri ile evrim geçirmiştir.
-
Günümüzde, konteyner teknolojileri ve otomasyon araçları ile doğrudan düzenlenmesi daha az gerekse de, geleneksel Linux sistemlerinde hâlâ vazgeçilmezdir.
Sistem yapılandırmalarıyla ilgilenirken, /etc
dizinini değiştirmeden önce yedek almak her zaman iyi bir uygulamadır.