debian kurulumu

Bu dokümanda debianı debootstrap ile kurma konusu anlatılacaktır. Bu dokümandaki komutları kendi kurulumunuza göre uyarlayarak yazın.

Bu dokümanda debian sid kurulumu anlatılmıştır. sid yerine stable kullanmak isterseniz dokümanda sid gördüğünüz yerlere stable yazmanız gerekir.

Not: Uefi kurulum için efi bölümü /dev/sda1, her iki kurulum türü için /dev/sda2 kök dizin olarak ele alıp anlatacağım.

Not: Bu dokümandaki yazılanları uygulamadan dolayı oluşabilecek zarar veya veri kayıplarından dokümanın yazarı sorumlu tutulamaz.

Temel Kavramlar
Terim Anlamı
rootfs Kurulumu yapılan sistemin taslağıdır. chroot komutu ile içerisine girebiliriz. çıkmak için ise exit komutu kullanılmalıdır.
debootstrap rootfs oluşturmak için kullanılan komuttur. Debiana ait bir araçtır fakat debian dışında da kullanılabilir.
efi bölümü Sadece Uefi kullanan sistemlerde bulunan ve açılış için gereken dosyaların bulunduğu bölümdür.
kök dizin Kurulumu yapılan sistemin kurulacağı yerdir.

Gerekenler

Debian tabanlı herhangi bir dağıtım isosu (ubuntu debian pardus mint fark etmez)

Eğer debian tabanlı olmayan bir dağıtım varsa ona debootstrap kurmalısınız.

Kaynak kodu derlemeden önce bir tane yamaya ihtiyacınız olabilir.

Kaynak kod: https://salsa.debian.org/installer-team/debootstrap

Yama: https://gitlab.com/sulinos/repositories/SulinRepository/-/raw/master/system/devel/debootstrap/files/0001-remove-dpkg-support.patch

Hazırlık aşaması

Elinizdeki isoyu yazdırıp live olarak açın. Tüm işlemi live modda halleceğiz. Tüm işlemi root yetkisi ile yapacağız. sudo su yazarak önce root yetkisi alın.

  1. debootstrap paketini kurun:
$ apt-get update
$ apt-get install debootstrap
  1. Uefi mi yoksa legacy mi kullandığınızı öğrenin:

Eğer /sys/firmware/efi adında bir dizin varsa uefi kullanıyorsunuzdur. Aşağıdaki komutun çıktısı da aynı bilgiyi verecektir.

[ -d /sys/firmware/efi ] && echo UEFI || echo legacy
  1. Kurulum yapılacak diski bölümlendirelim. Uefi için 100mb efi bölümü ve bir kök dizin oluşturalım. (ben sda1 efi sda2 kök olarak anlatacağım) legacy için sadece kök dizin açmamız yeterlidir.
$ cfdisk /dev/sda # Bunun yerine gparted gibi gui araçları da kullanabilirsiniz.
  1. Diskleri biçimlendirelim:
$ mkfs.ext4 /dev/sda2 # kök dizin
$ mkfs.vfat /dev/sda1 # efi bölümü (sadece uefi kullananlar yapmalı)

Kurulum aşaması

Chroot dışındaki kurulum aşamaları

  1. Diskleri hazırladıktan sonra kuruluma geçebiliriz. Bunun için ilk kök dizin olacak yeri /mnt içine bağlayalım. Bağlanıp bağlanmadığını lsblk veya df komutları ile kontrol edebilirsiniz.
$ mount /dev/sda2 /mnt
  1. Debootstrap ile diskin içine rootfs oluşturalım. Debian tabanı dışındaki dağıtımlarda --arch amd64 parametresini yazmak zorundasınız.
$ debootstrap --arch amd64 --no-merged-usr sid /mnt https://deb.debian.org/debian
  • Burada debian yerine devuan yapmak isterseniz depo adresi olarak https://pkgmaster.devuan.org/merged yazabilirsiniz.
  • Bazı durumlarda gpg hatası alabilirsiniz. Bunu gidermek için --no-check-gpg parametresini eklemeniz gerekir.
  • Burada debian yerine ubuntu yapmak isterseniz depo adresi olarak http://archive.ubuntu.com/ubuntu/ yazabilirsiniz. Kod adını da ona uygun olarak değiştirmelisiniz.
  • --no-merged-usr parametresi usrmerge olarak kurulmasını engeller. Usrmerge kapatmanızı öneririm. Eğer daha sonra açmak isterseniz usrmerge paketini kurabilirsiniz.
  1. Oluşturduğumuz rootfs içine dev sys proc run dizinlerini bağlayalım.
$ for i in dev dev/pts proc sys run; do mount -o bind /$i /mnt/$i; done
  1. Rootfs içerisine chroot ile girelim. Bu aşamadan sonraki tüm adımlar chroot içerisinde yapılacaktır. Chroota girdikten hemen sonra profile dosyamızı etkin hale getirelim.
$ chroot /mnt /bin/bash
$ source /etc/profile # (Bu komut chroot içerisinde çalıştırılmalı)

Chroot içindeki kurulum aşamaları

  1. Kerneli ve grubu kuralım. Uefi kullananlar efi bölümünü /boot/efi dizinine bağlamalılar.
# sadece uefi kullananların yapması gereken kısım
$ mkdir -p /boot/efi
$ mount /dev/sda1 /boot/efi
$ mount -t efivarfs efivarfs /sys/firmware/efi/efivars
# uefi ve legacy için ortak olan kısım
$ apt-get update
$ apt-get install grub-pc-bin grub-efi linux-image-amd64 linux-headers-amd64
$ grub-install /dev/sda
$ grub-mkconfig -o /boot/grub/grub.cfg
  1. Non-free ve Contrib depolarını etkinleştirelim (isteğe bağlı)
$ echo 'deb https://deb.debian.org/debian sid main contrib non-free' > /etc/apt/sources.list
  1. Sürücüleri kuralım (isteğe bağlı)
$ apt-get install bluez-firmware firmware-amd-graphics firmware-atheros \
      firmware-b43-installer firmware-b43legacy-installer firmware-bnx2 \
      firmware-bnx2x firmware-brcm80211 firmware-cavium firmware-intel-sound \
      firmware-intelwimax firmware-ipw2x00 firmware-ivtv firmware-iwlwifi \
      firmware-libertas firmware-linux firmware-linux-free firmware-linux-nonfree \
      firmware-misc-nonfree firmware-myricom firmware-netxen firmware-qlogic \
      firmware-ralink firmware-realtek firmware-samsung firmware-siano \
      firmware-ti-connectivity firmware-zd1211 zd1211-firmware
  1. /etc/fstab dosyasını düzenleyelim. Not: Uefi kullananlar efi bölümünü de ekleyebilirler. Ben şahsen gerekli görmüyorum.

içeriği şu şekilde olmalı:

# UNCONFIGURED FSTAB FOR BASE SYSTEM
/dev/sda2 / ext4 defaults,rw 0 0
  1. Masaüstü ortamı kuralım (isteğe bağlı)
$ apt-get install xorg xinit
$ apt-get install lightdm # giriş ekranı olarak lightdm yerine istediğinizi kurabilirsiniz.
Masaüstü kurulumu
Masaüstü Komut
xfce apt-get install xfce4
lxde apt-get install lxde
cinnamon apt-get install cinnamon
plasma apt-get install kde-standard
gnome apt-get install gnome-core
mate apt-get install mate-desktop-environment-core
budgie apt-get install budgie-desktop
  1. Yeni kullanıcı oluşturalım ve parola atayalım. Not: Sudo kurmadığınızda root yetkisi almak için su komutu kullanmanız gerekir.
$ useradd -m kullanıcıadı -G netdev,audio,video,plugdev,floppy -s /bin/bash
$ passwd kullanıcıadı # kullanıcıya parola atamak için
$ passwd root # root kullancısına parola atamak için
  1. Network-manager kuralım.
# Bunu tüm kullanıcılar kurmalıdır.
$ apt-get install network-manager
# Bunu kde ve gnome kullanıcılarının kurmasına gerek yok.
$ apt-get install network-manager-gnome
  1. Sudo kurulumu ve ayarlamasını yapabilirsiniz (Tavsiye etmem :D)
$ apt-get install sudo
$ usermod -aG sudo kullanıcıadı
  1. Dil ve klavye ayarlarını yapabiliriz. Türkçe Q klavye için klavye varyantı boş bırakılmalıdır. Türkçe F klavye için varyant kısmına f yazılmalıdır.
$ dpkg-reconfigure locales # dil ayarı için
$ nano /etc/default/keyboard # bu dosyayı düzenleyin ve kaydedin.
  1. Grub ekranındaki bekleme süresini kapatabilirsiniz. (isteğe bağlı)

Eğer 0 ayarlarsanız grub ekranı gözükmez. -1 yaparsanız siz tuşa basana kadar sürekli olarak gözükür.

$ sed -i "s/^GRUB_TIMEOUT=.*/GRUB_TIMEOUT=0/g" /etc/default/grub

Kurulumu sonrası aşama

  1. Temizlik yapalım:
$ apt-get clean
  1. Chroot içinden çıkalım ve artık yeniden başlatabiliriz. Eğer hatalı bir şey yapmadıysanız sisteminiz düzgünce açılacaktır.