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