Linux Dosya Sistemi (Filesystem)

9 Haz

Linux dosya türlerini tanıdıktan sonra anlaşılması gereken diğer konu dosya sistemidir. Linux veya Unix işletim sistemlerinde tek bir kök dizin (root directory) bulunur. Windows işletim sisteminde partition sayısına bağlı olarak C, D, E gibi birden fazla kök dizin bulunabilmektedir. Ancak Linux ve Unix işletim sisteminde tüm dosya ve dizinler tek bir kök dizin altında hiyerarşik olarak bulunurlar. Kök dizin “/” karakteri ile temsil edilmektedir. Sürücü bölümleri, kök dizinin altındaki dizinlere monte edilir.

  • /
    • /bin
    • /boot
    • /dev
    • /home
    • /lib
    • /media
    • /mnt
    • /opt
    • /proc
    • /proc
    • /root
    • /sbin
    • /srv
    • /sys
    • /tmp
    • /usr
    • /var
    • /lib64

/bin (Temel kullanıcı komutları)

Linux işletim sisteminin bir parçası olan ve tüm kullanıcılar tarafından yürütülebilir programları içerir. Cat, cp, ls, more ve tar gibi birçok Linux komutu bu dizinde bulunur.

/boot (Sabit önyükleme dosyaları)

Kernel ve bootloader dosyalarını içerir.

/dev (Aygıt dosyaları)

Aygıt dosyalarını içerir.

/etc (Konfigürasyon noktaları)

İşletim sistemine özel konfigürasyon dosyalarını içerir.

/home (Kullanıcı ana dizinleri)

Kullanıcılara ait ana dizindir. Örneğin kullanıcı adı “bayram” olan bir kullanıcı için sistemde /home/bayram şeklinde bir dizin mevcuttur.

/lib (Temel paylaşılan kütüphaneler)

32 bit sistemler için kernel modülleri ve paylaşılan program kütüphanelerini içerir.

/media (Takılıp çıkarılabilir medya)

Bilgisayara takılıp çıkarılabilir medya aygıtlarının bağlandığı alt dizinleri içerir. Örneğin, Linux sisteminize bir CD yerleştirdiğinizde, /media dizininde otomatik olarak bir dizin oluşturulur ve bu dizinin üzerinden CD’nin içeriğine erişebilirsiniz.

/mnt (Geçici bağlanma noktaları)

Boş bir dizindir. Geçici olarak monte (mount) edilen dosya sistemleri için kullanılan bir dizindir. Montaj, bir dosya sistemini sistem tarafından kullanılabilir hale getirme işlemidir. Standart bağlama noktaları /mnt/cdrom ve /mnt/floppy şeklindedir.

/opt (İsteğe bağlı paketler)

İsteğe bağlı yazılım paketleri için alt dizinler içerir. Genellikle derlediğiniz yazılımların bulunduğu yerdir. Uygulamalar /opt/bin dizininde ve /opt/lib dizinindeki kitaplıklarda bulunur.

/proc (Kernel ve işlem dosyaları)

Sistem durumu ve işlemlerin durumlarını içerir. /dev gibi sanal bir dizindir. Bilgisayarınız hakkında, CPU’nuz ve Linux sisteminizin çalıştırdığı çekirdek gibi bilgiler içerir.

/root (Kök giriş dizini)

Bu dizin, superuser olan ve administrator olarak bilinen root kullanıcısına ait ana dizindir. root kullanıcısının dosyaları /home yerine burada bulunur.

/sbin (Sistem yönetim dosyaları)

Sistem binary komutlarını içerir. Superuser kullanıcısının çalıştırabileceyi uygulamaları içerir. Bu uygulamaları sudo komutu ile kullanabilirsiniz.

/srv (Servis verisi)

Sistem tarafından sunulan hizmetler (HTTP, FTP vb.) İçin veri içerir. Linux kutunuzdan bir web sunucusu çalıştırıyorsanız, siteleriniz için HTML dosyalarınız /srv/http (veya /srv/www) içine gider. Bir FTP sunucusu çalıştırıyorsanız, dosyalarınız /srv/ftp‘ye gider.

/sys

Linux çekirdeği tarafından görüldüğü gibi, aygıtlar hakkında bilgi içeren özel bir dizin.

/tmp (Geçici dosyalar)

Uygulamalar geçici dosyaları /tmp dizininde depolar. Bu dosyalar genellikle sisteminiz her yeniden başlatıldığında silinir ve tmpwatch gibi yardımcı programlar tarafından herhangi bir zamanda silinebilir.

/usr (Kullanıcı dosyaları ve salt okunur Veriler)

Sistem tarafından kullanılan uygulamaların ve dosyaların aksine, kullanıcılar tarafından kullanılan uygulamaları ve dosyaları içerir. Örneğin, temel olmayan uygulamalar /bin dizini yerine /usr/bin dizininde bulunur ve temel olmayan sistem yönetim ikili dosyaları /sbin dizini yerine /usr/sbin dizininde bulunur.

/var (Değişken veri dosyaları)

Zaman, sayı ve boyut olarak zamanla değişme eğilimi olan log, mail dizinleri, yazdırma kuyruğu biriktirme gibi çeşitli sistem dosyalarını içerir.

/lib64

64 bit sistemler için kernel modülleri ve paylaşılan program kütüphanelerini içerir.

Linux Dosya Türleri

8 Haz

Linux ve Unix öğrenirken bilinmesi gereken önemli konulardan biri dosya sistemidir.

Anlamamız gereken ilk şey, Linux ve Unix’in genel olarak, donanım birimleri de dahil her şeye bir dosya olarak davranacak şekilde tasarlanmış olmasıdır. Linux işletim sistemi çalışırken, gerekli olan dosyayı açar okur veya yazar ardından da kapatır. Her şeye dosya olarak bakıldığından dolayı dosya sistemine ait standartlar oluşturulmuştur.

Regular (Normal)

Normal dosyalar genel olarak html, text, word veya çalıştırılabilir dosyalardır.

Directory (Dizin)

Linux işletim sisteminde dizin, diğer dosya türlerini tutmak veya işaret etmek için özel olarak tasarlanmış bir dosya türüdür.

Link (Bağlantı)

Linux / UNIX sistemlerinde iki tür link (bağlantı) vardır.

  • Soft/Symbolic Link: Bir dosya veya dizinin dolaylı bir göstergesidir. Sabit bağlantının aksine, sembolik bağlantı farklı bir dosya sistemindeki veya bölümdeki bir dosyayı veya dizini işaret edebilir. Windows işletim sistemindeki bir kısayol gibidir.
  • Hard Link: Sabit bir bağlantıyı mevcut bir dosya için ek bir ad olarak düşünebilirsiniz. Sabit bağlantılar iki veya daha fazla dosya adını aynı inode ile ilişkilendirir. Çok fazla tercih edilmez.

Special (Aygıtlara özel)

  • Character File: Tek karakterlik girişi kabul edereler. Klavye Giriş/Çıkış işlemleri, yazıcı, teyp sürücüsü veya terminal gibi gerçek bir fiziksel aygıtı temsil etmek için kullanılır.
  • Block File: Sabit disk gibi depolama aygıtlarını gösterir.
  • Pipe File: Uygulamalar arasında bilgi göndermeye izin verir. Bir uygulama, başka bir uygulamaya bilgi gönderecekse pipe file kullanır.
  • Socket File: Pipe file gibi çalışır. Ancak bilgi alışverişinin ağ ortamında yapıldığında devreye girer.

Temel Linux Bileşenleri

7 Haz

Linux işletim sistemin nasıl çalıştığını anlamak için, Linux temel bileşenlerini bilmek gerekmektedir.

Kernel (Çekirdek)

Bir işletim sisteminin çekirdeği ve en temel birimidir. Her işletim sisteminde sadece bir tane Kernel bulunur. Ağırlıklı olarak C programlama dili ile geliştirilmiş programlardan meydana gelmiştir. Kernel, bilgisayar donanımı ile doğrudan iletişim kurar. Kernel’in işletim sistemindeki bazı temel görevleri:

  • Kullanıcının yetkili bir kullanıcı olup olmadığını kontrol etmek.
  • Çalıştırılan programları izlemek ve her programa belirli bir zaman ayırmak..
  • Sistemdeki dosyalar için depolama alanı atamak.
  • Shell programlarını çalıştırmak.
  • Bilgisayarlar ve terminaller arasında bilgi aktarımı yapmak.

Shell (Kabuk)

Linux işletim sistemi, komutları klavyeden bilgisayara aktarmak için shell bileşenini kullanır. Shell de C programlama dili ile yazılmış bir programdır. Kullanıcı programları ve kernel arasında tercüman görevi görür. Kullanıcı komutlarını eyleme dönüştürür. Shell, komutları alan ve uygun programı yürüten ya da çekirdeğin anladığı yönergelere çeviren bir programdır.

Shell kullanıcılarla etkileşime girerken, kernel makinenin donanımıyla etkileşime girer.

Örneğin shell, klavyeden girdiğimiz “ls” komutunu kernel tarafından anlaşılabilecek bir formata dönüştürür.

Linux’ta varsayılan shell bash’tir.

User Programs (Kullanıcı Programları)

Linux işletim sisteminde bir takım araçlar vardır. Bu araçlar, işletim sisteminin kullanımını kolaylaştırmak amacıyla üçüncü şahıslar veya firmalar tarafından yazılmış kullanıcı programlarıdır. Bu araçlar, programlama, iş uygulamaları ve Office, vi gibi kelime işleme uygulamaları şeklinde gruplandırılabilir.

Ubuntu 18.04 üzerine PostgreSQL 12 kurulumu

17 May

PostgreSQL veritabanı, Linux gibi tamamen ücretsizdir ve açık kaynak kodludur. Bu yazıda Linux Ubuntu 18.04 dağıtımı üzerine PostgreSQL kurulumu anlatılmaktadır.

Ubuntu 18.04 dağıtımı üzerine Postgresql 12 kurulumu yapmak için öncelikle repository paket versiyonunu kontrol etmek gerekmektedir. Repository paket kontrolünün nasıl yapıldığına bir önceki yazıdan ulaşabilirsiniz.

PostgreSQL Kurulumu

Ubuntu sürümünüzde bulunan PostgreSQL sürüm istediğiniz sürüm değilse, güncellemek için PostgreSQL Apt Repository kullanılabilir. Bunun için öncelikle yapılması gereken:

/etc/apt/sources.list.d/pgdg.list

dosyası oluşturmaktır. Bu dosyanın içerisine aşağıdaki satır eklenmelidir.

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

Daha sonra depo imzalama anahtarını (signing key) içe aktarılmalı ve paket listeleri güncellenmelidir.

sudo apt-get update

Artık ortam postgresql 12 yüklemesi için hazır durumdadır. Yükleme komutu:

sudo apt-get -y install postgresql-12 postgresql-client-12

Yükleme tamamlandığında, postgresql servisini başlatmak için gerekli komut:

sudo systemctl start postgresql

artık servis durumu kontrol edilebilir.

sudo systemctl status postgresql

PostgreSQL Bağlantısı

PostgreSQL kurulumu sonrasında Ubuntu kullanıcılarına postgres adında bir sistem kullanıcısı otomatik olarak oluşturulur. Başlangıçta, diğer kullanıcılar oluşturulana kadar bu kullanıcısı ile PostgreSQL’e bağlanmanız gerekir.

sudo su postgres

komutu ile postgres kullanıcısına geçilerek psql komutu çalıştırıldığında artık veritabanı komutlarını kullanabilirsiniz.

\l

komutu ile veritabanları listelenebilir.

\c postgres

komutu ile postgres veri tabanına bağlanabilirsiniz. (Kurulum sırasında postgres veritabanı otomatik olarak oluşturulur.)

Postgresql veritabanını konsol ortamından yönetmek biraz kullanışsızdır. Bunun yerine pgAdmin, Datagrip gibi araçlar tercih edilmelidir.

PostgreSQL Remote Ayarları

Postgresql sunucusu dışından bağlantı yapabilmek için uzak bağlantı ayarlarını yapmak gerekmektedir. Bu ayarlar aşağıdaki dosyada bulunmaktadır.

/etc/postgresql/12/main/postgresql.conf

Bu dosya vim editörü ile açılarak

listen_addresses = '*'

satırı açık konuma getirilmelidir.

Daha sonra,

etc/postgresql/12/main/pg_hba.conf

dosyasında ip tanımlaması yapılmalıdır. (hba: host based authentication)

  • “host   all   all   212.0.103.8/32   md5″ şeklinde ayarlama yaparsanız istediğiniz tek bir adresten erişim sağlayabilirsiniz. Bu ip dışından bağlantı sağlanamaz.
  • “host   all   all   0.0.0.0/0          md5″ şeklinde ayarlama yaparsanız herhangi bir ip üzerinden sunucuya bağlanabilirsiniz. Burada password authentication kimlik doğrulama yöntemi ve  md5 algoritması kullanılmıştır. (Postgresql veri tabanında ayrıca trust, ident, peer, GSSAPI, LDAP kimlik doğrulama yöntemleri de mevcuttur.)

(Postgre

Bu ayarların yapıldıktan sonra aktif olabilmesi için postgresql servisinin yeniden başlatılması gerekmektedir.

sudo systemctl restart postgresql

Artık veritabanına uzak bağlantı sağlanabilir.

Ubuntu repository paketi sürüm kontrolü

16 May

Window gibi işletim sistemlerinde, kullanmak istediğimiz programlar exe, msi gibi paketler halinde dağıtılırken, Ubuntu gibi sistemlerde, ihtiyacınız olan programlar ve kitaplıklar .deb dosyalarında paketlenir ve dağıtılır. Bu dosyalar indirilebilir veya CD ortamında size gelebilir.

Ubuntu gibi sistemlerde “repository” diye adlandırılan paket depoları mahiyetinde kullanılan sunucular bulunmaktadır. Bu depolarda bulunan paketlere genellikle Synaptic gibi araçlarla erişirsiniz. Bu araçlar, sisteminizde yüklü olan paketleri ve depoda yüklemeye hazır durumda bulunan paketlerin listeler.

Ubuntu kurulduğunda mevcut Synaptic repository listesinde, kullanıcılara gerekli olan  programların o güne kadar güncellenmiş sürümleri bulunmaktadır. Ancak programlar işletim sistemlerinden daha hızlı gelişim gösterebilmektedirler. Ubuntu ortamına kurulmak istenen bir program “apt-get install” komutu ile yüklenirse, listedeki son sürümü indirip yüklenir. Bu nedenle, bir programı yüklemeden önce versiyon kontrolü yapmak faydalı olabilir. Örneğin postgresql versiyon kontrolü için kullanılacak komut şu şekildedir:

apt-cache policy postgresql

Bu komut çalıştırıldığında, sistemdeki postgresql durumunu listeler.

  • Listede 3 farklı sürümden bahseder. Bunlar;  10.13-1.pgdg18.04, 10.12-0ubuntu0.18.04.1 ve  10.3-1. Ayrıca hangi depolardan geldiklerini de gösterir.
  • Installed (none) bilgisi bize sistemde yüklü bir postgresql kurulumu olmadığını gösterir.
  • Candidate bilgisi, şu anda apt-get install komutu çalıştırıldığında yüklenecek sürüm bilgisini verir.

Ubuntu yeni kullanıcı ekleme işlemleri

12 May

Ubuntu ortamında kullanılan “sudo” komutu, “super user do” anlamına gelmektedir. Yani sudo komutunu kullanmak için yönetici yetkilerine sahip olmak gerekmektedir. Bir kullanıcının super user olması için “sudo” grubuna dahil olması gerekmektedir. Öncelikle bir kullanıcı oluşturulması gerekmektedir.

1. Giriş

sudo yetkili kullanıcıların oluşturulabilmesi için öncelikle root kullanıcısı ile ya da root yetkili bir kullanıcı ile giriş yapmak gerekmektedir.

ssh root@server_ip_address

2. Kullanıcı hesabı oluştur

Yeni kullanıcı oluşturmak için adduser ve useradd komutları kullanılır.

useradd ve adduser komutları arasında ne fark var?

useradd , aslında sistemle derlenmiş yerel bir binary dosyadır. adduser ise arka tarafta useradd binary dosyasını kullanan bir perl script’tir.

2.1  adduser komutu ile kullanıcı ekle

Yeni kullanıcı oluşturma işlemi adduser komutu ile yapılmaktadır. Örneğin bucuncu adında bir kullanıcı oluşturmak için gerekli komut aşağıdaki şekildedir.

adduser bucuncu

Komut çalıştırıldığında aşağıdaki işlemler gerçekleştirilerek kullanıcı hesabı ve dosyaları oluşturulur.

root@localhost:~# adduser bucuncuAdding user `bucuncu’ …
Adding new group `bucuncu’ (1001) …
Adding new user `bucuncu’ (1001) with group `bucuncu’ …
Creating home directory `/home/bucuncu’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for bucuncu
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y

Parolayı girdikten sonra, kullanıcı için otomatik olarak bir giriş dizini oluşturur, giriş dizinindeki birkaç yapılandırma dosyasını kopyalar ve yeni kullanıcının bilgilerini ayarlamanız istenir. Tüm bu bilgileri boş bırakmak istiyorsanız, varsayılanları kabul etmek için ENTER tuşuna basmanız yeterlidir..

adduser komutu, kullanıcı hesabının otomatik bir şekilde oluşturan, kullanıcı dostu bir komuttur.

2.2 useradd komutu ile kullanıcı ekleme

useradd komutu, parametreler kullanarak kullanıcı oluşturma işlemi için kullanılan komuttur.

useradd bucuncu -m -s /bin/bash -g users -G dbusers

Bu komut ile kullanıcı oluşturulurken, kullanıcı için gerekli olan tüm parametreler elle girilmelidir.

  • -m parametresi: –create-home anlamına gelir ve eğer daha önce oluşturulmamış ise home/bucuncu dizinini oluşturur.
  • -s parametresi: –shell anlamına gelir. Kullanıcının shell de oturum açması için gereklidir. Bu paramtreyi kullanmadan bir kullanıcı oluşturursanız, /etc/passwd içerisinde kullanıcıyı bucuncu:x:1000:1000::/home/bucuncu:/bin/sh şeklinde bulunur. Bu şekilde oturum açtığınızda terminalde yalnızca $: şeklinde bir terim görürsünüz. Eğer bu parametreyi kullanırsanız, /etc/passwd içerisinde kullanıcıyı bucuncu:x:1000:1000::/home/bucuncu:/bin/bash şeklinde görebilirsiniz. Bu şekilde oturum açtığınızda terminalde komut satırını bucuncu@localhost:~# şeklinde görebilirsiniz.
  • -g parametresi: –gid anlamınag elir. Yani grup id olarak adlandırılabilir.
  • -G parametresi: –groups anlamına gelir. Kullanıcıyı birden çok gruba eklemek için gereklidir.

useradd komutu için gerekli bütün parametrelere buradan ulaşabilirsiniz.

3. Kullanıcıyı sudo grubuna ekle

Ubuntu sistemlerinde varsayılan olarak, sudo grubunun üyelerine sudo erişim yetkisi verilir. sudo grubunda olmayan kullanıcılar sudo komutunu kullanamazlar. Çünkü sudo komutu yönetici yetkilerine sahip işlemler için gereklidir.Oluşturulan kullanıcıyı sudo grubuna eklemek için usermod komutu kullanılır.

usermod -aG sudo bucuncu

4. Yeni kullanıcı ile giriş yap

Oluşturulan yeni kullanıcı ile giriş yapmak için gerekli komut aşağıdaki şekildedir.

ssh bucuncu@localhost

5. Kullanıcı şifresini değiştir

Kullanıcı şifresini değiştirmek için:

sudo passwd bucuncu

komutu kullanılabilir. Komut çalıştığında iki defa yeni şifre girmeniz istenir.

Sonuç

Sudo yetkilerine sahip bir kullanıcı oluşturmayı görmüş olduk. Bu işlemi gerçekleştirirken  useradd ve adduser komutlarının kullanılabileceğini ve bu komutlar arasındaki farkları öğrenmiş olduk. Artık bu kullanıcı hesabıyla Ubuntu sunucunuza giriş yapabilir ve yönetici komutlarını çalıştırmak için sudo komutunu kullanabilirsiniz.

Linus Torvalds’ın Meşhur E-posta’sı

24 Nis

Linux işletim sisteminin temelini atan Linus Torvalds, bunu 28 yıl önce mütevazi bir e-posta ile “comp.os.minix” kullanıcı grubuna duyurdu.


Diğer programcılara bir e-posta göndererek ve yardımlarını istedi. O zamanlar, Linux’u GNU gibi büyük veya profesyonel olmayacak bir hobi projesi olarak tanımladı. Orijinal mail buradan ulaşarak okuyabilirsiniz.

Basit bir proje olarak başlatılan Linux projesi, bugün bilişim dünyasını çok önemli noktalara taşımıştır.

Bir sonraki yazıda görüşmek dileğiyle.

Putty Kullanıcı Oturum Bilgileri ile Kısayol Oluşturmak

14 Şub

Putty Nedir?

Putty, windows işletim sistemi üzerinden ssh protokolü ile bağlanılabilen  sistemlere, erişim yapabilmek amacıyla kullanılan bir terminal uygulamasıdır. Program, tek bir exe şeklinde indirilmektedir ve kurulum yapılmamaktadır. Uygulamanın arayüz görünümü aşağıdaki gibidir.

Bu arayüz kullanılarak Linux gibi işletim sistemlerine, terminal aracılığı ile erişebilmek mümkündür. Ancak, birden fazla işletim sistemine erişmek istediğimizde her defasında bu ara yüzden kullanıcı erişim bilgilerini girmek biraz zaman alıcı bir yöntemdir. Putty.exe programı, farklı kısayollar üretilerek birden fazla oturum bilgisi ile kaydedilebilmektedir.

Bu işlem için masa üstüne sağ tıklayarak yeni kısayol oluşturulur.

Kısayol ayarlarında, Putty.exe dosyası seçilir.

Oluşturulan kısayola sağ tıklayarak özellikler penceresinde Hedef bölümüne aşağıdaki şekilde kullanıcı bilgileri girilebilir.

"C:\Program Files\PuTTY\putty.exe" -ssh bayram@172.16.1.110 -pw PaSwOrD

İşlem tamamlanmıştır. Kısayola çift tıklayarak, kullanıcı oturum bilgileri girilmeden direk terminal açılacaktır.

Ubuntu üzerinde Eclipse JEE menü sorunu

24 Kas

Ubuntu üzerinde java çalışmak isteyenlerin kurduğu Eclipse JEE versiyonu  üzerinde yaşayacakları bir sorunun çözümü üzerinde durmak istiyorum. Sanal makinemde kurulu olan ubuntu-13.10-desktop-amd64 sürümlü işletim sistemi üzerine Eclipse JEE versiyonunu kurarak işe başladım. Masaüstüne eclipse kısayolunu oluşturdum. Programı çalıştırdığımda aynı sorunla bende karşılaştım. Sorun, Eclipse açıldığında menülerin gözükmemesiydi.

Eclipse JEE
Eclipse JEE

Resimde de görüldüğü şekliyle üst(File, Edit,…) menü gelmemişti. İnternetten çözüm yollarını biraz araştırdıktan sonra sonuca ulaştım.

Öncelikler Terminal’i çalıştırarak Desktop dizinine geçtim. Yönetici yetkileri ile Eclipse masaüstü dosyasını açtım. Aşağıdaki komut ile masaüstü kısayolu dosyasını açabiliyoruz.

sudo gedit EclipseJEE.desktop

Eclipse Menu Onarımı
Eclipse Menu Onarımı

Açılan desktop dosyası içerisine şu komutu girdim: Ecex=env UBUNTU_MENUPROXY=0 /opt/eclipse-jee/eclipse

Dosyayı kaydedip programı yeniden çalıştırdığımda üst menü göründü.

Windows mu Linux mu?

17 Eyl

İşletim sistemlerine karşı fanatizm boyutunda bir taraf tutma savaşı vardır. Linux taraftarları ve Windows taraftarları topluluklarda ve sosyal medyada kısır tartışma içerisindedir genelde. Bu tür tartışmalara girmeden önce, işletim sistemlerinin neyi hedeflediğini bilmemiz gerekmektedir. Amacımıza uygun işletim sistemini seçebiliyor muyuz diye bir bakmamız gerekir ilk önce. Fakat amaca uygun işletim sistemi nasıl seçilir? Hangi tarafta durmamız gerektiğini nasıl belirlemeliyiz?

Microsoft firmasının Windows işletim sistemini çıkarma amacı ve inancı, gelecekte her evde bir kişisel bilgisayar olmasıydı. Her evde bir bilgisayarın olması demek bir de işletim sisteminin olması demektir. Windows işletim siteminin ev kullanıcılarına dönük yani profesyonellik istemeyen bir ilkesi vardır. Yani herkesin kullanabileceği bir işletim sistemidir Windows. Amacına uygun şekilde yapılmış mı? Bence evet. Öyle olmasaydı çoğunluk Windows işletim sistemini kullanmazdı. Çoğunluğun Windows kullanması belki başka seçeneğin olmamasından kaynaklanıyor diye akıllara gelebilir ama günümüzde başka işletim sistemlerinin de olması Windows işletim sistemini kenara attıramamıştır.

Gelelim Linux tarafına. Linux işletim sistemi, ev kullanıcısından ziyade daha profesyonel kullanıcılara hitap eden bir işletim sistemidir. Linux, kullanıcıya her şeyi hazır olarak sunmaz. Daha fazla bilgi ve emek ister. Programlar kapalı kutular şeklinde değil açık kaynak şeklindedir. Bilgili ve profesyonel olmadan her şey açık kaynak, her şey özgür sloganlarıyla Linux kullanmaya kalkan acemi kullanıcılar, bir ekran kartı sürücüsünü 1 günde yükleyemeyince hayal kırıklığı yaşayabiliyor.

Profesyonel olmak kişinin özgür seçimidir. Bilgisayar sistemleri konusunda belli bir noktaya gelenler ve işletim sistemi çekirdeği seviyesinde çalışma becerisine sahip olan kullanıcılar gayet tabi Linux işletim sistemini seçebilir. Bilgisayar mühendisleri, gömülü istemlere yazılım üretenler için açık kaynak ve Linux biçilmiş kaftandır diyebilirim. Ancak ev kullanıcıları, işletim sistemi seviyesinde çalışacak yazılımlar üretmek isteyenler ve kolayca yazılım üretip kullanmak isteyenler için de Windows kullanmak avantajlı olur diyebilirim.

Linux tarafında duranlar da genelde önce Windows işletim sistemini kullanıp sonra Linux tarafına geçenlerdir. Kabul etmeliyiz ki Windows işletim sistemi olmasaydı çoğumuz bilgisayar sistemlerini geç tanırdık ve birçok kullanıcı da hala bilgisayar kullanamıyor olurdu. Bilgisayarlar şirketlere ve geliri üst seviyede olan insanlara has ürünler olurdu. Ev kullanıcısına ulaşması çok daha uzun seneler alabilirdi. Bu nokta da insanlığı Windows işletim sistemiyle tanıştıran Microsoft firmasının hakkını yememek gerek.

Şeçim sizin…