Arch Linux Kurulumu - Mustafa Sabri OĞUZ

Duyurular

24 Mart 2019 Pazar

Arch Linux Kurulumu

Şu sıralar linux dünyasında oldukça popüler olan ve bir çok türevi (Antergos, Manjuro, Archman, ...vs) bulunan Arch Linux'u tanımaya ve kurulumunu nasıl gerçekleştireceğimizi öğreneceğiz.

Archlinux Nedir?

Arch Linux, diğer dağıtımcılar gibi linux kernel çekirdeğinin üzerine kendi işletim sistemi versiyonu bize sunmaktadır. Peki Arch Linux'un diğerlerinden farkı nedir? Farkı şu; Arch Linux sloganında söylediği gibi "A simple, lightweight distribution" (Basit ve hafif bir dağıtım) olması. Linux konusunda deneyimli insanların, Ubuntu, Debian ve benzeri dağıtımların kolaylık açısından sunduğu yazılımların (Başta Arayüz - GDI olmak üzere  ve diğer uygulamalar) ya işine gelmemesi yada gereksiz bulmalarından dolayı uzak kalmayı tercih ettiklerini düşünüyorum.

İşte burada Arch Linux "Temel sistem bu, gerisine ben karışmıyorum. Baştan aşağı kendinize göre tasarlayın." dercesine bir sloganla karşımıza çıkıyor. Yani kendinizde bir işletim sistemi tasarlayarak bir marka oluşturup, dağıtabilirsiniz. Bu nedenle türevleri bir hayli fazla olduğunu söyleyebilirim.  Bu özelliği sayesinde "Raspberry Pi" gibi küçük sistemlere göre ayarlanıp, kurulumu gerçekleştirmek mümkün...

Kurulum

Arch Linux hakkında şimdilik diyeceklerim bu kadar, artık kurulum hakkında bilgi vermek istiyorum. 
Baştan sizi uyarmam gerekiyor: bu kurulum işlemi herhangi bir arayüz veya hazır kurulum sihirbazı içermediğinden dolayı tüm işlemler komutlar üzerinden gerçekleşmektedir. Linux dünyasına yeni giriş yapanlar için zor gelebilir. 

Linux konusunda başlangıç seviyesinde bulunanların Ubuntu, Mint, Pardus gibi farklı bir dağıtımları veya Arch Linux'un  hazır kurulum yazılımlarına sahip Antergos, Manjaro veya Archman gibi diğer türevlerini tercih etmelerini tavsiye ederim. Çünkü Linux sistemler, Windows sistemler kadar kolay değil, çok farklı gelecektir. İhtiyacınız olacak sürücüleri, yazılımları az çok biliyor olmanız gerekiyor. Tavsiye ettiğim sistemlerden birini kullanarak, yazılımları, kurulumlarını ve kullanımları hakkında tecrübe kazanmanızı tavsiye ederim.

Sistem Gereksinimleri

  • x86_64 işlemci mimarisine uyumlu bir makine
  • Minimum 512 MB RAM, tavsiye edilen 2 GB RAM
  • En az 1 GB'lık boş disk alanı (Fakat rahat kullanım için 20 GB'lık bir boş alan tavsiye edilir.)
  • İnternet bağlantısı gerekmektedir.
  • Linux komut satırlarına aşina olmalısınız.
Son olarak kurulum için güncel iso dosyasını resmi web sayfasından indirmeniz gerekiyor.
Not: Fiziksel makinenize usb kurulumu gerçekleştirmek için öncelikle iso dosyanızı usb belleğinize yapılandırılmış bir şekilde aktarılması gerekiyor. Bunun için Rufus aracını önermekteyim. Eğer sistemi sanal makine olarak kurmayı planlıyorsanız, sanal disk okuyucusuna direk iso dosyasını tanımlayıp, işleminizi gerçekleştirebilirsiniz. Bu belgede anlatacaklar, iki yöntem arasında fark içermemektedir.

İşletim Sisteminin Kurulması

İlk olarak Arch Linux'u temel olarak nasıl kurabileceğimizi ve ardından Cinnamon Kullanıcı grafik arayüzünün (GUI) kurulumunu anlatacağım. Bu bölümü elimden geldiğince adım adım işlemeyi planlıyorum. Bu nedenle sıkılırsanız, kusura bakmayın...
Not: Bu kurulum rehberi 05.01.2020 tarihinde güncellenmiştir. İlerleyen zamanlar da kurulumda değişiklikler olabilir ve bu nedenle kurulumu gerçekleştiremeyebilirsiniz. Bu gibi durumlarda bana yorumlar bölümünden bildirmeniz gerekebilir. 

Artık iso dosyasını sisteme tanıtıp, çalıştırdığımız da yukarıda ki gibi bir ekran ile karşılaşıyor olmamız gerekiyor. "Boot Arch Linux (x86_64)" seçeneği seçili iken "Enter" tuşu ile sistemi boot ediyoruz.

Klavye Setinin Ayarlanması

İlk olarak rahatça yazabilmek için "loadkeys" komutu ile kullandığımız  klavye setini tanımlıyoruz. Q klavye kullandığım için "trq" parametresini verdim. Eğer F klavye kullanıyorsanız; "trf " parametresini verebilirsiniz.
loadkeys trq // Q Klavyeler için
loadkeys trf // F Klavyeler için

İnternet Bağlantısı

İşlemlere devam etmeden önce internet bağlantımızı kontrol edelim. Malum Arch Linux, güncel paketlerin kurulumu için internet bağlantısına ihtiyaç duyduğunu belirtmiştik.
ping msoguz.com
Eğer internete bağlı iseniz, üstte ki gibi benzer bir sonuç ile karşılaşmanız gerekiyor. Aksi halde bağlantınızı kontrol edin.
Not: Ping işleminden kurtulmak yani ping programından çıkmak için "Ctrl + C" klavye kombinasyonunu kullanın. Bu kombinasyon çoğu komut satırı arayüzü (CLI) yazılımlarında aynı görevi görmektedir.
Eğer dizüstü kullanıcısı olarak ağa kablosuz bağlanıyorsanız;
Bulunduğunuz ortamda wireless ağı bulabilmek için "wifi-menu" komutunu kullanıyoruz.
Wifi noktalarının listelendiği bir arayüz karşımıza gelecektir. Not: Wifi adaptörünün açık olduğundan emin olun...
Kullanacağımız Wireless ağını seçip, "Enter" tuşuna bastığınızda bağlantınız için bir profil ismi oluşturmanızı isteyecektir. İstediğiniz bir ismi yazıp, yine "Enter" tuşuna basın.
Bu adımda ise Wifi şifrenizi yazıp, kayıt ediyoruz. Bu işlemleri gerçekleştirdikten sonra yukarıda bahsettiğimiz ping işlemi ile internet bağlantımızı kontrol ediyoruz.

Sistem Saatini Güncellemek

Sistemin kullandığı tarih ve saatini güncelleyip, kontrol ediyoruz. Bunun nedeni yazılım kurmak için kullanacağımız paket servislerinin bazen sorun çıkartabiliyor olması.
timedatectl set-ntp true // Güncelleme komutu
timedatectl status // Tarih ve saat bilgisini öğreniyoruz.

Disk Bölümleme

Şimdi sistemimizi kurabilmek için diskimiz üzerinde bölümler (partitions) oluşturmamız gerekiyor. Arch Linux'un "dos" kurulumu için aslında iki ana bölüme ihtiyaç duyulmaktadır. Fakat biz bu kurulumda boot bölümünü ayrı oluşturacağımızdan diskimiz 3 adet bölümden oluşacaktır. Bunlar;
  • root (/ - Ana Dizin Alanı), 
  • Swap (RAM Takas Alanı),
  • ve Boot alanlarıdır. (Ön Yükleme Alanı)
Bu alanları kısaca açıklamak gerekirse;
Root bölümü, sistemimi kuracağımız alandır. Boot bölümü, işletim sisteminin ön yüklemesi için kullanılan alandır.  Swap bölümü ise ram miktarını aşan işlem verilerinin, sabit diske aktarılması ve geri alınmasını sağlar. Tabi ki bu işlem diskinizin hızı nedeniyle performansı etkileyen bir unsur. Lakin sistem açısından süreklilik sağlanmış olur.
İşe bölümlendirmede kullanacağımız cfdisk yazılımını çağırarak başlıyoruz. Bunun için "cfdisk" yazıp, "Enter" tuşuna basıyoruz.
Uyarı: Bu işlem varolan disk verilerinizi bozabilir. Bu nedenle boş bir disk üzerinde çalışmanız önerilir.
Bu bölümde kullanacağımız disk yapısını belirtiyoruz. Bu anlatımı dos üzerinden gerçekleştireceğim için "dos" seçeneğini seçiyoruz.
Karşımıza gelen tabloda boş bir disk yapısı görmekteyiz. Yeni bir bölüm oluşturmak için "New" seçeneğini seçin ve "Enter" tuşuna basın.
İlk oluşturacağımız alan Swap alanı olacağından 4 Gigabyte'lık (4096M) bir alan miktarı giriyoruz. Ardından "Enter" tuşuna basarak boyutunu belirtiyoruz.
 Burada oluşturacağımız bölümün "Birincil" (primary) olacağını belirtiyoruz. "Primary" seçili iken "Enter" tuşuna basıyoruz.
 Görüldüğü üzere bölümümüz oluştu. Şimdi "Type" seçeneğine gelin ve "Enter" tuşuna basın.
Bu adımda, oluşturduğumuz bölümün Swap bölümü olduğunu belirtmek için 82 numara olan "Linux swap / Solaris" tipini seçip, yine "Enter" tuşuna basıyoruz.
Şimdi yeni bir alan oluşturmak için boş alan (Free Space) seçeneğini seçin, ardından "New" seçeneğine basın.
Bu alanımız boot (ön yükleme) alanı olacağından 512 Megabyte'lık bir alan belirtiyorum.
 Yine birincil bölüm olduğunu belirtiyoruz.
Şimdi oluşturmuş olduğumuz alanın boot olduğunu ifade edebilmek için "Bootable" seçeneği ile işaretliyoruz.
Artık kalan disk alanını boot alanını oluşturduğumuz gibi oluşturuyoruz. Tek farkı boot olarak işaretlenmiyor. Eğer bölümleme tablonuz yukarıda ki gibiyse "Write" seçeneğini seçin.
Burada bize bölümleme tablosunun, diske yazılacağından emin olup, olmadığımızı soruyor. "yes" yazıp, "Enter" tuşuna basıyoruz.
Evet, artık kurulum için gerekli olan bölümleri hazırladık. Artık "quit" seçeneği ile cfdisk'ten çıkabiliriz.

Disk Biçimlendirme

"fdisk -l" komutu ile disk üzerinde bölümlediğimiz alanlara tekrar bakıyoruz.
Bölümler tablosuna göre sırayla alanlarımızı biçimlendiriyoruz. İlk olarak swap alanımızı biçimlendiriyoruz. Bunun için;
mkswap /dev/sda1
komutunu kullanıyoruz.
Daha sonra boot alanını mkfs ile ext4 formatında biçimlendiriyoruz. Bunun için;
mkfs.ext4 /dev/sda2
komutunu kullanıyoruz.
Ve son olarak root alanımızı yine mkfs ile ext4 formatında biçimlendiriyoruz. Bunun için;
mkfs.ext4 /dev/sda3
komutunu kullanıyoruz. Eğer veri taşıyan bir disk kullanıyorsanız, karşınıza yapılacak işlemi onayladığınıza dair bir soru gelecektir. Bu sorunun cevabına "yes" yazarak, onaylabilirsiniz.
Böylece disklerimizi biçimlendirmiş olduk. Artık diskimizin üzerinde herhangi bir veri bulunmuyor olacak.

Bölümleri Bağlama

Şimdi diskimiz üzerinde oluşturduğumuz bölümlerde (partitions) bazı işlemler gerçekleştirmemiz gerekiyor. Swap alanını bağlamak için;
swapon /dev/sda1
Kök bölümünü bağlamak için;
mount /dev/sda3 /mnt
Kök dizini üzerinde boot klasörü oluşturmamız gerekiyor.
mkdir /mnt/boot
Son olarak boot alanına boot klasörünü bağlamamız gerekiyor. Bunun için;
mount /dev/sda2 /mnt/boot
komutunu uyguluyoruz.

Temel Paketlerin Kurulumu

Artık işletim sistemimiz için gerekli temel paketleri indirip, kurmamız gerekiyor. Bunun için;
pacstrap -i /mnt base base-devel linux nano linux-firmware
Komutunu yazıp çalıştırıyoruz.
Bu aşamada kurulacak paketler listeleniyor ve bize hangi paketleri kurup, kurmayacağımızı soruyor. Biz hepsinin kurulmasını istediğimiz için sadece "Enter" tuşuna basarak, işleme devam ediyoruz.
Bu aşamada kurulacak olan paketlerin kurulma işlemini onayımıza sunmaktadır. "Y" tuşuna basıp, "Enter" tuşuna tekrar basıyoruz, böylece tüm paketlerin kurulumuna onay vermiş olduk.
İlk olarak paketleri internet üzerinden indiriyor ve belirtiğimiz mnt klasörüne kurulumu gerçekleştiriyor. Bu işlem sisteminizin özelliklerine göre biraz uzun sürebilir.
Artık temel paketlerimiz kurulmuş oldu. Bundan sonra sistemi yapılandırmamız gerekiyor.

Sistem Yapılandırma

pacstrap /mnt grub os-prober
Şimdi işletim sistemimiz olan arch linux'un yüklenebilmesi için grub ön yükleyicisinin yüklenmesi gerekiyor ve linux dışında işletim sistemleriniz (Windows, MacOS) varsa bunun için ayrıca os-prober adlı paketi kuruyoruz. Bunun nedeni grub ön yükleyicisinin tek başına bu desteği sağlayamamasıdır.
Fstab ve dosyası, sabit disk ve bölümlerini, ağ paylaşım klasörlerini ve cd/dvd, usb gibi harici dosya sistemlerini otomatik olarak bağlamaya yarar. Fstab dosyasını oluşturmak için;
genfstab -p /mnt >> /mnt/etc/fstab
komutunu kullanıyoruz.
Bundan sonra ki yapılandırmaları gerçekleştirebilmek için "mnt" klasörü üzerinde "Chroot" yetkisine sahip olmamız gerekiyor. Bunun için
arch-chroot /mnt
komutunu kullanıyoruz.
Bu işlemden sonra bilgisayar adını vermek için "etc" dizininde ki "hostname" dosyasına "ARCHLINUX" yazdırmak için;
echo ARCHLINUX > /etc/hostname
komutunu kullanıyoruz. Bilgisayar ismine siz istediğiniz bir ismi verebilirsiniz.
Sistemimize bağlı ağları yönetebilmek için ağ yöneticisini kurmamız gerekiyor;
pacman -S networkmanager
Kurduğumuz ağ yöneticisini varsayılan olarak başlatmak için linklememiz gerekiyor, bunun için
systemctl enable NetworkManager.service
komutunu kullanıyoruz.
Varsayılan klavye setini oluşturmak için Nano metin editörü ile vconsole konfigrasyon dosyasını düzenlememiz gerekiyor;
nano /etc/vconsole.conf
Açılan dosyaya Türkçe Q klavye setini belirtmemiz gerekiyor;
KEYMAP=trq
bu ifadeyi yazdıktan sonra "F3" tuşu ile dosyayı kaydetmek istediğimizi ardından "Enter" tuşu ile kaydetmeyi onaylıyoruz.
Dosya başarılı bir şekilde kayıt edildikten sonra "F2" tuşu ile Nano editörünü kapatıyoruz.
Sırada sistemde varsayılan olarak kullanacağımız dili locale.conf dosyasına belirmemiz gerekiyor.
nano /etc/locale.conf
Açılan dosyaya "LANG=tr_TR.UTF-8" ifadesini yazıp ve dosyayı kaydedip, çıkıyoruz.
Şimdi ise sistemin yerel saatini belirlemek için aşağıda ki komutu uygulamamız gerekiyor.
ln -sf /usr/share/zoneinfo/Europe/Istanbul /etc/localtime
Ülkemizde kullanılan bölge saati olan "Europe/Istanbul" ifadesini yazıp, komutu uyguluyoruz.
Son olarak locale.gen dosyasını düzenlememiz gerekiyor.
Locale dosyasını düzenlemek için;
nano /etc/locale.gen
Sıra sistemimizi yerelleştirme ayarlarını gerçekleştirmek, bunun için "/etc/locale.gen" dosyasını nano editörü ile açıyoruz. Ardından yön tuşları ile kendi dil kodlarımızı bulana kadar aşağı iniyoruz.
tr_TR.UTF-8 UTF-8
tr_TR ISO-8859-9
> seçeneklerinin başlarında ki diyez (#) işaretini kaldırıp, dosyayı kaydediyoruz.
Şimdi yerelleştirme için kullanacağımız dosyalarını oluşturmak için;
locale-gen
programını çalıştırıyoruz.
Çekirdek önyükleme, ramdisk, init kontrolü yapılandırması ve initramfs imaj dosyasını oluşturmak için;
mkinitcpio -p linux
ifadesini kullanıyoruz.
Artık işletim sistemimiz neredeyse hazır. Grup ön yükleyicisine işletim sistemimizi tanıtmak için gerekli ayarlamaları yapmamız gerekiyor.
grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
ile hazırlanan image'i grub konfigrasyonuna ekliyoruz.
Şimdi kullanacağımız root kullanıcısına bir parola oluşturmamız gerekiyor. Bunun için;
passwd root
ifadesini kullanıyoruz. Ardından parolamızı iki kez belirtiyoruz.
Kurulum için bağladığımız disk bölümlerini çözmemiz gerekiyor. Bunun için;
umount /mnt/boot
umount /mnt
Artık Chroot yetkisinden "exit" komutu ile çıkış yapıyoruz. Ardından hazırladığımız sistemi çalıştırmak için sistemi "reboot" komutu ile yeniden başlatıyoruz.
Görüldüğü üzere işletim sistemimiz hazır ve bizi bekliyoruz. İşletim sistemini başlatmak için "Enter" tuşuna basıyoruz.
Karşımıza gelen CLI mesajında kullandığımız Arch Linux işletim sisteminin versiyonu yazmakta ve bizden bir kullanıcı ile giriş yapmamızı beklemektedir. Şuan için sadece root kullanıcı tanımlı olduğundan "root" kullanıcısını yazıp, oluşturmuş olduğumuz parolayı yazıp, sisteme giriş yapıyoruz.

Bu adıma kadar temel Arch Linux kurulumu gerçekleştirmiş olduk. Dileyen bundan sonra ki işlemleri es geçebilir veya kendi tarzı ve ihtiyaçlarına göre kullanıcı ve paketler kurabilir. Bir sonra ki yazım ekran kartı sürücüleri ve arayüz uygulamalarının kurulumu üzerine olacaktır.

Görüldüğü üzere bu makale ile sadece işletiminin çekirdeğini kurduk. Sırada sürücülerin kurulumu var. Bunun için bir sonra ki makalemi okuyabilirsiniz: Arch Linux Sürücü Kurulumu

Faydalandığım Kaynaklar;
https://medium.com/@erayaydin/arch-linux-kurulumu-44804db64ef7
http://bilgegunluk.com/arch-linux-resimli-kurulum-kilavuzu-guncel-2017-ve-kde-plasma-kurulumu/
https://wiki.archlinux.org/index.php/Installation_guide_(T%C3%BCrk%C3%A7e)

18 yorum:

  1. hocam ben veysel;
    tekrar merhaba. disk bölümleme alananıda SWAP bölümü oluşturmuşsunuz. fiziksel ram değeri 2gb olan bir bilgisayara 4gb swap oluşturmuşsunuz ve özellikle 2 katı olmasını deklare etmişsiniz yazınızda. benim bilgisayarımın fiziksel alanı 8gb. bu linux için fazlasıyla yeterlidir. eğer windows 7 ile hayatımıza giren flaş beleğinizi ram gibi kullanma özelliği gibi birşey ise bunu es geçip diğer bölümleri oluşturabilir. ama swap alanı her halukarda oluşturulması gerekiyor onun başka bir amaçları vardır diyorsan 16gb biraz çok olmaz mı? diyerek ikinci sorumu sorumu hemen yapıştırıyorum yanı başına :)
    ssd diskim 256gb. hususi bu işletim sistemine münhasır satınaldım. ayrıca cinnamon masaüstü ortamı bölümünde de bir sorum olacak.

    YanıtlaSil
    Yanıtlar
    1. Merhaba, Swap bölümünü oluşturmak zorunda değilsin. Windows'da ki mantıkla hemen hemen aynı, tek farkı eğer Ram'in kapasitesi dolarsa (Şişerse), sistemin kitlenebilir ve yeniden başlatmak zorunda kalabilirsin. Verdiğim örneğin günümüz bilgisayarlarına uygun olmadığını bende farkındayım, lakin bu örnek daha çok, eski ve düşük sistem özelliklerine sahip sistemler için düşünüldü. Özetle; tavsiye edilen boyuta uyulmasa bile sistemde bir swap alanının bulunması gerekir. Böylece olası donma ve kitlenmelerden kendinizi koruyabilirsiniz.

      Sil
  2. Merhaba
    nano /etc/vconsole.conf bu komutu girdiğimde bash: nano: command not found hatası alıyorum. buraya kadar hiç sorun yaşamadım

    YanıtlaSil
    Yanıtlar
    1. Aradan geçen zamanda burada ki rehber güncelliğini yitirmiş. Fırsat bulduğumda yeniden güncelleyeceğim. Bilginize...

      Sil
    2. Güncellendi. Adımları tekrar gözden geçiriniz...

      Sil
  3. Teşekkürler çok güzel anlatmışsınız

    YanıtlaSil
  4. Merhaba Veysel bey,
    Arch wiki'nin yanında kurulum rehberinize de bakmak istiyorum fakat 2020 sürümü için güncel mi acaba?

    YanıtlaSil
  5. Nano /etc/vconsole.conf yazdıktan sonra
    bash: nano: command not found hatası alıyorum


    Lütfen en kısa sürede günceller misiniz ?

    YanıtlaSil
    Yanıtlar
    1. Merhaba, aldığınız hata: nano paketi kurulu olmadığından bu komutu çalıştıramadı. Yapmanız gereken nano paketini kurmanız.

      "pacstrap -i /mnt base base-devel linux nano linux-firmware" temel paket kurulumunda, bu ifadeyi yazmış olmalısınız. Eğer yalnızca nano paketini kurmak istiyorsanız: "pacstrap -i /mnt nano" komut satırını girebilirsiniz...

      Sil
  6. hocam 1 yıldır kurma savası veriyordum vallahi kurdum adamsın

    YanıtlaSil
  7. Selamun Aleyküm öncelikle arch linux kurulumu için sagol ama bunları hep komut üzerindenmi yapıcaz kali linux gibi bir arayüzü yokmu bu arch linuxun?

    YanıtlaSil
    Yanıtlar
    1. Aleyküm Selam, anlatmak istediğiniz arayüzlü bir kurulum ise bunun için farklı linux dağıtımlar (Pardus, Mint, Manjaro, Ubuntu vb...) bulunmaktadır, onları kullanarak kurulumu gerçekleştirebilirsin. Mevzu kurulum değilse, yani kullanım içinse arayüz paketi (Gnome, KDE, Cinnamon, vs...) kurmanız gerekiyor. Bunun için diğer yazılarımı inceleyebilirsin.

      Sil
    2. ama arch linuxda adam kurulum yapıyor https://www.youtube.com/watch?v=_RxT4hjLo3g hemde arayüzlü

      Sil
    3. Benzer adımları arkadaşta yapıyor. Tek farkı makale uzun olacağı için adımlara böldüm. Diğer yazılarımı gözden geçirmeni tavsiye ederim.
      https://www.msoguz.com/2019/04/arch-linux-surucu-kurulumu.html
      https://www.msoguz.com/2019/04/arch-linux-kullanc-olusturma.html
      https://www.msoguz.com/2019/04/arch-linux-on-hazrlk.html
      https://www.msoguz.com/2019/04/arch-linux-cinnamon-gdi-kurulumu.html

      Sil
  8. hi,
    I have checked so many website, your website is very amazing. you should try this
    website

    YanıtlaSil
  9. hala çalışıyormu?

    YanıtlaSil