标签:
章节简述:
本章节带领读者从0基础了解虚拟机软件与红帽系统,完整的演示了在VM与KVM中安装红帽RHEL7系统的方法。
特别增加了超级实用的Linux系统找回root密码、虚拟机功能增强包、VNC远程控制服务等相关的技术知识点。
简单了解守护进程即可,对了!在安装RPM软件包或配置YUM软件仓库时请格外注意参数细节哦~
本章目录结构
所谓工欲善其事必先利其器,在本章节中需要读者们搭建出为今后练习而使用的红帽RHEL7系统环境,您不需要为了练习实验而单独购买一台新电脑,下面的小节中会教给您如何通过虚拟机来模拟出仿真系统。虚拟机是能够让用户在一台真机上模拟出多台操作系统的软件,一般来讲当前主流的硬件配置都是没问题的。并且依据我将近十年的运维技术学习及多年在线培训的经验,建议您无论经济条件是否允许,都不应该在学习期间把Linux系统安装到真机硬件上面,因为我们在学习过程中一定会免不了要“折腾”您的Linux操作系统。通过虚拟机制作出的系统不仅可以模拟出硬件资源、将实验环境与真机文件分离保证数据安全,更酷的是可以快速还原出错的环境,减少重装系统的等待时间。
我在这几年讲课时都会发现同学们形形色色的实验环境、有用Centos系统、有用RHEL6版本系统、还有用Debian系统等等,每次给同学们排错的时候都会表示真的很无语,就像你报名去学习西餐日料,老师用柳刃,你非要用长刀,结果寿司被切的稀巴烂。聪明的孩子一定会在学习时保持跟老师一样的工具和环境,这样出现问题后可以首先排除环境问题并迅速定位错误,而等技术学的足够扎实了,再到工作生产环境自然也就掌握了灵活调整的能力。所以尤其建议没有报名参加培训班的同学,一定要充分发挥自己的自学能力,否则长期的实验出错一定会影响你的学习兴趣。
随书配套的软件资源请在这里下载:http://www.linuxprobe.com/tools/
VmwareWorkStation 11.0——虚拟机软件(必需):
功能强大的桌面虚拟计算机软件,能够让用户在单一主机同时运行多个不同的操作系统。
同时支持实时快照,虚拟网络,拖拽文件以及PXE等强悍功能。
RedHatEnterpriseLinux [RHEL]7.0——红帽操作系统(必需):
由开源软件及全球服务性系统开发商红帽公司出品,最稳定出色的Linux操作系统。
培训课程介绍视频:http://www.linuxprobe.com/training
其实说来真的很郁闷,其实我在初中时就有学习Linux系统的冲动,但那时候上网真的还不便捷,所以想要安装linux系统都就必须去买光盘才行,而那时的linux系统至少需要6张光盘(CD-Rom容量为700M),狠下心买回家后尝试安装了几次却一直报错,搞不懂只能放弃了。2015年的春节除夕打扫屋子又翻出了这些光盘,终于找到了当年出错误的原因,原来是第五张光盘被“刮花”了,系统相关的依赖关系包被损坏,最终导致linux系统的安装失败。面对原本可以早几年就接触Linux系统的机遇,真的是无比郁闷又尴尬,所以这里必须要狠狠的提示您:“准备齐工具后一定要校验完整性,不要做第二个刘遄。”。
Hash1.0.4——文件校验工具(推荐):
经典实用的功能且便捷的支持文件拖拽查询,确保文件的完整与安全性。
Vmware WorkStation是一款桌面计算机虚拟软件,能够让用户在单一主机上同时运行多个不同的操作系统。每个虚拟操作系统的硬盘分区、数据配置都是独立的,同时又可以将多台虚拟机构建为一个局域网。更何况Linux系统要求的系统资源很低,所以读者们真的没有必要再买一台电脑,课程实验完全可以用虚拟机搞定,而且VM还支持实时快照、虚拟网络、拖拽文件以及PXE等方便实用功能。
至于同学们经常问我为什么实验环境要用收费的虚拟机产品,而不是用一些免费的开源虚拟机软件,我猜你一定跳过了第0章没有读,因为我们学习Linux系统即不是因为免费、也不是因为开源,而是因为Linux系统真的很好用,同理我们也可以这么评论Vmware Workstation这款产品。虽然网上总能找到免费的序列号,但我真的很不推荐,既然您眼前的这本《Linux就该这么学》可以从网上免费下载到,就请把原本要买书的钱多捐助一些给开源组织和真正用心做产品的公司吧,愿世界美好的脚步更快一些。
1.双击下载完成的Vmware Workstation虚拟机软件包,将会看到如图1-1所示的安装向导初始界面。
图1-1 虚拟机软件的安装向导初始界面
2.在虚拟机软件的安装向导中选择下一步,如图1-2所示。
图1-2 虚拟机的安装向导
3.在用户许可协议中选择“我接受许可协议中的条款”后选择下一步,如图1-3所示。
图1-3 同意用户许可条款
4.选择虚拟机软件的安装路径(默认可不修改),推荐选择增强型键盘驱动程序后选择下一步,如图1-4所示。
图1-4 选择虚拟机软件的安装路径
5.根据情况适当选择产品检查与帮助完善选项后选择下一步,如图1-5所示。
图1-5 虚拟机的用户体验设置
6.选择在桌面和开始菜单程序文件夹中创建快捷方式后选择下一步,如图1-6所示。
图1-6 虚拟机图标的快捷方式生成位置
7.一切准备就绪后就狠狠的敲击安装吧,如图1-7所示。
图1-7 准备开始安装虚拟机
8.耐心等待虚拟机的安装过程即可,如图1-8所示。
图1-8 等待虚拟机安装完成
9.大约5-10分钟后虚拟机软件已经安装完成,再次敲击完成,如图1-9所示。
图1-9 安装向导完成界面
10.双击桌面上生成的虚拟机快捷图标,输入密钥或选择试用后选择继续,如图1-10所示。
图1-10 软件许可验证界面
11.出现感谢界面后选择完成,如图1-11所示。
图1-11 虚拟机的感谢界面
12.再次双击快捷方式,此时便看到了虚拟机的管理界面。
图1-12 虚拟机的管理界面
咱们的Linux系统并不能在虚拟机安装后就立即被安装,因为我们还要设置虚拟机内操作系统的硬件标准,只有将虚拟机内系统的硬件资源模拟出来后才可以正式步入Linux之旅,并且VM虚拟机的强大之处就在于不仅可以调取真实的物理设备资源,还可以模拟出多网卡、硬盘等资源,完全可以满足您今后的学习环境,不用再特意购买新的设备哦。
1.点击VM虚拟机管理界面的“创建新的虚拟机”选项并选择典型类型配置后点击下一步,如图1-13所示。
图1-13 新建虚拟机向导
2.选择“稍后安装操作系统”选项后点击下一步按钮,如图1-14所示。
在这几年的讲课中真的是见到过了太多不听话的学生,明明要求选择的是稍后安装操作系统,非要选择第二项并将下载好的RHEL7系统的镜像选中,这样虚拟机会通过默认的安装策略为你部署最精简的Linux系统,更不会再向你询问安装设置的选项,如果您是选择买书回家来自己学习,请一定不要低估今后实验的难度和Linux知识体系整体的难度,更不要高估自己的自学和排错能力,否则老师真的很担心你们因为长期的报错而丧失了学习的兴趣,得不偿失。
对于经济条件允许,有意愿想深入了解Linux系统并考取红帽RHCE的同学,可以看下培训的视频介绍:http://www.linuxprobe.com/training
图1-14 选择虚拟机的安装来源
3.选择操作系统的类型是Linux,版本为Red Hat Enterprise Linux 64位后敲击下一步,如图1-15所示。
图1-15 选择操作系统的版本
4.填写虚拟机名称及选择安装位置后敲击下一步,如图1-16所示。
图1-16 命名虚拟机操作
5.选择最大的磁盘大小为20.0GB默认即可下一步,如图1-17所示。
图1-17 虚拟机硬盘最大容量
6.在此步骤中选择“自定义硬件”选项,如图1-18所示。
图1-18 虚拟机的配置界面
7.内存建议设置为2GB,最低不应低于1GB,如图1-19所示。
图1-19 设置虚拟机的内存量
8.处理器根据您电脑的情况设置核心数量,并开启虚拟化功能,如图1-20所示。
图1-20 设置虚拟机的处理器参数
9.光驱设备此时应在ISO映像文件中选中下载好的RHEL系统镜像,如图1-21所示。
图1-21 设置虚拟机的光驱设备
10.VM虚拟机为用户提供了3种可选的网络模式,分别为桥接、NAT与仅主机模式,我们此次将网络适配器选择为“仅主机模式”,如图1-22所示。
桥接模式:相当于在物理主机的网卡上架设了一座桥梁,从而可以通过物理主机的网卡连接外网。
NAT模式:让VM虚拟机的网络服务起到路由器的作用,让虚拟机内的主机可以通过物理主机上网,对应的物理网卡是VMnet8。
仅主机模式:仅让虚拟机内的主机与物理主机通信,不能连接外网,对应的物理网卡是VMnet1。
图1-22 设置虚拟机的网络适配器
11.将USB控制器、声卡、打印机设备移除掉,然后点击关闭按钮,如图1-23所示。
图1-23 最终的虚拟机配置情况
12.返回到虚拟机配置向导界面后点击完成,如图1-24所示。
图1-24 虚拟机配置向导
13.恭喜,看到如图1-25所示的界面就说明虚拟机已经配置成功,准备步入属于你的Linux之旅吧。
图1-25 虚拟机配置成功的界面
红帽RHEL7或Centos7系统需要您的电脑支持VT虚拟化技术才可以安装,所谓VT虚拟化技术指的是让单台计算机能够分割出多个独立资源区,并让每个资源区按照需要模拟出系统的一项技术,本质就是通过中间层实现计算机资源的管理和再分配,使得系统资源利用率最大化。其实只要您手边的电脑不是五六年前买的,价格不低于三千元,一般就肯定支持VT技术的,但如果开启虚拟机后依然提示出“CPU不支持VT技术”等报错信息,请进入到BIOS中将VT虚拟化功能开启即可。
1.在虚拟机管理界面中点击“开启此虚拟机”后数秒后会看到RHEL7系统安装界面,第2条和第3条的作用分别是校验光盘完整性后再安装以及启动救援模式,此时通过键盘的方向键选择到第一条“Install Red Hat Enterprise Linux 7.0”选项来直接安装Linux系统,如图1-26所示。
图1-26 RHEL7系统安装界面
2.接下来敲击回车后等待即可,如图1-27所示。
图1-27 安装向导的初始化界面
3.选择系统的安装语言后敲击Continue按钮,如图1-28所示。
其实您不必担心英语基础的问题,因为Linux系统中用的是命令而并不是英语单词,比如英文单词free的意思是自由、免费,而free命令在linux系统中的作用是查看内存使用量,因此即便考过了六级八级托福雅思的同学,看到了这些linux系统命令也需要重新去学习,更何况将系统设置成英文后还可以锻炼下英语阅读能力,慢慢得把linux和英文一起学了,是不是很爽~但是如果您执意安装成中文的也可以在下面的菜单中选择简体中文。
图1-28 选择系统的安装语言
4.在安装界面中敲击SOFTWARE SELECTION选项,如图1-29所示。
图1-29 安装系统界面
5.RHEL7系统的软件定制界面可以根据用户的需求来调整系统的基本环境,例如用作基础服务器、文件服务器、网站服务器或工作站等等,此时您只需在界面中敲击选中“Server wiht GUI”系统软件类型,然后敲击左上角的Done按钮即可,如图1-30所示。
曾经看过一个新闻,讲的是苹果公司某个员工在IOS系统的用户说明书末尾部分加了一句“反正你们也不会去看”,其实用这件事情有时候也可以调侃下同学们的学习状态,首先我绝不会把没用的知识加到咱们这本《Linux就该这么学》书中,但是如此醒目的一张截图总是有同学忽略不做,结果默认用的是“最小化软件模式”来安装的系统,导致很多命令不能执行,服务搭建不成功,俗话说百闻不如一见,看书不如看实验,参加由作者刘遄亲自主讲的培训,用对做实验的思考代替无聊的读书过程,学习效果和乐趣都是棒棒的。
培训课程视频介绍:http://www.linuxprobe.com/training
图1-30 选择系统软件类型
6.返回到安装主页面中敲击“NETWORK & HOSTNAME”选项后,设置主机名称为“linuxprobe.com”后敲击左上角的Done按钮,如图1-31所示。
图1-31 配置网络和主机名
7.返回到安装主页面中敲击“INSTALLATION DESTINATION”选项来选择安装媒介并设置分区,但此时然无须做任何修改,敲击左上角的Done选项即可,如图1-31所示。
您一定不理解为什么《Linux就该这么学》不像其他Linux书籍一样这里教一下手动的分区呢?原因很简单,因为Linux系统根据FHS协议规则将不同的目录规范上了相应的功能,这个需要用整整一个章节来去学习的,并且通过我在这几年的教学经验来看,即便现在写出了操作的步骤,读者们大多只能是跟着点点鼠标,并不能真正理解其中的知识,更何况手动的分区较对于自动分区来说没有明显的好处,所以您大可不必担心学不到,我们的规划课程章节是非常科学的。
图1-31 系统安装媒介的选择
10.返回到安装主页面中敲击“Begin Installation”后即可看到安装进度,在此处选择“ROOT PASSWORD”,如图1-32所示。
图1-32 RHEL7系统的安装界面
11.在此处设置超级管理员root用户的密码,而若坚持用弱口令的密码则需要敲击2次左上角的Done选项才可以确认,如图1-33所示。
我想啰嗦一句,当您在虚拟机中做实验的时候root密码无所谓强弱,但在生产环境时一定要让root用户的密码足够复杂,否则系统将面临严重的安全问题。
图1-33 设置Root用户的密码
12.返回到安装过程界面后耐心等待安装完成后敲击Reboot选项,如图1-34所示。
图1-34 系统安装完成
13.重启系统后将看到系统的初始化界面,敲击“LICENSE INFORMATION”选项,如图1-35所示:
图1-35 系统初始化界面
14.勾选在“I accept the license agreement”选项前的框,然后敲击一下左上角的Done按钮,如图1-36所示。
图1-36 同意许可说明书
15.返回到初始化页面后敲击“FINISH CONFIGURATION”选项,即可看到Kdump服务的设置页面,其实如果您以后不打算去调试系统内核也可将“Enable kdump”选项前的√去掉,然后选择“Forward”即可,如图1-37所示。
图1-37 启用Kdump服务
16.选择“No,I prefer to register at a later time”后敲击Finish按钮,如图1-38所示。
图1-38 暂时不对系统进行注册
17.经过又一次的重启后,我们终于看到了系统的欢迎界面,选择默认的English(United states)后敲击Next选项,如图1-39所示。
图1-39 系统的语言设置
18.选择系统的输入来源类型为英语默认即可,敲击Next选项,如图1-40所示。
图1-40 设置系统的输入来源类型
19.创建一个本地的普通用户,用户名为“linuxprobe”,密码为“redhat”后敲击Next按钮,如图1-41所示。
图1-41 创建本地的普通用户
20.设置系统的时区为自己的位置或上海,然后敲击Next选项,如图1-42所示。
图1-42 设置系统的时区
21.接下来如图1-43所示,狠狠的按下“Start using Red Hat Enterprise Linux Server”选项,现在谁都不能阻拦你学习Linux系统了。
图1-43 系统初始化结束界面
图1-44系统的欢迎界面
平日里让管理员头疼的事情已经很多了,偶尔把密码忘记了也不用慌,重置密码只需简单几步,但如果您是第一遍阅读《Linux就该这么学》或以前没有Linux系统的使用经验,请先跳过本小节,学习完Linux系统的命令后再来看这个实验吧。
红帽RHEL6系统与红帽RHEL7系统破解系统密码方法完整版:http://www.linuxprobe.com/reset-root-password/
如果您是刚刚接手了一台Linux系统,请先确认这台系统是不是红帽RHEL7系统再进行下面的操作哦:
[root@linuxprobe ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.0 (Maipo)
1.重启主机并在引导界面敲击按键“e”来进入内核编辑页面,如图1-45所示:
图1-45 Linux系统的引导菜单界面
2.在linux16这行的后面追加“rd.break”并同时一起按下“ctrl“和“x”按键,如图1-46所示。
图1-46 内核信息的编辑界面
3.此时便进入到了系统的紧急求援模式,如图1-47所示。
图1-47 Linux系统的紧急救援模式。
4.依次输入以下命令,并等待系统重启操作完毕后即可使用新密码“linuxprobe”来登陆您的系统了,如图1-48所示。
mount -o remount,rw /sysroot chroot /sysroot echo "linuxprobe" | passwd --stdin root touch /.autorelabel exit reboot
图1-48 重置linux系统的root密码
在红帽软件包管理器(RPM)公布之前要想在Linux系统中安装软件只能采取“源码包”的方式安装,早期在Linux系统中安装程序是一件非常困难,耗费耐心的事情,因为大多数的服务程序仅仅提供编译源码,需要运维人员自行编译代码并解决许多的依赖关系,源码安装需要运维人员有很多的知识、高超的技能、甚至很好的耐心才能安装好一个程序,而且在安装、升级、卸载时还要考虑到其他程序、库的依赖关系,所以管理员在校验、安装、卸载、查询、升级等管理软件操作时难度非常大。
而RPM机制则为解决这些问题而设计的,RPM原称为“Redhat Package Manager”,因其卓越的优势很快被公众认可,目前使用范围也已不局限在红帽系统中了。RPM会建立统一的数据库文件,详细的记录软件信息并能够自动分析依赖关系,颇有一些“软件控制面板”的感觉。
安装软件:rpm -ivh filename.rpm
升级软件:rpm -Uvh filename.rpm
卸载软件:rpm -e filename.rpm
查询软件的描述信息:rpm -qpi filename.rpm
列出软件的文件信息:rpm -qpl filename.rpm
查询文件属于那个RPM:rpm -qf filename
虽然RPM能够帮助用户查询软件相关的依赖关系,但问题还是要自己解决,有些大型软件需要数十个依赖包也是不小的负担。
Yum仓库则是为进一步简化RPM管理软件难度而设计的,Yum能够根据用户的要求分析出所需软件包及其相关依赖关系,自动从服务器下载软件包并安装到系统,听起来就已经很爽了吧?
yum软件仓库的使用拓扑图
用户能够根据需求来指定Yum仓库与是否校验软件包,而这些只需几条关键词即可完成,现在来学习下配置的方法吧~
所有Yum仓库的配置文件均需以.repo结尾并存放在/etc/yum.repos.d/目录中的。
[rhel-media]: yum源的名称,可自定义。 name=linuxprobe : yum仓库的名称,可自定义。 baseurl=file:///media/cdrom :提供方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..) enabled=1 : 设置此源是否可用,1为可用,0为禁用。 gpgcheck=1 : 设置此源是否校验文件,1为校验,0为不校验。 gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release :若为校验请指定公钥文件地址。
Yum仓库中的RPM软件包可以是由红帽官方发布的,也可以是第三方组织发布的,当然用户也可以编写的~随书提供的镜像光盘内已经包含了大量的可用RPM软件包,将会在后面的实验章节中为大家演示如何使用。
命令 | 作用 |
yum repolist all | 列出所有仓库。 |
yum list all | 列出仓库中所有软件包 |
yum info 软件包名称 | 查看软件包信息 |
yum install 软件包名称 | 安装软件包 |
yum reinstall 软件包名称 | 重新安装软件包 |
yum update 软件包名称 | 升级软件包 |
yum remove 软件包 | 移除软件包 |
yum clean all | 清除所有仓库缓存 |
yum check-update | 检查可更新的软件包 |
yum grouplist | 查看系统中已经安装的软件包组 |
yum groupinstall 软件包组 | 安装指定的软件包组 |
yum groupremove软件包组 | 移除指定的软件包组 |
yum groupinfo 软件包组 | 查询指定的软件包组信息 |
Linux操作系统开机过程首先从BIOS开始→进入"Boot Loader"→加载内核→内核的初始化→启动初始化进程,初始化进程作为系统第一个进程,它需要完成相关的初始化工作,为用户提供合适的工作环境。
红帽RHEL7系统已经替换掉了大家熟悉的初始化进程System V init,并正式采用全新的初始化进程systemd。初始化进程systemd使用了并发启动机制,所以开机速度得到了不小的提升。虽然systemd已经表现出了优势,但一直有抵制的呼声:
吐槽1:因作者Lennart Poettering就职于红帽,让其他系统的粉丝很不爽。
吐槽2:systemd仅仅可在linux系统下运行,放弃了BSD用户。
吐槽3:接管了诸如syslogd、udev、cgroup等等服务的工作,不再甘心只做初始化进程。
吐槽4:使用systemd后RHEL7系统变化太大,参考文档又不多,为难我们啊!
不论怎么吐槽,既然红帽RHEL7系统选择了systemd,原先的inittab将已经不再起作用,也没有了“运行级别”这个概念,Linux系统启动时要做大量的初始化工作——例如挂载文件系统和交换分区,启动各类进程服务等等操作,这些都可以看作是一个个的单元(Unit),分析下nfs服务的单元配置文件吧:
[root@linuxprobe ~]# cat /etc/systemd/system/nfs.target.wants/nfs-lock.service [Unit] Description=NFS file locking service. //表示rpcbind服务必须在nfs服务启动前已经运行。 Requires=rpcbind.service network.target After=network.target named.service rpcbind.service Before=remote-fs-pre.target [Service] Type=forking StandardError=syslog+console EnvironmentFile=-/etc/sysconfig/nfs //启动nfs服务前需要执行的命令: ExecStartPre=/usr/libexec/nfs-utils/scripts/nfs-lock.preconfig //启动nfs服务具体的命令语法: ExecStart=/sbin/rpc.statd $STATDARG # Make sure lockd‘s ports are reset ExecStopPost=-/sbin/sysctl -w fs.nfs.nlm_tcpport=0 fs.nfs.nlm_udpport=0 [Install] WantedBy=nfs.target
如前面所述在红帽RHEL7系统中systemd用"目标(target)"代替了“运行级别”这个概念。
Sysvinit运行级别 | Systemd目标名称 | 作用 |
0 | runlevel0.target, poweroff.target | 关机 |
1 | runlevel1.target, rescue.target | 单用户模式 |
2 | runlevel2.target, multi-user.target | 等同于级别3 |
3 | runlevel3.target, multi-user.target | 多用户的文本界面 |
4 | runlevel4.target, multi-user.target | 等同于级别3 |
5 | runlevel5.target, graphical.target | 多用户的图形界面 |
6 | runlevel6.target, reboot.target | 重启 |
emergency | emergency.target | 紧急Shell |
将默认的运行级别修改为“多用户,无图形模式”:
将默认的运行级别修改为“图形化模式”:
对于学习过红帽RHEL6系统或已经习惯使用service、chkconfig等命令来管理系统服务的读者可能要郁闷一段时间了,因为在红帽RHEL7系统中管理服务的命令是"systemctl",但使用方法大致相同,我们来做下对比吧。
systemctl管理服务的启动、重启、停止、重载、查看状态的命令:
Sysvinit命令(红帽RHEL6系统) | Systemctl命令(红帽RHEL7系统) | 作用 |
service foo start | systemctl start foo.service | 启动服务 |
service foo restart | systemctl restart foo.service | 重启服务 |
service foo stop | systemctl stop foo.service | 停止服务 |
service foo reload | systemctl reload foo.service | 重新加载配置文件(不终止服务) |
service foo status | systemctl status foo.service | 查看服务状态 |
systemctl设置服务的开机启动、不启动、查看各级别下服务启动状态的命令:
Sysvinit命令(红帽RHEL6系统) | Systemctl命令(红帽RHEL7系统) | 作用 |
chkconfig foo on | systemctl enable foo.service | 开机自动启动 |
chkconfig foo off | systemctl disable foo.service | 开机不自动启动 |
chkconfig foo | systemctl is-enabled foo.service | 查看特定服务是否为开机自启动 |
chkconfig --list | systemctl list-unit-files --type=service | 查看各个级别下服务的启动与禁用情况 |
标签:
原文地址:http://www.cnblogs.com/linux130/p/5719146.html