|
|||||||
| Reklam İrtibat | Mail+MsN | SiteMap | Tags | Üye Ol | Üye Listesi | Şifremi Unuttum | Arama | Günün Mesajları | Konuları Okundu İşaretle |
|
|
#1 | ||||
|
Adım Adım 2.6.x Kernel Derleme-Güncellendi 2 6 x Serisi İçin Kernel Derleme:Kernel Neden Derlenir: *Yüklediğiniz bir paket kernelin son stabil sürümüne ihtiyaç duyuyordur ![]() *Yeni kernel ile gelen bir sürücü desteği vardır ![]() *Gereksiz modülleri ve eklentileri kaldırıp sistemi optimal şekle sokmak istiyorsunuzdur ![]() *Yeni bir güvenlik açığı çıkmıştır sistemde yetki kazanan kişi bu açığı sömürerek en yetkili kişi yani root olabilmektedir ![]() *Kernel Derlemeyi öğrenmeye çalışıyorsunuzdur Bu yazıyı 2 6 x kernel serisi için yazıyorum 2 4 x serisi nin yeniden derlenme işlemi ile 2 6 x in yeniden derlenme işlemi bir kaç kısımda farklılık göstermektedir şu anda www kernel org da en stabil sürüm 2 6 13 2 bu yazıyıda ona göre yazacağım Bu işlemleri yaparak birden çok kernel imaj dosyasını barındırabilirsiniz böylece bir sorun olduğunda eski kerneller ile başlatabilirsiniz Kesinlikle buradaki adımları sırayla ve anlatıldığı gibi yaparsanız bir sorunla karşılaşmazsınız aynı zmaanda bu işlemi başarıyla tamamlarsınız![]() Kernelin Ana Görevleri: Kernel genel olarak programlar ve donanımlarınız arasındaki bağlantıyı kurar linux işletim sisteminin kalbidir Bütün programlar için bellek ayarlamasını gerçekleştirir ve işlem döngüsünü paylaştırır tabi kernele eklediğiniz seçeneklere göre yaptığı görevler artıp azalabilir![]() Bu işlem için gerekli olanlar versiyonları ile şunlardır Code:
o Gnu C 2.95.3 # gcc --version o Gnu make 3.78 # make --version o binutils 2.12 # ld -v o util-linux 2.10o # fdformat --version o module-init-tools 0.9.10 # depmod -V o e2fsprogs 1.29 # tune2fs o jfsutils 1.1.3 # fsck.jfs -V o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs o xfsprogs 2.1.0 # xfs_db -V o pcmcia-cs 3.1.21 # cardmgr -V o quota-tools 3.09 # quota -V o PPP 2.4.0 # pppd --version o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version o nfs-utils 1.0.5 # showmount --version o procps 3.1.13 # ps --version o oprofile 0.5.3 # oprofiled --version ![]() Loadeble Modül Nedir Bunlar kernele direk olarka bağlanmamış kernel kodlarıdır İstenildiği zaman kernele sokulup yada çıkartılabilir Çoğu popüler aygıt sürücüleri yüklenebilir kernel modüllerini içerir PCMCIA sürücüleri gibi Loadeble modül desteğini kullanmazsanız kernelinizi boyutu gerçekten çok büyük olur ve gereksiz modülleri istediğiniz zaman çıkartamazsınız![]() Mevcut Donanımların Öğrenilmesi Sistemimizle ilgili detaylı bilgi toplamalıyız işlemci kontrol kartları grafik kartı vs bu sayede optimal ayarlar ile kernelin derlenmesini tamamlıyabilelim![]() Code:
/sbin/lspci Code:
[root@localhost ~]# /sbin/lspci 00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04) 00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 05) 00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 05) 00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 (rev 05) 00:1f.2 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #1) (rev 05) 00:1f.3 SMBus: Intel Corporation 82801BA/BAM SMBus (rev 05) 00:1f.4 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #2) (rev 05) 01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x] (rev a2) 02:05.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50) 02:05.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50) 02:05.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51) 02:06.0 Ethernet controller: VIA Technologies, Inc. VT6105 [Rhine-III] (rev 8b) 02:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 08) Şimdide işlemcimizi öğrenelim hyper threading desteği varsa smp kernel desteğini açacağızCode:
cat /proc/cpuinfo Code:
processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Pentium(R) 4 CPU 2.40GHz stepping : 7 cpu MHz : 2424.306 cache size : 512 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr bogomips : 4852.62 Eğer paket bir dağıtım kullanıyorsanız kerneli derlemeniz çok basit yum için yum update kernel çift işlemciler için yum update kernel-smp apt-get update kernel gibi ama biz burada kaynak kodundand erlemeyi göstericez![]() 2 4 x Kernelden 2 6 x e güncelleyeceklerin yapmaları gerekenlerCode:
cd /usr/local/src/ wget http://www.kernel.org/pub/linux/kernel/people/rusty/modules/old/module-init-tools-3.0.tar.gz tar -zxf module-init-tools-3.0.tar.gz cd module-init-tools-3.0 ./configure --prefix="" make moveold make install ./generate-modprobe.conf /etc/modprobe.conf www kernel org sitesine girerek en son stabil 2 6 kerneli çekiceğizCode:
cd /usr/src Bzip formatlı şeklini tercih ederseniz indirirken size kolaylık olur en fazla sıkıştırılmış şeklidir![]() Code:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.2.tar.bz2 Code:
tar xfvj linux-2.6.13.2.tar.bz2 Code:
cd linux-2.6.13.2 6 13 2 klasörüne giriyoruz daha sonra alttaki komutu veriyoruzCode:
make mrproper ![]() Kernelin Konfigurasyonu Bu aşama sisteminizi iyi tanımanız gereken bir aşamadır Gerekli modülleri buradan ekleyip gereksizleri kaldırabilir gerekli sistemler için destek verip gereksizleri kaldırabilrisiniz Şunudabelirtmek istiyorum kernelin ayarlanması aşamasında ayarlarla ilgili bir değişiklik yapmazsanızda sorunsuz olarak yeni kernel çalışacaktır o yüzden çok fazla karıştırmak istemiyorsanız olduğu gibi bırakın bir sorun yaşamazsınız Static olarak ekleyeceğiniz özellikler daha hızlı çalışmasına karşın kernelinizin boyutları büyüyecektir dinamik olarak dahil edilen modüller ise birazdaha yavaş çalışmasına karşın kernelinizin boyutunun daha küçük kalmasını sağlayacaktır![]() Code:
make menuconfig [img width=500]http://www hostticaret net/kernel jpg[/img]Seçenekler: Code maturity level options : Bu seçenek sayesidne alpha durumdaki sürücüleri ve yazılımları yüklemenizi sağlıyor stabil bir kernelimiz olacağı için bunun altındaki 2 seçeneği kapatıyoruz ![]() General Setup Burdaki seçenekler ile sysctl conf u aktif hale getirip config desteği katarak kernele bir daha kerneli derleyeceğiniz zaman aynı confiği kullanmayı sağlayabilrisiniz Burada benim işaretlediklerim![]() Code:
Support for paging of anonymous memory (swap) System V IPC POSIX Message Queues BSD Process Accounting Sysctl support Auditing support Kernel Userspace Events Kernel .config support Loadable module support 3 Parti Modüller kuracaksınız bunu açmanızı tavsiye ediyorum benim işaretlediğim seçimler şunlardır tabi siz kendi sisteminizi derleyeceğiniz için kendi gereksinimlerinizi daha iyi biliyorsunuzdur![]() Code:
Module unloading Source checksum for all modules Module versioning support (EXPERIMENTAL) Automatic kernel module loading Processor type and features Bu kısım en önemli kısım bu kısımla birlikte topladığımız bilgileri değerlendiricez cpu hakkında sistem hakkında çok cpu su bulunana sistemler bu desteği kernele buradan katıcak yada fazla ram i olanlar bu desteği buradan katıcak ben kendi sistemime göre seçtiklerimi size aktarıcam sizde kendi seçimlerinizi yapın üstünde m olanlar modül olarak kurulucaklar çoğu laptopda m seçeneği var onları kaldırabilrisiniz benim seçtiklerim Code:
Generic x86 support HPET Timer Support 2 yada daha fazla işlemciniz varsa Symmetric multi-processing support seçin Machine Check Exception (M) /dev/cpu/microcode - Intel IA32 CPU microcode support m olarak yazdıklarım modül olarak seçtiklerimdir. <M> /dev/cpu/*/msr - Model-specific register support <M> /dev/cpu/*/cpuid - CPU information support 4 gb tan fazla raminiz varsa bu seçeneği seçin [*] Allocate 3rd-level pagetables from highmem [*] MTRR (Memory Type Range Register) support [*] Use register arguments (EXPERIMENTAL) [*] Enable seccomp to safely compute untrusted bytecode Power management options (ACPI, APM) Bir server için bunları derliyorsanız bu desteğin bütün seçeneklerinin işaretini kaldırın ama benim gibi ev bilgisayarları için yapıyorsanız bir kaç seçenek işaretleyebiliriz İşaretleyeceğim seçenekler Bunları daha öncede belirtiğim gibi kendi gereksinimlerinize göre yapmalısınız![]() ACPI and CPU Frequency Scaling seçenekleri laptopların güç kullanımını arttırmaktadır ![]() Code:
[*] Power Management support
ACPI menüsü altından [*] ACPI Support
<*> Fan
<*> Processor
<*> Thermal Zone [*] Power Management Timer Support
APM menüsü altından
<*> APM (Advanced Power Management) BIOS support [*] Make CPU Idle calls when idle
CPU Frequency scaling ---> menüsünden amd ve laptop desteklerini kaldırdım gerekli bilgileri menude iken ? tuşuna basarak alabilrisiniz
ISA ve MCA destekleri yeni makinalarda kapatılabilir benim seçtiklerim Code:
[*] PCI support [*] Legacy /proc/pci interface [*] PCI Express support eski ekran kartım için Değişik binaryler kullanmıyorsanız elf desteği dışındkailer kapatılabilir Kernelin bir çok binary ye desteklemesini sağlamaktadır burada olanlar benim seçtiklerimCode:
Kernel support for ELF binaries Burada fazla birşeyi değiştirmenize gerek yok istemiyorsanız bluetooth desteğini filan kaldırabilirsiniz Ben bu kısımı standart geldiği hal ile bıraktım ![]() Device Drivers Gene aynı şekilde burda kullandığınız donanımlara göre işaretleyin bir sunucu için burdkailerin çoğu gereksiz Sunucu için yapıcağınız ayar: Code:
Generic Driver Options - -- Memory Technology Devices (MTD) - kapayım -- Parallel port support - kapayın -- Plug and Play support -kapayın -- Block devices - kullanmayacağınız bütün aygıtları kaldırın flopy gibi sunucu için bu dediklerim tabiki -- ATA/ATAPI/MFM/RLL support -SCSI disk kullanıyorsanız hepsini silin sata yada ide kullanıyorsanuz hepsi kalsın -- SCSI device support - IDE kullanıyorsanız desteği kapatın sata içinde açık kalacak -- Old CD-ROM drivers (not SCSI, not IDE) - kapatın -- Multi-device support (RAID and LVM) - RAID kullanmıyorsanız kapatın -- Fusion MPT device support - SCSI kullanıyorsanız seçili kalsın -- IEEE 1394 (FireWire) support - Firmware desteği sunuculara gereksizdir kapatın -- I2O device support - kapatın -- Networking support - seçilenler olduğu gibi kalsın ---- IrDA (infrared) subsystem support - Sunucuda kızıl ötesine ihtiyacımız yok kapatın. ---- ARCnet devices - Kapatın ---- Token Ring devices - Kapatın ---- Wireless LAN (non-hamradio) - Kapatın ---- Wan interfaces - Kapatın ---- ATM drivers - Kapatın ---- FDDI driver support - Kapatın ---- PPP (point-to-point protocol) support - DSL de kullanılan protokoldür -- ISDN subsystem - Kapatın isdn ciler açsın -- Telephony Support - telefon desteği kapatın -- Input device support - Alt menüsü ---- Joystick interface- Kapatın ---- Mice - Kapatın --Character devices - Olduğu gibi kalsın --Misc devices - Kapatın -- Multimedia devices - Kapatın -- Graphics support - Serverda GUI çalıştırmayacağız kapatın masaüstü için lazım -- Sound - Sunucuda oyun oynamıcaz kapatın.Ev sistemleri için gerekli -- USB support - Sunucuda usb desteği gereksiz ev sistemi için gerekli -- MMC/SD Card support - Kapatın Sunucu için ![]() File systems ev sistemleri için bu ayarlar olduğu gibi kalsın sunucu sistemleri için şu şekilde değiştirlebilirler ![]() Code:
-- Minix fs support - Kapatın -- ROM file system support - kapatın cdrom desteğine gerek yok sunucuda -- CD-ROM/DVD Filesystems - cd/dvd desteğine gerek yok kapatın sunucuda -- DOS/FAT/NT Filesystems - kapatın -- Miscellaneous filesystems - Kapatın -- Network File Systems- Kapatın Sunucu için kapayın ev bilgisayarları için şu seçenekler açık kalsın Code:
[*] Profiling support (EXPERIMENTAL) <M> OProfile system profiling (EXPERIMENTAL) Sunucu bilgisyaarları için kkapatın ev bilgisayarları için şu seçeenkler açık kalabilir Code:
[*] Kernel debugging [*] Magic SysRq key (17) Kernel log buffer size (16 => 64KB, 17 => 128KB) [*] Spinlock debugging [*] Sleep-inside-spinlock checking [*] Highmem debugging [*] Check for stack overflows Varsayılan değerler gayet iyi oldukları gibi kalsınlar Sunucu bilgisayarları için selinux u kapatın centos upgrade lerinde sorun çıkartabiliyor 3 x den 4 x e Cryptographic options Varsayılan değerler iyi oldukları gibi kalsınlar Library routines Varsayılan değerler iyi oldukları gibi kalsınlar ![]() Exit dedikten sonra Do you wish to save your new kernel configuration? Sorusunu yes olarak cevapladıktan sonra ayar işlemini bitiriyoruz şimdi derlemesi kaldı Kernelin Derlenmesi konsolda sırayla şu komutları veriyoruz Code:
make bzImage ![]() Code:
make modules Code:
make modules_install 6 13 2 altına yükleniyorşimdi Initial ramdisk oluşturucaz bunu oluşturmamızdaki sebep sürücülerin root dosya sistemini yüklemeleri gerekliliğidir fakat sürücüler root dosya siteminde olduğu için normal koşullarda yükleyemezler onun için ramdisk oluşturuyoruz Ana sürücülerinizi modül olarak yüklemediyseniz bunu yapmanıza gerek yok ev bilgisayarlar içinaşağıdaki komutla bunu oluşturuyoruz Code:
mkinitrd /boot/initrd-2.6.13.2.img 2.6.13.2 Code:
cp .config /boot/config-2.6.13.2 cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.13.2 cp System.map /boot/System.map-2.6.13.2 ln -s /boot/System.map-2.6.13.2 /boot/System.map Code:
rm -rf /boot/initrd-2.6.13.2.img mkinitrd --omit-lvm-modules /boot/initrd-2.6.13.2.img 2.6.13.2 sıra geldi bootloader ların ayarlanmasına ilk önce grub ile başlayalım pico /etc/grub conf yazarak ayar dosyasını açıyoruzCode:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,5)
# kernel /boot/vmlinuz-version ro root=/dev/hda6
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS-4 i386 (2.6.9-11.EL)
root (hd0,5)
kernel /boot/vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.9-11.EL.img
title Other
rootnoverify (hd0,0)
chainloader +1
title CentOS-4 i386 (2 6 9-11 EL) bu 0 a denk geliyortitle Other buda 1 e denk geliyor root (hd0,5) yazan kısım o dosya sisteminin birinci harddiskin altıncı partititonunda olduğunu gösteriyor çünkü saymaya 0 ile başlıyoruz title Other rootnoverify (hd0,0) chainloader +1 other ile gördüğünüz kısım windows yani 1 harddiskin 1 inci partition u olduüunu gösteriyoryeni kernelimizi listeye ekliyoruz görünümü Code:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,5)
# kernel /boot/vmlinuz-version ro root=/dev/hda6
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS-4 i386 (2.6.9-11.EL)
root (hd0,5)
kernel /boot/vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.9-11.EL.img
title CentOS-4 i386 (2.6.13.2)
root (hd0,5)
kernel /boot/vmlinuz-2.6.13.2 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.13.2.img
title Other
rootnoverify (hd0,0)
chainloader +1
6 9-11 El kerneli ile boot edilicek eğer oraya 1 yazarsak 2 6 13 2 ile 2 yazarsak windows ile şimdilik orası 0 kalsın çünkü biz sistemimizi bir kereye mahsus yeni kernelle başlatıcaz eğer başlamazsa orası dafault olarak eski kerneli gösterdiği için eski kernelle başlar böylece bir sorun yaşamadan gene sistemimiz açılır Dosyayı kaydedip çıkın konsolda grub yazınkarşınıza çıkan menuye Code:
savedefault --default=1 --once sıradaki kernel ile bir kere başlaması gerektiğini söylemektedir 2 sıradkai kernelimiz yeni kernel olan title CentOS-4 i386 (2 6 13 2) dır![]() sonra quit yazıp grub un menusundan çıkıyoruz ve boot sektöre yazılmasını bir kaç saniye bekliyoruz reboot yazıp yeniden başlatıyoruz eğer sorunsuz başlarsa pico /etc/grub conf yazıp ayar dosyasını tekrar açıyoruz Defaults yazan kısımdaki 0 değerini 1 ile değiştiyoruz böylece artık yeni kernelimiz ile başlıcakkonsolda tekrar grub yazıyoruz gelen menuda quit yazıyoruz ve gerekli bilgilerin boot sektöre yazılmasını bir kaç saniye bekliyoruz bekliyoruz sonra tekrar reboot yazıp yeni kernel ile bootlanmasını bekliyoruz standart olarak ![]() Code:
[root@localhost /]# uname -a Linux localhost.localdomain 2.6.13.2 #1 Sun Sep 18 23:56:01 EEST 2005 i686 i686 i386 GNU/Linux pico /etc/lilo conf komutu ile liloyu açıyoruzliloyu editleyeceğim server başka bir server ama onada aynı kerneli kuruyorum işlemlerin mantığını anlarsanız hiç bir sorun yaşamazsınız zaten Code:
prompt
timeout=50
default=2.4.21-32.0.1.E
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32
image=/boot/vmlinuz-2.4.21-32.0.1.EL
label=linux
initrd=/boot/initrd-2.4.21-32.0.1.EL.img
read-only
append="root=LABEL=/"
image=/boot/vmlinuz-2.4.21-27.EL
label=linux-eski
initrd=/boot/initrd-2.4.21-27.EL.img
read-only
append="root=LABEL=/"
4 21-32 0 1 EL kerneli ile boot ediliyor yani aslında redhat ın son stabil kerneli biz bunu 2 6 13 2 ile boot edicez o yüzden şu şekilde dğeişiriyoruz![]() Code:
prompt
timeout=50
default=2.4.21-32.0.1.E
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32
image=/boot/vmlinuz-2.6.13.2
label=linux
initrd=/boot/initrd-2.6.13.2.img
read-only
append="root=LABEL=/"
image=/boot/vmlinuz-2.4.21-32.0.1.EL
label=linux-birazdahayeni
initrd=/boot/initrd-2.4.21-32.0.1.EL.img
read-only
append="root=LABEL=/"
image=/boot/vmlinuz-2.4.21-27.EL
label=linux-eski
initrd=/boot/initrd-2.4.21-27.EL.img
read-only
append="root=LABEL=/"
Code:
lilo -v -v ![]() lilo -R 2 6 13 2 komutunu vererek bir kereye mahsus olarak 2 6 13 2 kerneli ile başatıyoruz eğer bir sorunla karşılaşılır başlamazsa eski kernel olan 2 4 21-32 0 1 ile başlayacak bu işlemide yaptıktan sonra reboot yazıp bekliyoruz eğer bir sorunla karşılaşmadan server o kernel ile başlarsatekrar pico /etc/lilo conf yazarak ayar dosyasını açıyoruz Code:
default=2.4.21-32.0.1.E Code:
default=2.6.13.2 tekrar lilo -v -v komutunu vererek boot sektöre yazmasını sağlıyoruz bundan sonra bir daha reboot atın sorunsuz sistem başlayacaktır kernel derleme işlemide bu kadar ![]() Alıntıdır ![]() ![]()
Linkleri Görebilmek Yada Dosyaları İndirebilmek İçin Kayıt Olmanız GEREKMEZ ! Yorum yada Mesaj Yazın Yorum yada Mesaj Göndermek için Lütfen Üye Girişi Yapın. |
|||||
|
|
![]() |
| Tags: 26x, adim, derlemeguncellendi, kernel |
| Konu Araçları | |
| Görünüm Modları | |
Benzer Konular
|
||||
| Konular | Konuyu Başlatan | Forum | Yaz | Son Mesaj |
| Adım Adım Hac ibadeti flash, izle adım adım hac | SH - Haberci | Sanalhazinem Haberci | 0 | 19-03-2009 15:00 |
| Adım Adım Hac ibadeti flash, izle adım adım hac | Kahramankentli | Dini Filmler & Animasyonlar | 0 | 19-03-2009 12:59 |
| Adım Adım Windows 2000 Server Kurulumu | eren41 | Server Kurulum | 11 | 21-05-2008 22:14 |
| Adım Adım USB ve Uygulamaları kitap ve gerekli tüm dosyalar | maydanoz_23 | E-Book - Elektronik Kitap | 0 | 06-05-2008 00:26 |
| Nero 7 Premium İle Mpeg-2 Kayıtlarınızı Mpeg4 Yapıyoruz Adım Adım(Resimli) | BEDİRHAN+ | Program Kullanımları - Anlatımları | 0 | 15-12-2006 20:42 |