Linux Dersleri #1 Linux Nedir

'pump

Uzman üye
9 Ara 2022
1,390
2,994
Ağ Kablolarında Geziyor
logo.png





Tüm TürkHackTeam ailesine selamlar.
Bu gün bu konuda Linux dersleri göreceğiz...
Alıntılar şu şekilde yapılmaktadır ; elimden geldiği kadar temize çekip birden fazla kaynaklardan bakıyorum. Bu konuda ki kaynağım githubdan'dır.
Alıntı yapma sebebim bizim forumuzda olmayan çok işe yarar güzel makaleler var,bunları hepinize duyurmak istiyorum. Ben buraya sadece kaynak linkini atıp gitsem icap etmez.
Bir diğer formumuza taşımamım sebebi ise yardım da açılan konular. o arkdaşlara dış kaynaklardan link atmak yerine neden o yararlı kaynaklar bizim forumuzda olmasın link yerine konumuzun linkini neden atmayalım demi ? :)
Sizlerede güzel makaleler bulmak için bende araştırmadan kaçınmıyorum, hem ben öğreniyorum hem konumu açıyorum.

UZUN BİR KONU BİZİ BEKLİYOR...


Bu Eğitim Kimler İçin ?

Bu eğitim serisi, Linux sistemlerini nasıl yönetebileceğimizi sıfırdan başlayarak sıralı şekilde ele aldığımız temel konu anlatımlarından oluşturulmuştur. Linux sistem yönetiminin temellerini bildikten sonra isterseniz buradaki bilgileri; sistem yönetimi alanına giriş yapmak, gündelik işleriniz yani kişisel kullanım için ya da siber güvenlik gibi Linux bilmenin elzem olduğu farklı disiplinlerde kullanabilirsiniz. Özetle bu eğitim hobi meslek hangi amaçla olursa olsun sıfırdan Linux öğrenmek ya da tekrar etmek isteyen herkes için kolay takip edilebilir sıralı ve düzenli bir temel eğitim imkanı sunuyor. Eğer daha önce Linux sistemini kullanmak istediyseniz ve öğrenmeye nereden başlayacağınız konusunda kafa karışıklığı yaşadıysanız hiç endişelenmeyin. Tüm anlatımları sıfırdan ve öğrenmenizi kolaylaştıracak şekilde sıralı olarak ele alıyor olacağız.

Önsöz

Öncelikle sizleri temin ederim ki Linux kesinlikle öcü değildir. Eğer müfredat sırlamasına riayet ederek temel çalışma yapısına hakim olursanız, kullanması yani yönetmesi son derece keyifli ve kolay olan bir işletim sistemidir. Dijitalleşen dünyamızda ulusal özgürlüğün önemli bir parçasının özgür işletim sistemleri olduğunu düşündüğüm için; dileyen herkesin en azından kendi ihtiyaçlarını karşılayabilecek düzeyde temel Linux bilgisine kolayca ulaşabilmesi adına bu sıralı dokümanı sizlere sunuyorum. Kendinize ve hepimizin geleceğine yatırım yapmak için dokümanı takip edebilir ve tüm tanıdıklarınızla dokümanı özgürce paylaşabilirsiniz.

Baştan belirteyim ben sizlere kesinlikle balık vermek niyetinde değilim çünkü benim vereceğim balık size yeterli büyüklükte ya da yeterince taze gelmeyebilir. Benim amacım sizlere nasıl balık tutacağınızı öğretmek. Sizler öğrendiğiniz bu bilgiler ile ihtiyacınıza göre ister küçük isterseniz de kendinizi geliştirip çok daha büyük balıklar tutabiliyor olacaksınız. Bu yolda merak bizim öğretmenimiz olacak.


Girizgah

İşletim sistemi dediğimizde aklınıza ne geliyor ?

İşletim sistemlerini; pek çok farklı amaca hizmet eden bileşenlerin, kullanıcıdan aldığı emirleri yerine getirmek için bir bütün halinde uyum içerisinde çalışması şeklinde tanımlayabiliriz. Elbette bu tanımlama tek başına işletim sistemin ne olduğu ve nasıl çalıştığını ifade etmek için yetersiz. Ancak bütünü anlamada, eğitim süreci boyunca bizlere yardımcı olabilir. Şimdi sırasıyla GNU/Linux işletim sistemini tanımamızı sağlayacak temel kavramlardan bahsederek anlatıma devam edelim.


ℹ️ Not: Buradaki anlatımlar ileride ele alacağımız teknik anlatımların kritik olan temelini oluşturduğu için atlamadan devam etmeniz son derece önemli. Yani bu bölümde ele aldığımız anlatımlar en az teknik anlatımlar kadar gereklidir ve herkesin kolay takip edebilmesi için sıfırdan ele alınmıştır. Zaten anlatımlar tarihi detaylardan ziyade konuyu kavramamız için gerekli olan bilgilere odaklandığı için çok tarihi detaylara değinmeyeceğiz. Eğer bahsi geçen çalışmaların tarihi detaylarını öğrenmek isterseniz wikipedia gibi harici kaynaklar size pek çok tarihi detay sağlayacaktır. Bir an önce sistemi kurup teknik anlatımlara ve uygulamalara geçmek istediğinizi biliyorum. Ancak lütfen biraz sabırlı olun ve bu bölümün tüm eğitimin önemli bir parçası olduğunu unutmayın.


Linux Nedir ?

Başlamadan.. Şunu bilin ki Linux tek başına işletim sistemi değil çekirdektir!

UNIX

Bu kısımda, çok tarihi veya çok teknik olmayan bir üslupla, Linux hakkında genel bilgi sahibi olmanızı sağlayacak şekilde Linux'un ortaya çıkış hikayesini ele alacağız.

Zamanında
Bell Laboratuvarı'nda geliştirilen UNIX adında bir işletim sistemi vardı. Bu sistem kendi bünyesinde bulundurduğu araçları sayesinde çeşitli üniversiteler ve diğer ihtiyaç duyulan kurumlarda kullanılıyordu. Buraya kadar her şey gayet güzel ancak Unix lisans ücreti istiyordu ve tabii ki bu durum sistemi kullanabilecek kişilerin sayısını da oldukça azaltıyordu. Yani insanlar ihtiyaç duysalar dahi lisans ücretinden dolayı bu sistemi kullanamıyorlardı. Bunun sonucunda "para ödemek yerine bende kendi işletim sistemimi yazarım" diye düşünenler ortaya çıktı ve bu da UNIX'e mecbur olunmadığı, eğer istenirse yeni bir sistemin yazılabileceği düşüncesini ortaya koydu. Bunun sonucunda birçok işletim sistemi geliştirme girişimleri oldu ancak sonuçta geliştirilen sistemler stabil şekilde çalışmıyorlardı. Tabi bu durum sonsuza kadar böyle kalmayacaktı..


Linus Torvalds

Bir efsanenin doğuşu..
Linus.png


Buraları her ne kadar istemesem de kısaca geçmek durumundayım ama eğer "Linux kullanıyorum" demek istiyorsanız kesinlikle bu konuları araştırın ve ayrıca Revolution OS belgeselini de mutlaka izleyin derim.

İnsanların lisans ücretinden kaçmak için kendi işletim sistemini yazma akımı devam ediyorken bu durum Linus Torvalds'ı da etkilemiş olacak ki Linus, UNIX'ten esinlenerek
Helsinki Üniversitesi'ndeyken kendi işletim sistemi çekirdeğini yazdı. UNIX'ten esinlendi ancak bunu hiçbir kod alıntısı yapmadan sıfırdan yazarak başardı. Daha sonra Linus, bu geliştirdiği çekirdeğin çeşitli insanlara ve gruplara(geliştirici topluluklar vb..) ulaşmasını sağlayarak, insanların verdiği dönütlerle düzenlemeler yaptı. Böylelikle Linus, çekirdeğin daha da kullanışlı hale gelmesini sağlamış oldu. Ve en nihayetinde Linus, bu geliştirdiği çekirdeğe(kernel) "Linux" adını verdi. Ancak Linux bir çekirdekti ve içerisinde UNIX gibi kullanışlı araçları bulundurmuyordu.

Linux cephesinde bunlar yaşanıyorken Richard Stallman'da , GNU genel kamu lisansını ortaya atarak özgür yazılımı savunuyordu. Nedir bu
genel kamu lisansı ve özgür yazılım diyecek olursanız lütfen okumaya devam edin.






GNU

gnu.png

GNU (Gnu is Not Unix/GNU Unix Değildir), açık kaynak hareketi doğrultusunda geliştirilen araçların içinde bulunduğu ücretsiz ve herkes için ulaşılabilir özgür bir işletim sistemidir. Ancak GNU için her şey her daim güllük gülistanlık değildi. GNU, içerisinde kendine ait güçlü araçları bulundurmasının yanı sıra kararlı bir çekirdeğe sahip değildi. Çekirdek için denemeler yapılmış ancak istenen düzeyde kararlı bir çekirdek oluşturulamamıştı.

Tam da bu noktada
Linus Torvalds'ın sıfırdan geliştirip topluluğa sunduğu çekirdek(Linux) yazılımı, GNU ile tencere kapak uyumu olacak şekilde bir araya geldi. Böylelikle ortaya bir GNU/Linux efsanesi çıktı. İşte GNU/Linux devrimi kısaca bu şekilde oldu. Hem GNU'nun hem de Linux'un topluluğa bağlı dönütlerle geliştirilmesi doğrultusunda herkese açık, ücretsiz ve sınırsız geliştirilme potansiyeline sahip, gerçek anlamda insana hizmet eden özgür bir işletim sistemi ortaya çıkmış oldu.




Sonuç Olarak
gnu-linux.png

Anlatımın başında da söylediğimiz şekilde; Linux bir işletim sistemi değil, çekirdektir(kernel). GNU/Linux bütünü bir işletim sistemidir. Ancak genellikle söylenmesi uzun veya zor geldiği için, zamanla sadece Linux olarak geçmeye başlamıştır. Ben de yazılarımda GNU/Linux yerine Linux kullanıyor olacağım. Ancak emin olun çekirdekten(kernel) yani Linux'tan bahsettiğimde ve GNU/Linux(işletim sistemi)'tan bahsettiğimde hangisini kastettiğimi anlıyor olacaksınız. Ayrıca söz konusu Linux olduğunda sürekli karşınıza çıkacak olan penguen logosu, Linux'un "tux" olarak ifade edilen maskotudur.

GNU/Linux sisteminin ortaya çıkış hikayesini teknik ya da tarihi detaylara girmeden, daha fazlasını araştırmak istediğinizde referans noktalarınız olacak şekilde ele aldık. Biz şimdi sıklıkla duyacağımız bir diğer önemli konu olan "
dağıtım" kavramı ile anlatımlarımıza devam edelim.





Dağıtım(Distro) Nedir ve Hangisini Seçmeliyiz ?

İngilizce “distro” olarak geçen “dağıtım” kavramını açıklamadan önce, GNU/Linux sisteminin yapısını iyi anlamamız gerekiyor.
GNU/Linux’un, içerisinde sistemin yönetilebilmesini sağlayan pek çok farklı aracı barındıran sistem bütününe verilen genel isim olduğunu öğrendik.


gnulinux.png


GNU/Linux dediğimiz sistem bütünü de zaman içerisinde insanların ihtiyaçlarına göre farklı dağıtımlar altında özelleştirilerek çoğalmıştır. Bu özelleştirmenin ne anlama geldiğini öğrenmek için burada bahsi geçen araçların neler olduğunu iyi kavramamız gerekiyor.

dagitim.png


Tüm GNU/Linux dağıtımların ortak özelliği Linux çekirdeğini kullanmasıdır. Peki ama "Linux" yani "çekirdek" dediğimiz yapının görevi tam olarak nedir ?

Çekirdek, yazılımlardan yani kullanıcının kullandığı araçlardan gelen emirleri donanıma yaptırmakla mükellef yapıdır. Burada bahsi geçen araçlar basit bir metin editörü ya da daha farklı herhangi bir işlevsel yazılım olabilir. Örneğin bizler basit bir metin hazırlamak ya da sisteme program yüklemek hatta herhangi bir dosyayı görüntülemek için aslında ne yapıyoruz? Bize bu imkanı sunan aracı çalıştırıp işimizi hallediyoruz değil mi ? İşte işletim sistemi dediğimiz şey de aslında biz kullanıcıların doğrudan ya da dolaylı olarak kullandığı araçlar bütününe verdiğimiz isimdir. Bizler işimizi halletmek üzere aracımızı kullanır gerisine karışmayız.




kernel_sema.png

İşte burada bahsi geçen araçlar zaman içerisinde farklı ihtiyaçlara hitap edebilecek şekilde bir araya getirilip bir çok alt işletim sistemini yani dağıtımları ortaya çıkarmıştır. Özetle Linux dediğimiz çekirdek yapısı tüm dağıtımlarda ortaktır ancak dağıtımların içerisinde varsayılan olarak yüklü gelen araçlar ihtiyaçlara göre özelleştirilmiştir. Bu özelleştirmenin sonucunda da “dağıtım-distro” kavramı ortaya çıkmıştır.

Bu konunun teknik ayrıntılarına ileride ayrıca değinmiş olacağız. Bu sayede bahsetmiş olduğumuz pek çok kavram yerli yerine oturmuş olacak. Dağıtım kavramının şimdilik daha net anlaşılabilmesi için teknik anlatımın dışında gerçek hayattaki duruma örnek göstermemiz gerekirse; örneğin sunucu yönetiminde grafiksel arayüze ihtiyaç duyulmayacağından sunucu için kullanılan dağıtımın grafiksel arabirim araçlarına ihtiyacı yoktur. Çünkü grafiksel arayüz profesyonel kullanımda performansı ve yapılabilecek işlerin çeşitliliğini potansiyel olarak düşürebilir. Bu duruma benzer şekilde, örneğin ev ya da ofis kullanıcıları için de grafiksel arayüz önemlidir ve bu kullanıcılara hitap eden dağıtımlar da bu durumu dikkate alarak grafiksel arabirimlerini kullanıcıların rahat yönetebileceği şekilde seçerler. Yani profesyonel sunucu yönetiminde yöneticilerin her türlü işini komutlar ile çözebilmesi beklenirken, sıradan kullanıcılar her işini komutlar ile çözmek istemeyebilir. Örneğin sıradan kullanıcı web üzerinde gezinti yapıp video izlemek isteyebilir ancak sunucuyu yöneten kişilerin böylesi bir işleme ihtiyacı yoktur. Çünkü sunucuyu yöneten insanların beklentisi sunucuyu vermli şekilde yönetip denetlemektir. Örneğimizi şimdilik daha fazla uzatmaya gerek yok, eğitim içerisinde ihtiyaçlar meselesinin neye göre değiştiğini zaten bizzat görmüş olacaksınız. İşte tıpkı örneğimizde olduğu gibi zaman içerisinde pek çok farklı amaç için pek çok farklı dağıtım ortaya çıkmıştır. Elbette ihtiyaçlara cevap verecek dağıtımlar oluşturabilmenin en temel dayanağı açık kaynak ve özgür yazılım felsefesidir. Bu durum da bizlere açık kaynağın ve özgür yazılım ilkelerinin ne kadar değerli olduğunu bir kez daha hatırlatıyor.

Konumuza dönecek olursak piyasada pek çok farklı türde dağıtım bulunuyor. Tüm bu dağıtımlar hakkında bilgi almak üzere DistroWatch.com: Put the fun back into computing. Use Linux, BSD. adresini ziyaret edebiliriz. Bu sayfa üzerinden herkesin kullanımına açık olan pek çok dağıtım hakkında bilgi almamız mümkündür. Hatta hangi dağıtım son zamanlarda ne kadar popüler olduğunun bilgisine dahi buradan ulaşabiliriz. Popüler dağıtımlara Debian, Monjoro, Mint, Ubuntu, Fedora ve benzer pek çok dağıtımı saymamız mümkündür. Pek çok dağıtımın varlığından haberdar olduğumuzda, aklımıza tek bir soru geliyor;


Peki ama biz hangi dağıtımı seçmeliyiz yani hangi dağıtım bize daha uygun ?

Aslında bu sorunun cevabı sizin hangi amaçla bu sistemleri kullanmak istediğinize bağlı olarak değişir. Ancak bizim bu eğiti serisi içerisinde ele alacağımız dağıtım türü, "Debian tabanlı" olan dağıtımlardır. Peki ama “Debian tabanlı dağıtım” da ne demek ?

Debian tabanlı dağıtım, isminden de anlaşılacağı gibi Debian dağıtımını temel alarak oluşturulmuş alt dağıtımlara verilen genel isimdir. Debian dağıtımı oldukça köklü olan bir dağıtım türüdür. Linux çekirdeği etrafında stabil şekilde çalışan pek çok araç ekleyerek zaman içerisinde sorunsuzca çalışan bir dağıtım halini almıştır. Stabil şekilde çalıştığı için, farklı amaçlarla dağıtım oluşturmak isteyen kişiler sıfırdan oluşturmakla uğraşmak yerine Debian dağıtımını değiştirerek isteklerine uygun dağıtımlar oluşturmuşlardır. İşte Debian dağıtımını amaçları doğrultusunda değiştirip yeni bir dağıtım olarak sunan sistemlere "Debian tabanlı dağıtımlar" deniliyor. Benzer durum diğer ana dağıtımlar için de geçerlidir. Örneğin Pardus başlarda bağımsız şekilde sıfırdan geliştiriliyorken bu bağımsız sürüm bırakılarak, Debian dağıtımı üzerinden tekrar geliştirileren Debian tabanlı dağıtım halini almıştır.

Distro watch üzerinde gördüğümüz pek çok dağıtım
Debian gibi oldukça köklü olan ana dağıtımların özelleştirilmesi ile oluşturulmuştur. Hatta dağıtımların açıklamalarına tek tek göz attığınızda Ubuntu, Mint, Kali, Pardus ve benzeri pek çok dağıtımın aslında Debian tabanlı olduğunu görebilirsiniz. Bu dağıtımların Debian tabanlı olması demek temel yönetim araçlarının ortak olması demektir. Örneğin Debian tabanlı dağıtımlar paket yönetimi için yani sisteme program yükleyip kaldırma gibi işlemler için ortak olarak apt (Advanced Package Tool- Gelişmiş Paketleme Aracı) isimli aracı kullanır. Yani örneğin siz "Pardus" da kullansanız "Kali Linux" da kullansanız apt paket yönetim aracı varsayılan olarak yüklü gelecektir. İşte bizler de bu eğitimde Debian tabanlı dağıtımları nasıl yönetebileceğimizi öğrenmiş olacağız. Yani sizler burada yer alan anlatımları dilerseniz Kali Linux haricindeki Debian tabanlı (Pardus, Ubuntu, Mint, Parrot, Deepin, vb..) olan herhangi bir dağıtımdan da rahatlıkla takip edebilirsiniz.

Benim anlatımları
Debian tabanlı dağıtım üzerinden gerçekleştiriyor olma nedenim, kullanımının hem profesyonel hem de standart ev kullanıcıları arasında yaygın olmasıdır. Debian dağıtımları, standart ev kullanıcılarından tutun da dünya çapında hizmet sunan Google gibi şirketlerin sunucu altyapılarına kadar, pek çok farklı alanda yaygın kullanıma sahiptir. Öğrenmesi ve kullanması kolay olduğundan ve öğrenmenin bizlere sunacağı katkıdan dolayı Debian GNU/Linux dünyasını tanımak için iyi bir başlangıç noktasıdır. Ayrıca Pardus işletim sistemimizin de Debian tabanlı olduğunu dikkate alarak, Debian dağıtımları üzerinden ilerlemenin doğru bir yaklaşım olduğunu düşünüyorum.

Ben anlatımlar sırasında siber güvenlik alanında sıklıkla kullanılan Debian tabanlı "Kali Linux" dağıtımı üzerinden ilerliyor olacağım. Elbette daha önce de belirttiğim gibi, sizler dilediğiniz Debian tabanlı dağıtımı seçip kullanabilirsiniz. Kurulum anlatımlarına geçmeden önce özellikle ilk defa Linux öğrenme gayretinde olan kişilerin kafasında hiç bir soru işareti kalmaması adına temel kavramların hepsini ele alalım istiyorum. Yani neden hala kurulumları anlatmadığımı merak ediyorsanız, eğitimden maksimum verimi alabilmeniz adına sıfırdan sırasıyla ilerlemeye gayret ettiğimi bilmenizi isterim.

İlk defa Linux ile tanışan kullanıcıların akıllarında soru işareti oluşturabilecek bir başka durum da farklı dağıtımlar üzerinden eğitimi takip ederken grafiksel arayüzde değişiklikler olabilmesidir. Bu durumun sebebini bir sonraki kısımda kısaca açıklamaya çalışalım.



Dağıtımlar ve Sürümler Arası Farklılıklar Hakkında

Buradaki anlatımları Debian tabanlı olduğu sürece istediğiniz bir dağıtım üzerinden takip edebileceğinizi söyledik. Ancak Kali Linux dışındaki debian tabanlı bir dağıtımı kullandığınızda hatta doğrudan Kali kullanmanıza karşın benim eğitimi hazırlarken kullandığım Kali sürümü dışındaki bir sürümü kullandığınızda, sizin kullandığınız sistemin anlatımlar sırasında kullanılan sistemden farklı gözüktüğüne şahit olacaksınız. Hatta basit bir test gerçekleştirmek üzere Kali Linux dağıtımının farklı sürümlerde nasıl göründüğüne dair genel bir bakış atabiliriz.


kali-versions.png

Sürümler arasında farklılık olduğunu bir bakışta fark edebiliyoruz ancak hiç merak etmeyin bu farklılığın hiç bir önemi yok. Bu eğitimin sonunda sizler için tüm sürümler aynı derecede kolay kullanılabilir olacak ve bu farklılıklar sizin için de sıradanlaşacak. Çünkü sürümler ve dağıtımlar arasında farklılık olmasının nedeni daha önce de bahsetmiş olduğumuz, ihtiyaçlara uygun özelleştirmelerdir. Örneğin benim eğitimi hazırladığım dönemde metinleri grafiksel arayüzde açıp düzenleyebilme olanağı tanıyan leafpad isimli araç Kali Linux dağıtımında varsayılan olarak yüklü geliyordu. Ancak daha yeni sürümlerde leafpad aracı varsayılan olarak yüklü gelmemeye ve bu araç yerine alternatif bir metin editörü kullanılmaya başlandı. Belki daha ileriki sürümlerde daha farklı bir metin editörü de yüklü gelebilir. Ayrıca varsayılan olarak yüklü gelen araçlar dışında sistemin görünümünün değişmesinin bir başka nedeni de kullanıcı ile etkileşimi sağlayan masaüstü ortamı ve pencere yöneticileri gibi araçların birden fazla sayıda olması ve bu araçların da sürekli gelişmeye devam etmesidir. Yani mevcut sistemin grafiksel görünümü diğer bir deyişle “makyajı” sürümden sürüme veya ileride ele alacağımız şekilde kullanıcının isteği doğrultusunda değiştirilebilir bir aracı katmandır sadece. Hatta özellikle sunucu olarak kullanılan dağıtımlarda bu grafiksel arayüzün varsayılan olarak yüklü gelmediğinden de daha önce bahsetmiştik hatırlarsanız. Peki ama hem varsayılan olarak yüklü gelen araçlar hem de grafiksel arayüz, sürümlere ve dağıtımlara göre değişkenlik gösteriyorsa biz bu eğitimde ne öğreneceğiz ? Nasıl bu eğitimi takip edeceğiz ? Yoksa öğreneceğimiz bilgiler geçici bilgiler mi ?

Biz bu eğitimde Debian tabanlı sistemlerde standart olan yönetim araçlarını, komutlar ile sistemi yönetmemizi sağlayan Bash kabuğunun kullanımını ve Linux’un sahip olduğu temel standartları öğreniyor olacağız. Kısacası bu eğitimde anlatılan bilgiler standart olan temel Linux sistem yönetimini içeriyor. Yani örneğin ben grafiksel arayüzde leafpad aracını kullanarak bir metin düzenlemeyi gösteriyorken, sizler de kendi sisteminizde yüklü bulunan metin editörü aracını kullanabilirsiniz. Zaten grafiksel arayüzün nasıl kullanılacağını anlamanız oldukça kısa sürecektir zira grafiksel arayüzler her daim kolay kullanılır şekilde tasarlanıyor. Örneğin sizler win7 den win8 ya da win10 işletim sistemine geçerken sistemi kullanmak için özel bir eğitim aldınız mı ? Pek sanmıyorum. Eminim ki istisnalar hariç kısa süre içerisinde yeni grafiksel arayüzü çözüp sistemi efektif şekilde kullanmayı başardınız. Aynı durumu Linux için de geçerli. Yani sizler hangi grafiksel arayüze sahip olursanız olun bu arayüzü çözmeniz çok kısa sürecektir. Ve bu gibi alışkanlıkları şimdiden edinmek yani kendi kendine araştırıp sorunu çözebilmek, özellikle Linux kullanırken en çok ihtiyaç duyacağınız yetidir kesinlikle. Çünkü söz konusu Linux olduğunda potansiyel olarak sınırsız çeşitliliğe sahip bir sistemden bahsettiğimiz için her birimiz her daim öğrenci kalmaya devam ediyoruz aslında.

Öğrenme süreciniz hiç bir zaman bitmeyeceği için öğrenmeyi öğrenmek üzere bu eğitimde iyi bir temel atmaya odaklanacağız. Sizler buradan edineceğiniz temel bilgilerinizin üzerine, zaman içerisinde ihtiyaç duydukça pek çok yeni bilgiyi araştırıp katabiliyor olacaksınız. Örneğin sizin kullandığınız sistemdeki metin editörünün hangisi olduğunu sistemi kurcalayarak ya da kurcalayarak bulamazsanız kısa internet araştırması ile öğrenmeniz mümkündür. Ayrıca eğitim içerisinde istediğimiz yeni araçları nasıl kurabileceğimizi de öğreniyor olacağımızdan sistemi yönetme konusunda zorluk yaşamayacaksınız.

Neticede arayüzler sürekli değişme potansiyelinde olduğu için sizlerin bu eğitimde odaklanmanız gereken tek nokta Linux sistem yönetiminin temelleridir. Ayrıca yaşadığınız her türlü problemde size seve seve yardımcı olacak pek çok forum alanı olduğunu lütfen unutmayın. Zaten eğitime devam ettikçe temel Linux bilginiz sayesinde sorunlarınızı kendi kendinize nasıl çözebileceğinizi de öğrenmiş olacaksınız.

Özetle bu eğitim sizin kullandığınız dağıtım veya sürüme göre grafiksel olarak farklı görünüyor olabilir ancak yönetimine dair anlatılan tüm bilgiler geçerliliğini korumaya devam edecektir. Sizden tek ricam tüm eğitimi baştan sonra sırası ile sabırla ve etkileşimde olarak yani uygulama ve araştırmaya açık olarak bitirmenizdir. Eğitimi bitirdiğinizde bahsetmiş olduğumuz tüm konularda bana hak vereceğinize ve Linux sistemini rahatlıkla kullanabiliyor olacağınıza emin olabilirsiniz. Dokümanı buraya kadar okuma sabrını gösterebildiyseniz, tüm eğitimini kolayca bitirebileceğinize olan inancım tam. Siz sabırlı okuyucuma saygılarımı sunarak, aramıza hoş geldiniz demekten mutluluk duyuyorum.

Temel kavramları ve eğitimin ilerleyiş biçimini ele aldığımıza göre gerekli olan çalışma ortamını kurmak üzere anlatımlarımıza devam edebiliriz...



DERS BURADA BİTMİŞTİR DERS #2'YE GEÇİNİZ...

DERS#2


@'pump




250px-T%C3%BCrkHackTeam_Logo.png
 
Son düzenleme:

Speedy Gonzales

Katılımcı Üye
12 Kas 2021
634
296
in every technology system
Tüm TürkHackTeam ailesine selamlar.
Bu gün bu konuda Linux dersleri göreceğiz...
Alıntılar şu şekilde yapılmaktadır ; elimden geldiği kadar temize çekip birden fazla kaynaklardan bakıyorum. Bu konuda ki kaynağım githubdan'dır.
Alıntı yapma sebebim bizim forumuzda olmayan çok işe yarar güzel makaleler var,bunları hepinize duyurmak istiyorum. Ben buraya sadece kaynak linkini atıp gitsem icap etmez.
Bir diğer formumuza taşımamım sebebi ise yardım da açılan konular. o arkdaşlara dış kaynaklardan link atmak yerine neden o yararlı kaynaklar bizim forumuzda olmasın link yerine konumuzun linkini neden atmayalım demi ? :)
Sizlerede güzel makaleler bulmak için bende araştırmadan kaçınmıyorum, hem ben öğreniyorum hem konumu açıyorum.

UZUN BİR KONU BİZİ BEKLİYOR...

Bu Eğitim Kimler İçin ?

Bu eğitim serisi, Linux sistemlerini nasıl yönetebileceğimizi sıfırdan başlayarak sıralı şekilde ele aldığımız temel konu anlatımlarından oluşturulmuştur. Linux sistem yönetiminin temellerini bildikten sonra isterseniz buradaki bilgileri; sistem yönetimi alanına giriş yapmak, gündelik işleriniz yani kişisel kullanım için ya da siber güvenlik gibi Linux bilmenin elzem olduğu farklı disiplinlerde kullanabilirsiniz. Özetle bu eğitim hobi meslek hangi amaçla olursa olsun sıfırdan Linux öğrenmek ya da tekrar etmek isteyen herkes için kolay takip edilebilir sıralı ve düzenli bir temel eğitim imkanı sunuyor. Eğer daha önce Linux sistemini kullanmak istediyseniz ve öğrenmeye nereden başlayacağınız konusunda kafa karışıklığı yaşadıysanız hiç endişelenmeyin. Tüm anlatımları sıfırdan ve öğrenmenizi kolaylaştıracak şekilde sıralı olarak ele alıyor olacağız.

Önsöz

Öncelikle sizleri temin ederim ki Linux kesinlikle öcü değildir. Eğer müfredat sırlamasına riayet ederek temel çalışma yapısına hakim olursanız, kullanması yani yönetmesi son derece keyifli ve kolay olan bir işletim sistemidir. Dijitalleşen dünyamızda ulusal özgürlüğün önemli bir parçasının özgür işletim sistemleri olduğunu düşündüğüm için; dileyen herkesin en azından kendi ihtiyaçlarını karşılayabilecek düzeyde temel Linux bilgisine kolayca ulaşabilmesi adına bu sıralı dokümanı sizlere sunuyorum. Kendinize ve hepimizin geleceğine yatırım yapmak için dokümanı takip edebilir ve tüm tanıdıklarınızla dokümanı özgürce paylaşabilirsiniz.

Baştan belirteyim ben sizlere kesinlikle balık vermek niyetinde değilim çünkü benim vereceğim balık size yeterli büyüklükte ya da yeterince taze gelmeyebilir. Benim amacım sizlere nasıl balık tutacağınızı öğretmek. Sizler öğrendiğiniz bu bilgiler ile ihtiyacınıza göre ister küçük isterseniz de kendinizi geliştirip çok daha büyük balıklar tutabiliyor olacaksınız. Bu yolda merak bizim öğretmenimiz olacak.


Girizgah

İşletim sistemi dediğimizde aklınıza ne geliyor ?

İşletim sistemlerini; pek çok farklı amaca hizmet eden bileşenlerin, kullanıcıdan aldığı emirleri yerine getirmek için bir bütün halinde uyum içerisinde çalışması şeklinde tanımlayabiliriz. Elbette bu tanımlama tek başına işletim sistemin ne olduğu ve nasıl çalıştığını ifade etmek için yetersiz. Ancak bütünü anlamada, eğitim süreci boyunca bizlere yardımcı olabilir. Şimdi sırasıyla GNU/Linux işletim sistemini tanımamızı sağlayacak temel kavramlardan bahsederek anlatıma devam edelim.


ℹ️ Not: Buradaki anlatımlar ileride ele alacağımız teknik anlatımların kritik olan temelini oluşturduğu için atlamadan devam etmeniz son derece önemli. Yani bu bölümde ele aldığımız anlatımlar en az teknik anlatımlar kadar gereklidir ve herkesin kolay takip edebilmesi için sıfırdan ele alınmıştır. Zaten anlatımlar tarihi detaylardan ziyade konuyu kavramamız için gerekli olan bilgilere odaklandığı için çok tarihi detaylara değinmeyeceğiz. Eğer bahsi geçen çalışmaların tarihi detaylarını öğrenmek isterseniz wikipedia gibi harici kaynaklar size pek çok tarihi detay sağlayacaktır. Bir an önce sistemi kurup teknik anlatımlara ve uygulamalara geçmek istediğinizi biliyorum. Ancak lütfen biraz sabırlı olun ve bu bölümün tüm eğitimin önemli bir parçası olduğunu unutmayın.

Linux Nedir ?

Başlamadan.. Şunu bilin ki Linux tek başına işletim sistemi değil çekirdektir!

UNIX

Bu kısımda, çok tarihi veya çok teknik olmayan bir üslupla, Linux hakkında genel bilgi sahibi olmanızı sağlayacak şekilde Linux'un ortaya çıkış hikayesini ele alacağız.

Zamanında
Bell Laboratuvarı'nda geliştirilen UNIX adında bir işletim sistemi vardı. Bu sistem kendi bünyesinde bulundurduğu araçları sayesinde çeşitli üniversiteler ve diğer ihtiyaç duyulan kurumlarda kullanılıyordu. Buraya kadar her şey gayet güzel ancak Unix lisans ücreti istiyordu ve tabii ki bu durum sistemi kullanabilecek kişilerin sayısını da oldukça azaltıyordu. Yani insanlar ihtiyaç duysalar dahi lisans ücretinden dolayı bu sistemi kullanamıyorlardı. Bunun sonucunda "para ödemek yerine bende kendi işletim sistemimi yazarım" diye düşünenler ortaya çıktı ve bu da UNIX'e mecbur olunmadığı, eğer istenirse yeni bir sistemin yazılabileceği düşüncesini ortaya koydu. Bunun sonucunda birçok işletim sistemi geliştirme girişimleri oldu ancak sonuçta geliştirilen sistemler stabil şekilde çalışmıyorlardı. Tabi bu durum sonsuza kadar böyle kalmayacaktı..


Linus Torvalds

Bir efsanenin doğuşu..
Linus.png


Buraları her ne kadar istemesem de kısaca geçmek durumundayım ama eğer "Linux kullanıyorum" demek istiyorsanız kesinlikle bu konuları araştırın ve ayrıca Revolution OS belgeselini de mutlaka izleyin derim.

İnsanların lisans ücretinden kaçmak için kendi işletim sistemini yazma akımı devam ediyorken bu durum Linus Torvalds'ı da etkilemiş olacak ki Linus, UNIX'ten esinlenerek
Helsinki Üniversitesi'ndeyken kendi işletim sistemi çekirdeğini yazdı. UNIX'ten esinlendi ancak bunu hiçbir kod alıntısı yapmadan sıfırdan yazarak başardı. Daha sonra Linus, bu geliştirdiği çekirdeğin çeşitli insanlara ve gruplara(geliştirici topluluklar vb..) ulaşmasını sağlayarak, insanların verdiği dönütlerle düzenlemeler yaptı. Böylelikle Linus, çekirdeğin daha da kullanışlı hale gelmesini sağlamış oldu. Ve en nihayetinde Linus, bu geliştirdiği çekirdeğe(kernel) "Linux" adını verdi. Ancak Linux bir çekirdekti ve içerisinde UNIX gibi kullanışlı araçları bulundurmuyordu.

Linux cephesinde bunlar yaşanıyorken Richard Stallman'da , GNU genel kamu lisansını ortaya atarak özgür yazılımı savunuyordu. Nedir bu
genel kamu lisansı ve özgür yazılım diyecek olursanız lütfen okumaya devam edin.






GNU

gnu.png

GNU (Gnu is Not Unix/GNU Unix Değildir), açık kaynak hareketi doğrultusunda geliştirilen araçların içinde bulunduğu ücretsiz ve herkes için ulaşılabilir özgür bir işletim sistemidir. Ancak GNU için her şey her daim güllük gülistanlık değildi. GNU, içerisinde kendine ait güçlü araçları bulundurmasının yanı sıra kararlı bir çekirdeğe sahip değildi. Çekirdek için denemeler yapılmış ancak istenen düzeyde kararlı bir çekirdek oluşturulamamıştı.

Tam da bu noktada
Linus Torvalds'ın sıfırdan geliştirip topluluğa sunduğu çekirdek(Linux) yazılımı, GNU ile tencere kapak uyumu olacak şekilde bir araya geldi. Böylelikle ortaya bir GNU/Linux efsanesi çıktı. İşte GNU/Linux devrimi kısaca bu şekilde oldu. Hem GNU'nun hem de Linux'un topluluğa bağlı dönütlerle geliştirilmesi doğrultusunda herkese açık, ücretsiz ve sınırsız geliştirilme potansiyeline sahip, gerçek anlamda insana hizmet eden özgür bir işletim sistemi ortaya çıkmış oldu.




Sonuç Olarak
gnu-linux.png

Anlatımın başında da söylediğimiz şekilde; Linux bir işletim sistemi değil, çekirdektir(kernel). GNU/Linux bütünü bir işletim sistemidir. Ancak genellikle söylenmesi uzun veya zor geldiği için, zamanla sadece Linux olarak geçmeye başlamıştır. Ben de yazılarımda GNU/Linux yerine Linux kullanıyor olacağım. Ancak emin olun çekirdekten(kernel) yani Linux'tan bahsettiğimde ve GNU/Linux(işletim sistemi)'tan bahsettiğimde hangisini kastettiğimi anlıyor olacaksınız. Ayrıca söz konusu Linux olduğunda sürekli karşınıza çıkacak olan penguen logosu, Linux'un "tux" olarak ifade edilen maskotudur.

GNU/Linux sisteminin ortaya çıkış hikayesini teknik ya da tarihi detaylara girmeden, daha fazlasını araştırmak istediğinizde referans noktalarınız olacak şekilde ele aldık. Biz şimdi sıklıkla duyacağımız bir diğer önemli konu olan "
dağıtım" kavramı ile anlatımlarımıza devam edelim.





Dağıtım(Distro) Nedir ve Hangisini Seçmeliyiz ?

İngilizce “distro” olarak geçen “dağıtım” kavramını açıklamadan önce, GNU/Linux sisteminin yapısını iyi anlamamız gerekiyor.
GNU/Linux’un, içerisinde sistemin yönetilebilmesini sağlayan pek çok farklı aracı barındıran sistem bütününe verilen genel isim olduğunu öğrendik.


gnulinux.png


GNU/Linux dediğimiz sistem bütünü de zaman içerisinde insanların ihtiyaçlarına göre farklı dağıtımlar altında özelleştirilerek çoğalmıştır. Bu özelleştirmenin ne anlama geldiğini öğrenmek için burada bahsi geçen araçların neler olduğunu iyi kavramamız gerekiyor.

dagitim.png


Tüm GNU/Linux dağıtımların ortak özelliği Linux çekirdeğini kullanmasıdır. Peki ama "Linux" yani "çekirdek" dediğimiz yapının görevi tam olarak nedir ?

Çekirdek, yazılımlardan yani kullanıcının kullandığı araçlardan gelen emirleri donanıma yaptırmakla mükellef yapıdır. Burada bahsi geçen araçlar basit bir metin editörü ya da daha farklı herhangi bir işlevsel yazılım olabilir. Örneğin bizler basit bir metin hazırlamak ya da sisteme program yüklemek hatta herhangi bir dosyayı görüntülemek için aslında ne yapıyoruz? Bize bu imkanı sunan aracı çalıştırıp işimizi hallediyoruz değil mi ? İşte işletim sistemi dediğimiz şey de aslında biz kullanıcıların doğrudan ya da dolaylı olarak kullandığı araçlar bütününe verdiğimiz isimdir. Bizler işimizi halletmek üzere aracımızı kullanır gerisine karışmayız.




kernel_sema.png

İşte burada bahsi geçen araçlar zaman içerisinde farklı ihtiyaçlara hitap edebilecek şekilde bir araya getirilip bir çok alt işletim sistemini yani dağıtımları ortaya çıkarmıştır. Özetle Linux dediğimiz çekirdek yapısı tüm dağıtımlarda ortaktır ancak dağıtımların içerisinde varsayılan olarak yüklü gelen araçlar ihtiyaçlara göre özelleştirilmiştir. Bu özelleştirmenin sonucunda da “dağıtım-distro” kavramı ortaya çıkmıştır.

Bu konunun teknik ayrıntılarına ileride ayrıca değinmiş olacağız. Bu sayede bahsetmiş olduğumuz pek çok kavram yerli yerine oturmuş olacak. Dağıtım kavramının şimdilik daha net anlaşılabilmesi için teknik anlatımın dışında gerçek hayattaki duruma örnek göstermemiz gerekirse; örneğin sunucu yönetiminde grafiksel arayüze ihtiyaç duyulmayacağından sunucu için kullanılan dağıtımın grafiksel arabirim araçlarına ihtiyacı yoktur. Çünkü grafiksel arayüz profesyonel kullanımda performansı ve yapılabilecek işlerin çeşitliliğini potansiyel olarak düşürebilir. Bu duruma benzer şekilde, örneğin ev ya da ofis kullanıcıları için de grafiksel arayüz önemlidir ve bu kullanıcılara hitap eden dağıtımlar da bu durumu dikkate alarak grafiksel arabirimlerini kullanıcıların rahat yönetebileceği şekilde seçerler. Yani profesyonel sunucu yönetiminde yöneticilerin her türlü işini komutlar ile çözebilmesi beklenirken, sıradan kullanıcılar her işini komutlar ile çözmek istemeyebilir. Örneğin sıradan kullanıcı web üzerinde gezinti yapıp video izlemek isteyebilir ancak sunucuyu yöneten kişilerin böylesi bir işleme ihtiyacı yoktur. Çünkü sunucuyu yöneten insanların beklentisi sunucuyu vermli şekilde yönetip denetlemektir. Örneğimizi şimdilik daha fazla uzatmaya gerek yok, eğitim içerisinde ihtiyaçlar meselesinin neye göre değiştiğini zaten bizzat görmüş olacaksınız. İşte tıpkı örneğimizde olduğu gibi zaman içerisinde pek çok farklı amaç için pek çok farklı dağıtım ortaya çıkmıştır. Elbette ihtiyaçlara cevap verecek dağıtımlar oluşturabilmenin en temel dayanağı açık kaynak ve özgür yazılım felsefesidir. Bu durum da bizlere açık kaynağın ve özgür yazılım ilkelerinin ne kadar değerli olduğunu bir kez daha hatırlatıyor.

Konumuza dönecek olursak piyasada pek çok farklı türde dağıtım bulunuyor. Tüm bu dağıtımlar hakkında bilgi almak üzere DistroWatch.com: Put the fun back into computing. Use Linux, BSD. adresini ziyaret edebiliriz. Bu sayfa üzerinden herkesin kullanımına açık olan pek çok dağıtım hakkında bilgi almamız mümkündür. Hatta hangi dağıtım son zamanlarda ne kadar popüler olduğunun bilgisine dahi buradan ulaşabiliriz. Popüler dağıtımlara Debian, Monjoro, Mint, Ubuntu, Fedora ve benzer pek çok dağıtımı saymamız mümkündür. Pek çok dağıtımın varlığından haberdar olduğumuzda, aklımıza tek bir soru geliyor;

Peki ama biz hangi dağıtımı seçmeliyiz yani hangi dağıtım bize daha uygun ?

Aslında bu sorunun cevabı sizin hangi amaçla bu sistemleri kullanmak istediğinize bağlı olarak değişir. Ancak bizim bu eğiti serisi içerisinde ele alacağımız dağıtım türü, "Debian tabanlı" olan dağıtımlardır. Peki ama “Debian tabanlı dağıtım” da ne demek ?

Debian tabanlı dağıtım, isminden de anlaşılacağı gibi Debian dağıtımını temel alarak oluşturulmuş alt dağıtımlara verilen genel isimdir. Debian dağıtımı oldukça köklü olan bir dağıtım türüdür. Linux çekirdeği etrafında stabil şekilde çalışan pek çok araç ekleyerek zaman içerisinde sorunsuzca çalışan bir dağıtım halini almıştır. Stabil şekilde çalıştığı için, farklı amaçlarla dağıtım oluşturmak isteyen kişiler sıfırdan oluşturmakla uğraşmak yerine Debian dağıtımını değiştirerek isteklerine uygun dağıtımlar oluşturmuşlardır. İşte Debian dağıtımını amaçları doğrultusunda değiştirip yeni bir dağıtım olarak sunan sistemlere "Debian tabanlı dağıtımlar" deniliyor. Benzer durum diğer ana dağıtımlar için de geçerlidir. Örneğin Pardus başlarda bağımsız şekilde sıfırdan geliştiriliyorken bu bağımsız sürüm bırakılarak, Debian dağıtımı üzerinden tekrar geliştirileren Debian tabanlı dağıtım halini almıştır.

Distro watch üzerinde gördüğümüz pek çok dağıtım Debian gibi oldukça köklü olan ana dağıtımların özelleştirilmesi ile oluşturulmuştur. Hatta dağıtımların açıklamalarına tek tek göz attığınızda Ubuntu, Mint, Kali, Pardus ve benzeri pek çok dağıtımın aslında Debian tabanlı olduğunu görebilirsiniz. Bu dağıtımların Debian tabanlı olması demek temel yönetim araçlarının ortak olması demektir. Örneğin Debian tabanlı dağıtımlar paket yönetimi için yani sisteme program yükleyip kaldırma gibi işlemler için ortak olarak apt(Advanced Package Tool- Gelişmiş Paketleme Aracı) isimli aracı kullanır. Yani örneğin siz "Pardus" da kullansanız "Kali Linux" da kullansanız apt paket yönetim aracı varsayılan olarak yüklü gelecektir. İşte bizler de bu eğitimde Debian tabanlı dağıtımları nasıl yönetebileceğimizi öğrenmiş olacağız. Yani sizler burada yer alan anlatımları dilerseniz Kali Linux haricindeki Debian tabanlı(Pardus, Ubuntu, Mint, Parrot, Deepin, vb..) olan herhangi bir dağıtımdan da rahatlıkla takip edebilirsiniz.

Benim anlatımları Debian tabanlı dağıtım üzerinden gerçekleştiriyor olma nedenim, kullanımının hem profesyonel hem de standart ev kullanıcıları arasında yaygın olmasıdır. Debian dağıtımları, standart ev kullanıcılarından tutun da dünya çapında hizmet sunan Google gibi şirketlerin sunucu altyapılarına kadar, pek çok farklı alanda yaygın kullanıma sahiptir. Öğrenmesi ve kullanması kolay olduğundan ve öğrenmenin bizlere sunacağı katkıdan dolayı Debian GNU/Linux dünyasını tanımak için iyi bir başlangıç noktasıdır. Ayrıca Pardus işletim sistemimizin de Debian tabanlı olduğunu dikkate alarak, Debian dağıtımları üzerinden ilerlemenin doğru bir yaklaşım olduğunu düşünüyorum.

Ben anlatımlar sırasında siber güvenlik alanında sıklıkla kullanılan Debian tabanlı "Kali Linux" dağıtımı üzerinden ilerliyor olacağım. Elbette daha önce de belirttiğim gibi, sizler dilediğiniz Debian tabanlı dağıtımı seçip kullanabilirsiniz. Kurulum anlatımlarına geçmeden önce özellikle ilk defa Linux öğrenme gayretinde olan kişilerin kafasında hiç bir soru işareti kalmaması adına temel kavramların hepsini ele alalım istiyorum. Yani neden hala kurulumları anlatmadığımı merak ediyorsanız, eğitimden maksimum verimi alabilmeniz adına sıfırdan sırasıyla ilerlemeye gayret ettiğimi bilmenizi isterim.

İlk defa Linux ile tanışan kullanıcıların akıllarında soru işareti oluşturabilecek bir başka durum da farklı dağıtımlar üzerinden eğitimi takip ederken grafiksel arayüzde değişiklikler olabilmesidir. Bu durumun sebebini bir sonraki kısımda kısaca açıklamaya çalışalım.






Dağıtımlar ve Sürümler Arası Farklılıklar Hakkında

Buradaki anlatımları Debian tabanlı olduğu sürece istediğiniz bir dağıtım üzerinden takip edebileceğinizi söyledik. Ancak Kali Linux dışındaki debian tabanlı bir dağıtımı kullandığınızda hatta doğrudan Kali kullanmanıza karşın benim eğitimi hazırlarken kullandığım Kali sürümü dışındaki bir sürümü kullandığınızda, sizin kullandığınız sistemin anlatımlar sırasında kullanılan sistemden farklı gözüktüğüne şahit olacaksınız. Hatta basit bir test gerçekleştirmek üzere Kali Linux dağıtımının farklı sürümlerde nasıl göründüğüne dair genel bir bakış atabiliriz.


kali-versions.png

Sürümler arasında farklılık olduğunu bir bakışta fark edebiliyoruz ancak hiç merak etmeyin bu farklılığın hiç bir önemi yok. Bu eğitimin sonunda sizler için tüm sürümler aynı derecede kolay kullanılabilir olacak ve bu farklılıklar sizin için de sıradanlaşacak. Çünkü sürümler ve dağıtımlar arasında farklılık olmasının nedeni daha önce de bahsetmiş olduğumuz, ihtiyaçlara uygun özelleştirmelerdir. Örneğin benim eğitimi hazırladığım dönemde metinleri grafiksel arayüzde açıp düzenleyebilme olanağı tanıyan leafpad isimli araç Kali Linux dağıtımında varsayılan olarak yüklü geliyordu. Ancak daha yeni sürümlerde leafpad aracı varsayılan olarak yüklü gelmemeye ve bu araç yerine alternatif bir metin editörü kullanılmaya başlandı. Belki daha ileriki sürümlerde daha farklı bir metin editörü de yüklü gelebilir. Ayrıca varsayılan olarak yüklü gelen araçlar dışında sistemin görünümünün değişmesinin bir başka nedeni de kullanıcı ile etkileşimi sağlayan masaüstü ortamı ve pencere yöneticileri gibi araçların birden fazla sayıda olması ve bu araçların da sürekli gelişmeye devam etmesidir. Yani mevcut sistemin grafiksel görünümü diğer bir deyişle “makyajı” sürümden sürüme veya ileride ele alacağımız şekilde kullanıcının isteği doğrultusunda değiştirilebilir bir aracı katmandır sadece. Hatta özellikle sunucu olarak kullanılan dağıtımlarda bu grafiksel arayüzün varsayılan olarak yüklü gelmediğinden de daha önce bahsetmiştik hatırlarsanız. Peki ama hem varsayılan olarak yüklü gelen araçlar hem de grafiksel arayüz, sürümlere ve dağıtımlara göre değişkenlik gösteriyorsa biz bu eğitimde ne öğreneceğiz ? Nasıl bu eğitimi takip edeceğiz ? Yoksa öğreneceğimiz bilgiler geçici bilgiler mi ?

Biz bu eğitimde Debian tabanlı sistemlerde standart olan yönetim araçlarını, komutlar ile sistemi yönetmemizi sağlayan Bash kabuğunun kullanımını ve Linux’un sahip olduğu temel standartları öğreniyor olacağız. Kısacası bu eğitimde anlatılan bilgiler standart olan temel Linux sistem yönetimini içeriyor. Yani örneğin ben grafiksel arayüzde leafpad aracını kullanarak bir metin düzenlemeyi gösteriyorken, sizler de kendi sisteminizde yüklü bulunan metin editörü aracını kullanabilirsiniz. Zaten grafiksel arayüzün nasıl kullanılacağını anlamanız oldukça kısa sürecektir zira grafiksel arayüzler her daim kolay kullanılır şekilde tasarlanıyor. Örneğin sizler win7 den win8 ya da win10 işletim sistemine geçerken sistemi kullanmak için özel bir eğitim aldınız mı ? Pek sanmıyorum. Eminim ki istisnalar hariç kısa süre içerisinde yeni grafiksel arayüzü çözüp sistemi efektif şekilde kullanmayı başardınız. Aynı durumu Linux için de geçerli. Yani sizler hangi grafiksel arayüze sahip olursanız olun bu arayüzü çözmeniz çok kısa sürecektir. Ve bu gibi alışkanlıkları şimdiden edinmek yani kendi kendine araştırıp sorunu çözebilmek, özellikle Linux kullanırken en çok ihtiyaç duyacağınız yetidir kesinlikle. Çünkü söz konusu Linux olduğunda potansiyel olarak sınırsız çeşitliliğe sahip bir sistemden bahsettiğimiz için her birimiz her daim öğrenci kalmaya devam ediyoruz aslında.

Öğrenme süreciniz hiç bir zaman bitmeyeceği için öğrenmeyi öğrenmek üzere bu eğitimde iyi bir temel atmaya odaklanacağız. Sizler buradan edineceğiniz temel bilgilerinizin üzerine, zaman içerisinde ihtiyaç duydukça pek çok yeni bilgiyi araştırıp katabiliyor olacaksınız. Örneğin sizin kullandığınız sistemdeki metin editörünün hangisi olduğunu sistemi kurcalayarak ya da kurcalayarak bulamazsanız kısa internet araştırması ile öğrenmeniz mümkündür. Ayrıca eğitim içerisinde istediğimiz yeni araçları nasıl kurabileceğimizi de öğreniyor olacağımızdan sistemi yönetme konusunda zorluk yaşamayacaksınız.

Neticede arayüzler sürekli değişme potansiyelinde olduğu için sizlerin bu eğitimde odaklanmanız gereken tek nokta Linux sistem yönetiminin temelleridir. Ayrıca yaşadığınız her türlü problemde size seve seve yardımcı olacak pek çok forum alanı olduğunu lütfen unutmayın. Zaten eğitime devam ettikçe temel Linux bilginiz sayesinde sorunlarınızı kendi kendinize nasıl çözebileceğinizi de öğrenmiş olacaksınız.

Özetle bu eğitim sizin kullandığınız dağıtım veya sürüme göre grafiksel olarak farklı görünüyor olabilir ancak yönetimine dair anlatılan tüm bilgiler geçerliliğini korumaya devam edecektir. Sizden tek ricam tüm eğitimi baştan sonra sırası ile sabırla ve etkileşimde olarak yani uygulama ve araştırmaya açık olarak bitirmenizdir. Eğitimi bitirdiğinizde bahsetmiş olduğumuz tüm konularda bana hak vereceğinize ve Linux sistemini rahatlıkla kullanabiliyor olacağınıza emin olabilirsiniz. Dokümanı buraya kadar okuma sabrını gösterebildiyseniz, tüm eğitimini kolayca bitirebileceğinize olan inancım tam. Siz sabırlı okuyucuma saygılarımı sunarak, aramıza hoş geldiniz demekten mutluluk duyuyorum.

Temel kavramları ve eğitimin ilerleyiş biçimini ele aldığımıza göre gerekli olan çalışma ortamını kurmak üzere anlatımlarımıza devam edebiliriz...



DERS BURADA BİTMİŞTİR DERS #2'YE GEÇİNİZ...
@'pump




250px-T%C3%BCrkHackTeam_Logo.png
eline sağlık kardesım yazıları bı tık buyuk olup renklendirirsen daha da guzel olur
 

ankamurat

Katılımcı Üye
24 Eyl 2022
453
186
┌─(root@ankamurat)
e
Tüm TürkHackTeam ailesine selamlar.
Bu gün bu konuda Linux dersleri göreceğiz...
Alıntılar şu şekilde yapılmaktadır ; elimden geldiği kadar temize çekip birden fazla kaynaklardan bakıyorum. Bu konuda ki kaynağım githubdan'dır.
Alıntı yapma sebebim bizim forumuzda olmayan çok işe yarar güzel makaleler var,bunları hepinize duyurmak istiyorum. Ben buraya sadece kaynak linkini atıp gitsem icap etmez.
Bir diğer formumuza taşımamım sebebi ise yardım da açılan konular. o arkdaşlara dış kaynaklardan link atmak yerine neden o yararlı kaynaklar bizim forumuzda olmasın link yerine konumuzun linkini neden atmayalım demi ? :)
Sizlerede güzel makaleler bulmak için bende araştırmadan kaçınmıyorum, hem ben öğreniyorum hem konumu açıyorum.

UZUN BİR KONU BİZİ BEKLİYOR...


Bu Eğitim Kimler İçin ?

Bu eğitim serisi, Linux sistemlerini nasıl yönetebileceğimizi sıfırdan başlayarak sıralı şekilde ele aldığımız temel konu anlatımlarından oluşturulmuştur. Linux sistem yönetiminin temellerini bildikten sonra isterseniz buradaki bilgileri; sistem yönetimi alanına giriş yapmak, gündelik işleriniz yani kişisel kullanım için ya da siber güvenlik gibi Linux bilmenin elzem olduğu farklı disiplinlerde kullanabilirsiniz. Özetle bu eğitim hobi meslek hangi amaçla olursa olsun sıfırdan Linux öğrenmek ya da tekrar etmek isteyen herkes için kolay takip edilebilir sıralı ve düzenli bir temel eğitim imkanı sunuyor. Eğer daha önce Linux sistemini kullanmak istediyseniz ve öğrenmeye nereden başlayacağınız konusunda kafa karışıklığı yaşadıysanız hiç endişelenmeyin. Tüm anlatımları sıfırdan ve öğrenmenizi kolaylaştıracak şekilde sıralı olarak ele alıyor olacağız.

Önsöz

Öncelikle sizleri temin ederim ki Linux kesinlikle öcü değildir. Eğer müfredat sırlamasına riayet ederek temel çalışma yapısına hakim olursanız, kullanması yani yönetmesi son derece keyifli ve kolay olan bir işletim sistemidir. Dijitalleşen dünyamızda ulusal özgürlüğün önemli bir parçasının özgür işletim sistemleri olduğunu düşündüğüm için; dileyen herkesin en azından kendi ihtiyaçlarını karşılayabilecek düzeyde temel Linux bilgisine kolayca ulaşabilmesi adına bu sıralı dokümanı sizlere sunuyorum. Kendinize ve hepimizin geleceğine yatırım yapmak için dokümanı takip edebilir ve tüm tanıdıklarınızla dokümanı özgürce paylaşabilirsiniz.

Baştan belirteyim ben sizlere kesinlikle balık vermek niyetinde değilim çünkü benim vereceğim balık size yeterli büyüklükte ya da yeterince taze gelmeyebilir. Benim amacım sizlere nasıl balık tutacağınızı öğretmek. Sizler öğrendiğiniz bu bilgiler ile ihtiyacınıza göre ister küçük isterseniz de kendinizi geliştirip çok daha büyük balıklar tutabiliyor olacaksınız. Bu yolda merak bizim öğretmenimiz olacak.


Girizgah

İşletim sistemi dediğimizde aklınıza ne geliyor ?

İşletim sistemlerini; pek çok farklı amaca hizmet eden bileşenlerin, kullanıcıdan aldığı emirleri yerine getirmek için bir bütün halinde uyum içerisinde çalışması şeklinde tanımlayabiliriz. Elbette bu tanımlama tek başına işletim sistemin ne olduğu ve nasıl çalıştığını ifade etmek için yetersiz. Ancak bütünü anlamada, eğitim süreci boyunca bizlere yardımcı olabilir. Şimdi sırasıyla GNU/Linux işletim sistemini tanımamızı sağlayacak temel kavramlardan bahsederek anlatıma devam edelim.


ℹ️ Not: Buradaki anlatımlar ileride ele alacağımız teknik anlatımların kritik olan temelini oluşturduğu için atlamadan devam etmeniz son derece önemli. Yani bu bölümde ele aldığımız anlatımlar en az teknik anlatımlar kadar gereklidir ve herkesin kolay takip edebilmesi için sıfırdan ele alınmıştır. Zaten anlatımlar tarihi detaylardan ziyade konuyu kavramamız için gerekli olan bilgilere odaklandığı için çok tarihi detaylara değinmeyeceğiz. Eğer bahsi geçen çalışmaların tarihi detaylarını öğrenmek isterseniz wikipedia gibi harici kaynaklar size pek çok tarihi detay sağlayacaktır. Bir an önce sistemi kurup teknik anlatımlara ve uygulamalara geçmek istediğinizi biliyorum. Ancak lütfen biraz sabırlı olun ve bu bölümün tüm eğitimin önemli bir parçası olduğunu unutmayın.


Linux Nedir ?

Başlamadan.. Şunu bilin ki Linux tek başına işletim sistemi değil çekirdektir!

UNIX

Bu kısımda, çok tarihi veya çok teknik olmayan bir üslupla, Linux hakkında genel bilgi sahibi olmanızı sağlayacak şekilde Linux'un ortaya çıkış hikayesini ele alacağız.

Zamanında
Bell Laboratuvarı'nda geliştirilen UNIX adında bir işletim sistemi vardı. Bu sistem kendi bünyesinde bulundurduğu araçları sayesinde çeşitli üniversiteler ve diğer ihtiyaç duyulan kurumlarda kullanılıyordu. Buraya kadar her şey gayet güzel ancak Unix lisans ücreti istiyordu ve tabii ki bu durum sistemi kullanabilecek kişilerin sayısını da oldukça azaltıyordu. Yani insanlar ihtiyaç duysalar dahi lisans ücretinden dolayı bu sistemi kullanamıyorlardı. Bunun sonucunda "para ödemek yerine bende kendi işletim sistemimi yazarım" diye düşünenler ortaya çıktı ve bu da UNIX'e mecbur olunmadığı, eğer istenirse yeni bir sistemin yazılabileceği düşüncesini ortaya koydu. Bunun sonucunda birçok işletim sistemi geliştirme girişimleri oldu ancak sonuçta geliştirilen sistemler stabil şekilde çalışmıyorlardı. Tabi bu durum sonsuza kadar böyle kalmayacaktı..


Linus Torvalds

Bir efsanenin doğuşu..
Linus.png


Buraları her ne kadar istemesem de kısaca geçmek durumundayım ama eğer "Linux kullanıyorum" demek istiyorsanız kesinlikle bu konuları araştırın ve ayrıca Revolution OS belgeselini de mutlaka izleyin derim.

İnsanların lisans ücretinden kaçmak için kendi işletim sistemini yazma akımı devam ediyorken bu durum Linus Torvalds'ı da etkilemiş olacak ki Linus, UNIX'ten esinlenerek
Helsinki Üniversitesi'ndeyken kendi işletim sistemi çekirdeğini yazdı. UNIX'ten esinlendi ancak bunu hiçbir kod alıntısı yapmadan sıfırdan yazarak başardı. Daha sonra Linus, bu geliştirdiği çekirdeğin çeşitli insanlara ve gruplara(geliştirici topluluklar vb..) ulaşmasını sağlayarak, insanların verdiği dönütlerle düzenlemeler yaptı. Böylelikle Linus, çekirdeğin daha da kullanışlı hale gelmesini sağlamış oldu. Ve en nihayetinde Linus, bu geliştirdiği çekirdeğe(kernel) "Linux" adını verdi. Ancak Linux bir çekirdekti ve içerisinde UNIX gibi kullanışlı araçları bulundurmuyordu.

Linux cephesinde bunlar yaşanıyorken Richard Stallman'da , GNU genel kamu lisansını ortaya atarak özgür yazılımı savunuyordu. Nedir bu
genel kamu lisansı ve özgür yazılım diyecek olursanız lütfen okumaya devam edin.






GNU

gnu.png

GNU (Gnu is Not Unix/GNU Unix Değildir), açık kaynak hareketi doğrultusunda geliştirilen araçların içinde bulunduğu ücretsiz ve herkes için ulaşılabilir özgür bir işletim sistemidir. Ancak GNU için her şey her daim güllük gülistanlık değildi. GNU, içerisinde kendine ait güçlü araçları bulundurmasının yanı sıra kararlı bir çekirdeğe sahip değildi. Çekirdek için denemeler yapılmış ancak istenen düzeyde kararlı bir çekirdek oluşturulamamıştı.

Tam da bu noktada
Linus Torvalds'ın sıfırdan geliştirip topluluğa sunduğu çekirdek(Linux) yazılımı, GNU ile tencere kapak uyumu olacak şekilde bir araya geldi. Böylelikle ortaya bir GNU/Linux efsanesi çıktı. İşte GNU/Linux devrimi kısaca bu şekilde oldu. Hem GNU'nun hem de Linux'un topluluğa bağlı dönütlerle geliştirilmesi doğrultusunda herkese açık, ücretsiz ve sınırsız geliştirilme potansiyeline sahip, gerçek anlamda insana hizmet eden özgür bir işletim sistemi ortaya çıkmış oldu.




Sonuç Olarak
gnu-linux.png

Anlatımın başında da söylediğimiz şekilde; Linux bir işletim sistemi değil, çekirdektir(kernel). GNU/Linux bütünü bir işletim sistemidir. Ancak genellikle söylenmesi uzun veya zor geldiği için, zamanla sadece Linux olarak geçmeye başlamıştır. Ben de yazılarımda GNU/Linux yerine Linux kullanıyor olacağım. Ancak emin olun çekirdekten(kernel) yani Linux'tan bahsettiğimde ve GNU/Linux(işletim sistemi)'tan bahsettiğimde hangisini kastettiğimi anlıyor olacaksınız. Ayrıca söz konusu Linux olduğunda sürekli karşınıza çıkacak olan penguen logosu, Linux'un "tux" olarak ifade edilen maskotudur.

GNU/Linux sisteminin ortaya çıkış hikayesini teknik ya da tarihi detaylara girmeden, daha fazlasını araştırmak istediğinizde referans noktalarınız olacak şekilde ele aldık. Biz şimdi sıklıkla duyacağımız bir diğer önemli konu olan "
dağıtım" kavramı ile anlatımlarımıza devam edelim.





Dağıtım(Distro) Nedir ve Hangisini Seçmeliyiz ?

İngilizce “distro” olarak geçen “dağıtım” kavramını açıklamadan önce, GNU/Linux sisteminin yapısını iyi anlamamız gerekiyor.
GNU/Linux’un, içerisinde sistemin yönetilebilmesini sağlayan pek çok farklı aracı barındıran sistem bütününe verilen genel isim olduğunu öğrendik.


gnulinux.png


GNU/Linux dediğimiz sistem bütünü de zaman içerisinde insanların ihtiyaçlarına göre farklı dağıtımlar altında özelleştirilerek çoğalmıştır. Bu özelleştirmenin ne anlama geldiğini öğrenmek için burada bahsi geçen araçların neler olduğunu iyi kavramamız gerekiyor.

dagitim.png


Tüm GNU/Linux dağıtımların ortak özelliği Linux çekirdeğini kullanmasıdır. Peki ama "Linux" yani "çekirdek" dediğimiz yapının görevi tam olarak nedir ?

Çekirdek, yazılımlardan yani kullanıcının kullandığı araçlardan gelen emirleri donanıma yaptırmakla mükellef yapıdır. Burada bahsi geçen araçlar basit bir metin editörü ya da daha farklı herhangi bir işlevsel yazılım olabilir. Örneğin bizler basit bir metin hazırlamak ya da sisteme program yüklemek hatta herhangi bir dosyayı görüntülemek için aslında ne yapıyoruz? Bize bu imkanı sunan aracı çalıştırıp işimizi hallediyoruz değil mi ? İşte işletim sistemi dediğimiz şey de aslında biz kullanıcıların doğrudan ya da dolaylı olarak kullandığı araçlar bütününe verdiğimiz isimdir. Bizler işimizi halletmek üzere aracımızı kullanır gerisine karışmayız.




kernel_sema.png

İşte burada bahsi geçen araçlar zaman içerisinde farklı ihtiyaçlara hitap edebilecek şekilde bir araya getirilip bir çok alt işletim sistemini yani dağıtımları ortaya çıkarmıştır. Özetle Linux dediğimiz çekirdek yapısı tüm dağıtımlarda ortaktır ancak dağıtımların içerisinde varsayılan olarak yüklü gelen araçlar ihtiyaçlara göre özelleştirilmiştir. Bu özelleştirmenin sonucunda da “dağıtım-distro” kavramı ortaya çıkmıştır.

Bu konunun teknik ayrıntılarına ileride ayrıca değinmiş olacağız. Bu sayede bahsetmiş olduğumuz pek çok kavram yerli yerine oturmuş olacak. Dağıtım kavramının şimdilik daha net anlaşılabilmesi için teknik anlatımın dışında gerçek hayattaki duruma örnek göstermemiz gerekirse; örneğin sunucu yönetiminde grafiksel arayüze ihtiyaç duyulmayacağından sunucu için kullanılan dağıtımın grafiksel arabirim araçlarına ihtiyacı yoktur. Çünkü grafiksel arayüz profesyonel kullanımda performansı ve yapılabilecek işlerin çeşitliliğini potansiyel olarak düşürebilir. Bu duruma benzer şekilde, örneğin ev ya da ofis kullanıcıları için de grafiksel arayüz önemlidir ve bu kullanıcılara hitap eden dağıtımlar da bu durumu dikkate alarak grafiksel arabirimlerini kullanıcıların rahat yönetebileceği şekilde seçerler. Yani profesyonel sunucu yönetiminde yöneticilerin her türlü işini komutlar ile çözebilmesi beklenirken, sıradan kullanıcılar her işini komutlar ile çözmek istemeyebilir. Örneğin sıradan kullanıcı web üzerinde gezinti yapıp video izlemek isteyebilir ancak sunucuyu yöneten kişilerin böylesi bir işleme ihtiyacı yoktur. Çünkü sunucuyu yöneten insanların beklentisi sunucuyu vermli şekilde yönetip denetlemektir. Örneğimizi şimdilik daha fazla uzatmaya gerek yok, eğitim içerisinde ihtiyaçlar meselesinin neye göre değiştiğini zaten bizzat görmüş olacaksınız. İşte tıpkı örneğimizde olduğu gibi zaman içerisinde pek çok farklı amaç için pek çok farklı dağıtım ortaya çıkmıştır. Elbette ihtiyaçlara cevap verecek dağıtımlar oluşturabilmenin en temel dayanağı açık kaynak ve özgür yazılım felsefesidir. Bu durum da bizlere açık kaynağın ve özgür yazılım ilkelerinin ne kadar değerli olduğunu bir kez daha hatırlatıyor.

Konumuza dönecek olursak piyasada pek çok farklı türde dağıtım bulunuyor. Tüm bu dağıtımlar hakkında bilgi almak üzere DistroWatch.com: Put the fun back into computing. Use Linux, BSD. adresini ziyaret edebiliriz. Bu sayfa üzerinden herkesin kullanımına açık olan pek çok dağıtım hakkında bilgi almamız mümkündür. Hatta hangi dağıtım son zamanlarda ne kadar popüler olduğunun bilgisine dahi buradan ulaşabiliriz. Popüler dağıtımlara Debian, Monjoro, Mint, Ubuntu, Fedora ve benzer pek çok dağıtımı saymamız mümkündür. Pek çok dağıtımın varlığından haberdar olduğumuzda, aklımıza tek bir soru geliyor;


Peki ama biz hangi dağıtımı seçmeliyiz yani hangi dağıtım bize daha uygun ?

Aslında bu sorunun cevabı sizin hangi amaçla bu sistemleri kullanmak istediğinize bağlı olarak değişir. Ancak bizim bu eğiti serisi içerisinde ele alacağımız dağıtım türü, "Debian tabanlı" olan dağıtımlardır. Peki ama “Debian tabanlı dağıtım” da ne demek ?

Debian tabanlı dağıtım, isminden de anlaşılacağı gibi Debian dağıtımını temel alarak oluşturulmuş alt dağıtımlara verilen genel isimdir. Debian dağıtımı oldukça köklü olan bir dağıtım türüdür. Linux çekirdeği etrafında stabil şekilde çalışan pek çok araç ekleyerek zaman içerisinde sorunsuzca çalışan bir dağıtım halini almıştır. Stabil şekilde çalıştığı için, farklı amaçlarla dağıtım oluşturmak isteyen kişiler sıfırdan oluşturmakla uğraşmak yerine Debian dağıtımını değiştirerek isteklerine uygun dağıtımlar oluşturmuşlardır. İşte Debian dağıtımını amaçları doğrultusunda değiştirip yeni bir dağıtım olarak sunan sistemlere "Debian tabanlı dağıtımlar" deniliyor. Benzer durum diğer ana dağıtımlar için de geçerlidir. Örneğin Pardus başlarda bağımsız şekilde sıfırdan geliştiriliyorken bu bağımsız sürüm bırakılarak, Debian dağıtımı üzerinden tekrar geliştirileren Debian tabanlı dağıtım halini almıştır.

Distro watch üzerinde gördüğümüz pek çok dağıtım
Debian gibi oldukça köklü olan ana dağıtımların özelleştirilmesi ile oluşturulmuştur. Hatta dağıtımların açıklamalarına tek tek göz attığınızda Ubuntu, Mint, Kali, Pardus ve benzeri pek çok dağıtımın aslında Debian tabanlı olduğunu görebilirsiniz. Bu dağıtımların Debian tabanlı olması demek temel yönetim araçlarının ortak olması demektir. Örneğin Debian tabanlı dağıtımlar paket yönetimi için yani sisteme program yükleyip kaldırma gibi işlemler için ortak olarak apt (Advanced Package Tool- Gelişmiş Paketleme Aracı) isimli aracı kullanır. Yani örneğin siz "Pardus" da kullansanız "Kali Linux" da kullansanız apt paket yönetim aracı varsayılan olarak yüklü gelecektir. İşte bizler de bu eğitimde Debian tabanlı dağıtımları nasıl yönetebileceğimizi öğrenmiş olacağız. Yani sizler burada yer alan anlatımları dilerseniz Kali Linux haricindeki Debian tabanlı (Pardus, Ubuntu, Mint, Parrot, Deepin, vb..) olan herhangi bir dağıtımdan da rahatlıkla takip edebilirsiniz.

Benim anlatımları
Debian tabanlı dağıtım üzerinden gerçekleştiriyor olma nedenim, kullanımının hem profesyonel hem de standart ev kullanıcıları arasında yaygın olmasıdır. Debian dağıtımları, standart ev kullanıcılarından tutun da dünya çapında hizmet sunan Google gibi şirketlerin sunucu altyapılarına kadar, pek çok farklı alanda yaygın kullanıma sahiptir. Öğrenmesi ve kullanması kolay olduğundan ve öğrenmenin bizlere sunacağı katkıdan dolayı Debian GNU/Linux dünyasını tanımak için iyi bir başlangıç noktasıdır. Ayrıca Pardus işletim sistemimizin de Debian tabanlı olduğunu dikkate alarak, Debian dağıtımları üzerinden ilerlemenin doğru bir yaklaşım olduğunu düşünüyorum.

Ben anlatımlar sırasında siber güvenlik alanında sıklıkla kullanılan Debian tabanlı "Kali Linux" dağıtımı üzerinden ilerliyor olacağım. Elbette daha önce de belirttiğim gibi, sizler dilediğiniz Debian tabanlı dağıtımı seçip kullanabilirsiniz. Kurulum anlatımlarına geçmeden önce özellikle ilk defa Linux öğrenme gayretinde olan kişilerin kafasında hiç bir soru işareti kalmaması adına temel kavramların hepsini ele alalım istiyorum. Yani neden hala kurulumları anlatmadığımı merak ediyorsanız, eğitimden maksimum verimi alabilmeniz adına sıfırdan sırasıyla ilerlemeye gayret ettiğimi bilmenizi isterim.

İlk defa Linux ile tanışan kullanıcıların akıllarında soru işareti oluşturabilecek bir başka durum da farklı dağıtımlar üzerinden eğitimi takip ederken grafiksel arayüzde değişiklikler olabilmesidir. Bu durumun sebebini bir sonraki kısımda kısaca açıklamaya çalışalım.



Dağıtımlar ve Sürümler Arası Farklılıklar Hakkında

Buradaki anlatımları Debian tabanlı olduğu sürece istediğiniz bir dağıtım üzerinden takip edebileceğinizi söyledik. Ancak Kali Linux dışındaki debian tabanlı bir dağıtımı kullandığınızda hatta doğrudan Kali kullanmanıza karşın benim eğitimi hazırlarken kullandığım Kali sürümü dışındaki bir sürümü kullandığınızda, sizin kullandığınız sistemin anlatımlar sırasında kullanılan sistemden farklı gözüktüğüne şahit olacaksınız. Hatta basit bir test gerçekleştirmek üzere Kali Linux dağıtımının farklı sürümlerde nasıl göründüğüne dair genel bir bakış atabiliriz.


kali-versions.png

Sürümler arasında farklılık olduğunu bir bakışta fark edebiliyoruz ancak hiç merak etmeyin bu farklılığın hiç bir önemi yok. Bu eğitimin sonunda sizler için tüm sürümler aynı derecede kolay kullanılabilir olacak ve bu farklılıklar sizin için de sıradanlaşacak. Çünkü sürümler ve dağıtımlar arasında farklılık olmasının nedeni daha önce de bahsetmiş olduğumuz, ihtiyaçlara uygun özelleştirmelerdir. Örneğin benim eğitimi hazırladığım dönemde metinleri grafiksel arayüzde açıp düzenleyebilme olanağı tanıyan leafpad isimli araç Kali Linux dağıtımında varsayılan olarak yüklü geliyordu. Ancak daha yeni sürümlerde leafpad aracı varsayılan olarak yüklü gelmemeye ve bu araç yerine alternatif bir metin editörü kullanılmaya başlandı. Belki daha ileriki sürümlerde daha farklı bir metin editörü de yüklü gelebilir. Ayrıca varsayılan olarak yüklü gelen araçlar dışında sistemin görünümünün değişmesinin bir başka nedeni de kullanıcı ile etkileşimi sağlayan masaüstü ortamı ve pencere yöneticileri gibi araçların birden fazla sayıda olması ve bu araçların da sürekli gelişmeye devam etmesidir. Yani mevcut sistemin grafiksel görünümü diğer bir deyişle “makyajı” sürümden sürüme veya ileride ele alacağımız şekilde kullanıcının isteği doğrultusunda değiştirilebilir bir aracı katmandır sadece. Hatta özellikle sunucu olarak kullanılan dağıtımlarda bu grafiksel arayüzün varsayılan olarak yüklü gelmediğinden de daha önce bahsetmiştik hatırlarsanız. Peki ama hem varsayılan olarak yüklü gelen araçlar hem de grafiksel arayüz, sürümlere ve dağıtımlara göre değişkenlik gösteriyorsa biz bu eğitimde ne öğreneceğiz ? Nasıl bu eğitimi takip edeceğiz ? Yoksa öğreneceğimiz bilgiler geçici bilgiler mi ?

Biz bu eğitimde Debian tabanlı sistemlerde standart olan yönetim araçlarını, komutlar ile sistemi yönetmemizi sağlayan Bash kabuğunun kullanımını ve Linux’un sahip olduğu temel standartları öğreniyor olacağız. Kısacası bu eğitimde anlatılan bilgiler standart olan temel Linux sistem yönetimini içeriyor. Yani örneğin ben grafiksel arayüzde leafpad aracını kullanarak bir metin düzenlemeyi gösteriyorken, sizler de kendi sisteminizde yüklü bulunan metin editörü aracını kullanabilirsiniz. Zaten grafiksel arayüzün nasıl kullanılacağını anlamanız oldukça kısa sürecektir zira grafiksel arayüzler her daim kolay kullanılır şekilde tasarlanıyor. Örneğin sizler win7 den win8 ya da win10 işletim sistemine geçerken sistemi kullanmak için özel bir eğitim aldınız mı ? Pek sanmıyorum. Eminim ki istisnalar hariç kısa süre içerisinde yeni grafiksel arayüzü çözüp sistemi efektif şekilde kullanmayı başardınız. Aynı durumu Linux için de geçerli. Yani sizler hangi grafiksel arayüze sahip olursanız olun bu arayüzü çözmeniz çok kısa sürecektir. Ve bu gibi alışkanlıkları şimdiden edinmek yani kendi kendine araştırıp sorunu çözebilmek, özellikle Linux kullanırken en çok ihtiyaç duyacağınız yetidir kesinlikle. Çünkü söz konusu Linux olduğunda potansiyel olarak sınırsız çeşitliliğe sahip bir sistemden bahsettiğimiz için her birimiz her daim öğrenci kalmaya devam ediyoruz aslında.

Öğrenme süreciniz hiç bir zaman bitmeyeceği için öğrenmeyi öğrenmek üzere bu eğitimde iyi bir temel atmaya odaklanacağız. Sizler buradan edineceğiniz temel bilgilerinizin üzerine, zaman içerisinde ihtiyaç duydukça pek çok yeni bilgiyi araştırıp katabiliyor olacaksınız. Örneğin sizin kullandığınız sistemdeki metin editörünün hangisi olduğunu sistemi kurcalayarak ya da kurcalayarak bulamazsanız kısa internet araştırması ile öğrenmeniz mümkündür. Ayrıca eğitim içerisinde istediğimiz yeni araçları nasıl kurabileceğimizi de öğreniyor olacağımızdan sistemi yönetme konusunda zorluk yaşamayacaksınız.

Neticede arayüzler sürekli değişme potansiyelinde olduğu için sizlerin bu eğitimde odaklanmanız gereken tek nokta Linux sistem yönetiminin temelleridir. Ayrıca yaşadığınız her türlü problemde size seve seve yardımcı olacak pek çok forum alanı olduğunu lütfen unutmayın. Zaten eğitime devam ettikçe temel Linux bilginiz sayesinde sorunlarınızı kendi kendinize nasıl çözebileceğinizi de öğrenmiş olacaksınız.

Özetle bu eğitim sizin kullandığınız dağıtım veya sürüme göre grafiksel olarak farklı görünüyor olabilir ancak yönetimine dair anlatılan tüm bilgiler geçerliliğini korumaya devam edecektir. Sizden tek ricam tüm eğitimi baştan sonra sırası ile sabırla ve etkileşimde olarak yani uygulama ve araştırmaya açık olarak bitirmenizdir. Eğitimi bitirdiğinizde bahsetmiş olduğumuz tüm konularda bana hak vereceğinize ve Linux sistemini rahatlıkla kullanabiliyor olacağınıza emin olabilirsiniz. Dokümanı buraya kadar okuma sabrını gösterebildiyseniz, tüm eğitimini kolayca bitirebileceğinize olan inancım tam. Siz sabırlı okuyucuma saygılarımı sunarak, aramıza hoş geldiniz demekten mutluluk duyuyorum.

Temel kavramları ve eğitimin ilerleyiş biçimini ele aldığımıza göre gerekli olan çalışma ortamını kurmak üzere anlatımlarımıza devam edebiliriz...



DERS BURADA BİTMİŞTİR DERS #2'YE GEÇİNİZ...

DERS#2


@'pump




250px-T%C3%BCrkHackTeam_Logo.png
eline sağlık dostum emek kokuyo
 
5 Eki 2022
76
20
logo.png





Tüm TürkHackTeam ailesine selamlar.
Bu gün bu konuda Linux dersleri göreceğiz...
Alıntılar şu şekilde yapılmaktadır ; elimden geldiği kadar temize çekip birden fazla kaynaklardan bakıyorum. Bu konuda ki kaynağım githubdan'dır.
Alıntı yapma sebebim bizim forumuzda olmayan çok işe yarar güzel makaleler var,bunları hepinize duyurmak istiyorum. Ben buraya sadece kaynak linkini atıp gitsem icap etmez.
Bir diğer formumuza taşımamım sebebi ise yardım da açılan konular. o arkdaşlara dış kaynaklardan link atmak yerine neden o yararlı kaynaklar bizim forumuzda olmasın link yerine konumuzun linkini neden atmayalım demi ? :)
Sizlerede güzel makaleler bulmak için bende araştırmadan kaçınmıyorum, hem ben öğreniyorum hem konumu açıyorum.

UZUN BİR KONU BİZİ BEKLİYOR...


Bu Eğitim Kimler İçin ?

Bu eğitim serisi, Linux sistemlerini nasıl yönetebileceğimizi sıfırdan başlayarak sıralı şekilde ele aldığımız temel konu anlatımlarından oluşturulmuştur. Linux sistem yönetiminin temellerini bildikten sonra isterseniz buradaki bilgileri; sistem yönetimi alanına giriş yapmak, gündelik işleriniz yani kişisel kullanım için ya da siber güvenlik gibi Linux bilmenin elzem olduğu farklı disiplinlerde kullanabilirsiniz. Özetle bu eğitim hobi meslek hangi amaçla olursa olsun sıfırdan Linux öğrenmek ya da tekrar etmek isteyen herkes için kolay takip edilebilir sıralı ve düzenli bir temel eğitim imkanı sunuyor. Eğer daha önce Linux sistemini kullanmak istediyseniz ve öğrenmeye nereden başlayacağınız konusunda kafa karışıklığı yaşadıysanız hiç endişelenmeyin. Tüm anlatımları sıfırdan ve öğrenmenizi kolaylaştıracak şekilde sıralı olarak ele alıyor olacağız.

Önsöz

Öncelikle sizleri temin ederim ki Linux kesinlikle öcü değildir. Eğer müfredat sırlamasına riayet ederek temel çalışma yapısına hakim olursanız, kullanması yani yönetmesi son derece keyifli ve kolay olan bir işletim sistemidir. Dijitalleşen dünyamızda ulusal özgürlüğün önemli bir parçasının özgür işletim sistemleri olduğunu düşündüğüm için; dileyen herkesin en azından kendi ihtiyaçlarını karşılayabilecek düzeyde temel Linux bilgisine kolayca ulaşabilmesi adına bu sıralı dokümanı sizlere sunuyorum. Kendinize ve hepimizin geleceğine yatırım yapmak için dokümanı takip edebilir ve tüm tanıdıklarınızla dokümanı özgürce paylaşabilirsiniz.

Baştan belirteyim ben sizlere kesinlikle balık vermek niyetinde değilim çünkü benim vereceğim balık size yeterli büyüklükte ya da yeterince taze gelmeyebilir. Benim amacım sizlere nasıl balık tutacağınızı öğretmek. Sizler öğrendiğiniz bu bilgiler ile ihtiyacınıza göre ister küçük isterseniz de kendinizi geliştirip çok daha büyük balıklar tutabiliyor olacaksınız. Bu yolda merak bizim öğretmenimiz olacak.


Girizgah

İşletim sistemi dediğimizde aklınıza ne geliyor ?

İşletim sistemlerini; pek çok farklı amaca hizmet eden bileşenlerin, kullanıcıdan aldığı emirleri yerine getirmek için bir bütün halinde uyum içerisinde çalışması şeklinde tanımlayabiliriz. Elbette bu tanımlama tek başına işletim sistemin ne olduğu ve nasıl çalıştığını ifade etmek için yetersiz. Ancak bütünü anlamada, eğitim süreci boyunca bizlere yardımcı olabilir. Şimdi sırasıyla GNU/Linux işletim sistemini tanımamızı sağlayacak temel kavramlardan bahsederek anlatıma devam edelim.


ℹ️ Not: Buradaki anlatımlar ileride ele alacağımız teknik anlatımların kritik olan temelini oluşturduğu için atlamadan devam etmeniz son derece önemli. Yani bu bölümde ele aldığımız anlatımlar en az teknik anlatımlar kadar gereklidir ve herkesin kolay takip edebilmesi için sıfırdan ele alınmıştır. Zaten anlatımlar tarihi detaylardan ziyade konuyu kavramamız için gerekli olan bilgilere odaklandığı için çok tarihi detaylara değinmeyeceğiz. Eğer bahsi geçen çalışmaların tarihi detaylarını öğrenmek isterseniz wikipedia gibi harici kaynaklar size pek çok tarihi detay sağlayacaktır. Bir an önce sistemi kurup teknik anlatımlara ve uygulamalara geçmek istediğinizi biliyorum. Ancak lütfen biraz sabırlı olun ve bu bölümün tüm eğitimin önemli bir parçası olduğunu unutmayın.


Linux Nedir ?

Başlamadan.. Şunu bilin ki Linux tek başına işletim sistemi değil çekirdektir!

UNIX

Bu kısımda, çok tarihi veya çok teknik olmayan bir üslupla, Linux hakkında genel bilgi sahibi olmanızı sağlayacak şekilde Linux'un ortaya çıkış hikayesini ele alacağız.

Zamanında
Bell Laboratuvarı'nda geliştirilen UNIX adında bir işletim sistemi vardı. Bu sistem kendi bünyesinde bulundurduğu araçları sayesinde çeşitli üniversiteler ve diğer ihtiyaç duyulan kurumlarda kullanılıyordu. Buraya kadar her şey gayet güzel ancak Unix lisans ücreti istiyordu ve tabii ki bu durum sistemi kullanabilecek kişilerin sayısını da oldukça azaltıyordu. Yani insanlar ihtiyaç duysalar dahi lisans ücretinden dolayı bu sistemi kullanamıyorlardı. Bunun sonucunda "para ödemek yerine bende kendi işletim sistemimi yazarım" diye düşünenler ortaya çıktı ve bu da UNIX'e mecbur olunmadığı, eğer istenirse yeni bir sistemin yazılabileceği düşüncesini ortaya koydu. Bunun sonucunda birçok işletim sistemi geliştirme girişimleri oldu ancak sonuçta geliştirilen sistemler stabil şekilde çalışmıyorlardı. Tabi bu durum sonsuza kadar böyle kalmayacaktı..


Linus Torvalds

Bir efsanenin doğuşu..
Linus.png


Buraları her ne kadar istemesem de kısaca geçmek durumundayım ama eğer "Linux kullanıyorum" demek istiyorsanız kesinlikle bu konuları araştırın ve ayrıca Revolution OS belgeselini de mutlaka izleyin derim.

İnsanların lisans ücretinden kaçmak için kendi işletim sistemini yazma akımı devam ediyorken bu durum Linus Torvalds'ı da etkilemiş olacak ki Linus, UNIX'ten esinlenerek
Helsinki Üniversitesi'ndeyken kendi işletim sistemi çekirdeğini yazdı. UNIX'ten esinlendi ancak bunu hiçbir kod alıntısı yapmadan sıfırdan yazarak başardı. Daha sonra Linus, bu geliştirdiği çekirdeğin çeşitli insanlara ve gruplara(geliştirici topluluklar vb..) ulaşmasını sağlayarak, insanların verdiği dönütlerle düzenlemeler yaptı. Böylelikle Linus, çekirdeğin daha da kullanışlı hale gelmesini sağlamış oldu. Ve en nihayetinde Linus, bu geliştirdiği çekirdeğe(kernel) "Linux" adını verdi. Ancak Linux bir çekirdekti ve içerisinde UNIX gibi kullanışlı araçları bulundurmuyordu.

Linux cephesinde bunlar yaşanıyorken Richard Stallman'da , GNU genel kamu lisansını ortaya atarak özgür yazılımı savunuyordu. Nedir bu
genel kamu lisansı ve özgür yazılım diyecek olursanız lütfen okumaya devam edin.






GNU

gnu.png

GNU (Gnu is Not Unix/GNU Unix Değildir), açık kaynak hareketi doğrultusunda geliştirilen araçların içinde bulunduğu ücretsiz ve herkes için ulaşılabilir özgür bir işletim sistemidir. Ancak GNU için her şey her daim güllük gülistanlık değildi. GNU, içerisinde kendine ait güçlü araçları bulundurmasının yanı sıra kararlı bir çekirdeğe sahip değildi. Çekirdek için denemeler yapılmış ancak istenen düzeyde kararlı bir çekirdek oluşturulamamıştı.

Tam da bu noktada
Linus Torvalds'ın sıfırdan geliştirip topluluğa sunduğu çekirdek(Linux) yazılımı, GNU ile tencere kapak uyumu olacak şekilde bir araya geldi. Böylelikle ortaya bir GNU/Linux efsanesi çıktı. İşte GNU/Linux devrimi kısaca bu şekilde oldu. Hem GNU'nun hem de Linux'un topluluğa bağlı dönütlerle geliştirilmesi doğrultusunda herkese açık, ücretsiz ve sınırsız geliştirilme potansiyeline sahip, gerçek anlamda insana hizmet eden özgür bir işletim sistemi ortaya çıkmış oldu.




Sonuç Olarak
gnu-linux.png

Anlatımın başında da söylediğimiz şekilde; Linux bir işletim sistemi değil, çekirdektir(kernel). GNU/Linux bütünü bir işletim sistemidir. Ancak genellikle söylenmesi uzun veya zor geldiği için, zamanla sadece Linux olarak geçmeye başlamıştır. Ben de yazılarımda GNU/Linux yerine Linux kullanıyor olacağım. Ancak emin olun çekirdekten(kernel) yani Linux'tan bahsettiğimde ve GNU/Linux(işletim sistemi)'tan bahsettiğimde hangisini kastettiğimi anlıyor olacaksınız. Ayrıca söz konusu Linux olduğunda sürekli karşınıza çıkacak olan penguen logosu, Linux'un "tux" olarak ifade edilen maskotudur.

GNU/Linux sisteminin ortaya çıkış hikayesini teknik ya da tarihi detaylara girmeden, daha fazlasını araştırmak istediğinizde referans noktalarınız olacak şekilde ele aldık. Biz şimdi sıklıkla duyacağımız bir diğer önemli konu olan "
dağıtım" kavramı ile anlatımlarımıza devam edelim.





Dağıtım(Distro) Nedir ve Hangisini Seçmeliyiz ?

İngilizce “distro” olarak geçen “dağıtım” kavramını açıklamadan önce, GNU/Linux sisteminin yapısını iyi anlamamız gerekiyor.
GNU/Linux’un, içerisinde sistemin yönetilebilmesini sağlayan pek çok farklı aracı barındıran sistem bütününe verilen genel isim olduğunu öğrendik.


gnulinux.png


GNU/Linux dediğimiz sistem bütünü de zaman içerisinde insanların ihtiyaçlarına göre farklı dağıtımlar altında özelleştirilerek çoğalmıştır. Bu özelleştirmenin ne anlama geldiğini öğrenmek için burada bahsi geçen araçların neler olduğunu iyi kavramamız gerekiyor.

dagitim.png


Tüm GNU/Linux dağıtımların ortak özelliği Linux çekirdeğini kullanmasıdır. Peki ama "Linux" yani "çekirdek" dediğimiz yapının görevi tam olarak nedir ?

Çekirdek, yazılımlardan yani kullanıcının kullandığı araçlardan gelen emirleri donanıma yaptırmakla mükellef yapıdır. Burada bahsi geçen araçlar basit bir metin editörü ya da daha farklı herhangi bir işlevsel yazılım olabilir. Örneğin bizler basit bir metin hazırlamak ya da sisteme program yüklemek hatta herhangi bir dosyayı görüntülemek için aslında ne yapıyoruz? Bize bu imkanı sunan aracı çalıştırıp işimizi hallediyoruz değil mi ? İşte işletim sistemi dediğimiz şey de aslında biz kullanıcıların doğrudan ya da dolaylı olarak kullandığı araçlar bütününe verdiğimiz isimdir. Bizler işimizi halletmek üzere aracımızı kullanır gerisine karışmayız.




kernel_sema.png

İşte burada bahsi geçen araçlar zaman içerisinde farklı ihtiyaçlara hitap edebilecek şekilde bir araya getirilip bir çok alt işletim sistemini yani dağıtımları ortaya çıkarmıştır. Özetle Linux dediğimiz çekirdek yapısı tüm dağıtımlarda ortaktır ancak dağıtımların içerisinde varsayılan olarak yüklü gelen araçlar ihtiyaçlara göre özelleştirilmiştir. Bu özelleştirmenin sonucunda da “dağıtım-distro” kavramı ortaya çıkmıştır.

Bu konunun teknik ayrıntılarına ileride ayrıca değinmiş olacağız. Bu sayede bahsetmiş olduğumuz pek çok kavram yerli yerine oturmuş olacak. Dağıtım kavramının şimdilik daha net anlaşılabilmesi için teknik anlatımın dışında gerçek hayattaki duruma örnek göstermemiz gerekirse; örneğin sunucu yönetiminde grafiksel arayüze ihtiyaç duyulmayacağından sunucu için kullanılan dağıtımın grafiksel arabirim araçlarına ihtiyacı yoktur. Çünkü grafiksel arayüz profesyonel kullanımda performansı ve yapılabilecek işlerin çeşitliliğini potansiyel olarak düşürebilir. Bu duruma benzer şekilde, örneğin ev ya da ofis kullanıcıları için de grafiksel arayüz önemlidir ve bu kullanıcılara hitap eden dağıtımlar da bu durumu dikkate alarak grafiksel arabirimlerini kullanıcıların rahat yönetebileceği şekilde seçerler. Yani profesyonel sunucu yönetiminde yöneticilerin her türlü işini komutlar ile çözebilmesi beklenirken, sıradan kullanıcılar her işini komutlar ile çözmek istemeyebilir. Örneğin sıradan kullanıcı web üzerinde gezinti yapıp video izlemek isteyebilir ancak sunucuyu yöneten kişilerin böylesi bir işleme ihtiyacı yoktur. Çünkü sunucuyu yöneten insanların beklentisi sunucuyu vermli şekilde yönetip denetlemektir. Örneğimizi şimdilik daha fazla uzatmaya gerek yok, eğitim içerisinde ihtiyaçlar meselesinin neye göre değiştiğini zaten bizzat görmüş olacaksınız. İşte tıpkı örneğimizde olduğu gibi zaman içerisinde pek çok farklı amaç için pek çok farklı dağıtım ortaya çıkmıştır. Elbette ihtiyaçlara cevap verecek dağıtımlar oluşturabilmenin en temel dayanağı açık kaynak ve özgür yazılım felsefesidir. Bu durum da bizlere açık kaynağın ve özgür yazılım ilkelerinin ne kadar değerli olduğunu bir kez daha hatırlatıyor.

Konumuza dönecek olursak piyasada pek çok farklı türde dağıtım bulunuyor. Tüm bu dağıtımlar hakkında bilgi almak üzere DistroWatch.com: Put the fun back into computing. Use Linux, BSD. adresini ziyaret edebiliriz. Bu sayfa üzerinden herkesin kullanımına açık olan pek çok dağıtım hakkında bilgi almamız mümkündür. Hatta hangi dağıtım son zamanlarda ne kadar popüler olduğunun bilgisine dahi buradan ulaşabiliriz. Popüler dağıtımlara Debian, Monjoro, Mint, Ubuntu, Fedora ve benzer pek çok dağıtımı saymamız mümkündür. Pek çok dağıtımın varlığından haberdar olduğumuzda, aklımıza tek bir soru geliyor;


Peki ama biz hangi dağıtımı seçmeliyiz yani hangi dağıtım bize daha uygun ?

Aslında bu sorunun cevabı sizin hangi amaçla bu sistemleri kullanmak istediğinize bağlı olarak değişir. Ancak bizim bu eğiti serisi içerisinde ele alacağımız dağıtım türü, "Debian tabanlı" olan dağıtımlardır. Peki ama “Debian tabanlı dağıtım” da ne demek ?

Debian tabanlı dağıtım, isminden de anlaşılacağı gibi Debian dağıtımını temel alarak oluşturulmuş alt dağıtımlara verilen genel isimdir. Debian dağıtımı oldukça köklü olan bir dağıtım türüdür. Linux çekirdeği etrafında stabil şekilde çalışan pek çok araç ekleyerek zaman içerisinde sorunsuzca çalışan bir dağıtım halini almıştır. Stabil şekilde çalıştığı için, farklı amaçlarla dağıtım oluşturmak isteyen kişiler sıfırdan oluşturmakla uğraşmak yerine Debian dağıtımını değiştirerek isteklerine uygun dağıtımlar oluşturmuşlardır. İşte Debian dağıtımını amaçları doğrultusunda değiştirip yeni bir dağıtım olarak sunan sistemlere "Debian tabanlı dağıtımlar" deniliyor. Benzer durum diğer ana dağıtımlar için de geçerlidir. Örneğin Pardus başlarda bağımsız şekilde sıfırdan geliştiriliyorken bu bağımsız sürüm bırakılarak, Debian dağıtımı üzerinden tekrar geliştirileren Debian tabanlı dağıtım halini almıştır.

Distro watch üzerinde gördüğümüz pek çok dağıtım
Debian gibi oldukça köklü olan ana dağıtımların özelleştirilmesi ile oluşturulmuştur. Hatta dağıtımların açıklamalarına tek tek göz attığınızda Ubuntu, Mint, Kali, Pardus ve benzeri pek çok dağıtımın aslında Debian tabanlı olduğunu görebilirsiniz. Bu dağıtımların Debian tabanlı olması demek temel yönetim araçlarının ortak olması demektir. Örneğin Debian tabanlı dağıtımlar paket yönetimi için yani sisteme program yükleyip kaldırma gibi işlemler için ortak olarak apt (Advanced Package Tool- Gelişmiş Paketleme Aracı) isimli aracı kullanır. Yani örneğin siz "Pardus" da kullansanız "Kali Linux" da kullansanız apt paket yönetim aracı varsayılan olarak yüklü gelecektir. İşte bizler de bu eğitimde Debian tabanlı dağıtımları nasıl yönetebileceğimizi öğrenmiş olacağız. Yani sizler burada yer alan anlatımları dilerseniz Kali Linux haricindeki Debian tabanlı (Pardus, Ubuntu, Mint, Parrot, Deepin, vb..) olan herhangi bir dağıtımdan da rahatlıkla takip edebilirsiniz.

Benim anlatımları
Debian tabanlı dağıtım üzerinden gerçekleştiriyor olma nedenim, kullanımının hem profesyonel hem de standart ev kullanıcıları arasında yaygın olmasıdır. Debian dağıtımları, standart ev kullanıcılarından tutun da dünya çapında hizmet sunan Google gibi şirketlerin sunucu altyapılarına kadar, pek çok farklı alanda yaygın kullanıma sahiptir. Öğrenmesi ve kullanması kolay olduğundan ve öğrenmenin bizlere sunacağı katkıdan dolayı Debian GNU/Linux dünyasını tanımak için iyi bir başlangıç noktasıdır. Ayrıca Pardus işletim sistemimizin de Debian tabanlı olduğunu dikkate alarak, Debian dağıtımları üzerinden ilerlemenin doğru bir yaklaşım olduğunu düşünüyorum.

Ben anlatımlar sırasında siber güvenlik alanında sıklıkla kullanılan Debian tabanlı "Kali Linux" dağıtımı üzerinden ilerliyor olacağım. Elbette daha önce de belirttiğim gibi, sizler dilediğiniz Debian tabanlı dağıtımı seçip kullanabilirsiniz. Kurulum anlatımlarına geçmeden önce özellikle ilk defa Linux öğrenme gayretinde olan kişilerin kafasında hiç bir soru işareti kalmaması adına temel kavramların hepsini ele alalım istiyorum. Yani neden hala kurulumları anlatmadığımı merak ediyorsanız, eğitimden maksimum verimi alabilmeniz adına sıfırdan sırasıyla ilerlemeye gayret ettiğimi bilmenizi isterim.

İlk defa Linux ile tanışan kullanıcıların akıllarında soru işareti oluşturabilecek bir başka durum da farklı dağıtımlar üzerinden eğitimi takip ederken grafiksel arayüzde değişiklikler olabilmesidir. Bu durumun sebebini bir sonraki kısımda kısaca açıklamaya çalışalım.



Dağıtımlar ve Sürümler Arası Farklılıklar Hakkında

Buradaki anlatımları Debian tabanlı olduğu sürece istediğiniz bir dağıtım üzerinden takip edebileceğinizi söyledik. Ancak Kali Linux dışındaki debian tabanlı bir dağıtımı kullandığınızda hatta doğrudan Kali kullanmanıza karşın benim eğitimi hazırlarken kullandığım Kali sürümü dışındaki bir sürümü kullandığınızda, sizin kullandığınız sistemin anlatımlar sırasında kullanılan sistemden farklı gözüktüğüne şahit olacaksınız. Hatta basit bir test gerçekleştirmek üzere Kali Linux dağıtımının farklı sürümlerde nasıl göründüğüne dair genel bir bakış atabiliriz.


kali-versions.png

Sürümler arasında farklılık olduğunu bir bakışta fark edebiliyoruz ancak hiç merak etmeyin bu farklılığın hiç bir önemi yok. Bu eğitimin sonunda sizler için tüm sürümler aynı derecede kolay kullanılabilir olacak ve bu farklılıklar sizin için de sıradanlaşacak. Çünkü sürümler ve dağıtımlar arasında farklılık olmasının nedeni daha önce de bahsetmiş olduğumuz, ihtiyaçlara uygun özelleştirmelerdir. Örneğin benim eğitimi hazırladığım dönemde metinleri grafiksel arayüzde açıp düzenleyebilme olanağı tanıyan leafpad isimli araç Kali Linux dağıtımında varsayılan olarak yüklü geliyordu. Ancak daha yeni sürümlerde leafpad aracı varsayılan olarak yüklü gelmemeye ve bu araç yerine alternatif bir metin editörü kullanılmaya başlandı. Belki daha ileriki sürümlerde daha farklı bir metin editörü de yüklü gelebilir. Ayrıca varsayılan olarak yüklü gelen araçlar dışında sistemin görünümünün değişmesinin bir başka nedeni de kullanıcı ile etkileşimi sağlayan masaüstü ortamı ve pencere yöneticileri gibi araçların birden fazla sayıda olması ve bu araçların da sürekli gelişmeye devam etmesidir. Yani mevcut sistemin grafiksel görünümü diğer bir deyişle “makyajı” sürümden sürüme veya ileride ele alacağımız şekilde kullanıcının isteği doğrultusunda değiştirilebilir bir aracı katmandır sadece. Hatta özellikle sunucu olarak kullanılan dağıtımlarda bu grafiksel arayüzün varsayılan olarak yüklü gelmediğinden de daha önce bahsetmiştik hatırlarsanız. Peki ama hem varsayılan olarak yüklü gelen araçlar hem de grafiksel arayüz, sürümlere ve dağıtımlara göre değişkenlik gösteriyorsa biz bu eğitimde ne öğreneceğiz ? Nasıl bu eğitimi takip edeceğiz ? Yoksa öğreneceğimiz bilgiler geçici bilgiler mi ?

Biz bu eğitimde Debian tabanlı sistemlerde standart olan yönetim araçlarını, komutlar ile sistemi yönetmemizi sağlayan Bash kabuğunun kullanımını ve Linux’un sahip olduğu temel standartları öğreniyor olacağız. Kısacası bu eğitimde anlatılan bilgiler standart olan temel Linux sistem yönetimini içeriyor. Yani örneğin ben grafiksel arayüzde leafpad aracını kullanarak bir metin düzenlemeyi gösteriyorken, sizler de kendi sisteminizde yüklü bulunan metin editörü aracını kullanabilirsiniz. Zaten grafiksel arayüzün nasıl kullanılacağını anlamanız oldukça kısa sürecektir zira grafiksel arayüzler her daim kolay kullanılır şekilde tasarlanıyor. Örneğin sizler win7 den win8 ya da win10 işletim sistemine geçerken sistemi kullanmak için özel bir eğitim aldınız mı ? Pek sanmıyorum. Eminim ki istisnalar hariç kısa süre içerisinde yeni grafiksel arayüzü çözüp sistemi efektif şekilde kullanmayı başardınız. Aynı durumu Linux için de geçerli. Yani sizler hangi grafiksel arayüze sahip olursanız olun bu arayüzü çözmeniz çok kısa sürecektir. Ve bu gibi alışkanlıkları şimdiden edinmek yani kendi kendine araştırıp sorunu çözebilmek, özellikle Linux kullanırken en çok ihtiyaç duyacağınız yetidir kesinlikle. Çünkü söz konusu Linux olduğunda potansiyel olarak sınırsız çeşitliliğe sahip bir sistemden bahsettiğimiz için her birimiz her daim öğrenci kalmaya devam ediyoruz aslında.

Öğrenme süreciniz hiç bir zaman bitmeyeceği için öğrenmeyi öğrenmek üzere bu eğitimde iyi bir temel atmaya odaklanacağız. Sizler buradan edineceğiniz temel bilgilerinizin üzerine, zaman içerisinde ihtiyaç duydukça pek çok yeni bilgiyi araştırıp katabiliyor olacaksınız. Örneğin sizin kullandığınız sistemdeki metin editörünün hangisi olduğunu sistemi kurcalayarak ya da kurcalayarak bulamazsanız kısa internet araştırması ile öğrenmeniz mümkündür. Ayrıca eğitim içerisinde istediğimiz yeni araçları nasıl kurabileceğimizi de öğreniyor olacağımızdan sistemi yönetme konusunda zorluk yaşamayacaksınız.

Neticede arayüzler sürekli değişme potansiyelinde olduğu için sizlerin bu eğitimde odaklanmanız gereken tek nokta Linux sistem yönetiminin temelleridir. Ayrıca yaşadığınız her türlü problemde size seve seve yardımcı olacak pek çok forum alanı olduğunu lütfen unutmayın. Zaten eğitime devam ettikçe temel Linux bilginiz sayesinde sorunlarınızı kendi kendinize nasıl çözebileceğinizi de öğrenmiş olacaksınız.

Özetle bu eğitim sizin kullandığınız dağıtım veya sürüme göre grafiksel olarak farklı görünüyor olabilir ancak yönetimine dair anlatılan tüm bilgiler geçerliliğini korumaya devam edecektir. Sizden tek ricam tüm eğitimi baştan sonra sırası ile sabırla ve etkileşimde olarak yani uygulama ve araştırmaya açık olarak bitirmenizdir. Eğitimi bitirdiğinizde bahsetmiş olduğumuz tüm konularda bana hak vereceğinize ve Linux sistemini rahatlıkla kullanabiliyor olacağınıza emin olabilirsiniz. Dokümanı buraya kadar okuma sabrını gösterebildiyseniz, tüm eğitimini kolayca bitirebileceğinize olan inancım tam. Siz sabırlı okuyucuma saygılarımı sunarak, aramıza hoş geldiniz demekten mutluluk duyuyorum.

Temel kavramları ve eğitimin ilerleyiş biçimini ele aldığımıza göre gerekli olan çalışma ortamını kurmak üzere anlatımlarımıza devam edebiliriz...



DERS BURADA BİTMİŞTİR DERS #2'YE GEÇİNİZ...

DERS#2


@'pump




250px-T%C3%BCrkHackTeam_Logo.png
Eline sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.