FreeBSD Nasıl Kurulur?

Adanali

Member
BSD çekirdeği denildiğinde birinci akla gelen dağıtımlardan FreeBSD olağan bilgisayarlarımızdan sunuculara, oradan da PlayStation üzere oyun konsollarına kadar çok geniş yelpazede kullanılan işletim sistemlerinden biri. kuvvetli network yapısı, stabilitesi ve sorunsuz yapısıyla kurumsal yapılarda çok tercih ediliyor. macOS temeli olan Darwin çekirdeğinde ve Windows’un TCP/IP altyapısında şahsen BSD kodlarından yararlandığını biliyor muydunuz?

Tarihçesine baktığımızda da birinci vakit içinderda Kaliforniya Berkeley Üniversitesi tarafınca AT&T’nin orjinal UNIX kaynak kodları kullanılarak geliştirilen BSD, ondan sonrasındaları kendi başına bir sistem çekirdeği olacak kadar gelişim göstermişti. Açık kaynak ve özgür olması niçiniyle ironik bir biçimde AT&T’nin BSD geliştiricilerine geliştiricilerin kendi özgün kodlarını göstererek dava açtığı görülmüştü.

Çoğu sefer Linux ile karşılaştırılmasına rağmen, büsbütün farklı bir yapıya sahip. Kullandığı C kütüphaneleri, çeşitli yardımcı araçların neredeyse hepsi GNU yerine Berkeley tarafınca geliştirilmiş yazılımlardan oluşuyor. Bu çekirdek kelam konusu olduğundaysa çoklukla birkaç dağıtımdan kelam edilir. Bunlardan en bilinenleri NetBSD ve FreeBSD’dir. NetBSD, 1993 yılında birinci kullanıma sunulan dağıtımlardan biri olması ve 57 farklı mimariye dayanak vermesiyle bilinirken, gelişmişlik ve kullanıcı dostu olma tarafından bakıldığında FreeBSD daha önde geliyor denebilir.

Biz de bu yazımızda FreeBSD nasıl kurulur ayrıntılıca değinmeye çalışacağız. Çünkü fark ettik ki, FreeBSD’nin son kullanıcının kullanabileceği biçimde nasıl kurulacağını anlatan Türkçe kaynaklar ya yok ya da olanlar da olağan kullanıcı için olmaktan çok farklı hedeflere uygun biçimde yazılmış. Şayet yazımızın başından sonuna kadar ayrıntılıca okursanız heyetim ve temel kullanım hakkında biroldukça bilgiye sahip olacaksınız. Lafı hayli uzatmadan başlayalım.

Kurulum yapabilmemiz için en evvel FreeBSD’nin resmi web adresinden bize uygun olan ISO belgesini edinmemiz gerekiyor. Bunun için ilgili web sitesine gidiyoruz ve “Download FreeBSD” veya “Get FreeBSD” yazan butonlardan birine tıklıyoruz. Her ikisi de bizi birebir sayfaya gdolayıyor.

Burada en bize İngilizce olarak kısa kısa birtakım bilgiler verirken, biraz aşağısında indireceğimiz evraka ilişkin sürüm bilgisi ve işlemci mimarilerini görüyoruz. Yalnızca hazır kurulmuş sanal makineleri deneyimlemek isteyenler “Virtual Machine Images” seçeneğinden çeşitli tiplerde disk kalıpları edinebilirken, Raspberry Pi üzere aygıtlara heyetim yapacaklar “SD Card Images” kısmından uygun mimariyi seçmeliler.

Biz olağan bilgisayarımıza heyetim yapacağımız için “Installer Images” kısmında yer alan ISO evraklarına göz atacağız. Burada 10 adet birbirinden farklı işlemci mimarisine değiniliyor ancak bizim konutlarımızda yer alan günümüz bilgisayarlarında yalnızca 3’ünü kullanıyoruz. Bunlar; “amd64”, “i386” ve “armv7” diyebiliriz. i386 yani Intel 386 mimarisi 32-biti, AMD64 masaüstü tarafındaki 64-biti (x86-x64), armv7 ise ARM mimarisine uyumlu olduğunu gösteriyor. Muhtemelen yeni kuşak bir Apple Mac aygıt kullanmıyorsanız ve 2003 daha sonrası bir işlemciye sahipseniz bilgisayarınız 64-bit takviyelidir. Bu niçinle bizim kuracağımız sistem “amd64” olacak. Buna tıklayalım ve devam edelim.


Sayfada ISO, “.XZ” ve CHECKSUM formatında farklı farklı evraklar olduğunu görüyoruz. Bizi ilgilendiren ise yalnızca “.iso” uzantılı olanlar. Bu sebeple karşımızda ise “disc1” ile “dvd1” olmak üzere iki seçenek var. “disc1” bir sistemin kurulması için en temel paketleri içerirken, “dvd1” için biraz daha internete bağlı olması pek mümkün olmayan ortamlara uygun olarak tasarlanmış epey sayıda paket içeren sürüm diyebiliriz. “dvd1” kalıbına gereksinimimiz yok, “disc1” sistemi kurmak ve kullanmak için çok kâfi bir imaj. Seçelim ve indirmeyi başlatalım.

İndirme bittikten daha sonra USB belleğimize yazdırıp heyetime geçmeden hemilk öncesinde belge bütünlüğünü doğrulamamız gerekiyor. Bunu her belge için eşsiz olan “hash” bedellerini karşılaştırarak yapacağız. bir daha tıpkı sayfaya gelip “CHECKSUM.SHA256” ile başlayan belgeye tıklayıp indiriyoruz.

Normal koşullarda bir Linux sistem kullanıyorsanız bu belge ile direkt ISO’nuzun bütünlüğünü denetim edebilirsiniz. Lakin ben şu anda Windows kullandığım için ilgili “checksum” evrakını not defteri ile açıyorum ve aradığım yepyeni hash bedellerine ulaşıyorum.

ondan sonrasındasında ise tek yapmam gereken ISO belgesine sağ tık yapıp 7-Zip CRC SHA menüsünden SHA256 bedelini hesaplatıp iki kıymeti karşılaştırmak. Not defterindeki kıymet ile 7-Zip’in gösterdiği aynıysa belgemiz düzgün bir biçimde inmiş demektir. Artık USB belleğimize yazdırıp suram basamağına geçebiliriz.


Eski tip DVD yahut USB yoluyla, hangisi olduğu fark etmeksizin bir işletim sistemi kuracağımız vakit, edindiğimiz ISO evrakını “bootable” yani “önyüklenebilir” bir biçimde yazdırmamız gerekiyor. Aksi biçimde bilgisayarımız rastgele bir önyüklenebilir ortamdan başlamadığı için suramı gerçekleştirmemiz mümkün olmuyor.

BSD ve biroldukca Linux dağıtımı kelam konusu olduğunda belleğe yazma süreci için benim önerdiğim tek yazılım Win32DiskImager diyebilirim. Daha evvel Rufus ve BalenaEtcher ile süreç yaptığım biroldukca Linux ve BSD suram belleğinin kusurlu yazım yaptığını gördüğümden, Windows harici imajları yazdırmak için pek tavsiye etmiyorum. Sizler daha evvel deneyimlediğiniz farklı programlar var ise onları da tercih edebilirsiniz. Bu sebeple anlatımı Win32DiskImager üzerinden yaptım.

Win32DiskImager’i resmi olarak yayınlandığı SourceForge adresinden edinip heyetimi gerçekleştirelim.


Kurulum daha sonrası program açılırsa kapatın. USB belleğinizi çabucak hemen bağlamadıysanız bilgisayara takın ve tekrar çalıştırın. Win32DiskImager her ne kadar takılı belleği kendisi algılayıp sürecin gerçekleşeceği şoföre ilişkin uygun harfi seçse de, öteki disklerinizin silinme ihtimaline rağmen bir daha de denetim etmenizde yarar var.


Her şeyden emin olduğumuzda ISO belgemizi yazdırmak için klasör işaretine basıyoruz. Karşımıza her zamanki belge seçme ekranı geliyor ancak burada yalnızca “.img” uzantılıların işaretlenebildiğini görüyoruz. halbuki bizim işimiz ISO ile, yani işaretlediğimiz kısmı “*.*” olarak değiştirip kalıbımızı seçiyoruz. Merak etmeyin, Win32DiskImager sağlıklı bir biçimde ISO yazma yeteneğine sahip.


Artık tek yapmamız gereken şey Write butonuna basarak belleğe yazma sürecini başlatmak. USB bellekteki bütün bilgilerin silineceğine dair verilen uyarıyı da onayladıktan daha sonra süreç bitene kadar ne bilgisayara, ne de USB belleğe dokunmadan beklemeniz en düzgünü olacaktır. Müddet bilgisayarınızın ve belleğinizin suratına nazaran değişiklik gösterebilir. USB 3.0 ile ortalama 1-2 dakika sürecektir.

Artık heyetime büsbütün hazırız.

USB belleğimizi yazdırdıktan daha sonra çıkartalım ve ardından bilgisayarımızı kapatalım. yine açmadan evvel hazırladığımız flash belleğin ve kablosuz temas kullanıyorsak suram esnasında büyük ihtimalle Wi-Fi kartımız tanınmayacağı için internet kablosunun takılı olduğundan emin olalım.

Kuruluma başlayabilmek için bu evrede tıpkı Windows konseyimi yapar üzere hazırladığımız medyadan “boot” etmemiz gerekiyor. Bunun için boot menüsüne erişmeniz gerekiyor. Menüye erişmek için basmanız gereken tuşlar ise anakart üreticisine ve modeline bakılırsa değişebilmekte. Sizler kendi bilgisayarınızda hangi tuşu kullanmanız gerektiğini bilmiyorsanız hazırlamış olduğumuz “Boot Menüsü Kısayol Tuşları Veritabanı” mevzumuza göz atabilirsiniz.

Ben süreçleri sanal makine üzerinden gerçekleştirmeyi tercih ettim, çünkü gerçek bilgisayarımda suram yaparken pek kaliteli imgeler çekmem haliyle mümkün değil. Siz heyetim yaparken de rastgele bir farklılık olmayacaktır.

Boot sürecini gerçekleştirdikten daha sonra aşağıdaki üzere bir ekranla müsabakanız gerekiyor. Burada sabırla 10 saniye boyunca bekleyelim. Kendisi suram ekranına bizi yönlendirecek.


Nihayet yükleyicideyiz, sağ-sol yahut TAB tuşlarını kullanarak Install‘a gelip “ENTER” ile devam edelim.


Bu ekranda bize klavye sistemimizi seçmemiz gerektiğini söylüyor. Hangi lisan ve cinsten klavye kullanıyorsak aşağı-yukarı ok tuşlarıyla o lisana gelip “SPACE” yani “boşluk” tuşuyla işaretlemeyi yapalım ve “ENTER” diyelim. Ben Türkçe Q klavye kullandığım için bunu seçiyorum.


Klavye nizamını seçtikten daha sonra seçimin başarılı olup olmadığından emin olmak için test etmemiz gerekiyor. “ENTER” diyerek devam edelim ve deneyelim. Bastığımız tuşlar düzgün bir biçimde yazılıyorsa sorun yok demektir. Ancak kimi Türkçe karakterler ? halinde gözükebilmekte.



Bizi yenidendan klavye sistemi menüsüne attı, en üstteki Continue with tr.kbd keymap seçeneğine gelip “ENTER” diyoruz. Tabi öncesinde alt taraftaki seçim menüsünün Select kısmında olduğundan emin olun. Cancel yazan seçenek seçimlerimizi iptal eder. Bu kısımda “TAB” ile gezinebilirsiniz.”


Kurulum bize makinemizin ağda tanımlanabilmesi için bir hostname yazmamız gerektiğini söylüyor. Şayet kurumsal ortamdaysanız ve bir domaine dahilseniz buraya bilişim yöneticinizin dediğini, kolay mesken ortamındaysanız da ileride kullanıcı hesabı için belirleyeceğiniz isim hariç istediğiniz rastgele bir şey yazabilirsiniz. Ben akilgundogan biçiminde adımı soyadımı yazdım.


Belki de FreeBSD kurarken en epeyce dikkat etmemiz gereken yerlerden birine geldik. Karşımızda 7 adet seçenek bulunuyor. Bunların ne olduğunu özetlemek gerekirse açıklayacak olursak;

  • base-dbg: Olağan kaideler altında “base” sistemi oluşturan yapıdır diyebiliriz. Sonunda eklenen “-dbg” ibaresi ise debugging yapacaksanız bu seçeneği de kurmanız gerektiğini gösteriyor. Bizim şu an bu biçimde bir şeye gereksinimimiz yok, aslına bakarsanız var iseyılan olarak “base”i kurmama üzere bir lüksümüz olmadığından olağan hali burada seçenek olarak sunulmamış.
  • kernel-dbg: İşletim sisteminde kod parçaçıklarının donanım üzerinde koşmasına yardımcı olan low-level yazılıma “kernel” yani çekirdek diyoruz. Kernel şayet olmazsa bir işletim sistemi çalışmaz. Burada ekstra debug çıktılarını da bize gösterdiği için “kernel-dbg”ı seçmeyi tercih ettim çünkü rastgele bir yanılgı yaşamamız durumunda çıktılar bize çok yardımcı olacak.
  • lib32 ve lib32-dbg: Windows’un bilakis BSD ve Linux çekirdeği kullanan x64 (x86-x64/AMD64) işletim sistemleri 32-bit yazılımları çalıştırmak için ek uyumluluk kütüphanelerine gereksinim duyarlar. FreeBSD’de bu “lib32” sayesinde sağlanır. Bu seçeneği işaretlemezseniz 32-bit programları kullanamazsınız. “-dbg” olanı ise başkalarında olduğu üzere debug çıktıları sunuyor, kurmamıza gerek yok.
  • ports: FreeBSD’de yazılımları uyumlu, düzgün bir biçimde kurabilmemizi sağlayan paket yöneticisine misal yapıya “ports tree” deniliyor. Sıkıntısız bir heyetim ve tecrübe için işaretlemekte fayda var.
  • src: Sistemin kaynak kodlarını oluşturan dizin ağacını dahil eder, şahsen gerek olmadığını düşünüyorum.
  • tests: Rastgele bir teste gereksinimimiz olmadığından kurulmasını istemiyorum.
Normal bir kullanıcı için aşağıdaki işaretlemeler kâfi olacaktır. çabucak sonrasında “ENTER” ile devam edelim.


Disk yapılandırması kısmına geldik. 4 seçenek var, biz sırf birinci ikisinden birini seçeceğiz. ZFS belge sistemini kullanmak isteyenler birinciyi seçebilir. Ben ZFS kullanmayı tercih etmediğim için ikinci seçenek olan Auto (UFS) olanı seçeceğim. Otomatik disk yapılandırması seçeneğinin diskinizin tamamını sileceğini unutmayın. Şayet “dual boot” usulü bir heyetim yapacaksanız Manual sekmesinde gerekli kısımları oluşturmalısınız.

Ben direkt yalnızca FreeBSD yüklemek istiyorum. Bu yüzden yalnızca bir adet işletim sistemi kuracak biçimde adımları gerçekleştireceğim.


da0 olarak gözüken diskimizin FreeBSD’ye uygun kısımların oluşturulması için sıfırlanacağını ve belgelerimizin büsbütün silineceğini belirten bir ikazla karşılaştık. Şayet farklı bölümlemeler yahut “dual boot” heyetim yapacaksanız Partition, olağan biçimde diski silip devam edecekseniz Entire Disk diyebilirsiniz. Ben direkt sıfırlayıp devam ediyorum.


Disk kısmımın çeşidini seçmemiz gerekiyor. Şayet bilgisayarınız UEFI destekliyorsa GPT, desteklemiyorsa MBR seçmeniz gerekiyor. OK diyerek çabucak sonrasında devam edelim.


Gerekli bölümlemeleri otomatik olarak yaptı ve karşımıza getirdi. Finish dersek hepsi onaylanacak ve suram başlayacak. Ancak ben bu türlü heyetim yapmak istemiyorum, “swap” alanını biraz daha yükselteceğim. Swap’ı Windows sistemlerdeki sanal bellek alanı üzere düşünebilirsiniz. Olağan koşullar altında sistemi kurmak için oluşturmak pek kural olmasa da, RAM yetmediğinde yahut bilgisayar uykuya geçtiğinde sorun yaşanmaması için RAM miktarınızın iki katı kadar olması tavsiye edilir.

Burada otomatik olarak kendisi 1 GB oluşturmuş, ben sanal makineme 2.5 GB’a yakın RAM verdiğim için “swap” alanı da en az 2 GB olsun istiyorum. Aslında stabil olması için 5 GB yapmam gerekir ancak şimdilik bu biçimde oluşturacağım, heyetim daha sonrası daha büyük alan ayırmak istersek bunu yapmamız mümkün.


“TAB” tuşuyla Delete kısmına gelelim ve aşağı üst tuşlarıyla kısımları seçerek silelim. Yalnızca freebsd-boot kısmının kalması kâfi. Geriye kalanları biz kendimiz oluşturacağız. Bunun için bir daha “TAB” ile Create‘e gelip “ENTER” diyelim.


İlk oluşturacağım “partition” yani disk kısmı sistemi kuracağım alan olacak. Burada Type kısmını düzgün bir biçimde yazmanız ehemmiyet arz ediyor çünkü hangi cinsten disk kısmı (swap, depolama, boot) oluşturduğunuzu heyetim buna göre anlıyor. “Size”a ise kaç GB ayırmak istiyorsanız onu yazmalısınız.

Mountpoint ise sistemde oluşturduğumuz kısmın ne olarak kullanılacağını belirlememizi sağlıyor. / yaparak bu disk kısmının root folder olmasını istiyorum. Şayet /tmp ve /var üzere alt dizinleri farklı disklere dağıtmak istiyorsanız onun için farklı kısımlar oluşturabilirsiniz. Ben farklı kullanımları pek sevmediğimden tercih etmiyorum. Yaptığım biçimde oluşturduğunuz kısımda sistem büsbütün tek ünitede / altında yer alacak.


İkinci kısmı ise “swap” alanı olarak ayırıyorum. Type olarak bu niçinle freebsd-swap yazmamız gerekiyor. Boyutu ortalama 2GB veriyorum ve Mountpoint‘i boş bırakarak OK diyerek devam ediyorum.


Disk bölümleme süreçlerimiz bitti, artık Finish diyerek konseyimi başlatabiliriz.


Disk yapısı üzerinde değişiklikler yapılacağı ve belgelerin kalıcı olarak silineceği belirtiliyor. Üç seçeneğimiz var; Commit diyerek devam etmek, Revert & Exit ile eski haline çevirip çıkmak, Back ile menüye dönmek.

Biz Commit diyoruz. Bu adımdan daha sonra nihayet heyetim başlayacak. USB belleğiniz, diskiniz ve işlemcinize bağlı olarak belgelerin kopyalanma suratı değişebilir ancak fazlaca uzun sürmediği söylenebilir.



Dosyaların kopyalanması bittikten daha sonra karşımıza bu biçimde siyah bir ekran çıkacak. Root kullanıcısına ilişkin parolanın belirlenmesini istiyor. Türkçe karakterler kullanmadan unutmayacağımız kuvvetli bir parola yazalım. Yazdığınız parola rastgele bir biçimde *** ile yahut olağan gözükmeyecek bu niçinle biraz daha dikkatli olmalısınız.


Ağ ayarlarımızı yapılandırmamız için network arayüzümüzü seçmemiz gerekiyor. Sizde Wi-Fi teması gözüküyorsa bağlayabilirsiniz, gözükmüyorsa da olağan kablolu kontaktan devam edebilirsiniz. Sistem açıldıktan daha sonra gereksiniminiz olan şoförleri kurarak bu sorunları aşabiliyorsunuz.


IPV4 standardına uygun bir biçimde ağ konfigürasyonunu yapalım mı diyor. Yes diyoruz.


DHCP üzerinden otomatik olarak IP adresi atamak isteyip istemediğinizi soruyor. Şayet mahallî ağınızda sabit IP belirlemek istiyorsanız No, modeminizden otomatik olarak alsın diyorsanız Yes seçeneğinden devam etmeniz gerekiyor.



Bu sefer IPv6 protokolüne uygun ayarlamalar yapmak isteyip istemediğimizi soruyor. Halihazırda ülkemizde biroldukça operatör IPV6 desteklemediği için ben No diyerek devam ediyorum. TurkNet gibi müşterilerine IPV6 sunan bir internet servis sağlayıcı kullanıyorsanız Yes seçeneğinden ilerleyebilirsiniz.


Burada bağlı olduğumuz tesir alanı ve DNS yapılandırmamızı ayarlamamızı istiyor. Mesken kullanıcısı olduğumuz için Search‘ı olduğu üzere bırakıyoruz. DNS adresi olarak da tercih ettiğiniz rastgele bir DNS olabilir. Ben Google DNS kullanmak istedim. Burayı boş bırakırsanız yahut yanılgılı bedellerle doldurursanız internette gezinirken girdiğiniz domain IP adresine çözümlenemeyeceği için sitelere erişemezsiniz. Bu sebeple kıymetli bir ayar olduğunu hatırlatalım.



Şimdi de bölgemizi seçmemiz ve tarih saat ayarlarımızı yapmamız gerekiyor. Türkiye Avrupa olarak geçtiği için Europe‘a geliyoruz ve Turkey diyoruz.



+03 saat biçiminin bize uyup uymadığını söylüyor. Kabul ederek devam edelim. Türkiye GMT+3 yaz saati dilimini kullanıyor.


Gün, ay, yıl seçimini yapıyoruz. aslına bakarsan internete bağlıysanız otomatik olarak kendisi bu bilgiyi çekiyor.


Burada vakti 3 saat ileride kadar gösterebiliyor. Suram daha sonrası ayarlanabilecek kıymetsiz bir ayrıntı olduğu için Skip yahut Set Time diyerek ilerleyebiliriz.


Sistem açılışında hangi servislerin başlatılacağını bizlere soruyor. Burada karşımızda bir daha 7 adet seçenek var. Tek tek göz atacak olursak;

  • local_unbound: Lokal DNS önbelleklerini kullanmayı sağlar. İnternet servis sağlayıcılarınıza güvenmiyorsanız bu seçeneği işaretleyerek DNS sorgularınızın localinize dönüp yanıtlanmasını sağlayabilirsiniz. Ben bu biçimde bir özelliğe gerek duymadım, esasen Google DNS’lerini “Network Configuration” basamağında seçmiştim.
  • sshd: SSH protokolünün kullanılması için gerekli olan servis. Bu protokol, bilgisayarınıza uzaktan inançlı bir biçimde erişip terminal komutlarını çalıştırabilmenizi sağlar. Telnet’in şifreli ve inançlı halini düşünün, “sshd” ise bunu sağlayacak olan servis. Kurmayı tercih ediyorum.
  • moused: FreeBSD birinci kurulduğunda rastgele bir masaüstü ortamıyla gelmediği için konsolda fare kullanmak istiyorsanız bu servisi işaretlemelisiniz.
  • ntpdate: Sistem ve ağ saatinizi önyükleme vaktinde otomatik olarak senkronize etmeye yarayan bir özellik. NTP ismi verilen protokolü kullanır. Muhtaçlık duymadığım için işaretlemiyorum ama işaretlense de bir sorun olmaz.
  • ntpd: “ntpdate” servisine emsal olarak birebir işi sistemin olağan çalışması sırasında yapan bir daemon (sistem süreci) diyebiliriz. Ben seçmedim lakin isteğe bağlı olarak kullanılabilir.
  • powerd: İşlemci frekansını dinamik olarak ayarlamaya yarayan bir servis. Şayet işlemciniz destekliyorsa gereksinime göre düşük yahut yüksek frekans suratlarıyla bilgisayarınızı kullanarak güçten tasarruf edebilirsiniz. Laptoplarda işe yarayan bir özellik olsa da ben kullanmayı pek tercih etmiyorum.
  • dumpdev: Sistem kernel’ı üzerinde yaşanan muhtemel çökmeler ve yanlışların dökümlerini /var/crash altında saklar. Rastgele bir sorun olması durumunda bu dökümlere bakarak tahlil üretilebilir. Bu niçinle dumpdev seçeneğini işaretlemekte fayda var diye düşünüyorum.
Kendimize uygun seçimleri yaptıktan daha sonra “OK” diyerek heyetimde ilerleyebiliriz.


Kurulumun nihayet sonlarına yaklaştığımızı gösteren “System Hardening” evresindeyiz. Bu kademe bizlere sistem güvenliği için aktifleştirebileceğimiz 11 hoş özellik sunuyor. İsterseniz bunların ne ne olduğunu süratlice açıklayalım.

  • hide_uids: Öbür kullanıcılardan bâtın bir biçimde süreçler başlatabilmeye fayda. Bildiğiniz üzere FreeBSD üzere Unix-like dağıtımlar bir sistem üzerinde birfazlaca kullanıcının çalışmasına uygun biçimde geliştirilmiştir. Birtakım kullanıcıların oburlarının görmesini istemeyeceği kapalılık ve kıymete sahip “process” yani süreçler olabilir. Bu özellik çalıştırılan servislerin ve yazılımların gizlenmesinde yardımcı olabilir. Benim bu biçimde bir özelliğe mesken kullanıcısı olarak şahsen gereksinimim yok. İstemediğim bir ele geçirilme durumu yaşarsam da bu özellik yüzünden saldırgan art planda benden bâtın süreçler yürütebilir. Bu niçinle işaretlemedim.
  • hide_gids: “hide_uids” özelliğinin yaptığının birebirini yapar lakin tek bir farkla, süreçlerin muhakkak kullanıcı kümelerinden gizlenebilmesini sağlar. Tek makine üzerinde çalışan farklı kullanıcı kümelerine sahipseniz ve birbirlerinin süreçlerini görmesinler istiyorsanız bu seçeneği faal edebilirsiniz. Konut kullanıcısı için bir daha gereksiz olduğunu söylemeliyim.
  • hide_jail: FreeBSD bilhassa sunucu olarak pek fazla kullanılan bir işletim sistemi olduğundan bu stil kullanımlarda haliyle korsanların amacı de olabiliyor. Bir sunucu üzerinde çalışan birden çok servisten rastgele birisi ele geçirilirse oburlarının de etkilenmemesi için çoklukla sistem yöneticileri tarafınca “jail” ismi verilen bir yapı kullanılır. Jail’ler bir nevi alt sistem üzere çalışırlar. Bu seçenekteki özellik yardımıyla art planda çalıştırılan kimi süreçler jail’lerden gizlenebilirler. Sunucu kuruyorsanız güvenlik manasında faydalı olabilir lakin olağan kullanıcıya hitap etmiyor.
  • read_msgbuf: Yetkisi olmayan kullanıcıların “dmesg” aracıyla kernel çıktılarını görüntülemesini engelleyen bir seçenek. Çok kullanıcılı ortamlarda güvenlik açısından işe fayda ama mesken kullanımlarında ferdî olarak pek önerdiğim söylenemez.
  • proc_debug: Yetkisiz kullanıcıların süreçleri debug etmesini pürüzler.
  • random_pid: Yeni oluşturulan süreçlerin rastgele PID numaralarına sahip olmasını sağlar. İsteğe bağlı olarak seçilebilir.
  • clear_tmp: Sistem her açıldığında /tmp dizinini otomatik olarak temizler. Zımnilik açısından birtakım durumlarda yarar sağlayabilir lakin ben gereksinim duymuyorum.
  • disable_syslogd: Sistem loglarının dağıtılmasını ve kaydedilmesine yarayan “syslogd” aracının ağ üzerinden bağlantı kurmasını maniler. Kurumsal ortamlar kelam konusu olduğunda sistemdeki sıra dışı hareketler “syslogd” sayesinde toplanan loglarla anlaşılabilir. Bu seçenek işaretlendiğinde “syslogd” yazılımı -ss parametresiyle çalıştırılarak ağ üzerinden ilişki kurması engellenir. Mesken kullanıcısı için açılmış yahut açılmamış pek kıymeti yok diyebiliriz.
  • disable_sendmail: Sendmail servisini devre dışı bırakmaya fayda.
  • secure_console: Bu seçeneği etkinleştirmeniz durumunda şayet tek kullanıcı ile sistemi önyüklerseniz “root” parolasını girmenizi ister.
  • disable_ddtrace: “ddtrace” Dinamik olarak servislerin ve sistemin durumunu izlemeye yarayan bir müddetçtir. Bu seçeneği işaretlemeniz durumunda “ddtrace” kapanır.
  • enable_aslr: Address Layout Randomization ismi verilen bellek güvenliği özelliğini etkinleştirir. ASLR’nin ne işe yaradığını açıklayacak olursak şu biçimde örnek verebiliriz, olağan kurallarda programlar daima tıpkı adres nizamına sahip bir biçimde çalışırlar. Yazılımı debugger üzerinde çalıştırdığınızda tıpkı komutların her seferinde farklı adreslerde çalışmaya başladığını görüyorsanız ASLR’nin kullanılmış olduğunu söylemek mümkündür. 64-bit Windows sistemlerde var iseyılan olarak desteklenen programlarda kullanılması için etkinken, FreeBSD üzere BSD türevlerinde kapalıdır. Etkinleştirmek için bu seçeneği işaretleyebilirsiniz. Arabellek taşması stili güvenlik açıklarından büsbütün olmasa da bir nebze korunmanızı sağlar.
Ben bu ayarlardan hiç birini açmaya gerek duymadım. Direkt ilerleyeceğim.


Daha evvelde root kullanıcısına ilişkin bir parola belirlemiştik, artık de olağan işlerimiz için yeni bir kullanıcı hesabı oluşturmamız gerekiyor. Yes diyerek devam edelim.


Burada bizden kimi bilgiler isteyecek. Username kısmına kullanıcı ismimizi, Full Name‘e isim soyisim bilgimizi, Login group olarak belirtilen birinci seçeneği boş bırakıp ikincisine wheel yazıyoruz. Bu küme yeri geldiğinde root yetkilerine yükselebileceğimizi söz etmesi bakımından kıymetli. Öteki seçeneklerin hepsini olduğu üzere bırakıp “Enter” ile devam ediyoruz.

En son parolamız girmemiz için Enter password diye soracak. “root” parolasını belirlerken yaptığımız üzere parolamızı girerken bize girilip girilmediğini gösteren rastgele bir belirteç olmadığının altını çizelim. Bu niçinle düzgün bir biçimde yazdığınızdan emin olup parola belirleme sürecinden daha sonra da var iseyılan ayarları koruyarak “Enter” ile devam edin.


En son bize yenidendan girdiğimiz ayrıntıları kabul edip etmediğimizi gösteriyor. Buna yes tabiri ile karşılık verirken öbür kullanıcı eklemeyi isteyip istemediğimiz sorusuna ise no diyerek “Enter”a basıyoruz.


Kurulumun sonlandığını gösteren ekran karşımıza geldi. Exit diyerek çıkalım.


El ile yeni sistem açılmadan evvel chroot ortamında son düzenlemeleri yapmak isteyip istemediğimizi soruyor. Yes diyelim. Bir ayar yapmayacak olsak da sistemi açmadan hemilk evvel birtakım terminal komutlarını denemiş oluruz.


Yaptığımız konfigürasyon değişikliklerini kaydedip çıkmak için exit yazıp “ENTER”a basıyoruz.


Kurulumun bütün evrelerinin tamamlandığını gösteren bir ekran karşımıza geliyor. Live CD modundan devam etmek istiyorsanız ilgili seçeneği, olağan sistemi başlatmak istiyorsanız da Reboot diyin. Bilgisayar kapanıp açıldıktan daha sonra FreeBSD’den başlayacak.


Sistem açılırken karşımıza bu biçimde bir ekran gelecek. “1” diyerek FreeBSD’yi başlatalım.


Bizden kullanıcı ismimizi ve şifremizi girmemizi isteyecek. Girdikten daha sonrasında CLI ortamına düşeceğiz. FreeBSD dahili olarak rastgele bir masaüstü ortamıyla gelmediği için bunu kendimiz kurmak zorundayız.


İşlemlerimize başlamadan evvel internet temasımızı denetim edelim. ping google.com komutu ile Google’a ping isteği gönderiyorum. Yanıtlanıyorsa kontağımızda bir sorun yok diyebiliriz. CTRL+C ile durdurabilirsiniz.


su komutu sayesinde root hesabımın şifresini girerek root yetkilerine ulaşıyorum. Bu kullanıcı Unix-like sistemlerde en yüksek haklara sahip olan zat diyebiliriz. Sistemde şimdi her değişikliği yapmanıza imkan tanıdığı için root halinde işletim sistemini kullanmak güvenlik manasında pek risklidir. Biz Linux dağıtımlarından alışkın olduğumuz sudo isimli aracı kurup yapılandırarak bu sorunu aşacağız. Muhtaçlığımız olduğu durumlarda root olmak yerine halihazırdaki kullanıcımızla sudo kullanarak yetki isteyen komutları yürütebileceğiz.

FreeBSD’de haşir neşir olacağımız paket yöneticisi pkg. pkg install sudo diyerek aracımızın kurulumunu gerçekleştiriyoruz. Karşımıza çıkan seçeneklerin hepsine y diyerek devam ediyoruz. Şayet uğraşmak istemiyorsanız komutu -y parametresiyle pkg install -y sudo halinde yazmanız durumunda size sormadan hepsine y yanıtı verilip heyetim gerçekleşecektir.


Aynı biçimde pkg install nano diyerek Nano metin editörümü de kuruyorum. Masaüstü ortamını çalıştırmak için gereken yapılandırma evraklarını düzenlerken sık sık bu araçtan faydalanacağız.


Bu adımları yaptıktan daha sonra exit diyerek “root” kullanıcısından çıkalım. sudo su diyerek olağan kullanıcımızın yetki düzeyini yükseltmeye çalıştığımızda “sudoers” evrakına ekli olmadığını söyleyen bir yanılgı alacağız. Bu evrakımızı düzenlemek için için yenidendan su diyerek “root” oluyoruz ve visudo komutunu giriyoruz.

Açılan Vi editör sayesinde “sudoers” evrakını güncelleyebiliriz. root ALL=(ALL:ALL) ALL yazan satırın çabucak altına akil kullanıcısını akil ALL=(ALL) ALL biçiminde ekliyorum. Son “ALL” sözünden hemilk evvelki boşluğu “TAB” tuşu ile bırakabilirsiniz.

Bunu en sıradan haliyle açıklayacak olursak akil kullanıcısının sudo kullanarak yüksek haklarla her komutu çalıştırabilmesine imkan tanıyor. Aslında bu biçimde yapmayıp çabucak alttaki # %wheel ALL=(ALL:ALL) ALL satırının başındaki # işaretini kaldırarak wheel kümesine da bu müsaadesi verebilirdik. Çünkü heyetim kademesinde hatırlayacak olursanız kullanıcımızı wheel kümesine eklemiştik. Ben daha denetim edilebilir olduğu için direkt kullanıcımı yetkilendirmeyi tercih ettim.

Değişikliklerimizi kaydedip Vi editörden çıkmak için evvel klavyeden ESC’ye bastıktan daha sonra : işaretini yapıp wq yazarak enter basalım.


Artık sudo su komutu sayesinde kendi kullanıcımızı kullanarak yüksek yetkilere ulaşabiliyoruz.


Masaüstü ortamını kurabilmek için öncesinde bir imaj sunucusuna sahip olmamız gerekiyor. İmaj sunucuları işletim sistemlerinde ekrandaki manzaralar ve pencerelerin çizildiği, haberleşmenin sağlandığı en temel yapı diyebiliriz. Linux ve BSD dağıtımlarında ekseriyetle bu iş için sağlıklı çalışmasından ötürü X.Org tercih edilir. Biz de FreeBSD sistemimize Xorg kuracağız.

pkg install xorg komutuyla manzara sunucusu kurulumunu gerçekleştiriyoruz. Çok sayıda paket indirip yükleyeceği için biraz uzun sürebilir, çayımızı kahvemizi alıp sabırla bekliyoruz.


Xorg konseyimi bittikten daha sonra, kullanıcı hesabımızı masaüstü ortamı heyetimi daha sonrası sağlıklı bir biçimde başlayabilmesi için görüntü kümesine almamız gerekiyor. FreeBSD’de kullanıcıları özel bir kümeye pw groupmod GrupAdı -m KullanıcıAdı biçiminde ekleyebiliyorsunuz.

pw groupmod görüntü -m akil komutu ile muvaffakiyetle görüntü kümesine hesabımı dahil ediyorum. Sistemi bir daha başlatıp id diyerek denetim ettiğimizde sürecimizin muvaffakiyetle gerçekleştiğini doğrulamış oluyoruz.


Bütün bu süreçleri yaptıktan daha sonrasında, tercih ettiğimiz bir masaüstü ortamı kurmamız gerekiyor. Ben MATE sevdiğim için rehberde anlatımı bu DE üzerinden yapmayı tercih ettim. Öbürleri için de gereken süreçler kısmen değişebilmekle birlikte sıklıkla benzeri.

pkg install -y mate komutunu veriyorum.


Şimdi de sistem açıldığında siyah ekranla karşılaşmamak ve masaüstü ortamını manuel olarak başlatmak zorunda kalmamak için bir “oturum yöneticisi” kuracağız. Benim tavsiyem “slim” olacaktır, hem yavaşça tıpkı vakitte oturum yöneticisi özelinde konfigürasyon için ekstra bir şey yapmanız gerekmiyor. pkg install -y slim. Paket yüklendikten daha sonrasında bize rc.conf içerisinde birtakım düzenlemelerde bulunmamız gerektiğini söylüyor.


nano /etc/rc.conf ile sistem başlatılırken çalışacak olan komutları düzenleyelim. var iseyılan haliyle fotoğraftaki üzere bir rc.conf evrakına sahibiz.


Biz buraya hem “slim” için tıpkı vakitte MATE’in düzgün çalışması için üç satırlık bir ekleme yapacağız. Bunların ne olduğunu kısa bir biçimde açıklayacak olursak;

  • dbus_enable: Çeşitli arayüzler (interfaces) içinde proseslerin irtibat kurabilmesini sağlayan bir sistem servisidir. örneğin X imaj sunucusu üzerine kurduğunuz masaüstü ortamında pencerelerin ve programların düzgün bir biçimde çalışmasını “dbus” sağlar. Bu özellik ise D-Bus’ın etkin hale gelmesini sağlar.
  • hald_enable: Sistemin donanımı kullanabilmesi için gerekli olan erişimi sağlayan özelliğe HAL (Hardware Abstraction Layer) denilir. D-Bus ile irtibat kuran programlar, “hald” ile donanımda çeşitli fonksiyonları yerine getirirler. Örneğin bir flash bellek taktığınızda yahut çıkardığınızda, eski bilgisayarınızda CD yuvasını açtırdığınızda bu işi Unix-like sistemlerde HAL görür. Etkin hale getirmek için bu seçeneği de “YES” olarak düzenlemeliyiz.
  • slim_enable: Kurmuş olduğumuz Slim oturum yöneticisini etkinleştirmek için kullandığımız özellik.
Ayarları aşağıda gördüğünüz üzere yaptıktan daha sonra CTRL + S ve CTRL +X klavye kombinasyonlarıyla editörden çıkabilirsiniz.


Sistemi bir daha başlatıp kullanmaya başlamadan hemilk evvel son bir süreç yapmamız gerekiyor. X sunucusunun init (UNIX gibisi sistemlerde sistem kapanana kadar çalışmaya devam eden servis) konfigürasyon belgesine masaüstü ortamını başlatacak komutu girmeliyiz. Aksi biçimde “slim” oturum yöneticisi bizi karşılayacak ancak kurduğumuz MATE açılmayacaktır.

Bunun için nano .xinitrc diyoruz ve içerisine exec mate-session yazıp CTRL +S, CTRL +X ile kaydedip çıkıyoruz.


Artık sistemi reboot komutuyla bir daha başlatıp grafik arayüzümüze kavuşabiliriz.

Oturum yöneticisi bizi karşıladığında kullanıcı ismimizi ve çabucak sonrasında parolamızı girelim. Türkçe karakterleri kabul etmeyebilir, bu durumla karşılaşırsanız parolanızı İngilizce klavye sistemine nazaran girerseniz sorun ortadan kalkacaktır.


MATE karşımızda. Bu haliyle biraz ilkel gözükse de düzenlendiği taktirde epey şahane bir masaüstü ortamı olduğunu söyleyebilirim. aslına bakarsan bu biçim özgür yazılımların en hoş yanı istediğiniz üzere özelleştirebilmeniz.


Arka planı değiştirip ayarlardan ekstra bir tema yüklemeden şu biçimde ortalama bir manzara elde etmek mümkün. Bütün adımları eksiksiz uyguladıysanız, tebrikler. Birinci FreeBSD sisteminizi kurdunuz.


Uzaktan bakıldığında FreeBSD üzere text-based konseyime sahip ve biraz Unix bilgisi isteyen işletim sistemlerinin yüklenmesi çok güç bir şey üzere gözükür. Fakat aslında hiç de o denli değil. Anlatım boyunca yaptığımız bütün adımlar dikkat ederseniz önümüze gelenleri okuyup uygun seçeneği seçmek ve birkaç program yüklemekten ibaret. Ancak bunun bile beşere hayli şey kattığını söyleyebiliriz. Şayet rehberi büsbütün sabırla okuyup uyguladıysanız, BSD’ler ve genel olarak Unix gibisi sistemler hakkındaki biroldukca temel bilgiyi artık biliyorsunuz.

Sıfırdan FreeBSD kurmayı, hangi güvenlik ayarlarının hangi durumlarda kullanılması gerektiğini, çeşitli sistem servislerini aktifleştirmeyi ve yalnızca CLI olan bir sisteme nasıl masaüstü ortamı kurabileceğinizi öğrendiniz. Umarız ki faydalı olmuştur. Tenkitleriniz için yorum yazabilir, sorularınız için Technopat Sosyal’de mevzu açabilirsiniz.