UbuntuHelp:Installation/OverSSH
来自Ubuntu中文
Oneleaf(讨论 | 贡献)2007年5月13日 (日) 10:58的版本 (New page: {{From|https://help.ubuntu.com/community/Installation/OverSSH}} {{Languages|php5}} /!\ This is a work in progress, it is not mature yet and it may break your system! === Caveat === As you...)
/!\ 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.
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 </code> Remember to set the root partition bootable! For the rest of this instruction we assume the following partition layout. <pre> /dev/hda1 (83 Linux) - for /, /dev/hda2 (82 Linux swap) - as swap </code> ==== Creating File Systems ==== Below is how we get our / populated with ext3. <pre> # mke2fs -j /dev/hda1 </code> And the same for our swap partition. <pre> # mkswap /dev/hda2 # sync; sync; sync # swapon /dev/hda2 </code> === The Base System === ==== Mounting Root ==== <pre> # mkdir /mnt/ubuntu # mount -t ext3 /dev/hda1 /mnt/ubuntu </code> ==== 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 <code>debootstrap</code> from http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/ to make this work. Make sure that <code>binutils</code> is installed on your system. On an apt based system we can use <code>dpkg</code> to install it. <pre> # wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_0.3.3.0ubuntu2_all.deb # dpkg -i debootstrap_0.3.3.0ubuntu2_all.deb </code> 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. <pre> # 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 </code> ==== Installing the Base System ==== <pre> # /usr/sbin/debootstrap --arch i386 dapper /mnt/ubuntu http://archive.ubuntu.com/ubuntu </code> (arch may be different for you, e.g. md64, hppa, ia64, powerpc, or sparc) === Basic Configuration === ==== Set the Hostname ==== Change HOSTNAME to whatever suits your environment. <pre> # echo HOSTNAME > /mnt/ubuntu/etc/hostname </code> ==== fstab ==== <pre> # vim /mnt/ubuntu/etc/fstab </code> Put the following in fstab: <pre> # /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 </code> ==== Networking ==== Make sure to use your network details instead. <pre> #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 braodcast 10.0.0.255 gateway 10.0.0.1 netmask 255.255.255.0 </code> Make sure to use your hostname and domain. <pre> 127.0.0.1 localhost 127.0.0.1 hostname.domain.tld hostname </code> You need a valid resolv.conf with at least one valid nameserver, e.g.: <pre> nameserver 10.0.0.1 </code> === Enter the new environment === Before we chroot into the new environment we need to mount /proc and /dev <pre> mount -t proc none /mnt/ubuntu/proc mount -o bind /dev /mnt/ubuntu/dev LANG= chroot /mnt/ubuntu /bin/bash </code> ==== Change the root password ==== It is just bad if you forget this, so just .... <pre> # passwd </code> ==== Create a user and switch shadow password on ==== <pre> # dpkg-reconfigure --default-priority passwd </code> === Installing Packages === <pre> # apt-get update </code> ==== Installing OpenSSH Server ==== <pre> # apt-get install openssh-server </code> ==== Install a Kernel ==== Choose the right kernel for your architecture. I go with: <pre> # apt-get install linux-image-686 </code> ==== Installing GRUB ==== The boot loader is most important, so do: <pre> apt-get install grub mkdir /boot/grub cp /lib/grub/i386-pc/* /boot/grub vim /boot/grub/grub.conf </code> <pre> # /boot/grub/grub.conf default 0 timeout 3 title=Ubuntu root (hd0,0) kernel /vmlinuz root=/dev/hda1 initrd /initrd.img </code> <pre> ln -s /boot/grub/grub.conf /boot/grub/menu.lst </code> <pre> # grub </code> <pre> grub> root (hd0,0) grub> setup (hd0) grub> quit </code> ==== Reboot ==== <pre> # exit # cd / </code> <pre> # umount /mnt/ubuntu/proc # umount /mnt/ubuntu/dev # umount /mnt/ubuntu # reboot </code> === Finishing === After the reboot ssh in again. ==== Generate locales ==== <pre> # locale-gen en_US.UTF-8 # echo 'LANG="en_US.UTF-8"' >> /etc/environment # echo 'LANGUAGE="en_US:en"' >> /etc/environment </code> ==== Istall some more packages ==== <pre> apt-get install ubuntu-standard </code> === References === * [[UbuntuHelp: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. * [http://www.underhanded.org/papers/debian-conversion/remotedeb.html HOWTO - Install Debian Onto a Remote Linux System] - A Debian specific HOWTO. [[category:UbuntuHelp]]