1、第七章 linux软件包管理管理,目标,掌握rpm软件包管理 掌握tar包管理,问题,问题引入:在Linux系统下如何添加删除程序? 问题引入:我怎么知道系统里安装了哪些软件?,企业需求,企业需求:企业想在Linux机器上架设WEB服务器,但不知道这台计算机上有没安装WEB服务器的软件,如果没安装的话希望能进行WEB的软件包安装,有的话想验证一下该软件是否存在问题。,7.1rpm软件包管理命令,RPM软件包管理RPM可用于软件包的安装、查询、更新升级、校验、删除已安装的软件包,以及生成.rpm格式的软件包等。 RPM功能是通过rpm命令结合使用不同的命令参数来实现的。 RPM软件包的的名称格式
2、:软件名称-主版本号次版本号.软件运行的硬件平台.rpm 如:,7.1rpm软件包管理命令,rpm:软件包管理命令 查询#rpm q bind:查询软件包bind是否安装#rpm qa:查询已安装的软件包#rpm qa|grep bind:查询已安装的名字含bind的软件包#rpm qi bind :查询软件包bind的描述信息#rpm ql bind :查询软件包bind中的文件列表# rpm qR bind :显示包所依赖的关系,7.1rpm软件包管理命令,rpm:软件包管理命令 安装rpm i 安装选项 RPM软件包名安装选项:-vh:显示安装过程的一些详细信息,有助于了解安装是否成功及
3、出错原因。 -nodeps:不作依赖性检查-force:强行安装,rpm软件包管理命令,rpm:软件包管理命令 安装 实例:#mount /dev/cdrom /mnt/cdrom#cd /mnt/cdrom/RPMS#rpm ivh vsftpd-1.1.3-8.i386.rpm软件包查询 #rpm qa |grep vsftpd #rpm ql vsftpd|grep /bin,7.1rpm软件包管理命令,rpm:软件包管理命令 删除使用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀.rpm 比如卸载软件包proftpd-1.2.8-1,可以使用下列格式: #rpm
4、-e proftpd-1.2.8-1 #rpm -e proftpd-1.2.8 #rpm -e proftpd- #rpm -e proftpd 用rpm -e -nodeps强制卸载,7.1rpm软件包管理命令,rpm:软件包管理命令 升级更新#rpm Uvh rhviewer-3.10a-13.i386.rpm(先删后装),7.1rpm软件包管理命令,rpm:软件包管理命令 验证#rpm Va#rpm V bind,实例, 首先查询系统有没安装 xsnow;(rpm -qa |grep xsnow) 挂载配套光盘(3张)(mount /dev/cdrom /mnt/cdrom) 现在安装
5、光盘中的 xsnow-1.42-10.i386.rpm 这个包 (进入目录rpm -ivh xsnow-1.42-10.i386.rpm) 查询安装 xsnow 后产生的文件位置;(rpm -ql xsnow) 查询安装 xsnow 的详细信息;(rpm -qi xsnow) 查询xsnow 由那个文件包产生。(whereis xsnow rpm -qf /usr/X11R6/bin/xsnow) 然后在终端上打上 xsnow,看看桌面有什么变化,在终端中在敲 ctrl+C 看看有什么变化。 卸载 xsnow 这个软件。(rpm -e xsnow),在Windows系统下最常见的压缩文件是zi
6、p和rar,Linux系统就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外Windows系统下的.zip和.rar也可以在Linux下使用,7.2 tar包管理,linuxqq_v1.0.2-beta1_i386.tar hello-1.3.tar,打包和压缩 打包是指将许多文件和目录变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。Linux系统中的很多压缩程序只能针对一个文件进行压缩,这样当需要压缩一大堆文件时,就得先借助其他的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行 压缩。,7.2 tar包管理,Linu
7、x系统下最常用的打包程序是tar,使用tar程序打出来的包称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其他的程序来进行压缩了。 tar可以为文件和目录创建备份。利用tar,用户可以为某一特定文件创建备份,也可以在备份中改变文件,或者向备份中加入新的文件。 tar最初被用来在磁带上创建备份,。利用tar命令可以把一大堆的文件和目录打包成一个文件,这对于备份文件或将几个文件组合成为一个文件进行网络传输是非常有用的。,7.2 tar包管理,7.2.1tar命令,tar 命令 tar命令常用的参数有: -c:创建新的档案文件。 -x:从档案文件中释放文件 -v:详
8、细报告tar处理的文件信息 -f:使用档案文件或设备,这个选项通常是必选的 -t:列出档案文件的内容,查看已经备份了哪些文件 -z:用gzip来压缩/解压缩包文件 -r:把要存档的文件追加到档案文件的未尾 -u:增量(更新)备份 -m :在还原文件时,把所有文件的修改时间设定为现在 -delete 删除文件,tar命令使用介绍1. 生成tar包格式:tar cvf 文件名.tar 被打包的目录或文件名 说明:c创建 v输出相关信息 f对普通文件操作练习:把/root下的文件打包,并查询包内容,7.2.1tar命令,2.生成tar包并压缩实例2:把/home/ds1/k1下以a开头的文件生成ta
9、r包并压缩。tar cvfz k2.tar.gz /home/ds1/k1/a*说明:z压缩, 需指明.tar.gz3.查看tar包的内容tar tvf k1.tar练习:查看刚才生成的.tar.gz4.向tar包追加文件tar rvf k1.tar /home/ds1/k1/a15.释放文件tar xvf k2.tar,7.2.1tar命令,7.2.2文件压缩和归档的命令,文件压缩的命令 #gzip a.txt #gzip *.txt #gzip filename #gunzip filename.gz gzip dv filename.gz 说明: 1)gzip只能对具体一个文件进行压缩,
10、不会将 多个文件压缩成一个单一的文档,而 zip命令可以。2)zip对文件进行压缩后,原文件不会受影响。3)用gzip会删除原文件,而tar不会影响目录中原有文件。,课堂练习,练习:说出下面命令执行的结果#tar cvf data.tar *#tar cvzf data.tar.gz *#tar tvf data.tar#tar xvf data.tar #tar zxvf data.tar.gz #tar delete -vf data.tar ww.txt#tar -rvf data.tar ww.txt,实验任务,将/var/log/message备份到/home 将文件message压
11、缩. 将文件message解压. 将目录/home 归档为archive.tar(放到/root) 向归档文件archive.tar追加一个文件file(用touch 建立一个空文件) 查看文件archive.tar 在将文件file从归档文件archive.tar中删除 在将归档文件archive.tar 用命令gzip压缩 用命令tar直接将目录/home 压缩归档为archive.tar.gz(放到/root) 查看文件archive.tar.gz 用命令tar将文件archive.tar.gz解包.,1)解包2)阅读附带的README和INSTALL文件3)编译的配置和预处理 解压缩后
12、产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备 执行:./configure说明:可以用./configure prefix=路径改变软件安装路径4)编译源文件执行:make,8.2.3安装一个tar.gz包的一般步骤:,tar命令介绍5)安装要想安装软件必须对安装路径赋于“W”权限执行:make install6)删除编译产生的“.o”文件执行:make clean,tar命令介绍 7.tar包的卸载一般情况下,可以直接删除安装目录而删除软件。如果正常编译通过,可以执行mak
13、e uninstall命令来卸载软件。提示:有两个工具软件kinstall 和kief可以用来卸载软件。,tar命令,原代码编译程序,从原代码编译程序 取得源代码包 源代码包解包 配置程序./configure 编译make 安装make install 练习编译应用程序,课堂练习,练习题目:从Internet上下载hello的tar格式源代码,软件包名字为hello-1.3.tar.gz,下载到tmp目录下。要求解包到/hello-1.3 目录下,并安装hello-1.3程序。请按下面步骤写出相应的命令。1. 列出hello-1.3软件包的内容;2. 解软件包到/hello-1.3 目录下;3. 阅读安装文档install或readme;4. 配置程序5. 编译软件6 安装应用程序7. 运行应用程序,总结,总结Rpm软件包的安装、更新、查询、删除和验证 总结Tar命令的使用 总结Tar包的安装,