Linux基础及应用教程(基于CentOS7)
上QQ阅读APP看书,第一时间看更新

第1章 Linux简介与安装

本章首先介绍Linux的历史、特点、组成及发行版本,然后介绍CentOS 7.1的安装方法,最后介绍安装后的基本配置以及用户登录与注销、开机与重启等基本操作。

1.1 Linux简介

1.1.1 自由软件与Linux

1.自由软件

自由软件的自由(free)有两个含义:第一,是可免费提供给任何用户使用;第二,是指它的源代码公开和可自由修改。所谓可自由修改是指用户可以对公开的源代码进行修改,以使自由软件更加完善,还可在对自由软件进行修改的基础上开发上层软件。

自由软件的出现给人们带来了很多好处。首先,免费的软件可给使用者节省一笔费用。其次,自由软件公开源代码,这样做的好处之一是可吸引尽可能多的开发者参与软件的查错与改进,正如Linux的指导思想“BUG就像影子一样,只会出现在阳光照不到的角落中”。

自由软件创始人Richard M. Stallman是黑客历史上最伟大的黑客,黑客中的圣者,是GNU Project的创始人。他于1984年起开发自由开放的操作系统GNU(Gun is Not UNIX的首字母缩写),以此向计算机用户提供自由开放的选择。GNU是自由软件,任何用户都可以免费复制和重新分发以及修改。

2.Linux及其历史

Linux是一个操作系统,同时是一个自由软件,是免费的、源代码开放的,编制它的目的是建立不受任何商品化软件版权制约的、全世界都能自由使用的UNIX兼容产品。

Linux最初是由芬兰赫尔辛基技术大学计算机系大学生Linus Torvalds在1990年底到1991年的几个月中,为了他自己的操作系统课程和后来的上网用途而陆续编写的,在他自己买的Intel 386 PC上,利用Tanenbaum教授自行设计的微型UNIX操作系统Minix作为开发平台。Linus说,刚开始的时候根本没有想到要编写一个操作系统的内核,更是绝对没有想到这一举动会在计算机界产生如此重大的影响。最开始是一个进程切换器,然后是为了自己上网需要而自行编写的终端仿真程序,再后来是为了从网上下载文件的需要而自行编写的硬盘驱动程序和文件系统,这时才发现他已经实现了一个几乎完整的操作系统内核,出于对这个内核的信心和美好的奉献精神与发展希望,Linus希望这个内核能够免费扩散使用,但出于谨慎,他并没有在Minix新闻组中公布它,而只是于1991年底在赫尔辛基技术大学的一台FTP服务器上发了一则消息,说用户可以下载Linux的公开版本(基于Intel 386体系结构)和源代码。从此以后,奇迹开始发生。

Linux的兴起可以说是Internet创造的一个奇迹。到1992年1月止,全世界大约只有100个人在使用Linux,但由于它是在Internet上发布的,网上的任何人在任何地方都可以得到Linux的基本文件,并可通过电子邮件发表评论或者提供修正代码,这些Linux的爱好者有将之作为学习和研究对象的大专院校的学生以及科研机构的科研人员,也有网络黑客等,他们所提供的所有初期上载代码和评论,后来证明对Linux的发展至关重要。正是在众多爱好者的努力下,Linux在不到3年的时间里成为了一个功能完善、稳定可靠的操作系统。

1.1.2 Linux系统的特点和组成

1.Linux系统的特点

Linux操作系统在短短的几年之内得到了非常迅猛的发展,与Linux具有的良好特性是分不开的。Linux包含了UNIX的全部功能和特性。简单地说,Linux具有以下主要特性。

开放性:是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。另外,源代码开放的Linux是免费的,使得Linux的获得非常方便,而且使用Linux可节省费用。Linux开放源代码,使用者能控制源代码,按照需要对部件混合搭配,建立自定义扩展。

多用户:是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(如文件、设备)有特定的权限,互不影响。Linux和UNIX都具有多用户的特性。

多任务:多任务是现代计算机最主要的一个特点,是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。

出色的速度性能:Linux可以连续运行数月、数年而无须重新启动,与NT(经常死机)相比,这一点尤其突出。即使作为一种台式机操作系统,与许多用户非常熟悉的UNIX相比,它的性能也显得更为优秀。Linux不大在意CPU的速度,它可以把处理器的性能发挥到极限,用户会发现,影响系统性能提高的限制因素主要是其总线和磁盘I/O的性能。

良好的用户界面:Linux向用户提供了3种界面,即用户命令界面、系统调用界面和图形用户界面。

丰富的网络功能:Linux是在Internet基础上产生并发展起来的,因此,完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。

可靠的系统安全:Linux采取了许多安全技术措施,包括对读/写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。

良好的可移植性:可移植性是指将操作系统从一个平台转移到另一个平台后仍然能按其自身方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊和昂贵的通信接口。

具有标准兼容性:Linux是一个与可移植操作系统接口(Portable Operating System Interface,POSIX)相兼容的操作系统,它所构成的子系统支持所有相关的ANSI、ISO、IETF和W3C业界标准。为了使UNIX system V和BSD上的程序能直接在Linux上运行,Linux还增加了部分system V和BSD的系统接口,使Linux成为一个完善的UNIX程序开发系统。Linux也符合X/Open标准,具有完全自由的X Window实现。虽然Linux在对工业标准的支持上做得非常好,但是由于各Linux发布厂商都能自由获取和接触Linux的源代码,所以各厂家发布的Linux仍然存在细微的差别。其差异主要存在于所捆绑应用软件的版本、安装工具的版本和各种系统文件所处的目录结构等。

2.Linux系统的组成

Linux一般有4个主要部分:内核、Shell、文件系统和应用程序。内核、Shell和文件系统一起形成了基本的操作系统结构。它们使得用户可以运行程序、管理文件并使用系统。

Linux内核:内核是系统的“心脏”,是运行程序和管理像磁盘及打印机等硬件设备的核心程序。

Linux Shell:Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并送入内核中执行。实际上Shell是一个命令解释器,解释由用户输入的命令并且把它们送到内核。另外,Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

Linux文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法。Linux能支持多种目前流行的文件系统,如XFS、EXT2/3/4、FAT、VFAT、ISO9660、NFS、CIFS等。

Linux应用程序:标准的Linux系统都有一套称为应用程序的程序集,包括文本编辑器、编程语言、X Window、办公套件、Internet工具、数据库等。

1.1.3 Linux的内核版本与发行版本

Linux有内核(Kernel)版本和发行(Distribution)版本之分。

1.Linux的内核版本

内核版本是在Linus领导下的开发小组开发出的系统内核的版本号。

内核版本号由3个数字组成,即r.x.y。

●r:目前发布的Kernel主版本。

●x:偶数表示稳定版本;奇数表示开发中的版本。

●y:错误修补的次数。

在2.x版本时代,x位为偶数的版本表明这是一个可以使用的稳定版本,如2.6.18;x位为奇数的版本一般加入了一些新的内容,不一定很稳定,是测试版本,如2.5.111。

RHEL/CentOS 7使用的内核版本是3.10.0。在3.x版本时代,也存在基于奇数次版本号的稳定版。例如Linux Mint 17.1使用的内核版本是3.13.0。

时至今日,Linux的内核仍旧由Linus领导下的开发小组维护。可以访问http:// www.kernel.org获得最新的内核信息。

2.Linux的发行版本

发行版本是一些组织或厂家将Linux系统内核与应用软件和文档包装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合。目前已经有了300余种发行版本,而且还在不断地增加。相对于内核版本,发行套件的版本号随发布者的不同而不同,与系统内核的版本号是相对独立的。

表1-1中列出了一些常见的发行版本。有关更多的Linux发行版本的信息,可访问http://www.distrowatch.com获得。

1-1 常见的Linux发行版本

978-7-111-53793-9-Part01-1.jpg

1.1.4 RedHatLinux及其相关产品

1.RedHatLinux系列发行版

RedHat公司在开源软件界鼎鼎大名,该公司发布了最早的(之一)Linux商业版本Red HatLinux。RedHat公司的总部设在美国北卡罗来纳州首府罗利。RedHat公司由有远见的企业家BobYoung和MarcEwing创建于1994年,以源码开发作为营业模型的基础,也代表了软件开发行业的一次根本转变。所有人都可以获得软件的原始代码,使用该软件的开发人员可以自由地对其进行改进。RedHat解决方案包括Red Hat Linux、开发人员和嵌入式技术,以及培训、管理和技术支持。这项开源革新通过称之为Red Hat Network的Internet平台传递给客户们。

Red Hat一直领导着Linux的开发、部署和经营,从嵌入式设备到安全网页服务器,都是用开源软件作为Internet基础设施解决方案的领头羊,一度曾被作为Linux发行版本的事实标准。Red Hat公司在发布RedHatLinux系列版本的同时,还发布了Red HatEnterprise Linux,即Red Hat Linux企业版,简写为RHEL。RHEL系列版本面向企业级客户,主要应用在Linux服务器领域。RedHat公司对RHEL系列产品采用了收费使用的策略,即用户需要付费才能够使用RHEL产品并获得技术服务。

2.Red Hat与Fedora Project

RedHat公司于2003年9月底宣布,将原有的RedHatLinux开发计划与FedoraLinux计划整合成新的FedoraProject。FedoraProject将由RedHat公司赞助,以社群主导、支持的方式,开发Linux发行版FedoraCore。FedoraProject是一份由RedHat策划的开放开发项目,它向普通参与者开放并由精英管理者领导,沿着一系列项目目标而前进。Fedora项目的目标是与Linux社区协作,只从开放源码软件来创建一份完整的、通用的操作系统。其开发过程是以公开论坛的形式进行的。

由于RedHat公司未来不再继续免费版RedHatLinux的开发工作,而由合并产生的FedoraProject接手后续新发行版本的开发工作,因此FedoraProject被RedHat公司视为一个新技术的研究园地,其所开发的各项技术有可能在未来被纳入RedHatEnterpriseLinux(企业版)中使用。正因为如此,Fedora Project不断引入自由软件的新技术,从而导致其发行版本缺乏足够的稳定性。Fedora Project现已更名为Fedora。

3.CentOS与RHEL

CentOS是一个开源软件贡献者和用户的社区。它对RHEL源代码进行重新编译,成为众多发布新发行版本的社区当中的一个,并且在不断的发展过程中,CentOS社区不断与其他的同类社区合并,使CentOS Linux逐渐成为使用最广泛的RHEL兼容版本。CentOS Linux的稳定性不比RHEL差,唯一不足的就是缺乏技术支持,因为它是由社区发布的免费版。

CentOS社区的Linux发行版本被称为CentOS Linux,由于使用了由RHEL的源代码重新编译生成新的发行版本,CentOS Linux具有与RHEL产品非常好的兼容性,并且与生俱来地拥有RHEL的诸多优秀特性。虽然CentOS Linux使用了RHEL的源代码,但是由于这些源代码是Red Hat公司自由发布的,因此CentOS Linux的发布是完全合法的,CentOS Linux的使用者也不会遇到任何的版权问题。CentOS面向那些需要企业级操作系统稳定性的用户,而且并不存在认证和支持方面的开销。

CentOS Linux与RHEL产品有着严格的版本对应关系,例如使用RHEL 6源代码重新编译发布的是CentOS Linux 6,与RHEL 7.1对应的是CentOS Linux 7.1。

1.1.5 Linux应用领域

Linux操作系统自诞生到现在,已经在各个领域得到了广泛应用,显示了强大的生命力,并且其应用正日益扩大。

1.教育领域

首先,设计先进和公开源代码这两大特性使Linux成为了操作系统课程的好教材。

其次,每个儿童一台笔记本电脑(One Laptop Per Child,OLPC)计划的笔记本电脑均使用Linux操作系统。OLPC项目是由麻省理工学院多媒体实验室在2005年发起并组织的一个非营利组织。OLPC借由生产接近100美元的笔记本电脑,给对这项计划有兴趣的发展中国家,由该国政府直接提供给成千上万处于困境的儿童使用,降低知识鸿沟,故又称百元电脑。OLPC已如愿开发出了OLPC XO笔记本电脑,可充分利用Linux在自由方面的许多优势。

此外,在2012年出现的卡片式电脑也为学生(不仅是大学生,甚至是中小学生)学习计算机编程提供了一种300元人民币的廉价方案。卡片式电脑具备所有PC的基本功能,只需接通电视机和键盘,在Linux操作系统下就能实现如文字处理、电子表格、玩游戏、播放高清视频等诸多功能。

注册于英国的慈善组织“Raspberry Pi 基金会”以“提升学校计算机科学及相关学科的教育,让计算机变得有趣”为宗旨。英国剑桥大学的埃本.阿普顿(Eben Epton)在2012年3月正式发售了世界上最小的台式机,它是一款基于ARM的运行Linux操作系统的微型电脑主板,又称卡片式电脑,其外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名“树莓派”。基金会期望这款电脑无论是在发展中国家还是在发达国家,都会有更多的其他应用不断被开发出来,并应用到更多领域。

随着树莓派的出现,兼容开源硬件Arduino和cubieboard(http://cubieboard.org/)的pcDuino也随后诞生。此外,国内厂家也开发出了更具性价比的与树莓派和cubieboard兼容的香蕉派、香橙派等。

2.服务器领域

Linux服务器应用广泛,稳定、健壮、系统要求低、网络功能强等特点,使Linux成为Internet服务器操作系统的首选,现已达到了服务器操作系统市场40%以上的占有率。例如,成立于2001年1月15日的维基百科(http://www.wikipedia.org)就使用Linux操作系统。现在维基百科每月的页面浏览量大约是100亿人次。截至2014年7月2日,维基百科条目数第一的英文维基百科已有454万个条目。全球所有282种语言的独立运作版本共突破2100万个条目,总登记用户也超越3200万人,而总编辑次数更是超越12亿次。

此外,U2L计划(即用Linux操作系统替代UNIX操作系统)也在广泛开展。例如,早在2003年8月,韩国国家航空公司和IBM公司就联合发布声明,表示韩国航空公司将把该公司的核心业务移植到IBM的eServer服务器当中完成,其中操作系统则采用Linux。

3.云计算领域

当今云计算如火如荼。在构建云计算平台的过程中,开源技术起到了不可替代的作用。从某种程度上说,开源是云计算的灵魂。大多数的云基础设施平台都使用Linux操作系统。

目前已经有多个云计算平台的开源实现,主要的开源云计算项目有Eucalyptus、OpenStack、CloudStack和OpenNebula等。

4.嵌入式领域

Linux是最适合嵌入式开发的操作系统。Linux嵌入式应用涵盖的领域极为广泛,嵌入式领域将是Linux最大的发展空间。迄今为止,在主流IT界取得最大成功的当属由谷歌开发的Android系统,它是基于Linux的移动操作系统。Android把Linux交到了全球无数移动设备消费者的手中。

具体的嵌入式应用,大致有以下几类。

●移动通信终端:如Android手机。

●移动计算设备:如Android平板电脑、HandPC、PalmPC及PDA。

●网络通信设备:如接入盒、打印机服务器乃至路由器、交换机。

●智能家电设备:如基于Ubuntu或Android的机顶盒(网络视频播放设备)、仿真设备、控制设备、行动装置等。

●车载电脑:如包括丰田和标致在内的多家汽车厂商也在使用Linux操作系统。

●自动柜员机(ATM):如巴西南里奥格兰德银行(Banrisul)的一个基于Linux的ATM项目。

5.政府领域

在美国,美国邮政管理局、美国国防部和美国联邦航空局都是Linux的重要政府用户。另外,世界上还有许多国家做出了使用Linux的类似决定,包括法国、西班牙、德国和瑞士等。

在国内,已有众多机构使用Linux操作系统。例如,早在2002年,北京市东城区政府就建立了基于Linux服务器平台的电子政务系统。

6.企业领域

利用Linux系统可以使企业用低廉的投入架设E-mail服务器、WWW服务器、DNS和DHCP服务器、目录服务器、防火墙、文件和打印服务器、代理服务器、透明网关、路由器等。

当前,谷歌、亚马逊、思科、IBM、纽约证券交易所和维珍美国公司等都是大名鼎鼎的Linux用户。

7.影视领域

如今,Linux操作系统已成为电影工业首选的操作系统。

发行于1997年的著名影片“泰坦尼克号(Titannic)”是第一部在Linux下渲染特技效果的大片,当时Digital Domain工作室(一个著名的特技工作室)是在200多台装有Linux系统的集群上协作完成其特技效果的。

2001年发行的“怪杰史瑞克(Shrek)”是第一部主要应用Linux来完成的动画大片,但它绝不会是最后一部。Linux正在逐渐成为越来越多的专业动画制作人员首选的操作系统。除了制作“Shrek”的梦工厂的SKG小组之外,从好莱坞、海湾一直到伦敦的许多世界顶尖的动画制作小组都在使用Linux。

Weta Digital公司是由彼得.杰克逊、理查.泰勒和杰米.希尔克发起建立的,因为给电影“指环王”制作特效而受到业界瞩目。Weta Digital为“指环王”系列电影、“金刚”重制版、“机械公敌”、“2012”等大片以及众多炫目的广告片制作了特效。2008年,Weta Digital重新进行设计了其Weta数据中心,其计算集群使用了HP Cluster Platform 3000BL 集群平台作为其解决方案,并使用Linux操作系统。2009年,Weta Digital为詹姆斯.卡梅隆导演耗资2.3亿的大电影“阿凡达”进行艰苦的渲染工作。

8.超级计算领域

此外,Linux高性能计算、计算密集型应用,如风险分析、数据分析、数据建模等方面也得到了广泛应用。

Linux已在超级计算机领域一统天下。截至2011年底,在世界超级计算机500强排行榜中,基于Linux的超级计算机占据了462个席位,比率高达92%。

例如,在美国智力竞赛节目“危险边缘”中,以出众性能而让世人惊叹的沃森Watson)超级计算机就是运行在Linux操作系统上。

9.桌面领域

面向桌面的Linux系统特别在桌面应用方面进行了改进,达到了相当高的水平,完全可以作为一种集办公应用、多媒体应用、网络应用等多方面功能于一体的图形界面操作系统。

常用的面向桌面的Linux系统包括Linux Mint、Ubuntu Desktop等。此外,国产的Linux发布也专门为国内用户的软件使用习惯进行了优化,比如:

●由中国CCN联合实验室支持和主导的开源项目,优麒麟(Ubuntu Kylin)Linux操作系统(http://www.ubuntukylin.com/)。

●由中标软件和国防科技大学强强联手合作推出的中文名为标麒麟(NeoKylin)Linux操作系统(http://www.cs2c.com.cn/)。

●由武汉深之度科技有限公司推出的基于Ubuntu发行版的深度(Deepin)Linux操作系统(http://www.deepin.org)。

●由东莞瓦力网络科技有限公司发行的开源操作系统,起点(StartOS)Linux操作系统(http://www.startos.org/)。

1.2 安装 Linux

1.2.1 准备安装 Linux

1.获取CentOS 7的ISO文件

在http://isoredirect.centos.org/centos/7/isos/x86_64/中选择国内的镜像站点,并选择下载CentOS 7的ISO文件。以64位的CentOS 7.1为例,可用的ISO文件及其说明如表1-2所示。

1-2 64CentOS7.1可用的ISO文件及说明

978-7-111-53793-9-Part01-2.jpg

作为服务器使用的Linux系统,通常无须安装图形工作界面,采用最小化安装即可。为此,笔者下载了最小化系统的ISO文件CentOS-7-x86_64-Minimal-1503-01.iso。

为了确保已下载ISO文件的正确性,需同时下载同目录下的校验文件sha256sum.txt。在Windows环境下可以使用Quick Hash GUI(http://sourceforge.net/projects/quickhash)生成ISO文件的sha256散列算法的校验码,将其与sha256sum.txt文件中对应文件的校验码进行比对,若两者一致则表示ISO文件正确。确认下载的ISO文件正确之后,便可将ISO文件刻入光盘或将ISO文件写入U盘了。

提示

1.请查看安装光盘中的发行注记(RELEASE-NOTES)文件,获知有价值的功能摘要和已知的问题。

2.请到https://hardware.redhat.com/查看相应版本的硬件支持情况。

3.请到https://wiki.centos.org/About/Product查看不同版本的比较。

4.若在阅读本书时,无法下载到CentOS 7.1的ISO文件,那么下载最新版的CentOS 7.X的ISO文件即可。因为即使下载了CentOS 7.1的ISO文件,一旦安装完毕执行了yum update命令后,系统也就成了最新版的CentOS 7.X。

2.多种安装方式

RHEL/CentOS提供了方便的多种安装方式。

(1)本地安装和网络安装

●本地安装:安装程序要安装的源文件(RPM文件)保存在本地光盘或本地硬盘中。

●网络安装:安装程序要安装的源文件(RPM文件)保存在网络服务器中并以HTTP/FTP/NFS协议提供。

(2)手动安装和自动安装

●手动安装:在安装过程中逐一回答安装程序所提出的问题。

●自动安装:以应答文件(Kickstart文件)自动回答安装程序所提出的问题。

3.安装程序Anaconda

Anaconda是由Python语言编写的Linux安装程序,被许多Linux发行使用。

(1)RHEL/CentOS的Anaconda提供了3种模式

●Install模式:用于安装系统。

●Kickstart模式:用于实现自动应答安装。

●Rescue模式:使用安装介质(CD/DVD)为无法引导的系统故障修复。

(2)Anaconda为用户提供了4种访问界面

1)图形安装界面,也是默认界面。

2)文本安装界面,通过inst.text启用。

3)VNC安装界面。

●通过VNC进行远程安装。

●通过inst.vnc启用。

●使用inst.vncconnect=<HOST>:<PORT>指定主动连接的VNC客户端的主机名或IP地址以及端口号。

●使用inst.vncpassword=<PASSWORD>指定VNC的联机口令。

4)串口安装界面。

●通过COM口所连接的串行控制台安装。

●用于未安装显示适配器的计算机。

●通过console=<device>启用,如console=/dev/ttyS0。

●应与inst.text选项一同使用。

4.安装程序引导方式

Anaconda是基于Linux平台的应用程序,因此必须先启动一个Linux内核才可以运行。有如下几种安装程序引导方式。

●光盘(DVD安装光盘或minimal/netinstall CD光盘)。

●USB设备(将ISO文件写入U盘)。

●引导装载程序,比如GRUB。

●网络(PXE)。

1.2.2 最小化安装CentOS 7.1

1.安装引导配置

将使用CentOS-7-x86_64-Minimal-1503-01.iso文件刻录的光盘插入光驱,设置计算机BIOS为CD-ROM优先启动。引导计算机,进入光驱引导界面,如图1-1所示。

978-7-111-53793-9-Part01-3.jpg

图1-1 使用安装光盘启动系统

在图1-1所示的界面中有两个选项和一个子菜单,分别为:

1)安装新系统或更新现有系统。

2)先检测安装介质再安装新系统或更新现有系统。

3)Troubleshooting子菜单。

●在安装程序无法为显卡载入正确的驱动程序的情况下使用图形模式安装。

●进入系统援救模式。

●检测内存。 

●从本地硬盘启动系统。 

要安装一个新的CentOS系统,直接按〈Enter〉键后将出现图1-2所示的CentOS欢迎界面。 

2.选择安装过程使用的语言 

在CentOS的欢迎界面中可以选择安装过程所使用的语言。选择“中文 Chinese”之后,单击“继续”按钮进入“安装信息摘要”界面,如图1-3所示。 

978-7-111-53793-9-Part01-4.jpg

图1-2 选择安装过程使用的语言

978-7-111-53793-9-Part01-5.jpg

图1-3 “安装信息摘要”界面

3.“安装信息摘要”界面 

在“安装信息摘要”界面中可以为将来运行的Linux系统配置各种参数,如表1-3所示

1-3 CentOS 7.1的安装配置

978-7-111-53793-9-Part01-6.jpg

4.配置键盘布局 

在图1-3所示的界面中选择“键盘”进入如图1-4所示的界面。单击“+”按钮,在随后的界面中选择“英语(美国)”键盘布局并单击“添加”按钮。 

切换了键盘布局后,单击屏幕左上角的“完成”按钮回到如图1-3所示的“安装信息摘要”界面。 

5.选择安装设备并分区 

在图1-3所示的界面中,选择“安装位置”进入如图1-5所示的界面,在此界面中可进行如下操作。 

●选择安装设备:选择本地存储设备(将CentOS安装到本地磁盘中)或添加远程存储设备(将CentOS安装到远程存储设备中,如SAN或者NAS)。

●设备分区:自动分区或手动分区。

●启用分区加密保护数据。

●配置启动加载器。

978-7-111-53793-9-Part01-7.jpg

图1-4 选择键盘布局

978-7-111-53793-9-Part01-8.jpg

图1-5 选择安装设备并分区

这里将CentOS系统安装到本地硬盘且使用自动分区,所以保持默认选项即可。单击屏幕左上角的“完成”按钮回到如图1-3所示的“安装信息摘要”界面。

6.配置网络和主机名 在图1-3所示的界面中,选择“网络和主机名”进入如图1-6所示的界面。在此界面中可进行如下操作。

●设置主机名:在界面左下方的文本框中输入主机名(FQDN)。

●启用网络接口设备:选择某个网络接口设备之后,单击“开启|关闭”按钮即可启用或

禁用指定的网络接口设备(默认均未启用)。

●配置网络接口设备:选择某个网络接口设备之后,单击界面右下方的“配置”按钮。

首先在安装程序自动发现的网络设备列表里选中一个网络设备,单击“配置”按钮进入如图1-7所示的网络连接配置界面。

978-7-111-53793-9-Part01-9.jpg

图1-6 网络和主机名配置界面

978-7-111-53793-9-Part01-10.jpg

图1-7 网络连接配置界面

选择“IPv4设置”选项卡,首先选择IP地址的获取“方法”,若网络中有DHCP服务器,选择默认的“自动(DHCP)”即可,不过通常作为服务器使用的CentOS系统需要配置静态IP地址及相关网络参数,为此,在“方法”右面的下拉列表框中选择“手动”,然后单击“添加”按钮之后,分别输入IP地址、子网掩码和网关。之后在“DNS服务器”右边的文本框中输入DNS服务器的IP地址。

单击“保存”按钮即可保存当前网络接口的配置。若有多个网络接口需要配置,使用上述的配置方法配置即可。

完成所有的网络接口配置之后,单击屏幕左上角的“完成”按钮回到如图1-3所示的“安装信息摘要”界面,单击“开始安装”按钮继续安装。

7.用户设置

安装开始后进入如图1-8所示的界面。在该界面下方显示了一个安装进度条,同时提示用户进行用户配置:包括设置超级用户密码和创建普通用户。

选择“ROOT密码”后进入如图1-9所示的界面。

978-7-111-53793-9-Part01-11.jpg

图1-8 用户配置

978-7-111-53793-9-Part01-12.jpg

图1-9 设置root用户口令

在该界面中输入两次root用户口令,然后单击屏幕左上角的“完成”按钮回到如图1-8所示界面。选择“创建用户”进入如图1-10所示的界面。

在该界面中依次输入用户全名、用户(登录)名、两次相同的口令,然后单击屏幕左上角的“完成”按钮进入如图1-11所示界面,单击“结束配置”按钮继续安装。

978-7-111-53793-9-Part01-13.jpg

图1-10 设置root用户口令

978-7-111-53793-9-Part01-14.jpg

图1-11 结束用户配置

8.安装结束

当系统安装结束,将出现如图1-12所示的结束安装界面

978-7-111-53793-9-Part01-15.jpg

图1-12 安装结束

单击“重启”按钮结束安装并重新启动系统。

9.首次启动

重新启动系统后,首先进入如图1-13所示的GRUB界面。按〈Enter〉键继续

978-7-111-53793-9-Part01-16.jpg

图1-13 GRUB启动界面

引导Linux系统后,经过一系列的启动过程,将进入CentOS的本地登录界面

1.3 初入 Linux

1.3.1 虚拟控制台和本地登录

1.虚拟控制台

当在系统启动时直接进入字符工作方式后,系统提供了多个(默认为6个)虚拟控制台。每个虚拟控制台可以独立使用,互不影响。可以使用快捷键〈Alt+F1〉~〈Alt+F6〉进行多个虚拟控制台之间的切换。

2.本地登录和注销

若用户在系统启动后直接进入字符工作方式,或者从图形界面使用组合键〈Ctrl+Alt+F1〉~Ctrl+Alt+F6〉切换字符虚拟终端进入字符界面,就会看到如图1-14所示的登录界面。

图1-14 本地登录CentOS

超级用户(root)的提示符是“#”,普通用户(图中为osmond)的提示符是“$”。

若要注销登录,可以在当前的登录终端上输入logout命令或使用〈Ctrl+D〉快捷键注意

Linux系统是严格区分大小写的,无论用户名,还是文件名、设备名都是如此,即ABC、Abc、abc是3个不同的用户名或文件名。

1.3.2 远程登录Linux系统

1.在Linux环境下使用ssh登录远程Linux系统

Linux下的ssh命令是OpenSSH的客户端程序。要登录远程Linux系统,必须保证远程Linux系统上启动了名为sshd的服务,CentOS的默认配置是开启这项服务的。使用ssh命令登录远程OpenSSH服务的命令格式是:

978-7-111-53793-9-Part01-17.jpg

下面给出一个使用ssh命令登录远程Linux系统的操作步骤。

操作步骤1.1 在Linux环境下使用ssh命令登录远程Linux系统

978-7-111-53793-9-Part01-18.jpg

提示

由于SSH协议采取加密数据传输,相对比较安全,所以SSH服务器的默认配置允许root用户直接进行登录,这与传统的Telnet登录方式不同。

2.在Windows环境下使用putty登录远程Linux系统

在Windows下,用户可以用putty来远程登录Linux系统。下面给出一个使用putty登录远程Linux系统的操作步骤。

操作步骤1.2 在Windows环境下使用putty登录远程Linux系统

978-7-111-53793-9-Part01-19.jpg

978-7-111-53793-9-Part01-20.jpg

图1-15 设置putty连接远程Linux系统

978-7-111-53793-9-Part01-21.jpg

图1-16 确认与远程系统建立连接

978-7-111-53793-9-Part01-22.jpg

图1-17 使用putty登录远程系统

注意

Linux系统中有两类用户:普通用户和超级用户(root)。基于安全的考虑不建议直接使用root用户登录,建议首先以一个普通用户身份登录系统,当需要执行系统管理类命令时,可以:

●使用su-命令(-表示同时切换用户工作环境)切换为超级用户身份,当执

行完系统管理类命令时再使用exit命令退回到普通用户身份。

●使用sudo命令前缀执行系统管理命令,参见本书8.1.2节。

1.3.3 获得命令帮助

1.获得命令帮助的方法

表1-4中列出了获得命令帮助的方法

1-4 获得命令帮助的方法

978-7-111-53793-9-Part01-23.jpg

命令帮助的输出语法格式如下。

●[]内的参数是可选的。

●大写的参数或<>中的参数是变量。

●…表示一个列表。

●x|y|z表示“x或y或z”。

●-abc表示“-a -b -c”或其任意组合。

2.使用man命令获得帮助

在系统中,用户可以非常容易地获得系统的帮助和支持,系统发行版本中为几乎每个程序、工具、命令或系统调用编制了使用手册。要想查看某个命令的使用手册页,只要输入man后面跟该命令的名称即可。例如,输入如下命令将显示如图1-18所示的界面。

978-7-111-53793-9-Part01-24.jpg

978-7-111-53793-9-Part01-25.jpg

图1-18 使用man获得命令帮助

在此界面中可以查看有关ls命令的详细使用说明。用户可以使用上下箭头键和〈PgDn〉PgUp〉键进行翻阅;使用/加搜索文本在手册页中搜索,使用n/N做向后/向前的继续搜索;按〈Q〉键退出。

根据内容的不同可将手册页分为不同的类型,不同类型用一个数字(或子母)代表,各种类型的含义如表1-5所示

1-5 man手册的类型

978-7-111-53793-9-Part01-26.jpg

手册页按照不同的类型被存放在系统不同的目录下(/usr/share/man/man[1..9])。表1-6中给出了一些使用man命令的例子。

1-6 man命令使用举例

978-7-111-53793-9-Part01-27.jpg

1.3.4 获取系统基本信息

1. 获取Linux系统信息

被系统管理员管理的Linux系统可能是由其亲自安装的,更有可能是已经安装好的系统如阿里云服务器)或从其他管理员那里接手的系统。因此,全面地了解系统信息是首要任务,表1-7中列出了获取Linux系统信息的常用命令。

1-7 获取Linux系统信息的常用命令

978-7-111-53793-9-Part01-28.jpg

(续)

978-7-111-53793-9-Part01-29.jpg

提示

Dmidecode 工具遵循 SMBIOS/DMI 标准,其输出的信息包括 BIOS-t bios)、系统(-t system)、主板(-t baseboard)、处理器(-t processor)、物理内存(-t memory)、缓存(-t cache)、主板插槽(-t slot)等。

DMI(Desktop Management Interface)充当了管理工具和系统层之间接口的角色,它建立了标准格式(Management Information Format,MIF)的数据库,这个数据库包括了所有有关计算机系统和配件的信息。通过DMI,用户可以获取序列号、计算机厂商、串口信息以及其他系统配件信息。DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。

SMBIOS(System Management BIOS)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。

SMBIOS和DMI是由行业指导机构 DMTF(Desktop Management Task Force)起草的开放性的技术标准,其中DMI的设计适用于任何的平台和操作系统。

有关 dmidecode命令的详细使用信息,可参见其手册 mandmidecode。

2.获取Linux系统信息举例

操作步骤1.3 获取Linux系统信息举例

978-7-111-53793-9-Part01-30.jpg

978-7-111-53793-9-Part01-31.jpg

978-7-111-53793-9-Part01-32.jpg

978-7-111-53793-9-Part01-33.jpg

978-7-111-53793-9-Part01-34.jpg

1.3.5 安装后的基本配置

1.配置语言支持

使用如下命令可以查看系统支持的语言环境

978-7-111-53793-9-Part01-35.jpg

使用如下命令可以设置语言环境

978-7-111-53793-9-Part01-36.jpg

978-7-111-53793-9-Part01-37.jpg

使用如下命令可以查看语言环境的全局配置文件

978-7-111-53793-9-Part01-38.jpg

2.配置日期、时间和时区

在Linux中有硬件时钟(Real Time Clock,简称RTC)与系统时钟(System Clock)两种时钟。硬件时钟是指主机板上的由电池供电的硬件时钟设备,也就是通常可在BIOS画面设定的时钟;系统时钟则是指Linux Kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数均读取系统时钟的设定。系统时钟总是使用世界标准时间(Coordinated Universal Time,UTC),且在需要时由应用程序根据当前的时区设置和是否启用了日光节约时间(Daylight Saving Time,DST)来转换成本地时间。硬件时钟既可以使用世界标准时间也可以使用本地时间,建议使用世界标准时间作为硬件时钟。提示

世界标准时间(UTC)也称世界统一时间、世界协调时间。UTC是以格林威治时间(Greenwich Mean Time,GMT)为基准经过平均太阳时、地轴运动修正以及以“秒”为单位的国际原子时综合精算而成的新时间标准,因此UTC比GMT更加精准。

日光节约时间(DST)也称夏令时。全球以欧洲和北美为主的约70个国家使用夏令时。

使用如下命令可以查看日期、时间及时区

978-7-111-53793-9-Part01-39.jpg

978-7-111-53793-9-Part01-40.jpg

使用如下命令可以设置日期和/或时间

978-7-111-53793-9-Part01-41.jpg

使用如下命令可以查看系统支持的时区

978-7-111-53793-9-Part01-42.jpg

使用如下命令可以设置时区

978-7-111-53793-9-Part01-43.jpg

978-7-111-53793-9-Part01-44.jpg

使用如下命令可以查看时区的全局配置文件

978-7-111-53793-9-Part01-45.jpg

使用如下命令可以使用远程时间服务器同步本机系统时钟

978-7-111-53793-9-Part01-46.jpg

3.配置防火墙

使用Minimal 安装介质的最小化安装(core)默认未安装防火墙,使用DVD安装介质的最小化安装(base)会自动安装并启用firewalld防火墙,且允许外界访问本机的ssh服务(端口号22)。

若系统已经启用了firewalld防火墙,可以输入如下命令关闭防火墙(不推荐,仅用于实验环境)。

978-7-111-53793-9-Part01-47.jpg

提示

有关防火墙配置的详情,参见第9章

4.配置SELinux

RHEL/CentOS从版本5开始支持SELinux安全机制,且默认是开启的。由于SELinux的配置相对复杂且很少在生产环境中使用。限于篇幅本书不涉及SELinux的内容。可使用如下命令将其关闭(重新启动后生效)。

978-7-111-53793-9-Part01-48.jpg

5.安装必要的软件并更新系统

最小化安装只提供了日常应用软件的最小子集,为了方便日程操作和管理,可输入如下命令安装必要的软件。

978-7-111-53793-9-Part01-49.jpg

提示

若网络配置正确且能访问Internet,可以直接执行上面的yum命令。若不能访问Internet且局域网中也没有CentOS的软件仓库镜像可用,可以将预先下载的CentOS-7-x86_64-Everything-1503-01.iso作为软件安装源,具体使用方法参见5.4.4节的操作步骤5.9。

使用如下命令更新系统

978-7-111-53793-9-Part01-50.jpg

提示

系统更新操作需要使用CentOS的update软件仓库,update软件仓库只存在于CentOS的镜像站点中。因此执行系统更新操作必须联网,不能使用安装光盘执行系统更新操作。

执行了系统更新之后通常要重新启动系统。

6.关机与重新启动

表1-8中列出了系统的关机、停机和重新启动命令

1-8 关机与重启命令

978-7-111-53793-9-Part01-51.jpg

提示

在CentOS 7中,halt、poweroff、reboot和shutdown命令都是systemctl命令的符号链接,即真正执行的是systemctl命令。可以使用如下命令验证:

#ls-l/usr/sbin/{halt,poweroff,reboot,shutdown}

在多用户系统中,若要给已登录用户发送自定义的关机/停机/重启警告信息,以便各个用户完成自己的工作并注销登录,则可以使用如下的shutdown命令

978-7-111-53793-9-Part01-52.jpg

1.4 思考与实验

1.思考

(1)什么是自由软件、开放源代码软件?其与共享软件有何区别?

(2)自由软件的创始人是谁?GNU和GPL为何意?

(3)什么是Linux?其创始人是谁?Linux与UNIX有何异同?

(4)Linux系统有何特点?Linux系统组成如何?

(5)什么是Linux的内核版本?什么是Linux的发行版本?常见的发行版本有哪些?

(6)Red Hat和Fedora是何关系?RHEL与CentOS是何关系?

(7)如何使用本地虚拟控制台?如何进行本地登录和注销?如何进行远程登录?

(8)如何获得命令帮助?help命令和--help命令选项的作用分别是什么?

(9)常用的Linux信息获取命令有哪些?各自的功能是什么?

(10)如何正确地关闭和重新启动Linux系统?

2.实验

(1)使用CD/DVD光盘启动,以图形界面安装CentOS系统。

(2)使用CentOS-7-x86_64-NetInstall-1503.iso启动,从网络安装CentOS系统。

(3)掌握本地和远程登录与注销的方法,学会使用命令帮助,获取系统基本信息。

(4)学会配置语言支持、日期、时间和时区。

(5)学会在实验环境中关闭防火墙和SELinux支持。

(6)学会更新系统、关机和重启。

3.进一步学习

(1)参考《Red Hat Enterprise Linux 7 Migration Planning Guide》(https://access.redhat.com/ documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Migration_Planning_Guide/)学习将RHEL/ CentOS 6升级到RHEL/CentOS 7的方法。

(2)使用ISO文件制作启动U盘,在Windows下可以使用pendrivelinux。

●http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/。

●http://www.pendrivelinux.com/yumi-multiboot-usb-creator/。

(3)选择使用你偏爱的Windows环境下的SSH远程登录工具。

978-7-111-53793-9-Part01-53.jpg

4)下载并使用跨平台的自由软件(可以在Windows平台下试用这些软件)。

978-7-111-53793-9-Part01-54.jpg