3.2. 如何迁移
为了确保后续的服务,必须依照计划运行迁移的作业。每种操作系统都需遵守这个原则。
3.2.1. 流行度调查和身份识别服务
如你看到的,该步骤是必要的。一个严谨的管理员应当确切的知道每部服务器的确切角色,但是角色可以被改变,有时候有经验的用户会安装一些服务。了解这些服务的功能让你知道如何处理它,而不是粗暴的删除它们。
基于这个目的,迁移服务器前先告知用户是明智之举。把用户拉入计划里,于迁移之前先安装常用的自由软件于其桌面电脑中,迁移之后自然碰到 Debian、Libre Office 与 Mozilla 等软件。
3.2.1.1. 网络与程序
nmap
工具 (在同名软件包中) 可以在未登录的前提下,快速地经由网络链接机器辨识互联网服务。在另部机器键入命令链接至同个网络:
$
替代 使用 netstat
以查找可用服务列表
在 Linux 机器里,netstat -tupan
指令可显示使用中或待决的 TCP 数,以及运行程序的 UDP 端口。辨识网络提供的服务量。
更进一步 IPv6
有些网络指令可在 IPv4 (通常是缺省的) 或 IPv6 运行。包括 nmap
与 netstat
指令,以及其他,如 route
或 ip
。可用 -6
命令行选项启动它们。
Unix 机器的服务器提供 shell 帐号给用户,在拥有者缺席的情况下可以决定该进程是否在背景运行。指令 ps auxw
显示所有进程的用户辨识码。将此等信息与 who
指令的输出互相比较,就能辨识出在背景运行的暧昧或不明服务与程序。以 crontabs
(依用户自动排串行出所有的作业) 可查看服务器提供的服务信息 (cron
的完整说明在 第 9.7 节 “使用 cron
和 atd
运行计划任务”)。
任何状况下,都该先备份您的服务器:用户报告问题时,就能复原它。
3.2.2. 备份配置
保留所有设备的备份供升级后服务器的参考。至少应备份配置档。
Unix 机器的配置档,通常在 /etc/
文件夹内,有时放在 /usr/local/
的次文件夹里。若从源代码开始安装程序而不是由软件包安装,配置档就会放在前述的次文件夹内。偶而,还可在 /opt/
找到配置档。
在数据管理服务 (如数据库) 时,强烈建议以标准格式导出的数据容易被新软件接受。通常是文本格式,也可能是从数据库以 SQL 下载,或从 LDAP 服务器下载 LDIF 文件。
图 3.2. 备份数据库
每个服务器都不一样,不能详述所有个案。比较各软件的文档辨认导出 (即,再导入) 的方式以及需要人工处理的部分。此书处理 Linux 服务器程序的主要配置。
3.2.3. 接手现有的 Debian 服务器
先分析正在运行 Debian 的机器,才能有效地接管维护工作。
第一个查看的文件是 /etc/debian_version
,通常包括 Debian 系统的版本编号 (它是 base-files 软件包的一部分)。若以 *代码*/sid
方式呈现,表示此系统从该代码版本取得的最新版软件包 (测试版或不稳定版)。
apt-show-versions
程序 (来自 Debian 同名软件包) 检查安装的软件包并辨识可用的版本。aptitude
以表单的方式,做同样的工作。
查看 /etc/apt/sources.list
文件 (以及 /etc/apt/sources.list.d/
文件夹) 可看到已安装 Debian 软件包的来源。若出现不明来源,管理员可能选择重新安装电脑系统确保其软件与 Debian 兼容。
sources.list
文件是个重要的指针:大部分的管理者保留一份使用中的 APT 来源清单。但不能忘记曾使用的来源可能被删除,有可能以人工方式安装 (以 dpkg
指令) 从互联网随机抓来的软件包。在此情况下,可能表面上是 “标准” Debian。碰到这种情况应放弃外来的软件包 (在不寻常的文件夹出现 deb
文件、软件包版本编号出现 Debian 未使用的特殊前置字符,诸 ubuntu
或 lmde
,等字样。)
同样的,分析 /usr/local/
文件夹的内容,其目的是收录编译后与手动安装后的程序。列出以此方式安装的软件清单,指出一个问题,为什么不使用 Debian 对应的软件包。
速看 cruft
cruft 软件包列出未被其他软件包拥有的文件。它有一些筛选器 (差不多有效,但或多或少过时) 以避免报告合法的文件 (Debian 软件包产生的文件,或未被dpkg
管理的配置文件等)。
小心不要盲目地删除可能被 cruft
列出的文件!
3.2.4. 安装 Debian
知道当前服务器的必要信息后,就可以关闭它并开始安装 Debian。
依照电脑的架构,选择适当的版本。近几年的 PC,很可能是 amd64 (稍旧的是 i386)。其他的情况,则依照安装的旧系统来判断。
表 3.1 不是完整的,但相当有用。任何情况下,电脑的原始文档是最有用的数据源。
表 3.1. 操作系统与架构对照表
操作系统 | 架构 |
---|---|
DEC Unix (OSF/1) | alpha, mipsel |
HP Unix | ia64、hppa |
IBM AIX | powerpc |
Irix | mips |
OS X | amd64、powerpc、 i386 |
z/OS、MVS | s390x、s390 |
Solaris, SunOS | sparc, i386, m68k |
Ultrix | mips |
VMS | alpha |
Windows 95/98/ME | i386 |
Windows NT/2000 | i386, alpha, ia64, mipsel |
Windows XP / Windows Server 2008 | i386, amd64, ia64 |
Windows Vista / Windows 7 / Windows 8 | i386, amd64 |
硬件 64 位电脑 vs 32 位电脑
近年的电脑使用 64 位 Intel 或 AMD 处理器,兼容于稍旧的 32 位处理器;为 “i386” 架构编绎的软件也适用。从另个角度来看,此兼容的软件无法充份发挥新处理器的性能。所以 Debian 提供 “amd64” 架构的版本,针对最新的 AMD 芯片以及 Intel “em64t” 处理器 (包括大多数的 Core 系列),它们极度类似 AMD64。
3.2.5. 安装与配置选定的服务
Debian 安装之后,必须逐一安装与设置该电脑的所有服务。新的配置必须考量过去的配置才能确保转换的顺利。前述两个步骤的信息对于完成此部分极为重要。
图 3.3. 安装指定的服务
全面进入此练习前,强烈建议您阅读本书其他部分。才能够较精细地了解对预期服务的配置方式。