第8章文件管理.docx

上传人:b****5 文档编号:11978165 上传时间:2023-04-16 格式:DOCX 页数:19 大小:142.22KB
下载 相关 举报
第8章文件管理.docx_第1页
第1页 / 共19页
第8章文件管理.docx_第2页
第2页 / 共19页
第8章文件管理.docx_第3页
第3页 / 共19页
第8章文件管理.docx_第4页
第4页 / 共19页
第8章文件管理.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

第8章文件管理.docx

《第8章文件管理.docx》由会员分享,可在线阅读,更多相关《第8章文件管理.docx(19页珍藏版)》请在冰豆网上搜索。

第8章文件管理.docx

第8章文件管理

第八章、文件管理

一、软件包管理

✧1、RPM概述

Ø

、rpm简介

✓RPM最早是由RedHat研制。

✓RPM是GNU/Linux下软件资源最丰富的软件包类型。

✓RPM的软件包分为二进制包(Binary)以及源代码包(Source)两种。

✓RPM软件包的安装、卸载、管理和升级只需一个命令即可完成。

Ø

、RPM功能

✓安装、卸载、升级和管理软件。

✓组件查询功能。

✓验证功能。

✓软件包GPG和MD5数字签名的导入、验证和发布。

✓软件包依赖处理。

告诉用户缺什么依赖包,但不能自行解决。

✓选择安装。

✓网络远程安装功能。

Ø

、软件包格式

✓举例:

·vsftpd(软件名)。

·2.0.5-10.el5该软件的版本号——所依赖的发行版。

·i386(运行该软件所需的最低硬件架构)

硬件架构描述的是该软件对计算机架构的最低要求

常用的架构类型有:

i386适用于任何现有的Intel兼容计算机

noarch适用于所有架构

ppc适于PowerPC系统,例如ApplePowerMacintosh

x86_64适于64位Intel处理器

✧2、使用rpm命令

#rpm[选项]……软件包……

常用rpm操作模式

模式

选项开关

Query查询模式

-q

Verify校验模式

-V

Install/Upgrade/Freshen安装/升级/更新

-i/-U/-F

Uninstall卸载

-e

RebuildDatabase重构数据库

--rebuilddb

Ø

、安装模式(-i)

✓安装过程:

·

、检查软件包的依赖

·

、检查软件包的冲突

·

、执行安装前的脚本程序

·

、处理配置文件

·

、解压软件包并存放到相应位置

·

、执行安装后的脚本程序

·

、更新RPM数据库

✓安装模式常用选项

·

、-h——在软件包被解压时,输出50个bash符号(#),如果与通用选项-v配合,得到更友好的输出。

·

、--nodeps——在安装或升级之前,不进行依赖性检测。

·

、--replacepkgs——安装软件包,即使软件包已经被安装到了系统中。

·

、--test——不安装软件包,仅仅检测并报告可能的冲突。

✓例子:

软件包为vsftpd-2.0.5-10.el5.i386.rpm

·例1:

安装一个软件包:

#rpm-ivhvsftpd-2.0.5-10.el5.i386.rpm

·例2:

如果只想测试一个软件包的安装情况或只想了解可能的依赖关系

#rpm-ivh--testvsftpd-2.0.5-10.el5.i386.rpm

下图的例子中:

vsftpd软件包是已安装的,dhcp-devel软件包是没有安装的!

·例3:

对于一个已经被安装的软件包,下面的命令重新安装它。

这种安装方法会修补已被删除的文件,而不会覆盖已存在的文件。

#rpm-ivh-replacepkgsvsftpd-2.0.5-10.el5.i386.rpm

·例4:

有些软件有依存关系,要想直接强制安装所需要的包。

#rpm-ivh--nodeps包全名

不推荐这样作,这样安装后的软件包可能无法正常运行。

·例5:

通过网络安装。

如ftp服务器

#rpm-ivhftp:

//能解析的服务器名称/包的路径及完整名字

◆注意:

在安装模式中,当一次安装多个包时,rpm将设法按依赖顺序安装包。

换句话说,必需首先被安装。

Ø

、卸载模式(-e)

✓卸载模式执行的动作:

·

、检查软件包的依赖。

·

、执行卸载前的脚本程序。

·

、检查配置文件。

rpm卸载之前会检查软件包中的配置文件是否修改了,如果修改了,rpm要换个名字保存文件,文件名一般是“原文件名+.rpmsave”。

·

、卸载。

注意,如果其中有文件属于其它软件包(即两个软件包拥有一个相同名字的文件),rpm并不将其删除。

·

、执行卸载后的脚本程序。

·

、更新RPM数据库。

✓卸载模式常用选项:

·

、--nodeps——在卸载前不检测依赖关系。

·

、--test——不真正卸载软件包,仅仅尝试它们。

与通用选项–vv联合使用,在调试时很有用。

#rpm-evsftpd

◆注意:

包的卸载不需要它的完整名字。

安装时要完整名字,因为是在引用一个文件。

已安装的软件包仅引用他们的包名称。

包的名称好似版本号之前的所有内容。

Ø

、升级模式(-U/-F)

常用选项:

·--oldpackage——允许用旧软件包替换一个新软件包。

-U和–F的区别:

-U——升级一个不存在的软件包,安装并升级它。

-F——只升级存在的旧软件包,没有则放弃,并不按装。

Ø

、查询模式(-q)

可以从RPM数据库中查询多种有用的信息。

对rpm数据库有读权限的任何用户都能执行查询操作。

默认情况下,全部用户都拥有读权限。

在查询时,包的名称必须精确匹配,不允许使用通配符。

✓查询模式常用选项:

常用的#rpm-ql

·-a——查询所有已安装的软件包。

·-f<文件名>——查询包含指定文件的软件包。

·-p——查询未安装的软件包。

这个文件可以为一个远程ftp或http服务器中的包,这时该包头部将被下载并查询。

·-c——只显示软件包中的配置文件。

·-d——只显示软件包中的文档文件。

·--info——显示软件包信息。

包括名称,版本,描述。

·-l——列出软件包中的文件。

例1:

列出vsftpd软件包的版本号。

#rpm-qvsftpd

例2:

查询系统中已安装的所有软件包。

#rpm-qa

例3:

在RPM数据库中查询指定文件的软件包。

例4:

列出已安装软件包中所包含的文件。

#rpm-qlsetup

例5:

有时候用户需要清楚准备安装的软件包包括哪些内容,以及将会安装到哪里,使用–p选项。

#rpm-qlpvsftpd-2.0.5-10.el5.i386.rpm(下图是此包的一部分内容)

例6:

再配上–c选项将会只显示待安装包中的配置文件。

#rpm-qlpcvsftpd-2.0.5-10.el5.i386.rpm

Ø

、校验模式(-V)

要检查软件包中的文件是否出现问题,用户可以使用这个模式。

RPM将文件当前的属性和安装包时放入RPM数据库中的信息进行比较。

如果一切校验均正常,将不会产生任何输出。

如果有不一致的地方,就会显示出来。

输出格式是一个8位长的字符串,随后出现的“c”用以指定配置文件,最后是文件名。

8位子符的每一位用来表示文件与RPM数据库中的一种属性的比较结果,“.”表示验证通过,“?

”表示校验可能无法进行(例如:

文件禁止了读权限),而如果某一种属性校验失败,就用下图表中的相应字符码表示。

校验模式输出的字符码:

字符码

说明

S

文件大小不一致

M

模式不一致(包含权限和文件类型)

5

md5校验和不一致

D

设备主要/次要编号不匹配

L

路径不匹配

U

拥有者关系不一致

G

所属主关系不一致

T

文件修改时间不一致

✓校验模式常用选项:

此模式所用到的选项与查询模式相同。

例1:

下面命令显示出配置文件/etc/passwd已经被更改,其现在的大小、校验和、修改时间都发生了改变:

#rpm-Vf/etc/passwd

例2:

对所有安装的文件进行校验。

#rpm-Va

Ø

、重新构建数据库(--rebuilddb)

RPM在它的数据库中保留已安装包的记录。

必须经常重新生成这个数据库,以确保RPM关于已安装包的信息是最新的。

例1:

根据已安装的软件包头部,重建数据库索引:

#rpm--rebuilddb

例2:

详细输出整个过程

#rpm--rebuilddb-vv

二、通过Yum管理软件包

Yum(YellowdogUpdaterModified)——是一个针对RPM的非常方便的自动升级和软件包管理工具。

Yum能够自动计算出程序之间的相互关联性,并且计算出完成软件包需要哪些步骤。

不用管理员手工升级每一台机器。

安装软件时也不会被那些关联性的问题困扰。

Yum与同类工具相比,不仅速度快,更加可靠,而且还提供了很多其他工具所没有提供的功能:

·多个软件仓库

·简单的配置文件

·正确的依赖性检查

·简洁的界面

✧1、基本概念

Ø软件仓库——是一个预备的目录或是一个网站。

包含了软件包和索引文件。

ØGPG公钥——每个软件都包含一和数字签名,以验证它们的来源。

✧2、使用Yum

由于RHEL5的服务是收费的,可以通过Fedora站点的更新服务。

Fedora基于RedHat,是RedHat为了取代其个人领域所推出的发行版,二者在软件版本方面有一定的共同性。

Ø

、安装发行文件

发行文件的作用是向Yum提供软件仓库的位置,以及验证软件包时所用的GPG公钥。

这通常是必备的过程。

我们要使用的是Fedora的更新服务器,因此要安装的就是fedora提供的发行文件。

进入文件的存放目录(/root/soft),使用下面的命令安装他们到系统中:

#rpm-Uvhfedora-release-7-3.noarch.rpm\

>fedora-release-notes-7.0.0-1.noarch.rpm

Ø

、清除原始文件

对于每个Yum操作,其都要从已配置的软件仓库中下载软件包信息,并将已下载的数据文件和软件包保存在缓存中(/var/cache/yum)以复用。

但对于一个要执行的新任务来说,这样可能会导致错误的依赖关系和冲突,因此,建议使用下面命令清除存留在系统中的原始数据:

清除原始文件(清除缓存)

#yumcleanall

Ø

、更新软件包

举例更新vsftpd软件包

#yumupdatevsftpd

Ø

、yum也支持软件包的安装操作。

但yum包来源于网络中的更新服务器,因此包更新,包的种类更全。

要安装一个系统中不存在的软件包,例如是vsftpd包:

#yuminstallvsftpd

Ø

、网络下载包

#wget网络路径/文件名

◆更改DNS:

#vim/etc/resolv.conf

也可以装上光盘里的netconfig包,就可以直接在setup命令里设置了。

 

三、系统备份管理

✧1、备份策略

Ø完全备份:

备份系统中的所有数据。

Ø增量备份:

只备份上次备份以后有变化的数据。

Ø差分备份:

只备份上次完全备份以后有变化的数据。

✧2、确定要备份的内容

Ø

、Linux大多数情况下,备份处理的仅是文件的打包和解包

Ø

、一般情况下,以下目录需要备份:

·/etc包含所有核心配置文件。

这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。

·/var包含系统守护进程(服务)所使用的信息,包括DNS配置、DHCP租期、邮件缓存文件、HTTP服务文件、数据库实例配置等等。

·/home包含所有用户的默认用户主目录。

这包含他们的个人设置、已下载的文件和用户不希望失去的其他信息。

·/root是根(root)用户的主目录。

·/opt是安装许多非系统文件的地方。

大多数第三方软件就安装在这里,例如:

OpenOffice、JDK和其他软件默认就安装在这里。

Ø

、有些目录是不应该考虑备份的:

·/proc应该永远不要备份这个目录。

它不是一个真实的文件系统,而是运行内核环境的虚拟化视图。

备份这个目录只是在浪费资源。

·/dev包含硬件设备的文件表示。

如果计划还原到一个空白的系统,那就可以备份/dev。

然而,如果计划还原到一个已安装的Linux系统,那么备份/dev,是没有必要的。

◆建议:

在实际环境中,如果希望确保数据不丢失,建议备份除/proc目录外的整个系统。

如果最担心用户和配置,仅需要备份/etc、/var、/home和/root目录。

✧3、使用备份工具(传统的是tar和dump备份工具)

Ø

、tar

·tar是tapearchive(磁带归档)的缩写,是已移植到Linux中的经典UNIX命令。

·tar与文件系统无关,是一个基于文件的命令,它本质是连续的、首尾相连地堆放文件。

·当创建一个tar档案的文件时,扩展名通常为“.tar”。

这是为了方便,不是必须的。

✓#tar[选项]……档案文件……原始文件或目录……

说明:

使用该命令时,需要指定主选项和辅助选项,主选项告诉tar要做什么,辅选项则提供一些可选的附加操作。

另外不要视图对来源文件用绝对路径表示,因为在默认情况下tar会自动删除路径中的“/”根标识,以防止在还原时覆盖目标文件系统中的内容。

✓常用选项:

主选项:

·-c——创建新的档案文件。

如果用户需要备份一个目录或一些文件,就要选择这个选项。

·-r——把要存档的文件追加到档案文件的末尾。

(针对备份时,用户忘记备份的文件)。

·-t——列出档案文件的内容,查看已经备份了哪些文件。

·-u——更新文件。

就是说,用新增的文件取代源备份的文件,如果在备份文件中没有找到要更新的文件,则把它追加到备份文件的最后。

·-x——从档案文件中释放文件。

✓辅助选项:

·-C(大写)——转到指定的目录。

·--exclude<文件>——不指定文件包含在内。

·-f——指定档案文件或设备,这个选项通常是必选的。

·-k——保存已经存在的文件。

例如如果把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。

·-m——在还原文件时,把所有文件的修改时间设定为现在。

·-M——创建多卷的档案文件,以便在几个磁盘中存放。

·-v——详细报告tar处理的文件信息。

如无此选项,tar不报告文件信息。

·-z——调用gzip来压缩/解压缩文件,加上该选项后,可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

例1:

将boot目录中的所有内容归档到test.tar文件中。

#tar-cftest.tar./boot

例2:

查看test.tar中备份了那些文件

#tar-tftest.tar

例3:

在当前目录下,释放test.tar中的所有数据。

#tar-xftest.tar

例4:

加上-z选项把备份文件进行压缩。

#tar-czftest.tar.gzboot

例5:

在释放用-z选项压缩的备份文件时,也要加上-z选项。

#tar-xzftest.tar.gz

(此处我作实验的时候,没有加–z选项也能释放压缩的备份文件。

例6:

要将数据保存在软盘中,应在软盘驱动器中放入第一张软盘,然后使用带M选项的tar命令。

当空间满时需要插入第二张软盘时,tar命令会提示用户,将一张新的软盘放入软盘驱动器中,之后按回车键继续:

#tar-cMf/dev/fd0./root

在还原时,也必须使用M选项才能把存储在多个介质中的档案还原:

#tar-xMf/dev/fd0

Ø

、dump和restore

dump是直接读取较低层的文件系统而不是个别的文件,可检查并确定ext2/3文件系统上的文件需备份。

restore用于从备份媒体还原文件。

restore命令执行备份的逆向功能。

首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖。

也可以从完全或部分备份中还原单独的文件或目录树。

✓特点——

•直接读取文件系统

•不影响文件时间标签

•仅能处理ext2/3文件系统

✓dump

#dump[选项]……[设备名称]文件系统

常用选项:

·-(0123456789)——备份的等级。

0表示完全的系统备份,管理员要定期执行以保存整个系统。

对于后续的备份,可以使用(1——9)来代替0,以改变备份级别。

1级备份会保存自从执行0级别备份以来更改过的所有文件。

2级备份会保存自从执行1级备份以来更改过的所有文件,以此类推。

使用tar和脚本可以执行相同功能,但要求脚本创建人员提供一种机制来确定上次备份是何时执行的。

Dump具有它自己的机制,即它在执行备份时会输出一个更新文件(/etc/dumpdates)。

这个更新文件将在每次执行0级备份时被重设。

后续级别的备份会保留它们的标记,直至执行另一次备份。

·-u——备份完毕后,在/etc/dumpdates中记录备份的文件系统、备份的等级、日期与时间等。

如果不赋予该参数,增量备份不能正确地工作。

·-f——指定备份设备。

缺省为/dev/tape。

例1:

对/dev/sda1分区中的文件系统完全备份到/dev/hda介质中。

#dump-0uf/dev/hda/dev/sda1

例2:

使用另一个设备/dev/hdb对/dev/sda1分区里的增量数据进行备份。

#dump-1uf/dev/hdb/dev/sda1

✓restore

#restore[选项]……备份介质或档案[文件或目录]……

常用选项:

·-f<备份介质或档案>——从指定的介质或档案中读取备份数据,以进行还原操作。

·-r——还原备份介质中的所有内容。

·-i——使用互动模式,在进行还原操作时,使用restore界面。

·-t——仅列出备份介质中的内容。

·-x——从备份介质中提取指定的文件或目录。

·-v——显示指令执行过程。

例1:

还原前建议验证备份介质上内容。

#restore-tf/dev/had

例2:

还原时,保证先还原完全备份的内容,之后按照增量备份顺序逐一还原。

#restore-rf/dev/hda

#restore-rf/dev/hdb

例3:

还原备份介质/dev/hda中的一个单独文件(aquota.user),而不是整个系统。

#restore-xf/dev/had/1.txt/2.txt

[yn]y如下图:

是整个过程(有一个提示让输入选参数,输上“1”。

例4:

提供的另外一个特性是交互模式

#restore-if/dev/had

restore>在此处用add要还原的文件名……

也可以键入help帮助,用ls显示所有备份文件,add选中之后——

>extract(有一个选项参数,是“1”)

[yn]y如下图:

◆实验:

利用系统备份在系统荡了的情况下还原系统。

Ø1》、先备份系统文件到一个物理介质上,然后把系统手工搞荡。

Ø2》、利用系统光盘启动引导,在启动界面输入灾难恢复命令“Linuxrescue”,经过好几步到灾难恢复界面。

Ø3》、在根下任意创建一个目录,并将原来的坏系统卷,挂载到该目录中。

Ø4》、进入该目录,执行还原命令。

(#rescore-rf/dev/系统备份的卷)

Ø5》、还原完成后,输入“grub”命令进入grub激活界面。

再输上“root(hd0,0),”提示正确后,再进行命令“setup(hd0)”

解释:

在此的hd0是grub识别的硬件设备,它不分IDE还是SCSI等,都是从hd0开始的。

hd0,0——第一个识别的设备上的第一个分区;

Hd1,2——第二个识别的设备上的第三个分区;

SCSI优先于IDE接口的排在前面。

此处一般是hd0,0的多,我做的是这样。

Ø6》、grub成功后“quit”退出。

Ø7》、再进行交换分区激活

mkswap/dev/交换分区所在的卷符

Ø8》、“reboot”重启。

续:

如果在第五步grub中不识别设备。

可重启按照装系统走一把,注意的是别去改变原来的分区,备份的那块卷更是不要动。

此操作就是为了把boot引导出来,能够在激活grub时成功,红帽系列别的系统盘也可以做到。

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

当前位置:首页 > 高中教育 > 英语

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

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