題 yum,apt-get,rpm,。/ configure && make install有什麼區別?


我是Linux新手,正在運行CentOS。我遇到過四種更新或安裝軟件的方法。

到目前為止,我已經看到:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz  - > unpack  - > ./configure  - > make  - > make install

最後一個是真正的痛苦,特別是來自Windows,其中程序安裝通常是一次單擊和一個很好的安裝嚮導。

所以,我的問題是:

  • 為什麼在Linux中有這麼多不同的方法呢?
  • 您推薦使用哪一個,為什麼?
  • 還有其他方法可以在Linux中安裝程序嗎?

109
2018-03-31 02:27


起源


還有,怎麼樣 yum VS up2date。我從來都不清楚這種差異。 - Josh
apt-get 是Debian,真的不應該出現在CentOS上.... - Kyle Strand


答案:


這些工具都將軟件安裝到您的系統中,但是在不同的級別上工作。

  • ./configure && make install

    運行 ./configure && make install 直接從源代碼構建和安裝庫或可執行文件。

    make install 步驟基本上只是將最終文件複製到您的系統中。許多消息來源都有特殊之處 make uninstall 規則再次刪除它們,但這不能保證,當然只有你有配置的源周圍才有效。此外,這不會處理所需的依賴項。

    通常只有源代碼可用於某個包,所以這是唯一的方法。也, ./configure 通常會接受許多選項,讓您可以定制您的包裹。

    無法找出安裝哪個軟件的文件,以及缺乏從系統中刪除它們的可靠方法是這種方法的主要缺點。

  • RPM (Redhat包管理器)

    rpm 在您的系統中安裝已配置和編譯的軟件,它還附帶卸載以再次刪除它。包裹必須由某人創建。此人已決定要包含哪些功能以及如何將軟件包最佳地集成到系統佈局中。它還附帶了一個依賴項列表。

    由於rpms用於那裡的許多發行版,你經常需要確保為你的發行版編寫了這個rpm,以便安裝路徑,依賴項和其他內務管理功能很好地集成。

    在Debian系統上,等效的包格式是 .deb 並且安裝和數據庫由 dpkg 工具。

  • 百勝

    yum 是一個額外的包裝 rpm。它保留了自己的rpm文件數據庫,可用於您的分發,通常在在線存儲庫中。對於大多數發行版的穩定版本,該數據庫中的所有包都可以很好地相互配合。可以搜索該數據庫(例如,使用 yum search some_name)。

    它還將自動為您解決依賴關係。可以輕鬆卸載軟件包(以及一些額外的幫助,它們的依賴項)。

    在Debian系統上,Apt提供了等效的存儲庫和依賴解析工具(apt-get 和 aptitude)。

總而言之:如果你只是想要一些軟件試試 yum 第一。如果在那裡不可用,您可以嘗試找到現有的 rpm包。如果沒有,或者您有一些特殊要求,請從源代碼構建。


103
2018-03-31 03:07



幾乎就是我要說的。在提到debian等價物時添加並添加了格式。 - quack quixote
@quack:謝謝。但我們不能只是噓聲 apt-get 還是仍然建議做什麼? - Benjamin Bannier
你是對的, 能力傾向 可能是推薦的更好的人;包括我 apt-get的 因為它被廣泛提及,以及一個不了解的讀者 能力傾向 可能聽說過 apt-get的。 - quack quixote
apt-get有什麼問題? - recursive
@recursive:有時候 apt-get 沒有記錄自動依賴關係,並在卸載後將它們拋在腦後 aptitude 然後引入適當的依賴跟踪。此外,它還提供了一些其他功能 apt-get。我不確定,但我想在某些時候 apt-get 和 aptitude 更新後使用相同的高級後端提供大部分功能。 - Benjamin Bannier


百勝是RPM是一回事,除了yum自動從網上獲取包並安裝它們(使用 rpm -i)一步到位。應盡可能使用它來簡化更新。使用 rpm 只有在找不到包裹的時候 yum,並使用 make 方法只有在沒有.rpm包可用或您需要更改一些編譯時選項時。


4
2018-03-31 02:54