嘗試使用 dpkg 安裝軟體包時出錯
我正在嘗試安裝
Oracle SQL Developer
到 Debian Linux 伺服器上。我首先從 Oracle 網站下載了一個包;
sqldeveloper-4.0.3.16.84-1.noarch.rpm
然後我呼叫了以下命令將其製作成一個
.deb
包。alien sqldeveloper-4.0.3.16.84-1.noarch.rpm
此命令成功執行並創建了新文件:
sqldeveloper_4.0.3.16.84-2_all.deb
為了安裝這個包,我呼叫了以下命令:
dpkg -i sqldeveloper_4.0.0.12.27-2_all.deb
其中輸出以下內容:
dpkg: warning: downgrading sqldeveloper from 4.0.3.16.84+0.2.3-1 to 4.0.3.16.84-2. (Reading database ... 33017 files and directories currently installed.) Preparing to replace sqldeveloper 4.0.3.16.84+0.2.3-1 (using sqldeveloper_4.0.3.16.84-2_all.deb) ... Unpacking replacement sqldeveloper ... dpkg-deb (subprocess): short read on buffer copy for failed to write to pipe in copy dpkg-deb: subprocess paste returned error exit status 2 dpkg: error processing sqldeveloper_4.0.3.16.84-2_all.deb (--install): short read on buffer copy for backend dpkg-deb during `./opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/lib/pdfbox-app-1.8.0.jar' Errors were encountered while processing: sqldeveloper_4.0.3.16.84-2_all.deb
我已經通過Google查看了這個問題的解決方案,並遇到了類似的錯誤問題
--configure
和 –uninstallbut nothing for
–install`。
您已使用外星人將包格式從 轉換
.rpm
為.deb
.在大多數情況下,該工具可以完美執行。但很少會在建構可安裝包時失敗。特別是如果 .rpm 包中包含一些安裝或配置腳本(類似於 .deb 包中的安裝/刪除前後腳本)。
你沒有說,執行時是否有一些錯誤或警告的輸出alien。
它可以“成功執行”並產生一個空包或損壞的包……
如果有一些錯誤或警告,請仔細查看它們。這些消息可能會指向正確的方向。但是對於以下內容,我假設alien沒有輸出錯誤。
查找問題的第一個檢查是提取兩個包格式版本並比較內容。
首先製作兩個臨時目錄
mkdir /tmp/sqldeveloper.deb /tmp/sqldeveloper.rpm
然後解壓
.deb
包dpkg-deb -X sqldeveloper_4.0.0.12.27-2_all.deb /tmp/sqldeveloper.deb
和 rpm 包
cd /tmp/sqldeveloper.rpm rpm2cpio sqldeveloper-4.0.3.16.84-1.noarch.rpm | cpio -idmv
然後,您可以將目錄與diff進行比較
diff . /tmp/sqldeveloper.deb
如果 .deb 目錄中缺少文件,則該軟體包已被外星人破壞。也許那時可以向該工具的開發人員尋求幫助。
但是我如何閱讀
dpkg -i
您發布的消息,包裝本身和文件存在一些問題./opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/lib/pdfbox-app-1.8.0.jar
無法提取。可能缺少父目錄或存在某些有線訪問權限問題。
我認為當您嘗試
.deb
手動提取存檔時會出現問題,如上所示。順便說一句:它是一個 java 軟體,可供下載的“其他平台”版本是一個 zip 存檔。在您的主目錄中提取時,它可能無需安裝即可執行。