linux rpm命令

rpm 包的安装,删除,效验,查询 安装软件包 rpm -i 包全名 删除 rpm -e name(不是包名) 参数

-ivh 获得一个详细的安装进程 --nodeps 忽略依赖关系 --force 强制安装 -U 包名:升级安装 -F 更新不管是什么直接覆盖 --replacepkgs这样 RPM 将忽略该错误信息 -vih --replacepkgs -q name :查询 -qa查询所有已安装的RPM -qi name 查询这个软件详细信息 -ql 显示列表 -qf path :查询一个文件属于哪个包 -qp 包名 :查文件是什么 -qpl 包名 :针对一个没装过的包

rpm -qc 配置文件 效验 rpm -Va rpm -Vf /bin/ls rpm -Vp 包名

5 -- MD5 校验和 S -- 文件长度 L -- 符号链接 T -- 文件修改日期 D -- 设备 U -- 用户 G -- 用户组 M -- 模式 (包含许可和文件类型) ? -- 不可读文件

详细课程 使用 RPM RPM 有五个基本的操作 模式(不包括包的编译): 安装,卸载,升级,查询,校验。本节将对它们一一介绍。要了解完整的细节和选项,可以使用 rpm --help, 或转到 the section called 其它 RPM 资源 得到更多关于 RPM 的信息。 1 安装 典型的 RPM 有着类似 foo-1.0-1.i386.rpm这样的名称, 其中指明了包名 (foo), 版本号 (1.0), 发行号 (1), 和硬件平台 (i386)。安装一个软件包只需简单的键入以下命令:

# rpm -ivh foo-1.0-1.i386.rpm foo #################################### # 正如您所看到的, RPM 将会打印出软件包的名字 ( 并不一定要与文件名相同, 可能是 1.rpm), 而后打印出一连串的 # 号以表示安装进度。 请注意 尽管通常是使用 rpm -ivh foo-1.0-1.i386.rpm 来安装包, 但也可以用 rpm -Uvh foo-1.0-1.i386.rpm 来替代。 -U 是包升级参数, 也可以用来安装新包。参看 升级 有关RPM 中 -U 参数的详细使用情况。 软件包的安装设计非常简单, 但还是有可能发生以下错误: 软件包已被安装 如果软件包已被安装, 会出现以下信息: # rpm -ivh foo-1.0-1.i386.rpm foo package foo-1.0-1 is already installed error: foo-1.0-1.i386.rpm cannot be installed # 如果仍要安装该包, 可以在命令行中使用 --replacepkgs 选项, 这样 RPM 将忽略该错误信息: # rpm -ivh --replacepkgs foo-1.0-1.i386.rpm foo #################################### # 文件冲突 如果要安装的软件包中有一个文件已在安装其它包时被安装,会显示以下信息: # rpm -ivh foo-1.0-1.i386.rpm foo /usr/bin/foo conflicts with file from bar-1.0-1 error: foo-1.0-1.i386.rpm cannot be installed # 要想让RPM 忽略该错误信息, 请使用 --replacefiles 命令行选项: # rpm -ivh --replacefiles foo-1.0-1.i386.rpm foo #################################### # 未解决依赖关系 一个 RPM 包可能会 "依赖" 其它软件包, 也就是说要求在安装了特定的软件包之后才能安装该软件包。 如果在安装这个软件包时未解决这种存在的依赖关系, 会看到: # rpm -ivh bar-1.0-1.i386.rpm failed dependencies: foo is needed by bar-1.0-1 # 只有先安装完所依赖的软件包,才能解决这个问题。 如果想强制安装 (这不是个好办法,因为安装后的软件包未必能正常运行), 可以使用 --nodeps 命令行选项。 3.2.2 卸载 卸载软件包就象安装软件包时一样简单: # rpm -e foo # 请注意 注意这里使用软件包的 名字 "foo" , 而不是原始软件包的 文件名 "foo-1.0-1.i386.rpm"。卸载软件包时, 需要用原始包的实际文件名替换 foo 包名。 在卸载某个软件包时,可能会发生依赖关系错误,这说明其它包与此包之间有安装依赖关系。例如: # rpm -e foo removing these packages would break dependencies: foo is needed by bar-1.0-1 # 要使 RPM 在卸载此包时忽略该错误 (这不是个好办法,因为卸载后,与它有依赖关系的软件包未必能正常运行), 使用 --nodeps 命令行选项。 3.2.3 升级 升级软件包和安装软件包十分类似。 # rpm -Uvh foo-2.0-1.i386.rpm foo #################################### # RPM 将自动卸载已安装的老版本的 foo 软件包,用户无法看到有关信息。事实上用户可能总是使用 -U 来安装软件包, 因为即便以往未安装过该软件包,也能正常运行。 因为 RPM 执行智能化的软件包升级,自动处理配置文件,会显示如下信息: saving /etc/foo.conf as /etc/foo.conf.rpmsave 这表示用户对配置文件的修改,不一定能 "向上兼容" 该软件包中的配置文件。 因此,RPM 会备份原始的文件,再安装新文件。用户应当尽快解决这两个配置文件的不同之处,以便系统能持续正常运行。 因为升级其实就是软件包的卸载与安装的综合,也可能会遇见那些操作中所可能发生的错误。 再有就是: 在使用 旧 版本的 RPM 软件包来升级新版本的软件时,会产生以下信息: # rpm -Uvh foo-1.0-1.i386.rpm foo package foo-2.0-1 (which is newer) is already installed error: foo-1.0-1.i386.rpm cannot be installed # 要使用 RPM 强行 "升级" , 请使用 --oldpackage 命令行参数: # rpm -Uvh --oldpackage foo-1.0-1.i386.rpm foo #################################### # 3.2.4 更新 包的更新与包升级相似: # rpm -Fvh foo-1.2-1.i386.rpm foo #################################### # RPM 更新选项,是检查命令行中指明的包版本与安装在系统中的包版本是否一致。 当 RPM 更新选项处理完已安装包的新版本时,该包会升级到新版本。 但是,RPM 更新选项无法安装系统目前没有的软件包。 这与 RPM 升级不同,升级选项能够 安装软件包,无论旧版本的包是否已安装。

RPM更新选项可以很好的更新一个软件包或一组软件包。 如果用户下载了大量的软件包,但只想升级系统中已有的包时,RPM 更新选项会非常有用。 使用 RPM 更新选项意味着你无需从下载的包中挑挑拣拣,也不用事先删除不要的包。

这种情况下, 只需简单的键入: # rpm -Fvh *.rpm

RPM 工具会自动升级那些已经安装好的包。 3.2.5 查询 使用命令 rpm -q来查询已安装软件包的数据库。简单的使用命令 rpm -q foo 会打印出foo软件包的包名、版本号和发行号:

# rpm -q foo foo-2.0-1 #

除了指定包名以外,用户还可以使用以下选项与 -q 连用,来指明要查询哪些软件包的信息。这些选项被称之为 软件包指定选项 。 -a 查询所有已安装的软件包。 -f 将查询包含有文件 的软件包。 -p 查询软件包文件名为 的包。 有几种方式来指定查询软件包时所显示的信息。 以下选项可以出选择感兴趣的信息,加以显示。这样的选项被称作 信息选择选项 。 -i 显示软件包信息,如描述、发行号、大小、编译日期、安装日期、硬件平台、以及其它一些各类信息。 -l 列出软件包中包含的文件。 -s 显示软件包中所有文件的状态。 -d 列出被标注为文档的文件 (如,man 手册、 info 信息、README,等等) 。 -c 列出被标注为配置文件的文件。这些文件是需要在安装完毕后加以定制的,如 (sendmail.cf, passwd, inittab, 等) 。 如果要在执行上述选项的同时,显示文件列表, 可以同时使用 -v 命令行选项,就能

合集下载

rpm命令解释

rpm命令解释

Rpm可进行软件的升级、卸载、查询
二进制包:绿色版解压就可以使用
Rpm包:是预先编译好的,安装比较简单
使用rpm安装、管理软件存在依赖关系
使用yum安装管理软件不会存在依赖关系
获取rpm包的方式
本地iso镜像
自行联网下载rpm包
RPM命令的基础参数解释
-i :对rpm包进行安装
-v:显示安装过程
-h:显示安装的进度
-a:查询所有已经安装过的软件包
-l:查询指定软件包所安装的目录、文件列表
-e:卸载指定软件
组合使用
-qa:查询系统中所所有安装的软件包
-qa | grep :配合管道符使用可以根据需要是查询软件包-qi :查询软件包的详细信息。

Red_Hat_Linux常用命令大全

Red_Hat_Linux常用命令大全

Red Hat Linux常用命令汇总Linux 常用命令汇总ls命令:1. ls //列出当前目录的文件和文件夹2. ls –a //列出当前目录的文件和文件夹,包含隐藏文件3. ls –l //列出详细信息4. ls 目录//列出某目录下的文件pwd命令//查看当前所在位置du 命令1.du 目录//查看目录的总容量以及子目录的容量2.du –s 目录//查看目录总容量cd 命令1.cd .. //回上一级目录2.cd / //回根目录3. cd //回用户主目录4.cd 目录路径 //去某目录mkdir 目录名//创建目录rmdir 空目录名 //删除空目录rm 文件名 //删除文件rm –rf 目录名//删除目录以及目录下所有文件mount 命令1.mount /dev/cdrom /mnt/cdrom //挂载光驱到 /mnt/cdrom目录下2.mount -t vfat /dev/sda1 /mnt/u //挂载U盘到 /mnt/u目录下3. umount /mnt/cdrom //卸载光驱fdisk –l //查看本机存储设备file 文件名 //查看文件类型find 目录名–name “*.c”//在某目录下查找文件为*.c的文件whereis 文件名//查找文件在哪些目录下cat 文件名//显示文件内容cat 文件名 | grep 文字//只显示包含文字相关的内容cat 文件名 | more //分页显示文件内容tail 文件名//查看文件末尾head 文件名//从头查看文件cp 命令:cp 文件1 文件2 //复制文件1 到文件2cp 文件1 目录1 //复制文件1到目录1下cp 目录1/文件1 目录2 //复制目录1下的文件1到目录2下cp –r 目录1 目录2 //复制目录1下所有内容到目录2mv 命令:mv 文件1 文件2 //重命名文件1为文件2mv 文件1 目录1 //移动文件1到目录1下mv 目录1/文件1 目录2 //移动目录1下的文件1到目录2下mv –r 目录1 目录2 //移动目录1下所有内容到目录2chmod 命令:chmod u+x g+r o-w 文件名//为文件设置权限(用户,组,其他人)chmod 744 文件名//为文件设置权限(1-执行,2-写,4-读)chown 命令:chown 用户文件名 //把文件改为用户所有chown –R 用户目录名//把目录下的所有文件都改为用户所有chgrp 命令:chgrp 组名文件名//把文件改为组所有chgrp –R 组名目录名 //把目录下的所有文件都改为组所有ln 命令:ln 文件名链接名//为文件创建硬链接ln -s 文件名链接名//为文件创建软链接useradd 命令:useradd 用户名 //创建一个帐号useradd -d 目录用户名//创建一个帐号并指定主目录useradd -r 用户名 //创建一个系统帐号useradd -g 组名用户名//创建一个用户属于某组passwd 命令:passwd 用户名//为用户设置口令passwd –S 用户名//查看帐号状态passwd -l 用户名//锁帐号口令passwd -u 用户名//解锁口令passwd -d 用户名 //删除口令userdel 命令userdel 用户名//删除帐号userdel -r 用户名//删除帐号及其主目录usermod 命令:usermod -l 新用户名旧用户名//将用户改名usermod -L 用户名 //锁定帐号usermod -U 用户名//解锁帐号usermod -g 组名用户名//将用户加入到某组groupadd 组名//新建组groupdel 组名//删除组groupmod命令groupmod -g 组ID 组名//修改组的ID号groupmod –n 新组名旧组名 //修改组名gpasswd 命令gpasswd -a 用户名组名//把用户加入组gpasswd -d 用户名组名//把用户从组里删除gpasswd -A 用户名组名//把用户设置为组的管理员groups 用户名//查看用户属于哪些组id 用户名 //查看用户UID 信息vi 文件名 //编辑文件内容输出重定向:cat a.txt > b.txt //查看A文件内容,把结果输出到B文件>> //表示追加写入重定向2> //错误输出重定向管道:命令1 | 命令2 例:cat a.txt | grep abc | more脚本编辑步骤:1.使用vi命令编辑a.sh2.通过bash a.sh 或. a.sh 测试脚本3.修改a.sh 属性为可执行4../a.sh 执行脚本rpm 命令:rpm –ivh 安装包名//安装软件rpm -e 软件名 //卸载软件rpm -U 安装包名//升级软件rpm -qa | more //查询所有已安装的软件rpm –q 软件名 //查询软件是否安装rpm -qi 软件名 //查询软件详细信息rpm -ql 软件名 //查询软件安装文件列表rpm -qf 命令名(命令的绝对路径)//查询某个命令属于哪个软件rpm -qpi 安装包全名//在安装前了解安装包信息rpm -qpl 安装包全名//在安装前了解安装包所含文件列表源代码编译安装过程:系统必须有C++的开发环境。

rpm命令技巧大全

rpm命令技巧大全

RedHat中显示出现很多????????可能是环境做了什么改变,能不能复原?连部分英文都是???是的,环境变量的LANG改成E文件就应该可以了我改了还是不行呀export LANG=en_USexport LC_ALL=en_US我还用locale_config重新配置了也不行我用passwd -d aaa时报错我用passwd -d aaa时报错?/tmp#>cat addyh.shmkdir /usr/aaauseradd -d /usr/aaa -g group -s /bin/sh aaapasswd -d aaaecho "date" >>/usr/aaa/.profileecho "exit" >>/usr/aaa/.profile/tmp#>/tmp#>./addyh.shDeleting password for user: aaaPassword change is forced for aaa.Password request denied.Reason: Account is required to have a password.请问是什么原因?俺在sco 下试了.passwd -d 没有问题啊只出现:Deleting password for user: aaaPassword change is forced for aaa.不知:Password request denied.Reason: Account is required to have a password.提示是何时出现的./tmp#>./addyh.shDeleting password for user: aaaPassword change is forced for aaa.Password request denied.Reason: Account is required to have a password.以上所有内容均是我复制过来的,所以是紧接着出现的。

linux服务器通过rpm包安装nginx案例

linux服务器通过rpm包安装nginx案例

linux服务器通过rpm包安装nginx案例普通⽤户执⾏安装命令:sudo rpm -ivh nginx-1.19.5-1.el7.ngx.x86_64.rpm安装过程很简单,如下:显⽰信息 nginx-1:1.19.5-1.el7.ngx⼀般提⽰ Thanks for using nginx! 为安装成功。

默认安装⽬录:/etc/nginx/进⼊nginx安装⽬录执⾏:cd /etc/nginx/检查nginx配置⽂件:sudo nginx -t,注意每次修改了配置⽂件最好都需要检查⼀下。

启动nginx服务:sudo nginx -s reload或者执⾏配置⽂件: sudo nginx -c /usr/local/nginx/conf/nginx.conf报错:[myuser@localhost nginx]$ sudo nginx -s reloadnginx: [error] invalid PID number "" in "/var/run/nginx.pid"修改nginx.pid位置:sudo mkdir /usr/local/nginx/sudo vi nginx.conf报错:[myuser@localhost nginx]$ sudo nginx -s reloadnginx: [error] open() "/usr/local/nginx/nginx.pid" failed (2: No such file or directory)【解决办法】:1,确认nginx.pid所在的⽬录是否存在,权限正确;2,然后删除旧的nginx进程,指定配置⽂件,重启启动即可。

sudo nginx -c nginx.confsudo nginx -s reload启动成功:如上启动成功,启动了两个进程,⼀个是master进程,⼀个是work进程。

linux系统下rpm包的安装、删除等

linux系统下rpm包的安装、删除等
foo is needed by bar-1.0-1 #
要使 RPM 在卸载此包时忽略该错误 (这不是个好办法,因为卸载后,与它有依赖关系的软件包未必
能正常运行), 使用 --nodeps 命令行选项。
3.2.3 升级
升级软件包和安装软件包十分类似。
# rpm -Uvh foo-2.0-1.i386.rpm
使用 RPM
RPM 有五个基本的操作 模式(不包括包的编译): 安装,卸载,升级,查询,校验。本节将对它们一
一介绍。要了解完整的细节和选项,可以使用 rpm --help, 或转到 the section called 其它 RPM
资源 得到更多关于 RPM 的信息。
1 安装
典型的 RPM 有着类似 foo-1.0-1.i386.rpm 这样的名称, 其中指明了包名 (foo), 版本号 (1.0),
foo
####################################
#
RPM 将自动卸载已安装的老版本的 foo 软件包,用户无法看到有关信息。事实上用户可能总是使用 -U 来安装软件包, 因为即便以往未安装过该软件包,也能正常运行。 因为 RPM 执行智能化的软件包升级,自动处理配置文件,会显示如下信息: saving /etc/foo.conf as /etc/foo.conf.rpmsave
发行号 (1), 和硬件平台 (i386)。安装一个软件包只需简单的键入以下命令:
# rpm -ivh foo-1.0-1.i386.rpm
foo
####################################
#
正如您所看到的, RPM 将会打印出软件包的名字 ( 并不一定要与文件名相同, 可能是 1.rpm), 而后 打印出一连串的 # 号以表示安装进度。

5、RPM包及打包和压缩命令

5、RPM包及打包和压缩命令

第五讲 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包的安装依赖其它包,即使其它包没装,也强迫安装。

二、打包、查看、解包、压缩文件和目录命令:tar1、对文件和目录的打包和压缩2、查看归档和压缩文件3、恢复归档文件和压缩文件三、压缩命令: gzip (gzip的压缩率高于bzip2)功能:用于压缩文件,不能压目录,先把目录打包,再压缩。

Linux下彻底删除安装的rpm包

Linux下彻底删除安装的rpm包
如何彻底Linux系统下安装的rpm包?现以mySQL为例进⾏介绍:
⼀、使⽤以下命令查看mysql安装情况
rpm -qa | grep -i mysql
可以看到以下结果:
根据结果可以看出以前安装了:
MySQL-server-5.6.25-1.e16.x86_64
mySQL-client-5.6.25-1.e16.x86_64
⼆、停⽌运⾏MySQL,删除运⾏的mysql
停⽌运⾏mysql命令:service mysql stop
删除命令:rpm -e ⽂件名
如果提⽰依赖包错误,可以尝试以下命令删除:
rpm -e ⽂件名 --nodeps
如果提⽰错误:error: %preun(xxxxxx) scriptlet failed, exit status 1
则⽤以下命令尝试:
rpm -e --noscripts ⽂件名
三、查找之前⽼版本mysql,并且删除⽼版本mysql的⽂件和库
命令:free / -name mysql
查看结果如下:
删除查找到的结果:
注意:卸载mysql后,配置⽂件不会删除,所以在这⾥还要删除配置⽂件:
命令:rm -rf /etc/f
四、查看查处后结果
输⼊命令:rpm -qa | grep -i mysql
没有查找到⽂件说明删除成功。

linux程序包管理之rpm

linux程序的源码编译安装方式毕竟比较繁琐,安装后也不易管理,为此linux 官方提供了专门的程序包管理器来解决这些问题一、程序包管理器程序包管理器:将源程序编译并打包成一个或有限的几个文件,可用于实现安装、查询、升级、卸载等功能程序包管理器的管理实现:①数据库,用于记录:程序名及版本程序之间的依赖关系功能性说明安装生成的各文件路径及校验码②程序的组成清单:文件清单安装卸载时运行的脚本常用程序包管理器:Redhat:rpm(redhat package manager),其对应的程序包后缀为.rpm,对应的前端工具为yumDebian:dpkg,其对应的程序包后缀为.deb,对应的前端工具为apt-getrpm包的制作需要rpmbuild工具,其制作过程这里不作说明,以下详解一下rpm包的管理二、rpm程序包2.1、rpm包命名格式:name-version-release.arch.rpm,如httpd-2.2.15-45.el6.centos.x86_64.rpmversion:major.minor.release,同源码release:rpm自身发行号,与源码的发行号无关,仅用于标识对rpm包不同制作的修订,同时release还包含此包适用的OSarch:适用的硬件平台x86: i386, i486, i586, i686等x86_64: x86_64powerpc: ppcnoarch: 依赖于虚拟机2.2、rpm分包机制一个程序体积可能很大,为了方便管理,rpm包管理器依据功能性差异,将一个程序打包成若干个包主包(核心包):其name与源程序一致,如httpd-2.2.15-45.el6.centos.x86_64.rpm子包:httpd-devel-2.2.15-45.el6.centos.x86_64.rpmhttpd-tools-2.2.15-45.el6.centos.x86_64.rpm区别:程序x依赖于y和z,若x是基于rpm包安装,则x依赖的是y和z的核心包;若x基于源码编译安装,则x依赖的是y和z的开发包2.3、获取rpm包的途径①官方发行的光盘、官方站点、镜像站点②项目的官网:源代码、rpm包③第三方机构或个人制作并公开发布许多rpm包④额外程序包的可靠途径:EPEL,为Federa所维护2.4、rpm包的合法性验证rpm包的合法性包括来源合法性和包的完整性两个方面包的制作者使用单向加密算法提取出原始数据的特征码,并使用自己的私钥加密这段特征码,附加在原始数据之后验证过程:前提:必须有可靠机制获取到包制作者的公钥①使用包制作者的公钥解密那段加密的特征码,能解密则说明来源合法②使用与制作者同样的单向加密算法提取数据的特征码,并与解密得到的特征码比对,相同则说明包完整性没问题2.5、rpm 包管理器的使用㈠验证程序包的合法性我们在安装rpm 程序包之前,一般要检验其合法性,尤其是从非官方或非权威站点获得的包。

rpm包用法

rpm包用法什么是rpm包?RPM(Red Hat Package Manager)是一种用于在Linux操作系统上管理软件包的工具。

它是一种二进制软件包格式,用于安装、升级、配置和删除软件。

RPM包通常以.rpm为后缀,可以在大多数基于RPM的Linux发行版上使用。

RPM包的结构一个RPM包由以下几个部分组成:1.头部(Header):包含有关软件包的元数据,如软件名称、版本、作者、依赖关系等信息。

2.负载(Payload):包含实际的软件文件和目录结构。

3.补丁(Patches):用于修复软件中的错误或漏洞的补丁文件。

4.脚本(Scripts):用于在软件包的安装、升级和卸载过程中执行特定操作的脚本文件。

RPM包的安装要安装一个RPM包,可以使用以下命令:rpm -i package.rpm其中,package.rpm是要安装的RPM包的文件名。

该命令将会将RPM包解压并将文件复制到正确的位置。

RPM包的升级如果已经安装了一个旧版本的RPM包,并且想要升级到新版本,可以使用以下命令:rpm -U package.rpm该命令将会卸载旧版本的软件包,并安装新版本的软件包。

RPM包的查询要查询系统中已安装的RPM包,可以使用以下命令:rpm -qa该命令将会列出所有已安装的RPM包的名称和版本。

要查询特定RPM包的详细信息,可以使用以下命令:rpm -qi package其中,package是要查询的RPM包的名称。

RPM包的卸载要卸载一个已安装的RPM包,可以使用以下命令:rpm -e package其中,package是要卸载的RPM包的名称。

RPM包的依赖关系RPM包可以指定其他软件包作为依赖关系。

这意味着在安装或升级该软件包时,系统将自动安装或升级所需的依赖软件包。

要查看一个RPM包的依赖关系,可以使用以下命令:rpm -qR package其中,package是要查询的RPM包的名称。

Linux-rpm包制作(rpmbuild)

一、安装rpmbuild// for fedora&Centos&Redhat linuxyum install rpmbuild -y// for ubuntuapt-get install rpmbuild二、rpm specification filespec文件规范能熟练掌握以上命令以及部分参数含义,管理日常的rpm软件包就不成问题了。

然而随着Linux风靡全球,越来越多的开发者喜欢采用RPM格式来发布自己的软件包。

那么RPM软件包是怎样制作的呢?对大多数Linux开发工程师来说是比较陌生的。

其实,制作RPM软件包并不是一件复杂的工作,其中的关键在于编写SPEC软件包描述文件。

要想制作一个rpm软件包就必须写一个软件包描述文件(SPEC)。

这个文件中包含了软件包的诸多信息,如软件包的名字、版本、类别、说明摘要、创建时要执行什么指令、安装时要执行什么操作、以及软件包所要包含的文件列表等等。

描述文件说明如下:(1)文件头一般的spec文件头包含以下几个域:Summary:用一句话概括该软件包尽量多的信息。

Name:软件包的名字,最终RPM软件包是用该名字与版本号,释出号及体系号来命名软件包的。

Version:软件版本号。

仅当软件包比以前有较大改变时才增加版本号。

Release:软件包释出号。

一般我们对该软件包做了一些小的补丁的时候就应该把释出号加1。

Vendor:软件开发者的名字。

Copyright:软件包所采用的版权规则。

具体有:GPL(自由软件),BSD,MIT,Public Domain (公共域),Distributable(贡献),commercial(商业),Share(共享)等,一般的开发都写GPL。

Group:软件包所属类别,具体类别有:Amusements/Games (娱乐/游戏)Amusements/Graphics(娱乐/图形)Applications/Archiving (应用/文档)Applications/Communications(应用/通讯)Applications/Databases (应用/数据库)Applications/Editors (应用/编辑器)Applications/Emulators (应用/仿真器)Applications/Engineering (应用/工程)Applications/File (应用/文件)Applications/Internet (应用/因特网)Applications/Multimedia(应用/多媒体)Applications/Productivity(应用/产品)Applications/Publishing(应用/印刷)Applications/System(应用/系统)Applications/Text (应用/文本)Development/Debuggers (开发/调试器)Development/Languages (开发/语言)Development/Libraries (开发/函数库)Development/System (开发/系统)Development/Tools (开发/工具)Documentation (文档)System Environment/Base(系统环境/基础)System Environment/Daemons (系统环境/守护)System Environment/Kernel (系统环境/内核)System Environment/Libraries (系统环境/函数库)System Environment/Shells (系统环境/接口)User Interface/Desktops(用户界面/桌面)User Interface/X (用户界面/X窗口)User Interface/X Hardware Support (用户界面/X硬件支持)Source:源程序软件包的名字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档