İçeriğe geç

Linux'a Başlarken: Yeni Başlayanlar İçin Temel Konular

linux · terminal · cli

Buradaki komutları Ubuntu 24.04 LTS ve Linux Mint 22 üzerinde denedim. Debian tabanlı diğer dağıtımlarda da aynı şekilde çalışacaktır; Fedora veya Arch kullanıyorsanız yalnızca paket yöneticisi komutları değişir.

1. Linux Nedir ve Neden Kullanmalıyız?

Evet, daha önce Linux kullanmamış kişiler için ilk başlığımız bazı soruları akla getirebilir. Mesela, şunu düşünebilirsiniz: “Zaten Windows gibi, çoğu işimi fena olmayan bir arayüze sahip işletim sistemiyle halledebiliyorum, neden buna gerek var?” Aslında, bir bakıma haklısınız. Ancak işin bir de şu tarafını düşünmek gerek: “Bu sistemi kullanıyorum ama sistem üzerinde kaynaklarımı ne kadar verimli kullanabiliyorum? Sistemi ihtiyaçlarıma göre ne kadar kişiselleştirebiliyorum? İşlerimi ne kadar hızlı, kolay ve verimli yapabiliyorum? Burada bulundurduğum kişisel verilerim ne kadar güvende?” gibi pek çok soru gelebilir.

Bu sorulara verilebilecek en iyi cevap ise şudur: “Eğer Linux kullanıyorsanız, bunların hiçbiri sorun değil çünkü her şeyi kendinize göre ayarlayabilirsiniz!” Şimdi ilk başlığımıza tekrar bakın. :) Eğer size mantıklı bir sebep sunabildiysem, artık “Linux nedir?” sorusuna geçebiliriz.

Linux, Helsinki Üniversitesi’nde bilgisayar bilimleri öğrencisi olan Finlandiyalı Linus Torvalds tarafından 1991 yılında, kendi kişisel bilgisayarında kullanım amacıyla geliştirmeye başladığı bir işletim sistemi çekirdeğidir. Çekirdek, kullanıcının ve programların taleplerini donanıma ileterek bilgisayarın bu talepleri yerine getirmesini sağlayan bir ara katmandır; belleği paylaştırır, süreçleri sıraya sokar, disk ve ağ erişimini yönetir.

Ancak çekirdek tek başına bir işletim sistemi değildir. Bu çekirdek ile birlikte GNU (GNU’s Not Unix) açık kaynaklı yazılımları (derleyici, kabuk, temel komutlar) bir araya gelerek bir işletim sistemi oluşturmuştur ve teknik olarak bu sisteme GNU/Linux, modern tabirle ise Linux veya Linux dağıtımları denir. Ayrıca, GNU, özünde bir felsefi anlayışı temsil eder. GNU’yu başka bir yazıda daha ayrıntılı olarak ele alacağım.

2. Linux Dağıtımları: Hangi Dağıtım Sizin İçin Uygun?

Linux kullanmaya veya denemeye karar verdiyseniz, özellikle yeni başlayanlar için kullanımı kolay ve kullanıcı dostu dağıtımlara göz atmak faydalı olacaktır. Burada dağıtımın “en iyi” olmasından çok, bir sorun yaşadığınızda arama motoruna yazdığınızda cevap bulabilmeniz önemlidir. İşte önerebileceğim birkaç seçenek:

  • Ubuntu Desktop: Kullanımı kolay ve oldukça güçlü bir topluluk desteğine sahip bir dağıtımdır. GNOME masaüstü ortamıyla varsayılan olarak gelen Ubuntu, basit kurulumu ve geniş yazılım desteğiyle her seviyeden kullanıcı için ideal bir tercih olabilir. LTS sürümleri beş yıl boyunca desteklenir.
  • Linux Mint: Son kullanıcı dostu bir diğer popüler seçenek olan Linux Mint, sade ve tanıdık arayüzüyle öne çıkar. Mint ekibi tarafından geliştirilen Cinnamon masaüstü ortamını varsayılan olarak sunar ve Ubuntu tabanlı olduğu için geniş bir yazılım deposuna sahiptir. Eğer eski bir donanım kullanıyorsanız, daha hafif olan XFCE sürümünü tercih etmenizi öneririm.
  • Zorin OS: Windows’tan Linux’a geçiş yapmayı düşünen kullanıcılar için mükemmel bir tercihtir. Şık ve modern tasarımıyla dikkat çeken Zorin OS, Ubuntu tabanlıdır ve Core, Lite, Education gibi farklı kullanım senaryolarına uygun sürümler sunar.
  • Fedora Workstation: Yazılımların en güncel sürümlerini kullanmak isteyenler için güzel bir seçenektir. Yeni teknolojileri ilk benimseyen dağıtımlardan biridir ve GNOME’un en saf hâlini sunar.

Ek olarak bahsettiğim bu dağıtımlar için farklı masaüstü ortamlarına sahip versiyonları da mevcuttur. Ki zaten başta belirttiğimiz gibi Linux’u istediğiniz gibi özelleştirebilirsiniz; masaüstü ortamını dağıtımdan bağımsız olarak sonradan da değiştirebilirsiniz.

Eğer Linux üzerinde fazlaca vakit geçirip kendinizi geliştirirseniz ya da “Linux’u arayüz olmadan terminal ile başlayıp sistemi baştan sona disk bölümlemesi, ağ yapılandırması, sürücü kurulumları, masaüstü ortamı kurulumları … gibi işleri de beraberinde detaylı bir şekilde öğrenmek istiyorum.” derseniz Arch Linux gibi oldukça güzel bir dağıtımı da sizlere önerebilirim. Yalnız şunu da ekleyeyim: Arch’ı ilk dağıtımınız olarak seçmeyin, çünkü asıl değeri temelleri zaten bildiğinizde ortaya çıkar. :)

Küçük bir ipucu: Kurulum yapmadan önce denemek isterseniz, indirdiğiniz ISO dosyasını Ventoy veya balenaEtcher ile bir USB belleğe yazıp “Try without installing” seçeneğiyle çalıştırabilirsiniz. Bu şekilde diskinize hiçbir şey yazılmaz.

3. Linux Terminali ve Komut Satırı: İlk Adımlar

Linux’u özel kılan en önemli özelliklerden biri terminal kullanımıdır. Terminal, işletim sisteminde arayüz yerine komutlarla daha gelişmiş ve verimli bir şekilde işlem yapmayı sağlar. Terminal kullanımına alıştığınızda, arayüzle yaptığınız işlemlerin ne kadar zaman aldığına şaşırabilir ve birçok işinizi terminal üzerinden halletmeye başlayabilirsiniz. :)

Şimdi CTRL + ALT + T kısa yolunu (çoğu Linux dağıtımında bu kısa yol aynıdır) kullanarak bir terminal açın ve komutlar üzerinde pratik yapmaya başlayalım.

Komutlara geçmeden önce, size hayatı kolaylaştıracak üç alışkanlıktan bahsetmek istiyorum:

  • TAB tuşu: Komutun veya dosya adının başını yazıp TAB’a basın, kabuk gerisini sizin yerinize tamamlasın. İki kez basarsanız olası seçenekleri listeler. Yapacağınız yazım hatalarının çoğunu bu tuş önler.
  • <komut> --help: Komutun özet kullanımını gösterir, hızlı bir bakış için idealdir.
  • man <komut>: Komutun tam kılavuz sayfasını açar. İçinde / ile arama yapabilir, q ile çıkabilirsiniz.

Aşağıda temel olarak bilmeniz gereken komutları listeledim. Daha fazlasını öğrenmek isterseniz, buraya bakabilirsiniz.

  • pwd bulunduğunuz dizinin tam yolunu yazar.
  • ls -al bulunduğunuz veya belirttiğiniz dizin içerisinde bulunan tüm dosyaları (gizli dosyalar dahil), detayları ile birlikte çıktısını verir.
  • cd .., bulunduğunuz dizinden bir üst dizine çıkar.
  • cd / ise sizi kök dizine çıkarır.
  • cd ~ sizi kendi ev dizininize (/home/kullanıcı_ismi) döndürür.
  • cd <dizin_ismi> sizi istediğiniz bir dizin içerisine götürür.
  • mkdir <dizin_ismi> yeni bir dizin oluşturmanızı sağlar. -p parametresi ile iç içe dizinleri tek seferde oluşturabilirsiniz.
  • rmdir <dizin_ismi> dizini silmenizi sağlar; ancak yalnızca boş dizinlerde çalışır.
  • touch <dosya_ismi.uzantısı> dosya yoksa yeni bir dosya oluşturur, varsa değiştirilme tarihini günceller.
  • cp <dosya_ismi> <dizin_ismi> bir dosyayı belirttiğiniz konuma kopyalanmasını sağlar.
  • cp -r <1.dizin_ismi> <2.dizin_ismi> birinci dizini ve tüm içeriğini ikinci dizin içerisine kopyalar.
  • mv <dosya_ismi> <dizin_ismi> dosyayı belirttiğiniz konuma taşınmasını sağlar.
  • mv <eski_isim> <yeni_isim> dosyayı veya klasörü yeniden isimlendirmenizi sağlar.
  • rm <dosya_ismi> dosyayı silmenizi sağlar.
  • rm -r <dizin_ismi> dizini içeriğiyle birlikte silmenizi sağlar.
  • cat <dosya_ismi> dosya içeriğini terminale bastırır.
  • less <dosya_ismi> uzun dosyaları sayfa sayfa okumanızı sağlar (q ile çıkarsınız).
  • head -n 20 <dosya_ismi> ve tail -n 20 <dosya_ismi> dosyanın ilk ve son 20 satırını gösterir. tail -f ise dosyayı canlı olarak takip etmenizi sağlar.
  • grep "aranacak_kelime_cümle" <dosya_ismi> dosya içerisinde belirttiğiniz kelime veya cümleyi taramanızı sağlar. -r ile bir dizinin tamamında, -i ile büyük/küçük harf ayrımı yapmadan arayabilirsiniz.
  • find . -name "*.log" ismine göre dosya aramanızı sağlar.
  • nano <dosya_ismi> terminal içinde çalışan basit bir metin düzenleyici açar (CTRL+O kaydeder, CTRL+X çıkar).
  • sudo <komut_dosyası> veya <program_ismi> komut dosyasını veya programı yönetici yetkisi ile çalıştırmanızı sağlar.
  • history daha önce yazdığınız komutları listeler.
  • man <komut_ismi> veya <program_ismi> komut veya program hakkında detaylı bir bilgi ekranı çıkarır.

Önemli Uyarı: rm komutunun geri dönüşü yoktur, sildiğiniz dosya çöp kutusuna gitmez. Özellikle sudo rm -rf yazarken belirttiğiniz yolu iki kez okuyun; sudo rm -rf / veya sudo rm -rf ~ gibi bir komut sisteminizi ya da tüm kişisel dosyalarınızı geri dönüşü olmayacak şekilde siler. Emin değilseniz aynı yolu önce ls ile deneyin, karşınıza çıkan liste sileceğiniz şey olacaktır.

Bu komutlar, terminali kullanmaya başlamak için yeterli bir başlangıçtır. Ancak Linux üzerinde, daha pek çok araç ve komut vardır. Hepsini öğrenmek elbette zaman alacaktır, ancak kullandıkça pratik kazanmaya ve etkili bir şekilde çalışmaya başlayacaksınız.

4. Dosya ve Dizin Yapısı: Linux’un Temel Dosya Sistemi

Linux dosya sistemi ağacı Kök dizin solda; ondan beş gruba dal çıkıyor. Sistem grubunda /bin, /sbin, /lib, /usr ve /opt; önyükleme ve ayar grubunda /boot ve /etc; kullanıcı grubunda /home, /root ve /srv; bağlama noktalarında /mnt ve /media; çalışma zamanı grubunda /dev, /proc, /sys, /run, /tmp ve /var yer alıyor. / /bin /sbin /lib /usr /opt sistem: programlar ve kütüphaneler /boot /etc önyükleme ve ayar: çekirdek, GRUB, yapılandırma /home /root /srv kullanıcı: kişisel dosyalar ve servis verisi /mnt /media bağlama noktaları: disk, USB ve kart buraya bağlanır /dev /proc /sys /run /tmp /var çalışma zamanı: çekirdek ve süreç verisi
Tek bir ağaç, tek bir kök. Diskler harf almaz, bu ağacın bir dalına bağlanır.

Linux dosya sisteminin en temel özelliklerinden biri, her şeyin bir dosya olarak temsil edilmesidir. Bu, disklerden donanıma, süreçlerden yapılandırmalara kadar tüm bileşenlerin birer dosya gibi davranması anlamına gelir. Örneğin, sistem disklerinizi kullanabilmek için /dev/sda1 gibi bir dosyayı kullanır; günümüzde yaygınlaşan NVMe SSD’lerde ise bu dosya /dev/nvme0n1p1 şeklinde görünür.

Bir diğer önemli fark ise şudur: Windows’taki gibi C:, D: sürücü harfleri yoktur. Tek bir ağaç vardır, kökü / dizinidir ve bütün diskler bu ağacın bir dalına bağlanır. Şimdi, bu hiyerarşideki temel dizinlerin işlevlerine bir göz atalım:

  • Kök Dizin (/): Sistem dosya yapısının en üst düzeyidir ve her şey buradan başlar. Tüm diğer dizinler bunun altında bulunur.
  • /bin ve /sbin: Temel kullanıcı ve sistem komutlarının bulunduğu yerdir. Örneğin, ls, mkdir, rm, mount gibi komutlar burada yer alır. Modern dağıtımlarda bu dizinler artık /usr/bin ve /usr/sbin dizinlerine birer sembolik bağlantıdır (usrmerge), yani aynı yeri gösterirler.
  • /boot: Sistem önyüklemesi sırasında gerekli olan çekirdek, önyükleyici (GRUB) yapılandırmaları ve diğer dosyaları içerir.
  • /dev: Tüm aygıt dosyaları (örneğin, sabit diskler, USB cihazları) burada bulunur. Aygıtlar birer dosya olarak temsil edilir.
  • /etc: Sistem yapılandırma dosyalarının bulunduğu yerdir. Örneğin, DNS ayarları için /etc/resolv.conf, disk bağlama ayarları için /etc/fstab kullanılır.
  • /home: Kullanıcıların kişisel dosyaları ve ayarları buradadır. Her kullanıcı için ayrı bir alt dizin oluşturulur (örneğin, /home/alice).
  • /lib: Paylaşılan kütüphaneler ve çekirdek modülleri içerir. Windows’taki DLL dosyalarına benzer şekilde çalışır. Bu dizin de /usr/lib’e bağlıdır.
  • /media: USB bellek, SD kart gibi çıkarılabilir aygıtların otomatik olarak bağlandığı dizindir.
  • /mnt: Geçici olarak, elle bağlanacak dosya sistemleri için kullanılır. Örneğin, harici bir disk buraya bağlanabilir.
  • /opt: Depo dışından kurulan üçüncü taraf yazılımlar için ayrılmış bir alandır.
  • /proc: Sistem süreçleri, bellek ve donanım yapılandırmaları gibi bilgileri barındıran sanal bir dosya sistemidir. Örneğin, cat /proc/cpuinfo ile işlemci bilgilerini görebilirsiniz.
  • /root: root kullanıcısının ev dizinidir. Kök dizin olan / ile karıştırmayın.
  • /run: Sistem açıldıktan sonra biriken çalışma zamanı verilerini tutar ve her yeniden başlatmada sıfırlanır.
  • /srv: Sunucu servislerinin (web, FTP vb.) dışarıya sunduğu veriler burada bulunur.
  • /sys: Çekirdeğin donanımla konuştuğu sanal dosya sistemidir. Pil durumu, ekran parlaklığı gibi değerler buradan okunur ve yazılır.
  • /tmp: Geçici dosyaların depolandığı alandır. Sistem yeniden başlatıldığında buradaki dosyalar silinir.
  • /usr: Kurulu yazılımların büyük bir kısmı buradadır; programlar, kütüphaneler, ikonlar ve kılavuz sayfaları bu dizinde yer alır.
  • /var: Sistem logları, e-posta, önbellek ve diğer değişken dosyalar bu dizinde bulunur. Güvenlikle ilgili analizler için /var/log altındaki log dosyaları oldukça önemlidir.

Not: Kullanıcıların ev dizinlerinin varsayılan izni dağıtıma göre 755 veya 750 olabilir. Eğer 755 ise sistemdeki diğer kullanıcılar dosyalarınızın içeriğini okuyabilir. Tek başınıza kullandığınız kişisel bilgisayarda bu bir sorun değildir, ancak paylaşımlı bir makine kullanıyorsanız chmod 700 ~ komutu ile bu erişimi kapatmanızı öneririm.

Bu temel dizinler, Linux dosya sisteminin sadece bir kısmını oluşturuyor. Daha fazlasını öğrenmek ve detaylarına inmek için bu kaynağı inceleyebilir ya da doğrudan man hier sayfasına bakabilirsiniz. Unutmayın, Linux dünyası keşfedilmeyi bekleyen devasa bir okyanus gibidir. :)

5. Boru ve Yönlendirme: Terminalin Asıl Gücü

Terminali gerçekten güçlü kılan şey, komutları tek tek çalıştırmanız değil, onları birbirine bağlayabilmenizdir. Aşağıdaki dört işleci öğrendiğiniz an terminal sizin için bambaşka bir araca dönüşecek:

komut > dosya      # Çıktıyı dosyaya yazar (dosyanın mevcut içeriğini SİLER).
komut >> dosya     # Çıktıyı dosyanın sonuna EKLER.
komut1 | komut2    # komut1'in çıktısını komut2'ye girdi olarak verir.
komut1 && komut2   # komut1 başarılı olursa komut2'yi çalıştırır.

Biraz daha somutlaştıralım:

ls -al /var/log | grep "syslog"        # Sadece syslog ile ilgili satırları gösterir.
ps aux | grep firefox                  # Çalışan Firefox süreçlerini bulur.
history | grep apt                     # Daha önce yazdığınız apt komutlarını getirir.
du -sh * | sort -h | tail -n 5         # Bulunduğunuz dizindeki en büyük 5 öğeyi listeler.
sudo apt update && sudo apt upgrade    # İlki başarılı olursa ikincisini çalıştırır.

Gördüğünüz gibi, bildiğiniz üç beş komutu birleştirerek arayüzde dakikalar sürecek işleri tek satıra indirebiliyorsunuz. :)

6. Süreç ve Kaynak İzleme

Sisteminiz yavaşladığında ya da bir program takıldığında ilk bakacağınız yer burasıdır. Aşağıdaki komutlar günlük kullanımda işinizi fazlasıyla görecektir:

  • htop etkileşimli bir süreç ve kaynak izleyicisidir. sudo apt install htop ile kurabilirsiniz.
  • top her sistemde hazır bulunan klasik alternatiftir.
  • ps aux | grep <isim> belirli bir süreci ve PID numarasını bulmanızı sağlar.
  • kill <PID> sürece kapanma sinyali gönderir.
  • kill -9 <PID> süreci zorla sonlandırır; bunu son çare olarak kullanın.
  • df -h disk bölümlerinin doluluk oranını gösterir.
  • du -sh <dizin_ismi> bir dizinin kapladığı toplam alanı hesaplar.
  • free -h RAM ve takas (swap) kullanımını gösterir.
  • lsblk disk ve bölüm ağacını listeler.
  • uname -a çekirdek sürümünüzü ve mimarinizi gösterir.

Buradaki -h parametresi “human readable” anlamına gelir; yani boyutları bayt yerine MB/GB olarak gösterir. Gördüğünüz her yerde kullanmanızı öneririm. :)

7. Kullanıcı Yönetimi: Yeni Kullanıcılar ve İzinler

Linux’u günlük kullanım için öğreniyorsanız, kullanıcı ve grup işlemlerine sık sık ihtiyaç duymayabilirsiniz. Ancak bu konuları temel düzeyde bilmek, sistem yönetimi açısından önemlidir. Hatta izin sistemini anlamak, bir bakıma Linux’u anlamanın yarısıdır. Aşağıda, kullanıcı ve grup oluşturma, düzenleme, silme ve izin yönetimi hakkında temel komutları bulabilirsiniz.

Kullanıcı ve Grup İşlemleri

  • Yeni bir kullanıcı oluşturmak:

    sudo adduser <kullanıcı_ismi>

    Debian ve Ubuntu tabanlı dağıtımlarda önerdiğim yöntem budur. Ev dizinini oluşturur, şifreyi size sorar ve varsayılan ayarları kendisi halleder. Daha alt seviye bir alternatif isterseniz sudo useradd -m <kullanıcı_ismi> komutunu da kullanabilirsiniz; buradaki -m parametresi /home dizini altında o kullanıcıya özel bir dizin yaratır.

  • Kullanıcı için şifre belirlemek veya değiştirmek:

    sudo passwd <kullanıcı_ismi>

    Oluşturulan kullanıcının şifresini ayarlamanızı veya mevcut bir şifreyi değiştirmenizi sağlar.

  • Yeni bir grup oluşturmak:

    sudo groupadd <grup_ismi>

    Belirtilen isimle yeni bir grup oluşturur.

  • Bir grubu silmek:

    sudo groupdel <grup_ismi>

    Belirtilen grubu sistemden kaldırır.

  • Bir kullanıcıyı gruba eklemek:

    sudo usermod -aG <grup_ismi> <kullanıcı_ismi>

    Belirtilen kullanıcıyı, belirtilen gruba ekler. Burada:

    • -a (append): Kullanıcıyı mevcut gruplarına ek olarak yeni bir gruba dahil eder.
    • -G (group): Grubu belirtir.

    Not: Eğer -a parametresini kullanmazsanız, kullanıcıyı yalnızca belirttiğiniz gruba atar ve diğer tüm gruplarından çıkarır. Bu da kullanıcıyı ses, ağ ya da disk erişiminden koparabilir; bu yüzden her zaman -aG şeklinde kullanın. Ayrıca grup değişiklikleri, kullanıcı oturumunu kapatıp açtıktan sonra geçerli olur.

  • Bir kullanıcıyı gruptan çıkarmak:

    sudo gpasswd -d <kullanıcı_ismi> <grup_ismi>

    Kullanıcıyı belirttiğiniz gruptan kaldırır. Bir kullanıcının hangi gruplarda olduğunu görmek için ise groups <kullanıcı_ismi> komutunu kullanabilirsiniz.

  • Bir kullanıcıyı ve ona ait dizini silmek:

    sudo userdel -r <kullanıcı_ismi>

    Kullanıcıyı sistemden kaldırır. -r parametresi, kullanıcının /home/<kullanıcı_ismi> dizinini ve içeriklerini de siler.

İzin İşlemleri

Linux dosya sistemi üzerinde her dosya ve dizin belirli izinlerle yönetilir. İzinler, dosyaların kimler tarafından okunabileceğini, yazılabileceğini ve çalıştırılabileceğini belirler. Aşağıdaki görsellerde bu izinlerin nasıl çalıştığını inceleyebilirsiniz:

İzin dizisinin şeması: en solda dosya türü, ardından sahip, grup ve diğer kullanıcılar için üçer harflik okuma, yazma, çalıştırma izinleri.

Terminalde ls -la çıktısı: bir dizin, bir metin dosyası ve çalıştırılabilir bir betik, izin sütunları renkli olarak gösteriliyor.

ls -l çıktısındaki bir satırı birlikte okuyalım:

-rw-r--r--  1  alice  developers  4096  Nov  7 14:22  notlar.txt
│└─┬┘└┬┘└┬┘  │    │        │
│  │  │  │   │    │        └── Grup
│  │  │  │   │    └─────────── Sahip
│  │  │  │   └──────────────── Sabit bağlantı (hard link) sayısı
│  │  │  └──────────────────── Diğer tüm kullanıcıların izinleri
│  │  └─────────────────────── Grup üyelerinin izinleri
│  └────────────────────────── Dosya sahibinin izinleri
└───────────────────────────── Dosya türü

Satırın en başındaki sembol bize dosyanın türünü söyler:

  • - sembolü bir dosyayı, d sembolü ise bir dizini ifade eder.
  • l sembolü bir sembolik bağlantıyı (symlink), yani başka bir yere işaret eden bir kısayolu belirtir.
  • b ve c sembolleri ise blok ve karakter aygıtlarını gösterir.

Not: Burada sık yapılan bir hatayı düzeltmek istiyorum: satırdaki 1 sayısı symlink göstergesi değildir. O sayı, dosyaya işaret eden sabit bağlantı (hard link) sayısıdır ve normal dosyalarda genellikle 1, dizinlerde 2 veya daha fazladır. Bir dosyanın symlink olduğunu, satırın en başındaki l harfinden anlarsınız.

İzinler ise üçer haneli gruplar halinde sıralanmıştır:

  • İlk üç hane: Dosya sahibinin izinlerini temsil eder.
  • İkinci üç hane: Grup üyelerinin izinlerini temsil eder.
  • Son üç hane: Diğer tüm kullanıcıların izinlerini temsil eder.

Her izin, aşağıdaki sembollerle gösterilir:

  • r (read): Okuma izni (Değeri: 4)
  • w (write): Yazma izni (Değeri: 2)
  • x (execute): Çalıştırma izni (Değeri: 1)

İzinlerin toplamı, sayısal bir değerle ifade edilir. Örneğin:

  • 7 = Okuma (4) + Yazma (2) + Çalıştırma (1)
  • 6 = Okuma (4) + Yazma (2)
  • 5 = Okuma (4) + Çalıştırma (1)
  • 4 = Sadece okuma (4)

Küçük ama önemli bir ayrıntı: dizinlerde x izni “içine girebilme” anlamına gelir. Yani bir dizinde r izniniz olup x izniniz yoksa, içeriğini listeleyebilir ama içindeki dosyalara erişemezsiniz.

İzin ve Sahiplik Yönetimi

Linux’ta dosya ve dizin izinlerini değiştirmek için chmod ve sahipliklerini değiştirmek için chown komutları kullanılır.

chmod Komutu (İzin Değiştirme)

  • Sembolik olarak izin eklemek veya kaldırmak:

    chmod u+x <dosya_ismi>   # Dosya sahibine çalıştırma izni ekler.
    chmod g-w <dosya_ismi>   # Grubun yazma iznini kaldırır.
    chmod o-rwx <dosya_ismi> # Diğer kullanıcıların tüm izinlerini kaldırır.
    chmod a+r <dosya_ismi>   # Herkese okuma izni verir.

    Burada u dosya sahibini (user), g grubu (group), o diğerlerini (others), a ise hepsini (all) ifade eder. + izin ekler, - kaldırır, = ise tam olarak belirttiğiniz izne ayarlar.

  • Tüm kullanıcı izinlerini sayısal olarak ayarlamak:

    chmod 755 <dosya_ismi>

    Buradaki sayıların anlamı:

    • 7 = Okuma (4) + Yazma (2) + Çalıştırma (1): Dosya sahibi tüm yetkilere sahip.
    • 5 = Okuma (4) + Çalıştırma (1): Grup üyeleri sadece okuma ve çalıştırma yetkilerine sahip.
    • 5 = Diğer kullanıcılar da sadece okuma ve çalıştırma yetkilerine sahip.

    Sık kullanacağınız birkaç kalıbı da not düşeyim: 644 normal dosyalar için, 600 SSH anahtarları gibi gizli dosyalar için, 755 ise script ve programlar için uygundur. Bir dizinin tamamına uygulamak isterseniz -R parametresini kullanabilirsiniz.

Önemli Uyarı: “İzin hatası aldım, 777 yapayım da geçsin” en yaygın acemi hatasıdır. Bu komut dosyayı sistemdeki herkes tarafından yazılabilir ve çalıştırılabilir hâle getirir. Doğru çözüm neredeyse her zaman sahipliği düzeltmektir, izni sonuna kadar açmak değil.

chown Komutu (Sahiplik Değiştirme)

  • Bir dosyanın sahibi ve grubunu değiştirmek:

    chown <sahip_ismi>:<grup_ismi> <dosya_ismi>

    Örnek:

    sudo chown john:developers myfile.txt

    Bu komut, myfile.txt dosyasının sahibini john, grubunu developers olarak ayarlar. Bir dizinin tamamı için sudo chown -R john:john /dizin/yolu şeklinde kullanabilirsiniz.

Linux’ta kullanıcı ve grup yönetimi ile birlikte bu izinler, sistem güvenliğini sağlamanın temel araçlarıdır. Ancak unutmayın, Linux güvenliği sadece bunlarla sınırlı değildir. İleride güvenlik konusuna özel bir yazı hazırlayacağım. Şimdi sıradaki başlığımıza geçebiliriz. :)

8. Paket Yönetimi: Yazılımları Yükleme ve Güncelleme

Linux’ta yazılım kurmak için internetten .exe indirmezsiniz; dağıtımınızın imzalı deposundan kurarsınız. Bu hem daha güvenlidir hem de tüm güncellemelerinizi tek bir yerden yönetmenizi sağlar.

İlk başladığınızda Ubuntu gibi Debian tabanlı dağıtımları kullanmanızı öneririm, çünkü kullanımı oldukça basittir. Bu yüzden burada, genele hitap edebilmek için apt (Advanced Package Tool) paket yönetim aracının kullanımını göstereceğim.

  • sudo apt update komutu ile paket depomuzu güncellerken, sudo apt upgrade komutu ile sistemdeki tüm paketleri güncelleyebiliriz. Bir kurulum yapmadan önce mutlaka update komutunu çalıştırın.
  • sudo apt install <paket_ismi> komutu ile istediğimiz bir paketi veya programı yükleyebiliriz. Bir paketi silmek için ise sudo apt remove <paket_ismi> komutunu kullanabiliriz.
  • Depoda bir arama yapmak istiyorsak, bunu apt search <paket_ismi> komutu ile gerçekleştirebiliriz. Bir paket hakkında daha detaylı bilgi almak için ise apt show <paket_ismi> komutu bize yardımcı olacaktır. Bu iki komut için sudo yetkisine ihtiyacınız yoktur.
  • Eğer bir paketi veya programı, ayar dosyalarıyla birlikte tamamen silmek isterseniz, sudo apt purge <paket_ismi> komutunu kullanabilirsiniz.
  • Ayrıca, sistemde artık ihtiyaç duyulmayan ve gereksiz yere duran bağımlılıkları temizlemek için sudo apt autoremove komutunu kullanarak ortamınızı düzenleyebilirsiniz.

Not: purge komutu bağımlılıkları silmez; yalnızca paketin kendisini ve ayar dosyalarını kaldırır. Geride kalan gereksiz bağımlılıkları temizleyen komut autoremove’dur. İkisi sıkça karıştırılır.

Sık sorulan bir soruya da burada cevap vereyim: apt mi kullanmalı, apt-get mi? İkisi de çalışır. apt insan kullanımı için tasarlanmıştır, renkli çıktı ve ilerleme çubuğu sunar; apt-get ise script’lerde tercih edilir çünkü davranışı sürümler arasında değişmez. Terminalde rahatlıkla apt kullanabilirsiniz.

Evet, komutlarımız bu kadar. Ancak önemli bir noktaya daha değinmek isterim. dpkg komutu, Debian’a özel bir paket kurulum aracıdır. Ancak, apt kullanımı, dpkg’ye kıyasla daha kolay ve pratik bir seçenektir. İnternet üzerinden .deb uzantılı bir paket indirdiyseniz, bunu kurmanın en temiz yolu yine apt’tır, çünkü bağımlılıkları da sizin yerinize çözer:

sudo apt install ./indirdiginiz_paket.deb   # Önerdiğim yöntem; bağımlılıkları da çözer.
sudo dpkg -i ./indirdiginiz_paket.deb       # Alt seviye alternatif.
sudo apt --fix-broken install               # dpkg sonrası eksik kalan bağımlılıkları tamamlar.

Daha fazla bilgi için buraya göz atmanız faydalı olacaktır.

Son olarak snap ve flatpak’ten de bahsetmek gerek. Ubuntu’da bazı uygulamalar (Firefox gibi) snap olarak gelir; bunlar bağımlılıklarını kendi içinde taşıyan izole paketlerdir. Flatpak ise dağıtımdan bağımsız bir alternatiftir ve Flathub deposuyla kullanılır. Depoda bulamadığınız güncel bir uygulamayı çoğunlukla Flathub’da bulabilirsiniz. Diğer dağıtımlarda ise araçlar değişir: Fedora’da dnf, Arch’ta pacman, openSUSE’de zypper kullanılır.

9. Sistem Güncellemeleri ve Bakımı

Sistem güncellemeleri ve bakımı, Linux sistemlerinin güvenli, stabil ve verimli çalışabilmesi için oldukça önemlidir. Bu konular bazen karmaşık olabilir, fakat burada, fazla kafanızı karıştırmadan neler yapılması gerektiğini adım adım açıklamaya çalışacağım. Sistemimizin sağlıklı çalışması için beş önemli başlık bulunmaktadır:

  • Yedek almak: Sistem üzerinde yaşanan herhangi bir sorun, çökme gibi durumlar ve sonrasında verilerimizin kaybolmasını önlemek için yedek almak her zaman öncelikli olmalıdır.
  • Güncellemeleri yapmak: Güvenlik açıklarını kapatmak ve sistemin daha stabil çalışmasını sağlamak için düzenli güncellemeler yapmak çok önemlidir.
  • Disk temizliği: Sistem performansını artırmak, boş alanları daha verimli kullanmak için rutin disk temizliği yapmak gereklidir.
  • Güvenlik önlemleri ve yapılandırmaları: Sistemi iç ve dış tehditlerden izole etmek ve güvenliği sıkılaştırmak (kişisel tercihlere bağlı olarak) çok önemlidir.
  • Sistem günlüğü okuma ve analizi: Sistemdeki uygulamaların, kullanıcıların ne yaptığını takip etmek ve herhangi bir sorunu tespit etmek için günlüklerin incelenmesi faydalıdır.

A. Yedek Almak

Yedekleme, veri kaybını önlemek için temel bir adımdır. Yedek almak için kullanabileceğiniz yöntemler tamamen size bağlıdır, ancak en az iki farklı yedekleme yöntemi kullanmanızı öneririm.

  • İlk olarak, yedeklerinizi uzak bir sunucuda (örneğin, duplicity, restic veya rclone gibi araçlar kullanabilirsiniz) veya bulut servislerinde (Google Drive, Dropbox, OneDrive vb.) saklayabilirsiniz.
  • İkinci olarak, fiziksel bir yedekleme alanı (taşınabilir HDD veya SSD) kullanabilirsiniz. SSD, hız açısından daha iyi bir seçenek olsa da maliyetli olabilir; uzun süreli arşiv yedeği için HDD hâlâ mantıklıdır.

Önerilen araçlar:

  • Timeshift sistem anlık görüntüsü (snapshot) alır. Bozulan bir güncellemeden geri dönmek için birebirdir.
  • DejaDup kişisel verilerinizi şifreli ve artımlı olarak yedekler, zamanlanabilir.
  • PikaBackup yine kişisel veri yedeği içindir; Borg tabanlıdır ve arayüzü oldukça sadedir.

Burada karıştırılan bir noktayı vurgulamak istiyorum: Timeshift bir kişisel veri yedekleme aracı değildir. Sistemin kendisini geri almak için tasarlanmıştır. En ideal kurulum, sistem için Timeshift’i, kişisel dosyalarınız için ise DejaDup veya PikaBackup’ı birlikte kullanmaktır.

Önemli Uyarı: Büyük veya küçük çaplı fark etmeksizin, güncellemeler yapmadan önce her zaman yedeğinizi alın ve aldığınızdan emin olun. Test etmediğiniz bir yedek, yedek sayılmaz.

B. Sistem Güncellemeleri

Sistem güncellemelerini yapmak, güvenlik risklerini azaltmak ve sistemin stabil çalışmasını sağlamak için son derece önemlidir. Aşağıda, sisteminizi güncel tutmak için kullanabileceğiniz komutları bulabilirsiniz:

sudo apt update        # Depo listesini günceller ve mevcut paketlerin en son sürümlerini denetler.
sudo apt upgrade       # Paketleri günceller, ancak sistemin kararlılığını korumak için paket kaldırmaz.
sudo apt full-upgrade  # Tüm güncellemeleri yükler; gerekirse bazı paketleri kaldırabilir veya değiştirebilir.
sudo apt autoremove    # Artık ihtiyaç duyulmayan, bağımlılığı kalmayan eski paketleri kaldırarak sistemi temizler.

Otomatik Güncellemeler: Güvenlik yamalarını elle takip etmek istemiyorsanız unattended-upgrades aracını kullanabilirsiniz. Bu aracı kurmak ve yapılandırmak için aşağıdaki adımları izleyebilirsiniz:

sudo apt update && sudo apt upgrade                       # Depoyu ve paketleri günceller.
sudo apt install unattended-upgrades                      # Bu paketi yükleyin (Debian tabanlı dağıtımlarda genellikle yüklüdür).
sudo apt install powermgmt-base                           # (Opsiyonel) Dizüstü bilgisayarlarda pil durumuna göre davranmasını sağlar.
sudo dpkg-reconfigure --priority=low unattended-upgrades  # Otomatik güncellemeleri etkileşimli olarak etkinleştirir.
sudo unattended-upgrades --dry-run --debug                # Otomatik güncellemelerin doğru çalışıp çalışmadığını kontrol etmek için kullanın.
sudo systemctl status unattended-upgrades                 # Servisin çalışıp çalışmadığını kontrol edin.

Aracın ayrıntılı davranışı /etc/apt/apt.conf.d/50unattended-upgrades dosyasından yapılandırılır. Güncelleme sonrası sistemin otomatik olarak yeniden başlatılmasını isterseniz, bu dosyadaki şu satırları açmanız yeterli olacaktır:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "03:00";

Ekstra Komutlar (bunlar yalnızca bu araç için değil, tüm systemd servisleri için geçerlidir):

  • sudo systemctl start unattended-upgrades servisi başlatır.
  • sudo systemctl stop unattended-upgrades servisi durdurur.
  • sudo systemctl enable unattended-upgrades servisi sistem başlangıcında başlatacak şekilde ayarlar.
  • sudo systemctl disable unattended-upgrades servisi başlangıçta başlatılmayacak şekilde devre dışı bırakır.
  • sudo systemctl restart unattended-upgrades servisi yeniden başlatır.
  • sudo systemctl status unattended-upgrades servisin durumunu ve son günlüklerini gösterir.

C. Disk Temizliği

Disk temizliği yapmak, boş alanları daha verimli kullanmak ve sistem performansını artırmak için oldukça önemlidir. Ancak bu işlemleri yaparken dikkatli olmalısınız; çünkü bazı geçici dosyaları silmek, kullandığınız uygulamalarda veya sistemde sorunlara yol açabilir. Bu yüzden her zaman yedek almayı unutmayın.

Aşağıdaki komutlar ve araçlar disk temizliği için kullanılabilir:

  • sudo apt autoremove --purge gereksiz, artık kullanılmayan bağımlılıkları ayarlarıyla birlikte temizler.
  • du -sh /var/cache/apt APT önbellek boyutunu görmenizi sağlar.
  • sudo apt clean APT önbelleğini tamamen temizler.
  • sudo apt autoclean artık indirilemeyen eski paketleri temizler.
  • journalctl --disk-usage Journal günlüklerinin disk kullanımını gösterir.
  • sudo journalctl --vacuum-time=7d 7 günden eski günlükleri siler.
  • sudo journalctl --vacuum-size=200M günlükleri 200 MB sınırında tutar.
  • df -h işiniz bittiğinde sonucu kontrol etmenizi sağlar.

Eski çekirdekler de zamanla ciddi yer kaplar; sudo apt autoremove --purge komutu bunları genellikle temizler. Yalnız en az bir önceki çekirdeği sisteminizde bırakın, çünkü yeni çekirdek açılmazsa geri dönebilmeniz için ona ihtiyacınız olacak.

Yinelenen Dosyalar:

  • fdupes aracıyla aynı dosyaları tespit edip silebilirsiniz:

    sudo apt install fdupes
    fdupes -r /belirttiğiniz/dizin   # Belirtilen dizindeki yinelenen dosyaları listeler.
    fdupes -rd /belirttiğiniz/dizin  # Hangilerinin kalacağını tek tek sorarak silmenize olanak tanır.

    Not: Bu araçta -N parametresini kullanmayın; size hiçbir şey sormadan siler.

Grafik Araçlar:

BleachBit, geçici dosyalar, önbellekler ve çerezler gibi gereksiz verileri silerek disk alanı boşaltır. Güvenli temizleme işlemleriyle gizliliği korur ve birçok popüler uygulamanın verilerini temizleyebilir. Hem Windows hem de Linux için uygundur; hâlâ aktif olarak geliştirilmektedir. Yalnızca neyi sildiğini bilmeden kutuları işaretlemeyin.

Sweeper, basit bir Linux sistem temizleme aracıdır, gereksiz dosyaları silerek sistem performansını artırır. Hızlı ve kolay kullanım sunar, ancak daha ileri düzey özelliklere sahip araçlara kıyasla daha sınırlıdır. Genellikle KDE masaüstü ortamı ile birlikte kullanılır.

Stacer, Linux sistemleri için açık kaynaklı bir sistem izleme ve temizleme aracıdır. CPU, RAM, disk ve ağ kullanımını izler, gereksiz dosyaları temizler ve başlatma uygulamalarını yönetir. Ancak, geliştirilmesi durdurulmuş olduğu için güncelleme gelmemektedir; yeni sürümlerde sorun çıkarabilir.

Ubuntu Cleaner, sistemdeki gereksiz dosyaları, paket önbelleklerini ve eski çekirdekleri temizler. Kullanımı basit ve kullanıcı dostudur, ancak bakımı seyrek yapılmaktadır.

Açıkçası şunu da söylemem gerek: yukarıda verdiğim apt ve journalctl komutları, bu araçların yaptığı işin büyük bir kısmını zaten daha güvenli bir şekilde yapıyor. :)

D. Sistem Güvenliği

Sistem güvenliği, özellikle halka açık ortamlarda sıkça vakit geçiren dizüstü kullanıcıları için kritik öneme sahiptir. Temel güvenlik önlemleri almak, özellikle güvenlik duvarı yapılandırmaları, sisteminizi dış tehditlere karşı korumanın ilk adımıdır. Bu bağlamda, güvenlik duvarı kurulumları için en popüler araçlardan ikisi firewalld ve UFW (Uncomplicated Firewall) olup, UFW daha kullanıcı dostu ve basit yapılandırmalar sunar.

UFW (Uncomplicated Firewall) Kurulumu ve Yapılandırması

UFW, kullanımı basit ve etkili bir güvenlik duvarı aracıdır. Terminal üzerinden kolayca yapılandırılabilir ve bu araç, gelen ve giden ağ trafiğini yöneterek sadece güvenilir bağlantılara izin verir.

  • Kurulum:

    sudo apt install ufw # UFW'yi kurar (Ubuntu'da genellikle kuruludur).
  • Varsayılan Kurallar: Masaüstü kullanıcıları için önerdiğim ayarlardır:

    sudo ufw default deny incoming   # Sisteme gelen tüm bağlantıları reddeder.
    sudo ufw default allow outgoing  # Sistemden çıkan tüm bağlantılara izin verir.
  • Durum Kontrolü ve Başlatma:

    sudo ufw enable          # UFW'yi aktif eder.
    sudo ufw status verbose  # UFW'nin aktif olup olmadığını ve kuralları gösterir.

    Bu birkaç satır, tipik bir masaüstü için doğru varsayılandır: dışarıdan hiçbir bağlantı kabul edilmez, sizin başlattığınız bağlantılar sorunsuz çalışır.

  • Uygulama İzinleri: Bağlantıların yönetilmesi için belirli servisleri izinli hale getirebilirsiniz:

    sudo ufw allow ssh            # Bir servisi dışarıya açar (veya: sudo ufw allow 22/tcp).
    sudo ufw allow 8080/tcp       # Belirli bir portu açar.
    sudo ufw deny <servis_ismi>   # Bir servisi dışarıdan erişime kapatır.
    sudo ufw status numbered      # Kuralları numaralandırarak listeler.
    sudo ufw delete <numara>      # Belirli bir kuralı siler.
    sudo ufw reset                # Yapılan tüm ayarları sıfırlar.

Önemli Uyarı: sudo ufw reset komutu tüm kuralları silmekle kalmaz, güvenlik duvarını da devre dışı bırakır. Ayrıca uzak bir sunucuda ufw enable yapmadan önce SSH portunun açık olduğundan mutlaka emin olun; aksi halde kendinizi sunucudan kilitlersiniz. Bir de şunu ekleyeyim: UFW kuralları anında uygulanır, her kural sonrası reload yapmanıza gerek yoktur.

UFW’nin kullanım kolaylığı, özellikle yeni başlayanlar için harikadır. Ancak daha gelişmiş özellikler için firewalld kullanılabilir, özellikle ağ yapısının daha karmaşık olduğu durumlarda.

Ekstra Güvenlik Önlemleri

Güvenlik duvarının dışında, sisteminizi korumak için başka önlemler de alabilirsiniz:

  • Disk Şifreleme: Sisteminizi kurarken “Encrypt the new installation” seçeneğiyle diskinizi şifrelemek, verilerinize yetkisiz erişimi engeller. Dizüstü kullanıyorsanız bu, atabileceğiniz en yüksek getirili tek güvenlik adımıdır; cihazınız çalınsa bile verileriniz okunamaz. Modern donanımda performans etkisi ihmal edilebilir düzeydedir ve diskin ömrünü kısaltmaz.

  • GPG veya PGP ile Şifreleme: Hassas dosyalarınızı şifrelemek, verilerinizin güvenliğini artırır. Özellikle şifreli e-postalar veya dosyalar göndermek için bu yöntem çok yararlıdır. Tekil bir dosya için gpg -c dosya.txt komutu işinizi görecektir.

  • Güçlü şifre ve otomatik ekran kilidi: Basit görünse de en çok atlanan adım budur.

  • Yalnızca resmi depolardan kurulum: İnternette gördüğünüz rastgele PPA’lar ve curl ... | sudo bash şeklindeki kurulum script’leri, sisteme zararlı yazılım bulaştırmanın en yaygın yoludur. Ne yaptığını anlamadığınız hiçbir script’i çalıştırmayın.

Sistem Günlüklerini Okuma ve Analiz Etme

Sistem günlükleri, sistem hatalarını ve uyarılarını takip etmek, sorunları çözmek için kritik bilgiler sunar. Bir şey çalışmadığında cevap neredeyse her zaman buradadır. Bu günlükler, journalctl komutu ile erişilebilir. journalctl, journald hizmeti tarafından toplanan tüm logları gösterir. Genel komutlar:

journalctl -f  # Kayıtları gerçek zamanlı olarak görüntüler.
journalctl -u <servis_ismi>  # Belirli bir servisin loglarını gösterir.
journalctl -u <servis_ismi> -n 50  # Belirli bir servisin son 50 satırını gösterir.
journalctl -p err -b  # Bu açılıştaki yalnızca hata seviyesindeki kayıtları gösterir.
journalctl -k  # Sadece çekirdek günlüklerini görüntüler.
journalctl -b -1  # Bir önceki açılışın günlüklerini gösterir; ani kapanmaları incelemek için çok işe yarar.
journalctl --since "2024-01-01" --until "2024-01-10"  # Belirli bir tarih aralığını görür.
man journalctl  # journalctl komutunun detaylı man sayfasını açar.

Küçük bir tavsiye: karşınıza bir hata mesajı çıktığında onu olduğu gibi arama motoruna yapıştırın. Linux dünyasında sizden önce aynı hatayı alan ve çözümünü yazan biri neredeyse her zaman vardır. :)

Güvenlik duvarı, şifreleme, ve günlük analizi gibi temel güvenlik önlemleri, sisteminizin sağlığını korumak için önemlidir. UFW ile temel güvenlik duvarı yapılandırmasını yapabilir, journalctl ile sistem güncellemelerini ve hataları takip edebilirsiniz. Bu işlemler, güvenli ve verimli bir sistem kullanımı için önemli adımlardır.

10. Nereden Devam Etmeli?

Buraya kadar okuduysanız tebrik ederim, çünkü Linux dünyasına bir adım atmış bulundunuz. Artık Linux kullanmaya başlamak için gerekli temel bilgileri edindiniz. Yedekleme, güncelleme, disk temizliği, sistem güvenliği gibi önemli konularda adım adım neler yapmanız gerektiğini öğrendiniz.

Devam etmek isterseniz size birkaç kaynak bırakayım:

  • man sayfaları: en güncel ve en doğru kaynak, zaten sisteminizde kurulu geliyor.
  • Arch Wiki: Arch kullanmasanız bile Linux dünyasının en iyi dokümantasyonudur.
  • Ubuntu Server Guide: sunucu tarafına geçmek isterseniz iyi bir başlangıç noktası.
  • ss64.com/bash: hızlı bir komut referansı arıyorsanız buraya bakabilirsiniz.
  • Bash betikleri: öğrendiğiniz komutları birleştirip işlerinizi otomatikleştirmek, atacağınız bir sonraki doğal adım olacaktır.

Son bir tavsiye daha vereyim: kırmaktan korkmayın. Bir sanal makine kurun ya da yedeğinizi alın, sonra sistemi bilinçli olarak bozun ve toparlamaya çalışın. Linux’u en hızlı bu şekilde öğrenirsiniz. Unutmayın, Linux çok güçlü ve esnek bir sistemdir, ancak öğrenme süreci biraz zaman alabilir. Sabırlı olun, hata yapmaktan korkmayın ve araştırarak öğrenmeye devam edin.

Bu yazımda Linux dünyasına adım atmanızı kolaylaştırmayı amaçladım. Umarım faydalı olmuştur ve okurken keyif almışsınızdır. Ayrıca bu ilk kapsamlı yazım olduğundan elbette bazı yazım yanlışlarım ve hatalarım olabilir; bu konuda yorumlarınız ve geri bildirimleriniz çok değerli olacaktır. Lütfen düşüncelerinizi paylaşmaktan çekinmeyin. Bir sonraki yazımda görüşmek üzere, sağlıcakla kalın!


← yazılar