无法在特定路径中安装rpm(cpio:mkdir失败 - 没有这样的文件或目录)

时间:2016-03-15 11:15:56

标签: linux bash rpm opensuse

我的.rpm文件就像这样..

$> rpm2cpio bq1510-15.10.01.06-1.i386.rpm | cpio -it
./opt
./opt/td
./opt/td/client
./opt/td/client/15.10
./opt/td/client/15.10/bin
./opt/td/client/15.10/bin/bq
./opt/td/client/15.10/bin/tdclientdir
./opt/td/client/15.10/include
./opt/td/client/15.10/include/btnfyext.h
./opt/td/client/15.10/sample
./opt/td/client/15.10/sample/btnfyext.c
./opt/td/client/15.10/sample/mkbtnfyext.linux
34 blocks

当我使用以下命令安装此软件包时,我已成功安装..

$> rpm -ivvh --nodeps --prefix /opt/tel/client/usd1510 bq1510-15.10.01.06-1.i386.rpm

D: ============== bq1510-15.10.01.06-1.i386.rpm
D: Expected size:        16765 = lead(96)+sigs(180)+pad(4)+data(16485)
D:   Actual size:        16765
D: bq1510-15.10.01.06-1.i386.rpm: Header SHA1 digest: OK (6f5bb3656070541d65c7ec9b9f336d355c3cad8d)
D: ========== relocations
D:     0 relocate /opt -> /opt/tel/client/usd1510
D: relocating /opt to /opt/tel/client/usd1510
D: relocating directory /opt/tel/client/ to /opt/tel/client/usd1510/tel/client/
D: relocating directory /opt/td/client/15.10/sample/ to /opt/tel/client/usd1510/td/client/15.10/sample/
D: relocating directory /opt/td/client/15.10/include/ to /opt/tel/client/usd1510/td/client/15.10/include/
D: relocating directory /opt/td/client/15.10/bin/ to /opt/tel/client/usd1510/td/client/15.10/bin/
D: relocating directory /opt/td/client/15.10/ to /opt/tel/client/usd1510/td/client/15.10/
D: relocating directory /opt/td/client/ to /opt/tel/client/usd1510/td/client/
D: relocating directory /opt/td/ to /opt/tel/client/usd1510/td/
D: relocating directory /opt/ to /opt/tel/client/usd1510/
D:      added binary package [0]
D: found 0 source and 1 binary packages
D: opening  db environment /var/lib/rpm/Packages create:cdb:mpool:private
D: opening  db index       /var/lib/rpm/Packages rdonly mode=0x0
D: locked   db index       /var/lib/rpm/Packages
D: closed   db index       /var/lib/rpm/Packages
D: closed   db environment /var/lib/rpm/Packages
D: ========== recording tsort relations
D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth)
D:     0    0    0    0    1    0   +bq1510-15.10.01.06-1.i386
D: installing binary packages
D: opening  db environment /var/lib/rpm/Packages create:cdb:mpool:private
D: opening  db index       /var/lib/rpm/Packages create mode=0x42
D: locked   db index       /var/lib/rpm/Packages
D: sanity checking 1 elements
D: opening  db index       /var/lib/rpm/Name create:nofsync mode=0x42
D: running pre-transaction scripts
D: computing 12 file fingerprints
Preparing...                D: computing file dispositions
D: opening  db index       /var/lib/rpm/Basenames create:nofsync mode=0x42
########################################### [100%]
D: ========== +++ bq1510-15.10.01.06-1 i386-linux 0x0
D: Expected size:        16765 = lead(96)+sigs(180)+pad(4)+data(16485)
D:   Actual size:        16765
D: bq1510-15.10.01.06-1: Header SHA1 digest: OK (6f5bb3656070541d65c7ec9b9f336d355c3cad8d)
D: relocating /opt to /opt/tel/client/usd1510
D: relocating directory /opt/tel/client/ to /opt/tel/client/usd1510/tel/client/
D: relocating directory /opt/td/client/15.10/sample/ to /opt/tel/client/usd1510/td/client/15.10/sample/
D: relocating directory /opt/td/client/15.10/include/ to /opt/tel/client/usd1510/td/client/15.10/include/
D: relocating directory /opt/td/client/15.10/bin/ to /opt/tel/client/usd1510/td/client/15.10/bin/
D: relocating directory /opt/td/client/15.10/ to /opt/tel/client/usd1510/td/client/15.10/
D: relocating directory /opt/td/client/ to /opt/tel/client/usd1510/td/client/
D: relocating directory /opt/td/ to /opt/tel/client/usd1510/td/
D: relocating directory /opt/ to /opt/tel/client/usd1510/
D:   install: bq1510-15.10.01.06-1 has 12 files, test = 0
D: opening  db index       /var/lib/rpm/Triggername create:nofsync mode=0x42
D:   install: %pre(bq1510-15.10.01.06-1.i386) asynchronous scriptlet start
D:   install: %pre(bq1510-15.10.01.06-1.i386) execv(/bin/sh) pid 9584
++ uname -p
+ ARCH=x86_64
+ '[' x86_64 = s390x ']'
+ '[' x86_64 = s390 ']'
+ CURR_SHRTVER=15.10
+ '[' 15.10 = 15.10 ']'
+ CURR_SHRTVER=15.10.01
+ PKGINST=bq1510-15.10.01.06-1
+ SHRTVERNODOT=1510
++ grep bq-15.10
++ rpm -qa
+ installed_bq=
+ '[' -n '' ']'
++ egrep '(bq|ftld|arc)1510'
++ rpm -qa
+ installed_pkgs=
+ '[' -z '' ']'
+ echo ''

+ echo '   WARNING: This bq1510-15.10.01.06-1 package requires'
   WARNING: This bq1510-15.10.01.06-1 package requires
+ echo '   tgs1510, tiu1510 and pm1510.'
   tgs1510, tiu1510 and pm1510.
+ echo '   Please install the latest dependent packages'
   Please install the latest dependent packages
+ echo '   before installing bq1510-15.10.01.06-1'
   before installing bq1510-15.10.01.06-1
+ echo ''

++ cut '-d ' -f1
++ echo
+ installed_pkg=
+ '[' -n '' ']'
+ exit 0
D:   install: waitpid(9584) rc 9584 status 0 secs 0.832
   1:bq1510               D: ========== Directories not explicitly included in package:
D:          1 /opt/tel/client/usd1510/
D:          8 /opt/tel/client/usd1510/tel/client/
D: ==========
D: /opt/tel directory created with perms 0755, no context.
D: /opt/tel/client directory created with perms 0755, no context.
D: /opt/tel/client/usd1510 directory created with perms 0755, no context.
D: /opt/tel/client/usd1510/tel directory created with perms 0755, no context.
D: /opt/tel/client/usd1510/tel/client directory created with perms 0755, no context.
D: fini      040755  3 (   0,   0)         0 /opt/tel/client/usd1510/tel/client/usd1510
D: fini      040755  3 (   0,   0)         0 /opt/tel/client/usd1510/td
D: fini      040755  3 (   0,   0)         0 /opt/tel/client/usd1510/td/client
D: fini      040755  5 (   0,   0)         0 /opt/tel/client/usd1510/td/client/15.10
D: fini      040755  2 (   0,   0)         0 /opt/tel/client/usd1510/td/client/15.10/bin
D: fini      100755  1 (   0,   0)         0 /opt/tel/client/usd1510/td/client/15.10/bin/bq;56f24612
D: fini      100755  1 (   0,   0)         5 /opt/tel/client/usd1510/td/client/15.10/bin/tdclientdir;56f24612
D: fini      040755  2 (   0,   0)         0 /opt/tel/client/usd1510/td/client/15.10/include
D: fini      100755  1 (   0,   0)      5624 /opt/tel/client/usd1510/td/client/15.10/include/btnfyext.h;56f24612
D: fini      040755  2 (   0,   0)         0 /opt/tel/client/usd1510/td/client/15.10/sample
D: fini      100755  1 (   0,   0)      7798 /opt/tel/client/usd1510/td/client/15.10/sample/btnfyext.c;56f24612
########################################### [100%]
D: fini      100755  1 (   0,   0)      1847 /opt/tel/client/usd1510/td/client/15.10/sample/mkbtnfyext.linux;56f24612
BZDIO:       3 reads,    17068 total bytes in 0.000450 secs
D:   +++ h#    4040 Header SHA1 digest: OK (6f5bb3656070541d65c7ec9b9f336d355c3cad8d)
D: adding "bq1510" to Name index.
D: adding 12 entries to Basenames index.
D: opening  db index       /var/lib/rpm/Group create:nofsync mode=0x42
D: adding "Applications/Databases" to Group index.
D: opening  db index       /var/lib/rpm/Requirename create:nofsync mode=0x42
D: adding 11 entries to Requirename index.
D: opening  db index       /var/lib/rpm/Providename create:nofsync mode=0x42
D: adding 2 entries to Providename index.
D: opening  db index       /var/lib/rpm/Conflictname create:nofsync mode=0x42
D: adding "pdegpl" to Conflictname index.
D: adding 5 entries to Triggername index.
D: opening  db index       /var/lib/rpm/Dirnames create:nofsync mode=0x42
D: adding 9 entries to Dirnames index.
D: opening  db index       /var/lib/rpm/Requireversion create:nofsync mode=0x42
D: adding 11 entries to Requireversion index.
D: opening  db index       /var/lib/rpm/Provideversion create:nofsync mode=0x42
D: adding 2 entries to Provideversion index.
D: opening  db index       /var/lib/rpm/Installtid create:nofsync mode=0x42
D: adding 1 entries to Installtid index.
D: opening  db index       /var/lib/rpm/Sigmd5 create:nofsync mode=0x42
D: adding 1 entries to Sigmd5 index.
D: opening  db index       /var/lib/rpm/Sha1header create:nofsync mode=0x42
D: adding "6f5bb3656070541d65c7ec9b9f336d355c3cad8d" to Sha1header index.
D: opening  db index       /var/lib/rpm/Filemd5s create:nofsync mode=0x42
D: adding 12 entries to Filemd5s index.
D:   install: %post(bq1510-15.10.01.06-1.i386) asynchronous scriptlet start
D:   install: %post(bq1510-15.10.01.06-1.i386)        execv(/bin/sh) pid 9595
+ INCDIR=/opt/tel/client/usd1510/td/client/15.10/include
+ SAMPLEDIR=/opt/tel/client/usd1510/td/client/15.10/sample
+ INSTALLDIR=/opt/tel/client/usd1510/td/client/15.10
+ CURR_SHRTVER=15.10
++ readlink /opt/tel/client/usd1510/td/client/etc/ttu_bash.env
+ envLink=
+ '[' -n '' ']'
+ '[' -n '' ']'
+ exit 0
D:   install: waitpid(9595) rc 9595 status 0 secs 0.004
D: running post-transaction scripts
D: closed   db index       /var/lib/rpm/Filemd5s
D: closed   db index       /var/lib/rpm/Sha1header
D: closed   db index       /var/lib/rpm/Sigmd5
D: closed   db index       /var/lib/rpm/Installtid
D: closed   db index       /var/lib/rpm/Provideversion
D: closed   db index       /var/lib/rpm/Requireversion
D: closed   db index       /var/lib/rpm/Dirnames
D: closed   db index       /var/lib/rpm/Triggername
D: closed   db index       /var/lib/rpm/Conflictname
D: closed   db index       /var/lib/rpm/Providename
D: closed   db index       /var/lib/rpm/Requirename
D: closed   db index       /var/lib/rpm/Group
D: closed   db index       /var/lib/rpm/Basenames
D: closed   db index       /var/lib/rpm/Name
D: closed   db index       /var/lib/rpm/Packages
D: closed   db environment /var/lib/rpm/Packages
D: May free Score board((nil))

但如果我使用的名称与rpm2cpio命令(均值)相同 假设我的rpm2cpio文件是这样的.. ./opt/**td**

如果我使用我的前缀作为' ./opt/**td**/client'然后它失败了(不会安装)其他' **td**'我可以使用任何名称,并且它已成功安装..

$> rpm -ivvh --nodeps --prefix /opt/td/client/usd1510 bq1510-15.10.01.06-1.i386.rpm

D: ============== bq1510-15.10.01.06-1.i386.rpm
D: Expected size:        16765 = lead(96)+sigs(180)+pad(4)+data(16485)
D:   Actual size:        16765
D: bq1510-15.10.01.06-1.i386.rpm: Header SHA1 digest: OK (6f5bb3656070541d65c7ec9b9f336d355c3cad8d)
D: ========== relocations
D:     0 relocate /opt -> /opt/td/client/usd1510
D: relocating /opt to /opt/td/client/usd1510
D: relocating directory /opt/td/client/15.10/sample/ to /opt/td/client/usd1510/td/client/15.10/sample/
D: relocating directory /opt/td/client/15.10/include/ to /opt/td/client/usd1510/td/client/15.10/include/
D: relocating directory /opt/td/client/15.10/bin/ to /opt/td/client/usd1510/td/client/15.10/bin/
D: relocating directory /opt/td/client/15.10/ to /opt/td/client/usd1510/td/client/15.10/
D: relocating directory /opt/td/client/ to /opt/td/client/usd1510/td/client/
D: relocating directory /opt/td/ to /opt/td/client/usd1510/td/
D: relocating directory /opt/ to /opt/td/client/usd1510/
D:      added binary package [0]
D: found 0 source and 1 binary packages
D: opening  db environment /var/lib/rpm/Packages create:cdb:mpool:private
D: opening  db index       /var/lib/rpm/Packages rdonly mode=0x0
D: locked   db index       /var/lib/rpm/Packages
D: closed   db index       /var/lib/rpm/Packages
D: closed   db environment /var/lib/rpm/Packages
D: ========== recording tsort relations
D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth)
D:     0    0    0    0    1    0   +bq1510-15.10.01.06-1.i386
D: installing binary packages
D: opening  db environment /var/lib/rpm/Packages create:cdb:mpool:private
D: opening  db index       /var/lib/rpm/Packages create mode=0x42
D: locked   db index       /var/lib/rpm/Packages
D: sanity checking 1 elements
D: opening  db index       /var/lib/rpm/Name create:nofsync mode=0x42
D: running pre-transaction scripts
D: computing 12 file fingerprints
Preparing...                D: computing file dispositions
D: opening  db index       /var/lib/rpm/Basenames create:nofsync mode=0x42
########################################### [100%]
D: ========== +++ bq1510-15.10.01.06-1 i386-linux 0x0
D: Expected size:        16765 = lead(96)+sigs(180)+pad(4)+data(16485)
D:   Actual size:        16765
D: bq1510-15.10.01.06-1: Header SHA1 digest: OK (6f5bb3656070541d65c7ec9b9f336d355c3cad8d)
D: relocating /opt to /opt/td/client/usd1510
D: relocating directory /opt/td/client/15.10/sample/ to /opt/td/client/usd1510/td/client/15.10/sample/
D: relocating directory /opt/td/client/15.10/include/ to /opt/td/client/usd1510/td/client/15.10/include/
D: relocating directory /opt/td/client/15.10/bin/ to /opt/td/client/usd1510/td/client/15.10/bin/
D: relocating directory /opt/td/client/15.10/ to /opt/td/client/usd1510/td/client/15.10/
D: relocating directory /opt/td/client/ to /opt/td/client/usd1510/td/client/
D: relocating directory /opt/td/ to /opt/td/client/usd1510/td/
D: relocating directory /opt/ to /opt/td/client/usd1510/
D:   install: bq1510-15.10.01.06-1 has 12 files, test = 0
D: opening  db index       /var/lib/rpm/Triggername create:nofsync mode=0x42
D:   install: %pre(bq1510-15.10.01.06-1.i386) asynchronous scriptlet start
D:   install: %pre(bq1510-15.10.01.06-1.i386) execv(/bin/sh) pid 9611
++ uname -p
+ ARCH=x86_64
+ '[' x86_64 = s390x ']'
+ '[' x86_64 = s390 ']'
+ CURR_SHRTVER=15.10
+ '[' 15.10 = 15.10 ']'
+ CURR_SHRTVER=15.10.01
+ PKGINST=bq1510-15.10.01.06-1
+ SHRTVERNODOT=1510
++ grep bq-15.10
++ rpm -qa
+ installed_bq=
+ '[' -n '' ']'
++ egrep '(bq|ftld|arc)1510'
++ rpm -qa
+ installed_pkgs=
+ '[' -z '' ']'
+ echo ''

+ echo '   WARNING: This bq1510-15.10.01.06-1 package requires'
   WARNING: This bq1510-15.10.01.06-1 package requires
+ echo '   tgs1510, tiu1510 and pm1510.'
   tgs1510, tiu1510 and pm1510.
+ echo '   Please install the latest dependent packages'
   Please install the latest dependent packages
+ echo '   before installing bq1510-15.10.01.06-1'
   before installing bq1510-15.10.01.06-1
+ echo ''

++ cut '-d ' -f1
++ echo
+ installed_pkg=
+ '[' -n '' ']'
+ exit 0
D:   install: waitpid(9611) rc 9611 status 0 secs 0.810
   1:bq1510               D: ========== Directories not explicitly included in package:
D:          1 /opt/td/client/usd1510/
D: ==========
D: /opt/td directory created with perms 0755, no context.
D: /opt/td/client directory created with perms 0755, no context.
D: /opt/td/client/usd1510 directory created with perms 0755, no context.
D: undo      040755  3 (   0,   0)         0 /opt/td/client/usd1510/td/client/usd1510
BZDIO:       1 reads,     8192 total bytes in 0.000402 secs
########################################### [100%]
error: unpacking of archive failed on file /opt/td/client/usd1510/td/client/usd1510: cpio: mkdir failed - No such file or directory
D: running post-transaction scripts
D: closed   db index       /var/lib/rpm/Triggername
D: closed   db index       /var/lib/rpm/Basenames
D: closed   db index       /var/lib/rpm/Name
D: closed   db index       /var/lib/rpm/Packages
D: closed   db environment /var/lib/rpm/Packages
D: May free Score board((nil))

任何人都可以帮助我,为什么它不会安装与rpm2cpio中相同的名称(我通过更改.spec文件中的不同名称进行了测试,但仍然无法安装任何内容这些路径中提到的名称

' ./opt/tld'意味着我无法将--prefix作为./opt/tld/client'

' ./opt/tel'意味着我无法将--prefix作为./opt/tel/client'

但在上述两种情况下,我可以使用其他名称进行安装!!但不是同一个名字..)

0 个答案:

没有答案