Linux
Kısaca
Linux, çoğu sunucuyu, bulutu, konteyneri ve Android telefonu çalıştıran, genellikle dağıtım olarak paketlenen açık kaynaklı bir işletim sistemi çekirdeğidir.
Linux nedir?
Linux, bir bilgisayarın CPU'sunu, belleğini, depolamasını ve aygıtlarını yöneten ve diğer yazılımların bunları kullanmasına izin veren çekirdek programı olan, açık kaynaklı bir işletim sistemi çekirdeğidir. İlk kez 1991'de Linus Torvalds tarafından yayınlanmıştır ve GPL lisansı altında binlerce katkıda bulunan kişi tarafından geliştirilmektedir. Gündelik konuşmada Linux, bu çekirdeğin etrafında inşa edilen eksiksiz işletim sistemlerini de ifade eder.
Bu eksiksiz sistemlere dağıtım (distribution ya da distro) denir; Ubuntu, Debian, Fedora, Red Hat Enterprise Linux ve Alpine bunlara örnektir. Her dağıtım çekirdeği sistem araçlarıyla, yazılım kurmak için bir paket yöneticisiyle ve isteğe bağlı olarak bir masaüstü ortamıyla birlikte paketler. Sunucularda işlerin çoğu Bash gibi bir komut satırı kabuğunda, ls, cd, grep ve ssh gibi komutlarla yapılır.
Linux, web sunucularının ve bulut sanal makinelerinin büyük çoğunluğunu, dünyanın en hızlı 500 süper bilgisayarının her birini, Android telefonları ve yönlendirici ile akıllı televizyon gibi sayısız gömülü aygıtı çalıştırır. Konteynerlerin de temelinde yer alır: Docker ve Kubernetes, namespace'ler ve cgroups gibi Linux çekirdeği özelliklerine dayanır; macOS ve Windows'ta konteynerlerin genellikle küçük bir Linux sanal makinesi içinde çalışmasının nedeni budur. Geliştiriciler için temel Linux komut satırı becerileri DevOps'taki en yararlı becerilerdendir.
Basit bir benzetme arabadır: çekirdek motordur, dağıtım ise onun etrafında inşa edilmiş eksiksiz arabadır ve farklı üreticiler farklı modeller sunar. İnsanlar Linux'u sıklıkla Unix ile karıştırır; Linux, benzer tasarımları ve POSIX standartlarını izleyen Unix benzeri bir sistemdir, ancak sıfırdan yazılmıştır ve orijinal Unix kodu içermez. macOS ise buna karşılık sertifikalı bir Unix sistemidir, ama Linux değildir.
Önemli noktalar
- Linux açık kaynaklı bir çekirdektir; dağıtımlar tam bir işletim sistemi oluşturmak için araçlar ekler.
- Sunucuların, bulut altyapısının, süper bilgisayarların ve Android aygıtlarının çoğunu çalıştırır.
- Konteynerler, namespace'ler ve cgroups gibi Linux çekirdeği özelliklerine bağlıdır.
- Sunucular genellikle Bash gibi bir komut satırı kabuğuyla yönetilir.
- Linux, Unix benzeridir ama Unix ya da macOS ile aynı şey değildir.
Örnek
# Show the distribution and kernel version
cat /etc/os-release
uname -r
# Move into a folder and list its files with sizes
cd ~/projects && ls -lh
# Search a file for a word, check disk space, and list running processes
grep -i "error" app.log
df -h
ps aux
# Install a package (Debian and Ubuntu use apt; Fedora uses dnf)
sudo apt install htopSık sorulan sorular
Linux bir işletim sistemi mi yoksa bir çekirdek mi?
Kesin konuşmak gerekirse Linux çekirdeğin adıdır. Yaygın kullanımda sözcük, bu çekirdek üzerine kurulu, Linux dağıtımı adı verilen eksiksiz bir işletim sistemini de ifade eder; bazı insanlar çok sayıda GNU aracı içerdiği için buna GNU/Linux der.
Önce hangi Linux dağıtımını öğrenmeliyim?
Yeni başlayanlar için popüler seçenekler arasında iyi belgelenmiş ve yaygın olarak kullanılan Ubuntu, Debian ve Fedora bulunur. Bir dağıtımda öğrendiğiniz temel komut satırı becerileri diğerlerine de aktarılır.
Sunucuların çoğu neden Linux çalıştırır?
Linux ücretsiz, kararlı ve son derece özelleştirilebilirdir; ayrıca grafik arayüz olmadan iyi çalışır, bu da kaynak tasarrufu sağlar. Sunucu yazılımlarının, bulut araçlarının ve konteyner teknolojisinin çoğu da önce Linux'ta geliştirilir ve test edilir.
İlgili sayfalar
- KonteynerDevOps ve Bulut, s. 28Konteyner, bir uygulamayı bağımlılıklarıyla paketleyip ana makinenin paylaşılan işletim sistemi çekirdeği üzerinde çalıştıran hafif, yalıtılmış bir pakettir.
- DockerDevOps ve Bulut, s. 15Docker, bir uygulamayı ve ihtiyaç duyduğu her şeyi, her makinede aynı şekilde çalışan bir konteyner içinde paketlemeye yarayan açık kaynaklı bir platformdur.
- Sanal MakineDevOps ve Bulut, s. 45Sanal makine, paylaşılan fiziksel donanımda kendi işletim sistemini çalıştıran, aynı ana makinedeki diğerlerinden yalıtılmış yazılım tabanlı bilgisayardır.
- DevOpsDevOps ve Bulut, s. 13DevOps, yazılım geliştirme ile BT operasyonlarını birleştirerek yazılımın daha hızlı ve güvenilir sunulmasını sağlayan bir kültür ve pratikler bütünüdür.
- GitSürüm Kontrolü, s. 10Git, dosyalardaki değişiklikleri zamanla izleyen ücretsiz, açık kaynaklı dağıtık sürüm kontrol sistemidir; iş birliğini ve hataları geri almayı kolaylaştırır.
- Ortam DeğişkeniDevOps ve Bulut, s. 36Ortam değişkeni, programın dışında işletim sistemi ya da çalışma zamanınca ayarlanan, programın davranışını yapılandırmak için okuduğu adlandırılmış değerdir.
- BashProgramlama Dilleri, s. 2Bash, çoğu Linux sisteminde varsayılan Unix kabuğu ve betik dilidir; komutları etkileşimli yazmak ve görevleri betiklerle otomatikleştirmek için kullanılır.
- İşletim Sistemiİşletim Sistemleri, s. 16İşletim sistemi (OS), bilgisayarın donanımını yöneten temel yazılımdır; bu donanımı programlar arasında paylaştırır ve onu kullanmanın ortak bir yolunu sunar.
- sudoİşletim Sistemleri, s. 30sudo, izin verilen bir kullanıcının kendi parolasıyla tek bir komutu root ya da başka bir kullanıcının yetkileriyle çalıştırmasını sağlar ve bunu kaydeder.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin