4.2. 安装,一步一步来
4.2.1. 引导和开始安装
一旦 BIOS 开始从 CD-/DVD-ROM 引导,就出现 Isolinux 引导程序界面。这时, Linux 内核还没有加载;菜单让你选择内核开始引导,同时可以加上参数以满足你的需求。
对于标准的安装过程,你需要选择“安装”或者“图形化安装”(有箭头指示)。然后按下 Enter 键开始安装。如果 DVD-ROM 是 “Multi-arch” 磁盘,计算机有 Intel 或者 AMD 64 位处理器,菜单项 “64 位安装” 和 “64位图形化安装” 将进行替代默认 32 位(i386) 的 64 位(amd64) 安装。实际上,64 位在服务器上比在桌面工作站上跑的多,因为某些非自由软件只有 32 位的二进制版本。
继续深入 32 还是 64 位?
32和64位系统基础的不同是内存地址的长度。理论上,32位的系统只能在 4 GB (232 字节)内存范围内工作。实际上,在此限制下可以使用各种 686-bigmem
版本的内核,这是因为处理器有可以处理 PAE (物理地址扩展) 的功能。显然这样使用的话对系统性能会产生一定的提升。这也是为什么在一台有大内存的服务器上使用 64 位模式是很有用的。
对于办公用计算机 (对性能的些微差异通常会忽略),您需要注意一些专有程序没有64位版本(例如,Skype)。技术上可以让其工作于64位系统,但您需要安装所有32位必须的库文件 (参见第 5.4.5 节 “多架构支持”),有时需要使用 setarch
或者 linux32
(在 util-linux 包中) 以使系统属性瞒过程序。
实践 与 Windows 系统并存的安装
如果计算机已经安装了 Windows,无需为了安装 Debian 而删除 Windows。你可以同时拥有双系统,且安装于不同的硬盘或者分区,并可在启动时选择系统。这种设定常称为”双重引导”,Debian 安装系统可以完成该设定。这会在安装过程中的硬盘分区阶段完成,同时设置引导程序(参阅侧边栏 实践缩小 Windows 分区 1 和 注意 引导程序和双启动 2)。
如果您已有一个可用的 Windows 系统,您甚至可以避免使用 CD-ROM;Debian提供了一个 Windows 程序,它能够下载一个轻量级的 Debian 安装程序,并在硬盘上完成设置。您仅需要重启计算机,选择 Windows 启动或者启动安装程序。 您也可以在一个专用网站上找到他,该网站具有一个相当直率的名字…
→ http://ftp.debian.org/debian/tools/win32-loader/stable/
→ http://www.goodbye-microsoft.com/
基本知识 Bootloader(引导程序)
引导程序是底层的程序,在离开 BIOS 的控制后引导 Linux 内核的。为了完成这个任务,必须加载硬盘上的内核。在 i386/amd64 架构的计算机上,完成这个任务使用的最多的两种程序是更古老的 LILO,更现在点的 GRUB, Isolinux 和 Syslinux 是可选的经常用来从可移除介质上来引导的。
每条菜单项隐藏了一个特定的引导命令行,在验证和引导前,该命令行可以用 TAB 键补全可能的设备或文件名。Help 菜单项显示了旧的命令行接口,按键 F1 到 F10 显示了不同的各种可选提示的帮助屏幕。在特定情况下你会选择相应的选项。
在 “专家” 模式 (在 “Advanced Options” 菜单操作) 的所有安装过程中的可选项细节,允许在各个步骤之间导航。 当心,这种很琐细的模式会让人迷惑于它提供的多种配置选择。
图 4.1. 引导界面
一旦引导后,安装程序会一步步地引导你整个过程。本节展示每个步骤的细节。这里我们会以从多架构 DVD-ROM 的安装过程开始;其他类型的安装, (netinst 或者 businesscard) 会有些略有不同。我们也会说明图形化安装模式,但这和 经典 模式的安装只是界面的不同而已。
4.2.2. 选择语言
安装程序以英语开始,但第一步允许用户选择后面过程使用的语言。比如选择 Chinese,会提供完全中文的安装界面。这一选项也被用来定义在后续阶段(特别是键盘布局)更相关的默认选择。
基础知识 用键盘导航
在安装过程中一些步骤需要输入信息,这些屏幕有一些区域会有 默认聚焦(文本输入区域,多选框, 确认和取消按钮), 并且 TAB 键允许你在之间移动。
在图形模式下,你可以使用鼠标,跟安装好的图形桌面一样。
图 4.2. 选择语言
4.2.3. 选择国家
第2步为选择国家和地区。该信息能为程序提供最合适的键盘布局,及语言。这也会影响时区设定。在美国,推荐使用标准的 QWERTY 键盘,并选择合适的时区。
图 4.3. 选择国家
4.2.4. 选择键盘布局
所建议的“American English”(美式英语)键盘对应于通常的 QWERTY 键盘布局。
图 4.4. 键盘选择
4.2.5. 检测硬件
在绝大多数情况下,这一步是完全自动的。安装程序探测你的硬件,并试图确定使用的 CD-ROM 驱动器,以访问其内容。加载相应的各种探测到的硬件组件的驱动模块,为了读取它然后 “挂载” CD-ROM。前几项步骤完全包括在安装 CD 的引导镜像里,BIOS 从 CD 引导的时候加载进了内存的一个受限大小的文件。
安装程序可以处理大部分主要的硬盘,特别是标准的 ATAPI 外部设备(有时也叫做 IDE 和 EIDE)。然而,如果探测到 CD-ROM 读取失败,安装程序会提供相应 CD-ROM 驱动器的内核模块选项加载(比如从 U盘 引导)。
4.2.6. 加载组件
CD 的内容现在准备好了,安装程序会下载所有需要的文件继续完成它的工作。这包括剩下的硬件的驱动(特别是网卡),以及所有安装程序的组件。
4.2.7. 检测网络硬件
这一步自动尝试侦测网卡并加载相应的模块。如果自动检测失败,你可以手动选择模块加载。如果模块不工作,也能从可移除的外设加载特定模块。如果相应的驱动不包含在标准的 Linux 内核里,这通常就是最后的解决方案了,但除此之外,就是厂商网站上的驱动了。
netinst 安装这步必须绝对成功 ,因为 Debian 的安装包必须从网络加载。
4.2.8. 配置网络
为了尽可能的自动安装,安装程序尝试着自动 DHCP 网络配置。如果失败,它会提供更多选项;再次尝试正常的 DHCP 配置,试图以声明机器名尝试 DHCP 配置,或者设置静态网络配置。
最后选项需要一个 IP 地址,一个子网掩码,一个网关 IP 地址,一个机器名,一个域名。
技巧不用DHCP配置网络
如果你不希望使用本地网络现成的 DHCP 服务器,因为你更想在安装过程中定义静态 IP 地址,你可以在从 CD-ROM 引导时增加 netcfg/use_dhcp=false
选项。你只需到所需的菜单项按 TAB 并在按 Enter 键前增加所需的选项。
当心 别凑合
许多局域网的基于这样一个隐含的假设,即所有的机器都是可以信任的,一台计算机的配置的导致的问题,往往会影响整个网络。因此,在征得你的系统管理员的设置认定之前,不要把你的机器连到网络上(例如 IP 地址,子网掩码和广播地址)。
4.2.9. 管理员密码
超级用户帐号系保留给机器的管理者,安装时自动产生;所以需要密码。安装器要求确认密码避免无法弥补的困难。
图 4.5. 管理员密码
安全 管理员密码
root 用户的密码要设的长(多于 8 个字符)并尽可能复杂。的确,任何连到互联网的计算机经常被尝试以最显而易见的密码去连接。有时甚至以密码字典的单词和数字组合的密码来攻击。要避免使用孩子或者父母的名字,生日等等来作密码;许多你的同事也许知道这些信息,你不要用这些作为进入你计算机问题的答案。
这些设定规则同样适用于其他用户的密码设定,但没有管理员权限的用户受到的危害程度较弱。
如果对设定密码没啥想法,请尽量用密码生成器,比如 pwgen
(有同样的程序名)。
4.2.10. 建第一个用户
Debian也规定了一个标准用户帐户的创建,避免管理员不作为根用户开始工作的坏习惯。预防的原则在本质上意味着以所需的最低权限执行每个任务,从而限制由人为错误造成的损害。这就是为什么安装程序会询问创建第一个用户的完整名称,用户名和密码(两次,以防止输入错误)。
图 4.6. 第一个用户的名字
4.2.11. 配置时钟
如果网络是正常的,系统的内部时钟从网络时间服务器更新(一次性)。这种方式在系统第一次启动时时间戳在日志上记录是正确的。为了一直保持精确的时间,需要在初始安装后设置 NTP 精灵进程( 参看 第 8.9.2 节 “时间同步”)。
4.2.12. 检测磁盘和其他设备
这一步自动检测安装 Debian 的硬盘。下一步将是:分区。
4.2.13. 开始分区的工具
文化 分区的作用
分区,安装中不可缺少的一部分,包括根据具体需求对硬盘可用空间的划分(每一次细分称为分区)。这一步包括选择文件系统。所有的选择都对性能,数据安全,服务器管理有着一定的影响。
一般来说分区对新用户有一定难度。需要定义各种划分的磁盘分区,在上面建Linux 文件系统和虚拟内存。这是件复杂的任务,如果你想保存这个硬盘上的另一个系统。本质上,你只要确定不要修改分区表(也不要修改分区大小就不会损坏数据)。
幸运的是,分区软件有引导模式,给予用户最常用的分区建议,你能够简单的去验证。
图 4.7. 分区模式的选择
分区工具提供的第一个屏幕里首选项是使用整个硬盘分成各种分区。对于新的单独使用 Linux 的计算机来说,这个最简单,你可以选择 引导—使用整个硬盘。如果计算机为两个系统准备了两块硬盘,每块硬盘装一个系统这样分区就容易多了。这些方案中,下一步显示选择安装 Linux 的硬盘开始分区(例如, “SCSI3 (0,0,0) (sda) - 12.9 GB ATA VBOX HARDDISK”). 然后你就开始分区了。
图 4.8. 使用硬盘分区
分区还可以设置成 LVM 逻辑卷。因为剩下的操作都一样的,所以我们就没有这一项(引导—使用整个硬盘并设置 LVM )。
在其他情况下,当 Linux 必须与其他已经存在分区共存,您就需要手动分区了。
4.2.13.1. 引导分区
引导分区工具工具依据不同的用途提供了三种分区方法。
图 4.9. 引导分区
第一第一种方法是 “都在一个分区”。整个 Linux 系统都存在于单个文件系统下,即根 /
文件夹。这个对于个人或单用户系统来说简单也实用。实际上,会建两个分区;第一个是整个系统,第二个是虚拟内存(交换分区)。
第二个方法, “单独的 /home/
分区”,很类似,但文件系统层次分成两个;一个包含了 Linux 系统(/
),第二个包含了 “home 文件夹”(意味着用户数据,文件和子文件夹存在于 /home/
下面)。
最后一种分区方法,称为“分离 /home
, /usr
, /var
, 和 /tmp
分区”,适合于服务器和多用户系统。它把文件树分到许多分区: 除了根 (/
) 和用户 (/home/
) 分区,还有这些分区,应用软件 (/usr/
),服务器软件数据 (/var/
, 和临时文件 (/tmp/
)。这样分区有几个优势。用户不会因为使用完所有可用硬盘空间而锁定整个服务器 (他们只能用完/tmp/
和 /home/
)。守护进程的数据(尤其是日志)不会再填满系统的其余部分。”
基本知识选择文件系统
文件系统定义了数据在硬盘上的组织方式。每个文件系统有它的优点和局限性。有些更健壮,有些更注重实际;如果你清楚你的需求,那选到最适合你的系统也是可能的。已经做过各种比较,似乎 ReiserFS 对于许多小文件的读比较高效;XFS,对于大文件的处理更有优势。 Ext3,Debian 的默认文件系统, 与之前 Linux 使用两个文件系统相比是一个好的选择(ext 和 ext2)。你也可以选择它的后来者 ext4,它克服了 ext3 的某些限制,尤其适合非常大容量的硬盘。如果你特别勇敢,你可以尝试非常有前景的 btrfs,它包括了当今 LVM 和/或者 RAID 的使用中的许多的特性。
日志型文件系统 (比如 ext3, ext4, btrfs, reiserfs, 或者 xfs) 需要特殊的措施,在突然异常中断后不需要分析整个硬盘情况下,使得文件系统可以返回到前一个正常的状态( ext2 的情况也是如此)。这个功能实现方法是,在实际执行操作前通过日志记录操作的描述。如果操作被打断,可以通过日志实现 “回放” 。相反地,如果中断发生在日志的更新过程中,最后请求的变化被简单忽略;将要写入的数据会丢失,但硬盘上没有变化的数据它们会保持一致。这就是这个文件系统的事务机制。
选择完分区类型后,软件会统计并显示所有分区相关信息;用户可以根据实际需要进行修改。特别是如果默认的文件系统 (ext4) 不符合你需求的话你可以选另一种文件系统。然而,大部分情况下,规划的分区是合理的直接确认选项 “完成分区并把改变写入磁盘”就可以了。
图 4.10. 验证分区
4.2.13.2. 手动分区
手动分区更加灵活,允许用户选择每个分区的用途和大小。进一步的话,如果你希望使用软件 RAID 这个步骤是不可避免的。
实践缩小 Windows 分区
在一个存在其他系统的硬盘上安装 Debian ,必须有不被其他系统使用的可用磁盘空间,以创建新的分区来安装 Debian。大多数情况下,这意味着减少了一个 Windows 系统的可用分区。
当使用手动模式分区时, Debian 安装程序允许使用这个操作。你只需选择 Windows 分区并输入新的大小(对于 FAT 和 NTFS 分区都一样)。
首先显示可用硬盘,它们的分区,没被分区的可用的剩余空间。你可以选择每个显示的分支;按下 Enter 键,然后列出了可选操作。
你可以选它删除所有分区。
选定未使用空间后,可以手动添加分区。也可使用适用于已有其他操作系统的导引分割,以标准方式分割出给 Linux 使用的空间。导引分割详情见 第 4.2.13.1 节 “引导分区”。
基本知识 挂载点
挂载点是指在选择的分区上放置文件系统的目录树。因此,一个分区挂载在 /home/
默认是指放置了用户的数据。
当目录名是 “/
”,就表示 root 文件树,因此根分区实际上是 Debian 系统。
基本知识虚拟内存,swap交换分区
当缺少足够的内存时,虚拟内存允许 Linux 内核通过存储部分不活跃的内存的数据在硬盘的交换分区上,以释放一点内存。
为了模拟更多内存,Windows 系统使用文件系统上的一个交换文件。反过来,Linux 使用一个特定目的的分区,即 “交换分区”。
当选择一个分区,你可以指定你要使用的方式:
格式化并在文件树下选择挂载点
使用为它作为交换分区;
使之成为 “加密的物理卷” (特定分区上的数据保密,见下文);
使用它作为“ LVM 的物理卷”(本章稍后对此概念作详细讨论)
使用它作为 RAID 设备(见本章以下内容)
你也可以选择不使用它,放着,不对它作任何改变。
4.2.13.3. 配置多磁盘设备(软件 RAID)
某些 RAID 类型允许在硬盘上存储重复数据以防其中一块硬盘出现故障导致数据丢失。 RAID 1 保持一块磁盘对另一块硬盘进行简单,相同的复制(镜像),而 RAID 5 把冗余数据分到多块磁盘上,因此任何一块硬盘出现问题都可以完整的重建。
这里我们仅描述 RAID 1,是最简单的实现。第一个步骤是在两块不同的硬盘上创建两个相同大小的分区位于,为他们标上 “物理卷 RAID”。
然后你在分区工具里选择 “配置软件 RAID” 把这两个分区结合成一个新的虚拟硬盘,接着选 “创建 MD 设备” 。然后你需要回答一系列关于新设备的问题。首先是问使用 RAID 的哪个层级,这里选 RAID1.第二个问题问激活设备数 — 这里选 2,在 MD 设备里包括设备数量。第三个问题是关于备用设备数 - 0;我们没有额外磁盘以备为接管可能会坏掉的硬盘。最后的问题需要你选择分区作为 RAID 设备—即我们为此目的已经设置好的两个分区(确定你只选了明确称为 “raid” 的分区)。
返回主菜单,一个新的虚拟 “RAID” 盘会出现。这个虚拟盘显示为一个分区,它不能被删除,但我们可以把它当作其他任何分区一样使用。
关于 RAID 功能的深入细节,请参考 第 12.1.1 节 “软 RAID”。
4.2.13.4. 配置逻辑卷管理 (LVM)
LVM 让你可以在几块磁盘上创建 “虚拟” 分区。有双重优点:分区大小不再受限于每块磁盘的容量而是他们的数倍,可以在你需要的时候任意增加一块额外的磁盘增加已经存在的分区容量。
LVM 使用了特别的技术:一块虚拟的分区是一个 “逻辑卷”,是 “逻辑卷组” 的一部分,或者是一些 “物理卷” 的组合。实际上每一个术语都对应着一个 “真正” 的分区(或一个软件 RAID 设备)。
这项技术工作方式很简单:每个卷,不管是物理卷还是逻辑卷,对应到 LVM 它们都被划成相同大小的块。增加新硬盘以创建新的物理卷,这些新的块被关联到任意的卷组。所有卷组上的分区会因而扩展更多空间。
分割工具以几个步骤配置 LVM。首先在现有磁盘添加分区 “LVM 实体卷” 分区。选择 “配置逻辑卷管理 (LVM)” 以启动 LVM,就能关联至现有的实体卷。最后,在此卷群组内添加逻辑卷。自动分割系统可以自动运行这些工作。
在分区菜单,每个物理卷会作为一个单一分区的磁盘出现,这个分区不能被删除,但你可以使用它了。
LVM 作用的深入介绍请参见 第 12.1.2 节 “LVM(逻辑卷管理)”。
4.2.13.5. 设置加密分区
为了保证您的数据的保密性,例如,在您的计算机或硬盘丢失或被盗的情况下,某些分区上的数据可进行加密。这个特性可以在任何文件系统下添加,拿 LVM 来说, Linux (更多特别是 dm-crypt 驱动) 使用 Device Mapper 创建虚拟分区(内容受保护),是基于以加密形式(感谢 LUKS,Linux 的统一密钥设置,一种标准格式,以加密的数据存储,元数据显示了被使用的加密算法)。
安全 加密交换分区
当使用一个加密的分区,密钥存储在内存(RAM)。取得这个密钥就可以解密数据,那么避免遗留密钥的拷贝就至关重要,对于可能存在的计算机或硬盘窃贼来说,还有就是维护管理员。然而对于笔记本电脑来说很容易发生这样的事故,因为 RAM 的内容都是存在交换分区上的。如果这个分区没有被加密,窃贼也可以取得密钥并用来解密加过密的分区数据。这就是为什么,当你使用加密的分区时,当务之急是也要加密交换分区!
Debian 的安装程序会警告用户,如果他们尝试建立一个加密的分区,交换分区是不会被加密的。
创建一块加密分区,您必须先分配一个可用的分区用于这一目的。为此,选择一个显示它是被用来作为 “加密的物理卷”的分区。在包含物理卷的磁盘分区后面,选择 “配置加密卷”。软件然后会建议用随机数据初始化物理卷(本地化的真实数据比较困难),然后会让你输入 “加密口令”,为了访问加密分区的内容每次启动计算机你都要输入这一口令。一旦这一步完成,你就已经回到分区工具目录,会有一个新的 “加密卷” 分区可用,然后就和其他分区一样配置它的用途。大多数情况,这一分区也和作为 LVM 的物理卷一样用相同的密钥保护几个分区(LVM 逻辑卷),包括交换分区(见侧栏 安全 加密交换分区)。
4.2.14. 安装基本系统
这一步,不需要任何交互,安装 Debian “基本系统” 软件包。这包括管理 Debian 软件包的 dpkg
和 apt
命令,如引导系统并使用的工具一样。 Debian 包会从光盘(如果使用 netinst CD 或者 完整的 CD-/DVD-ROM)读取安装 或者下载后(如果使用 businesscard 安装盘)安装。
图 4.11. 安装基本系统
4.2.15. 配置包管理 (apt)
为了能够安装附加软件, APT 需要配置以便知道到何处寻找 Debian 软件包。这一步是尽可能自动化的。开始会提问是否必须使用软件包的网络源,或者仅仅在 CD-ROM 里寻找所需软件。
笔记 光驱里的 Debian CD-ROM
如果安装程序发现 Debian 安装光盘在光驱里,它不需要去配置 APT 以在网络上寻找需要安装的软件包: APT 是通过配置后自动读取包不需要从移动光驱获取。如果光驱也是 APT 源的一部分,软件会提供 “搜索” 其他光盘以安装提及的包。
如果需要从网络获得软件包,后面两个问题允许选择一个服务器去下载这些包,选择一个国家和该国可用的镜像(镜像是指包含有所有 Debian 安装包副本的公共服务器)。
图 4.12. 选择 Debian 镜像
最后,会提示使用 HTTP 代理。如果没有,将直接连接互联网。如果你输入 http://proxy.falcot.com:3128
, APT 会使用 Falcot proxy/cache, 一个 “Squid” 程序。你能通过连到相同网络的另一台计算机找到这些设置。
文件 Packages.gz
和 Sources.gz
然后自动被 APT 下载并更新包列表。
“基本知识 HTTP 代理
HTTP 代理是为网络用户改变 HTTP 请求的服务器。有时帮助你加速下载。有时,它是唯一连接互联网服务器的途径;这时它是仅有的从网络下载 Debian 软件包的答案。
Squid 是 Falcot 公司用来提供该服务的服务器软件。
4.2.16. Debian 软件包流行度竞赛
Debian 系统有一个称做 popularity-contest 的软件包,它的目的是计算软件包的使用程度统计。每周,这个程序收集已经安装的和最近被使用的软件包的信息,并把这些信息匿名发送给 Debian 的该项目服务器。该项目可以使用这些信息决定每个包的相关重要性,通过影响授予的权重。特别是,最 “流行” 的软件包会包含在 CD-ROM 安装盘里,以便那些不想下载或购买整套CD的用户。
这个软件包只按需激活,出于尊重用户使用隐私。
4.2.17. 选择安装包
下一步允许你选择计算机的大致使用目地;十个建议的对应相应的软件包安装列表。这些实际会被安装的软件包后面可以微调,但这以简单的方式提供了一个很好的开始。
一些软件包也会根据实际的硬件自动被安装(感谢软件包 discover 里的程序 discover-pkginstall
)。比如,如果一个 VirtualBox 虚拟机被检测到,程序会安装 virtualbox-guest-dkms 软件包,以让虚拟机和宿主机结合的更好。
图 4.13. 安装选择
4.2.18. 安装 GRUB 引导程序
引导程序是 BIOS 开始的第一个程序。它把 Linux 内核加载进内存然后执行。通常提供给用户一个内核选择菜单去加载引导操作系统。
注意 引导程序和双启动
在 Debian 安装过程中检测到已经安装的操作系统时,会自动把它加到引导菜单项中,但不是所有的安装程序都能这么做。
特别地,如果你以后安装 (或重新安装) Windows ,引导程序会被覆盖。 Debian 仍然在硬盘上,但在引导菜单里不再能被操作了。你必须用 拯救
模式去重新安装这一引导程序来引导已经存在的 Debian 系统。这一操作的描述细节在安装手册里。
→ http://www.debian.org/releases/stable/i386/ch08s07.html
默认情况下,GRUB 显示菜单包括了所有已检测到操作系统的 Linux 内核。这就是为什么你要接受安装它到主引导扇区的原因。保存旧的内核的好处在于,当你的新内核不能在硬件上工作良好时,还能用旧内核正常引导系统,所以最好保存最近三个版本的内核。
由于 GRUB 的技术优势,GRUB 是 Debian 的默认引导程序:它能识别大部分的文件系统,因此在每次安装新内核之后无须作更新,这是由于引导时 GRUB 是通过读取配置文件找到新内核的实际位置的。版本 1 的 GRUB (又被称为”Grub Legacy”)不能处理有 LVM 和 软件 RAID 的情况;版本 2 默认支持,更全面。某些情况推荐使用LILO(另一种引导程序),安装程序会自动提示的。
关于配置GRUB的更多信息,请移步至第 8.8.3 节 “GRUB 2 配置”。
注意引导器和CPU体系架构
本章提到的 LILO 与 GRUB,都是 i386 和 amd64 架构的启动程序。在其他架构安装 Debian,需要 yaboot
或 quik
给 powerpc 使用、silo
给 sparc 使用、aboot
给 alpha 使用、arcboot
给 mips 使用。
4.2.19. 完成安装并重启
安装现已完成,提示你取出光盘并重启计算机。