Açık Kaynak Dünyasına Hoşgeldiniz

Linux Başlangıç Eğitimi

Daha önce Linux ile hiç tanışmamış veya Linux'u sadece GUI'den tıklayarak kullananlar için planlanan bir eğitimdir.

Bu eğitim, daha çok Linux altında çalışan uygulama geliştiricileri içindir. Hemen hemen hiç Bash veya C programlama yapmadan, sadece kavramlar üzerinde çalışma yapılacaktır. Her zamanki gibi, bütün çalışmalar terminal üzerinden, GUI ve mouse kullanılmadan yapılacaktır. Bu tür çalışma çok eziyetlidir ama katma değeri de en yüksektir.

Eğitim, toplamda 3 gün ve 18 saat olarak planlanmaktadır.

Eğitimin sunumları için (çok yakında yayınlanacaktır)

Konu başlıkları, kabaca aşağıda verilmiştir. Bu konular ayrıntılı olarak işlenmeyecektir. Sadece kavramsal çalışma yapılacaktır. 

Eğitim takvimi ve fiyat teklifi için training@ucanlinux.com adresine yazılabilir.

Bazı kavramlar
login, mod, owner, consol, terminal, çekirdek, kök dosya sistemi, ...

Hangi dizin hangi amaç için kullanılır
    /bin
    /etc
    /var
    /dev
    /proc
    ...

man sayfaları nasıl kullanılır?

/etc dosyaları nelerdir?
   programlar otomatik nasıl başlatılır?

shell nedir?
    PATH
    ENV
    PS1
    .bash_profile
    .bashrc
    $?
    sinyalleri yakalamak
    nohup kullanımı

Bazı komutlar ve örnek uygulamaları
    tree
    dmesg
    tail
    chmod
    chown
    ifconfig
    cpio
    strace

Baba komutlar
awk, sed, regular expression, ...

dd
    örnek kullanımı
    kavramsal yaklaşım
    dosya sistemi kurmak
    imaj üretmek
    imajı mount etmek
    master imaj oluşturmak

mount
    kavramsal yaklaşım
    C'de function pointer kavramı
    örnek C kodu
    disklerin adlandırılması
    partition kavramı
    /dev/sda, /dev/mmcblk0 düğüm adları

Dosya sistemleri
    kavramsal yaklaşım
    nedir, partition'dan farkı nedir?
    partition içinde nasıl ve nerede otururlar?

İmaj kavramı
    losetup komutu
    imaj kurma
   sıkıştırma
    mount etmek
    imaj içinde partition kurmak

Çapraz derleyici kuruluşu ve test
    bir arm derleyicisi nasıl kurulur
    nasıl test edilir
    statik derleme
    dinamik derleme
    boy kısaltma
    prefix kavramı

SD/MMC/SSD ile nasıl çalışılır?
    partion kurmak
    dosya sistemi kurmak
    mount etmek

Sözde dosya sistemleri
var ama yoklar
    altında yatan kavramlar
    sözde sistemleri ve içerikleri
    /dev, cihaz düğümleri
    /sys, gpio vs kullanımı
    /proc, fd'lerin incelenmesi
    sözde dosya sistemlerinin, C ile kullanımı

tempfs kavramı
    tempfs dosya sistemlerinin kuruluşu
    mount edilmesi
    mevcut tempfs dosya sistemlerinin incelenmesi
    /dev/shm
    /tmpfs
    SD kartlarının ömürlerini uzatmak


Kütüphanler
   libc, libdl libc ne işe yarar?
    nasıl elde edilir?

Çekirdek modülleri
    modules/ dizini ve kavramları
    mevcut modüllerin analiz edilmesi
   modinfoi modprobe ve diğerleri
    firmware/ ne işe yarar?
 
Çekirdek mesajları
syslogd, klogd
   C be bash içinden syslog kullanımı

tar.gz'den derleme
karanlık çağlara dönüş
    paket yöntecisi olmadan, paketler nasıl derlenir?
    nasıl çapraz derlenir?
    nasıl install edilir?
   libzip örneği üzerinde çalışma

vfs kavramı
    dosya sistemlerinin ve unix'in temel kavramı
    fd nedir?
    ayrılmış fd'ler

Özel dosyalar
    kavramlar ve yaptıkları işler
    C ile örnek kullanımı
    /dev/null
    /dev/zero
    /dev/random
    /dev/urandom
    /dev/full

pkg-config
    niye vardır?
    makefile ile nasıl kullanılır?

Çalışan bir kodun proses görüntüsü
    process kavramı
    thread ile process arasındaki temel farklar
    değişkenlere ilk değer verilirken dikkat edilmesi gerekenler
   joinable, detachable kavramları
    niye thread kullanılmamalı? sakıncaları nelerdir?
    thread kullanırken nelere dikkat edilmelidir?
    zombi proseslerin tespiti ve engellenmesi

Kütüphaneler
    static, dynamic ve plugin kütüphaneler nasıl kurulur?
    kütüphane içeriklerinin analiz edilmesi

Dosya sistemlerine genel bakış
    hangi projede, hangi dosya sistemi seçilmelidir
    yararları, sakıncaları
   çok kullanılan dosya sistemlerinin incelenmesi
    vfat,
    ext2,
    ext4,
    NFS
    carmfs
    squashfs
    ubifs, sadece kavramsal yaklaşım

popen
    ne işe yarar?
    ne zaman kullanılır?
    sakıncaları
    lynx nedir?
    web scrapping nasıl yapılır?

posix
   nedir, ne işe yarar, yenir mi?
    posix özellikleri nasıl elde edilir?
    nasıl kullanılır
    sistem çağrısı nedir?
   işleme mekanizması nedir?
time ile analiz

ipc nedir?
    posix'in desteklediği ipc sistemleri

memory map nedir?

shared memory
    ne işe yarar?
    ne zaman kullanılır?

message queue kavramı
    ne zaman gereklidir?

semafor ve mutex
    kavramsal yaklaşım

pipes
    isimli ve isimsiz borular
   güzellikleri, sakıncaları
   
tcp/ip
    soket kavramı
    nasıl kurulur, nasıl kullanılır?
    kavramsal yaklaşım
   
udp/ip
    kavramsal yaklaşım
   
netlink soketleri
    çekirdek olaylarını monitör etmek
    udevd nasıl çalışır?
   bir cihaz takıldığında, bir programın çalışması
    
asenkron i/o kavramı
    i/o multiplexing kavramı
    select çağrısı
    poll çağrısı

Sinyaller
    kavarmsal yaklaşım
kesmeler ile farkları
    sinyallerin anlamı
    sinyallerin kaynağı
    programlar, sinyallere karşı nasıl tedbir almalıdır?
    hangi sinyalde ne yapılmalıdır?
    signal handler yazımı için, eski ve çağdaş yaklaşım örnekleri

Navigation