5、RPM包及打包和压缩命令
RPM详解——精选推荐

RPM详解概述RPM⽂件结构RPM包⽂件⼀般包含4部分:Lead、Signature、Header、Payloadlead----开头的标识部分,⽤于标识此份⽂件为⼀个RPM包Signature-----数字签名,通常包括针对头部的签名和针对载荷的签名Header--------头部,通常包括版权信息,版本号,包描述等信息;有时还包含⼀些特定的标签(Tag),⽐如PRE Tag就包含了rpm包在安装前需要执⾏的预安装脚本。
Payload-------载荷,包含实际安装的⽂件RPM命令安装及升级安装的⼀般步骤install a package, it goes through a number of steps:1.Checking the package and the files it wants to install2.Performing preinstallation tasks3.Uncompressing the files and placing them in the proper locations4.Performing post-processing tasks5.Updating the RPM DatabaseRPM数据库的相关⽂件位于/var/lib/rpm/⽬录下。
新安装@前⾯为⽤户名及密码,⽤户名uncljoe ,密码workers升级rpm -Uvh ⽆论软件包存在与否都执⾏升级或rpm -Fvh仅针对已安装的软件包进⾏升级升级时,RPM会对每个⽂件,⽐对三个版本的MD5校验值(old package file,current file,new package file)。
如果old package file与new package file的MD5校验值⼀样,但current file 不同,说明新⽼版本的⽂件是⼀样的,但管理员编辑过该⽂件(通常是⼀些配置⽂件),rpm 会保留current file(保留管理员的所做的配置),⽽不会⽤新包中的⽂件覆盖。
如何解压RPM包

如何解压RPM包
有时我们需要RPM包中的某个⽂件,如何解压RPM包呢?
RPM包括是使⽤cpio格式打包的,因此可以先转成cpio然后解压,如下所⽰:
rpm2cpio xxx.rpm | cpio -div
解压了以后你会看到,实际上rpm包是这个程序所有的⽂件的集合,⽐如帮助⽂档,⼆进制程序,所依赖的库⽂件,⽽且解压后的主⽬录对应的就是linux系统根路径下的⽬录,⽐如解压后有etc,bin,usr三个⽬录,则分别对应linux系统根⽬录下的etc,bin,usr⽬录,所以rpm -i xxx.rpm这个命令⽆⾮是把解压后的⽂件和⽬录依照原先的层级结构原原本本的复制到linux系统对应的⽬录下
我们可以对安装的软件⽤命令rpm -ql softwarename 查看此软件⽣成的所有的⽂件以及⽬录。
RPM 有五种基本的操作方式

RPM 大全RPM 有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证。
下面我们就来逐一的讲解吧。
一、安装RPM包RPM 软件包通常具有类似foo-1.0-1.i386.rpm 的文件名。
其中包括软件包的名称(foo),版本号(1.0),发行号(1),和硬件平台(i386)。
安装一个软件包只需简单的键入以下命令:$ rpm -ivh foo-1.0-1.i386.rpmfoo ####################################RPM安装完毕后会打印出软件包的名字(并不一定与文件名相同),而后打印一连串的#号以表示安装进度。
虽然软件包的安装被设计的尽量简单易行,但还是可能会发生如下的错误:1、软件包已被安装如果您的软件包已被安装, 将会出现以下信息:$ rpm -ivh foo-1.0-1.i386.rpmfoo package foo-1.0-1 is already installederror: foo-1.0-1.i386.rpm cannot be installed如果您仍旧要安装该软件包,可以在命令行上使用--replacepkgs 选项,RPM将忽略该错误信息强行安装。
2、文件冲突如果您要安装的软件包中有一个文件已在安装其它软件包时安装,会出现以下错误信息:# rpm -ivh foo-1.0-1.i386.rpmfoo /usr/bin/foo conflicts with file from bar-1.0-1error: foo-1.0-1.i386.rpm cannot be installed要想让RPM 忽略该错误信息,请使用--replacefiles 命令行选项。
3、未解决依赖关系RPM软件包可能依赖于其它软件包,也就是说要求在安装了特定的软件包之后才能安装该软件包。
如果在您安装某个软件包时存在这种未解决的依赖关系。
RPM命令大全

RPM命令大全2004-04-2315:18 pm一、安装命令格式:rpm -i ( or --install) options file1.rpm ... fileN.rpm参数:file1.rpm ... fileN.rpm 将要安装的RPM包的文件名详细选项:-h (or --hash) 安装时输出hash记号 (``#'')--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件--includedocs 安装文档--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--force 忽略软件包及文件的冲突--noscripts 不运行预安装和后安装脚本--prefix <path> 将软件包安装到由 <path> 指定的路径下--ignorearch 不校验软件包的结构--ignoreos 不检查软件包运行的操作系统--nodeps 不检查依赖性关系--ftpproxy <host> 用 <host> 作为 FTP代理--ftpport <port> 指定FTP的端口号为 <port>通用选项-v 显示附加信息-vv 显示调试信息--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile <rcfile> 设置rpmrc文件为 <rcfile>--dbpath <path> 设置RPM 资料库存所在的路径为 <path>二、删除命令格式:rpm -e ( or --erase) options pkg1 ... pkgN参数pkg1 ... pkgN :要删除的软件包详细选项--test 只执行删除的测试--noscripts 不运行预安装和后安装脚本程序--nodeps 不检查依赖性通用选项-vv 显示调试信息--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下--rcfile <rcfile> 设置rpmrc文件为 <rcfile>--dbpath <path> 设置RPM 资料库存所在的路径为 <path>三、升级命令格式rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm参数file1.rpm ... fileN.rpm 软件包的名字详细选项-h (or --hash) 安装时输出hash记号 (``#'')--oldpackage 允许"升级"到一个老版本--test 只进行升级测试--excludedocs 不安装软件包中的文档文件--includedocs 安装文档--replacepkgs 强制重新安装已经安装的软件包--replacefiles 替换属于其它软件包的文件--force 忽略软件包及文件的冲突--percent 以百分比的形式输出安装的进度。
各种解压及压缩命令

.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName———————————————.bz2解压1:bzip2 -d FileName.bz2解压 2:bunzip2 FileName.bz2压缩: bzip2 -z FileName.tar.bz2解压:tar jxvf FileName.tar.bz2 或tar –bzip xvf FileName.tar.bz2压缩:tar jcvf FileName.tar.bz2 DirName ———————————————.bz解压1:bzip2 -d FileName.bz解压2:bunzip2 FileName.bz压缩:未知.tar.bz解压:tar jxvf FileName.tar.bz压缩:未知———————————————.Z解压:uncompress FileName.Z压缩:compress FileName.tar.Z解压:tar Zxvf FileName.tar.Z压缩:tar Zcvf FileName.tar.Z DirName———————————————.zip解压:unzip FileName.zip压缩:zip FileName.zip DirName压缩一个目录使用 -r 参数,-r 递归。
例: $ zip -r FileName.zip DirName ———————————————.rar安装相应的软件:sudo apt-get install unrar rar注意rar在linux下也是30天试用软件,但是您可以选择继续使用解压:rar x FileName.rar压缩:rar a FileName.rar DirNamerar也请到:/download.htm 下载!解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):[root@www2 tmp]# cp rar_static /usr/bin/rar———————————————.lha解压:lha -e FileName.lha压缩:lha -a FileName.lha FileNamelha请到:r.kanazawa-it.ac.jp/~ishii/lhaunix/下载!>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):[root@www2 tmp]# cp lha /usr/bin/———————————————.rpm解包:rpm2cpio FileName.rpm | cpio -div ———————————————.deb解包:ar p FileName.deb data.tar.gz | tar zxf - ———————————————.7z安装相应的软件:sudo apt-get install p7zip-full列出文件:7z l file.7z解压:7z x file.7z———————————————.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip.cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs.arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea解压:sEx x FileName.*压缩:sEx a FileName.* FileNamesEx只是调用相关程序,本身并无压缩、解压功能,请注意!sEx请到: /projects/sex下载!解压后请将sEx拷贝到/usr/bin目录(其他由$PATH 环境变量指定的目录也可以):[root@www2 tmp]# cp sEx /usr/bin/********************************************************************* **********附录各种压缩文件的解压及常用解压命令:.a ar xv file.a.Z uncompress file.Z.gz gunzip file.gz.bz2 bunzip2 file.bz2.tar.Z tar xvZf file.tar.Zcompress -dc file.tar.Z | tar xvf -.tar.gz/.tgz tar xvzf file.tar.gzgzip -dc file.tar.gz | tar xvf -.tar.bz2 tar xvIf file.tar.bz2bzip2 -dc file.tar.bz2 | xvf -.cpio.gz/.cgz gzip -dc file.cgz | cpio -div.cpio/cpio cpio -div file.cpiocpio -divc file.cpio.rpm/install rpm -i file.rpm.rpm/extract rpm2cpio file.rpm | cpio -div.deb/install dpkg -i file.deb.deb/exrtact dpkg-deb -fsys-tarfile file.deb | tar xvf -ar p file.deb data.tar.gz | tar xvzf -.zip unzip file.zipbzip2 -d myfile.tar.bz2 | tar xvftar xvfz myfile.tar.bz2x 是解压v 是复杂输出f 是指定文件z gz格式gzipgzip[选项]要压缩(或解压缩)的文件名-c将输出写到标准输出上,并保留原有文件。
rpm包组成结构

rpm包组成结构RPM(Red Hat Package Manager)是一种在Linux系统中广泛使用的软件包管理工具。
它通过将软件打包成RPM包来方便地安装、升级和卸载软件。
RPM包的组成结构是指在创建和使用RPM包时所需的各个元素和组件。
本文将介绍RPM 包的组成结构,包括RPM包的文件结构、元数据和其他重要组件。
一、RPM包的文件结构RPM包的文件结构是指RPM包内部的目录和文件的组织结构。
RPM包内部有一些预定义的目录,包括:1. /usr:包含了系统的可执行文件、库文件和头文件等。
2. /etc:包含了系统的配置文件。
3. /var:包含了系统的变量文件,如日志文件和临时文件。
4. /bin:包含了系统的可执行文件。
此外,RPM包还包含了一些其他的目录和文件,包括:1. /usr/share/doc:包含了软件的文档文件。
2. /usr/share/man:包含了软件的man手册文件。
3. /usr/lib:包含了软件的库文件。
4. /usr/include:包含了软件的头文件。
RPM包的文件结构是由RPM包的构建过程和软件包的需求来确定的。
在创建RPM包时,需要将软件的文件和目录按照一定的规则放置到RPM包内部的相应位置。
二、RPM包的元数据RPM包的元数据是指RPM包中包含的关于软件的信息。
RPM包的元数据包括:1. 包的名称(Name):指定了软件包的名称。
2. 包的版本(Version):指定了软件包的版本号。
3. 包的发布(Release):指定了软件包的发布号。
4. 包的摘要(Summary):提供了软件包的简要描述。
5. 包的描述(Description):提供了软件包的详细描述。
6. 包的依赖关系(Dependencies):指定了软件包依赖的其他软件包。
7. 包的授权(License):指定了软件包的授权信息。
8. 包的构建时间(Build Time):指定了软件包的构建时间。
linux中的rpm命令的详细解释

linux中的rpm命令的详细解释linxu下的rpm命令其实是一个软件包管理程序。
下面由店铺为大家整理了linux的rpm命令的详细解释的相关知识,希望对大家有帮助!一、linux中的rm命令的详细解释1.什么是rpmRPM 是Red hat Package Manager 的缩写,本意是Red Hat软件包管理,由RedHat开发出来的一种软件包管理程序,后来被LSB(Linux规范标准)会正式吸纳为Linux的标准包格式,命名为RPM Package Manager,现在所说的RPM即使 RPM Package Manager的缩写。
2.为什么要使用RPM软件包管理器RPM软件包管理器简化了用户在Linux系统上对软件进行安装、卸载、升级或更新的过程,只需要简短的命令就可以完成,从而省去了对对源代码进行编译、安装的复杂过程,从而大大提高了管理人员的工作效率3.RPM命名格式命名格式:appname-VERSION-RELEASE.ARCH.rpmVERSION:magior:主版本号minor:次版本号release:发行号RELEASE:包自身的修订号,有时候会包含适用的OS信息:eg: bash-4.3.2-2.centos6.x86_64.rpm中 2.centos6 就是RELEASE号ARCH:适用平台x86: i386, i486, i586, i686x86_64: x86_64, amd64powerpc: ppcnoarch: 跟平台无关;(perl,python,ruby等编译的程序)RPM分包机制:核心包,主包:命名与源项目名称一致;eg: bash-4.3.2-2.centos6.x86_64.rpm子包(支包):命令为源项目名称后附加支包中的文件提供的功能组成eg: bash-devel-4.3.2-2.centos6.x86_64.rpmRPM包获取途径1、系统的发行光盘镜像或官方站点2、程序包官方站点3、第三方组织:epel4、搜索RPM包的搜索引擎建议:生产过程中对rpm软件包安装之前需要验证程序包的来源合法性及包的完整性二、Linux中的rpm命令的安装方法安装语法格式:rpm {-i|--install} [install-options] PACKAGE_FILE1...安装时常用选项:-h: hash,以#来表示安装进度;每个# 号表示2%的安装进度-v, --verbose:显示安装过程中的详细信息;-vv: 能显示更加详细信息-vvv:--test:测试安装,不执行真正的安装过程,而仅报告依赖关系及冲突信息等;--nodeps :忽略依赖关系安装,【能安装成功,但未必能成功运行;】--replacepkgs:覆盖安装--重新安装并覆盖原有的文件--force:强制安装--olepackage:降级到旧版本--relocate 指明安装位置--replacefiles 指明安装时替换某个文件--replacepkgs 指明安装时替换整个包安装时常用组合: -ivh --ivvh三、Linux中rpm命令的升级步骤升级语法格式:rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...-U: 升级或安装rpm {-F|--freshen} [install-options] PACKAGE_FILE ...-F:升级【只进行升级】升级常用选项-v, --verbose:显示升级过程中的详细信息;-vv: 能显示更加详细信息-vvv:--test:测试升级安装,不执行真正的升级安装过程,而仅报告依赖关系及冲突信息等;--nodeps :忽略依赖关系进行升级,--force:强制升级--olepackage:降级到旧版本升级时常用组合: -Uvh --Uvvh注意1:一定不要对内核执行升级;Linux允许多内核共存,所以,可以直接安装多个不同版本内核;注意2:如果程序包的配置文件安装后曾被修改,升级时,新版本的文件不会覆盖老版本的配置文件,而把新版本的配置文件重命名(加后缀.rpmnew)后保存;。
5、RPM包及打包及压缩命令

第五讲 RPM管理及文件打包和压缩一、 rpm 包1、rpm=redhat package managment红帽子担保理器,已成为整个linux行业的担保理的标准;2、linux下的软件安装方式<1>源代码安装<2>rpm包安装3、rpm 包安装的特色<1>长处:简单,方便,快捷<2>弊端:包的安装有依靠性4.rpm 包的安装:<1>rpm包名的命名规则:软件名 - 主版本号 . 次版本号 - 补丁次数 . 机型 .rpm 包补丁次数中:奇数表示测试版,偶数表示正式版;<2>安装 rpm 包:#rpm -ivh包名.rpm升级安装:#rpm -Uvh 包名 .rpm-U: 表示如未安装就安装,已安装则升级;#rpm -Fvh包名.rpm-F: 表示只做升级,不做新装;可支持通配符安装:#rpm -ivh dhcp*<3>查察已安装的 RPM包:#rpm -qa包名*#rpm -qa |grep包名参数: -q:query查问-a:all全部<4>查察已经安装的RPM包产生的文件及寄存路径#rpm -ql已安装的包名<5>经过文件查问根源的包名#rpm -qf文件名<6>查察 RPM包的详尽信息<7>卸载已安装的 rpm 包#rpm -e已安装的RPM包名注意:不支持通配符卸载;<8> --force即便覆盖属于其余包的文件也逼迫安装--nodeps假如该RPM包的安装依靠其余包,即便其余包没装,也逼迫安装。
二、打包、查察、解包、压缩文件和目录命令:tar 1、对文件和目录的打包和压缩2、查察归档和压缩文件3、恢复归档文件和压缩文件三、压缩命令:gzip (gzip的压缩率高于bzip2)功能:用于压缩文件,不可以压目录,先把目录打包,再压缩。
选项:-c压缩结果写入标准输出,原文件保持不变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五讲 RPM管理及文件打包和压缩
一、rpm包
1、rpm=redhat package managment 红帽子包管理器,已成为整个
linux行业的包管理的标准;
2、linux下的软件安装方式
<1>源代码安装
<2>rpm包安装
3、rpm包安装的特点
<1>优点:简单,方便,快捷
<2>缺点:包的安装有依赖性
4.rpm包的安装:
<1>rpm包名的命名规则:
xsnow-1.42-10.i386.rpm
软件名-主版本号.次版本号-补丁次数.机型.rpm包
补丁次数中:奇数表示测试版,偶数表示正式版;
<2>安装rpm包:
#rpm -ivh 包名.rpm
升级安装:
#rpm -Uvh 包名.rpm
-U:表示如未安装就安装,已安装则升级;
#rpm -Fvh 包名.rpm
-F:表示只做升级,不做新装;
可支持通配符安装:
#rpm -ivh dhcp*
<3>查看已安装的RPM包:
#rpm -qa 包名*
#rpm -qa |grep 包名
参数:-q:query 查询 -a:all 所有
<4>查看已经安装的RPM包产生的文件及存放路径
#rpm -ql 已安装的包名
<5>通过文件查询来源的包名
#rpm -qf 文件名
<6>查看RPM包的详细信息
#rpm -qi xsnow-1.42-10
<7>卸载已安装的rpm包
#rpm -e 已安装的RPM包名
注意:不支持通配符卸载;
<8> --force 即使覆盖属于其它包的文件也强迫安装
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
二、打包、查看、解包、压缩文件和目录命令:tar
1、对文件和目录的打包和压缩
2、查看归档和压缩文件
3、恢复归档文件和压缩文件
三、压缩命令: gzip (gzip的压缩率高于bzip2)
功能:用于压缩文件,不能压目录,先把目录打包,再压缩。
选项:
-c 压缩结果写入标准输出,原文件保持不变。
缺省时gzip将原文件压缩为.gz文件,并删除原文件。
-v 输出处理信息。
-d 解压缩指定文件。
压缩文件保留原文件
四、压缩命令bzip2
用法和gzip一样,只是文件以bz2结尾。
压缩文件保留原文件。