linux的rpm问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的rpm问题相关的知识,希望对你有一定的参考价值。

刚刚学了rpm,但不知道为什么我的fc12里的/usr/src/目录下没有那些什么SPEC等等的rpm要用的目录不知道为什么。求教··

你要安装开发工具包。
下面是我自己写的用rpmbuild 创建rpm包的过程,如果没有相关命令的话,就根据提示安装一下相应的包就可以了。
步骤:
1.使用 rpmdev-setuptree 命令在自己用户的根目录下创建rpmbuild 的 目录
2.将打好的包拷贝到~/rpmbuild/SOURCE/目录下
(至于tar.gz 的打包,可以使用命令 tar zcvf *.tar.gz *;
tar.bz2的打包,可用tar jcvf *.tar.bz2 *
.gz的打包,用gzip -9 *,这里的-9是最大压缩比例)
3.在~/rpmbuild/SPECS/目录下编写spec 文件
下面是一个简单的例子:

cugpig.spec:

Name: cugpig
Version: 1.0
Release: 1
Summary: A KDE theme
Source0: cugpig.tar.gz
Group: System Environment/Base
License: GPL

%description
nothing

%prep
%setup -c
%install
install -m 755 cugpig/* /home/cugpig/Download/

%files
/home/cugpig/Download/*

%defattr(-,root,root)

本例子只是把cugpig.tar.gz包里的文件拷贝到/home/cugpig/Download/目录下。

4.在~/rpmbuild/SPECS/目录下使用命令 rpmbuild -bb *.spec
参数为自定义,常用的有-ba 和 -bb 。
5.如果使用的是-ba 参数的话,生成的RPM包会在~/rpmbuild/SRPMS/目录下找到
若用的是-bb参数,生成的包就在~/rpmbuild/RPMS/ 目录下,在spec文件中指定是i386或者是noach,又或者是其他架构的包,他们也会在不同的文件夹中。
参考技术A 我使用RPM很简单,一般都是用来安装软件包,
1、下载软件包,比如说xxx.rpm
2、安装软件包,rpm -ivh xxx.rpm
3、搜索已安装的软件包,rpm -qa | grep xxx
4、列出某个软件包的所有文件,rpm -ql xxx

如果你也是跟我一样简单使用,那就忘了SPEC吧。

如果你是下载的源代码的rpm包,而且希望从SPEC生成,那就
1、下载源代码包,比如说xxx.src.rpm
2、安装源代码包,rpm -ivh xxx.rpm
3、生成二进制包,rpmbuild -bb /usr/src/redhat/SPECS/xxx.spec
4、安装二进制包,rpm -ivh /usr/src/redhat/RPMS/xxx.rpm

或者直接从源代码包生成二进制包:
1、rpmbuild --rebuild xxx.src.rpm
2、cd /usr/src/redhat/RPMS/i386
3、rpm -ivh xxx.rpm
参考技术B rpm是一个软件包的安装命令来的吧,是不是搞错什么了

Linux 中rpm,bz2安装中出现的问题。

请求帮助回答一下问题,先多谢了。
1、rpm文件我用 rpm -ivh *.rpm 安了,但找不到文件在那。如我下载了下个openoffice.org ,等一些RPM文件 ,在应用程序窗口怎样找不到?
2、bz2 文件我不懂安装。
#make
make: *** 没有指明目标并且找不到 makefile。 停止。
#make intall
make: *** 没有规则可以创建目标“intall”。 停止。
是什么原因?我是用 RedHat Enterprise Linux 5
3、在BZ2文件中#./configure #make #make install 这三个命令我都用过一下,。/configure 能通过没有大的出错,其它都是不能用通过的。

参考技术A rpm是有默认路径的,可惜我也不知道那个东东装在哪里了,不同的软件是不一样的,不过realplayer11是默认装在了/opt下面。
至于bz2,那个是压缩包,是不能安装的,要先解压。一般是*.tar.bz2的格式,后缀其实是两个,有tar的话,tar -xjvf 包名,包名没有tar的话,使用bunzip2 包名,或bzip2 -d 包名,进行解压。里面应该有一个configure文件,执行它,然后会生成makefile,这时,才可以使用make命令进行安装。
出错的话只能根据出错信息来看了,没有信息我也不太清楚。
参考技术B 1,rpm 包安装的文件是分散到服务器的各个目录中去了,就好比windows中安装一个软件,再progrem file里有,在桌面上有,在注册表里也有一样。

如果想查找rpm包中的文件位置

需要命令 rpm -ql 包的名字

2,bz2 装的文件,我估计你用的源代码编译

这个问题就复杂了,在什么地方出错的,把出错信息拿出来才能逐步解决。

re1: configure的目的是为了生成makefile文件,make的作用是根据这个文件提供的系统参数编译包中的其它文件。make install 是把编译好的文件组成成形做成能用的二进制文件。

我觉得楼主最好注意err开头的报错文件,然后通过google和baidu搜索一下。

还有就是不是所有文件都是configure&&make&&make install
这么来编译的,个人在编译这方面还没有什么研究,不过最好的办法是详细阅读readme install或者网站上的详细说明文档,那个才是你最需要的。

以上是关于linux的rpm问题的主要内容,如果未能解决你的问题,请参考以下文章

linux中RPM命令删除软件问题

linux下安装rpm文件,遇到包依赖不满足的问题

Linux 中rpm,bz2安装中出现的问题。

Linux里面rpm安装能解决所有依赖吗?

linux 打 rpm 包

我在linux中安装rpm包时候遇到麻烦,很有趣,类似我们学数据库oracle中的“死锁”问题,