Beberapa hari ini saya harus menginstall beberapa server dengan fungsi khusus, seperti server printer dan server fax. Alih-alih menginstall masing-masing server menggunakan media installer standar kemudian menyetel satu persatu. Saya menginstall satu mesin, menyetel dengan benar sistem di mesin tersebut. Setelah itu menyalin sistem secara keseluruhan pada komputer-komputer lainnya. Dan terakhir menyetel kebutuhan khusus masing-masing server.
Metode instalasi yang dijelaskan disini, adalah rangkuman hasil catatan setelah melakukan instalasi. Bukan didokumentasikan saat instalasi. Akan sangat memungkinkan terdapat kekeliruan penulisan perintah dan lain sebagainya. Koreksi dan usulan sangat terbuka dari para penerap dan pengguna GNU/Linux secara umum.
Meski tulisan ini berbasis distribusi Debian, tapi saya sangat yakin bisa diterapkan untuk distribusi lainnya.
Cara seperti ini sebenarnya mirip dengan cara diterapkan pada distribusi-distribusi yang diinstall dari live-cd
Berikut langkah-langkah yang telah saya lakukan:
Instalasi menggunakan DVD/CD
DVD/CD iso image instalasi bisa di dapatkan dari alamat ini http://kambing.ui.ac.id/iso/debian/. Jika anda kesulitan untuk mengunduh file iso dari server tersebut, bisa mendapatkan dari saya dengan mengirim ongkos kirim saja.
Jalankan proses instalasi dengan memilih base system, tanpa menghubungkan kartu jaringan. Tujuannya agar saat instalasi hanya menggunakan media lokal DVD/CD saja.
Setelah selesai melakukan proses instalasi, lanjutkan dengan menyetel sistem sesuai dengan fungsinya.
Membuat Salinan Struktur Direktori
Karena dalam kasus yang saya kerjakan ini sistem yang disetel awal cuma mempunya kapasitas 1281 MB. Dan setelah memangkas perangkat lunak yang tidak diperlukan, termasuk man page. Maka dengan sangat terpaksa, salinan struktur direktori harus disimpan ke server file. Mungkin ini salah satu trik yang jarang digunakan. Ya, saya tahu kita bisa melakukan ini dengan menggunakan share direktori dari server nfs atau server smb. Tapi saya ingin melakukannya dengan cara lain.
Dengan contoh server yang sudah jadi adalah printer server dengan alamat IP 10.5.1.18, dan file server adalah 10.5.1.10. Dimana server file mempunyai layanan openssh yang aktif.
Buat daftar file atau direktori yang tidak akan disalin, biasanya file/direktori yang akan dibuat saat sistem berjalan. Misalnya direktori /proc, /dev/ (jika menggunakan udev), /tmp, dan sebagainya. Sebagai contoh file /etc/rsync-exclude berisi baris-baris berikut,
/lib/init/rw /dev/shm /target /tmp /lost+found /proc /sys
Salin struktur direktori ke file server dengan perintah:
printerserver:~# /usr/bin/rsync --delete \ --exclude-from=/etc/rsync-exclude \ -avr / root@10.5.1.10:/root/printerserver >/dev/null 2>&1
Tunggu sampai proses penyalinan selesai. Lamanya tergantung dari besar filesistem yang disalin. Di sisi server akan dibuat direktori /root/printerserver yang berisi salinan seluruh file dan direktori dari struktur direktori printerserver.
Menyiapkan Target
Pasang harddisk target pada server file dimana struktur printer server disalin.
Dalam kasus yang saya kerjakan ini, harddisk target dikenali sebagai /dev/hdd
[root@ftp ~]# fdisk -l Disk /dev/hdd: 20.8 GB, 20847697920 bytes 16 heads, 63 sectors/track, 40395 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 9729 78043770 8e Linux LVM
dan /dev/sda adalah sistem yang sedang berjalan.
Buat partisi sesuai dengan kebutuhan menggunakan perintah fdisk.
[root@ftp ~]# fdisk /dev/hdd The number of cylinders for this disk is set to 40395. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-40395, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-40395, default 40395): +19000M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (36817-40395, default 36817): Using default value 36817 Last cylinder or +size or +sizeM or +sizeK (36817-40395, default 40395): Using default value 40395
Saya ingin menggunakan kapasitas harddisk yang cuma 20Gb ini untuk sistem dan data 19Gb dan untuk swap 1Gb. Sehingga partisi kedua harus diubah tipe nya menjadai partisi swap.
Command (m for help): p Disk /dev/hdd: 20.8 GB, 20847697920 bytes 16 heads, 63 sectors/track, 40395 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/hdd1 1 36816 18555232+ 83 Linux /dev/hdd2 36817 40395 1803816 83 Linux Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 82 Changed system type of partition 2 to 82 (Linux swap / Solaris) Command (m for help): p Disk /dev/hdd: 20.8 GB, 20847697920 bytes 16 heads, 63 sectors/track, 40395 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/hdd1 1 36816 18555232+ 83 Linux /dev/hdd2 36817 40395 1803816 82 Linux swap / Solaris
Proses membuat partisi sudah selesai.
Langkah selanjutnya adalah membuat filesystem ext3 pada partisi pertama.
[root@ftp ~]# mkfs -t ext3 /dev/hdd1 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 2321984 inodes, 4638808 blocks 231940 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 142 block groups 32768 blocks per group, 32768 fragments per group 16352 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 30 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
Diikuti membuat swap file sistem pada partisi kedua
[root@ftp ~]# mkswap /dev/hdd2 Setting up swapspace version 1, size = 1847103 kB
Kaitkan partisi target pada sebuah direktori, /mnt misalnya:
[root@ftp ~]# mount /dev/hdd1 /mnt/ [root@ftp ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 72G 12G 56G 18% / /dev/sda1 99M 12M 83M 13% /boot tmpfs 184M 0 184M 0% /dev/shm /dev/hdd1 18G 173M 17G 2% /mnt
Salin struktur direktori sumber ke mount point partisi target.
[root@ftp ~]# rsync -avr printerserver/ /mnt/
Sesuaikan Setelan Umum
Pertama adalah partisi yang akan digunakan saat proses boot. Edit file /mnt/etc/fstab.
[root@ftp ~]# vi /mnt/etc/fstab # proc /proc proc defaults 0 0 /dev/hda1 / ext3 errors=remount-ro 0 1 /dev/hda2 none swap sw 0 0
kemudian simpan. Dengan menekan berturut-turut tombol [Esc] [:] [w] [q].
Edit file /mnt/boot/grub/menu.lst, berikut contoh isi file tersebut:
default 0 timeout 5 color cyan/blue white/blue title Debian GNU/Linux, kernel 2.6.26-2-686 root (hd0,0) kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro quiet initrd /boot/initrd.img-2.6.26-2-686 title Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode) root (hd0,0) kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro single initrd /boot/initrd.img-2.6.26-2-686
Edit file konfigurasi TCP/IP, sesuaikan dengan topologi jaringan dimana server akan diletakkan.
[root@ftp ~]# vi /mnt/etc/network/interfaces
contoh isi file adalah,
# The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address 10.1.1.18 netmask 255.255.0.0 network 10.1.0.0 broadcast 10.1.255.255 gateway 10.1.1.10 dns-nameservers 10.1.1.10
Install boot loader pada harddisk target
[root@ftp ~]# grub-install --recheck --root-directory=/mnt/ /dev/hdd Probing devices to guess BIOS drives. This may take a long time. Installation finished. No error reported. This is the contents of the device map /mnt//boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script `grub-install'. (fd0) /dev/fd0 (hd0) /dev/hdd (hd1) /dev/sda
Lepaskan partisi target dari file server, matikan fileserver dan cabut harddisk target.
Pasang harddisk pada mesin target dan lakukan proses boot dari harddisk. Lakukan penyesuaian yang terlupa sebelumnya.
Selesai.