- Konu sahibi
- #1
Unix, tarihsel bir işletim sistemi geleneğini anlatır; UNIX adı ayrıca The Open Group’un uygunluk programına bağlı bir markadır. Linux ise bağımsız geliştirilmiş Unix-benzeri bir çekirdektir. Kaynak kodunun kökeni, benzer çalışma davranışı ve bir ürünün sertifikası aynı ölçüt değildir. Günlük kullanımda “Linux” denirken çoğu zaman yalnızca çekirdek değil, Linux çekirdeği etrafında hazırlanmış bir dağıtım kastedilir. Bu nedenle Debian, Ubuntu veya Fedora gibi sistemlere teknik olarak GNU/Linux dağıtımları demek daha açıklayıcıdır.
Unix, çok kullanıcılı ve çok görevli çalışmayı benimseyen tarihsel bir işletim sistemi ailesidir. Komut satırı araçları, dosya hiyerarşisi, süreç yönetimi, kullanıcı ve izin modeli gibi birçok Unix fikri daha sonra başka sistemlerde de kullanılmıştır.
Karşılaştırırken şu iki kullanımı ayırın:
Linux’ın teknik olarak çekirdek olduğunu ayırmak önemlidir. Çekirdek; işlemci, bellek, disk, ağ donanımı ve çalışan süreçler arasında kaynak paylaşımını yönetir. Tek başına çekirdek, masaüstü, kabuk, paket yöneticisi ve temel komutları içeren eksiksiz bir kullanıcı sistemi değildir.
Kullanıcının kurduğu Ubuntu veya Debian gibi sistem; Linux çekirdeğini, GNU araçlarını, kütüphaneleri, servisleri, paket yöneticisini ve isteğe bağlı masaüstü ortamını birlikte sunar. Bu yüzden “Linux dağıtımı” günlük kullanımda anlaşılır bir ifade olsa da, tam bileşimi anlatırken “GNU/Linux dağıtımı” denebilir.
Bir bilgisayarın açıldığını ve terminalde
Unix tarafında da benzer komutlar, izinler, süreçler ve dosya sistemi kavramları bulunabilir. Ancak komutların seçenekleri, sistem araçlarının konumu, servis yönetimi, paketleme yöntemi ve çekirdek arayüzlerinin ayrıntıları aynı olmak zorunda değildir. Bu nedenle bir Unix komutunun Linux’ta, Linux komutunun da her Unix sisteminde birebir çalışacağı varsayılmamalıdır.
Aşağıdaki tablo, kavramların aynı düzeyde olmadığını gösterir:
Pratik karşılaştırmayı belirli iki kurulu sistem üzerinden yapın; desteklenen donanım, uygulama, komut ve bakım yöntemlerini karşılaştırın. Her Linux tabanlı sistem aynı GNU kullanıcı alanını kullanmak zorunda değildir; GNU/Linux adı bu bileşimi kullanan dağıtımlar için açıklayıcıdır.
İlki kernel adını, ikincisi çalışan kernel sürümünü gösterir. Linux sistemde ilk çıktının Linux olması beklenir. Bu komutlar lisans, sertifika veya tüm dağıtım bileşenleri hakkında tek başına kanıt değildir.
Hayır. İşlemci mimarisi, ikili arayüz, sistem kütüphaneleri ve bağımlılıklar farklı olabilir. Kaynak kodun taşınabilir olması, önceden derlenmiş paketin her sistemde çalışacağını göstermez; hedef sistem için desteklenen sürümü veya derleme yolunu kullanın.
Hayır. Standartlara uygunluk ve marka sertifikasyonu ile kaynak kodun lisansı farklı konulardır. Lisans koşullarını ilgili ürünün kendi belgelerinden, sertifika kapsamını ilgili uygunluk kaydından kontrol edin.
Unix nedir?
Unix, çok kullanıcılı ve çok görevli çalışmayı benimseyen tarihsel bir işletim sistemi ailesidir. Komut satırı araçları, dosya hiyerarşisi, süreç yönetimi, kullanıcı ve izin modeli gibi birçok Unix fikri daha sonra başka sistemlerde de kullanılmıştır.
Karşılaştırırken şu iki kullanımı ayırın:
- Belirli tarihsel Unix sistemleri ve bunlardan türeyen sistem ailesi.
- UNIX markasını kullanmak üzere Single UNIX Specification uygunluğu kapsamında sertifikalanan belirli ürünler.
Linux nedir?
Linux’ın teknik olarak çekirdek olduğunu ayırmak önemlidir. Çekirdek; işlemci, bellek, disk, ağ donanımı ve çalışan süreçler arasında kaynak paylaşımını yönetir. Tek başına çekirdek, masaüstü, kabuk, paket yöneticisi ve temel komutları içeren eksiksiz bir kullanıcı sistemi değildir.
Kullanıcının kurduğu Ubuntu veya Debian gibi sistem; Linux çekirdeğini, GNU araçlarını, kütüphaneleri, servisleri, paket yöneticisini ve isteğe bağlı masaüstü ortamını birlikte sunar. Bu yüzden “Linux dağıtımı” günlük kullanımda anlaşılır bir ifade olsa da, tam bileşimi anlatırken “GNU/Linux dağıtımı” denebilir.
Farkı somut bir örnekle anlayalım
Bir bilgisayarın açıldığını ve terminalde
ls, cp veya grep komutlarını kullandığınızı düşünün. Linux çekirdeği bu komutların dosya sistemi ve donanımla konuşmasını sağlayan alt katmandır. Komutların kendisi ise kullanıcı alanındaki araçlardır. Ubuntu gibi bir dağıtım, bu katmanları kurulabilir ve kullanılabilir tek bir sistem hâline getirir.Unix tarafında da benzer komutlar, izinler, süreçler ve dosya sistemi kavramları bulunabilir. Ancak komutların seçenekleri, sistem araçlarının konumu, servis yönetimi, paketleme yöntemi ve çekirdek arayüzlerinin ayrıntıları aynı olmak zorunda değildir. Bu nedenle bir Unix komutunun Linux’ta, Linux komutunun da her Unix sisteminde birebir çalışacağı varsayılmamalıdır.
Karşılaştırmayı doğru yapmak
Aşağıdaki tablo, kavramların aynı düzeyde olmadığını gösterir:
| Özellik | Unix | Linux | GNU/Linux dağıtımı |
|---|---|---|---|
| Ne ifade eder? | Tarihsel aile veya sertifikalı UNIX ürünü | Unix-benzeri işletim sistemi çekirdeği | Çekirdek ve kullanıcı alanı yazılımlarının bütünü |
| Kaynak ilişkisi | Tarihsel köken ile sertifikasyon ayrı ölçütlerdir | Unix kaynak kodundan türetilmemiştir | Linux çekirdeği, GNU araçları ve diğer bileşenleri birleştirir |
| Örnek | Belirli bir UNIX ürünü ve sürümü | Çekirdeğin kendisi | Debian, Ubuntu, Fedora gibi dağıtımlar |
Komut ve uyumluluk açısından pratik kararlar
- Bir rehberde “Unix” yazıyorsa önce bunun genel Unix yaklaşımını mı, yoksa belirli bir sistemi mi anlattığını kontrol edin.
- Kabuk betiği yazarken yalnızca Linux’a özgü araçlara güvenmeyin; farklı Unix-benzeri sistemlerde bulunabilecek temel POSIX davranışlarını tercih edin.
- Bir komutun çalışmaması hâlinde önce işletim sistemi adını değil, kullanılan kabuğu, komut sürümünü ve sistemdeki araç ailesini kontrol edin.
- Dağıtım düzeyindeki işlemlerde paket yöneticisi ve servis yöneticisi farklarını ayrıca inceleyin; aynı Unix geleneğinden gelen sistemler bile bu alanlarda farklı olabilir.
Kod:
uname -s
uname -r
İlki kernel adını, ikincisi çalışan kernel sürümünü gösterir. Linux sistemde ilk çıktının Linux olması beklenir. Bu komutlar lisans, sertifika veya tüm dağıtım bileşenleri hakkında tek başına kanıt değildir.
Sık sorulan sorular
Linux için derlenen bir uygulama her Unix sisteminde çalışır mı?
Hayır. İşlemci mimarisi, ikili arayüz, sistem kütüphaneleri ve bağımlılıklar farklı olabilir. Kaynak kodun taşınabilir olması, önceden derlenmiş paketin her sistemde çalışacağını göstermez; hedef sistem için desteklenen sürümü veya derleme yolunu kullanın.
UNIX sertifikası yazılımın açık kaynak olduğunu gösterir mi?
Hayır. Standartlara uygunluk ve marka sertifikasyonu ile kaynak kodun lisansı farklı konulardır. Lisans koşullarını ilgili ürünün kendi belgelerinden, sertifika kapsamını ilgili uygunluk kaydından kontrol edin.