我想在這篇文章的開頭說,我根本不是 Linux 專家。我目前正在嘗試在 OEL7_x86_64 上安裝 otrs-5.0.10-01.noarch.rpm (otrs.com),它似乎是基於 Red Hat 7 構建的,如下所示:
[root@**** ~]# cat /etc/redhat-release
紅帽企業 Linux 伺服器版本 7.2 (Maipo)
他們的安裝手冊指出我應該使用 yum 來解決依賴關係,如下所示:
[root@@**** ~]# yum install --nogpgcheck /var/tmp/otrs-5.0.9-01.noarch.rpm
然而,此命令會抱怨兩個依賴項未滿足:
錯誤:軟體包:otrs-5.0.9-01.noarch (/otrs-5.0.9-01.noarch)
Requires: perl(XML::LibXSLT)
錯誤:軟體包:otrs-5.0.9-01.noarch (/otrs-5.0.9-01.noarch)
Requires: perl(Template)
我發現我可以使用 CPAN 安裝它們,但依賴關係仍然無法滿足,因為 yum 似乎無法看到使用 CPAN 安裝的模組,因此我相信我需要這些軟體包的 rpm。
我找到了來自 Oracle 的 PDF,其中顯示了每個發行版中包含哪些軟體包,似乎應該包含 perl-Template-Toolkit 和 perl-XML-LibXSLT - 請參閱 Oracle Linux 7 專欄。
http://www.oracle.com/us/support/library/enterprise-linux-indemnification-069347.pdf
但我在我們的儲存庫中找不到 rpm,而且它沒有安裝在系統上。如果我透過我們的儲存庫檢查所有可用的 perl 模組,我找不到模板或 xlm-libxslt:
百勝提供了“perl(*)”
如果我檢查儲存庫的內容,我可以驗證它們是否未包含在「Oracle Linux 7 (x86_64) Latest」中。
http://public-yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html
所以我的問題很簡短...如何取得 rpm 格式的這些套件,以便解決我對 OTRS 的依賴關係?我可以看到它們包含在 arch i686 的 OEL6 儲存庫中,但我不確定它們是否可以在這個系統中安全使用...
如有任何提示,我們將不勝感激,任何願意提供幫助的人都可以享用漢堡和啤酒!
非常感謝!
/丹尼
答案1
答案2
你的問題提出了幾個問題:
」我發現我可以使用 CPAN 安裝它們,但依賴關係仍然無法滿足,因為 yum 似乎無法看到使用 CPAN 安裝的模組」
」如何取得 rpm 格式的這些套件,以便解決我對 OTRS 的依賴關係?」
讓我們更深入地了解一下。
至於1),看來你已經從 CPAN 安裝了兩個模組,儘管如此,RPM 軟體包的安裝仍然失敗。如果是這種情況(請確認),那麼您可以安全地「強制」使用rpm -ivh --nodeps otrs-5.0.9-01.noarch
.儘管這聽起來有點“粗魯”,但它確實“安全”,因為您始終可以回滾此類安裝(使用rpm -e otrs
)。我敢打賭,如果上面提到的兩個包中只有兩個包丟失,這將解決您的問題;
至於 1),您也可以輕鬆地檢查是否已成功安裝這兩個軟體包,只需要求 PERL「檢查」它們:
perl -e 'use XML::LibXSLT'
和perl -e 'use Template'
。如果這兩個命令都成功(它們將簡單地運行並結束,沒有任何輸出,特別是沒有抱怨!),那麼它們就被 PERL 以及(要安裝的)otrs 正確安裝和識別。
至於 2) 事情稍微複雜一些,因為如果你的「distribution mantainers」(OEL 7)有不是為這樣的發行版預先建立軟體包,那麼您幾乎沒有機會找到「官方」RPM。但是...開源和 RPM(以及 DEB 或其他軟體包格式)的優點之一是您確實可以獲得一些其他“第三方”組裝的軟體包並“檢查”如何它已經建成並且什麼它包含。正如您所提到的,OEL7 基於 RHEL7,我敢打賭 CentOS 軟體包應該是好的為您的系統。最簡單的檢查方法:
- 哪些文件將儲存在您的檔案系統上以及位置;
- 哪個腳本會在安裝 RPM 之前和之後啟動
在我看來,用“mc”打開它們(yum install mc
如果你還沒有的話)。只需反白 RPM 並按 ENTER 鍵即可。然後你就會有「內容」。只需「單擊」它,您就會看到 RPM 中包含哪些檔案。回到主等級(ESC、ESC等)您可以「點選」SCRIPTS資料夾,其中您可以看到PREINSTALL、POSTINSTALL、PREUNINSTALL、POSTUNINSTALL。按 F3 即可完成。另外,檢查 RPM 的屬性,您可以看到哪個是用於建立 RPM 的 TGZ 檔案(URL)。有了所有這些信息,您絕對可以自由的自己拿走 TGZ 並開始「建造」自己的 RPM。不管怎樣,這並不是一個「年輕的系統管理員」能夠在 10 分鐘內取得成功的事情:-)
最後,我建議採用 1) 的方法,因為...如果您透過 CPAN 手動安裝 PERL 模組,您已經(稍微)弄亂了您的系統,所以...您不能造成更多損害:-)