İSTANBUL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ SİSTEM PROGRAMLAMA DERSİ Öğr.Gör. Mehmet DEMİR HOMEWORK 1: Linux Kurulumu(Sanal) ve Linux İşletim Sistemine Yeni Kernel Kurulumunun (Güncellemesinin) Yapılması Yasin NAR 1306150107 EKİM 2015 1 LINUX CentOS İşletim Sisteminin Kurulumu Linux işletim sitemimizi sanal makinede kurmak için bilgisayarımıza öncelikle VMware programını temin edip kuruyoruz. Bu ödev için VMware 11 programı kullanılmıştır. Vmware’de linux işletim sistemini kurmaya başlamak için; 1. FileNew Virtual Machine 2. Karşımıza çıkan pencere sanal makine kurulum sihirbazında Typical seçeneğini seçiyoruz. 2 3. Sonraki pencerede ikinci seçeneği seçerek bilgisayarımızda bulunan linux işletim sisteminin iso dosyasını seçiyoruz. CentOS-7 işletim sisteminin iso dosyasını internetten ücretsiz download edebilirsiniz. 4. Daha sonra gelen pencerede kuracağımız işletim sistemi olan Linux’u ve hemen aşağıdaki açılır menüden versiyonunu seçiyoruz. 3 5. Sonraki adımda kuracağımız sanal makinenin adını ve konumunu belirtiyoruz. 6. Sanal makinenin disk kapasitesini belirtiyoruz. Varsayılan olarak 20GB ayarlıdır ve yeterlidir. Diğer seçenek ise bu sanal diskin tek dosya olarak mı yoksa çoklu dosya olarak mı tutulacağını bize söyler. Her ikisinin de farklı avantajları var. Biz varsayılan işaretli seçeneği yani ikinci seçeneği seçili bırakıp ilerliyoruz. 4 7. Sanal makinenin hangi özelliklere sahip olacağını listeleyen pencere çıktıktan sonra Finish diyerek sanal makineyi oluşturuyoruz. 8. Aşağıdaki pencerede görüldüğü gibi My Computer altında “CentOS 64-bit” adında bir işletim sistemi oluştuğunu ve sağ kısımda da özelliklerini görmekteyiz. Linux kurulumunun sanal makinede daha hızlı gerçekleşmesi için Memory ve Processors kapasitesini arttırabilirsiniz. 5 9. Sonraki adımda yeşil renkli play tuşuna basarak işletim sistemi kurulumunu başlatıyoruz. 10. Karşımıza aşağıdaki gibi bir hata penceresi geldi. Bu hata BIOS’ta Virtualization’un(VT-x) disabled olduğunu ve işleme devam edebilmek için bunun enable yapmamız gerektiğini söylemektedir. 11. BIOS’a girip Virtualization özelliklerini “Enabled” yapıyoruz. 6 12. VMware’e girip “CentOS 64-bit” adındaki işletim sistemi kurulumunu tekrar çalıştırdığımızda kaldığı yerden devam edecektir. Sonraki adımda dili seçiyoruz. 13. Sonra klavye dilini seçiyoruz. 14. Bir sonraki adımda bulutta hesap açma seçeneği mevcut. Bir bulut hesabı açmayacağımız için hesap eklemeden ileri diyoruz. 7 15. Çıkan pencerede Start using CentOS Linux düğmesine basarak ilerliyoruz. 16. Masaüstü ekranında Install to Hard Drive ikonuna çift tıklayarak kuruluma devam ediyoruz. Dil seçimi yapıyoruz. 8 17. “Installation Destination” seçeneğinden kurulum yapılacak partition’ı seçiyoruz. Done yapıp daha sonra Begin Installation yaparak sonraki adıma geçiyoruz. 9 18. Son olarak Root ve bir user hesabı tanımlayarak linux işletim sistemi kurulumunu tamamlayacağız. 10 19. Linux CentOS işletim sistemi başarıl bir şekilde kuruldu. Quit yaparak pencereden çıkıyoruz. İşletim sistemini VMware penceresindeki yeşil renkli play düğmesinden kapatıp yeniden açıyoruz. 20. Karşımıza License Agreement’ı onay penceresi çıkıyor. Kutucuğa tıklayıp Done yapıp ilerliyoruz. 11 21. “Finish Configuration” ile ilerliyoruz. 22. Daha önce tanımladığımız user hesabı(“Yasin Nar”) ile parolayı girip sisteme giriş yapıyoruz. 23. Sırayla dil ve klavye tercihlerini yaptıktan sonra, bulut hesabı eklemeyeceğimizden dolayı bu seçeneği atlayıp Yasin NAR kullanıcısı için konfigurasyonu tamamlıyoruz. 12 Buraya kadar CentOS 7 versiyon Linux işletim istemimizin kurulumunu gerçekleştirmiş olduk. Şimdi en son stabil(kararlı) Kernel’ı işletim sistemimize open source olarak kuracağız. 13 LINUX CentOS İşletim Sistemine Kernel Kurulumu (Kernel Güncellemesi) Masaüstü penceresinde mouse sağ tuş ile linux’te komutları yazabileceğimiz “Open in Terminal”i açıyoruz. Linux işletim sisteminde Linux çekirdeği(Kernel) sürümünü öğrenmek için "uname -r" komutu kullanılır. "uname -r" ile kernel’ımızın mevcut sürümünü öğreniyoruz. Kernel’ımızın sürümünün 3.10.0-229.el7.x86_64 olduğunu görmekteyiz. Kernel güncelleme için root kullanıcısyla giriş yapmamız gerekir. Bunun için sistem açıldığında karşımıza gelen user hesabı yerine hemen alttaki “Listede yok mu?” seçeneğine tıklayıp root yazıp, root hesabı şifremizi girerek root olarak sisteme giriş yapıyoruz. Linux CentOS üzerine en güncel Kernel’ı yüklemek (Kernel update) için 2 yol vardır: 1.YOL: ElRepo’yu Kullanarak En Son Stabil Kernel'ı Kurmak (Kernel Update yapmak) 2.YOL: Derleme ve Kaynaktan Kurulum Yaparak Linux Centos’a Yeni Bir Kernel Kurmak (Bu projede amacın sadece kernel güncellemek değil yeni bir kernel kurulumunu nasıl yapıldığını öğretmek olduğundan daha önemlidir ve daha ayrıntılı anlatılmıştır.) 14 1.YOL : ELREPO’YU KULLANARAK LINUX CENTOS’A KERNEL KURMAK ElRepo; Red Hat Enterprise Linux (RHEL) ve türevlerini (Scientific Linux, CentOS & diğerleri) destekleyen bir topluluktur. Dosya sistemi, grafik, donanım izleme, ağ, ses ve webcam sürücülerini içeren donanım paketleri geliştirirler. ElRepo’yu kullanarak kernel’ı güncellemek 2 adımdan oluşur: 1. ElRepo’yu kurmak. Yani ilk olarak ELRepo’nun GPG anahtarını indireceğiz ve elrepo paketini yükleyeceğiz. Kullanacağımız komutlar: # rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm 2. Kernel’ı www.kernel.org ’daki en güncel stabil versiyonuna güncellemektir. Şimdi, ELRepo havuzundan en son stabil kernel'ı (4.2.3) kuracağız. Bunu yapmak için, CentOS'un terminalinden aşağıdaki komutu girmemiz gerekir. Aşağıdaki komut ELRepo havuzundan en son stabil kernel'ı (4.2.3'ü) bulacak ve kurmak için onay isteyecektir. # yum --enablerepo=elrepo-kernel install kernel-ml 15 Yukarıdaki komut ELRepo havuzundan en son stabil kernel'ı (4.2.3'ü) bulup kurayım mı diye soruyor? “y” deyip kurulumu gerçekleştiriyoruz. Şimdi “reboot” komutuyla sistemi tekrar başlatıyoruz. # reboot İşletim sistemi reboot olurken (tekrar açılırken) güncelleme yaptığımız kernel çekirdeğini (4.2.3) seçiyoruz. 16 Son olarak Kernel’ın sürümünü "uname -r" ile tekrar kontrol ediyoruz. Daha önceki Kernel’ımızın sürümü: 3.10.0-229.el7.x86_64 idi. Şimdi: 4.2.3-1.el7.elrepo.x86_64 Kernel’ımız başarılı olarak güncellenmiştir. 17 2.YOL : DERLEME VE KAYNAKTAN KURULUM YAPARAK LINUX’E YENİ BİR KERNEL KURMAK 1.Bağımlılıkları Kurun: İlk önce kernel’ın derlenmesi için gerekli bağımlılıkların kurulması gerekir. (Makinelerin çoğunda önceden yüklenmiş olmalıdır). Bunun için Root hesabıyla “open in terminal”e girip aşağıdaki kodu çalıştırıyoruz. Bağımlılıklar kurulsun mu sorusuna “y” yazıp enter ile onay verin. YUM: Redhat türevli işletim sistemlerinde uygulama yönetiminde kullanılan Yum (Yellowdog Updater Modified), paketleri yönetmekte bize yardımcı olan bir uygulamadır. # yum install gcc ncurses ncurses-devel İhtiyacımız olan paketleri tek tek yada gruplar halinde otomatik olarak indirip yüklemek, kaldırmak bilgi almak için kullanabildiğimiz pratik bir paket yönetim uygulamasıdır. 2.Sistemi Update Edin: Aşağıdaki komut ile sisteme mevcut güncellemeleri yüklüyoruz. Güncellemeler yüklensin mi sorusuna “y” yazıp enter ile onay verin. Rpm bilgisayarımıza indirdiğimiz veya internet üzerinden paketleri tek tek kurmamıza olanak verirken Yum ise bir paketin ihtiyaç duyduğu diğer paketleri de otomatik olarak kurabilir. Yum için rpm tabanlı paket yönetimi de diyebiliriz. Daha fazlası: http://www.cozumpark.com/blogs/linux_unix/ archive/2011/10/23/linux-yum-paketyonetim.aspx # yum update 3.Kernel’ı Downoad Edin: Linux Kernel resmi sitesinden (www.kernel.org) kernel'ın en son ve kararlı sürümünün (4.3.2) konumunu fare sağ tuş menüsündeki “Copy Link Location” ile kopyalayarak “wget” komutunu kullanarak sistemimize download ediyoruz. (Link yolu: https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.2.3.tar.xz ) # wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.2.3.tar.xz 18 4.Kernel’ı “C /usr/src/” Dizinine Çıkarın ve Kernel Dizinine Gidin : Kernel indirildikten sonra bu sıkıştırılmış dosyayı “tar –xvf” komutuyla C /usr/src/ dizini içine dizin olarak çıkarıyoruz. Kernel’ı konfigure etmek, derlemek ve kurmak için bu kernel dizinine cd komutuyla giriyoruz. # tar -xvf linux-4.2.3.tar.xz -C /usr/src/ # cd /usr/src/linux-4.2.3/ 19 5.Kernel’ı Konfigure Edin(Yapılandırın): Şimdi Linux çekirdeğini(Kernel'ı) yapılandırmak için "make menuconfig" komutunu çalıştırıyoruz. Bir grafik arayüzü ile karşılaşırız. Burada kendi kernel konfigürasyonumuzu yapabiliriz. Eğer bu menülere aşina değilseniz iki kez ESC yaparak çıkın. Yeni kernel'ınızı eski konfigürasyon ile yapılandırmak için basitçe “# make oldconfig” komutunu yazın. # make menuconfig veya # make oldconfig 6.Kernel’ı Derleyin: Kernel'ı derlemek için “make” komutunu çalıştırmamız gerekir. Derleme, sistem yapılandırmasına ve işlemci hızına bağlı olarak en az 30 dakika alacaktır. (Derlemede bc command not found hatası alırsanız, "yum install bc" komutunu kullanarak bu sorunu çözebilirsiniz.) # make 20 7.Kernel’ı Sisteme Kurun: Derlemeden sonra artık Kernel'ı Linux işletim sistemimize kurabiliriz. Aşağıdaki komut "/boot" dizini altında dosyalar oluşturacak ve aynı zamanda grub.conf dosyanızda yeni bir kernel girişi yapacaktır. # make modules_install install 21 8.Kernel’ı Doğrulama: Son olarak kernel yükledikten sonra bunu doğrulamız gerekmektedir. Bunun için önce “reboot” komutu ile sistemi tekrar başlatıyoruz, sitem tekrar boot olurken çıkan ekranda yeni kernel’ı seçiyoruz ve terminalde kernel’ın sürümünü "uname -r" ile kontrol ediyoruz. # reboot # uname -r Daha önceki Kernel’ımızın sürümü: 3.10.0-229.el7.x86_64 idi. Şimdi: 4.2.3 olmuştur. Yeni en son stabil Kernel Linux işletim sistemimize başarılı bir şekilde yüklenmiştir. -SON22