Linux垄断系统下RPM软件包的哄骗技巧

 根源:网海拾贝




1.如何布置rpm软件包

rmp软件包的布置可以哄骗按次rpm来完成。实行下面的命令rpm -i package_name.rpm (package_name.rpm是你要布置的rpm包的文件名,普通置于以后目次下)布置进程中可以或许泛起下面的提示:... conflict with ... 可以或许是要布置的包里有一些文件可以或许会笼盖现有的文件,缺省时何等的景遇下是无法正确布置的可以用 rpm --force -i 逼迫布置即可.... is needed by ... ... is not installed ... 此包需要的一些软件你没有布置可以用rpm --nodeps -i 来纰漏此信息也即是说,rpm -i --force --nodeps 可以纰漏悉数依靠关系和文件标题成绩,什么包 都能布置上,但这种逼迫布置的软件包不克不及包管完全发扬功用

2.如何布置.src.rpm软件包

有些软件包是以.src.rpm末真个,这类软件包是包括了源代码的rpm包,在布置时需要禁止编译。这类软件包有两种布置步伐:

步伐一:

1).实行rpm -i your-package.src.rpm

2). cd /usr/src/redhat/SPECS

3). rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件

4). cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目次

5). ./configure 这一步和编译普通的源码软件一样,可以加上参数

6). make

7). make install

步伐二:

1).实行rpm -i you-package.src.rpm

2). cd /usr/src/redhat/SPECS

前两步和步伐一相反

3). rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件这时,在/usr/src/redhat/RPM/i386/ (凭证细致包的不同,也可以或许是i686,noarch等等)在这个目次下,有一个新的rpm包,这个是编译好的二进制文件。实行rpm -i new-package.rpm即可布置完成。

3.如何卸载rpm软件包

哄骗命令 rpm -e 包名,包名可以包括版本号等信息,但是不可以有后缀.rpm

比如卸载软件包proftpd-1.2.8-1,可以哄骗下列格式:

rpm -e proftpd-1.2.8-1

而不是:pm -e proftpd-1.2.8-1.i386.rpm

若是不克不及确定已经布置的包名是什么,只是记得一部分名子(如:ftp),可以用:rpm -qa | grep ftp来盘诘正确名字

偶尔会泛起一些错误或许告诫:

... is needed by ... 这分析');这个软件被其他软件需要,不克不及随意卸载 可以用rpm -e --nodeps逼迫卸载

4.如何不布置但是获取rpm包中的文件

哄骗东西rpm2cpio和cpio

rpm2cpio xxx.rpm | cpio -vi

rpm2cpio xxx.rpm | cpio -idmv

rpm2cpio xxx.rpm | cpio --extract --make-directories

参数i和extract相反,默示提取文件。v默示指示实行进程,d和make-directory相反,默示凭证包中文件原本的路子树立目次,m默示对峙文件的更新时刻。

5.如何检查与rpm包相关的文件和其他信息

下面悉数的例子都假定哄骗软件包mysql-3.23.54a-11

a.我的系统中布置了那些rpm软件包

rpm -qa 讲列出悉数布置过的包

若是要查找悉数布置过的包括某个字符串sql的软件包

rpm -qa |grep sql

b.如何失掉某个软件包的文件全名

rpm -q mysql 可以失掉系统中布置的mysql软件包全名,从中可以失掉

以后软件包的版本等信息。这个例子中可以失掉信息mysql-3.23.54a-11

c.一个rpm包中的文件布置到那边去了?

rpm -ql 包名详尽这里的是不包括.rpm后缀的软件包的称号也即是说只能用mysql或许mysql-3.23.54a-11而不是mysql-3.23.54a -11.rpm。若是只是想晓得可实行按次放到那边去了,也可以用which,比如which mysql,或whereis 比如:whereis mysql.

d.一个rpm包中包括那些文件

一个没有布置过的软件包,哄骗rpm -qlp 平易近主.rpm:一个已经布置过的软件包,还可以哄骗rpm -ql 平易近主.rpm

e.如何获取关于一个软件包的版本,用处等相关信息?

一个没有布置过的软件包,哄骗rpm -qip 平易近主.rpm;一个已经布置过的软件包,还可以哄骗rpm -qi 平易近主.rpm

f.某个按次是哪个软件包布置的,或许哪个软件包包括这个按次

rpm -qf `which 按次名` 前往软件包的全名;rpm -qif `which 按次名` 前往软件包的有关信息;rpm -qlf `which 按次名` 前往软件包的文件列表.详尽,这里不是引号,而是`,即是键盘左上角的那个键。也可以哄骗rpm -qilf,同时输出软件包信息和文件列表

g.某个文件是哪个软件包布置的,或许哪个软件包包括这个文件

详尽,前一个标题成绩中的步伐,只合用与可实行的按次,而下面的步伐,不但可以用于可实行按次,也可以用于普通的任何文件。前提是晓得这个文件名。起首失掉这个按次的残破路子,可以用whereis或许which,然后哄骗rpm -qf譬喻:# whereis ftptop (结局为ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz)

# rpm -qf /usr/bin/ftptop

proftpd-1.2.8-1

# rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt

proftpd-1.2.8-1




版权声明: 原创作品,应允转载,转载时请务必以超链接体式格式标明文章 原始来由 、作者信息和本声明。不然将追查法则责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1976227.html