LİNUX (İşletim Sistemi) ve Dağıtımları (Pardus).. Murat KARA CopyLeft 2014 Linux’tan Önce.. • • • • • • • İşletim Sistemi Nedir ? İşletim Sistemleri Nelerdir? UNIX Nedir? GNU Nedir? GPL Nedir? Linux Nedir, Nasıl Ortaya Çıkmıştır, Kim ? Dağıtım Nedir? İşletim Sistemi • Bilgisayar donanımının doğrudan denetimi ve yönetiminden, temel sistem işlemlerinden ve uygulama yazılımlarını çalıştırmaktan sorumlu olan sistem yazılımıdır. • İşletim sistemi, bütün diğer yazılımların belleğe, girdi/çıktı aygıtlarına ve kütük sistemine erişimini sağlar. Donanım <-> Çekirdek <-> Kabuk <-> Uygulamalar İşletim Sistemleri • Unix - Unix Çeşitleri – System V, BSD, Solaris, AIX.. • Linux - Linux Dağıtımları – Pardus, Ubuntu, Fedora, Debian.. • Windows – Windows Sürümleri – Windows 7, Windows 8, Windows Server 2012 • MacOS – MacOS/IOS Sürümleri – OS X, IOS • Android – 2.3 Gingerbread, 4.0 Ice Cream Sandwich, 4.1 Jelly Bean Unix • 1969’da Ken Thompson ve DennisRitchie katılımı ile AT&T Bell Laboratuvarları’nda geliştirildi. • Geliştirme süreci sonunda UNIX adını aldı • MULTICS’in versiyonu olan PDP-7 mini bilgisayarı üzerinde UNICS’i yazdı. • DEC PDP-7’lerde 8K bellekler ile çalıştırıldı. • İlk olarak Assembly dilinde yazıldı. Unix • • • • • 60’lı yılların sonunda “C” diliyle yazılan bir işletim sistemidir. Çok kullanıcılı (multiuser) ve aynı anda birçok işi yapabilen (multitasking) bir işletim sistemidir. Komut yorumlayıcı programlar (shell) aracılığı ile kullanıcı ve bilgisayar sisteminin iletişimi sağlanır. • Pek çok Unix çeşidi vardır. – BSD Unix, OpenSolaris, HP-UX, AIX, SCO Unix, Sun OS… Unix • • • • • • • • • • BSD Unix Solaris OpenSolaris Linux HP-UX AIX Minix SCO Unix Sun OS DigitalUnix / Tru64 Unix Minix • Helsinki Üniversitesi’nde Dr.Andrew Stuart "Andy" Tanenbaum, Minix işletim sistemini geliştirmiştir. • Öğrencilerine Unix yerine Minix üzerinde eğitim-uygulama yaptırmıştır. Minix Minix GNU - GPL • Richard M. Stallman yazılımların koşullarını kabullenmek istemiyor.. • 1984 GNU projesini başlatıyor.. • GNU = GNU is Not Unix • 1985'de Free Software Foundation (Özgür Yazılım Vakfı) kuruluyor.. • 1991'de General Public Licence (Genel Kamu Lisansı) • Özgür ve açık kaynak kodlu.. • Kaynak kodlar üzerinde herkes istediği değişikliği yapabilir, dağıtabilir, satabilir. • Yapılan değişikliğinde kodları paylaşılmalı.. Linux İşletim Sistemi • GNU/Linux, Linux çekirdeği kullanan Unix benzeri işletim sistemlerini çağrıştıran genel kullanım şeklidir. • Linux, işletim sisteminin çekirdeğidir. Linux • 1970 yılında AT&T şirketi UNIX işletim sistemini geliştiriyor.. • Unix ~ fiyatı 1300-1850$.. • Minix, küçültülmüş Unix denilebilir ve Andy Tanenbaum tarafından oluşturulmuş.. • Helsinki Üniversitesi’nde 23 yaşındaki Finlandiyalı bir öğrenci olan Linus Torvalds Minix’ten esinlenerek Linux işletim sistemini oluşturmuştur.. • 5 Ekim 1991 – Linux 0.02 internet ve haber gruplarında yer alıyor.. • GNU-GPL Lisansı ile dağılıyor.. Linux Çekirdeği • • • • • • • • Multitasking Virtual Memory Protected Mode (Korumalı Mod) Hızlı TCP/IP Çoklu kullanıcı ortamı Modüler Yapı İstenilen şekilde yapılandırma yeteneği Modern bir işletim sistemi çekirdeğinden beklenecek pek çok özellik ve daha da fazlası GUI – KDE – Gnome • GUI ; (Graphical User Interface) • Grafiksel Kullanıcı Arayüzü, bilgisayar ile etkileşimi görsel mecazlar kullanarak sağlayan yöntemler bütünüdür. • KDE ; K Desktop Environment • Matthias Ettrich adlı bir öğrenci tarafından 1996 yılında Unix’i için daha iyi bir masaüstü yaratma fikriyle başlatıldı.. • GNU Network Object Modelling Environment • Xfce XForms Common Enviroment (XFormları Ortak Ortamı) Düşük hızlardaki makineler için idealdir. KDE Gnome Xfce Linux Dağıtımı • Dağıtım, bir GNU/Linux sistemini kurmayı ve yönetmeyi kolaylaştırmayı amaçlayan yazılımlar bütünüdür. • • • • • • • • • Slackware, Debian, Gentoo, Fedora (Red Hat), openSuSE(Novell), Mandriva (Mandrake), Ubuntu, KNOPPIX, Pardus... Dağıtımlar Debian Fedora Gentoo openSUSE Slackware Ubuntu Puppy SLAX Mint Mandriva Sabayon PcLinuxOS Dağıtımlar Dağıtımlar • 2001 yılından beri tüm dağıtımlar ile ilgili kapsamlı bilgileri barındıran bir sitedir. • Şu an itibari ile 291 adet dağıtım mevcuttur. Linux Sunucu Servisleri • Servisler – Konsol – Servis Yönetimi (GUI) – Kurulum • • • • Apache MySQL Php Dns, Ftp, Dhcp Türkiye’de Linux • • • • • • • • • Red Hat 5 tabanlı Turkuaz Dağıtımı Gelecek Linux 1,2,3 Yerelleştirme Çalıştırmaları Türkçe en yüksek çeviri oranlarından birine sahip Linux Kullanıcıları Derneği (LKD) E-posta listeleri LinuxNet Dergisi Turkix gibi Live CD'ler(Çalışan CD’ler)... Ulusal İşletim Sistemimiz : Pardus Pardus / Uludağ • Bir Linux dağıtımıdır. • Adını Anadolu Pars'ının Latince’sinden aldı(Panthera pardus tulliana). • TÜBİTAK – UEKAE tarafından 2003'ten beri geliştiriliyor.. • ÇOMAR, TASMA, YALI, PİSİ gibi kendi geliştiricilerimizin elinden çıkmış, dağıtıma özel araçlar.. • Uludağ; Ulusal Dağıtım • http://www.pardus.org.tr/ www.pardus.org.tr Pardus Bileşenleri / Projeleri • YALI (Yet Another Linux Installer) Kurulum Yazılımı, Pardus’un, paketlerin kurulumu için.. • ÇOMAR (COnfiguration MAnageR) Yapılandırma Yöneticisi, Yazılımların birbiri ile uyumlu çalışması için.. • PİSİ (Packages Installed Successfully as Intended) Paket Yönetim Sistemi, Paketlerin sisteme kurulması/çıkarılması için.. • Zemberek-Pardus Türkçe • yazım denetimi ve gramer kontrolü için.. Diğer Projeler (KDE Masaüstü ortamı, OpenOffice.org çözümü..) Pardus (2013) • Pardus Açılış Ekranı • Masaüstü arayüzleri Pardus - KDE Pardus - Gnome Pardus - Cinnamon Pardus – Dosya Yöneticisi (Eski)Konqueror Dolphin Linux – Dosya / Dizin Yapısı Linux – Dosya / Dizin Yapısı /root (Kök) /bin: Temel komutları, uygulamaları içerir. /boot: Çekirdek ve açılışta kullanılan dosyaları içerir. /dev: Donanım, aygıt dosyalarını içerir. /etc: Sistem ayarları, yapılandırma bilgisini içerir. /home: Kullanıcıların verilerini içerir. /lib: Çekirdek modülleri ve paylaşılan kod kütüphanelerini içerir. /mnt: Çeşitli dosya sistemi/aygıtlarını içerir. /proc: Süreçler ve donanım yapılandırmaları için bilgi merkezidir. /root: Sistem yöneticisinin (yani “root” kullanıcısının) ev dizinidir. /usr: Tüm kullanıcılarca paylaşılan verileri içeren dizindir. /tmp: Geçici dosyaları içerir. /local: Yerel uygulama ve bileşenleri içerir. /var: Değişken veriler, kuyruk ve log dosyalarını içerir. Uygulamalar ve Dizinleri Sürücü – Klasör - Dosya Sürücü Klasör Dosya Linux Disk Kullanımı İsimlendirmesi Windows Programların Pardus (Linux) Karşılıkları İnternet Uygulamaları Windows Programların Pardus (Linux) Karşılıkları Çoklu ortam (Medya) Uygulamaları Windows Programların Pardus (Linux) Karşılıkları Grafik Uygulamaları Windows Programların Pardus (Linux) Karşılıkları Ofis ve Düzenleyici Uygulamalar Pardus Ofis Uygulamaları LibreOffice Windows Programların Pardus (Linux) Karşılıkları Diğer Uygulamalar Linux Boot (Önyükleyici) • GRUB (Grand Unified Bootloader) • LILO (Linux Loader) Linux Konsolu ve Komutları • Konsol kavramı Linux’a Unix’ten kalan bir mirastır. • Komutların yazıldığı metin ekranlı arabirimdir. • Komut satırı arayüzüdür. Linux Konsol Linux Paket Yönetimi • • • • Pisi (Pardus) Rpm (RedHat) Dpkg (Debian) (apt) Yum (CentOs) • http://distrowatch.com/dwres.php?resource=package-management Linux Konsolu(Konsole) • Konsole; Komutların yazıldığı metin ekranlı arabirimdir. • Terminal olarak da adlandırılır. • Pek çok şekli ve programı vardır. • Konsole, xterm, aterm, rxvt, ... • Konsola geçmek için; Ctrl + Alt + F2 (F1..F6) • X-Window(GUI) geçmek için; Ctrl + Alt + F7 Konsole • Konsole; program olarak çalıştır menüsü ile kullanılabilir. • Alt + F2 (Komut Çalıştır Penceresi); Konsole (Enter) • Geçerli kullanıcı oturumu ile konsol görüntülenir. Konsol Kullanıcı Yetkileri • Konsol’a geçildikten sonra kullanıcı adının sağ tarafında görünen işaret kullanıcının yetki seviyesini ifade eder. • $ User hakları olan bir kullanıcı • # root yetkiye sahip bir kullanıcı • Root => (Windows’da Administrator) • Konsol giriş ekranında kullanıcı adı ve parola bilgisi girilirken parola giriş sırasında görünmez. Konsol Komutları • Linux yapı itibari ile küçük/BÜYÜK harf ayrımına duyarlıdır. • Konsol’dan çıkmak için; exit veya logoff • Kullanılabilecek tüm komutların bir listesini görmek ve yardım almak için; • help (Enter) Konsol Komutları ve Windows (DOS) Karşılıkları Linux (Pardus) Windows (DOS) Komutu Komutu help help dir dir dir /p cls help ls --help ls ls |more clear Genel Amaçlı Komutlar • Yardım (Help); Komutlar hakkında bilgi veya komutun doğru yazımı(syntax) parametreleri ve kullanımı için kullanılır. komut_ismi –help ls –help (gibi..) Genel Amaçlı Komutlar • cd dizin_adi Dizin değiştirmek, başka dizine veya alt dizine geçmek için kullanılır. • cd.. Bir üst dizine geçer. • /home/kullanıcı_adı => Kullanıcının ev dizinidir. • exit konsol’dan çıkar. ~ Genel Amaçlı Komutlar • xinit Pencere yöneticisi olmayan bir oturum açar. • startx Pencere yöneticili bir oturum açar. (Dos’ta win komutu gibi.) Bilgi Edinme Komutları • hotsname Makinanın ismini verir. • whoami kullanıcı ismini verir. • pwd Bulunduğunuz dizinin ismini verir. • who O anda sistemde bulunan kullanıcıların isimlerini verir. • last Sisteme en son giriş kullanıcıları listeler. Bilgi Edinme Komutları • uptime Makinanın açık olduğu süreyi verir. • ps Komutlar ve süreçlerini verir. • free Bellek kullanım durumunu verir. • df Disk kullanım/boş alan durumunu verir Bilgi Edinme Komutları • history Son girilen komutların listesini verir. • (Yukarı yön tuşu) son girilen komutu getirir. • Tab tuşu Yazılmakta olunan komutu tamamlar. Bilgi Edinme Komutları • time Sistemin saatini verir ve değiştirmek için kullanılır. • date Sistemin tarihini verir ve değiştirmek için kullanılır. Komutun parametrelerini ve kullanımı ile ilgili ayrıntılı listesi için; date --help time -- help Bilgi Edinme Komutları • ps Uçbirimde çalışan işlem ve süreçleri listeler. • ps –ax|more Sistemin açılışından beri çalışan bütün süreçleri listeler. • uname –a Sistem hakkında çekirdek sürümü, işlemci türü bilgilerini verir. Bilgi Edinme Komutları • df –h Disk kullanımı ve boyutlarını verir. • du dizin_adi Diskte kapladığı alanı verir. Dizin adı belirtilmezse bulunduğu dizini verir. • dmesg |more Sistem açılışından itibaren çekirdek tarafından üretilen iletilerin tamponda bulunan son iletilerini gösterir. Bilgi Edinme Komutları • cat /proc/version Linux çekirdeğinin sürüm bilgileri.. • cat /proc/filesystems Çekirdekte tanımlı kullanılabilecek dosya sistemlerinin listesini verir. • cat /proc/interrupts Çekirdek tarafından tanımlanmış sistem kesmelerinin listesi. • lsmod Yüklü çekirdek modüllerinin listesi Dosya Komutları • cat > dosya_adi Dosya oluşturur. ve içeriği yazılır. bitirmek için Ctrl+D (kaydetmek). • cat dosya_adi Dosya içeriğini listeler. Dosya-Dizin Komutları • cd dizin_adi Dizin değiştirme • mkdir dizin_adi Dizin oluşturur. • rmdir dizin_adi Dizini siler (içi boş ise..) • rm dosya_adi Dosya siler.. Dosya Komutları • find dosya_adi Dosya arar (*, ? Kullanılabilir.) • locate dosya_adi Dosya arar (veritabanına bağlıdır. Güncel bilgileri bulamayabilir.) • Touch dosya_adi Dosyanın tarih/saat bilgilerini değiştirir. Dosya Komutları • cp kaynak dosya/dizin hedef dosya/dizin Bir yerdeki dosya/dizinleri başka bir yere Kopyalamak için kullanılır. • mv kaynak dosya/dizin hedef dosya/dizin Dosya veya dizin taşır ya da yeniden adlandırır. Dosya Komutları • wc dosya_adi Dosyanın içerdiği satır, kelime ve bayt sayılarını verir. • nl dosya_adi Dosya içeriği ekranda görüntülenirken satır başına numara veya bir belirteç ekler. • file dosya_adi (uzantısı hariç) Dosyanın tipini belirtir. • fuser dosya_adi Dosyanın kim tarafından kullanıldığını verir. Dosya Yöneticisi - MC • MC, Master Commander, Dosya ve dizinlerin yönetimi için geliştirilmiş bir yardımcı programdır. • Konsole’da iken mc yazılarak çalıştırılabilir. veya Alt + F2 ile program çalıştır penceresinde mc yazılarak çalıştırılabilir. Sıkıştırma Komutları • gzip dosya_adi/dizin_adi Dosya/dizin sıkıştırır. dosya.gz gibi. • bzip2 dosya_adi/dizin_adi Dosya/dizin sıkıştırır. dosya.bz2 gibi. • tar -zcvf dosya_adi/dizin_adi Dosya/dizin önce tar dosyası yapar sonra gzip ile sıkıştırır. dosya.gz gibi. Açma Komutları • gunzip dosya.gz Dosya/dizin açar. • bunzip2 dosya_adi.bz2 Dosya/dizin açar. • tar -zxvf dosya_adi.gz dosya_adi.tgz Dosya/dizin açar. Kullanıcı Hesapları • useradd kullanici_adi Kullanıcı hesabı ekler. • passwd kullanici_adi Kullanıcı parolası tanımlanır. (root yetkisi) • userdel kullanici_adi Kullanıcı hesabını siler. Kullanıcı Grupları • groupadd grup_adi Yeni grup oluşturur. • groups kullanici_adi Kullanıcının ait olduğu grupları listeler. • gpasswd –a kullanici_adi grup_adi Bir gruba kullanıcı ekler. • gpasswd –d kullanici_adi grup_adi Kullanıcıyı gruptan siler. Ağ Arayüzü • ifconfig Ağ arayüzünü (Ethernet kartı gibi..) yapılandırır.. • ifconfig eth0 up Aygıtı başlatır. • ifconfig eth0 down Aygıtı durdurur. Dosya İzinleri • Tüm dosyalara erişim izni root kullanıcısınındır. • Temel olarak dosya izin hakları (yetkilendirme) 3 bölüme ayrılır. • Dosya hakları; • u Sahibi (user) • g Grubu (grup) • o Diğerleri (others) • a Herkes (all) Dosya İzin Kaynakları • Temel 3 kaynak vardır. • w yazma (write) • r okuma (read) • x çalıştırma (execute) • Bütün dosyalar için erişim yetkilerini değiştiren komut (change mod) chmod ‘dur. • chmod parametreler dosya/dizin Dosya Hak ve Yetkileri Diğerleri o Sahibi u Grubu g Okuma r 400 040 004 Yazma w 200 020 002 Çalıştırma x 100 010 001 Toplam 700 070 007 777 Dosya İzin Örnekleri • chmod 700 deneme.txt deneme dosyasının sahibine okuma, yazma ve çalıştırma izni verilmiştir. • chmod 050 deneme.txt deneme dosyası grubuna okuma ve çalıştırma izni verilmiştir. • chmod 653 deneme.txt deneme dosyası sahibine okuma, yazma, grubuna okuma, çalıştırma, ile diğerlerine yazma ve çalıştırma izinleri verilmiştir. Dosya İzin Listesi • Bir örnek; • ls –l drwxrw-r-- DeneDizini -rwxrw-r-- deneme.txt En baştaki d bir dizin(klasör) olduğunu belirtir. d | rwx | rwx | rwx dizin | u | g | o u sahibi (user), g grubu(grup), o diğer(other) Dosya İzin Listesi • rwx | rwx | rwx u | g | o u sahibi (user), g grubu(grup), o diğeri(other) (r read-okuma, w write-yazma, o others-diğerleri) • u+r sahibine okuma izni ekler. • g=r grubunun izinlerini siler ve salt okunur. • o-r diğerlerinden okuma iznini kaldırır. • + ekler, - çıkarır, =değiştirir. Dosya İzin Örnekleri • chmod 754 deneme.txt veya • chmod u+rwx, go+r, g+x deneme.txt Her iki yazım şeklinde de dosya Sahibine okuma, yazma ve çalıştırma, Grup ve diğerlerine, okuma, Gruba çalıştırma izini verilmektedir. • Sonuç olarak aşağıdaki gibi görüntülenir; ls –l -rwxr-xr-- deneme.txt Dosya/Kullanıcı/Grup • chown komutu dosya/dizin sahipliğini değiştirmektedir. • chown kullanici_adi dosya/dizin_adi • chgrp komutu dosya/dizin ilişkili grubun sahipliği değiştirir.(dosyanın grubunu değiştirir.) • chgrp grup_adi dosya/dizin_adi Kapanış Komutları • exit Konsoldan çıkmayı sağlar. • Shutdown, reboot, Ctrl + Alt + Del Sistemi kapatmayı veya yeniden başlatmayı sağlar. Kaynaklar - Linkler • • • • Linux.org Linux.org.tr Pardus.org.tr distrowatch.com • • • • Gnu.org Gnu.org/copyleft/gpl.html opensource.org/licenses/GPL-3.0 Unix.org Teşekkür / Sorular / İletişim.. • Dinleme zahmetine katlandığınız için teşekkür ederim.. • Sorularınız..? • Okutman Murat KARA • Ç.Ü. Enformatik Bölümü • mkara@cu.edu.tr