安装rpm遇到cpio: Digest mismatch

[root@somesystem jvm]# fpm -s dir -t rpm -n "custom-java" -v "1.0.3" -a noarch --prefix=/usr/lib/jvm jdk1.6.0_31 jdk1.7.0_11
Created rpm {:path=>"custom-java-1.0.3-1.noarch.rpm"}
[root@somesystem jvm]# rpm -Fvh custom-java-1.0.3-1.noarch.rpm
Preparing...                ########################################### [100%]
   1:java-rally             ########################################### [100%]
error: unpacking of archive failed on file /usr/lib/jvm/jdk1.6.0_31/bin/appletviewer;50fdc4dd: cpio: Digest mismatch
今天作了一个rpm包,安装的时候报上面的错误。查了一下,把 prelink包卸载掉,再作一遍rpm包,安装,就没问题了。

rpmbuild 解决Installed (but unpackaged) file(s) found的方法 java

遇到了这个问题,搜了下,整合下你们的建议。我用了方法1,再也不报错. typescript

一、找到 /usr/lib/rpm/macros 中 shell

%__check_files app

/usr/lib/rpm/check-files %{buildroot}   注释掉 jvm


二、在/usr/lib/rpm/macros文件中有一个定义:
%_unpackaged_files_terminate_build 1,把1改成0只警告 ui


三、在spec文件中,找到%files(之下有不少%{_bindir}、%{_libdir}、%{_datadir}的),在其下依葫芦画瓢的添加上面提示的内容。
/usr/bin/xxx => %{_bindir}/xxx
/usr/lib/xxx => %{_libdir}/xxx
/usr/include/xxx => %{_includedir}/xxx
/usr/share/xxx => %{_datadir}
/xxx/usr/man/xxx => %{_mandir}/xxx spa

记录终端输出: code

script这个命令很强大,能够记录终端的全部输出到相应的文件中
  例子:
1.$ script
  Script. started, file is typescript
2.$ ls
  …… 内容省略
  3.$ exit
  exit
  Script. done, file is typescript
4. $cat typescript   #就会把上面绿色的部分再显示一次: ip

  说明:
  1,咱们在启动script时没有指定文件名,它会自动记录到当前目录下一个名为 typescript的文件中。也能够用 -a参数 指定文件名
  例子:
$script. -a example.txt  #终端的输出内容被记录到 example.txt这个文件中
  2,退出script时,用exit,事实上script就是启动了一个shell it

相关文章
相关标签/搜索