Size: 3518
Comment:
|
← Revision 44 as of 2011-05-31 16:43:31 ⇥
Size: 5743
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
/!\ This is a work in progress, this means that I'm on it right now, it is not finished yet and it may breake your system! === Caveat === As you may already have guessed following this instruction may breake your systme and you are on your own to fix it again. |
/!\ This is a work in progress, it is not mature yet and it may break your system! == Caveat == As you may already have guessed following this instruction may break your system and you are on your own to fix it again. apt-get install linux-image-686 == Scenario == This instruction describes how to install Ubuntu on a dedicated server over ssh. I assume that your provider provides you with a rescue system from which you can boot and prepare your system. An Online replacement is possible, but it is some more work and a lot more risky if things go bad (the basic idea is to temporarily disable your swap and install a transitional system on it). |
Line 8: | Line 11: |
Use {{{fdisk}}} to partion your hard disk. | Use {{{fdisk}}} to partition your hard disk. |
Line 13: | Line 16: |
Remember to set the root partition bootable! |
|
Line 15: | Line 20: |
/dev/hda1 (83 Linux) - for / | /dev/hda1 (83 Linux) - for /, |
Line 19: | Line 24: |
=== Creating Filesystems === | === Creating File Systems === |
Line 25: | Line 30: |
And the same for our swap partion. | And the same for our swap partition. |
Line 36: | Line 41: |
=== Mountig Root === | === Mounting Root === |
Line 42: | Line 47: |
=== Getting debootstrap === | === Getting Debootstrap === |
Line 49: | Line 54: |
# wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.32_all.deb # dpkg -i debootstrap_0.3.3.0ubuntu2_all.deb }}} If your current system is rpm based, use alien to install it or find a rpm on the web (http://azhrarn.underhanded.org/debootstrap-0.2.23-1.i386.rpm). If your system is neither, this might work. {{{ # mkdir /work; cd /work |
|
Line 50: | Line 64: |
# dpkg -i debootstrap_0.3.3.0ubuntu2_all.deb }}} If your current system is rpm based, use alien to install it or find a rpm on the web (http://azhrarn.underhanded.org/debootstrap-0.2.23-1.i386.rpm). |
# ar -xf debootstrap-udeb_0.3.3.0ubuntu7_i386.udeb # cd / # tar zxvf work/data.tar.gz }}} |
Line 61: | Line 77: |
(arch may be different for you, e.g. md64, hppa, ia64, powerpc, or sparc) === Basic Configuration === |
(arch may be different for you, e.g. amd64, hppa, ia64, powerpc, or sparc) == Basic Configuration == === Set the Hostname === Change HOSTNAME to whatever suits your environment. |
Line 68: | Line 86: |
=== Chrooting === | === fstab === {{{ # vim /mnt/ubuntu/etc/fstab }}} Put the following in fstab: {{{ # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount-ro 0 1 /dev/hda2 none swap sw 0 0 }}} === Networking === Make sure to use your network details instead. {{{ ## /mnt/ubuntu/etc/network/interfaces #Network Config: # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 10.0.0.10 network 10.0.0.0 broadcast 10.0.0.255 gateway 10.0.0.1 netmask 255.255.255.0 }}} Make sure to use your hostname and domain. {{{ ## /mnt/ubuntu/etc/hosts 127.0.0.1 localhost 127.0.0.1 hostname.domain.tld hostname }}} You need a valid resolv.conf with at least one valid nameserver, e.g.: {{{ ## /mnt/ubuntu/etc/resolv.conf nameserver 10.0.0.1 }}} == Enter the new environment == Before we chroot into the new environment we need to mount /proc and /dev |
Line 75: | Line 144: |
=== Change the root password === It is just bad if you forget this, so just .... {{{ # passwd }}} === Create a user and switch shadow password on === {{{ # dpkg-reconfigure --default-priority passwd }}} == Installing Packages == {{{ # apt-get update }}} |
|
Line 78: | Line 163: |
apt-get install openssh-server | # apt-get install openssh-server |
Line 82: | Line 167: |
{{{ apt-get install .... }}} === Installing GRUB === {{{ apt-get install grub mkdir /boot/grub cp /lib/grub/i386-pc/* /boot/grub vim /boot/grub/grub.conf }}} {{{ # /boot/grub/grub.conf default 0 timeout 3 title=Ubuntu root (hd0,0) kernel /vmlinuz root=/dev/hda1 initrd /initrd.img }}} {{{ ln -s /boot/grub/grub.conf /boot/grub/menu.lst }}} {{{ # grub }}} {{{ grub> root (hd0,0) grub> setup (hd0) grub> quit }}} |
Choose the right kernel for your architecture. I go with: {{{ # apt-get install linux-image-686 }}} === RAID === {{{ apt-get install mdadm }}} |
Line 128: | Line 182: |
# cd / | |
Line 138: | Line 193: |
=== Finishing === | == Finishing == After the reboot ssh in again. === Generate locales === {{{ # locale-gen en_US.UTF-8 # echo 'LANG="en_US.UTF-8"' >> /etc/environment # echo 'LANGUAGE="en_US:en"' >> /etc/environment }}} === Install some more packages === |
Line 144: | Line 209: |
* ["Installation/FromKnoppix"] * [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml The Gentoo Handbook] contains a very good (Gentoo specific) [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1 instruction on chrooted installation procedures]. * [http://doc.ubuntu.com/ubuntu/install/i386/apds03.html An other instruction] from the [http://doc.ubuntu.com/ubuntu/install/i386/index.html Ubuntu Installation Guide] is somewhat outdated and has shortcomings related to the bootloader installation. |
* [[Installation/FromKnoppix]] * [[http://www.gentoo.org/doc/en/handbook/handbook-x86.xml|The Gentoo Handbook]] contains a very good (Gentoo specific) [[http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1|instruction on chrooted installation procedures]]. * [[http://doc.ubuntu.com/ubuntu/install/i386/apds03.html|An other instruction]] from the [[http://doc.ubuntu.com/ubuntu/install/i386/index.html|Ubuntu Installation Guide]] is somewhat outdated and has shortcomings related to the bootloader installation. |
Line 150: | Line 215: |
* [http://www.underhanded.org/papers/debian-conversion/remotedeb.html HOWTO - Install Debian Onto a Remote Linux System] - A Debian specific HOWTO. | * [[http://www.underhanded.org/papers/debian-conversion/remotedeb.html|HOWTO - Install Debian Onto a Remote Linux System]] - A Debian specific HOWTO. |
This is a work in progress, it is not mature yet and it may break your system!
Caveat
As you may already have guessed following this instruction may break your system and you are on your own to fix it again. apt-get install linux-image-686
Scenario
This instruction describes how to install Ubuntu on a dedicated server over ssh. I assume that your provider provides you with a rescue system from which you can boot and prepare your system. An Online replacement is possible, but it is some more work and a lot more risky if things go bad (the basic idea is to temporarily disable your swap and install a transitional system on it).
Preparing the Hard Disk
Partitioning
Use fdisk to partition your hard disk.
# fdisk /dev/hda
Remember to set the root partition bootable!
For the rest of this instruction we assume the following partition layout.
/dev/hda1 (83 Linux) - for /, /dev/hda2 (82 Linux swap) - as swap
Creating File Systems
Below is how we get our / populated with ext3.
# mke2fs -j /dev/hda1
And the same for our swap partition.
# mkswap /dev/hda2 # sync; sync; sync # swapon /dev/hda2
The Base System
Mounting Root
# mkdir /mnt/ubuntu # mount -t ext3 /dev/hda1 /mnt/ubuntu
Getting Debootstrap
Debootstrap is a collection of scripts that we will use in the next step to set up a base system. We need an appropriate version of debootstrap from http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/ to make this work.
Make sure that binutils is installed on your system.
On an apt based system we can use dpkg to install it.
# wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.32_all.deb # dpkg -i debootstrap_0.3.3.0ubuntu2_all.deb
If your current system is rpm based, use alien to install it or find a rpm on the web (http://azhrarn.underhanded.org/debootstrap-0.2.23-1.i386.rpm).
If your system is neither, this might work.
# mkdir /work; cd /work # wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_0.3.3.0ubuntu2_all.deb # ar -xf debootstrap-udeb_0.3.3.0ubuntu7_i386.udeb # cd / # tar zxvf work/data.tar.gz
Installing the Base System
# /usr/sbin/debootstrap --arch i386 dapper /mnt/ubuntu http://archive.ubuntu.com/ubuntu
(arch may be different for you, e.g. amd64, hppa, ia64, powerpc, or sparc)
Basic Configuration
Set the Hostname
Change HOSTNAME to whatever suits your environment.
# echo HOSTNAME > /mnt/ubuntu/etc/hostname
fstab
# vim /mnt/ubuntu/etc/fstab
Put the following in fstab:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount-ro 0 1 /dev/hda2 none swap sw 0 0
Networking
Make sure to use your network details instead.
## /mnt/ubuntu/etc/network/interfaces #Network Config: # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 10.0.0.10 network 10.0.0.0 broadcast 10.0.0.255 gateway 10.0.0.1 netmask 255.255.255.0
Make sure to use your hostname and domain.
## /mnt/ubuntu/etc/hosts 127.0.0.1 localhost 127.0.0.1 hostname.domain.tld hostname
You need a valid resolv.conf with at least one valid nameserver, e.g.:
## /mnt/ubuntu/etc/resolv.conf nameserver 10.0.0.1
Enter the new environment
Before we chroot into the new environment we need to mount /proc and /dev
mount -t proc none /mnt/ubuntu/proc mount -o bind /dev /mnt/ubuntu/dev LANG= chroot /mnt/ubuntu /bin/bash
Change the root password
It is just bad if you forget this, so just ....
# passwd
Create a user and switch shadow password on
# dpkg-reconfigure --default-priority passwd
Installing Packages
# apt-get update
Installing OpenSSH Server
# apt-get install openssh-server
Install a Kernel
Choose the right kernel for your architecture. I go with:
# apt-get install linux-image-686
RAID
apt-get install mdadm
Reboot
# exit # cd /
# umount /mnt/ubuntu/proc # umount /mnt/ubuntu/dev # umount /mnt/ubuntu # reboot
Finishing
After the reboot ssh in again.
Generate locales
# locale-gen en_US.UTF-8 # echo 'LANG="en_US.UTF-8"' >> /etc/environment # echo 'LANGUAGE="en_US:en"' >> /etc/environment
Install some more packages
apt-get install ubuntu-standard
References
The Gentoo Handbook contains a very good (Gentoo specific) instruction on chrooted installation procedures.
An other instruction from the Ubuntu Installation Guide is somewhat outdated and has shortcomings related to the bootloader installation.
HOWTO - Install Debian Onto a Remote Linux System - A Debian specific HOWTO.