如何在基于RH的Distro上远程安装Debian
介绍
由于各种原因,服务器需要进行重新筛选。 当服务器的配置不同于我需要的时候,一直是一个挑战。 我不想开车到数据中心交换CD,所以我决定看看是否有办法远程安装机器。 我发现了埃里克·雅各布森(Erik Jacobsen)的一些笔记,并用他们提出了一个最新的方法。
希望这将对其他人有用。 警告你可以为自己造成严重的头痛。 我不提供任何明示或暗示的保证,这将适用于您。
在本教程中,我有一个古老的Fedora Core 3机器,我需要变成Debian Etch机器。 这台机器距离我家办公室600英里,所以旅行放入CD不是一个经济的选择。 该系统有一个80G硬盘驱动器,目前分为3个分区:一个100M /启动分区,一个1G交换分区,剩余部分作为Fedora Core安装的/分区。 该机器具有公共静态IP地址,并通过SSH连接进行访问。
你需要确保你的交换空间是足够的。 我们将把基本的Debian系统加载到当前分配给swap的空间中,所以你需要确保你有足够的空间完成这个任务。 在我的情况下,当Debian基础加载时,我使用了一个1012M的交换中的371M空间,留下了590M的可用空间。
1)安装debootstrap
如果您有其他Debian机器,您可以自行构建debootstrap软件包。 您可以从这里下载最新的debootstrap .deb文件:
http://packages.debian.org/etch/all/debootstrap/download
在Debian构建机器上,安装外星人:
apt-get install alien
然后,您需要将Debian .deb文件转换为RH机器的RPM:
alien -rkv debootstrap*.deb
这将创建一个debootstrap RPM文件,您需要在基于RH的机器上安装,一旦将其转移到:
rpm -Uvh debootstrap*
如果您无法以任何原因构建RPM,我已经提供了RPM的副本。 您可以从http://v2gnu.com/filemgmt/visit.php?lid=27下载RPM。 我使这个文件可用,但我不会更新它。
2)将交换空间更改为可用的文件系统
本文的其余部分将在RH机器上运行,我们将转换为基于Debian的机器。
关闭你的交换空间,以便我们可以加载Debian:
swapoff -a
使用
fdisk -l
看看你的交换空间是哪个分区。 在我的系统上,交换空间是/ dev / hda2
:
磁盘/ dev / hda:80.0 GB,80026361856字节
255个头,63个扇区/轨道,9729个气缸
单位=气缸数16065 * 512 = 8225280字节
设备启动开始结束块Id系统
/ dev / hda1 * 1 13 104391 83 Linux
/ dev / hda2 14 144 1052257+ 82 Linux交换
/ dev / hda3 145 9729 76991512+ 83 Linux
使用fdisk将交换空间更改为Linux分区,以便我们可以在其中加载数据。
***警告 - 您现在进入您的系统可能无法使用的退货点! ***
fdisk /dev/hda
命令(m为帮助): t
分区号(1-4): 2
(将其更改为您的交换分区号!)
十六进制代码(类型L到列表代码): 83
更改系统类型的分区2到83(Linux)
命令(m为帮助): w
分区表已被更改!
调用ioctl()重新读取分区表。
警告:重新读取分区表失败,错误16:设备或资源繁忙。
内核仍然使用旧表。
新表将在下次重新启动时使用。
同步磁盘
仔细检查以确保交换分区( / dev / hda2 )现在是Linux分区:
fdisk -l
磁盘/ dev / hda:80.0 GB,80026361856字节
255个头,63个扇区/轨道,9729个气缸
单位=气缸数16065 * 512 = 8225280字节
设备启动开始结束块Id系统
/ dev / hda1 * 1 13 104391 83 Linux
/ dev / hda2 14 144 1052257+ 83 Linux
/ dev / hda3 145 9729 76991512+ 83 Linux
我们接下来需要将此分区格式化为ext3,以便我们可以将Debian基础加载到其上:
mke2fs -j /dev/hda2
mke2fs 1.35(2004年2月28日)
max_blocks 269377536,rsv_groups = 8221,rsv_gdb = 64
文件系统标签=
操作系统类型:Linux
块大小= 4096(log = 2)
片段大小= 4096(log = 2)
131616 inode,263064块
为超级用户预留13153块(5.00%)
第一个数据块= 0
最大文件系统块= 272629760
9个块组
每组32768个块,每组32768个片段
每组14624个inode
超级块存储在块上的备份:
32768,98304,163840,229376
编写inode表:done
inode.i_blocks = 2568,i_size = 4243456
创建日志(8192块):完成
编写超级块和文件系统会计信息:完成
该文件系统将自动检查每32个安装或
180天,以先到者为准。
使用tune2fs -c或-i覆盖。
与Debian发行版的旧版本相比,dir_index标志瘫痪了一个问题。 此问题可能存在或可能不存在于较新版本中。 我们要把它放在安全的一面:
tune2fs -O ^dir_index /dev/hda2
3)将Debian软件包加载到新的分区上
接下来,我们为新分区创建一个变量名,以保存打字。 我们使用$ ASD作为任意的占位符,因为它比/ dev / hda2更容易和更快速输入。 随意替换方便您的变量名称:
export ASD=/mnt/asd
我们接下来创建目录作为挂载点:
mkdir -p $ASD
最后我们挂载新的分区:
mount /dev/hda2 $ASD
从这里开始,我们可以使用$ ASD代替/ dev / hda2 。
现在我们运行debootstrap,这将需要一段时间,并填充所需的包。 你将选择这个架构(i386这里),发行版(这里使用的Etch),目录和URL到Debian档案。 对于最后的URL,它可以是任何有效的Debian镜像。 鼓励您选择最接近您的地理位置的镜像。 Debian网站上提供了可用镜像列表,具体如下: http : //www.debian.org/mirror/list 。
我要使用一个更永久的镜子,所以它可能有点慢,但随意使用任何你想要的镜子(甚至你自己的repo!):
/usr/sbin/debootstrap --arch i386 etch $ASD http://mirrors.kernel.org/debian
这将需要一段时间。 去喝一杯咖啡或订一个比萨饼。 一旦完成,您将将基本的Debian软件包安装到新分区( $ ASD )中。