Linux İkili Dizinleri Açıklandı
Linux’ta ikili dosyalar, sistem üzerinde çalıştırılabilen derlenmiş kod içeren çalıştırılabilir dosyalardır. Bu ikili dosyalar, diğer sistem araçlarıyla birlikte, dosya sistemindeki belirli dizinlerde saklanır. Bu dizinleri anlamak, yazılımı yönetmek ve komutların ve uygulamaların nasıl yapılandırıldığını anlamak için gereklidir. İşte temel Linux ikili dizinlerinin bir açıklaması:
1. /bin (Temel Kullanıcı İkilileri)
- Açıklama: Bin dizini, sistemin önyüklenmesi ve kullanıcının sistemi tek kullanıcı modunda çalıştırması için gerekli olan temel ikili yürütülebilir dosyaları içerir. Bu komutlar genellikle dosya yönetimi, kabuk komut dosyaları ve sistem tanılama gibi temel işlemler için kullanılır.
- Komut Örnekleri: ls, cp, mv, cat, bash, echo, grep.
- Kullanım Şekli: Bu ikili dosyalar temel sistem işlevleri için gereklidir ve diğer dosya sistemleri (/usr gibi) takılı olmasa bile kullanılabilir.
Not: Birçok modern Linux sisteminde /bin, daha birleşik bir dosya sistemi yapısına doğru bir hareketin parçası olan /usr/bin’e sembolik bir bağlantıdır.
2. /sbin (Sistem İkilileri)
- Açıklama: Sbin dizini, ağ yapılandırması, dosya sistemlerinin yönetimi ve sistem onarımı gibi sistem yönetimi görevleri için kullanılan temel sistem ikili dosyalarını içerir. Bu komutlar öncelikle sistem yöneticisi (root kullanıcısı) tarafından kullanılır.
- Komut Örnekleri: fsck, ifconfig, reboot, shutdown, mkfs, mount.
- Kullanım: Bu ikili dosyalar sistem önyüklemesi ve onarımı için çok önemlidir ve /usr dosya sistemi takılı olmasa bile kullanılabilir hale gelir.
Not: /bin gibi, birçok sistem artık /sbin’i /usr/sbin’e bağlamaktadır.
3. /usr/bin (Kullanıcı İkilileri)
- Açıklama: Usr/bin dizini, önyükleme veya tek kullanıcı modu için gerekli olmayan standart kullanıcı komutlarının ve yardımcı programların çoğunu içerir. Bu, kullanıcı veya paket yöneticisi tarafından yüklenen çok çeşitli uygulamaları ve yazılımları içerir.
- Komut Örnekleri: vim, nano, git, python, perl, gcc, curl.
- Kullanım şekli: Bu dizin, kullanıcı düzeyinde komut satırı programlarının çoğunu bulacağınız yerdir. Genellikle sistemdeki en büyük ikili dosya koleksiyonudur.
4. /usr/sbin (Temel Olmayan Sistem İkilileri)
- Açıklama: Usr/sbin dizini, gerekli olmayan sistem yönetimi ikililerini içerir. Bu ikililer genellikle sistem yöneticisi tarafından kullanılmak üzere tasarlanmıştır ancak sistemin tek kullanıcılı modda çalışması için gerekli değildir.
- Komut Örnekleri: apache2, nginx, useradd, userdel, iptables.
- Kullanım: Bu ikili dosyalar genellikle kullanıcı hesaplarını, ağ hizmetlerini ve diğer sistem düzeyi yapılandırmaları yönetmek için kullanılır. Temel kullanıcı görevleri için gerekli değildirler ancak sistem bakımı ve yönetimi için önemlidirler.
5. /usr/local/bin (Yerel Olarak Yüklenmiş Kullanıcı İkilileri)
- Açıklama: Usr/local/bin dizini, sistem genelinde erişilebilir olması amaçlanan kullanıcı tarafından yüklenen yazılımları ve komut dosyalarını depolamak için kullanılır. Genellikle sistemin paket yöneticisi tarafından yönetilmeyen ikili dosyalar için kullanılır.
- Örnekler: Özel komut dosyaları, üçüncü taraf yazılımlar veya manuel olarak derlenen ve yüklenen programlar (örneğin, kaynaktan derlediğiniz yazılımlar).
- Kullanım şekli: Bu dizin genellikle kullanıcının PATH ortam değişkenine dahil edilir ve elle yüklenen özel komutların veya uygulamaların çalıştırılmasını kolaylaştırır.
6. /usr/local/sbin (Yerel Olarak Yüklenmiş Sistem İkilileri)
- Açıklama: Usr/local/sbin dizini /usr/local/bin dizinine benzer ancak kullanıcı tarafından manuel olarak yüklenen sistem yönetimi ikilileri için tasarlanmıştır.
- Örnekler: Özel yönetim komut dosyaları, yönetim yardımcı programları veya elle derlenmiş sistem araçları.
- Kullanım şekli: Genellikle elle yüklenen araçları sistemin paket yöneticisi tarafından yönetilenlerden ayrı tutmak isteyen sistem yöneticileri tarafından kullanılır.
7. /opt (İsteğe Bağlı veya Üçüncü Taraf Yazılım)
- Açıklama: Opt dizini, ek veya üçüncü taraf yazılım paketlerini yüklemek için kullanılır. Buraya yüklenen yazılımlar genellikle kendi kütüphaneleri ve ikili dosyaları ile bağımsızdır. Her uygulama veya paket genellikle /opt içinde kendi alt dizinine yerleştirilir.
- Örnekler: /opt/google/chrome, /opt/lampp (XAMPP kurulumu) veya diğer tescilli yazılımlar.
- Kullanım şekli: Genellikle standart Linux dizin düzenini takip etmeyen yazılımlar için veya kullanıcı belirli uygulamaları ana sistemden ayrı tutmak istediğinde kullanılır.
8. /lib, /usr/lib, /lib64 ve /usr/lib64 (Kütüphaneler)
- Açıklama: Bu dizinler /bin, /sbin, /usr/bin ve /usr/sbin içindeki ikililer tarafından ihtiyaç duyulan paylaşılan kütüphaneleri içerir. Kütüphaneler, çeşitli programlar tarafından kullanılabilecek temel işlevleri ve rutinleri sağlar.
- Örnekler: libc.so, libssl.so gibi .so dosyaları (paylaşılan nesneler).
- Kullanım: Bu dizinlerde saklanan kütüphaneler, çalışma zamanı sırasında uygulamalar tarafından ağ bağlantılarını idare etmek veya donanımla etkileşim kurmak gibi ek işlevler sağlamak için kullanılır.
Not: /lib ve /usr/lib arasındaki fark esas olarak tarihseldir. Birçok modern sistemde, /lib’in içeriği /usr/lib’deki benzerlerine sembolik bağlantılar olabilir.
Sonuç
Linux ikili dizinlerini anlamak, yazılımı yönetmek, sorunları gidermek ve sistem kaynaklarının uygun şekilde kullanılmasını sağlamak için çok önemlidir. Bu dizinlerin her biri farklı bir amaca hizmet ederek kullanıcı seviyesi komutları, sistem seviyesi komutları ve kütüphaneleri mantıklı bir şekilde organize etmeye yardımcı olur. Bu bilgi sayesinde kullanıcılar ve yöneticiler Linux ortamlarını daha iyi yönetebilir ve ikili dosyaların uygun konumlardan yüklenmesini ve çalıştırılmasını sağlayabilirler.