Linux Dosya Yapısı Eren BAŞTÜRK basturkeren@gmail.com
Giriş Kernel Derleme Ramdisk oluşturma /dev/shm Aygıtı Kabuk Programlama Dosya Türlerinin Sisteme Yüklenmesi
Linux Dosya Yapısı Giriş Kernel Derleme Ramdisk oluşturma /dev/shm Aygıtı Kabuk Programlama Dosya Türlerinin Sisteme Yüklenmesi
Çekirdek(Kernel) Derleme Kernel Derleme -Çekirdek işletim Sisteminin Temelidir. -Çekirdek donanım ve yazılım arasında bağlantı kurmamımızı sağlar. -Linux çekirdeği çeşitli adlara sahiptir.
Neden Çekirdek Derlenir? Kernel Derleme -İhtiyacımız olmayan modülleri kaldırabiliriz ya da ihtiyacımız olan modülleri ekleyebiliriz. -Çekirdek derleyerek sistemimimizi daha kararlı bir hale getirebiliriz.
Sürüm Numaralama Açıklamaları Kernel Derleme uname kernel-release 2.6.32-38-generic -İlk Linux çekirdeği 0.01 sürümüdür. -Linux çekirdekleri 4 set halinde bulunan numaralar ve zaman zaman ek bazı karakterler ile ayrışmaktadır.
Kernel Gelişim Süreci Kernel Derleme
Kernel Derleme Aşamları Kernel Derleme Gerekli Paketleri İndir Derleme Dizinie Geç Çekirdeği Derleme Dizine İndir Çekirdeği Arşivden Çıkar ve Dizinine Gir Kernel Konfigürasyonunu Ayarla Çekirdek İmajını ve Modülleri Derle Dosyaları Boot Dizinine Kopyala Gnu Grub'a Ekle
Kernel Derleme Aşamları - II Kernel Derleme 1-)sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mtdev wget libncurses5 libncurses5-dev 2-)sudo apt-get update && sudo apt-get upgrade 3-)cd İndirilenler 4-)sudo -s 5-)tar -xvf linux-3.2.16.tar.bz2 -C /usr/src 6-)cd /usr/src/linux-3.2.16/ 7-)make menuconfig 8-)make 9-)make modules_install install
Kernel Derleme Aşamları - III Kernel Derleme 10-) sudo update-initramfs -u -k 3.2.16 11-)sudo update-initramfs -c -k 3.2.16 12-)sudo gedit /boot/grub/grub.cfg 13-) sudo update-grub 14-)Çekirdek kullanıma hazır
Ramdisk Oluşturma Giriş Ramdisk Oluşturma Kernel Derleme Ramdisk oluşturma /dev/shm Aygıtı Kabuk Programlama Dosya Türlerinin Sisteme Yüklenmesi
Ramdisk Nedir? Ramdisk Oluşturma Ramdisk, bilgisayar Ram belleğinin sabit disk gibi Kullanılmasıdır. Ramdiskler /dev/ dizini altında bulunmaktadır. Ramdisk bilgileri çekirdekten öğrenilebilir.
Örnek Ramdisk Oluşturma Ramdisk Oluşturma 4 Mb'lık Ramdisk: dd if=/dev/zero of=/dev/ram0 bs=1k count=4096 mkfs.ext4 /dev/ram0 4096 mkdir /mnt/disk mount /dev/ram0 /mnt/disk df /dev/ram0
Ramdisk İmaj Oluşturma Ramdisk Oluşturma 8 Mb'lık Ramdisk ve İmajı: dd if=/dev/ram1 of=/tmp/ram1.img bs=2k count=4096 mkfs.minix /dev/ram1 4096 cd /tmp gzip ram1.img gzip ram1.img.gz
/dev/shm Aygıtı Giriş /dev/shm Aygıtı Kernel Derleme Ramdisk oluşturma /dev/shm Aygıtı Kabuk Programlama Dosya Türlerinin Sisteme Yüklenmesi
Ramfs-Tmpfs-Ara Bellek Nedir? /dev/shm Aygıtı Ramfs(Ram File System): Ram üzerinden veri iletişimi sağlayan dosya sistemidir. Tmpfs(Temporary File System): Ram üzerinde bulunan geçici dosya sistemidir. Ara Bellek(Cache Memory): İşlemci ile bilgisiyar arasında bağlantı sağlan yapıdır.
/dev/shm Nedir? /dev/shm Aygıtı Shm(Shared Memory): Paylaşılan bellektir Process'ler arası iletişim kurar Çekirdekte /dev/shm desteği verilmelidir Sisteminizdeki /dev/shm kapasitesi: df -h /dev/shm
Uygulamalar /dev/shm Aygıtı Ram üstünde 20MB'lık ext3 dosyası sistemi kur /mnt/bolum1'e bağla mkfs.ext3 /dev/ram0 20M mkdir /mnt/bolum1 mount /dev/ram0 /mnt/bolum1 df
Uygulamalar -II /dev/shm Aygıtı Sanal bellekte 5MB'lık ramfs dosya sistemi oluştur /mnt/bolum2 klasörüne bağla mkdir /mnt/bolum2 mount -t ramfs -o size=5m ramfs /mnt/bolum2 df Sanal bellekte 30MB'lık tmpfs dosya sistemi oluştur /mnt/bolum3 klasörüne bağla mkdir /mnt/bolum3 mount -t tmpfs -o size=30m tmpfs /mnt/bolum3 df
Uygulamalar -III /dev/shm Aygıtı Fiziksel bellekte ramdisk üzerinde 15MB'lık ext4 dosya sistemi oluştur /mnt/bolum4 klasörüne bağla
Uygulamalar -III /dev/shm Aygıtı sudo -s mkfs.ext4 /dev/ram12 15M mkdir /mnt/bolum4 mount /dev/ram12 /mnt/bolum4 df df /mnt/bolum4
Uygulamalar -IV /dev/shm Aygıtı Sanal bellekte 45MB'lık ramfs dosya sistemi oluştur /mnt/bolum5 e bağla
Uygulamalar -IV /dev/shm Aygıtı sudo -s mkdir /mnt/bolum5 mount -t ramfs -o size=45m ramfs /mnt/bolum5 df df /mnt/bolum5
Kabuk Programlama Giriş Kabuk Programlama Kernel Derleme Ramdisk oluşturma /dev/shm Aygıtı Kabuk Programlama Dosya Türlerinin Sisteme Yüklenmesi
Neden Kabuk Programları Kullanırız? Kabuk Programlama Kabuk programlama, sistem yönetme ve komut işlemeye yarayan programlama şeklidir. Bash(Bourne Again Shell) kabuğunu kullanarak scriptler hazırlayacağız. Kabuk programları ile sisteminizde çözülmesi zor işleri kolaylaştırabilirsiniz.
Merhaba Dünya Uygulaması Kabuk Programlama echo Merhaba Dünya cd konum chmod +x deneme./deneme
Merhaba Dünya Uygulaması Kabuk Programlama Yedek alma #!/bin/bash tar -czf yedek.tar.gz /home/eren/ Günlük Yedek Alma #!/bin/bash OF=anadizin_$(date +%Y%m%d).tar.gz tar -czf $OF /home/eren
Degişkenlerin Kullanımı Kabuk Programlama bilgi= Merhaba bilgi2= Dünya bilgi3= Linux echo $bilgi echo $bilgi $bilgi2 echo $bilgi $bilgi2 $bilgi $bilgi3 echo Merhaba $bilgi3
echo adın ne? read cvp echo adınız $cvp Giriş/Çıkış İşlemleri Kabuk Programlama echo Nerede Yaşıyorsun? read cvp echo Adınız Masaüstünde belge.txt dosyasında echo Yaşadığınız Şehir : $cvp > /home/eren/masaüstü/belge.txt
let "toplam=30+40" echo $toplam let "carpim=30*40" echo $carpim typeset -i sonuc a=19 b=5 sonuc=$a+$b echo $sonuc Giriş/Çıkış İşlemleri Kabuk Programlama
if linux komutu then komut1 komut2... else komut1 komut2... fi İf-else Kullanımı Kabuk Programlama
İf-else Kullanımı Kabuk Programlama echo "0 ile 100 arasinda bir sayi secin" read sec if [ $sec -lt 10 ] then echo "Secilen sayi tek basamakli" else echo "Secilen sayi cift basamakli" fi
Aritmatiksel Karşılaştırma Kabuk Programlama Aritmatiksel karşılaştırma -gt büyük -lt küçük -ge büyük eşit -le küçük eşit -eq eşit -ne eşit değil
case anahtar-sozcuk in secenek1) komutlar ;; secenek2) komutlar ;; *) komutlar ;; esac Case Kalıbı Kabuk Programlama
Case Kalıbı Kabuk Programlama echo "Hangi programlama/script dilini kullanıyorsun?" echo "1) bash" echo "2) c++" echo "3) phyton" read case; case $case in 1) echo "Bash'i seçtin";; 2) echo "c++'ı seçtin";; 3) echo "python'ı seçtin";; esac
while kosul ifadesi do komutlar done deger=0 while [ $deger -lt 100 ] do deger=$((deger+1)) echo $deger done While-do Döngüsü Kabuk Programlama
For-do Döngüsü Kabuk Programlama For degisken1 in deger1 deger2... degerx do komutlar Done for sehir in Antalya Ankara İstanbul do echo $sehir done
Dosya Türlerinin Sisteme Yüklenmesi Giriş Dosya Türlerinin Sisteme Yüklenmesi Kernel Derleme Ramdisk oluşturma /dev/shm Aygıtı Kabuk Programlama Dosya Türlerinin Sisteme Yüklenmesi
Wine Dosya Türlerinin Sisteme Yüklenmesi Wine (Wine İs Not Emulator) Linux içinde sanal bir windows ortamı Linux üstünde exe uzantılı program ları çalıştırma imkanı Sudo apt-get install wine
bin,run,sh Türlerinin Sisteme Yüklenmesi Dosya Türlerinin Sisteme Yüklenmesi exe bin,run,sh Windowsta program yüklemek için kullanılan exe uzantısın eşdeğeri bin,run,sh Bin,run ve sh uzantılı dosyalar aynı şekilde yüklenir
bin,run,sh Türlerinin Sisteme Yüklenmesi Dosya Türlerinin Sisteme Yüklenmesi chmod kullanıcı+erişimizni program./program Kullanıcı u user ( dosya veya dizin sahibi, yaratıcısı ) g group ( dosya veya dizinin ait olduğu grup ) o other ( diğerleri, user ve group haricindekiler ) a all (ugo) ( hepsi, herkes dosya ve dizinlere erişebilir. ) Erişim İzinleri r Okuma izni ( Read permission ) w Yazma izni ( Write permission ) x Çalıştırma izni ( Execute permission )
Son Teşekkürler