310 likes | 507 Views
本章重点内容. 软件包管理 系统更新 系统备份. 本章学习目标. 掌握 rpm 命令的使用方法 学会使用 APT 进行系统更新 理解备份的相关概念和 tar 命令的使用. RPM 概述. RPM 是 RPM Package Manager 的缩写 。 RPM 的优点 易于安装、升级便利 丰富的软件包查询功能 软件包内容校验功能 支持多种硬件平台. RPM 的五大功能. 安装 —— 将软件从包中解出来,并且安装到硬 盘。 卸载 —— 将软件从硬盘清除。 升级 —— 替换软件的旧版本。 查询 —— 查询软件包的信息。
E N D
本章重点内容 软件包管理 系统更新 系统备份
本章学习目标 掌握rpm命令的使用方法 学会使用APT进行系统更新 理解备份的相关概念和tar命令的使用
RPM概述 RPM是RPM Package Manager的缩写 。 RPM的优点 易于安装、升级便利 丰富的软件包查询功能 软件包内容校验功能 支持多种硬件平台
RPM的五大功能 安装——将软件从包中解出来,并且安装到硬 盘。 卸载——将软件从硬盘清除。 升级——替换软件的旧版本。 查询——查询软件包的信息。 验证——检验系统中的软件与包中软件的区 别。
RPM包的名称 RPM包的名称格式:name-version.type.rpm 如:bind-9.2.1-16.i386.rpm name为软件的名称 version为软件的版本号 type为包的类型 i[3456]86:表示在Intel x86计算机平台上编译的 sparc:表示在sparc计算机平台上编译的 alpha:表示在alpha计算机平台上编译的 src:表示软件源代码 rpm为文件扩展名
使用Red Hat 软件包管理器 在主菜单中选择“系统设置”,选择“添加/删除应用程序” Redhat-config-packages
RPM的使用(1) 导入RPM包的公钥 格式:# rpm --import <公钥文件名> 举例: # rpm --import /usr/share/rhn/RPM-GPG-KEY # rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt # rpm --import http://ftp.freshrpms.net/pub/freshrpms/RPM-GPG-KEY
RPM的使用(2) 安装软件包 格式:# rpm -ivh <包文件名> 举例:# rpm -ivh cvs-1.11.2-10.i386.rpm 升级软件包 格式:# rpm -Uvh <包文件名> 举例:# rpm -Uvh cvs-1.12.2-10.i386.rpm 卸载软件包 格式:# rpm -e <包名> 举例:# rpm -e cvs
RPM的使用(3) 查询软件包 查询系统中安装的所有RPM软件包 $ rpm -qa 查询指定的软件包在系统中是否安装 $ rpm -q <包名> 查询RPM包文件中的信息,用于在未安装软件包之前 了解软件包中的信息 $ rpm -qp <RPM包文件名>
RPM的使用(3) 查询系统中已安装指定的软件包的描述信息 $ rpm -qi <包名> 查询系统中已安装指定的软件包里所包含的文件 $ rpm -ql <包名> 查询某软件包的最低依赖要求 $ rpm -qR <包名> 查询某软件包提供的可使用的所有文件 $ rpm -q --provides <包名> 查询系统中指定文件所属的软件包 $ rpm -qf <文件名>
RPM的使用(4) 查询软件包举例 查询cvs软件包在系统中是否安装 $ rpm –q cvs 查询系统中已安装的cvs软件包的描述信息 $ rpm –qi cvs 查询系统中已安装的cvs软件包里所包含的文件 $ rpm –ql cvs 查询系统中文件/etc/passwd所属的软件包 $ rpm –qf /etc/passwd 查询cvs-1.11.2-10.i386.rpm包文件中的信息 $ rpm –qp cvs-1.11.2-10.i386.rpm 查询系统中已经安装的所有包含名字php的软件包 $ rpm –qa | grep php 查询httpd包的最低依赖要求 $ rpm -qR httpd
RPM的使用(5) 校验软件包 格式: 校验整个系统的rpm套件 # rpm -Va 校验单个rpm包 # rpm -V <包名> 验证指定的包文件 # rpm -Vp <包文件名> 验证包含指定文件的软件包 # rpm -Vf <文件名>
RPM的使用(6) 校验软件包举例 验证cvs软件包 # rpm –V cvs 验证cvs-1.11.2-10.i386.rpm包文件 # rpm –Vp cvs-1.11.2-10.i386.rpm 验证所有已安装的软件包 # rpm –Va 验证包含文件/etc/passwd的软件包 # rpm –Vf /etc/passwd
系统更新的方法 使用更新系统的目的 为了要解决安装RPM时的依赖性问题。 APT(Advanced Packaging Tool) APT是Debian Linux设计的软件包管理工具,可以自动解决并安装依赖的软件包。 目前已经有很多为Red Hat Linux提供APT方式升级管理软件包的站点。
APT的工作原理 APT是一个客户/服务器系统。 服务器 复制所有的RPM包(包括来自原版光盘和Red Hat 提供的升级包) APT的分析工具(genbasedir)根据每个RPM包的包头(header)信息对所有的RPM 包进行分析,并将该分析结果记录在一个文件中,这个文件称为RPM索引清单 (package list),APT 服务器的 RPM 索引清单置于base文件夹内。 一旦 APT 服务器内的 RPM 有所更动,一定要使用 genbasedir 产生新的RPM索引清单。 APT使用http协议或ftp协议为客户提供RPM更新包的下载。 APT服务器需要安装APT软件包。
APT的工作原理 APT是一个客户/服务器系统。 客户端 客户端如果需要安装、升级或删除某个软件包时, 客户端计算机取得RPM索引清单压缩文件后,会将其解压置放于/var/state/apt/lists/。 客户端使用 apt-get install 或 apt-get upgrade 命令的时候, 就会将这个文件夹内的数据和客户端计算机内的 RPM 数据库比对, 如此一来就可以知道那些 RPM 已安装、未安装、或是可以升级的。 客户端透过网络连到远程的 APT 服务器去下载 RPM到本地来安装。 当本地计算机安装了APT软件包之后就成了APT的客户端。
APT的安装 下载:#ftp 172.25.0.112 user:yangzongde ps:123456 #wget apt软件 安装:# rpm -ivh apt软件
APT命令的使用 apt-get update: 更新RPM 索引清单,获取远程rpm服务器上的软件列表和相互依赖关系列表。 apt-get check:检查本地软件依赖关系合法性。 apt-cache search package-name:在下载的RPM 索引清单中搜索包。 apt-cache depends package-name: 查看指定包的依赖关系,即安装此包前需要安装哪些包。
APT命令的使用 apt-get -f install:解决依赖性问题。 apt-get upgrade:升级所有系统软件。 apt-get remove package-name:卸载软件,同时卸载依赖软件。 apt-get clean:清除本地下载的rpm包。 APT命令使用举例(参见教材操作步骤11.1)
定制APT(1) 添加软件资源列表 软件资源列表存放在/etc/apt/sources.list.d/目 录中,所有资源列表文件均以.list结尾 资源列表文件中包含APT资源网站的描述,每一行的格式为: rpm uri distribution [component1] [componenent2] [...] uri:软件资源的地址,可以是http,ftp,file等URL地址 distribution:软件资源的站内路径 component:APT的发布内容
定制APT(1) 例如: rpm http://apt.au.freshrpms.net/redhat/9/en i386 os updates rpm ftp://ftp.stw-bonn.de/pub/apt redhat/9/en/i386 os updates
定制APT(2) 定期自动更新 安排一个cron任务实现自动更新 vi /etc/cron.daily/upgrade #!/bin/bash apt-get update apt-get -y upgrade apt-get clean 添加执行权限 # chmod +x /etc/cron.daily/upgrade
架设APT服务器 为什么要架设 APT 服务器 为了方便局域网内的多台计算机实现本地系统更 新。 架设APT 服务器的过程 参见教材操作步骤11.2 所有使用本地APT服务器的客户端设置 编辑本地软件资源列表文件 # vi /etc/apt/sources.list rpm http://192.168.0.250/redhat/apt/9 i386 os updates
备份简介(1) 为什么进行备份 如下的诸多因素将有可能导致系统的崩溃或数据丢失 系统硬件故障 软件故障 电源故障 用户的误操作 人为破坏 缓存中的内容没有及时的写入磁盘 对系统管理员而言,经常对重要的文件进行备份是应该养成的良好习惯。 经常性的系统备份,可以将各种不可预料的损失减少到最少。
备份简介(2) 什么是备份 备份就是把一个文件系统或其部分文件存储到另外的介质中, 以使得通过这些介质中的记录信息可以恢复原有的文件系统或其中的某些文件。 备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动介质), 以保证在原始数据丢失的情况下可以恢复数据。 一次备份可能是简单的cp命令,将一个文件复制到其他目录下, 也可能是使用特定的程序将数据流写进一个特定的设备中的复杂过程。
三种备份策略 完全(Full)备份 每隔一段时间对系统进行一次完全的备份,这样在备份时 间间隔内, 一旦系统发生故障使得数据丢失时,就可以用 上一次的备份数据恢复到上一次备份时的情况。 增量(Incremental)备份 首先进行一次完全备份,然后每隔一个较短时间进行一次 备份,但仅备份在这个期间更改的内容。 这样一旦发生数 据丢失,首先恢复到前一个完全备份,然后按日期逐个恢 复每天的备份,就能恢复到前一天的情况。 差分(Differential)备份(也称累计备份) 首先每月进行一次完全备份,然后备份从上次进行完全备 份后更改的全部数据文件。 一旦发生数据丢失,使用一个 完全备份和一个差分备份就可以恢复故障以前的状态。
tar 简介 tar是一个已移植到Linux中的经典UNIX命令。 tar是Tape ARchive(磁带归档)的缩写,最初设计用于将文件打包到磁带上。 tar是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。 备份可以保存到基于文件的设备或磁带设备上。文件可以在还原时重定向, 以便将它们重新放到一个与最初保存它们的目录(或系统)不同的目录(或系统)。 tar是与文件系统无关的,它可以使用在ext2、ext3、jfs、Reiser和其他文件系统上。
tar 命令 tar命令格式 备份:tar <选项> <-cf 备份文件或设备> <备份路径> 恢复:tar <选项> <-xf 备份文件或设备> [-C 恢复路径] 常用选项 -M:分卷处理 -p:保留权限 -T filename:指定备份文件列表 -N DATE:备份指定日期之后修改的文件 -z:用GNU的gzip压缩文件或解压。 -Z:用compress压缩文件或解压。 -j:用bzip2压缩文件或解压。
tar 命令操作举例 跨越多张软盘备份系统/usr/local下的所有内容,同时进行写入校验 # tar -cWMf /dev/fd0 /usr/local 备份/目录下自03/12/2005修改过的文件到磁带设备/dev/st0中 # tar -cvf /dev/st0 -N 03/12/2005 /
tar 命令操作举例 备份和恢复 保持文件权限备份/目录(不包括/proc)到磁带设备/dev/st0中 # tar -cpf /dev/st0 / --exclude=/proc 恢复恢复备份到/ # tar -xpf /dev/st0 -C / 从备份文件恢复指定的文件etc/passwd # tar -xpf /dev/st0 etc/passwd
tar 命令操作举例 完全备份和增量备份 先做一个完全备份 # tar -zcvf /backup/bp_full.tar.gz / 找出7天内修改过的文件 # find / -mtime -7 -print > /tmp/filelist[16] 每隔7天做增量备份 # tar -c -T /tmp/filelist -f /backup/bp_add.tar.gz