在 Fedora Linux 上使用 Homebrew 包管理器

Homebrew 是一個(gè) macOS 的包管理器,用于在 macOS 上安裝 UNIX 工具。但是,它也可以在 Linux(和
Windows WSL)上使用。它是用 Ruby 編寫(xiě)的,并提供主機(jī)系統(tǒng)(macOS 或
Linux)可能不提供的軟件包,因此它在操作系統(tǒng)包管理器之外提供了一個(gè)輔助的包管理器。此外,它只以非 root 用戶(hù)身份在前綴 ??/home/linuxbrew/.linuxbrew??? 或 ??~/.linuxbrew??? 下安裝軟件包,不會(huì)污染系統(tǒng)路徑。這個(gè)包管理器在 Fedora Linux 上也適用。在這篇文章中,我將嘗試告訴你 Homebrew 與 Fedora Linux 包管理器 ??dnf?? 有什么不同,為什么你可能想在 Fedora Linux 上安裝和使用它,以及如何安裝。
免責(zé)聲明
你應(yīng)該經(jīng)常檢查你在系統(tǒng)上安裝的軟件包和二進(jìn)制文件。Homebrew 包通常以非 sudoer 用戶(hù)運(yùn)行,并工作在專(zhuān)門(mén)的前綴的路徑下,因此它們不太可能造成破壞或錯(cuò)誤配置。然而,所有的安裝操作都要自己承擔(dān)風(fēng)險(xiǎn)。作者和 Fedora 社區(qū)不對(duì)任何可能直接或間接因遵循這篇文章而造成的損失負(fù)責(zé)。
Homebrew 如何工作
Homebrew 在底層使用 Ruby 和 Git。它使用特殊的 Ruby 腳本從源代碼構(gòu)建軟件,這些腳本被稱(chēng)為 “配方formula”,看起來(lái)像這樣(使用 ??wget?? 包作為例子):
(LCTT 譯注:Homebrew 本身意思是“家釀”,在這個(gè)軟件中,有各種類(lèi)似于釀酒的比喻。)
class Wget < Formula
homepage "https://www.gnu.org/software/wget/"
url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz"
sha256 "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd"
def install
system "./configure", "--prefix=#{prefix}"
system "make", "install"
end
end
Homebrew 與 dnf 有何不同
Homebrew 是一個(gè)包管理器,提供了許多 UNIX 軟件工具和包的最新版本,例如 FFmpeg、Composer、Minikube
等。當(dāng)你想安裝一些由于某種原因在 Fedora Linux RPM 倉(cāng)庫(kù)中沒(méi)有的軟件包時(shí),它就會(huì)證明很有用。所以,它并不能取代 ??dnf??。
安裝 Homebrew
在開(kāi)始安裝 Homebrew 之前,確保你已經(jīng)安裝了 glibc 和 gcc。這些工具可以在 Fedora 上通過(guò)以下方式安裝:
sudo dnf groupinstall "Development Tools"
然后,通過(guò)在終端運(yùn)行以下命令來(lái)安裝 Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
在安裝過(guò)程中,你會(huì)被提示輸入你的 ??sudo?? 密碼。另外,你可以選擇 Homebrew 的安裝前綴,但默認(rèn)的前綴就可以了。在安裝過(guò)程中,你將成為 Homebrew 前綴目錄的所有者,這樣你就不必輸入 ??sudo?? 密碼來(lái)安裝軟件包。安裝將需要數(shù)分鐘。完成后,運(yùn)行以下命令,將 ??brew?? 添加到你的 ??PATH?? 中:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bash_profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
安裝和檢查軟件包
要在 Homebrew 上使用“配方”安裝一個(gè)軟件包,只需運(yùn)行:
brew install <formula>
將 ??<formula>?? 替換為你要安裝的“配方”的名稱(chēng)。例如,要安裝 Minikube,只需運(yùn)行:
brew install minikube
你也可以用以下方式搜索“配方”:
brew search <formula>
要獲得一個(gè)“配方”的信息,請(qǐng)運(yùn)行:
brew info <formula>
另外,你可以用以下命令查看所有已安裝的“配方”:
brew list
卸載軟件包
要從你的 Homebrew 前綴中卸載一個(gè)軟件包,請(qǐng)運(yùn)行:
brew uninstall <formula>
升級(jí)軟件包
要升級(jí)一個(gè)用 Homebrew 安裝的特定軟件包,請(qǐng)運(yùn)行:
brew upgrade <formula>
要更新 Homebrew 和所有已安裝的“配方”到最新版本,請(qǐng)運(yùn)行:
brew update
總結(jié)
Homebrew 是一個(gè)簡(jiǎn)單的包管理器,可以與 ??dnf?? 一起成為有用的工具(兩者完全沒(méi)有關(guān)系)。盡量堅(jiān)持使用 Fedora 原生的 ??dnf?? 包管理器,以避免軟件沖突。然而,如果你在 Fedora Linux 軟件庫(kù)中沒(méi)有找到某個(gè)軟件,那么你也許可以用 Homebrew 找到并安裝它。請(qǐng)看 ??“配方”列表?? 以了解有哪些可用的軟件。另外,F(xiàn)edora Linux 上的 Homebrew 還不支持圖形化應(yīng)用(在 Homebrew 術(shù)語(yǔ)中稱(chēng)為“酒桶cask”)。至少,我在安裝 GUI 應(yīng)用時(shí)沒(méi)有成功過(guò)。

























