Gentoo Linux nedir?
Kurucusu Daniel Robbins'tir, ilk sürümü 31.03.2002 tarihinde yayınlanmıştır.Bu işletim sistemi adını Gentoo (centu) denilen bir penguen türünden almıştır. Gentooyu diğer penguen türlerinden ayıran en önemli özelliği diğerlerine nazaran daha hızlı olmasıdır.Açık kaynak kodlarından derlenerek kurulur, yüklediğiniz paketlerde yine açık kaynak kodlarından kurulur. İsteğe bağlı olarak hazır derlenmiş paketlerde kurulabilir ancak bu Gentoo işletim sisteminin avantajlarını yok saymanız anlamına gelir. Eğer paketleri hazır derlenmiş olarak kuracaksanız CentOS'u tercih etmemeniz için bir sebep yok. Biliyorsunuz ki yazılımlarda kaynak kodu ile kullanıma hazır derlenmiş dosyaları farklı olur. (php veya asp değil ise) Gentoo Linux, Linux dünyasının bize sunduğu açık kaynak kodlarının avantajlarından yararlanabileceğiniz bir dağıtımdır.
Hazır derlenmiş paketler belli bir işlemci veya genel işlemcilerin özelliklerine göre derlenir ve dağıtıma sunulur. Bir diğeri ise kullanmak istemediğimiz özelliklerinin de üzerinde gelmesidir. Örneğin; bir video oynatıcı yükleyeceğiz, bunun MP4 ve Bluetooth özelliklerini hiçbir zaman kullanmak istemiyoruz. Yazılım bir kere derlenirken bu özelliklerle derlenirse, bu özellikler fazla alan, cpu ve ram kaynağı tüketebilir. Bunun anlamı kullanmadığımız özellikler için fazladan kaynak sağlamaktır. Özellikle Linux'ta daha fazla bağımlı kütüphane demektir. Gentoo kaynak koddan derlendiği için bu özellikleri derlemenize gerek kalmaz, çünkü kaynak kodların bu özellikleri derlenmiş hale çevrilmez ve bu tamamen özelleştirilmiş bir sistem demektir. Çok kritik performans gereksinimlerinde kullanılabilecek bir İşletim Sistemidir, her şeyi bilgisayarınızın donanım ve işlemci özelliklerine göre derler.
Gentoo Linux özellikle sunucu sistemlerinde tercih edilebilir.
Peki ama bağımlılıklar?
Linux dünyasına aşinaysanız bilirsiniz ki, istenilen özelliklerde yazılım derlemek bir bağımlılık cehennemi yaratabilir diye düşünebilirsiniz. Endişelenmeyin! Gentoo'nun paket yöneticisi olan "Portage paket yöneticisi" sizin adınıza bunun tüm icabına bakıyor ve size sadece kur/güncelle emri vermeniz kalıyor. Tüm bunların nasıl olduğunu yazımın ilerleyen bölümlerinde anlatacağım.Kendi fikrimi yazmam gerekir ise. Gentoo'yu ilk kurma denemelerine başladığım zaman Linux dünyasına aşinaydım ama derinliklerini pek de bilmiyordum.
Gento; genelde Linux dünyasında tecrübe kazanmış insanların tercihidir.Ben de çoğu şeyi, o zamanlar benim için zor olsa da Gentoo ile öğrendim ve tecrübe kazandım.
Gentonun hız konusuna değinirsek; normal bir kullanıcının bunu anlaması mümkün olabilir de olmayabilir de, çünkü bu kurduğu paketlere ne kadar aşina olduğuyla ilgilidir. Hızı kritik ve yoğun sunucu sistemlerinde kesinlikle hissediliyor. (Özellikle yoğun kullanılıyor diyebileceğim bir php, mysql ve apache web sunucusunda CentOS ile test etmişliğim vardır.) Gentoo bazı durumlarda ilgi isteyen bir İşletim Sistemidir, bir kere kurduğunuzda çalışıyorsa çalışır ancak güncelleme yaparken tedirgin olmak normaldir.
Gentoo'da bir paketin yeni bir sürümü çıktığında kullanıcılar tarafından test edilmeden (Yeni versiyonlar kullanıcılar tarafından Gentoo ortamında test edilir ve hataları olmadığına karar verilir ise Portage'de yayınlanır. En güncelini de (testleri bitmemiş)kullanabilirsiniz ama varsayılan olarak bu özellik kapalıdır.) yüklenmesi kapalıdır (masked), tüm bunlara rağmen derlemelerde hata almayacağınız anlamına gelmiyor. Bu hatalar forumlarda gezmek, çözüm aramak, ilgi göstermek anlamına geliyor. Bu stabil olma açısından avantajdır ama zaman kaybı anlamında da dezantajdır.
Kurulum
İlk önce Gentoo dağıtımını indiriyoruz. Her zaman minimal isoyu tercih edin. Bu en güncel sistemi bize sağlayacaktır. Kurulum ISO dosyasını buradan temin edebilirsiniz:https://www.gentoo.org/downloads/
Ben; AMD64 yani 64 bitlik sürümünü indirdim. Bu arada merak ediyorsanız diye bir bilgi vereyim. 64 mimari sistemlere AMD64 denmesinin sebebi AMD işlemciler olduğu için değil, bu işlemci mimarisini ilk AMD tarafından geliştirildiği ve patenti ile ilgilidir. Yani boşuna INTEL 64 aramayın :)
Bu arada ingilizce ve resmi kurulum dokümanını görmek isterseniz aşağıdaki linki kullanabilirsiniz.
https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation
Bu ISO dosyasını bir CD ye yazın veya bir sanal sunucuda kuracaksanız ISO dosyasını o sunucuya bağlayın. Daha sonra sistemi ISO/CD ile boot edin.
Karşınıza boot: yazan bir ekran gelecektir
Normalde buraya direk gentoo yazıp sistemi başlatabilirsiniz ama bazı özellikleri de yazmadan geçemeyeceğim. Aşağıdaki seçenekleri yazmak zorunda değilsiniz biliyor ve gerekli ise yazınız. Burada kurulum boyunca önceden yapılması gereken özellikleri yazabilirsiniz aşağıdaki tabloda bunların bazılarını vereceğim. İlk sütundakiler komuttur (kernel seçenek).
Kernel | Açıklama |
---|---|
gentoo | Normal kernel ile kuruluma başlama. |
gentoo-nofb | framebuffer desteği olmadan sistemi başlatır. Görüntü işleme ile ilgili bir seçenektir, bilmeden kullanmayınız |
memtest86 | Yerel ramleri test ederek başlatır. |
Donanım Seçenekleri | |
---|---|
acpi=on | ACPI bir gelişmiş güç seçenekleri terimidir, sisteminiz buna kesinlikle ihtiyaç duyuyorsa kullanın. |
acpi=off | Yukarıdakinin tam tersidir. |
console=X | Bu CD için seri konsol iletişimi kurar (COM 9600) |
doapm | APM sürücü driverlarını yükler. |
dopcmcia | PCMCIA kart özelliğini etkinleştirir. Hatırlarsanız eski diz üstü bilgisayarlarda bulunurdu. |
doscsi | SCSI kontrol desteğini etkinleştirir. |
sda=stroke | Eski BIOS sistemlerinde hard disk denetleyici ile ilgili bir özelliktir. |
ide=nodma | CDROM dan okuma zorluğu çekiliyorsa ve IDE olarak bağlı ise bu seçeneği deneyebilirsiniz. |
noapic | Anakartınız eski ise bu APIC özelliği yeni anakartların özelliği olduğundan eğer sorun çıkarsa bu seçeneği yazarak bunu devre dışı bırakabilirsiniz. |
nodetect | DHCP dahil tüm otomatik algılama servislerini kapatır. Bu debug yapmak için kullanılan bir özelliktir. |
nodhcp | Otomatik IP alımını kapatır. |
nodmraid | RAID özelliğini kapatır. |
nofirewire | Firewire özelliğini kapatır. CD ile boot etmekte problem yaşarsanız bunu kullanın |
nogpm | GPM konsol fare özelliğini devre dışı bırakır. |
nohotplug | Bu açılışta hotplug ve coldplug init betikleri yüklenmesini devre dışı bırakır. Bu başarısız CD veya sürücünün hata ayıklaması yapmak için yararlıdır. |
nokeymap | Tuş takımı seçimini devre dışı bırakır.Türkçe klavye kullandığımızdan bizde gerekli değildir. |
nolapic | Tek çekirdekli işlemcilerde APIC özelliğini devre dışı bırakır. |
nosata | SATA modüllerini devre dışı bırakır.SATA sürücü kullanmıyorsanız ve sürücülerde problem yaşıyorsanız kullanın, aksi taktirde disk sürücülerinizi görmeyecektir. |
nosmp | SMP modüllerini devre dışı bırakır. Simetrik çok çekirdekli işlemci ile ilgilidir. |
nosound | Ses özelliğini devre dışı bırakır. |
nousb | USB özelliğini devre dışı bırakır. |
slowusb | USB CD romları yavaşlatıyor gereksiniminin elbette sebebi vardır.(bende çok fazla bilmiyorum.) |
Mantıksal Sürücü Yönetimi | |
dolvm | Linux mantıksal bölüm yönetimini devreye alır. LVM |
Diğer Seçenekler | |
debug | DEBUG modda başlatılır. |
docache | Çalışma zamanında RAM'a /mnt işlemini yapar.RAMda CDROM büyüklüğü kadar alan kaplar. Hızlı bir önbellekleme yapar. Gereklimi? Bence değil. |
doload=X | X yerine modülün adını yazarak ilgili modülün yüklenmesini sağlar. |
dosshd | SSH sunucusunun yüklenmesini sağlar. |
passwd=foo | SSH için gerekli parolayı oluşturur. |
noload=X | X yerine modülün adını yazarak o modülün yüklenmemesini sağlar. |
nonfs | portmap/nfsmount özelliklerini açılışta iptal eder. |
nox | Live CD kullanıyorsanız masaüstü yerine komut satırını açar. Ama zaten biz minimal CD kullanacağız. |
Karşınıza görsel bir yükleme arayüzü gelecek sanıyorsanız yanıldınız. LiveCD kullanmıyorsanız komut satırından başka bir şey görmeyeceksiniz. Masaüstü kurulumunu isterseniz kurulum sonrasında yapabilirsiniz. Bence en iyisi komut satırından kurulum yapmak.
Sistemimiz boot edildi ve kurulum işlemlerine başlayacağız. Her şey konsoldan olduğu için her yerde resim kullanmama gerek yok.
İlk önce aşağıdaki komutu yazarak Türkçe Q klavyemizin yüklenmesini sağlıyoruz.
loadkeys trqYukarıdaki ekran görüntüsünden sistemin networku tanıdığını ve ip aldığını görüyoruz. Eğer sisteminiz otomatik ethernetinizi tanımadıysa modprobe komutuyla sürücüsünü kurmanız gerekiyor. örneğin; modprobe 8139too bu kernel modülünün yüklenmesini sağlar. Bunların hepsini tek tek yazarsak bu kurulum sayfasını bitiremeyiz. Çözümünü forumlarda araştırmanız gerekiyor.
Bundan sonra ki kurulumları başlıklarla böleceğim ve ilgililerin başına İsteğe Bağlı veya Alternatif yazacağım. İsteğe bağlı başlığın altındaki seçenekleri yapmak zorunda değilsiniz.
Eğer başlığın başında böyle bir şey yazmıyorsa yapmanız zorunlu olacak.
Alternatif ise Sistem özelliklerine göre kullanmanız gereken ayarlardır.
İsteğe Bağlı: Kurulumda SSH Sunucusunu başlatmak.
Eğer kurulum cd sini boot ederken SSH servisini başlatmadıysanız, yinede geç kalmış sayılmazsınız. Kurulumu uzaktan yapacaksanız veya bir başkası bağlanacak ise SSH servisini başlatmalısınız. Tabii ki bunun sisteminizin network kartı tanınmış ve IP adresi alınmış olması gerekli. Bu ayarların yapımı ilerleyen kısımlarda gösterilecektir. Uzak erişim için modem/güvenlik duvarı ve gerekli NAT ayarları bu gönderinin konusu değildir./etc/init.d/sshd startTabi bunu çalıştırdığınızda şu anda root kullanıcısı olduğunuz için bir parola tanımlamanız gerekiyor.
passwdParolanızı belirleyip onayladıktan sonra putty gibi programlarla SSH konsoluna ulaşabilirsiniz.
Ağ Ayarları
Yükleyeceğimiz hemen hemen her şeyi internetten indireceğimiz için kurulumdan önce ağ ayarlarını kesinlikle yapmamız gerekiyor. ifconfig yazıp entera basarak var olan otomatik algılanmış ayarları görebiliriz.Burada kartımızı tanımış ve aldığı IP adresini görebiliyoruz. enp0s3 olarakta adlandırılmış (sizde eth0 gibi değerler olabilir) bunu göz önünde bulundurun. Ben sanal sunucuda VirtualBox ile kurulum yapıyorum bu ismide o yüzden vermiş olabilir. Ama el ile kurulum yapıp IP sabitlemek istiyorsanız aşağıdaki komutu çalıştırmanız lazım.
net-setup enp0s3 (veya sizde eth0 ise net-setup eth0)Sonraki seçenekleri ekran görüntülerini alarak anlatıyorum.
İşlem yapmak istediğimiz ethernet kartı tamda gösterildiği gibi Yes'i seçip Enter diyerek devam ediyoruz.
Bağlantımız kablolu
Kendimiz el ile IP vereceğiz.
Vereceğimiz sabit IP adresimizi yazıyoruz.
Ağ maskemiz 255.255.255.0 veya bir başka değişle 192.168.1.0/24 burada son kısıma 255 yazarak broadcastimizi belirliyoruz.
Gatewayimizin (modem/backbone/router/firewall v.s.) IP adresini yazıyoruz.
DNS sunucumuzu yazıyoruz.
DNS sunucumuz bir domain üyesi ise buraya ekini yazıyoruz (ne olduğunu bilmiyorsanız boş bırakın.)
Birde DNS sunucumuzu resolv.conf dosyasında ayarlamamız gerekiyor.
nano -w /etc/resolv.confburaya her satır başında nameserver olmak üzere dns sunucularımızın adresini yazıyoruz
nameserver 192.168.1.1Ben bir tane yazdım CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz.
ping -c 3 www.akindemircan.comYazarak 3 kere ping atmasını sağlıyoruz eğer ismi IPye çevirmiş ve pingliyorsa tebrikler IP ayarlarınız doğru bir şekilde yapılandırdınız.
Not:Ben kurarken bir sorun yaşadım resolv.conf dosyası sürekli sıfırlanıyordu /etc/init.d/dhcpcd stop komutu ile otomatik ip almaya yarayan bu servisi kapattım ve sorun düzeldi. IP yi elle veriyor ve aynı sorunu yaşıyor iseniz bunu deneyin.
Sabit Sürücüyü Hazırlama
Burada bölümleme ve biçimlendirme işlemlerini göreceğiz. Biliyorsunuz ki bu işlemleri yapmak sürücünüzdeki tüm bilgileri silecektir. Burada /dev/sda geçmesinin sebebi SATA ve SCSI arabirimi olan sürücüleri olanlar için geçerli, eğer sizde IDE sürücü var ise bu /dev/hda olacaktır.Parted ile Fdisk olarak iki bölüme ayırdım. Siz istediğinizi seçerek diskleri bölümleyebilirsiniz.
Parted ile bölümleme
UEFI bios'unuz tarafından destekleniyorsa hard diskte bir uefi bölümü açmamız gerekiyor.parted -a optimal /dev/sdaYazarak disk bölümleme işlemini başlatıyoruz. Bundan sonra biz bu işlemleri bitirip çıkana kadar komut satırında (parted) yazacaktır. Biz GPT özellikte disk yaratacağız (MBR hem 2TB den büyük bölümleri desteklemez hemde en fazla 4 bölüm yapabiliriz.) GPT daha fazla esneklik sağlar. Sonraki komutumuz.
mklabel gptDaha önceden bölümler var ise kaldırınız.
rm 2Eğer bölüm yok ise bunu çalıştırdığınızda zaten yok diye hata verecektir.
Biz birim olarak Megabyte kullanacağız Gigabyte'ten düşük bölümlerimiz olacağından buna gerek yok.
unit mibŞimdi ilk alanımız olaran UEFI bölümünü oluşturuyoruz. 2 MB lik bir alan yeterli olacaktır. Aşağıdaki komutları sırası ile yazınız.
mkpart primary 1 3
name 1 grub
set 1 bios_grub on
- İlk komut ile birincil bölümümüze 2 Megabytlik bir alan ayırıyoruz, bölüm oluştururken başlangıç ve bitiş değerleri yazarız. 1 3 yazdığımızda hard diskin 1. noktasından başlayıp 3. noktasına kadar 2 Megabytelık bir alan açılır. (Birimi mib olarak ayarladığımızdan hep megabyte üzerinden gidecek.) Bir sonraki bölümüde 3 ten başlatıp, vereceğimiz alan kadar sonrasını yazacağız.
- İkinci komutumuz ise bu bölüme verdiğimiz isimdir. Oradaki 1 ilk bölüm anlamındadır.
- Üçüncü komut ise bu bölümün UEFI alanı olduğunu bildirdiğimiz komuttur. Yani o bölüme bios bayrağı koyarız.
print komutunu yazarsanız ilk bölümün oluştuğunu göreceksiniz.
Aşağıdaki komutlarla diğer bölümleri de oluşturuyoruz.
mkpart primary 3 131Bu komutlarla 128 MB lik boot (başlatma) bölümünü ve ismini, 512 MB lik swap (disk belleği, sanal bellek) bölümünü ve ismini, ve dosyalarımızın bulanacağı aktif kullanacağımız bölüm ve ismini veriyoruz. buradaki -1 geri kalan tüm alan demektir. Böylece harddiskimizin geri kalan tüm alan kurulumun yapılacağı ve çalışacağımız alanın olacaktır.
name 2 boot
mkpart primary 131 643
name 3 swap
mkpart primary 643 -1
name 4 rootfs
set 2 boot onYaparak oluşturduğumuz 2. alanın boot olduğunu söylüyoruz. print yazdığınızda son hali şöyle görünmelidir.
quit yazarak bölümleme sistemimizden çıkıyoruz.
Alternatif: Bölümleri FDISK ile oluşturma
UEFI biosunuz tarafından destekleniyorsa hard diskte bir uefi bölümü açmamız gerekiyor. Eğer desteklenmiyorsa bu bölümü oluşturmanıza gerek yok.
fdisk /dev/sdaİle FDISK işlemimizi başlatıyoruz.
Bundan sonra biz bölümleme işlemini bitirene kadar komut satırı başında Command (m for help): yazacaktır. p yazarak var olan bölümlerini görebilirsiniz. d yazıp bölümün numarasını yazarak o bölümü silebilirsiniz. Aşağıdaki resimden inceleyebilirsiniz.
Biz hiçbir bölümünüzün olmadığını var sayarak yeni bölümler oluşturmaya başlıyoruz
İlk olarak n yazıp enter yapıyoruz daha sonra ise 1 yazıp enter yapıyoruz. First Sectorede 2048 Last Sectorde +2M yazıyoruz. İlk sektörün 2048'den başlatmamızın sebebinin resmi sitesinden algılama ile iglili olduğunu okudum tam sebebini bilmiyorum. 2 Mblik bölümü efi için kullanıyoruz. Bu bölümün UEFI olduğunu işaretlemek için sırasıyla t sonra 4 yazıp entera basıyoruz. Şuanda tek bölümümüz olduğundan ilk bölümü UEFI yaptı.
Diğer bölümleri de aşağıdaki gibi oluşturuyoruz.
n >> p >> 2 >> (boş bırakıp entera basın) >> +128M
a >> 2
Bu komutlarla sırasıyla boot kısmınıda oluşturduk ve bunun boot bölümü olduğunu bildirdik.
n >> p >> 3 >> (boş bırakıp entera basın) >> +512M
t >> 3 >> 82
Bu komutlarla sırasıyla swap alanını oluşturup bunun disk belleği olduğunu işaretledik.
n >> p >> 4 >> (boş bırakıp entera basın) >> (boş bırakıp entera basın)
Bu komutlarla da kurulum yapılacağın ve çalışacağımız asıl bölümü oluşturup diskteki kalan tüm alanı bu bölüme atadık. en son p yaparak son halini görüyor ve w yazıp enter yaparak değişlikleri kaydedip çıkıyoruz.
Dosya Sistemini Oluşturma
Bölümlerimizi oluşturduk şimdi formatlama zamanımkfs.ext2 /dev/sda2Komutu ile 2. bölüm yani boot (başlatma) bölümümüzü ext2 ile biçimlendiriyoruz. Eğer UEFI bölümü oluşturmadıysanız bu bölüm ilk bölümünüzdür.
Eğer UEFI olarak kullanacaksanız kesinlikle FAT32 formatı atmanız gerekiyor /sda2 (boot) bölümünü
mkfs.vfat /dev/sda2
mkfs.ext4 /dev/sda4İle de kurulum yapacağımız ve çalışacağımız bölümü ext4 ile biçimlendiriyoruz (ext ler Linuxun dosya sistemidir. (NTFS,FAT gibi))
mkswap /dev/sda3Swap bölümümüzü bu komutla biçimlendirdik.
swapon /dev/sda3Bu komutu da çalıştırarak swap (disk belleği) bölümünü aktif hale getirdik. Bu arada disk belleği dediğimiz şey RAM yetersiz kaldığında ve boyutu aşıldığında diskteki bu bölümü RAM olarak kullanır. Bunun boyutunu ayarladık ve biçimlendirip aktifleştirdik.
Bağlama İşlemleri
Linux sistemlerinde oluşturduğumuz bölümleri çalışma klasörlerine bağlamamız gerekiyor.mount /dev/sda4 /mnt/gentooİlk komutta kurulum yapacağımız bölümü bağlıyoruz. Daha sonra boot klasörünü oluşturup (mkdir), boot bölümümüzü de bu klasöre bağlıyoruz
mkdir /mnt/gentoo/boot
mount /dev/sda2 /mnt/gentoo/boot
Stage Kurulumu
Henüz kuruluma başlamadık!İlk önce internetten stage tarball dediğimiz gentoo dosyalarını indirmemiz gerekiyor. Elimizdeki CD bize sadece kurulum ortamı ve araç sağlıyor, Gentoo dosyaları üstünde yok.
Bir sorun yaşamamak için ilk önce date yazarak tarihimizi kontrol ediyoruz.
Bir hata var ise aşağıdaki gibi değiştiriyoruz:
date 102420512015Buradaki dizilim şöyle (AAGGSSDDYYYY), (2 haneli Ay, 2 haneli gün, 2 haneli saat, 2 haneli dakika ve 4 haneli yıl)
Gentoo klasörümüze giriyoruz.
cd /mnt/gentooAşağıdaki komutu çalıştırarak komut satırı tabanlı browserımızı çalıştırıyoruz.
links https://www.gentoo.org/downloads/mirrors/
İndirme işlemimiz başlıyor... bittiğinde Q tuşuna basıp enter yaparak browserımızdan çıkıyoruz. İndirilen dosyayı ls -al komutu ile görebiliriz.
tar xvjpf stage3-*.tar.bz2 --xattrskomutunu yazarak arşivi açıyoruz.
Burada stage3- ten sonraki dosya adı sizde farklı olabilir!
Buradaki xvjpf gibi seçeneklerde her harf bir işlemi ifade etmektedir. (Bu konu, bu gönderinin konusu olmadığından açıklayıp, konuyu uzatmıyorum) Arşivi açma işleminin bitmesini bekliyoruz. Bu arada Gentoo'da eskiden stage aşamaları vardı. Stage 3 en son aşamadır ondan önceki aşamalar derleme ve daha temel seçenekleri yapılandırmak içindi. Kurulum işlemi dahada zorlaşırdı ama artık Gentoo stage 3 ü öneriyor önceki stagelere gerek kalmadı.
Derleme Seçeneklerini Yapılandırma
nano -w /mnt/gentoo/etc/portage/make.confBu dosya Gentoo'nun en önemli dosyası. Burada yapacağımız seçenekler bizim sistemimizin temelini oluşturuyor. Dosyanın görünümü:
Burada CFLAGS ve CXXFLAGS kaynak koddan paketlerin derlenmesinde kullanılan işlemcinin özellikleri yazılır, ikisinin de genelde aynı olması tercih edilir.Bunu CFLAGS kısmına yazmamız yeterlidir. Burada -O2 derleme hızını belirler ancak daha fazla yükseltilmesi problem çıkarabilir -O2 tavsiye edilen ayardır. -pipe ise eğer sisteminizin belleği çok düşük değil ise derlerken belleği yüksek kullanarak derleme işlemini daha çabuk bitmesini sağlar. Bu ayarların başına -march= koymamız ve işlemci özelliklerini yazmamız gerekiyor ancak -march=native kullanmanız daha iyi olacaktır. Bununla ilgili diğer bilgileri Gentoo resmi sitesinden öğrenebilirsiniz. Daha uzman kişiler tarafından farklı march değerleri kullanılabilir.
CFLAGS="-march=native -O2 -pipe"Bu dosyada olmayan ama eklememizin faydası olacak bir özellik daha var MAKEOPTS bu özelliğe işlemci çekirdeğimizin sayısı + 1 olarak yapmamız gerekiyor.
Örneğin; 1 çekirdekli işlemciniz var ise MAKEOPTS="-j2" 2 veya 4 çekirdekli ise MAKEOPTS="-j3", MAKEOPTS="-j5" yapmalıyız. Bu özellik derleme sırasında paralel işlem sayısıdır. Buna göre çekirdek kullanır. Dosyamızın son hali böyledir.
Diğerlerini olduğu gibi bırakın.
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz.
Sonra USE değerini de değiştireceğiz burasıda çok önemli bir konu. Bu dosya derlemede global ayarlarının kullanıldığı dosyadır.
Chrooting
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.confGördüğünüz gibi bu bilgiyi de üst başlıktaki gibi make.conf dosyasına yazdıracağız.
Boşluk tuşuyla sunucuları seçip enter yapın.
DNS bilgilerimizi oluşturacağımız sisteme kopyalıyoruz.
cp -L /etc/resolv.conf /mnt/gentoo/etc/Gerekli dosya sistemlerini bağlıyoruz
mount -t proc proc /mnt/gentoo/procBu bağlamalar Chrooting yapmamız için gereklidir. Ayrıca kurulum medyasının sistem donanımında tanımladığı özelliklerin yeni ortamımıza aktarılmasını sağlar.
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
Yeni sistemimize artık geçiyoruz.
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"
- ilk komutumuzla yeni kabuğa (yani shell; komutları yazıp, bunu işlettiğimiz, aslında görünen siyah konsolun kendisidir.) geçiyoruz.
- ikincisi ile yeni profilimizi kaynaklıyoruz.
- üçüncü komut ile de komut imecine yeni ortamımızda olduğumuzu anlamak için (chroot) tagı yerleştiriyoruz.
Eğer bu aşamada hata alırsanız muhtemelen 32 bitlik bir makineye 64 biti kurmaya çalışıyorsunuz demektir. Geçmiş olsun, 32 bit x86 sürümünü indirip yukarıdaki aşamaların hepsini baştan yaparak buraya kadar gelin.(ben bekliyorum :))Yazının ilerleyen kısımlarında yukarıdaki network, dil v.s. gibi ayarları tekrar yeni sistemimiz için yapacağız.
Portage Paket Yöneticisini Yapılandırma
Aşağıdaki komut ile portage ağacını yüklüyoruz. Bu işlem bilgisayarın donanımına bağlı olarak biraz uzun sürebilir.emerge-webrsyncÖnerilen komut yukarıdakidir ama herhangi bir hata alınırsa, aşağıdaki komutu da kullanabilirsiniz. Bunu yukarıda yazdığım komut kesin olarak çalışmazsa kullanın.
emerge --syncPortage Paket yöneticisi, Gentoo'nun paket yöneticisidir. Uygulamaları güncellemeden önce bu yapının güncellenmesi gereklidir. Çünkü içinde paket bağımlılıkları, indirme linkleri, kategoriler, sürümler ve paket ağacı bilgisi bulunmaktadır. Portage bir paketin gereksinim duyduğu bağımlılıkları kendi hesaplayıp kurar.
Bu işlem bittikten sonra kurduğumuz sistemin profilini belirleyeceğiz. Sunucumu, Masaüstümü v.s.
eselect profile listBen profilimi değiştirmeyeceğim, Hardened sunucular için ayrıca güvenlik sağlar.( Hardenedin anlamı zorlaştırılmış demektir) Siz hangi profili seçmek istiyorsanız onun numarasınız yazmanız gerekiyor. Örneğin yukarıdaki listeye göre /desktop/gnome için aşağıda ki komutu yazmalısınız.
(* işareti o andaki seçili profildir)
eselect profile set 4Burada kesinlikle önemli bir nokta var. Profil listesinde fark ettiyseniz bazı seçeneklerin sonunda /systemd yazar. Gentoo üzerinde varsayılan olarak OpenRC ile geliyor. Systemd ve OpenRC servisleri yöneten sistemlerdir. Konumuz bunları açıklamak olmadığı için geçiyorum ama Systemd Sistemimizi OpenRC'den daha hızlı açıp kapatıyor. Dediğim gibi bu servislerin yönetilmesi ile ilgili oluyor. Systemd avantajlı görünse de bazı kişiler için tartışmalı bir yapı. Gentoo için Systemd olayını başka bir gönderide değinirim. Sizin bunlarla ilgili bir bilginiz yok ise, bu gönderi boyunca yaptığınız kurulumda, sonunda /systemd yazmayan profilleri seçin.
USE Flagsları Ayarlamak
Geldik Gentoo'yu Gentoo yapan başka bir özelliğe, ama bir o kadar da sizi sıkacak bir özelliğe. USE Flags bizim derlediğimiz yazılımlarda hangi özellikleri kesinlikle kullanmak ve kesinlikle kullanmamak istediğimiz yerlerdir. USE Flaglarda kullanmak istediğimiz özellikleri örn.; "kde gnome X" olarak yazarken istemediğimiz özelliklerin başına - koyarız (-kde gnome X). Son parantez içinde verdiğim örnekte yazılımların Masaüstü arayüzü ile yüklenirken KDE masaüstü yöneticisi özelliklerinin değil GNOME masaüstü yöneticisi özellikleri ile kurulmasını istediğimizi söylüyoruz. Bu durumda bizde GNOME masa üstünü kullanıyor olmamız lazım. İşte Portage Paket Yöneticisi buradan paketin hangi özelliklerle kurulacağını anlayarak ilgili bağımlılıkları hesaplar ve kurar, gereksiz bağımlılıkları asla kurmaz. (bazen bir paketin sadece kurulurken (çalışırken değil) ihtiyaç duyduğu bağımlılık olabilir. Bu durumda Portage bunu da otomatik hesaplayıp kurar ancak daha sonra silmez, bunu bizim kendimiz yapmamız gerekiyor, bu konuya başka bir gönderide değineceğim.)Gentoo'nun resmi sitesinden veya komut satırına aşağıdaki komutu yazarak kullanılabilecek tüm USE Flagları öğrenebilirsiniz.
less /usr/portage/profiles/use.descUse flasgları make.conf dosyasında USE="" içinde belirleyebiliriz.
nano - w /etc/portage/make.confÖrnek bir USE Flaglar
USE="a52 aac aalib acpi alsa amrnb ao audiofile automount branding bzip2 cairo cdda cdinstall dbus dga dts dvd firefox flash gd gif gzip -gnome hal java jpeg jpeg2k -kde live lock mad midi mikmod -minimal mmx mp3 mp4 mpeg mplayer msn musepack nls nvidia ogg openal opengl osc oss pdf png policykit ppds python -qt4 quicktime readline real rss session startup-notification sqlite sse sse2 ssl theore thunar udev unicode usb vcd videos vorbis win32codecs wmf X x264 xanim xml xpm xvid xvmc"Ben bu kurulumu bu yazı için yaptığımdan hiç bir şey ekleyip çıkartmıyorum. Bir paket derlerken gerçekten bir USE Flaga ihtiyaç duyuyorsa Portage zaten sizi bilgilendirecektir veya sonradan karar verdiğiniz bir özelliği Flag olarak ekleyerek ilgili uygulamayı da tekrar derleyebilirsiniz. Hatta tüm sistemi bile! ama bu uzun zaman alacaktır o yüzden aslında Gentoo'nun En Güzel, En Önemli ama En Sıkıcı kısmıdır.
İlgili dosyayı CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz.
Diğer Ayarlar
Time zonemizi ayarlayalımecho "Europe/Istanbul" > /etc/timezoneLokal ayarlarımızı yapalım
emerge --config sys-libs/timezone-data
nano -w /etc/locale.genİçine şunları ekleyelim
en_US ISO-8859-1Kaydedip kapatalım. (ctrl+x >> Y >> Enter)
en_US.UTF-8 UTF-8
tr_TR ISO-8859-9
tr_TR.UTF-8 UTF-8
Aşağıdaki komutu çalıştırın.
locale-genAşağıdaki komut ile local profilin listesini alın
eselect locale listen_US UTF8 seçerseniz Türkçe ve diğer karakterlerde sorun yaşamazsınız daha sonra profili güncelleyin: (Türkçe seçmek gibi bir hata yapmayın)
eselect locale set 4
env-update && source /etc/profile
Gentoo Kaynaklarının Kurulumu
Kurulum bitti mi? Hayır. daha başlamadık ki. Bu bölümde başlıyoruz. Aşağıdaki komutla kurulum başlıyor (kuruluyor demedim başlıyor dedim)emerge --ask sys-kernel/gentoo-sources''Y'' tuşuna basıp onaylayın ve başlatın. Biraz bekleyin kendinize kahve/çay alıp gelin veya ilk derlemenizi izleyin. Kendinizi Matrixte sanın :) kurulum bitince sonraki aşamaya geçin.
Kernel (Linux) Derleme
Geldik kernel olayına, Linux'da bu dünyaya yeni girmiş kişilerin en merak ettiği olay.Kernel derleme belli bir tecrübe ve kesin bir bilgi ile yapılması gereken aynı zamanda kurduğunuz sistemi en iyi şekilde bilmeniz gereken bir olaydır. Seçenekleri çoktur ve derlemesi uzun zaman alır, performans ve hataların en aza indirgenmesini sağlar. (Bu başlı başına bir konu o yüzden burada değinmeyeceğim) Normalde kernel derleme aşağıdaki komut ile başlatılır ancak siz bilmiyorsanız bunu es geçip sonraki adıma/başlığa bakın. (Kernel yazılımlar ile donanım arasındaki bağlantıyı kuran, en temel ve en karışık sürücüleri, modülleri bünyesinde bulunduran bir çekirdektir. Linux aslında bir kerneldir. Gentoo ise onun üzerine inşa edilmiş işletim sistemidir. Üstüne kurulan tüm paketler third party diye ifade edilir.)
cd /usr/src/linux
make menuconfig
Genel Kernel (genkernel)
Ah! Yeni kullanıcılar için hayat kurtarıcıdır. Bu kernel derlemesinde en çok kullanılan modüllerle genel bir kernel derlemesi yapar. Siz sadece bir komutla derlemeyi başlatırsınız. Avantajı; kernelle uğraşmanıza gerek kalmaz, dezavantajı; sisteminizde olmayan özelliklerle gelir ve kullanmadığınız özelliklerin derlenmesi içinde beklersiniz. Performansa da etkisi olacaktır tabi ki neyse biz komutumuza geçelim ve gidip biraz televizyon seyredelim, bu yaptığınız işlem sisteminizin donanımına göre uzun sürecektir.İlk önce genkernelimizi indirelim
emerge genkernelDaha sonra boot klasörümüzü her sistem açışında otomatik bağlanması için fstab dosyasına yazalım
nano -w /etc/fstabDosya ilk böyle görünecektir.
Siz BOOT kısmını düzeltip aşağıdaki gibi yapın daha sonra bu dosyaya diğer bağlamalar için ulaşacağız.
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz.
genkernel --menuconfig all komutu ile isterseniz genkernelin varsayılan olarak işaretlediği özelliklerden kaldırma veya ekleme işlemi de yapabilirsiniz ama daha önceden dediğim gibi ne yaptığınızı biliyorsanız bunu kullanın. Sonraki komuta geçerek kerneli derlemeye başlayalım. Bu derleme yapılırken kurulum cdsinin algıladığı donanım özelliklerini de baz alacaktır.(Derlenirken, kafanıza göre takılın ve bitmesini bekleyin.)
genkernel allKernel derlememiz bitti
Aşağıdaki komutu çalıştırın
ls /boot/kernel* /boot/initramfs*Bu oluşturduğu kernelin isimleridir. Bu çıktı ile ilerde bir daha karşılaşacağız.
İsteğe Bağlı: Kernel Modülleri
Yüklenmesini istediğiniz kernel modülü var ise modülleri şöyle listeleyebilirsiniz.find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | lessKullanılmasını istediğiniz modülleri bu dosyaya yazın
nano -w /etc/conf.d/modulesörneğin modules="3c59x" şeklinde olabilir. Bu modüller hakkında bilgileri Linux forumlarından edinebilirsiniz. Modül dediğimiz şeyler sürücü olarak da isimlendirilebilir.
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz.
Bazı sürücüler ek yazılıma ihtiyaç duyabilir özellikle ağ ve kablosuz kartlar.
emerge --ask sys-kernel/linux-firmware
FSTAB ayarları
Fstab dosyası sürücülerin hangi klasöre bağlanması gerektiğini sistem boot edilişinde komutlandırır, nasıl olacağını aşağıdaki resimle gösteriyorum.
nano /etc/fstab
Burada dev/fd0 disket sürücüsünü gösterir, artık bu pcler kalmadığından başına # koyarak devre dışı bırakıyorum
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz.
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz.
Network Ayarları
Bilgisayarımıza isim vermek;
nano -w /etc/conf.d/hostname
hostname="akindemircan"
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz.
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz.
Eğer ortamda bir domain ismimiz var ise; (bilmiyorsanız boş geçin)
nano -w /etc/conf.d/net
dns_domain_lo="homenetwork"
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz. (dosya boş gelirse oluşturulur)
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz. (dosya boş gelirse oluşturulur)
NIS domain adı var ise; (nedir bilmiyorsanız geçin)
nano -w /etc/conf.d/netnis_domain_lo="my-nisdomain"
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz
Network konfigrasyonu için kurulum yapıyoruz.
emerge net-misc/netifrc
Eğer aşağıdaki net dosyası boş gelirse yeni oluşturuyoruz.
nano -w /etc/conf.d/netKendi ağımıza göre ayarları yapıyoruz.
config_enp0s3="192.168.1.50 netmask 255.255.255.0 brd 192.168.1.255"
routes_enp0s3="default via 192.168.1.1"
dns_servers_enp0s3="192.168.1.1"
eğer otomatik ip alacaksa
config_enp0s3="dhcp"Burada unutulmaması gereken network kartınızın adının ne olduğu, config_ sonuna o gelecek isimi hatırlarsanız ifconfig ile görebiliyorduk. Benimki enp0s3 idi.
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz
Default Gatewayimizi route ediyoruz.
route add default gw 192.168.1.1Her açılışta otomatik başlaması için aşağıdaki komutları çalıştırıyoruz
cd /etc/init.d
ln -s net.lo net.enp0s3
rc-update add net.enp0s3 default
Bilgisayar adınızı bu resimdeki gibi ayarlayın, isterseniz var ise başka iplerden bilgisayarlar ekleyin.
nano -w /etc/hosts
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz
Root Parolası
Aşağıdaki komutu yazın
passwd
Yeni parolanızı belirleyin
nano -w /etc/conf.d/keymaps
Yukarıdaki komutu yazarak klavye tipinizi yazın: keymap="trq"
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz
CTRL+X >> Y >> Enter tuşlarına basıp, kaydedip çıkıyoruz
System Logger
Olmazsa olmaz uygulamadır aşağıdaki şekilde yükleyin ve sistem başlangıcında otomatik çalışmasını sağlayın
emerge --ask app-admin/syslog-ng
rc-update add syslog-ng default
İsteğe Bağlı: Diğer Uygulamalar
Görev Zamanlandırıcısı;
emerge --ask sys-process/cronie
rc-update add cronie default
Dosya index Oluşturucu;
emerge --ask sys-apps/mlocate
Uzak Erişim SSH;
rc-update add sshd default
Eğer network kartınız otomatik IP almaya ayarlıysa kurmanız gereklidir:
emerge --ask net-misc/dhcpcd
GRUB2 Kurulumu
Boot yöneticisidir, İşletim sistemini başlatan bu yazılımdır.
UEFI kullanacaksak aşağıdaki gibi,
echo GRUB_PLATFORMS="efi-64" >> /etc/portage/make.conf
emerge --ask sys-boot/grub
Kullanmayacaksak aşağıdaki gibi kurulumunu yapalım.
emerge --ask sys-boot/grub
Kurulumdan sonra UEFI kullanacaksanız bunu,
grub2-install --target=x86_64-efi --efi-directory=/bootKullanmayacaksanız bunu yazın.
grub2-install /dev/sda
Ben UEFI olarak kullanmayacağımdan bunu çalıştırdım. Başarılı bir kurulumdan sonra devam ediyoruz
grub2-mkconfig -o /boot/grub/grub.cfg
Genkernel ile kurulum yaparken kernel çıktı ile ileride karşılaşacağız demiştim işte bu dosyaları Grub otomatik olarak buldu.
Sistemi Yeniden Başlatma
Evet artık geldik en sona. Kurulumlarımız bitmiş bulunuyor.
Şimdi yaptığınız her şeyden emin olun ve sisteminizi yeniden başlatın. Özellikle uzaktan kurulum yapıyorsanız ve sistem boot olmazsa vah! halinize.
exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount /mnt/gentoo{/boot,/sys,/proc,}
reboot
Sistem sorunsuz boot olduğunda root ile belirlediğiniz parolayı yazarak giriş yapın.
Peki bundan sonra ne olacak? Artık elinizde temiz bir Gentoo Linux kurulumu var sonrasını daha sonra yazacağım gönderilerde inceleyeceğiz. İster sunucu olarak kullanın, ister masaüstü olarak, isterseniz de hobi olarak bunu siz bilirsiniz. Yeterince uzun bir gönderi oldu şimdilik bu kadar. Elimden geldiği kadar ezberci değil de komutları yorumlayarak ve anlatarak, alternatif sunarak anlatmaya çalıştım.
Kurulumu yaptım ama masaastü yok :)
YanıtlaSilBu konu Gentoo nun en basit hali ile yapılan kurulumdan bahsediyor. Masaüstü ortamı kurmak isterseniz bu noktadan sonra devam etmeniz gerekir. Aşağıdaki linkte örnek için GNOME masaüstü kurulumunu inceleyebilirsiniz.
Silhttps://wiki.gentoo.org/wiki/GNOME/Guide
Birde eselect profile list'ten uygun profili masaüstü kurulumundan önce seçmenizde yarar var.
Hocam merhaba, kuruluma başlarken "trq is invalid" hatası alıyorum. Seçim listeden numara girilerek de yapılamıyor zira 38 numarada sadece "--" yazılı ve seçildiğinde aynı hata geliyor. Bunu nasıl aşabilirim acaba? Teşekkürler.
YanıtlaSilMerhaba, önemli bir kısım değil o bölümü geçebilirsiniz. Komut satırı geldiğinde aşağıdaki komutu çalıştırırsanız türkçe klavye yüklenecektir.
Silloadkeys trq
Teşekkür ederim, iyi günler.
SilHocam tekrardan merhaba, grub kurulumunu bir türlü gerceklestiremiyorum, en son kaldığı ekran bu yalnız, diğer kısımlar hızlı geçtiği için yorum yapamiyorum.
YanıtlaSilhttp://i.hizliresim.com/X9adpO.jpg
wgetpaste yazılımını kurun /var/log/portage altında grub klasörü ve altında ilgili logu bulun wgetpaste /var/log/portage/{logyolu} yazarsanız log bir linke yüklenecek bu linki paylaşmanız yeterli
SilKusura bakmayın, acaba bir yerlerde hata mı yaptım diyerekten yeniden kuruluma başlamıştım, aynı aşamaya tekrardan yeni gelebildim fakat aynı sonuçla karşılaştım. Dediğiniz log için link:
YanıtlaSilhttps://pastel.pound-python.org/show/QgwnitKjMSgXOPWM4Kmw/
Bu log değil. Ekranda yazan loglarıda içinde barındıran bir dosya olması gerekiyor make loglarını tutan
SilMuhtemelen ben bulamadım ama ls ile bakınca /var/log/portage altında /elog diye bir dizin geliyor, onun da altında summary.log isimli linkteki çıktı var. Sanırım grub klasörü yok.
SilŞöyle yapalım /var/log altında emerge ile ilgili bir log bulamazsanız aşağıdaki linkten log ayarlarını yapın tekrar grubu kurmaya çalışın bu sefer portage altında log oluşacaktır.
Silhttps://wiki.gentoo.org/wiki/Portage_log
Bunun sebebini bulamadım.
YanıtlaSilBu makaleyi hazırladığım dönemde resmi sitesinde de aynısı geçiyordu diyebilirim.
Konsol görüntüsünden de görebileceğiniz gibi bu komutları o zaman kabul etmiş.
ah gentoo ah . ne guzel bır ısletım sıstemısın 12 gun ugrasmıstım masa ustune gelmek ıcın lınuxde o zamanlar bıldıgım tek sey su komutu ıdı :) cok sey kattı bana gentoo-tr kanalındakı gagu abımız az yardımcı olmamıstır bana kendısı defalarca logları atmıstım kendısıne bıkmadan usanmadan gerı donus yapmıstı bana sımdı soru soran arkadasları gorunce kendımı hatırladım .
YanıtlaSilBu arada emegı gecen akın beye sonsuz tesekkurelr en ınce ayrıntısına kadar anlatmıs . daha sade bır anlatımla masaustune ulasılabılırdı ama herseyı ogrenın ıstemıs cunku bunlr bır lınux kullanıcısının bel kemıgıdır . gentoo hepsını ogretır adama eze eze ogretır ve sonra bagımlılık yapar baska lınux kullanmaya dayanamazsınız baska dagıtımı kullandıgınızda harcadıgınız emege saygısızlık olur dersınız . bır sunucu mu kuracaksınız debıanla centosla bunu yarım saatte yapabılecegınız halde gentooya kıyamaz bunu saatlerce yapmak pahasına olsada gentoo da kurmak ıstersınız cunku yaptıgınız her eylemı elle duzeltmek zorundasınız ve neyın nasıl ısledıgını gentoo yıne ogretır sıze , next next le gıden herseye karsı cıkarsınız bır zaman sonra aynı zamanda yes yes le gıdenlerede .
Anlatacak cok sey vardır gentoo ıle susayım en ıyısı . herkese gentoo termınalınde gecen gunler ve saatlere selam eder bol bol gentolu gunler dılerım.
Değerli yorumunuz için teşekkürler.
SilMerhaba. "Genkernel all" komutunu girdigimde, command not founs hatasi veriyor. Emerge genkernel ile indirdim sonrasinda bu hatayi veriyor. Rica etsem yardımcı olabilir misiniz?
YanıtlaSilMerhaba. Genkernel derleme işlemi çok uzun sürüyor. Bir yere gitmem gerekiyor laptop kapağını kapatsam sistem kapanırmı? Yada beklemeye alır mı?
YanıtlaSil