特殊:Badtitle/NS100:Installation/OverSSH/zh:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Yaoms留言 | 贡献
无编辑摘要
Yaoms留言 | 贡献
无编辑摘要
 
(未显示同一用户的10个中间版本)
第1行: 第1行:
{{Translation}} {{From|https://help.ubuntu.com/community/Installation/OverSSH}} {{Translator|Yaoms}} {{Languages|UbuntuHelp:Installation/OverSSH}} !! 请注意,这是一个正在实验中的项目,它不是很成熟,并且有可能搞坏您的系统。
/!\ 请注意,这是一个正在实验中的项目,它不是很成熟,并且有可能搞坏您的系统。  


=== 警告 ===
=== 警告 ===


正如你可能已经猜到的那样,这里介绍的方法有可能导致您的系统不能启动,并且你得依靠自己修复它。 apt-get install linux-image-686
正如你可能已经猜到的那样,这里介绍的方法有可能导致您的系统不能启动,并且你得依靠自己修复它。 apt-get install linux-image-686  


=== <br> ===
=== 方案说明  ===


这份指南向您介绍如何通过 ssh 在专用服务器上安装 Ubuntu 。我假设你的供应商为你提供了一个可以引导并准备你的正常作业系统的备用(或者称做恢复 or 急救)系统;这样的话,在线的“系统替换”就成为可能,但是这需要冒很大的风险并有作大量补救工作的准备,以防事情变得更糟糕(the basic idea is to temporarily disable your swap and install a transitional system on it)。<br>
这份指南向您介绍如何通过 ssh 在专用服务器上安装 Ubuntu 。我假设你的供应商为你提供了一个可以引导并准备你的正常作业系统的备用(或者称做恢复 or 急救)系统;这样的话,在线的“系统替换”就成为可能,但是这需要冒很大的风险并有作大量补救工作的准备,以防事情变得更糟糕(the basic idea is to temporarily disable your swap and install a transitional system on it)。<br>  


=== 准备磁盘 ===
=== 准备磁盘 ===


==== 创建分区 ====
==== 创建分区 ====


使用 <code><nowiki>fdisk</nowiki></code> 在磁盘上创建分区。
使用 <code><nowiki>fdisk</nowiki></code> 在磁盘上创建分区。  
<pre># fdisk /dev/hda
<pre># fdisk /dev/hda
</pre>  
</pre>  
切记要把root分区设为活动分区(可以启动的)!在稍后的介绍中,我将假设你使用下面的分区布局,请根据你自己的情况改变。
切记要把root分区设为活动分区(可以启动的)!在稍后的介绍中,我将假设你使用下面的分区布局,请根据你自己的情况改变。  
<pre>/dev/hda1 (83 Linux) - for /,  
<pre>/dev/hda1 (83 Linux) - for /,  
/dev/hda2 (82 Linux swap) - as swap
/dev/hda2 (82 Linux swap) - as swap
</pre>  
</pre>  
==== 创建文件系统 ====
==== 创建文件系统 ====


下面我将使用流行的 ext3 格式格式化我的 / 分区<br>
下面我将使用流行的 ext3 格式格式化我的 / 分区<br>  
<pre># mke2fs -j /dev/hda1
<pre># mke2fs -j /dev/hda1
or
or
# mkfs.ext3 /dev/hda1
# mkfs.ext3 /dev/hda1
</pre>  
</pre>  
使用以下命令初始化并启用我们的 swap 分区<br>
使用以下命令初始化并启用我们的 swap 分区<br>  
<pre># mkswap /dev/hda2
<pre># mkswap /dev/hda2
# sync; sync; sync
# sync; sync; sync
# swapon /dev/hda2
# swapon /dev/hda2
</pre>
</pre>  
=== 基本系统  ===


=== 基本系统 ===
==== 挂载根分区<br> ====
 
==== 挂载根分区<br> ====
<pre># mkdir /mnt/ubuntu
<pre># mkdir /mnt/ubuntu
# mount -t ext3 /dev/hda1 /mnt/ubuntu
# mount -t ext3 /dev/hda1 /mnt/ubuntu
</pre>  
</pre>  
==== 获取 Debootstrap ====
==== 获取 Debootstrap ====


Debootstrap 是一组在接下来的搭建“基本系统”的步骤中要用到的脚本。 我们需要从http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/ (就近的 mirror 也可以)取得一个合适版本的 <code><nowiki>debootstrap</nowiki></code>。首先确定你的备用系统中安装了 <code><nowiki>binutils</nowiki></code> (包含基本的命令行工具,如wget)工具。 在基于APT的系统上,我们可以使用 dpkg 安装它。
Debootstrap 是一组在接下来的搭建“基本系统”的步骤中要用到的脚本。 我们需要从http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/ (就近的 mirror 也可以)取得一个合适版本的 <code><nowiki>debootstrap</nowiki></code>。首先确定你的备用系统中安装了 <code><nowiki>binutils</nowiki></code> (包含基本的命令行工具,如wget)工具。 在基于APT的系统上,我们可以使用 dpkg 安装它。  
<pre># wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_0.3.3.0ubuntu2_all.deb
<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
# dpkg -i debootstrap_0.3.3.0ubuntu2_all.deb
</pre>  
</pre>  
如果你现在的系统是基于 RPM 的,使用 alien 工具安装它或者你可以在这个网站上找到它的rpm版本(如:http://azhrarn.underhanded.org/debootstrap-0.2.23-1.i386.rpm )。如果你的系统不属于任何上面的情况,下面的命令可能会有用:
如果你现在的系统是基于 RPM 的,使用 alien 工具安装它或者你可以在这个网站上找到它的rpm版本(如:http://azhrarn.underhanded.org/debootstrap-0.2.23-1.i386.rpm )。如果你的系统不属于任何上面的情况,下面的命令可能会有用:  
<pre># mkdir /work; cd /work
<pre># mkdir /work; cd /work
# wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_0.3.3.0ubuntu2_all.deb
# wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_0.3.3.0ubuntu2_all.deb
第51行: 第50行:
# cd /
# cd /
# tar zxvf work/data.tar.gz
# tar zxvf work/data.tar.gz
</pre>
</pre>  
 
==== 安装基本系统 ====
==== 安装基本系统 ====
<pre># /usr/sbin/debootstrap --arch i386 dapper /mnt/ubuntu http://archive.ubuntu.com/ubuntu
<pre># /usr/sbin/debootstrap --arch i386 dapper /mnt/ubuntu http://archive.ubuntu.com/ubuntu
</pre>  
</pre>  
(你的 arch 可能有所不同,比如:md64、hppa、ia64、powerpc、或者 sparc)
(你的 arch 可能有所不同,比如:md64、hppa、ia64、powerpc、或者 sparc)  


=== 基本配置 ===
=== 基本设置  ===


==== 设置 Hostname ====
==== 设置 Hostname ====


把 HOSTNAME 改成适合你的主机名。
把 HOSTNAME 改成适合你的主机名。  
<pre># echo HOSTNAME &gt; /mnt/ubuntu/etc/hostname
<pre># echo HOSTNAME &gt; /mnt/ubuntu/etc/hostname
</pre>  
</pre>  
==== 创建 fstab 文件 ====
==== 创建 fstab 文件 ====
<pre># vim /mnt/ubuntu/etc/fstab
<pre># vim /mnt/ubuntu/etc/fstab
</pre>  
</pre>  
把下面的内容添加进 fstab:
把下面的内容添加进 fstab:  
<pre># /etc/fstab: static file system information.
<pre># /etc/fstab: static file system information.
#
#
第76行: 第74行:
/dev/hda2 none swap sw 0 0
/dev/hda2 none swap sw 0 0
</pre>  
</pre>  
==== 设置网络 ====
==== 设置网络 ====


使用你的网络参数完成以下实例的 /mnt/ubuntu/etc/network/interfaces
使用你的网络参数完成以下实例的 /mnt/ubuntu/etc/network/interfaces  
<pre>#Network Config:
<pre>#Network Config:
# The loopback network interface
# The loopback network interface
第93行: 第91行:
netmask 255.255.255.0
netmask 255.255.255.0
</pre>  
</pre>  
使用你的网络参数完成这个实例的 /mnt/ubuntu/ets/hosts
使用你的网络参数完成这个实例的 /mnt/ubuntu/ets/hosts  
<pre>127.0.0.1 localhost
<pre>127.0.0.1 localhost
127.0.0.1 hostname.domain.tld hostname
127.0.0.1 hostname.domain.tld hostname
</pre>  
</pre>  
你还需要一个有效的 resolv.conf,包含至少一个有效的 nameserver, 例如:
你还需要一个有效的 resolv.conf,包含至少一个有效的 nameserver, 例如:  
<pre>nameserver 10.0.0.1
<pre>nameserver 10.0.0.1
</pre>
</pre>  
=== 进入新的环境  ===


=== 进入新的环境 ===
在使用 chroot 进入新的系统环境之前,要先挂载 /proc 和 /dev 到新的环境中。<br>  
 
在使用 chroot 进入新的系统环境之前,要先挂载 /proc 和 /dev 到新的环境中。<br>
<pre>mount -t proc none /mnt/ubuntu/proc
<pre>mount -t proc none /mnt/ubuntu/proc
mount -o bind /dev /mnt/ubuntu/dev
mount -o bind /dev /mnt/ubuntu/dev
LANG= chroot /mnt/ubuntu /bin/bash
LANG= chroot /mnt/ubuntu /bin/bash
</pre>  
</pre>  
==== 修改 root 密码<br> ====
==== 修改 root 密码<br> ====


如果忘记密码就麻烦了。所以。。。
如果忘记密码就麻烦了。所以。。。  
<pre># passwd
<pre># passwd
</pre>  
</pre>  
==== 创建一个新用户并使 passwd shadow 起效。<br> ====
==== 创建一个新用户并使 passwd shadow 起效。<br> ====
<pre># dpkg-reconfigure --default-priority passwd
<pre># dpkg-reconfigure --default-priority passwd
</pre>
</pre>  
 
=== 安装软件包 ===
=== 安装软件包 ===


在这之前别忘了更新你的包索引。
在这之前别忘了更新你的包索引。  
<pre># apt-get update
<pre># apt-get update
</pre>  
</pre>  
==== 安装 OpenSSH Server ====
==== 安装 OpenSSH Server ====
<pre># apt-get install openssh-server
<pre># apt-get install openssh-server
</pre>  
</pre>  
==== 安装内核 ====
==== 安装内核 ====


选择一个适合你的系统架构的内核,我使用 linux-image-686。。
选择一个适合你的系统架构的内核,我使用 linux-image-686。。  


可以使用这个命令查找所有的内核:
可以使用这个命令查找所有的内核:  
<pre># apt-cache search linux-image
<pre># apt-cache search linux-image
</pre>  
</pre>  
然后安装
然后安装  
<pre># apt-get install linux-image-686
<pre># apt-get install linux-image-686
</pre>  
</pre>  
==== 安装 GRUB ====
==== 安装 GRUB ====


引导装载程序非常重要,所以。。
引导装载程序非常重要,所以。。  
<pre>apt-get install grub
<pre>apt-get install grub
mkdir /boot/grub
mkdir /boot/grub
第144行: 第140行:


</pre> <pre># /boot/grub/grub.conf
</pre> <pre># /boot/grub/grub.conf
default 0
default 0
timeout 3
timeout 3


title=Ubuntu
title=Ubuntu
第151行: 第155行:
kernel /vmlinuz root=/dev/hda1
kernel /vmlinuz root=/dev/hda1
initrd /initrd.img
initrd /initrd.img
</pre> <pre>ln -s /boot/grub/grub.conf /boot/grub/menu.lst
</pre> <pre>ln -s /boot/grub/grub.conf /boot/grub/menu.lst
</pre> <pre># grub
</pre> <pre># grub
</pre> <pre>grub&gt; root (hd0,0)
</pre> <pre>grub&gt; root (hd0,0)
grub&gt; setup (hd0)
grub&gt; setup (hd0)
grub&gt; quit
grub&gt; quit
</pre>


==== Reboot ====
 
 
 
 
 
</pre>
==== 重启电脑  ====
<pre># exit
<pre># exit
# cd /
# cd /
</pre>  
</pre> <pre># umount /mnt/ubuntu/proc
<pre># umount /mnt/ubuntu/proc
 
# umount /mnt/ubuntu/dev
# umount /mnt/ubuntu/dev
# umount /mnt/ubuntu
# umount /mnt/ubuntu
# reboot
# reboot
</pre>


=== Finishing ===
</pre>
=== 结束安装  ===


After the reboot ssh in again.
重启后,再用 ssh 登录上去。


==== Generate locales ====
==== 创建 locales ====
<pre># locale-gen en_US.UTF-8
<pre># locale-gen en_US.UTF-8
# echo 'LANG="en_US.UTF-8"' &gt;&gt; /etc/environment
# echo 'LANG="en_US.UTF-8"' &gt;&gt; /etc/environment
# echo 'LANGUAGE="en_US:en"' &gt;&gt; /etc/environment
# echo 'LANGUAGE="en_US:en"' &gt;&gt; /etc/environment
</pre>  
</pre>  
==== Istall some more packages ====
==== 添加额外的软件包,你需要的。  ====
<pre>apt-get install ubuntu-standard
<pre>apt-get install ubuntu-standard
</pre>  
</pre>  
=== References ===
=== 其他参考资料  ===


* [[UbuntuHelp:Installation/FromKnoppix|Installation/FromKnoppix]]
*[[UbuntuHelp:Installation/FromKnoppix|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://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://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.
*[http://www.underhanded.org/papers/debian-conversion/remotedeb.html HOWTO - Install Debian Onto a Remote Linux System] - A Debian specific HOWTO.


[[Category:UbuntuHelp]]
[[Category:UbuntuHelp|UbuntuHelp:Installation/OverSSH/zh]]

2008年9月20日 (六) 19:54的最新版本

/!\ 请注意,这是一个正在实验中的项目,它不是很成熟,并且有可能搞坏您的系统。

警告

正如你可能已经猜到的那样,这里介绍的方法有可能导致您的系统不能启动,并且你得依靠自己修复它。 apt-get install linux-image-686

方案说明

这份指南向您介绍如何通过 ssh 在专用服务器上安装 Ubuntu 。我假设你的供应商为你提供了一个可以引导并准备你的正常作业系统的备用(或者称做恢复 or 急救)系统;这样的话,在线的“系统替换”就成为可能,但是这需要冒很大的风险并有作大量补救工作的准备,以防事情变得更糟糕(the basic idea is to temporarily disable your swap and install a transitional system on it)。

准备磁盘

创建分区

使用 fdisk 在磁盘上创建分区。

# fdisk /dev/hda

切记要把root分区设为活动分区(可以启动的)!在稍后的介绍中,我将假设你使用下面的分区布局,请根据你自己的情况改变。

/dev/hda1 (83 Linux) - for /, 
/dev/hda2 (82 Linux swap) - as swap

创建文件系统

下面我将使用流行的 ext3 格式格式化我的 / 分区

# mke2fs -j /dev/hda1
or
# mkfs.ext3 /dev/hda1

使用以下命令初始化并启用我们的 swap 分区

# mkswap /dev/hda2
# sync; sync; sync
# swapon /dev/hda2

基本系统

挂载根分区

# mkdir /mnt/ubuntu
# mount -t ext3 /dev/hda1 /mnt/ubuntu

获取 Debootstrap

Debootstrap 是一组在接下来的搭建“基本系统”的步骤中要用到的脚本。 我们需要从http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/ (就近的 mirror 也可以)取得一个合适版本的 debootstrap。首先确定你的备用系统中安装了 binutils (包含基本的命令行工具,如wget)工具。 在基于APT的系统上,我们可以使用 dpkg 安装它。

# 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

如果你现在的系统是基于 RPM 的,使用 alien 工具安装它或者你可以在这个网站上找到它的rpm版本(如:http://azhrarn.underhanded.org/debootstrap-0.2.23-1.i386.rpm )。如果你的系统不属于任何上面的情况,下面的命令可能会有用:

# 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

安装基本系统

# /usr/sbin/debootstrap --arch i386 dapper /mnt/ubuntu http://archive.ubuntu.com/ubuntu

(你的 arch 可能有所不同,比如:md64、hppa、ia64、powerpc、或者 sparc)

基本设置

设置 Hostname

把 HOSTNAME 改成适合你的主机名。

# echo HOSTNAME > /mnt/ubuntu/etc/hostname

创建 fstab 文件

# vim /mnt/ubuntu/etc/fstab

把下面的内容添加进 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

设置网络

使用你的网络参数完成以下实例的 /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

使用你的网络参数完成这个实例的 /mnt/ubuntu/ets/hosts

127.0.0.1 localhost
127.0.0.1 hostname.domain.tld hostname

你还需要一个有效的 resolv.conf,包含至少一个有效的 nameserver, 例如:

nameserver 10.0.0.1

进入新的环境

在使用 chroot 进入新的系统环境之前,要先挂载 /proc 和 /dev 到新的环境中。

mount -t proc none /mnt/ubuntu/proc
mount -o bind /dev /mnt/ubuntu/dev
LANG= chroot /mnt/ubuntu /bin/bash

修改 root 密码

如果忘记密码就麻烦了。所以。。。

# passwd

创建一个新用户并使 passwd shadow 起效。

# dpkg-reconfigure --default-priority passwd

安装软件包

在这之前别忘了更新你的包索引。

# apt-get update

安装 OpenSSH Server

# apt-get install openssh-server

安装内核

选择一个适合你的系统架构的内核,我使用 linux-image-686。。

可以使用这个命令查找所有的内核:

# apt-cache search linux-image

然后安装

# apt-get install linux-image-686

安装 GRUB

引导装载程序非常重要,所以。。

apt-get install grub
mkdir /boot/grub
cp /usr/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




重启电脑

# exit
# cd /
# umount /mnt/ubuntu/proc
  1. umount /mnt/ubuntu/dev
  1. umount /mnt/ubuntu
  1. reboot

结束安装

重启后,再用 ssh 登录上去。

创建 locales

# locale-gen en_US.UTF-8
# echo 'LANG="en_US.UTF-8"' >> /etc/environment
# echo 'LANGUAGE="en_US:en"' >> /etc/environment

添加额外的软件包,你需要的。

apt-get install ubuntu-standard

其他参考资料