Debootstrap ile Pardus Chroot Oluşturmak
Tags: debootstrapt, pardus, linux, debian
Published: 2021-09-23 09:51:01

**debootstrap**, bir Debian temel sistemini girilen paket deposunu kullanarak önceden kurulmuş başka bir sistemin alt dizinine kurarak chroot ortamı oluşturmak için kullanılan bir araçtır. **debootstrap** sayesinde kurulum CD'si kullanmaya gerek kalmadan, debian chroot'u oluşturmayı sağlar. 
**debootstrap** ile kurulum için stabil bir internet bağlantısı gerekir, çünkü paketler bir Debian deposundan getirilir. Ayrıca bu araç **dpkg** paket kurucusunu içeren başka bir işletim sisteminden kurulabilir ve çalıştırılabilir, bu nedenle, örneğin, Debian'ı çalışan bir Gentoo sisteminden kullanılmayan bir bölüme kurmak için debootstrap'ı kullanabilirsiniz. "Çapraz debootstrapping" olarak bilinen farklı bir mimariye sahip bir makine için bir rootfs oluşturmak için de kullanılabilir.

Debootstrap, paketleri için yalnızca bir depo kullanabilir. Bir rootfs oluşturmak için farklı depolardaki paketleri birleştirmeniz gerekiyorsa (apt'nin yaptığı gibi) veya rootfs'yi otomatik olarak özelleştirmeniz gerekiyorsa, Multistrap gibi bir araç kullanmak mantıklıdır.

## Her iki adım için gerekli olan bir not
Başlamadan önce bir kurulum betiği symlink'i oluşturmamız lazım. 

```bash
# ln -s sid /usr/share/debootstrap/scripts/yirmibir
```
Böylece daha doğru bir kurulum sağlamış olacağız


## Pardus Chroot Oluşturmak

Bu adımları superkullanıcı olarak işleyeceğiz. İlk olarak bir dizin oluşturalım.

```bash
main # mkdir /pardus-chroot/
```

Şimdi chroot ortamı oluşturalım:

```bash
main # debootstrap yirmibir /pardus-chroot https://depo.pardus.org.tr/pardus/
```

## Debootstrapt ile Pardus kurulumu
Bu adımları da superkullanıcı olarak işleyeceğiz. Bu adımlarla bir disk üzerine Pardus 21 kurabiliriz. İlk olarak `root` diskimizi belirleyelim. Benim için `/dev/sda3` olacak.

```bash
main # mkdir /pardus-chroot/
main # mount /dev/sda3 /pardus-chroot
main # export MY_CHROOT=/pardus-chroot
```
Şimdi Chroot çekelim
```bash
main # cd / 
main # mkdir $MY_CHROOT
main # debootstrap --arch amd64 yirmibir $MY_CHROOT  https://depo.pardus.org.tr/pardus/
```

Şimdi fstab yazalım. Fstab içerisine `proc` ve `sysfs` yazacağız ve bunları bağlayacağız:
```bash
main # echo "proc $MY_CHROOT/proc proc defaults 0 0" >> /etc/fstab
main # mount proc $MY_CHROOT/proc -t proc
main # echo "sysfs $MY_CHROOT/sys sysfs defaults 0 0" >> /etc/fstab
main # mount sysfs $MY_CHROOT/sys -t sysfs
```
İnternet bağlantısı sağlamak için `hosts` dosyasını kopyalayalım. Ayrıca bağlı disk listesi için `mtab` dosyasını da kopyalayalım.
```bash
main # cp /etc/hosts $MY_CHROOT/etc/hosts
main # cp /proc/mounts $MY_CHROOT/etc/mtab
```

Şimdi chroot içerisine girelim:
```bash
main # chroot $MY_CHROOT /bin/bash
```
Şimdi `dselect` ile gerekli olan paketleri kuralım:
```bash
chroot # dselect
```

Şu methodları kullanarak herhangi bir kurulum yapabiliriz.
```
     dselect - list of access methods
       Abbrev.        Description
       cdrom          Install from a CD-ROM.
     * multi_cd       Install from a CD-ROM set.
       nfs            Install from an NFS server (not yet mounted).
       multi_nfs      Install from an NFS server (using the CD-ROM set) (not yet mounted).
       harddisk       Install from a hard disk partition (not yet mounted).
       mounted        Install from a filesystem which is already mounted.
       multi_mount    Install from a mounted partition with changing contents.
       floppy         Install from a pile of floppy disks.
       apt            APT Acquisition [file,http,ftp]
```


Şimdi login için öntanımlı bir tty belirleyelim:
```bash
chroot # mknod tty8 c 4 8
```
Ve root için bir şifre belirleyelim
```bash
chroot # passwd
```
Şifreyi belirttikten sonra `chroot`dan çıkalım. Artık hazırız.