RHCE4.docx

上传人:b****5 文档编号:6649558 上传时间:2023-01-08 格式:DOCX 页数:24 大小:613.52KB
下载 相关 举报
RHCE4.docx_第1页
第1页 / 共24页
RHCE4.docx_第2页
第2页 / 共24页
RHCE4.docx_第3页
第3页 / 共24页
RHCE4.docx_第4页
第4页 / 共24页
RHCE4.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

RHCE4.docx

《RHCE4.docx》由会员分享,可在线阅读,更多相关《RHCE4.docx(24页珍藏版)》请在冰豆网上搜索。

RHCE4.docx

RHCE4

系统管理第一部分:

RPM包安装及管理

RPM:

红帽子包管理器(RedHatPackageManager)

今天我们主要就学习这种包管理方式

 

安装与卸除常用参数:

-i,-u,-F,-e 

rpm-i:

在该rpm包与该包的旧版本未被安装过的情况下,安装该rpm包。

 

rpm-U:

无论系统是否有安装过某rpm包或其旧版本,安装或更新指定的rpm包。

 

rpm-F:

仅在系统已安装某rpm包的旧版本rpm包时,更新rpm包。

否则不安装。

 

卸除:

rpm–e包名(注:

去掉.rpm或I386.rmp结尾)

在安装的时候要显示进度,就需要加vh参数

所以一般安装包就是这样:

rpm-ivh包名字

大家先把光盘放入虚拟机的光驱.

然后我们到/misc/cd目录:

cd/misc/cd

5.4版本进入Server目录RHEL6.0版本进Packages目录

大家把vsftpd安装了吧,记住用TAB补全

这里提示我的机器这个包已经安装了。

然后大家在选个其他包安装下试试哈~

由于rpm安装依耐关系太郁闷,所以我们要学习yum安装.

 

RPM常用的命令 

可能会用到的补充参数 

输出用:

-v,-h 

预设条件:

--nodeps,--force 

重定位:

--root参数,允许将一个RPM包安装到mount在当前系统上的另一个Linux系统,或者另一个特定的目录上。

当升级内核的时候用这个命令:

rpm-Uvh--force 内核文件包

还有就是删除已经安装的包:

rpm-e包名,注意,包名不能写全,去掉后面的.rpm

记住删除和查看都用包名字,不需要版本号 

 

详细选项:

  

-h(or--hash)安装时输出hash记号(``#'')  

--test只对安装进行测试,并不实际安装。

  

--percent以百分比的形式输出安装的进度。

  

--excludedocs不安装软件包中的文档文件  

--includedocs安装文档  

--replacepkgs强制重新安装已经安装的软件包  

--replacefiles替换属于其它软件包的文件  

--force忽略软件包及文件的冲突  

--noscripts不运行预安装和后安装脚本  

--prefix将软件包安装到由指定的路径下  

--ignorearch不校验软件包的结构  

--ignoreos不检查软件包运行的操作系统  

--nodeps不检查依赖性关系  

--ftpproxy作为FTP代理  

--ftpport指定FTP的端口号为  

--oldpackage给已经安装了最高版本的RPM降级

大家看看这些参数,有点印象就好了,要用的时候在查

RPM包的查询:

 

rpm-q:

查询某一个RPM包是否已安装 rpm-qa|grep-i包名---建议用这条去查询

rpm-qi:

查询某一个RPM包的详细信息 

rpm-ql:

列出某RPM包中所包含的文件 

rpm-qf:

查询某文件属于哪一个RPM包 

rpm-qa:

列出当前系统所有已安装的包

 

大家先用rpm-qa查询所有

然后找个包,用rpm-ql 查看里面的文件

然后用rpm-qf 查看其中一个文件,得到这个文件是哪个包的

/var/log/rpmpkgs相当于rpm-qa输出的结果

对一个将要安装的RPM包,我们通常可以用rpm-qpi 或 rpm-qpl 来查询该包的相关信息与内含文件

 

RPM包的校验

rpm-V:

校验某个RPM包

rpm-Va:

校验所有已安装的RPM包

RPM包的检查

rpm-K:

检查RPM包的GPG签名

 

rpm-V可以让用户很方便地检查,与安装的时候相比,某RPM包中的文件是否发生了什么变化。

在使用rpm-V时,出错提示符号分别表示某部分未通过校验

S 文件大小

M 文件权限与类型

5 MD5求和

D 设备文件的主、从号码

L 符号连接文件找不到连接对象

U 文件的所属用户

G 文件的所属组

T 更改时间

•在使用rpm-K前,需要先从光盘中导入gpgkey

•rpm--import RPM-GPG-KEY-redhat-release(当将光盘放入光驱中,然后mount到/mnt/cdrom后)

YUM客户端及服务器的配置

yum,是YellowdogUpdaterModified的简称,起初是由yellowdog这一发行版的开发者TerraSoft研发,那时还叫做yup(yellowdogupdater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。

yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些header并加以分析,才能自动化地完成余下的任务

 

yum有以下特点:

 

可以同时配置多个资源库(Repository) 

简洁的配置文件(/etc/yum.conf) 

自动解决增加或删除rpm包时遇到的依赖性问题 

使用方便 

保持与RPM数据库的一致性

RHEL6.0版本的yum仓库的配置。

首先看单机版的配置,也就是说只有一台服务器,我们快速配置yum5.4版本的单机版客户端也是这样配置

1、挂载光驱。

Mount/dev/cdrom/mnt意思是将光盘挂载到/mnt目录上。

2.[root@xian2~]#cat/etc/yum.repos.d/server.repo注意必须以rpm结尾

[base]仓库的名称

name=base描述名称

baseurl=file:

///mnt/Server本地的路径

enabled=1是否开启仓库,1为开启,0为关闭。

gpgcheck=1是否gpg签名检查,1为检查,0为不检查

gpgkey=file:

///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release如果上面gpg签名为不检查,那么这里就省略,如果是检查,需要配置。

网络配置。

首先安装ftp服务

1、[root@xian2Packages]#rpm-ivhvsftpd-2.2.2-6.el6.i686.rpm

Preparing...###########################################[100%]

1:

vsftpd###########################################[100%]

2、挂载光驱。

Mount/dev/cdrom/mnt意思是将光盘挂载到/mnt目录上。

3、将/mnt目录下所有的文件cp到/var/ftp/pub/rhel6/目录里面cp-r/mnt/*/var/ftp/pub/rhel6注意,需要提前创建rhel6目录。

4、启动ftp服务/etc/init.d/vsftpdstart

5、关闭防火墙,/etc/init.d/iptablesstop等以后我们学习过防火墙之后,我们就可以配置下防火墙,不用直接关闭了。

6、然后客户端需要修改下配置

[root@xian2~]#cat/etc/yum.repos.d/server.repo注意必须以rpm结尾

[base]仓库的名称

name=base描述名称

baseurl=ftp:

//IP/pub/rhel6/Server网络路径

enabled=1是否开启仓库,1为开启,0为关闭。

gpgcheck=1是否gpg签名检查,1为检查,0为不检查

gpgkey=file:

///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release如果上面gpg签名为不检查,那么这里就省略,如果是检查,需要配置。

2、下面我们开始配置RHEL5.4版本的服务器。

(1)挂载CD-ROM并安装VSFTPD。

(前提是讲RHEL的带RPM包的安装盘放进虚拟CD-ROM)

(2)安装成功以后,把光盘里Server目录拷贝到/var/ftp/pub目录里

将RPM-GPG-KEY-redhat-release文件拷贝到/var/ftp/pub/Server目录

完成之后,

(3)安装createrepo工具,然后用这个工具生成YUM通用数据库,记住使用TAB补全路径和命令。

然后生成yum数据库createrepo/var/ftp/pub/Server

(4)完成之后,重新启动ftp服务servicevsftpdrestart或者/etc/init.d/vsftpdrestart

客户端还是跟rhel6.0版本一样,只是替换了baseurl后面的本地路径成网络路径。

 

到此基本大功告成,下面我们进行测试:

安装 

yuminstallpackage安装指定的安装包package1

更新和升级 

yumupdate更新所有程序包

yumupdatepackage更新指定程序包package

yumcheck-update检查可更新的程序包

查找和显示 

yuminfo显示安装包信息

yumlist显示所有已经安装和可以安装的程序包

yumlist显示指定程序包安装情况

yumsearch查找软件包

删除程序 

yumremove|erasepackage1删除程序包

yumcleanheaders 清除header

yumcleanpackages 清除下载的rpm包

yumcleanall 清除header与rpm包

YUM故障排除:

1、检查网卡是否启动,检查是否有IP地址,PING自己的IP是否可以接通,是否可以PING通YUM服务器

2、检查客户端配置文件是否正确

3、检查VSFTPD服务是否开启

Linux系统启动流程以及修复系统

下面的内容是相当重要的。

只要你看懂了系统的启动流程,排错就基本没有多大问题了。

计算机启动,上电自检检查BIOS就不说了,所有系统都那样。

下面就是LINUX的启动流程:

 

1、硬件读取引导扇区 

2、加载LILO或者Grub(一般我们使用的是GRUB,这个是重点) 

3、加载内核(以只读方式挂载) 

4、挂载根文件系统 

5、启动init,一切进程的“父亲” 

6、读取/etc/inittab文件 主要是定义启动的级别,3是字符界面,5是图形化界面。

7、读取rc.sysinit文件 ---系统定义的一些服务。

8、运行rcX.d下的文件(文件都是init.d下的符号链接) 

其中有一个xinetd的超级进程,调用/etc/xinetd.conf配置文件,从配置文件中知道读/etc/xinetd.d文件,结束后调用Miggetty 

9、读取/etc/rc.d/rc.local文件

具体步骤在启动的时候大家都能看见

BIOS初始化 

检查外围设备 

检查启动设备 

读区MBR

启动引导工具引导并运行核心,分为两个独立的阶段:

 

第一阶段:

存放在启动扇区 

第二阶段;/boot目录下的文件

第一阶段即BIOS从启动扇区中读入IPL(初始化程序引导工具)这一过程。

因为MBR的空间太小,所以启动引导工具往往还需要从其他地方进一步读入数据,即所谓第二阶段。

这通常是一个可以做选择的交互界面。

在Linux中常用的启动引导工具:

grub和lilo

在某些时候,WINDOWS支持多系统就需要安装GRUB哈

GRUB:

GrandUnifiedBootloader 

被广泛地用于替代lilo 

支持在启动时使用命令行模式 

支持md5加密保护 

可以从ext2/ext3、ReiseFS、JFS、FAT、minix及FFS文件系统上启动 

其配置文件为/boot/grub/grub.conf,更改grub.conf即可立时生效 

如果硬盘上的MBR被更动过,可以用/sbin/grub-install/dev/hda来重安装grub

现在我们打开/boot/grub/grub.conf查看一下哈:

vim/boot/grub/grub.conf

我们分析一下这个文件哈:

 

#grub.confgeneratedbyanaconda 

#Notethatyoudonothavetorerungrubaftermakingchangestothisfile 

#NOTICE:

 Youhavea/bootpartition. Thismeansthat 

#         allkernelandinitrdpathsarerelativeto/boot/,eg. 

#         root(hd0,0) 

#         kernel/vmlinuz-versionroroot=/dev/sda2 

#         initrd/initrd-version.img 

#boot=/dev/sda 

default=0    

#default=0表示默认启动第一个系统,如果系统有两个系统是用什么做为分隔符的呢?

title就是系统的分隔符,第一个title后面就是第一个系统,用0表示。

 

timeout=5 

#timout=5,就是默认在启动选择界面停留的时间,单位是秒。

等待5秒自动进入默认操作系统 

splashimage=(hd0,0)/grub/splash.xpm.gz 

#splashimage是grub启动背景画面,如果是自己写grub.conf文件,这个可以不用写。

 

hiddenmenu 

titleRedHatEnterpriseLinuxServer(2.6.18-53.el5) 

#title后面就是系统在启动时候显示的名字 

       root(hd0,0) 

#root启动文件所在位置 

       kernel/vmlinuz-2.6.18-53.el5roroot=LABEL=/rhgbquiet 

#kernel内核所在位置和名字 

       initrd/initrd-2.6.18-53.el5.img 

#initrd内核镜象的名字

大家记一下自己的系统哈,下面我们做个实验,特别是系统版本不一样的更要记住。

把后面三行删掉后保存退出。

保存退出,然后重启机器

我们重启后系统停在这里了

出现刚才的图是正常的,因为我们修改了grub.conf文件,GRUB找不到启动文件了,所以我们就要手动敲进去

第一步:

运行root(hd0,0) (这是/boot所在的分区)

第二步:

执行kernel/boot/vmlinuz-2.6.18-164.el5roroot=LABEL=/rhgbquiet(用来指定linux内核)

第三步:

执行initrd/boot/initrd-2.6.18-164.el5.img(用来指定initrd文件)

第四步:

执行boot

看见红色的redhat,就证明你的内核加载成功了

好了,启动正常。

下面我们来点狠的,这次我们就要把grub.conf删除掉。

然后我们重新启动我们的系统

好了,和刚才一样的,小问题,大家自己动手,主要想强迫你们记忆下grub.conf的内容

注意:

运行root或者find/vmlinuz-2.6.18-53el5(可以使用TAB补全),可以搜索vmlinuz所在分区,也就是/boot所在分区

第一步:

运行root(hd0,0) (这是/boot所在的分区,其中括号内的信息,就是上面命令的回显.)

第二步:

执行kernel/boot/vmlinuz-2.6.18-164.el5roroot=LABEL=/rhgbquiet(用来指定linux内核)

第三步:

执行initrd/boot/initrd-2.6.18-164.el5.img(用来指定initrd文件)

第四步:

执行boot

看到红色的redhat证明我们成功了。

OK,启动正常。

通过刚才2次小试牛刀,这次我们来点更狠的,我们对自己狠点。

来狠滴,我们把/boot分区里的文件全部删除了掉哦,一个也不剩(不删boot分区,只删除里面文件)rm-rf/boot/*

又跑这来了

好吧,现在我们把RHEL5的ISO镜像放进去,然后设置从光驱启动,我们要进救援模式了。

第一步:

将RHEL5安装放入光驱并设置从光驱启动系统

第二步:

输入linuxrescue 

第三步:

这里选择语言哈

这里选择美式键盘

这里我们不启用网络接口

第四步:

这步注意,要让系统帮你自动挂载以前的系统,也就是硬盘里的系统

好了,现在就正式进入救援模式了。

下面我们使用#chroot切换到硬盘的系统

具体命令#chroot/mnt/sysimage/

然后我们去boot查看缺少了什么文件哈:

#cd/boot&& ls

查看故障原因,我们发现/boot目录下一个文件也没有了

由于boot下面主要是内核和GRUB,所以我们安装这两个东西

安装就要先挂载cd,mount就是挂载,这个以后会讲

mkdir/mnt/cd

然后就是安装kernel,在安装内核时会自动生成initrd  

cd/mnt/cd/Server/ 

rpm-Uvh--forcekernel-2.6.18-164.el5.i686.rpm

安装好内核后,我们去/boot目录看看

内核和initrd已经有了,然后我们需要安装GRUB

然而刚安装的GRUB是没有配置文件的,我们可以自己写一个哈,如果你boot分区的grub目录里的grub.conf配置文件丢失或者错误,回出现什么情况呢?

系统启动会进入GRUB模式。

但是这个不严重,我们只需要给系统提供系统启动的参数就能正常进入系统。

我们去看看是不是没有这个文件。

那我们就自己写一个哈~ 

cd/boot/grub/ 

touchgrub.conf 

vimgrub.conf

启动后就进入这个界面了,这就是因为没有我们刚才说的那个环境图片那个文件的原因。

注意哈:

kernel/vmlinuz-2.6.18-164.el5roroot=LABEL=/rhgbquiet 

rhgb:

表示redhatgraphicsboot,就是会看到图片来代替启动过程中显示的文本信息,这些信息在启动后用dmesg也可以看到 

quiet:

表示在启动过程中只有重要信息显示,类似硬件自检的消息不回显示

OK了,我们去看看grub.conf的配置文件是不是刚才我写的是这样的吧

 

内核模型

单片型内核 

单片型内核将各种硬件支持、网络协议与文件系统管理都编译入一个单一的文件中。

模块型内核:

 

模块型内核则允许计算机在使用到某一项功能的时候自动加载,防止了核心臃肿,是大部分情况下的标准构建。

默认核心存放路径:

/boot

核心版本命名规则:

主版本号、次版本号、补丁级数RedHat附加参数:

发布号

显示当前系统的内核信息#uname–r

核心RPM包 

kernel-..rpm

预编译核心及模块 

kernel-source-..rpm

核心源代码,需要人工编译出核心并安装 

kernel-.src.rpm 

[url]www.kernel.org[/url]上发布的原始核心源代码包,需要build出arch包再使用

vmlinuz 

是可引导的、压缩的内核。

“vm”代表“VirtualMemory“,Linux支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。

Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。

vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

vmlinuz的建立有两种方式:

      

(1)编译内核时通过“makezImage”创建,zImage适用于小内核的情况,它的存在是为了向后的兼容性。

    

(2)内核编译时通过命令makebzImage创建(单独编译内核映像,不编译驱动模块,生成内核映像bzImage)

Initrd 

initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。

比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储在根文件系统的/lib/modules下。

为了解决这个问题,可以引导一个能够读实际内核的initrd内核并用initrd修正scsi引导问题。

 

initrd映象文件是使用mkinitrd创建的。

mkinitrd实用程序能够创建initrd映象文件。

这个命令是RedHat专有的。

其它Linux发行版或许有相应的命令。

这是个很方便的实用程序。

#mkinitrd  initrd-版本号.img  版本号

核心启动流程:

 

检测硬件设备 

设备驱动初始化 

将根分区以只读方式挂载 

载入初始进程(一般是init)

init从/etc/inittab中读取数据并初始化 

init运行级别:

 

系统启动脚本 

执行运行级别对应目录下的脚本 

设置热键 

定义UPS设备脚本 

在虚拟控制台上循环开启getty进程 

定义runlevel5时的X显示管理器

init定义了0~6这7个运行级别,运行级别可以被指定于:

 

系统启动时作为核心加载参数被指定 

未被指定的情况下,系统启动时从/etc/inittab中读取 

在系统运行中,root用户键入init[0-6]来指定。

 

用户可以用/sbin/runlevel来查看当前的运行级别

系统的运行级别默认情况下为:

 

•0:

关机 

•1/S/emergency:

单用户模式,通常用于维护系统 

•2:

多用户模式但无网络 

•3:

多用户模式(字符界面) 

•4:

用户定义,未定义情况下与3相同 

•5:

X11(包括网络) 

•6:

系统重启

/etc/rc.d/rc.sysinit是系统启动用的脚本,从/etc/sysctl.conf中读取核心参数:

 

设置系统时钟 

载入keymap 

激活swap分区 

设置主机名 

检查根文件系统并挂载 

加载Raid设备 

激活磁盘限额 

检查并挂载其他文件系统 

清除失效锁及PID文

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1