特殊:Badtitle/NS100: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...)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航跳到搜索

{{#ifexist: :Installation/OverSSH/zh | | {{#ifexist: Installation/OverSSH/zh | | {{#ifeq: {{#titleparts:Installation/OverSSH|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:Installation/OverSSH|1|-1|}} | zh | | }}

/!\ 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


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_0.3.3.0ubuntu2_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. md64, 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.

#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


Make sure to use your hostname and domain.
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.:

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



Installing GRUB

The boot loader is most important, so do:
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




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


Istall some more packages

apt-get install ubuntu-standard


References

* UbuntuHelp:Installation/FromKnoppix * 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.