25 Ekim 2018 Perşembe

Debootstrap ile minimal kurulum

Nedir bu Debootstrap denirse?
Masaüstünüz de müzik dinleyerek, internette sörf yaparak, herhangi bir .iso filan da indirmeden yapılan, konforlu bir yükleme çeşitidir.

Masa üstünüzden (uzak konsol olayı ile başka bir bilgisayara da kurulum yapabilir) boş bir dizine, konsol yardımıyla (Chroot ile) seçtiğiniz dağıtımın taban sistemi (base-system) kurmaya yarayan bir uygulamadır.

Fakat bir takım ayarlamaları da (fstab, network, vs.) düzenlemelerini de size bırakır.

 Dolayısıyla biz bu taban sistem üzerine, kernel'di, xorg'tu vs. uygulamaları kendimiz giydiriyoruz ki bu haliyle Debootstrap ileri bir kurulum aşaması oluyor.
Yani bir nevi sıfırdan Debian kurmuş oluyoruz.

[ Bu yüzden bu rehber yeni Linux kullanıcılarına hitap etmez!
Bunu denemeleri tavsiye edilmez! ]

Orta ve ileri düzey kullanıcı iseniz deneyiniz.
Zira oluşacak bir sorunu araştırıp çözmeyi, olası ayarları geri almayı veya değiştirmeyi bilmeniz gerekmektedir.
Komutlar donanımdan donanıma farklılık gösterebilir, bu da kurulumu zorlaştırabilir.

Hasılı konsol hakimiyetiniz yoksa, bu işe hiç kalkışmayın.

Öncelikle hangi disk bölümünüze kurulum yapacağınıza karar vermelisiniz, sda3, sda4 vb. gibi. Tamamen boş bir dizin lazımdır bize.
Bu kararı iyi veriniz, zira olası yanlış bir komutta sisteminizi uçurmanız çok kolay olacaktır.
Önemli bilgilerinizi yedeklemekte iyi fikirdir.

Debootstrap'ı kuralım.
# apt install debootstrap

Debootstrap ile çalışacağımız dizinimizi oluşturalım. (xfce ismini değiştire bilirsiniz, size kalmış.)
# mkdir /mnt/xfce

Hazır olan o boş dizinimizi buraya bağlayalım.
# mount /dev/XXXX /mnt/xfce

Şimdi kurulum yapmaya hazırız, şöyle bir komutumuz var.
debootstrap --arch=amd64 --variant=minbase stretch /mnt/xfce http://ftp.debian.nl/debian
--arch=amd64 : // Bunu isterseniz i386 da yapabilirsiniz.
--variant=minbase : // Bu taban sistemi minimal kurmaya yarar, isterseniz bu komutu çıkarıp, taban sistemi full kurabilirsiniz.
stretch : // Ben Debian'ın stretch dağıtımını seçtim, bunu ayrıca jessie, sid, buster gibi de değiştirebilirsiniz, hangisini seçerseniz o kurulur.
http://ftp.debian.nl/debian : // Bu adreside değiştirebilirsiniz.
Daha fazla ayar için man sayfasına bkz.
Tamamsa kuruluma geçelim.
# debootstrap --arch=amd64 --variant=minbase stretch /mnt/xfce http://ftp.debian.nl/debian
...
I: Configuring apt...
I: Configuring libc-bin...
I: Base system installed successfully.
Taban sistem kuruldu.

Şimdi CHROOT ile taban dizinin yüklendiği bu bölüme bağlanalım.
# mount -o bind /dev /mnt/xfce/dev
# mount -t proc /proc /mnt/xfce/proc
# chroot /mnt/xfce
....
root@debian:/#
CHROOT ta konsol ekranı böyle görünür.

Sistemi Türkçe kullanacaksak dil olayını ayarlayalım.
# apt install locales
ve
# dpkg-reconfigure locales

Gelen more ekranın da, dil numarasına bakalım ve enterle sona gelip, Türkçe için 438 yazıp, enterleyelim.
Ardından gelen seçimde 3 diyelim (3. tr_TR.UTF-8) enterleyelim.

Kontrol için.
env | grep LANG
locale

Bu aşamada CHROOT dizinin de bazı dosyaları düzenleyeceğiz, bunun için Chroot'ta nano kurabilirsiniz veya daha kolay olması için, kendi dosya yöneticinizi (dolphin, caja vs.) root ile başlatıp bu dosyaları düzenleyebilirsiniz, tercih sizin.

/etc/apt/apt.conf.d/10norecommends (oluştur) içine bunu ekleyin. Bu paket yüklerken bağımlılıklarını yüklemeyecektir.
APT::Install-Recommends "0";
APT::Install-Suggests "0";

/etc/apt/sources.list içine kendi özel depo adreslerinizi ekleyiniz. örnek liste.
deb http://ftp.debian.nl/debian/ stretch main non-free contrib
deb-src http://ftp.debian.nl/debian/ stretch main non-free contrib
deb http://http.debian.net/debian stretch main contrib

deb http://security.debian.org/debian-security stretch/updates main contrib non-free 
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free

deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://ftp.debian.nl/debian/ stretch-updates main contrib non-free
deb http://ftp.debian.nl/debian stretch-backports main
# apt update ; apt upgrade

Dev dizini ayarlansın.
# apt install makedev ; cd /dev ; MAKEDEV generic

/etc/fstab blkid ile diskinizin UUID numarasını bulup, XX olan yere yazın " / " silmeyin.
UUID=XX    /               ext4    errors=remount-ro 0       1
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

Medya dizinini ayarlayalım.
# cd /media ; mkdir cdrom0 ; ln -s cdrom0 cdrom ; cd / ; ln -s media/cdrom

Saati ayarlayalım. Çıkan ekranda önce 8 (Avrupa) sonra 20 (Istanbul) diyelim.
# dpkg-reconfigure tzdata
...
Current default time zone: 'Europe/Istanbul'
Local time is now:      Thu Oct 25 00:32:05 +03 2018.
Universal Time is now:  Wed Oct 24 21:32:05 UTC 2018.

Klavyeyi ayarlayalım. Çıkan ekranda 1 seçelim (Türkçe Q Klavye)
# apt install console-setup

Şimdi paketlerin kurulumuna geçebiliriz.

Sistem için lazım bazı araçlar.
# apt install network-manager policykit-1 xinit usbutils net-tools xserver-xorg systemd-sysv zenity x11-xserver-utils xfonts-base
# apt install firmware-misc-nonfree firmware-linux-nonfree

Kernel kurulumu. Önce arayın.
# apt search linux-image

Sonrada kurun. (an için bunu kurabilirsiniz, sonra sürüm no değişecektir, yeni olanı kurarsınız.)
# apt install linux-image-4.9.0-8-amd64

Sıra geldi masaüstü kurmaya, artık hangi masaüstünü beğeniyorsanız onu kurabilirsiniz, tercih tamamen sizin. Ben burada minimal kurulum olduğu için, Xfce yi minimal kuracağım.
# apt install xfce4-panel xfdesktop4 xfwm4 xfce4-settings xfce4-session xfce4-terminal slim thunar

Bunlarda isteğe bağlıdır.
# apt install xfonts-cyrillic ttf-mscorefonts-installer atril pulseaudio openjdk-8-jre-headless icedtea-8-plugin openjdk-8-jre quodlibet vlc util-linux-locales laptop-detect

Sıra geldi Network ağ ayarlarına.
/etc/network/interfaces (oluştur) içine ekle, bu ethernet ayarı, wlan kullanmıyorum ayarını da bilmiyorum onu ekstra araştırmanız gerekir.
auto lo
iface lo inet loopback

/etc/hosts (oluştur)
127.0.0.1 localhost
127.0.1.1 debian
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Grubu kuralım.
# apt install grub-pc ; update-grub

root şifresini ayarlayalım.
# passwd root

Kullanıcıyı ayarlayalım. xxxx yazan yere yeni kul. adı girin.
# adduser xxxx
Kullanıcı şifresi belirleyin.
# passwd xxxx

NOT:
CHROOT'tan ayrılmadan ayarlarınızı yeniden kontrol ediniz, zira restart'tan sonra ikinci CHROOT girişi yapıldığında net bağlantısı olmuyor, belki bir çözümü vardır ama bilmiyorum niye olmuyor, o yüzden çıkış yapmadan önce tekrar bi kontrol etmenizde fayda var.


İşimiz bitti.

Chroot dizinini ayıralım.
# exit
# umount /mnt/xfce/*
# umount /mnt/xfce/

mount ile kontrol ediniz, artık chroot dizininin bağlı olmaması lazım.

Son olarak kendi grubumuzu da bir güncelleyelim, minimal dizin grube eklensin.
# update-grub
Restart yapıp minimal kurulumu kontrol edebilirsiniz.

Tabii olay sadece bu kadar değildir, biz bu yöntemle oldukça minimal bir sistem oluşturmuş olduk, daha pek çok ayar geridedir.
Ama nedir, taban sistemi bile kendimiz kurmuş olduk, ayrıca ekstra bağımlılıkları da kurmadık..
Artık bundan sonrası userin becerisi ve hayal gücüne bakar, her türlü aksiyon debootstrap yöntemi ile yapılabilir.


İlk masa üstünüze geldiğiniz de, ayarlarda ki görünüm de simge, yazıtipini ayarladığınızda, alt paneli de kaldırdığınızda olay aynen böyledir.

Performans için Debootstrap harika bir çözümdür.
150-160mb ram, 100-110 civarı task/süreç ile bu sistem uçar gider. :)

Tabi bir sürü şey yüklendikçe, ram kullanımı artar ama o da sorun değildir, sonra geri iner nasıl olsa. Ayrıca sisteme birde swap eklenirse fena olmaz.

Zaten ram ne için vardır, kullanılsın diyedir, kullanılmayan ram, bizden değildir.  :)


Yararlanılan kaynaklar:
https://www.debian.org/releases/stable/i386/apds03.html
https://willhaley.com/blog/custom-debian-hard-drive-install/


Benzer Yayınlar

Debootstrap ile minimal kurulum
4/ 5
Oleh

Abone Olun!

Beğendiyseniz yayınlara abone olabilirsiniz.