当前位置:操作系统 > Unix/Linux >>

远程安装ArchLinux(RemoteArchLinuxInstall)

提要:远程安装ArchLinux

  ++++++++++++++++++++++++++++++++++++++++++++++++++++

  远程安装ArchLinux

  ++++++++++++++++++++++++++++++++++++++++++++++++++++

  基于Tobias Kieslich的工作。他的原始版请看这里http://www.justdreams.de/archlinux/docs/00_rootserver.html。

  概述

  这是一个建立Archlinux基本服务器的指南。Archlinux是一个很好的服务器系统,但是它通常不会被选择作为一个预装的发行版。在本机替换预装的系统非常容易。但是替换一个你只能通过SSH来操作的远程电脑可没那么容易,需要按照特定的顺序执行特定的步骤。请在操作之前确认你明白每一步会带来什么结果。如果不确定,请参考某些权威文档,例如man、Archlinux论坛或者Wiki。

  我们将替换一个正在运行的远程系统。当你按照这个指南操作完毕,你将得到一个可以使用SSH登陆,通过参考其他地方的指南,建立Mail服务器或者Subversion或者Apache的Archlinux基本系统。

  免责声明(Disclaimer):这是一项危险的操作,假定你已经知道你在做什么。这样做很有可能破坏你的系统或者丢失重要数据,你可能会花费一大笔钱让服务提供商来帮助你恢复。这些都要你自己负责。

  (译者注:本文讲解的是通过网络来将远程计算机中的系统,例如RedHat之类替换为Arch。重点讲解的是通过在目前系统的swap分区上面建立一个中间系统(文中后面还叫做救援系统),然后用这个中间系统启动,把除swap分区之外的分区重新格式化安排一下,然后再在他们上面安装Arch。这样来实现最后的目的。)

  简介

  你需要事先安装好一个中间系统,启动并登陆这个系统,从那里来安装你的新的Archlinux服务器。这听起来似乎比实际情况要简单,因为你需要面对一个典型的情况:你需要干掉可以让你活动的主机(the system that hosts your activities)。As with many other things,有不止一种方法来完成这个操作。可能存在以下2个情况:

  1 很多服务提供商提供被称作救援系统(rescue sytems)或者远程控制台(remote consoles)的系统,这些系统通常只是一个存放在网卡(network card)中的引导磁盘(bootdisc)。这些都是启动一个只存在于RAM中的基本系统(rudimentary sytem)。从而你可以随心所欲的对你的硬盘分区。

  2 很多服务器都有swap分区。如果你的没有,你应该换一个提供商。你可以关闭那个swap分区,并且在那里安装你的中间系统。

  本文以后面的这个情况为概要来讲解。如果你能控制远程控制台(译者注:因为你有这个的话,就相当于已经有了一个中间系统了,直接对硬盘操作即可),那么战斗就已经赢了一半。

  

  备份和准备工作

  在这个操作过程中,你将会清除你现在系统上面的所有数据。备份包括邮件、web服务器等在内的所有数据。把所有信息都放在手边。备份你所有的服务器配置文件、主机名等。

  下面是一个你可能需要备份的数据的列表:

  ●你的IP地址。

  ●你的主机名(注意:rootserver通常也是提供商域名的一部分,在删除之前检查/保存你的/etc/hosts文件)。

  ●你的DNS设置(检查/etc/resolve.con)。

  ●你的SSH密钥(如果其他人也在你的服务器上面工作,他们需要接受新的密钥。这包括apache、邮件服务器、ssh服务器以及其他密钥。他们通常散布在你的系统中,至少都位于/etc目录(译者注:这里可能是讲license之类的东西。)。否则如果你有注册密钥,你还需要再为这些付费。你最好把他们都保存好了 ;-))。

  ●你的硬件信息(例如网卡。请查阅预装系统的/etc/modules.conf文件)。

  ●如果你的系统引导管理器已经在使用/boot/grub/menu.lst文件,请备份它。

  总的来说,把原始的/etc目录在本地硬盘上做一个本地备份是个不错的注意。

  准备中间系统

  中间系统是用来实现新的磁盘规划并且安装最终系统的地方。不需要在它上面安装必须软件包之外的软件包。除了基本系统之外,你还需要安装wget来下载一些软件和ssl服务器。

  创建一个新的swap文件

  如果你是个妄想狂(paranoid),或者只有很小的RAM,那你在关闭swap分区之前或许需要添加一个swap文件。请注意你不需要运行一些类似于mail服务器、http服务器等的守护进程。你可以关闭他们释放远程机器的内存。

  下列命令将首先创建一个填充满0的文件,然后格式化成swap分区格式,然后激活这个swap文件,强制将缓冲内容写入硬盘,然后检查激活的swap文件。

  # dd if=/dev/zero of=/swapfile bs=1024 count=512288# mkswap /swapfile# swapon /swapfile# sync# cat /proc/swaps

  设置旧swap分区为新的root分区

  你似乎只有一块硬盘(否则你可以在你的另外一块硬盘上面创建你的中间系统)。使用cfdisk、检查/proc/swaps或者/etc/fstab找到你的swap分区。

  假定你的硬盘上的swap分区位于hdaX(X是个数字),下列命令先关闭swap分区,并把它格式化,然后新建一个用来挂载它的文件夹,最后把它挂载到新建的文件夹,用来安装中间系统。

  # swapoff /dev/hdaX# mke2fs -j /dev/hdaX# mkdir /mnt/newsys# mount -t ext3 /dev/hdaX /mnt/newsys

  

  安装中间系统

  David Leinh?user (aka Calavera)写了一个bootstrap脚本,可以用来创建中间系统和最终系统。它让操作变的很简单。

  可以来这里获取:http://bbs.archlinux.org/viewtopic.php?t=4020。

  从本地机器复制这个文件到远程机器:

  $ scp archbootstrap root@yourserver.org:/home

  在远程机器上面运行这个脚本(在运行archbootstrap之前请确认远程电脑已经安装了wget):

  # ./archbootstrap /mnt/newsys ftp://gd.tuwien.ac.at/opsys/linux/archlinux

  当然,你也可一选择其他镜像。

  配置中间系统

  当archbootstrap命令结束后,你将拥有一个原始系统(raw system),还需要你按照通常的Archlinux安装过程来提供更多的信息。这就是你从之前系统保存的所有信息。

  在chroot到新系统之前,先调整以下文件中的设置:

  ●/mnt/newsys/etc/fstab

  ●/mnt/newsys/etc/resolv.conf

  ●/mnt/newsys/etc/hosts

  ●/mnt/newsys/etc/hosts.allow

  ●/mnt/newsys/etc/rc.conf

  ●/mnt/newsys/etc/modprobe.conf

  特别的:

  ●添加新的root分区(以前的swap分区)到/mnt/newsys/etc/fstab文件:

  /dev/discs/disc0/partX / ext3 defaults 0 1

  ●添加DNS到/mnt/newsys/etc/resolv.conf文件:

  nameserver xxx.xxx.xxx.xxx

  ●添加远程机器的主机名到/mnt/newsys/etc/hosts

  rooditoottoot yyy.yyy.yyy.yyy

  ●允许ssh客户端登陆,添加sshd到/mnt/newsys/etc/hosts.allow文件:

  sshd:ALL

  ●编辑/mnt/newsys/etc/rc.conf脚本,确认你已经添加了sshd到DAEMONS序列中。

  警告:如果你不允许你的ssh守护进程自动启动,你将不能获取远程登陆系统的权限。如果你不在/etc/hosts.allow文件中允许ssh客户端登陆,你也将得到相同的结果,虽然他们技术原理不同。

  ●添加网卡到/mnt/newsys/etc/modprobe.conf

  alias eth0 <your module>

  ●从/etc/ssh复制ssl密钥到/mnt/newsys/etc/ssh

  重启之前需要检查的内容

  你必须chroot到你的新系统以便做一些设置。当你在新系统的时候,必须先为root用户设置一个密码,否则ssh不会让你登陆系统。还有你的系统引导程序应该定向到新系统。你或许还可以设置你的系统引导程序以便你可以进入旧系统。如果你有一个救援控制台的话,这些操作将会很简单。

  

  ●挂载基本系统(essential systems)

  # mount -t devfs none /mnt/newsys/dev# mount -t proc none /mnt/newsys/proc

  ●chroot到你的新系统

  # chroot /mnt/newsys /bin/bash

  ●确认你的网络没有问题,`ifconfig`命令显示类似如下的结果:

  root@tester root]# ifconfigeth0 Link encap:Ethernet HWaddr 00:E0:81:24:77:5E

  inet addr:192.168.0.7 Bcast:192.168.0.255 Mask:255.255.255.0

  inet6 addr: fe80::2e0:81ff:fe24:775e/64 Scope:Link

  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

  RX packets:5259 errors:0 dropped:0 overruns:1 frame:0

  TX packets:3266 errors:0 dropped:0 overruns:0 carrier:0

  collisions:0 txqueuelen:1000

  RX bytes:6076799 (5.7 Mb) TX bytes:332020 (324.2 Kb)

  Interrupt:209 Base address:0x2000lo Link encap:Local Loopback

  inet addr:127.0.0.1 Mask:255.0.0.0

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,