30 Ocak 2021 Cumartesi

ReactOS - Açık Kaynak Kodlu (Open Source) Windows

ReactOS, aslında Linux’un yaptığı gibi, dünyada bilgisayar dünyasını ve ekosistemini temelinden  değiştirebilecek bir proje, ama tamamlanıp, başarıya ulaşabilirse.


ReactOS, 1996 yılında (evet, 25 yıl önce) başlamış ve halen devam eden bir proje. ReactOS’un amacı Windows ile 100% uyumlu, Windows uygulamalarını ve sürücülerini (drivers) de çalıştırabilen, Windows gibi gözüken ve kullanılan, bedava, açık kaynak kodlu bir işletim sistemi yaratmak. Bir çok kimsenin aklına, bedava ve açık kaynak kodlu diyince, ilk olarak Linux gelmekte. ReactOS, kesinlikle Linux’u temel alan, benzeri yada türevi bir işletim sistemi değil! ReactOS, tersine mühendislik (reverse engineering) ile her şeyi sıfırdan Windows ile 100% uyumlu olacak şekilde yazılan bir işletim sistemidir. Bu projeyi yapan ekibin hayali, Windows’un herkes tarafından bedava olarak indirilip, kurulup, ondan sonra sahip olduğu uygulamaları 100% sorunsuzca kullanabilmesi.
 
Microsoft, sahip olduğu Windows’un kodlarını hiçbir şekilde paylaşmamış ve hep gizli tutmuştur. Tabii ki Windows, Office ve diğer ürünlerinden 100 milyarlarca dolar kazandığı göz önünde bulundurulunca, bu ürünlerini kimseyle paylaşmak, ticari avantajını ve kontrolünü kaybetmek istememesi çok normal bir durum. Sonuçta, Microsoft bir hayır kurumu değil, bütün dünyaca kullanılan ürünlere sahip ticari bir şirket.
 
ReactOS’un 1996 yılından beri (25 yıldır) yazılmasının birçok sebebi var:
 
1. ReactOS’un arkasında yüzlerce, binlerce kişilik bir yazılım ekibi maalesef yok, 1996’dan beri değişen, toplamda 10-20 kişilik bir ekipten söz ediyoruz,
 
2. Bu ekip, çok düşük 5$, 10$, 20$ gibi isteyenlerin bağışta bulunduğu, istemeyenlerin bağışta bulunmadıkları bir gelir modeliyle, bana göre emeklerinin hiç karşılığı almadan, çok özverili şekilde, çok zor bir iş yapıyorlar,
 
3. Neden çok zor derseniz, tersine mühendislik ile elinizde hiçbir bilgi olmadan, kompleks bir sistemin her bir parçasının ne işe yaradığını biraz da deneme, yanılma yoluyla çözmeniz, ve çözdükten sonra aynı işe yapacak parçayı yazılım olarak yapmanız ve tekrar oldu mu diye test etmeniz gerekiyor.
 
4. Bu zor işe, bir örnek vermek gerekirse: Türkiye’deki bütün yollarda dolaşan arabaların yabancıların bilgi, beceri, tecrübe ve sermaye birikimleri ile yapıldığını, yerli üretim dediklerimizin bile sadece montajının yapıldığını, fikri mülkiyet ve telif haklarının yabancılarda olduğunu hatırlatmak isterim. Gerçek anlamda ilk arabanın icadından beri 125-135 yıl gibi bir süre geçtiğini düşünürseniz, üretilmiş, satılan, kullanılan bir ürünün tersine mühendislik ile yapmanın ne kadar zor olduğunu daha iyi anlayabiliriz,
 
5. Tersine mühendislik ile bu zorlu koşullarda proje yapmanın sonuçlarından biri de tabii ki proje süresinin çok uzamasıdır, 1996’dan günümüze 25 yıldır sürmesi de aslında bunun bir göstergesidir,
 
6. Tahmin ediyorum ki, 1996’da proje ilk başladığında o zamanlar piyasada çok kullanılan 2 Windows (Windows NT 4.0 ve Windows 95) sürümünü hedef almıştı, ama geçen sürede hedeflenen Windows sürümlerine bir çok eklemeler (Windows 98, Windows 2000, Windows XP, Windows 7, Windows 8, Windows 10) yapıldı ve projenin özet olarak kapsamı sürekli genişlediği için kesin bir sonuca ulaşarak, tamamlanamadı.
 
Tabii ki bu hiçbir zaman tamamlanamayacak anlamına gelmiyor. Bütün tersine mühendislik projelerinin başlangıcı zorlu ve yavaş olmuştur, zamanla bilgi, tecrübe birikimi sağlandıkça, proje de hızlanacaktır. Şu anki haliyle proje belli bir kıvama gelmeye başlıyor gibi gözüküyor. Eğer ki, Windows 10 uyumluluk seviyesini önümüzdeki 5 yıllık zaman diliminde yakalayabilirse, o zaman ciddi bir mesafe kaydedecekler diyebiliriz. Tabii ki projede az insan çalıştığı için ve bu insanlar neredeyse hiç ödeme almadıkları için proje de haliyle yavaş ilerlemekte. Ama yarın öbür gün birkaç yada birçok firmanın, hatta devletin birleşip para yatırımı yaparak bu projeye destek olup, olmayacaklarını ve projeyi çok fazla hızlandırmayacaklarını bilemiyoruz. Bunu hem projenin gidişatı, başarısı, belli bir “kıvama” gelmesi ve insanların ilgisi belirleyecektir.
 
Her halukarda çok ilginç ve faydalı olabilecek bir yazılım mühendisliği çalışması olan projeye aşağıdaki adresten ulaşabilir, bilgisayarınıza kurulum yada kurmadan denemek için gerekli ISO dosyalarını indirebilirsiniz. Tabii ki, daha sürüm 0.14 olan ve hatalar içerebilecek bu projeyi, sanal bir makinada (virtual machine) test etmenizi öneririm. Böylece bilgisayarınıza ve dosyalarınıza istenmeyen herhangi bir zarar gelmesini de önlemiş olursunuz. Sanal makina olarak, gene bedava olarak indirip, kullanabileceğiniz VirtualBox uygulaması işinizi görecektir.
 
VirtualBox                               : https://www.virtualbox.org/  
ReactOS                                   : https://www.reactos.org/  
ReactOS Ekran Görüntüleri : https://reactos.org/gallery/ 

NTLite ile Windows 10 ISO Kurulum Dosyalarını Değiştirmek

 Sizlere çok başarılı bulduğum başka bir uygulamadan bahsetmek istiyorum: NTLite.


www.ntlite.com adresinden ücretsiz olarak indirebileceğiniz ve kullanabileceğiniz bir uygulamadır. Programın isminin neden WindowsLite yada WinLite olmadığı konusunda da tarihe bilgime dayalı bir tahminde bulunmak istiyorum. Windows 2000’den Windows ürün ailesi “server” (ana bilgisayarlar için) ve “client” (istemci, kullanıcı bilgisayarı için) diye ikiye çok kesin çizgilerle ayrılırdı. Windows NT 4.0 !990’ların sonunda piyasaya sürülmüş bir server ürünüydü. Windows 95 ve Windows 98 ise gene adlarından anlaşılabileceği üzere kullanıcı bilgisayarları içindi. İkisi arasındaki ana fark ise, Windows NT 4.0’nin günümüzdeki kullandığımız Windows 7, 8, 8.1 ve 10’nun atası olmasıdır. Windows 95 ve Windows 98 ise içinde gerçek MS-DOS barındıran, hatta MS-DOS’un üzerine kurulmuş, pek de stabil olmayan işletim sistemleriydiler. Bugünkü modern Windows’larda eski DOS oyunlarını oynayamamamızın sebebi ise Windows 95 ve Windows 98 gibi MS-DOS üzerine kurulmamış, içlerinde barındırmıyor olmalarındandır.

 

NTLite, adından da anlaşılabileceği üzere ilk çıkış amacı sanırım Windows’a ait kurulum ISO’larına entegre edilmiş olarak bulunan gereksiz uygulamaları (Candy Crush Saga gibi oyunları) ve sürücüleri (drivers) kurulumun içinden çıkararak Windows’u “hafifletmekti”. Haliyle zaman içinde uygulamanında tutulmasıyla beraber, geliştirilerek bugünkü haline geldi. Bugünkü durumunda, aşağıdaki listeden de görebileceğiniz üzere, içinde birden çok özelliği barındırmaktadır:

 

-  En son Windows güncellemelerinin download edilerek, Windows ISO kurulum dosyalarına entegre edilmesi,

-  Sürücülerin, uygulamaların ve Windows registry dosyalarının, kuruluma entegre edilmesi,

-  Gereksiz uygulama ve sürücülerin, kurulumdan kaldırılmaları,

-  Hazırlanan Windows ISO DVD’lerinin başlatıldıktan (boot edildikten sonra), kurulumun hiçbir soru sormadan son aşamaya kadar, kurulum yapılan hard disk bölümlendirilmesi de dahil olmak üzere, kendiliğinden yürümesi ve tamamlanmasının sağlanması,

-  Windows ince ayarlarının kurulum ISO DVD’sinde bulunmasının sağlanması

 

Yukarıda belirtildiği şekilde, tamamıyla kendi zevkinize ve/veya ihtiyaçlarınıza göre hazırladığınız Windows ISO kurulumunu, eğer ki 1 DVD’ye (4.7GB) sığmaması durumunda, daha önceki bir yazımda belirttiğim Rufus veya Ventoy ile 4.7GB’lık sınırlamaya bağlı kalmadan USB flash belleğe atabilirsiniz.

25 Ocak 2021 Pazartesi

Rufus & Ventoy: ISO Dosyalarını USB Flash Bellekten Başlatmak

Bildiğiniz yada fark etmiş olduğunuz üzere, Internet’ten indirdiğimiz çeşitli uygulamaların ISO’ları her geçen gün boyut olarak artmakta. Bu ISO’lar arasın çeşitli Linux, Windows işletim sistemleri yada bilgisayarınız açılmadığı zaman kullanabileceğiniz otomatik onarma, yedekleme, yedekten geri dönme uygulamaları olabiliyor. Örnek olarak, bu yazı yazıldığı zaman en son sürüm olan, Windows 10 20H2 ISO’sunu Microsoft’un resmi web sitesinden aşağıdaki adresten indirdiğiniz zaman, belki de şaşırarak, İngilizce sürümünün bir adet standard DVD’ye (4.7GB) sığmadığını göreceksiniz. Türkçe sürümü ise DVD’ye ancak, az bir farkla, sığacaktır. 

https://www.microsoft.com/tr-tr/software-download/windows10ISO 

Eğer ki bilgisayarınızı formatlayarak, baştan kurmak yada birden çok bilgisayara Windows 10 kurmak istiyorsanız, elinizdeki alternatif, pratik çözüm bu ISO’yu bir USB flash belleğe aktarmak ve ilgili bilgisayarları USB’den açmak (boot etmek) üzerine olacaktır. Bu noktada size, 2 tane işini çok iyi program önermek ve farklılıklarından bahsetmek istiyorum:

1. Rufus   https://rufus.ie/  

2. Ventoy https://www.ventoy.net/en/index.html 


 

Öncelikle Rufus ile başlayalım. Rufus elinizdeki herhangi bir bootable (bilgisayarı tek başına açabilen) ISO’yu USB flash belleğe yazacak ve bu flash bellekten bilgisayarınızı açmanıza olanak sağlayacaktır. Bildiğiniz üzere, USB flash bellekler, fiziksel DVD’lere yazılmış ISO’lara göre çok daha hızlıdırlar, hatta DVD’den yüklenmesi 5 dakikayı bulabilen Ubuntu 20.04.1 ISO’su, USB 3.0’a bağlanmış bir flash bellekten 30 saniye altında açılabilmektedir. Rufus sayesinde DVD yazmaktan ve ISO acaba DVD’ye sığacak mı sorunlarından kurtulurken, aynı zaman ciddi bir hızda kazanmaktasınız. Rufus’un tek dezavantajı ise, bir ISO için, ISO’nun büyüklüğünden bağımsız olarak bir adet flash bellek harcamasıdır. Örnek olarak elinizde 32GB veya 64GB bir flash bellek varsa ve ISO’nuz 5GB ise, büyük oranda yeri boşa harcayarak, elinizdeki flash belleği sadece 1 adet ISO için kullanabileceksiniz.



İşte bu noktada, benim Rufus’a göre daha gelişmiş kabul ettğim, Ventoy devreye girmekte. Ventoy’un asıl farkı ise herhangi bir flash belleğin tamamına yakın kapasitesini birden çok ISO için (ISO’ların toplam büyüklüğünün flash bellekten daha az olması koşuluyla) kullanabilmesidir. Bunun için öncelikle Ventoy’u kendi kurulum programı yardımıyla herhangi bir USB flash diske kuruyoruz. Bu kurulum esnasında, flash bellekteki bütün dosyalar silinecek ve özel bir şekilde formatlanacaktır. Akabinde tek yapmamız gereken daha sonra bilgisayarı başlatmak (boot etmek) istediğimiz ISO’ları flash belleğe dosya olarak, içlerini açmadan, kopyalamak olacaktır. Örnek olarak 16GB’lık bir USB flash belleğe aşağıdaki ISO’ların hepsini yüklemek ve ihtiyaca göre istediğimizden bilgisayarı başlatmak mümkün olmuştur:

1. Windows 10 Turkish 20H2
2. Windows 10 English 20H2
3. Ubuntu 20.04
4. Ubuntu 20.04.1
5. Acronis True Image 2018
6. Acronis True Image 2021
7. CloneZilla
8. GPartEd

Gördüğünüz gibi, daha önceden 8 DVD yada 8 adet USB flash bellek gerekecekken, bir adet 16GB flash bellek ile aynı işi yapmak mümkün olmuştur.

22 Ocak 2021 Cuma

UEFI Sistemlerde Ubuntu 20.04 ve Ubuntu 20.04.1 ile İlgili Kurulum ve Multi-Boot Problemleri

Windows’un yanında, çok yaygın kullanılan bir Linux dağıtımı olan Ubuntu (www.ubuntu.com) işletim sistemiyle hobi olarak uğraşıyorsanız veya Ubuntu’yu Windows yerine ana işletim sisteminiz olarak kullanıyorsanız, o zaman Ubuntu’nun 20.04 LTS ve 20.04.1 LTS (Long Term Support) sürümlerini baştan, yani sıfırdan, kurarken kurulumda bazı hatalarla karşılaşabilirsiniz.

Çoğu kimsenin aksine Ubuntu 20.04.1’i (yazının yazıldığı an itibarıyla en son LTS sürümü) deneme amaçlı olarak bir sanal makinaya (VM – Virtual Machine) değil de gerçek bir makinaya kurmaya karar verdim.

Ubuntu sürümlerini kurarken zamandan kazanmak için genelde NVIDIA ve AMD grafik kartları, bazı özel donanımların (Wi-fi, vb…) varolan sürücülerini de normal işletim sisteminin yanında kurulması seçeneği seçtim. Kurulumda %80-%90 civarında sıra bu özel donanım sürücülerine geldiğinde, Internet’ten başarıyla indirilmelerine rağmen, “apt-get” (ya da diğer adıyla “apt”) paket kurma uygulaması hata vererek, bütün kurulumun sonlandırılmasına yol açtı.

Yaptığım 2-3 baştan kurulum denemesinde de aynı sonuçla karşılaşınca, bu sefer www.ubuntu.com resmî web sitesindeki kurulumun dosyalarında hata olduğunu düşünerek, Ubuntu 20.04’ü kurup, ondan sonra 20.04.1’e kurulu işletim sistemi içinden güncellemeyi düşündüm, ama maalesef Ubuntu 20.04 sürümünde de kurulum esnasında aynı problem ile karşılaştım.

Ayrıca, şunu da belirtmek isterim ki, sanal makinalara yaptığım kurulumlarda, hiçbir şekilde bu problemlerle karşılaşmadım. Sanırım bunun sebebi de, NVIDIA ve AMD grafik kartı sürücülerinin zaten sanal makinaların içindeki sanal ekran kartları için geçerli olmamaları ve kurulmamalarıdır.

Ubuntu otomatik hata raporlayıcı ilginç şekilde bu hatanın Ubuntu resmî sitesinde bulunduğu belirtti ve ilgili hatanın sayfasına yöneltti. İyi haber şu ki, Ubuntu firması konudan haberdardı ve Ubuntu 20.04.2 sürümünde hatayı düzeltmek üzere çalışmalara başlamıştı bile.

Ubuntu 20.04.2 sürümü çıkana kadar, son denememde 20.04.1’i özel donanım sürücüleri olmadan / seçilmeden başarıyla kurmayı başardım. Daha sonra ise çalışan işletim sistemi içinden “additional drivers” uygulaması ile NVIDIA grafik kartı sürücülerini sisteme kolayca ekledim.

Bundan sonraki sorun ise, Harici USB 1TB’lık diske kurduğum, Ubuntu 20.04.1’in boot etmesiydi. Ubuntu, GRUB’ı (Grand Unified Bootloader) varsayılan olarak kurmuş, ayarlarını yapmış ve Windows’un olduğu “C:” diskine UEFI dosyalarını kayıt etmiş olmasına rağmen, GRUB düzgün çalışmıyordu. Açılışta komutları benim yazmam gereken bir ekran geliyor ve orada bekliyordu. GRUB’ın bana göre en büyük sorunu çok ince ayar istemesi ve en ufak bir değişiklikte ya da sorunda çalışmamasıydı.

Buna çare olarak, UEFI sistemlerde kurulumu çok kolay yapılabilen ve nedeyse hiç ayar gerektirmeyen REFIND (www.rodsbooks.com/refind/) uygulamasını buldum. REFIND’ı Ubuntu içinden kurduktan sonra, bilgisayarınızı her açtığınızda, sisteminizi hızlıca tarayarak kurulmuş olan işletim sistemlerinin yükleme dosyalarını buluyor ve bir grafik ekranında fare ya da klavye ile seçim yaparak yüklemenizi sağlıyor. GRUB’dan çok daha iyi olduğunu söyleyebilirim.

BIOS (Basic Input/Output System) ve UEFI (Unified Extensible Firmware Interface) Nedir?

Söze ilk önce, BIOS (Basic Input/Output System) ve UEFI (Unified Extensible Firmware Interface) nedir, birbirleri ile benzerlikleri ve farklılıkları nelerdir, anlatarak başlamak istiyorum.

BIOS, UEFI ile kıyaslandığında çok daha eskiye, 1980’lere, dayanan bir teknolojidir ve bu sebeple de bilinirliği çok daha fazladır. Halk arasında “BIOS’a girmek” ve/veya “BIOS’da ayar yapmak” gibi deyimler çok kullanılmakta ve duyulmaktadır.

Neredeyse 2005 yılında UEFI’nin ilk sürümünün bir standard olarak yayınlanmasından beri geçen zamanda, UEFI desteği gelişerek ve yaygınlaşarak günümüzde hemen hemen bütün bilgisayarlarda bulunabilmektedir.

Aslında son yıllarda satılan bilgisayarların büyük kısmında hem BIOS hem de UEFI desteği bulunmaktadır, ama önümüzdeki yıllarda BIOS desteğinin azalacağını, bu karşın UEFI desteğinin artacağını ve sonunda da BIOS desteğinin tamamen ortadan kalkacağını öngörebiliriz.

Aslen BIOS ve UEFI’nin ortak yanlarının, bilgisayar ilk açıldığında, bilgisayar içindeki donanım bileşenlerini tarayarak tespit etmek ve ilk kullanıma hazır hale getirmek olduğunu, söyleyebiliriz. Hem BIOS hem de UEFI yapıları, temelde aynı işlevleri sağlamakla yükümlüdürler. BIOS, 1980’lerden beri birçok alanda artık yetersiz kalan bir yapı haline dönüşmüşken, UEFI 2005’lerden itibaren onun yerini almak için hazırlanmıştır.

Günümüzdeki bilgisayarlarda hem BIOS hem de UEFI yapılarının bulunmasının sebebi, en geniş çapta, geriye doğru uyumlulukta (backward compatibility) gözetilerek, bütün yazılımların çalışmasının sağlanmak istenmesidir. BIOS desteği eski ve yeni işletim sistemleri tarafından hala sağlanırken, UEFI desteği ise nispeten yeni işletim sistemleri tarafından verilmektedir.