- DEB 和 RPM 軟體包是 Linux 發行版主流系列中的經典安裝格式。
- 在 Ubuntu 或 Debian 等發行版中,DEB 可以透過圖形管理器和 APT 進行安裝,而 RPM 則透過 Alien 整合。
- Arch Linux 使用自己的系統(pacman 和 AUR),因此最好避免直接安裝 DEB 或 RPM,而應使用其原生工具。
- Snap 和 Flatpak 等現代格式透過在各種發行版中提供更獨立、更便攜的軟體包,補充了 DEB 和 RPM 格式。
如果你之前使用的是 Windows 系統,現在剛接觸 Linux 系統,那麼這些檔案對你來說可能會很陌生。 德布。 y 。轉速總的來說,它們相當於典型的 Windows .exe 或 .msi 文件,但針對 Linux 生態系統和各個發行版進行了適配。雖然許多手冊直接依賴終端和命令,但也可以透過其他方式實現… 無需頻繁使用控制台即可安裝 deb 和 rpm 軟體包。結合圖形工具和一些基本概念。
此外,還有一些更棘手的情況:例如,當您下載一個沒有明確說明的舊版 Microsoft Teams .deb 檔案時,或者當您使用類似這樣的發行版時。 Arch Linux 然後,你可能會遇到一些 .deb 或 .rpm 文件,但理論上,該發行版根本不會使用這些文件。讓我們詳細了解一下每種軟體包的類型,它們在不同的發行版系列中是如何管理的,以及你可以使用哪些選項來盡可能輕鬆地處理它們(無論是否使用命令列),但始終要明白你在做什麼。
什麼是 .deb 軟體包?為什麼它們如此重要?
格式 德布。 它起源於 Debian,其名稱正是來自於該發行版名稱的縮寫。這些文件是 Debian 及其所有衍生發行版(例如 Debian 和 Debian)的標準軟體包系統。 Ubuntu、Linux Mint 和許多其他變體如果你之前使用過 Windows 系統,你可以把 .deb 檔案看作類似於 .exe 安裝程序,但它的內部結構更加規範和標準化。
.deb 軟體包不只是一個包含程式的文件,而是一個包含以下內容的容器: 所有將被複製到系統中的文件 此外,還有一系列腳本和元數據,以確保安裝和配置按順序進行。這使得軟體包管理系統能夠了解您已安裝的軟體、這些軟體所需的依賴項、如何更新以及之後如何卸載它們。
從內部來看,一個 .deb 軟體包至少包含三個關鍵文件,用於管理軟體包資訊及其資料。第一個文件是 debian-二進制其中標明了軟體包格式版本(大多數情況下,最新穩定版本為 2.0)。第二個是 控制.tar.gz一個包含軟體包所有元資料的壓縮檔案:名稱、版本、依賴項、安裝腳本等。第三個是 數據.tar (或壓縮變體,如 .gz、.bz2、.lzma),其中包含所有將實際安裝到您的系統上的檔案。
除了這些基本元件之外,控制部分通常還包含諸如以下文件: md5sum其中儲存校驗和以驗證檔案是否已損壞,或者 文件此清單包含更新過程中不應被覆寫的設定檔。此外,還有幾個重要的腳本: preinst、postinst、prerm 和 postrm這些操作會在安裝或解除安裝軟體套件之前或之後執行,也可能是腳本。 配置 負責處理互動式配置。
所有這些都使得 .deb 成為相當強大的格式,但並非完美無缺。一個非常常見的限制是: 它們並非總是包含所有依賴項 這些是程式正常運作所必需的。 .deb 軟體套件可能要求您的系統已安裝某些程式庫或元件;如果未安裝,安裝將失敗或程式將無法正常運作。在這種情況下,您需要單獨安裝這些依賴項,可以透過軟體套件管理器安裝,或在更複雜的環境中手動安裝。
分佈像 Debian、Ubuntu、Kubuntu、Lubuntu、Linux Mint 以及許多其他基於它們的系統,都使用 .deb 作為預設格式。即使是看似截然不同的系統,例如 iOS在蘋果的世界裡,他們依靠非常相似的軟體包格式來管理他們的應用程序,儘管其內部結構與 Linux 軟體包並不完全相同。
如何在 Linux 上使用和不使用命令安裝 .deb 文件
在任何基於 Debian 的發行版中,.deb 軟體包管理的核心是該工具。 磷酸二銨該程式負責底層軟體包的安裝、註冊和移除。在 DPKG 之上,也使用了其他更容易使用的層,例如: APT 或圖形介面這極大地便利了那些不想每一步都依賴終端的用戶的生活。
在許多發行版中,尤其是在 Ubuntu 及其衍生版本中,都提供了圖形介面,例如: Synaptic、Gdebi、PackageKit 或 Ubuntu 隨附的軟體中心這些應用程式可讓您透過雙擊下載的檔案來安裝 .deb 軟體包,類似於在 Windows 中使用安裝程式的方式,而無需在控制台中輸入任何一行程式碼。
如果您想使用這些管理器,可以從官方軟體倉庫安裝,通常使用 APT。例如,使用 非常常見。 Gdebi 它能更聰明地處理從網路下載的 .deb 檔案依賴關係,比純 DPKG 更勝一籌。另一方面,Synaptic 和 PackageKit 則提供了更全面的系統視圖,讓使用者可以透過圖形介面搜尋、安裝和移除軟體包。
從開發者網站、GitHub 或任何外部倉庫下載 .deb 檔案後,最經典的安裝方法就是簡單地安裝它。 使用軟體管理員打開它 從發行版:雙擊 .deb 文件,圖形安裝程式將打開,查看軟體包信息,然後按一下「安裝」。系統將檢查依賴項,如果缺少任何依賴項,將會通知您或嘗試從軟體倉庫自動下載。
安裝成功後,程式會出現在桌面環境的應用程式清單中:例如「開始」功能表、啟動器、搜尋結果等。如果您安裝的是瀏覽器或 Teams 的 .deb 軟體包,您應該能夠像查找系統中內建的其他應用程式一樣,透過搜尋其名稱找到它。
透過終端安裝和管理 .deb 檔案:DPKG 和 APT
雖然目標是避免事事依賴命令,但了解終端如何處理命令還是很有幫助的,因為 許多指南和官方文件都理所當然地認為它們都存在。事實上,即使你使用圖形工具,它們也經常在後台運行 DPKG 和 APT,而你卻渾然不覺。
最直接的方法是使用 dpkg -i package.deb此命令會將軟體包安裝到本機系統。與 APT 不同,此命令不太關注查找缺少的依賴項:如果軟體包需要您沒有的其他元件,它會顯示錯誤,您需要單獨解決這些問題,通常使用 APT 或其他圖形化軟體包管理器。
若要檢查某個特定軟體包是否已安裝,可以使用類似這樣的指令列出 dpkg 已知的軟體包,並依名稱進行篩選。 dpkg -l | grep 'name'這是一個快速檢查系統是否識別軟體包、軟體包版本以及軟體包是否已安裝或已移除但設定檔仍然存在的方法。
卸載時,DPKG 提供了兩種方法:一種是使用選項 -r 您移除軟體包但保留配置文件,而使用 -P (清除)會移除所有痕跡,包括可能殘留在 /etc 或其他系統路徑中的設定檔。如果您打算在保留設定的情況下重新安裝程序,或者想要執行徹底清理,那麼此功能非常有用。
它適用於 dpkg 之上 APTAPT 是 Debian、Ubuntu 及其衍生發行版中常用的軟體包管理器,它以更聰明的方式處理軟體倉庫、依賴關係和更新。除了從官方軟體倉庫安裝程式外,它還可以… 安裝本地 .deb 文件 它儲存在您的硬碟上,大多數情況下會自動解決依賴關係。
為此,通常不會直接呼叫 dpkg,而是使用相對於檔案的路徑語法,例如 sudo apt install ./package.deb「./」技巧告訴APT,你要安裝的是本地文件,而不是來自軟體倉庫的軟體包。 APT內部會呼叫dpkg,但會加入自己的邏輯來從已設定的軟體倉庫下載並安裝任何缺少的依賴項。
當您想要卸載從本機 .deb 檔案安裝的程式時,您不再需要保留原始檔案。只需知道軟體包名稱並使用以下命令。 sudo apt remove package-name 在保留設定的情況下卸載它,或者 sudo apt purge 軟體包名稱 同時刪除系統遺留的所有設定檔。
.rpm 軟體包:它們是什麼,以及它們如何融入這個拼圖遊戲
格式 。轉速 (Red Hat Package Manager) 是基於 Red Hat 的發行系列中的標準,例如: 紅帽企業版 Linux、Fedora、openSUSE 及其他衍生版本就像 Debian 系統中的 .deb 檔案一樣,.rpm 檔案包含用於管理這些發行版中的安裝、更新和卸載的程式檔案、腳本和元資料。
最初,.rpm 軟體包與 Ubuntu、Debian 或 Linux Mint 並不原生相容,因為每個發行版系列都有其自身的軟體包和工俱生態系統。然而,在實際應用中,您經常會遇到只提供一種安裝方式的軟體。 適用於 Linux 的 .rpm 轉儲文件 而不是 .deb 文件,尤其是在專注於基於 Red Hat 的企業環境的專案中。
雖然 Ubuntu 和 Debian 預設不支援 .rpm 文件,但仍然存在這種可能性。 將這些 .rpm 軟體包轉換為 .deb 格式。 然後像安裝原生元件一樣安裝它們。這種轉換是用一個老舊但仍然非常有用的工具完成的,該工具名為 外僑這使得可以從 .rpm(和其他格式)產生 .deb 軟體包,甚至可以直接在基於 Debian 的系統上安裝 .rpm。
不應忘記,儘管程式的功能內容可能相同,但格式轉換可能會帶來一些問題。 依賴關係或路由不相容因此,建議僅在您的發行版沒有原生版本且可能存在一些額外麻煩的情況下才採用此方法。
從相反的角度來看,也可以進行轉換。 .deb 檔案在 .rpm 檔案中 對於僅以 Debian 格式分發的程序,Alien 在 Red Hat 發行版中非常有用。當然,相容性並不能 100% 保證,但它解決了許多原本需要從原始碼編譯軟體的情況。
如何使用 Alien 在 Ubuntu 和 Debian 上轉換和安裝 RPM 軟體包
如果您需要在基於 Debian 的發行版上安裝 .rpm 軟體包,第一步通常是確保您有權存取儲存庫。 UniverseAlien 就是託管在 Ubuntu 等系統上的這個倉庫。該倉庫擴大了軟體產品範圍,使其超越了官方產品,還包括社群維護的工具。
啟用該軟體倉庫並更新軟體包清單後,您就可以安裝軟體了。 外僑 無需使用您常用的軟體包管理器。安裝到系統後,Alien 將成為您的瑞士軍刀,只需一條命令即可將 .rpm 文件轉換為 .deb 文件,從而產生一個等效的 .deb 文件,可用於 DPKG、APT 甚至像 Gdebi 這樣的圖形化軟體包管理器進行管理。
最常用的方法包括: 將 .rpm 轉換為 .deb 無需直接安裝,只需運行 Alien 處理 .rpm 文件,它會在當前工作目錄下產生一個同名的 .deb 軟體包。如果您不在檔案所在的目錄中,則需要指定 .rpm 檔案的完整路徑,Alien 才能找到它。
產生 .deb 檔案後,您可以像處理其他 Debian 軟體包一樣處理它:您可以使用圖形軟體管理員開啟它,並使用以下命令安裝它: dpkg-i 或採用更穩健的方法 apt install ./archivo.deb 讓它來處理依賴項。這樣,你就可以將原本僅供 Red Hat 發行版使用的程式整合到你的系統中。
Alien 也提供了以下選項: 直接安裝 .rpm 文件 它不會產生中間的 .deb 文件,而是採用一種模式,直接進行轉換並立即啟動安裝。在內部,它會繼續轉換軟體包,但您看不到產生的 .deb 檔案;您只能看到已安裝的程式。即便如此,許多用戶仍然傾向於先生成 .deb 文件,以便擁有更多控制權,並在日後需要重新安裝時保留該文件。
另一種從終端將 RPM 轉換為 DEB 的方法
除了在 Ubuntu 系統中使用 Alien 的典型步驟之外,還有其他一些場景需要使用它。 能力傾向 或使用其他軟體套件管理器來安裝 Alien,尤其是在那些更傾向於使用該管理器而非傳統 APT 的環境中。最終結果是一樣的:一旦 Alien 可用,它就成為 RPM 和 DEB 格式之間轉換的核心工具。
通常情況下,這個過程首先需要下載檔案。 。轉速 若要使用所需的軟體包,請將其放置在已知的系統路徑中,然後執行 Alien 進行轉換。轉換完成後,將在同一資料夾中建立一個 .deb 文件,該文件盡可能複製原始軟體包的內容和元數據,可以將其作為原生 Debian 軟體包使用。
產生 .deb 檔案後,在沒有圖形介面的系統上,通常的做法是使用以下命令進行安裝: dpkg -i package-name.deb這取決於必要的依賴項是否已存在或可單獨安裝。不過,在桌面系統上,通常使用軟體中心或 Gdebi 開啟新建立的 .deb 檔案會更方便,這樣使用者就不需要記住命令或路徑。
這種先轉換後安裝的方法允許 重複安裝 您可以根據需要多次重新安裝,因為您可以將 .deb 軟體包作為「本機副本」保存下來,該副本已針對您的發行版進行了適配。如果您使用多個類似的系統,並且希望部署相同的軟體而無需始終依賴原始的 .rpm 版本,這將特別有用。
無論如何,值得注意的是,使用 Alien 時您已經偏離了「官方」路徑,因此建議您在安裝後檢查錯誤訊息並驗證程式是否正常運作。在某些情況下,可能缺少庫文件,或者與 .rpm 文件最初設計的發行版相比,可能存在版本差異。
Arch Linux:如何處理 .deb 和 .rpm 檔案以及應該使用哪些軟體商店
如果您正在使用 Arch Linux 如果你下載的是 .deb 或 .rpm 文件,第一個反應通常是困惑,因為 Arch Linux 並沒有使用這兩種格式。它的軟體包系統是基於軟體包管理器的。 吃豆子 並且包含在專為 Arch 及其衍生版本(如 Manjaro)準備的帶有 .pkg.tar.zst 副檔名的軟體包中。
直接在 Arch Linux 上安裝 .deb 或 .rpm 檔案並非建議做法,因為 該發行版的理念有所不同。 而且,Arch Linux 的路徑、函式庫和版本並不總是與 Debian 或 Red Hat 的一致。最明智的做法始終是檢查您感興趣的軟體是否在官方 Arch 軟體倉庫或常用的 [repositories/repositories] 中可用。 AUR(歸檔使用者倉庫)社群維護大量程式的編譯配方(PKGBUILD)。
有一些工具和腳本可以將 .deb 或 .rpm 檔案轉換為 Arch 軟體包,或強制安裝它們,但這並非最可靠的方法,也不是發行版維護者推薦的方法。通常來說,更好的做法是… 找到一個 PKGBUILD 在 AUR 中尋找該程序,或者如果您需要官方儲存庫中沒有的內容,可以使用 Flatpak 或 Snap 等打包替代方案。
對於具有圖形介面的軟體商店,Arch 及其衍生版本提供了多種選擇。其中最知名的之一是… Pamac (在 Manjaro 中廣泛使用),它允許你透過一個類似 Ubuntu 應用商店的視窗來管理軟體包和 AUR。此外,還有 Octopi 等圖形化前端以及其他工具,它們都能提供相當友善的軟體商店體驗。
借助這些介面,您無需輸入命令即可搜尋、安裝和更新應用程序,所有操作均透過 Arch 原生生態系統完成,而無需依賴 .deb 或 .rpm 軟體包。這更符合 Arch 發行版的滾動發布理念,並減少了嘗試安裝為其他發行版系列設計的軟體包時可能出現的兼容性問題。
哪裡可以安全下載 .deb 和 .rpm 文件
如果你使用發行版自備的搜尋引擎找不到想要的程序,可以嘗試使用其他搜尋引擎。 軟體包下載來源 在互聯網上,雖然可以訪問一些網站,但建議謹慎選擇,優先考慮可靠的網站,以最大程度地降低安全風險和資料包被篡改的風險。
你幾乎總是應該先查看的地方是 開發商的官方網站 該程式通常會在其官方網站上提供最新版本的下載鏈接,格式包括 .deb 和 .rpm 以及其他打包格式。此外,它們通常還會提供針對每個發行版的特定安裝說明,或至少提供一個安裝指南,指導使用者選擇合適的檔案。
如果您使用的是 Debian 或其衍生發行版,您也可以存取… Debian 官方軟體包頁面它提供對海量 .deb 格式軟體的高級搜尋功能。其優點之一是大部分內容都提供西班牙語版本,這對於不太熟悉英文文件的使用者來說非常有用。
有些搜尋引擎專門搜尋包裹訊息,例如: 轉速搜尋雖然它的名字裡有“RPM”,但它也提供 .deb 格式的結果。它允許你按發行版、架構和版本進行篩選,從而更容易找到你需要的軟體包,而且在很多情況下,它還能提供一些關於軟體包運行所需依賴項的線索。
另一個退伍軍人網站是 RPM PBone 搜尋它提供了一個非常高級的搜尋引擎,主要針對 .rpm 軟體包,但也基本上涵蓋了 .deb 軟體包。它的附加價值在於幫助您確定可能需要哪些額外的程式庫或軟體包,這在偵錯依賴問題時非常有用。
在開源世界裡,像這樣的平台 GitHub 或 GitLab 它們也是一座寶庫。許多開發者會將 .deb 和 .rpm 安裝套件直接上傳到專案的「發布版本」部分,並按不同架構(amd64、arm64 等)進行版本區分。這樣,您就可以下載對應的軟體包,並使用常用的軟體管理器輕鬆開啟。
穩定版、不穩定版和測試版:這對你的 DEB 包意味著什麼
當你造訪 Debian 軟體包頁面等官方網站時,通常會有多個分支可用: 穩定、不穩定和測試對於大多數用戶來說,建議使用穩定版本,因為它優先考慮可靠性和安全性,而不是始終擁有每個程式的最新版本。
版本 不穩定或測試 如果你喜歡走在時代前沿,在新功能正式發布前搶先體驗,那麼它們非常有吸引力。然而,它們的缺點在於軟體包可能包含漏洞、運作不完善,甚至缺少自動更新,這就需要更多的人工維護。
使用來自不穩定分支的 .deb 軟體包可以讓你存取以下內容: 功能尚未推出 雖然這些軟體包位於穩定分支中,但也意味著在某些情況下,它們可能無法安裝或導致運行時問題。此外,如果將許多實驗性軟體包與旨在保持穩定的系統混合使用,則更容易發生依賴衝突。
如果您決定使用這些分支,最好謹慎行事,並儘可能在測試環境或不涉及關鍵數據的機器上進行測試。這樣,您就可以安心享受新功能,而無需擔心在生產環境或日常工作中因任何錯誤而束手無策。
總之,當你從提供多個分支的軟體倉庫下載 .deb 檔案時,請務必注意以下事項: 它適用於哪個版本的發行版?它位於哪個分支,以及是否存在與該特定軟體包相關的任何可能的功能或安全問題的警告。
如何更新透過 .deb 軟體包安裝的程序
透過 .deb 檔案安裝的程序,其更新方法可能因開發者打包方式的不同而有很大差異。例如,有些應用程式… Google Chrome 或 Discord安裝完成後,它們會整合到您的儲存庫中,或擁有自己的自動更新機制,因此您不必擔心手動下載新的 .deb 檔案。
在這種情況下,只要您能存取網路並且對應的軟體倉庫處於活動狀態,新版本就會透過您常用的更新系統推送,無論是透過 APT、發行版的圖形化工具,還是應用程式本身的內部機制。這是一種非常便捷的更新方式,您甚至不會注意到更新過程。
然而,還有許多其他程式也以 .deb 格式打包。 它們沒有自動更新功能。 他們也不會將自己的軟體倉庫加入系統。在這種情況下,更新軟體的唯一方法是,在新版本發佈時返回專案的下載頁面,下載新的 .deb 文件,然後像第一次安裝時一樣進行安裝。
通常情況下,當在舊版本上安裝較新的 .deb 檔案時,系統會… 用新版本取代舊版本 雖然最好檢查軟體套件管理器是否正確解析,但這樣做不會造成重複安裝。在大多數發行版中,您無需先卸載舊版本:安裝更新後的軟體包通常就足夠了。
這種手動更新流程意味著您可以控制更新計劃,因此您不應忘記定期檢查新版本,尤其是在涉及可能受到影響的應用程式時。 安全漏洞 或您每天用於重要任務(例如網頁瀏覽或通訊)的工具。
Linux 中 DEB 和 RPM 軟體包的現代替代方案
儘管格式 .deb 和 .rpm 雖然它們在Linux生態系統的大部分領域仍然是標準做法,但近年來其他應用程式打包方法也逐漸興起。這些替代方案旨在透過提供更獨立、更易於維護的軟體包來解決依賴關係管理和應用程式隔離等經典問題。
長期以來,存檔是可行的替代方案之一。 名為.tar.gz很多情況下,你需要下載程式的原始碼自行編譯。這種方法可以讓你對安裝的內容進行非常精細的控制,但它需要更多的知識和時間,因此對於喜歡簡單快捷方法的用戶來說,通常不是首選。
在現代格式領域,它們以各種包裝形式出現,例如: Snap 和 Flatpak這些軟體包包含程式及其所有(或幾乎所有)相依性。這意味著,只要不同發行版支援這些格式,該軟體通常就能以相同的方式運行,從而減少因缺少庫或版本不相容而導致的常見錯誤。
配套 搶購 Snap 由 Ubuntu 背後的公司 Canonical 開發,旨在成為 .deb 套件的替代品。 Snap 本質上是一個應用程式容器,其中包含了運行所需的一切,從而最大限度地減少了依賴項衝突的問題。此外,它運行在一個與系統其他部分相對隔離的環境中,這提高了安全性,並防止它對其他程式造成過多幹擾。
另一方面, Flatpak 他們提出的方案與 Snap 非常相似,但採用更開放、更分散的方式,這使得它們在許多發行版中都非常受歡迎。與 Snap 一樣,它們運行在沙盒環境中,只要啟用 Flatpak,就能在不同發行版之間實現良好的可移植性,並且像 Flathub 這樣的圖形商店提供不斷擴展的資源庫。
即使有了這些選擇,該系統 使用 APT、pacman 或 yum/dnf 等傳統軟體倉庫 它仍然至關重要:在大多數發行版中,它是搜尋、下載和安裝軟體的主要方式,也能確保軟體與系統其他部分保持同步更新。 Snap 和 Flatpak 是這項基礎的補充,而非完全取代。
整個情況使得 .deb 和 .rpm 仍然非常重要,尤其是在深度系統整合和傳統軟體方面,但它也為更靈活、更嚴密的格式打開了大門,使得應用程式的分發更容易,而不會在不同的 Linux 版本之間產生太多摩擦。
根據我們所看到的,很明顯,這些包裹 .deb 和 .rpm 它們是Linux生態系統中軟體分發的核心,但也存在一些工具,例如: Alien、APT、圖形管理器以及 Snap 或 Flatpak 等替代系統這樣一來,您就可以安裝和管理它們,而無需不斷地與終端搏鬥;至少了解這些格式的工作原理、在哪裡可以安全地下載它們以及它們與新選項相比有哪些局限性,可以幫助您在安裝應用程式時做出更好的決定,無論是在 Ubuntu、Debian、Arch 還是您可能擁有的任何其他發行版上。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。