Bu belgede, uzaktaki bir makineye, tamamen internet veya yerel ağ üzerindeki erişimimizi kullanarak Debian Gnu/Linux kurulumunun nasıl yapılabileceğini izah etmeye çalışacağız. Bunun içinde elbetteki yine uzaktaki makinede hazlihazırda çalışmakta olan herhangibir Linux/Unix dağıtımını kullanacağız. Bu dağıtım Debian olabileceği gibi farklı bir Linux/Unix dağıtımıda olabilir.
Yazan : Serdar Aytekin - serdar~aytekin.web.tr Versiyon : 1.0.0 Son Güncellenme Tarihi : 05-12-2004
Belgede yazılanların uygulanıp uygulanmaması tamamen uygulayan kişinin sorumluluğundadır. Belgede bahsedilenlerin uygulanması sonucu ortaya çıkabilecek hertürlü zarardan yazar sorumlu tutulamaz. Belge GNU Özgür Belgeleme Lisansının http://www.gnu.org/copyleft/fdl.html adresinde yer alan -son sürümdeki- lisans içeriğine bağlı kalmak koşulu ile aynen yada kısmen dağıtılabilir, yayınlanabilir.
Bu belgenin son sürümüne;
http://www.serdaraytekin.com/docs/os/debian/remote-debian-installation.html adresinden ulaşabilirsiniz.
Bu belgede, uzaktaki bir makineye, tamamen internet veya yerel ağ üzerindeki erişimimizi kullanarak Debian Gnu/Linux kurulumunun nasıl yapılabileceğini izah etmeye çalışacağız. Bunun içinde elbetteki yine uzaktaki makinede hazlihazırda çalışmakta olan herhangibir Linux/Unix dağıtımını kullanacağız. Bu dağıtım Debian olabileceği gibi farklı bir Linux/Unix dağıtımıda olabilir.
Amacımız farklı bir dağıtım ile çalışan makineye, Debian Gnu/Linux kurup, makineyi Debian'a geçirmek olabilir veya uzaktaki makineye taktığımız başka bir diske Debian kurup bu diski kurulumu yaptığımız makine ile aynı donanımsal özelliklere sahip başka bir makineye takarak çalıştırmak olabilir.
Bu işlemi yaparken kullanacağımız araç debootstrap olacaktır. Bu yazılımın .deb paketinin dışında .rpm paketlerinide kolayca bulmak mümkün. Kullandığımız makine bu paket sistemlerinden herhangibiri ile uyumlu değilsede uygulanacak çözüm ilgili kısımda belirtilmiştir.
Kurulumu yapacağımız diskimizde "/" ve "swap" için gerekli alanı ayırmakla işe başlamalıyız. Bunun için ben "cfdisk" aracını tercih ediyorum, ancak siz bu işlemi "fdisk" ile de yapabilirsiniz.
Kurulum için, /dev/sdb1'yı kök dizini belirlemek üzere ve /dev/sdb2 'yi de takas alanı belirlemek üzere fdisk ile ayırmış olalım.
Ext3 için /dev/sdb1'yı kullanıma hazırlayalım
* mke2fs -j /dev/sdb1
veya
* mkfs.ext3 /dev/sdb1
ile /dev/sdb1 bölümünü ext3 olarak tanımladık.
/dev/sdb2'yi fdisk işlemi sırasında takas alanı olarak işaretlemişsek,
* mkswap /dev/sdb2 * sync;sync;sync * swapon /dev/sdb2
ile bu disk bölümününde swap alanı olarak kullanılacağını belirtelim ve aktif edelim. Şimdi kurulumu yapacağımız /dev/sdb1 bölümünü bir isim vererek var olan diskimize bağlayalım.
* mkdir /mnt/debinstall * mount /dev/sdb1 /mnt/debinstall/
Evet, artık debootstap aracına ihtiyacımız var. Şayet kurulum için kullandığımız makine Debian ise işimiz çok kolay
* apt-get install debootstrap
Makine Debian değilse ve rpm uyumlu bir dağıtım ise http://people.debian.org/~blade/install/debootstrap/ adresinden rpm paketini çekip kuruyoruz. Yalnız bu adresde bulunan paketlerin ilaveten zip ile arşivlenmiş ve şifre ile korunmuş olduğuna dikkat ediniz. Paketler için gerekli olan şifre "phrase" olarak belirtilmiş (teyit için ilgili siteye bakınız).
Şayet kullandığınız sistem deb veya rpm için uyumlu değilse, bu durumda aşağıdaki yöntemi izleyebilirsiniz. Önce işlemlerimizi yapmak için bir dizin oluşturalım. Bu dizini oluşturmak şart olmamakla birlikte düzenli çalışmak için tavsiye edilir.
* mkdir work * cd work
http://packages.debian.org/debootstrap adresinden ilgili linki bulup wget ile indirelim.
wget http://ftp.tr.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.2.45_i386.deb (bu satır için yukarıdaki adresten faydalanınız.)
* ar -xf debootstrap_0.2.45_i386.deb * tar xzf data.tar.gz -C /
Evet artık /usr/sbin/ dizininde "debootstrap" binary'si bulunuyor olacak.
Debootstrap paketini yukarıdaki yöntemlerin herhangibiri ile kurmuşsak işlemlerimize devam edebiliriz.
* /usr/sbin/debootstrap --verbose --arch i386 sarge /mnt/debinstall http://ftp.tr.debian.org/debian
Yukarıda i386 mimarisi için sarge'nin /mnt/debinstall ile tanımlanan disk bölümüne http://ftp.tr.debian.org/debian deposundan kurulması istenmiştir. "--verbose" ile de yapılan işlemlerin kullanıcıya yansıtılması sağlanır. Siz bu parametreleri kendi sisteminize göre şekillendirebilirsiniz.
Kolaylık olması açısından aşağıdaki kopyalamaları ilgili dizinlere yapmanızda fayda var
* cp /etc/resolv.conf /mnt/debinstall/etc/resolv.conf * cp /etc/hosts /mnt/debinstall/etc/hosts
kurulum için kullandığınız makine de Debian ise;
* cp /etc/network/interfaces /mnt/debinstall/etc/network/interfaces
* chroot /mnt/debinstall/ /bin/bash
/etc/fstab dosyasını oluşturarak işlemlerimize devam edelim. Yukarıda /dev/sdb1 ve /dev/sdb2 yi kullandığımız için örnek bir /etc/fstab dosyası şu şekilde olabilir.
/dev/sdb1 / ext3 defaults 0 0
/dev/sdb2 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /mnt/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0
* mount -a (/etc/fstab daki verilere göre bağlama işlemini yapalım)
* mount -t proc proc /proc (Yukarıdaki işlem başarılı bir şekilde olmuşsa buna gerek olmuyacak)
ile "proc" tipindeki dosya sistemine sahip yine "proc" isimli sürücüyü /proc olarak bağlayalım.
Klayve ayarlarını yapalım;
dpkg-reconfigure console-data
Ağ ayarlarını yapalım;
Yukarıda /etc/network/interfaces dosyasını ilgili yere aktarmışsak herhangibir editör ile bu dosyayı açıp uygun hale getirebiliriz. Şayet bu dosya elimizde yoksa,
/etc/network/interfaces dosyasını aşağıdaki örnekten faydalanarak oluşturalım.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
nameserver 155.223.2.2 nameserver 212.156.174.35
Makinemize bir işim verelim; (aslında bu işlem işlerin yolunda gitmesi için bu aşamada şart bir adım değil)
echo "makine_ismi" > /etc/hostname
veya
hostname <makine_ismi>
Yukarıdaki işlemleri tamamladıktan sonra ağımızı restart ederek, internet erişimimizi kontrol edelim.
/etc/init.d/networking restart
Buraya kadar herşey yolunda ise, sırada temel ayarların yapılmasına geldi. Bunun için sırasıyla;
mount -t proc proc /proc base-config
ile temel sistem yapılandırmasını başlatıyoruz.
"base-config" komutu ile yukarıdaki ayarların yapılmasını sağlayacağız. Önce bölgesel ayarlar, ardından root için şifre atanması ve sistemde normal bir kullanıcı oluşturulup buna şifre atanması işlemlerinden sonra apt ayarlarına geçebiliriz. Bu kısımda /etc/apt/sources.list dosyamızın uygun şekilde oluşmasını sağlayarak daha sonraki adımlarda ihtiyacımız olacak olan paketleri kurabilmeyi hedefliyoruz.
Yukarıdaki menüden gerekli olan ayarları yapmışsak, sırada yerel ayarlarını yapmaya geldi. Bu kısımda daha sonraki paketlerin sağlıklı bir şekilde kurulabilmesi için önemli.
apt-get install locales dpkg-reconfigure locales
Bu kısımdaki ayarlarıda dikkatlice yapmışsak sisteme önyükleyici yöneticisi ve çekirdek yüklemenin zamanı geldi demektir.
apt-get install grub
Çekirdek için;
apt-cache search kernel-image
apt-get install kernel-image-2.6.8-1-386 (bu sürüm örnek olarak verilmiştir, farklı bir sürüm yükleyebilirsiniz.) Do you want to stop now? [Y/n]
Sorusuna n yani hayır diyerek devam ediyoruz.
Bu kısımdaki işlemlerde bitince, sisteme çekirdek (kernel) kurulmuş olacak. En önemli adımlardan biriside bu çekirdeğin önyükleyici yöneticisi içerisinden aktif edilmesi işlemi. Bu kısımdaki işlemlerin halihazırda çalışan sisteminizin açılış düzenini bozmaması için dikkatli olunuz.
update-grub (/boot/grub/menu.lst dosyasının otomatik olarak oluşturulmasını sağlar ) grub-install /dev/sdb
ile grub tarafından yeni kurulan çekirdeğin tanınmasını sağladık. Kaydın varlığından emin olmak için "/boot/grub/menu.lst" dosyamızı kontrol edebiliriz.
Sisteminizi, kurulumu yaptığımız makinede çalıştırmak üzere tasarlamışsanız, reboot edip test edebilirsiniz. Bu kısım artık işin en kritik noktası, zira makinenize fiziksel olarak ulaşım yapabileceğiniz bir konumdan çok uzaksanız makineniz uzun süre kapalı kalabilir :) Bunun için tüm adımları vede özellikle ön yükleyici yöneticisi ile ilgili işlemleri kontrol ederek, herhangibir eksikliğin olmadığına emin olmaya çalışın.
shutdown -r now
timeout opening writing control channel /dev/initctl
şeklinde bir hata alırsanız ve makine reboot etmezse aşağıdaki çözümü uygulayın;
exec /sbin/init
bu işlemden sonra tekrar "shutdown -r now" ile makinenizin yeni sistem ile açılmasını test edebilirsiniz.
Şayet, kurulumu yaptığınız diski alıp farklı bir makineye takıp çalıştıracaksanız (diğer makineninde kurulumu yaptığımız makine ile aynı donanımsal özelliklere sahip olduğunu farz ediyoruz), diski makineden söküp ilgili makineye takarak test edebilirsiniz. Bu işlem yukarıdakine göre daha nispeten daha az kritiktir, en azından halihazırda çalışan bir sistemin durmasına sebep olmaz.
Her iki durumda da ilk reboot işleminden sonra;
cd /dev ./MAKEDEV update
sürücülerin kontrol edilmesi ve eksik varsa giderilmesi açısından faydalı ve gerekli olabilir.