Мои файлы .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
»
но в этих двух случаях я могу использовать другое имя для установки! но не то же имя ..)