İlkdefa Duyacaklarınız! Linux’ a Başlama Cüretinde Bulunmuş veya Merak Aşamasında olan FANİLERE Tavsiyeler :) Olacaklar için Birkaç Uyarı :) Contributor, Volunteer, Operator, Admin, Expert/Engineer, Senior, Geek, Guru, Master, DevOPS, SecOPS Kavramları.
Herkeze merhabalar.
Yukarıda ki başlığa istinaden de anlaşılacağı üzere bu başlık Linux’a yeni başlayanları baz alan Linux101 etiketi ile yayınlanan bir yazı dizisidir.
GNU/Linux’e yeni başlama aşamasında olan veya bunu düşünme kısmında tutan kişiler için söylenebilecek ilk söz mutlaka bir GNU/Linux dağıtımı kurmaları olacaktır. Aynı durum Açık Kaynak Kod yazılımlara aşina olmak isteyenler içinde enazından bir uygulamalarını Açık Kaynak Kod muadillerinden biri olmak kaydı ile tercih etmeleri tavsiyemdir. Örnek, MS-Outlook yerine Mozilla Thunderbird gibi
GNU/Linux ve Açık Kaynak Kod tarafında kariyer yapmak isteyen kişiler içinde söylenebilecek ve altı çizilmesi gereken yegane tavsiye olabildiğince Açık Kaynak Kod proje kurulumu, uyarlaması yapılması. Örnek, Postfix Mail Sunucu, Apache Web Sunucu, Vsftp FTP Sunucu gibi. Kesinlikle olabildiğince yabancı makale okumalı hatta türkçeleştirme çalışmalarına katkı vermeli. Eğer aşinalığı artırmak ve GNU/Linux da hızlanmak isteniliyorsa, mutlaka istemci tarafında da GNU/Linux bir dağıtım kullanmalı, yaşanılan sorunları raporlamayı, forumlardan, bloglardan, video sitelerinden ve mail grublarından olabildiğince faydalanılarak çözüme ulaşmayı hedeflemeli. Tüm bu gayretlerin akabinde kısavadeli çözümler yerine araştırma ve analize dayanan ayrıştırabilme, yorumlayabilme ve kalıcı çözümlerin uyarlanması konularında gayret gösterilmelidir.
Mutlaka NOT ALIN! Kendi yazdığınız, yorumladığınız NOTLAR!
Yararlanılan bir dökümanı sadece okumak ve anlık çözümü bulmak adına değil anlamayı ve daha iyi anlatmayı, etkinliklerde katılımcı olmaktan ziyade eğitmen veya konuşmacı olarak katılmayı hedefleyen bir bakış açısına sahip olmak bu yoldaki en ideal rotanız olacaktır. Çok okumaktan ve daha derinlere inmekten kaçmayın! RFC’ler okuyun, best practices’lere dikkat edin.
Linux da dosya uzantısı yok! Hatta dosya adı boşluk karakteri kullanılarakda verilebilir! Linux da bir dosyanın ismi içinde ASCII karakterler de olabilir! BÜYÜK/küçük harf ayrımı çok önemlidir! Linux de, hiyarerşik dosya adreslerinde “\” yerine “/” kullanılır ve tüm adresler öncelikle “/” ile başlar. “/” aynı zamanda en üst klasörü yani root’u simgeler! Herşey “/” bağlıdır! Linux de herşey dosyadan ibarettir, klasörler bile! Linux de tüm conf. dosyaları text bazlıdır! Linux da CLI üzerinden internete girebilir, mail okuyabilir hatta abartmak isterseniz film bile izleyebilirsiniz! Seçimi size bağlı olmak kaydı ile CLI da yazdığınız tüm komutların bilgisini tutabilirsiniz!
Her toplulukta, camiada olduğu gibi Açık Kaynak Kod ve Linux camiasında da belli tabirler ve tanımlar mevcut. Bunlara kısaca deyinecek olursak;
Community (Topluluk)
Açık Kaynak Kod Projelerin firma desteği, dernek veya gönüllülük ekseninde oluşturulan platformlardır. Bu bir blog, forum veya portalda olabilir. Bu platformlarda, genel olarak kullanıcı sorunları, destek dökümanları, eklentiler, makale paylaşımları, ilgili projenin kaynak kodu, indirilebilir hali, geliştirilme aşamasındaki versiyonu, eski versiyonları bulunabilir. Açık Kaynak Kod bir projenin güvenirliliği, stabiletisi, günceleme sıklığı kadar topluluğunun büyüklüğü de bir o kadar önemlidir.
Contributor (Katkıda bulunanlar)
Açık Kaynak Kod projelere Gönüllü olarak Kod desteğinde bulunan kişileri tanımlar. Örnek; Aktif olarak geliştirilmeye devam eden Linux Kernel için 1000 kişinin üstünde katkıda bulunan yazılımcılar mevcuttur. Bu bazen para yardımı da olabilir.
Volunteer (Gönüllülük)
Herhangibir kar amacı gütmeyen, kodlayıcılar/geliştiriciler, organizatörler, aktivistler, eğitmenler, çevirmenler, debuger’ lar, adminler, grafikerler, kullanıcılar gibi oldukça geniş bir kitleyi tanımlar.
Operator
Daha çok kullanıcı seviyesini tanımlar.
Admin
Kullanıcılara destek sağlayan, sunucu ve istemcilerin sürekliliğini sağlayan teknik sorumlu olarak tanımlanabilir. Tabi bu bazen daha üst anlamlar atfedilerek de kullanılabiliniyor.
Expert/Engineer
Daha çok Adminin aksine statik, tanımlı görevlerin dışında işin mimarisine, tasarımına da müdahele edebilen teknik uzman olarak tanımlamakta fayda var. Bu seviyede uzmanlık sahibi teknik uzmanlardan ayrıca özellikle Açık Kaynak Kod projelerin uyarlanması, uygulanması konularında da yetkinlikte olmaları beklenir.
Senior
Uzun süre Expert/Engineer olarak çalışmış deneyim sahibi kıdemli teknik uzmanı tanımlar.
Geek
Linux Geek, başlı başına Linux’e hayatını adamış olan kişiyi tanımlar. Uzmanlık seviyesi bağımsız. Bu bir gönüllü veya aktivist de olabilir. Bazen Fanatiklik, Taraftarlık olarak da algılanabilir (Tişört, Bardak, Heryerde kayıtsız şartsız savunma gibi).
Master
Linux/Unix hakkında deneyimli ve bilgili olan Senior üstü Uzmanlık seviyesi, bilgisini başkalarıyla paylaşmaya isteklidir.
Guru
Linux/Unix bilinen Seviyelerinin tamamını kapsayan bu işin ÜSTAD’lık, OTARİTELİK aşamasıdır. Burası için en bariz örnek (biraz kibirli olsa da) “Linus Torvalds” (Linux), Dennis Ritchie ve Ken Thompson (Unix-C), Richard Stallman (FOSS), Ozalp Babaoglu (BSD) ve Steve Wozniak (Apple) gibi. (Listenin tamamı; http://www.ugu.com/sui/ugu/show?I=info.unix-contrib&F=0100100&G=Y)
DevOps
Aslında kelime-kelime gidersek. Dev “Geliştirme/Yazılım” Ops “Operasyonel Süreçleri ve Sistem Adminleri” tanımlıyor. Sistemlerin, Merkezi Sistem Yönetimi ve Otomosyonel yönetimi baz alarak otonom sistemlerin tasarımı/kurulması olarak tanımlanabilir. Örnek; Docker, OpenStack, Puppet, Chef, Insable, Salt Stack gibi.
SecOps
Aslında kelime-kelime gidersek. Sec “Güvenliği” Ops “Operasyonel Süreçleri ve Sistem Adminleri” tanımlıyor. Sistem Yöneticilerinin, Güvenlik unusurunu önceleyen ve ilgili süreçleri Otonom hale getiren bakış açısıdır.Örnek; SIEM, IDS/IPS sistemlerin entegrasyonları.
Distribution – Dağıtım
Genel telefuzu “Distro” şeklindedir. Dağıtımı kısaca ifade etmek gerekirse, Linux çekirdeğinin tüm seviyelerdeki kullanıcılar için kullanıma hazır hale getirilmiş halidir. Dağıtımlar; masaüstü ortamları, kabuk, dosya sistemleri gibi temel ve metin editörleri, mp3-video oynatıcı, tarayıcı gibi de üst bileşenleri birbiriyle uyum içinde çalıştırabilecek şekilde kullanıma sunarak İşletim Sitemini meydana getirir. Popüler Linux Dağıtımları; Pardus, Debian, Ubuntu, Redhat, openSUSE, Fedora ve Arch vb.
Fork – Çatallama
Ana dağıtımların baz alan türevler olarak açıklanabilir. Örnek; Pardus bir Debian Forkudur. Yani baz aldığı temel sistem bileşenleri Debianınki ile aynıdır. Debian’a gelen herhangibir çekirdek veya güvenlik güncelleştirmesi Pardus’a da gelir.
Kernel – Çekirdek
İşletim sisteminin en temel bileşenidir. Donanımı yönetmek, sistem üzerinde çalışan işlemlerin sorunsuz çalışmasını sağlamak gibi düşük seviyeli görevler olan; Yazılım ve Donanım arasındaki bağlantının sağlanması, çalışan tüm süreç ve proğramların hafıza ile ilişkisini düzenlenmesini ve işlemcinin tüm proğramlar arasında orantılı kullanımı sağlar. Sistem açılış aşamasında belleğe yüklenir ve kapanıncaya kadar bellekte kalmaya devam eder.Bu yazı yazıldığında yayımlanan son stabil linux kernel versiyonu, 4.19.1 (2018-11-04)
Linux
Linux, GNU/Linux İşletim sistemi projesinde, bu sistemin Çekirdeğini oluşturan temel bileşendir, işletim sisteminin tamamı değildir. İşletim sisteminin tamamı GNU/Linux dağıtımı olarak tanımlanabilir. Bunlarda yukarıda belirtildiği gibi Pardus, Redhat, Debian olarak örnek verilebilir.
Shell – Kabuk
Kullanıcı ile çekirdek arasındaki etkileşimi sağlayan yazılımdır. Popüler kabuklar; Bash, SH gibidir.
Terminal – Uç Birim
Doğrudan Kabuk üzerinden tüm sistemi kontrol etmek için kullanılan arabirimdir. CLI olarak da kullanılır. Aynı zamanda GNU/Linux üzerinde toplamda öntanımlı olarak 6 adet Sanal Terminal bulunur, buda daha çok sistemin çoklu görev ve çoklu kullanıcı desteğinden kaynaklanmaktadır. Sanal terminaller arası geçişi CTRL+ALT+F1…F7 ‘ye kadar olan tuş kombinasyonları ile sanal terminaller arası geçiş yapılabilir.
Root – Kök
Kök, kullanıcı olarak (süper kullanıcı olarak da bilinir) sistemdeki her şeye erişebilen ve tüm görevleri (yönetim görevleri dahil) gerçekleştirebilen bir kullanıcıdır. UID 0 olan kullanıcıyı tanımlar ve Çekirdek dahil herşeyi silebilir, değiştirebilir. İhtiyaç olmadığı sürece root olarak oturum açılması önerilmez. Root kullanıcısına geçmek için SU veya mevcut kullanıcı yetkisini yükseltmek için SUDO komutu ile ilgili komut kullanılır. Kök, aynı zamanda Linux Dosya Hiyerarşisinin en tepesini (/) yani sisteme bağlama noktasını tanımlar. Tüm herşey / ‘e bağlıdır, bağlanır. Tüm mutlak adresler “/” ile başlar.
GUI – Grafiksel Kullanıcı Arabirimi
Grafiksel bir arayüz ile tasarlanmış yazılımların kullanılabilmesi ve PC’lerin genellikle bir fare ile kontrol edilebilmesini sağlamak için gerekli grafik sistemi sağlayan yazılımdır.
TUI – Metin Tabanlı Kullanıcı Arabirimi
Terminal kullanıcı arabirimi olarak da adlandırılan, grafiksel kullanıcı arabirimlerinin (GUI) gündeme gelmesi sonrası bir araya getirilmiş halidir. TUI’ler bilgisayar grafiklerini metin modunda görüntüler. Gelişmiş bir TUI, GUI gibi, tüm ekran alanını kullanabilir ve fare ve diğer girişleri kabul edebilir.
Desktop environment – Masaüstü Ortamları
GUI tabanlı yazılımların sistem üzerinde çalışabilmesi için kullanılan yazılım koleksiyonudur. Masaüstü ortamları genelde şu görünüm bileşenlerini sunar; simgeler, araç çubukları, pencereler, duvar kâğıtları, proğram başlatıcı çubuğu, hızlı başlat, görev çubuğu, durum çubuğu ve sürükle bırak gibi kolaylaştırıcı yetenekler. Popüler açık kaynak kod masaüstü ortamları; Gnome, KDE, XFCE, Unity, Cinnamon, MATE, Deepin gibi. Masaüstü ortamlarında öntanımlı gelen veya sonradan değiştirilebilen Pencere Yöneticileri de kullanılır. Pencere yöneticileri çerçevelerin görünümünü ve davranışını kontrol eden X istemcileridir. Popüler olarak kullanılanları; OpenBox, JWM, Fluxbox, IceWM gibi.
X Window Systems (X Server veya X veya X11) – X Pencere Sistemi
Tüm masaüstü ortamlarının kullandığı temel grafik işlevselliği sağlayan bir yazılım olmakla birlikte GNU/Linux ve UNIX türevi sistemlerde kullanılan X-Window Sistemi’nin özgürce dağıtılabilen açık kaynak kodlu bir alternatifidir. X.org, istemci/sunucu mimarisinde görüntü donanımları (ekran, fare, klavye) ile masaüstü ortamı arasında bir arayüz oluşturur. Görüntü donanımlarına erişmek için onun üstünde çalışacak yazılımlara bir arayüz sağlar. X, İnce İstemciler için Terminal Sunucu olarak yapılandırılabilineceği gibi Üzerinde X Server kurulu olan ve GUI üzerinden de kullanılabilecek yazılımları, network üzerinden herhangibir bilgisayarda ki X İstemci ile kullanabilmeye de imkan verir. Budurum bir nevi GUI üzerinden Yazılım Sanallaştırma olarak da kullanılabilir.
Software repository – Yazılım deposu
İnternetten veya ağdan veya lokal bir medyadan yüklenebilir olan genel olarak derlenmiş yazılımların yayınlandığı/bulunduğu alandır. Bu alandan genel olarak Paket Yöneticileri (Örnek YUM, APT, PiSi gibi) kullanılarak yazılımlar yüklenebilir, listelenebilir. Bir sistemde birden fazla Yazılım Deposu kullanılabilir. Genel olarak her dağıtımın kendi kararlı, geliştirilmeye devam edilen paketlerinin bulunduğu birden fazla datacenter üzerinden erişilebilir depoları mevcuttur.
Package – Paket ve Package Manager – Paket Yöneticisi
Yazılım depolarında barındırılan yüklenebilir yazılımlardır. En çok kullanılan paketler; RPM – Redhat tabanlı sistemler için kullanılır (Redhat, Fedora, Suse, Mandriva vb.). Deb – Debian tabanlı sistemlerde kullanılır (Debian, Ubuntu, Pardus, Kali vb.). Paket Yöneticisi ise Yazılım Deposunda bulunan ilgili dağıtıma göre derlenmiş paketleri bağımlılıkları ile beraber yükleyebilmeyi sağlar. Örnek YUM, APT, PiSi gibi.
Ayrıca ek olarak aşağıdakileri ele almakta fayda var;
“~” – Tilde (Kullanıcı Home alanı /home/kgc gibi)
”.” (İçinde bulunulan dizin, aynı zamanda gizli dosyalarda “.” ile başlar. regex içinde herhangibir karakter anlamına da gelir)
“..” (İçinde bulunulan dizinin bir üst dizni)
“|” – Pipe (Sinyal yönetiminde kullanılır, bir komutunun çıktısının diğer komutun girdisi olmasını sağlar)
”#” (Komut satırında “Root” olarak çalışıldığını belirtir ve yapılandırma dosyaları ve betikler içinde genel olarak açıklama alanlarını tanımlar )
Releative Path – Göreli Yol (../kgc gibi),
Absolute Path – Mutlak Yol (/home/kgc gibi)
*NIX (Linux tabanlı /OS)
Tux (Linux Simgesi “Penguen”)
Daemon (Servis)
Runlevel (Çalışma seviyesi örnek Runlevel0 : Sistem Kapanması, RunLevel6: Restart, Runlevel5:Normal ve GUI ile, Runlevel3:Normal Terminal, Runlevel1:Single Usermode gibi)
Single user (Network olmadan açılış süreci, root olarak sistem açılır ve genelde kurtarma işlemi için kullanılır)
Rescue (Grub gibi açılış yöneticileri üzerinden gerekli parametler girilerek sadece izin verilen kısıtlı sistem kurtarma komutlarrının kullanılabildiği moddur)
Multi user (Linux normal açılış sürecini ve network desteğiyle aynı anda birden fazla kullanıcya eş zamanlı işlem yapabileceği şekilde oturumun açılmasını tanımlar)
Recursive (Kullanılan komutun ilgili dizinden enalt dizin ve dosyada geçerli olmasını ifade eder)
Source Code (Kaynak kod, genel olarak tar.gz olarak derlenebilir, düzenlenebilir dosyaları ifade eder)
Wilcard -Joker Karakterler (* “Tüm karakterle eşleşen”, ? “Tek karakterle eşleşen”, [a,b,c], [a-c], [!haric], {bunlarla, eşleşmeli} gibi ifadeleri tanımlar)
Regular expression / Regex – Düzenli İfadeler ([] “Köşeli parantez içindeki karakterlerin istenilen şablonda kullanılacağını belirtir, . “Nokta ile başlayan yere herhangibir karakterin gelebileceğini belirtir”, * “Herhangibir sayıdaki herhangibir karakteri ifade eder”, [^..] ” Köşeli parantez içinde bulunan karakterler harici karakterleri ifade eder”, \{n\} “Kendisinden önceki karakterin n kez tekrar edildiğini gösterir, \{n,m\} “Kendisinden önceki karakterin enaz n enfazla m kez olduğunu gösterir”, \{n,\} “Kendisinden önceki karakterin enaz n kez olduğunu gösteriri”, \+ “Kendisinden önceki karakterin bir yada daha fazla olduğunu gösterir”, \? “Kendisinden önceki karakterin sıfır yada birkez bulunduğunu gösterir”, \| “Kendisinden bir sonraki veya bir önceki karaktere karşılık gelir, \(..\) Grup olarak düzenli ifadeleri tanımlar”, \ “Özel karakterlerin normal karakterler olarak tanımlanması”) Örnek; grep A[hl] kgc_users.txt, grep a.a kgc_users.txt, grep ^a kgc_users.txt
Human Readable (Yardım dosyalarında daha özet ve anlaşılabilir anlatımı, komut argumanı olarak kullanıldığında boyut olarak MB,GB gibi anlaşılır kapasiteleri tanımlar)
Argument (Komut parametreleri ls -l gibi l ls nin argümanıdır
WYSIWYG – Ne Görüyorsan Onu Alırsın
Tam motamot çevirisi bu olmasada anlam olarak bunu ifade eder ve özellikle VIM, NANO harici Libre, Gimp, Latex, Bluefish gibi daha gelişmiş belge ve grafik taasrımı sağlayan yazılımların ekranda görünen ile basım sonrası çıktının aynı olmasını kapsar.
FHS (Dosya Sistemi Hiyerarşisi Standardı)
Beta
Yazılımların, ürün yaşam döngüsü içinde henüz test ve geliştirme aşamasında olan yazılımı tanımlar.
Release
Test aşamasında hataları giderilmiş ve kullanılabilecek durumda olan fakat henüz destek, bağımlılıkların desteği ve kararlı olmayan yazılımı tanımlar. Release olan yazılım Stable edilmeye çalışılarak kararlı hale getirilmeye çalışılır.
LTS – Uzun Vadeli Destek
İlgili yazılımın en kararlı, güncel ve tüm destek süreçlerinin de bulunduğu versiyonudur.
Major-Minor Versiyon ve Patch Kavramları
Açık Kaynak Kod yazılımlarda ve Linux dağıtımlarında genel olarak; Major “Anasürüm numarasını”, Minor ise “Yansürüm numarasını” tanımlar. Örnek; Pardus 17.4 “Pardusun 17. anasürümünün 4.yansürümünü/patch’ini” tanımlar. Major güncelemelerde tüm yapı radikal bir şekilde değişebilirken, yan sürümlerde/patch’ler de ufak değişiklikler olur.
Örnek bir minor update de yapılan değişiklikler;
- Son kullanıcının karşılaştığı bir çok grafiksel arayüzdeki kullanım senaryosu sorunları giderildi..
- Bir çok sistem performansını etkileyen paket güncelleştirmesi ve optimizasyonu yapıldı..
- 300 ün üzerinde paketi ve yamasını içeren güvenlik güncelleştirmeleri sisteme eklendi..
- Öntanımlı internet tarayıcısı Firefox versiyonu 60.3.0 a güncellendi..
- Öntanımlı e-posta istemcisi Thunderbird versiyonu 60.2.1 e güncellendi..
- Öntanımlı media oynatıcısı olan VLC versiyonu 3.0.3 e güncellendi..
- Öntanımlı ofis döküman uygulaması Libreoffice versiyonu 6.1.3 e güncellendi..
- Yalın Sunucu sürümünde openssh-server öntanımlı olarak yüklü gelmesi sağlandı..
- İnternet ortamı olmayan kurulum senaryolarında, kurulum sonrası kaynak listesi bozukluğu giderildi..
- Açılış ekranı öntanımlı arka planı değiştirildi.
Şimdilik bu kadarla sınırlayalım ama gün geçtikçe bu sayfayı güncellemeye çalışacağım.
Yararlanılan referanslar;
|
|
|
|
|
|
|
|
|
|
|
Bu yazıyı ancak kaynak gösterek paylaşabilir veya kullanabilirsiniz. Harici yaptığınız tüm alıntı ve birebir kopyalamalar fikri haklara tabidir! Gerek etik kaideler gerekse bu yazının amacı olan felsefeye ters düşen bir durumda olunabilir, bu zihniyette olan kişiler lütfen bu camidan bu siteden çıkın! Ahlak herşeyden önce gelir.