2014-11-20 3 views
1

У меня действительно странное поведение с пакетом .deb.«Нет такого файла или каталога» при установке пакета .deb

Когда я пытаюсь установить с помощью DPKG -i package.deb, я получаю эту ошибку:

iPadAir:/tmp root# dpkg -i packagename.deb 
(Reading database ... 4239 files and directories currently installed.) 
Preparing to replace packagename 0.0.0-0 (using packagename.deb) ... 
Unpacking replacement packagename ... 
dpkg: error processing packagename.deb (--install): 
unable to create `PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite': No such file or directory 
dpkg-deb: subprocess paste killed by signal (Broken pipe: 13) 
Errors were encountered while processing: 
packagename.deb 

Но .deb файл содержит другой путь! Правильный путь/Library/Application Support/PACKAGENAME:

iPadAir:/tmp root# dpkg-deb -c packagename.deb 
drwxr-xr-x dok/staff   0 2014-11-20 12:46 ./ 
drwxr-xr-x dok/staff   0 2014-11-20 12:46 ./Library/ 
drwxr-xr-x dok/staff   0 2014-11-20 12:46 ./Library/Application Support/ 
drwxr-xr-x dok/staff   0 2014-11-20 12:46 ./Library/Application Support/PACKAGENAME/ 
drwxr-xr-x dok/staff   0 2014-11-20 12:46 ./Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/ 
-rw-r--r-- dok/staff 184320 2014-11-20 12:46 ./Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite 

Использование отладки (1100, потому что мне нужен только выход файловой системы) У меня даже странная ситуация:

iPadAir:/tmp root# dpkg -D1110 -i packagename.deb 
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci' 
(Reading database ... 4239 files and directories currently installed.) 
[....] 
[All directories are correctly processed and created...] 
[....] 
D000010: tarobject ti->Name=`./Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist' Mode=644 owner=501.20 Type=48(-) ti->LinkName=`' namenode=`/Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist' flags=2 instead=`<none>' 
D000100: setupvnamevbs main=`/Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist' tmp=`/Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist.dpkg-tmp' new=`/Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist.dpkg-new' 
D000100: tarobject nonexistent 
D000010: ensure_pathname_nonexisting `/Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist.dpkg-new' 
D000010: ensure_pathname_nonexisting `/Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist.dpkg-tmp' 
D000100: tarobject NormalFile[01] open size=479 
D000100: tarobject new - no backup 
D000100: tarobject done and installed 
D000010: tarobject ti->Name=`PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite' Mode=644 owner=501.20 Type=48(-) ti->LinkName=`' namenode=`/PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite' flags=2 instead=`<none>' 
D000100: setupvnamevbs main=`/PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite' tmp=`/PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite.dpkg-tmp' new=`/PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite.dpkg-new' 
D000100: tarobject nonexistent 
D000010: ensure_pathname_nonexisting `/PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite.dpkg-new' 
D000010: ensure_pathname_nonexisting `/PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite.dpkg-tmp' 
dpkg: error processing packagename.deb (--install): 
unable to create `PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite': No such file or directory 
D000010: cu_installnew `/PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite' flags=2 
D000100: setupvnamevbs main=`//PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite' tmp=`//PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite.dpkg-tmp' new=`//PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite.dpkg-new' 
D000100: cu_installnew not restoring 
D000100: unlinkorrmdir `//PACKAGENAME/AviarySDKResources.bundle/AviaryContentPackCompiledDatabase.sqlite.dpkg-new' rmdir No such file or directory 
D000010: cu_installnew `/Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist' flags=52 
D000100: setupvnamevbs main=`//Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist' tmp=`//Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist.dpkg-tmp' new=`//Library/Application Support/PACKAGENAME/AviarySDKResources.bundle/AviaryColorPalatte.plist.dpkg-new' 

Как вы видите Dpkg попробуйте создать каталог PACKAGENAME в корневой директории вместо '/ Library/Application Support'. Я попытался перестроить мой debian пакет, но ничего не изменилось (и да, пакет debian имеет правильный путь в tar-архиве).

Может кто-нибудь мне помочь?

Tnx много

PS: даже если вы видите iPadAir, я попытался же DPKG команды на Ubuntu поле. Такая же ошибка :(

ответ

1

После нескольких недель исследований я, наконец, обнаружил, что использовал багги-версию dpkg-deb (1.13.25). После обновления до последней версии (1.14.25 на данный момент) все ошибки исчезли!

Смежные вопросы