# Linux 与 硬件的搭配

选购新的个人计算机时,需要注意某些硬件是否支持 linux,因为有些厂商对 linux 的驱动程序支持较慢

此外你需要用 linux 达成什么任务?也就是用途是什么?这样才知道哪个硬件才是最重要的。 举例来说,桌面电脑主要使用 x window,那么对于内存和显卡就显得比较重要了, 想要做成文件服务器,那么硬盘或则是其他存储设备比较重要

TIP

再次强调,linux 对硬件设备的分辨与 windows 不同,在 linux 下面都是「文件」, 在学习 linux 设备文件名之前,务必要先将 windows 中的设备概念先拿掉

# 认识计算机的硬件配备

主要部件有:

  • CPU
  • 内存
  • 显卡
  • 硬盘
  • 主板

# 游戏机/工作机的考虑

对于游戏机来说,更高的 CPU、内存、显卡是必须的, 但是对于一般的办公室环境来说,入门级的计算机就行了,基本用来制作 ppt、word、网页浏览等工作

# 性能/价格比性能/消耗的瓦数考虑

买最新的硬件一般来说有可能 linux 下没有合适的驱动程序,而且价格贵。

另外耗电量也需要考虑,特别是在企业环境中,有机房集群什么的使用计算机的数量是很多的, 硬件评论界有所谓的「每瓦性能」,就是每瓦电力发挥的性能越高,就越省电, 比如做服务器用时,你的计算机比省电的计算机每天多花费 50 瓦电力时,50W36524小时/1000W = 438 度电, 以一度电 3 块钱来计算,就多花费十万电费

# 支持度的考虑

某些厂商没有意愿提供适当的驱动程序的话,那么你买了也在 linux 上运行不起来的

# 选择与 Linux 搭配的主机配备

由于硬件的加速发展与操作系统核心功能的增强,导致老旧的硬件在新的内核上支持不好,可能导致不明的死机状况, 所以选择与之匹配的硬件与操作系统版本是很有必要的

由于 linux 对硬件的要求不高,鸟哥的建议是,如果你有 5 年内的计算机被淘汰的话,可以先尝试一下, 说不定就能作为你日常生活的 linux 服务器或则是备用服务器

下面来稍微谈一下,如果你的需求是将 linux 作为小型服务器使用,不负责学术方面的大量运算, 也没有 x window,那么你的硬件需求只要像下面这样就够了

  • CPU:2015 年中,intel i3 系列的 CPU 就可以了

  • RAM: 当然是越大越好

    在 Linux 服务器中,内存的重要性比 CPU 还要高的多,内存不够就会用到交换空间(swap), 而交换空间是使用硬盘存储的,硬盘比内存速度慢太多

    至少 512 MB,在 DDR3 的硬件环境中,4~16 GB 的内存够用了

  • Hard Disk

    主要看你用来做什么,如果是小型服务器,一般容量大于 20 GB,就很够用了,如果是用来作为备份 或小企业的文件服务器,那么可能就得需要磁盘阵列(RAID)模式了(Raid 利用硬件技术将多个硬盘整合为一个大硬盘的方法)

  • VGA

    不需要 x window 的话,只要最基础的显卡能让计算机启动就行了,否则至少拥有 32 MB以上的显存容量, 不然 x window 可能会很卡

  • Network Interface Card

    网卡是服务器上面最重要的元件之一了。大多主板内置 10/100/1000 Mbps 的超高速显卡。 但是有不同的差异,比如具有设置 bonding 功能的网卡,较好的网卡驱动也做得比较好, 如果是网络 I/O 频繁的需求,那么可以选用 intel/boradcom 等公司的网卡

  • 光盘、软盘、键盘与鼠标

    基本上可以不准备了,一般安装好之后,都会拔掉,通过终端来管理

# 小型主机且不含 x window 系统硬件推荐

用途:家庭用 NAT 主机(IP 分享器功能)或小型企业之非图形接口小型主机

  • CPU:五年内出产的产品即可
  • RAM:至少 512 MB,大于 1 GB 最好
  • 网卡:一般的以太网卡即可应付
  • 显卡:只要能被 Linux 捉到的显卡即可,例如 Nvidia 或 Ati 的主流显卡
  • 硬盘:20 GB 以上即可

# 桌上型含 x window 系统

用途:Linux 的练习机或办公室(Office)工作机(一般我们会用到的环境)

  • CPU:最好等级高一点,例如 Intel I5, I7 以上等级。
  • RAM:一定要大于 1GB 比较好!否则容易有图形接口停顿的现象。
  • 网卡:普通的以太网卡就好了!
  • 显卡:使用 256 MB 以上内存的显卡!(入门级的都这个容量以上了)
  • 硬盘:越大越好,最好有 60 GB。

# 中型以上 Linux 服务器

用途:中小型企业/学校单位的 FTP、mail、wwww 等网络服务主机

  • CPU:最好等级高一点,例如 I5, I7 以上的多核心系统。
  • RAM: 最好能够大于 1GB 以上,大于 4GB 更好!
  • 网卡: 知名的 broadcom 或 Intel 等厂牌,比较稳定性能较佳!
  • 显卡: 如果有使用到图形功能,则一张 64 MB 内存的显卡是需要的!
  • 硬盘: 越大越好,如果可能的话,使用磁盘阵列,或者网络硬盘等等的系统架构, 能够具有更稳定安全的传输环境,更 佳!

建议企业用计算机不要自行组装,可购买商用服务器较佳, 因为商用服务器已经通过制造商的散热、稳定性等测试,对 于企业来说,会是一个比较好的选择。

总之这里提供一个方向,根据自己的需求选购。

# distribution 对硬件的支持

linux 开发商在释出 linux distribution 之前,都会针对该版所默认可以支持的硬件做说明, 除了可以在 linux 的 Howto 文件去查询硬件的支持度外,也可以到具体的网站查询, 下面列出几个常用的 distribution 网站

  • Red Hat 的硬件支持:https://hardware.redhat.com/?pagename=hcl
  • Open SuSE 的硬件支持:http://en.opensuse.org/Hardware?LANG=en_UK
  • Linux 对笔记本电脑的支持:http://www.linux-laptop.net/
  • Linux 对打印机的支持:http://www.openprinting.org/
  • Linux 硬件支持的中文 HowTo:http://www.linux.org.tw/CLDP/HOWTO/hardware.html#hardware

# 各硬件设备在 Linux 中的文件名

在 Linux 中,每个设备都被当成一个文件来对待, 举例来说,SATA 接口的硬盘文件名称是 /dev/sd[a-d],即 /dev/sda/dev/sdb

下面列出几个常见的设备与在 linux 中的文件名

设备 在 linux 中的文件名
SCS/SATA/USB 硬盘机 /dev/sd[a-p]
USB 闪存盘 /dev/sd[a-p](同上)
Virtl/O界面 /dev/vd[a-p] 用于虚拟机内
软盘机 /dev/fd/[0-7]
打印机 /dev/lp[0-2] 25 针打印机、/dev/usb/lp[0-15] USB 打印机
鼠标 /dev/input/mouse 通用、/dev/psaux PS/2 界面、/dev/mouse 当前鼠标
CDROM/DVDROM /dev/scd[0-1] 通用、/dev/sr[0-1] 通用,CentOs 常见、/dev/cdrom 当前
磁带机 太老不记录
IDE 硬盘机 /dev/hd[a-d] 老式系统才有

要注意的是使用云端机时,你得到的是虚拟机,为了加速,虚拟机内的磁盘使用仿真机产生,一般被命名为 /dev/vd/[a-p]

# 使用虚拟机来学习

虚拟化技术的成熟,个人计算机的 CPU 微指令集已经整合了硬件虚拟化指令集了,随便一台计算机就能够虚拟化出好几台逻辑独立的系统了

虚拟机软件有很多,在 windows 上可以使用 virtualbox ,在 Fedora/Ubuntu 等系列的话,使用内置的 KVM 就行了, 鸟哥后续章节使用的就是通过 KVM 创建出来的系统