linux包管理器rpm和dpkg的使用說明

来源:https://www.cnblogs.com/heyongshen/archive/2022/10/11/16778826.html
-Advertisement-
Play Games

軟體包: 開源軟體剛開始只提供打包好的源代碼文件(例如:.tar.gz),用戶需要自己使用編譯器編譯後才能使用。 Debian誕生時,管理工具dpkg也就應運而生,可用來管理deb尾碼的"包"文件 後面後Red Hat才開發自己的rpm包管理系統 主流軟體包管理器: redhat:RPM Packa ...


軟體包:
  • 開源軟體剛開始只提供打包好的源代碼文件(例如:.tar.gz),用戶需要自己使用編譯器編譯後才能使用。

  • Debian誕生時,管理工具dpkg也就應運而生,可用來管理deb尾碼的"包"文件

  • 後面後Red Hat才開發自己的rpm包管理系統

主流軟體包管理器:
  • redhat:RPM Package Manager,管理rpm文件

  • debain: dpkg(debian package) 包管理器,管理deb文件

rpm 包管理器

CentOS 系統上使用rpm命令管理程式包

  • 安裝:-i

  • 升級:-U

  • 卸載:-e

  • 查詢:-q

-h:  以#顯示程式包管理執行進度

-v: verbose
安裝軟體包

rpm {-i|--install} [install-options] PACKAGE_FILE…

註意:安裝的時候要寫軟體包的路徑

#安裝選項
--test: 測試安裝,但不真正執行安裝,即dry run模式

--nodeps:忽略依賴關係

--replacepkgs | replacefiles

--nosignature: 不檢查來源合法性

--nodigest:不檢查包完整性
軟體包的升級和降級

rpm {-U|--upgrade} [install-options] PACKAGE_FILE...

rpm {-F|--freshen} [install-options] PACKAGE_FILE...

upgrade和區別:

  • upgrade:安裝有舊版程式包,則"升級",如果不存在舊版程式包,則"安裝"

  • freshen:安裝有舊版程式包,則"升級", 如果不存在舊版程式包,則不執行升級操作

安裝選項:
--oldpackage:降級

--force: 強制安裝

註意:
程式包升級不會覆蓋配置文件,而是把新版本文件重命名(FILENAME.rpmnew)後保留。

包查詢

rpm {-q|--query} [select-options] [query-options]

[select-options]
-a:所有包(系統上安裝了的)

-f:查看指定的文件由哪個程式包安裝生成

-p rpmfile:針對尚未安裝的程式包文件做查詢操作

[query-options]
-c:查詢程式的配置文件

-d:查詢程式的文檔

-i:information

-l:查看指定的程式包安裝後生成的所有文件

--scripts:程式包自帶的腳本
包卸載

rpm {-e|--erase} [option] PACKAGE_NAME ...

註意:

  • 當包卸載時,對應的配置文件不會刪除, 以FILENAME.rpmsave形式保留

  • 如果其它軟體包依賴於您要卸載的軟體包,卸載時則會產生錯誤信息

  • 卸載只需要寫軟體的名稱,如果存在多個版本就要寫全名

選項:
--allmatches:卸載所有匹配的包(僅輸個軟體名即可,指示RPM卸載所有匹配的包,)

--test:卸載測試,如果存在依賴關係就會提示報錯

-nodeps , 不檢查依賴,強制刪除(一般不推薦這樣做)
RPM的資料庫:/var/lib/rpm

存放已安裝的包名、文件列表、依賴關係、安裝路徑等

  • rpm包安裝生成的信息都放在:/var/lib/rpm 這個文件中

  • 利用這個資料庫就可以知道系統已經安裝的rpm包和裡面包含的文件、屬性。

  • 安裝和卸載軟體都會首先檢查這個資料庫。

RPM資料庫維護

重新建RPM資料庫:rpm {--initdb|--rebuilddb}

initdb: 初始化,如果事先不存在資料庫,則新建之,否則,不執行任何操作

rebuilddb:重建已安裝的包頭的資料庫索引目錄

dpkg debian的包管理器

  • 安裝:-i

  • 刪除:-P

  • 查詢:-l

-列出文件:-L

#安裝包
dpkg -i package.deb 

#刪除包,不建議,不自動卸載依賴於它的包
dpkg -r package 

#刪除包(包括配置文件)
dpkg -P package 

#列出當前已安裝的包,類似rpm -qa
dpkg -l

#顯示該包的簡要說明
dpkg -l package 

#列出該包的狀態,包括詳細信息,類似rpm –qi
dpkg -s package 

#列出該包中所包含的文件,類似rpm –ql 
dpkg -L package 

#搜索包含pattern的包,類似rpm –qf 
dpkg -S <pattern> 

#配置包,-a 使用,配置所有沒有配置的軟體包
dpkg --configure package 

#列出 deb 包的內容,類似rpm –qpl 
dpkg -c package.deb 

#解開 deb 包的內容
dpkg --unpack package.deb

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 現在的關係型資料庫例如PostgreSQL/MySQL, 都已經對 JSON 類型提供相當豐富的功能, 項目中對於不需要檢索但是又需要結構化的存儲, 會在資料庫中產生很多 JSON 類型的欄位, 與 Jackson 做對象的序列化和反序列化配合非常方便. 如果 JSON 在 Java 代碼中是定義為... ...
  • 目錄 什麼是應用服務雪崩 雪崩效應產生的幾種場景 緩存雪崩的解決方案 雪崩的整體解決方案 熔斷設計 隔離設計 超時機制設計 如何提前發現雪崩 什麼是應用服務雪崩 雪崩問題 分散式系統都存在這樣一個問題,由於網路的不穩定性,決定了任何一個服務的可用性都不是 100% 的。當網路不穩定的時候,作為服務的 ...
  • 一、前言 MyBatis 創建時的一個思想是:資料庫不可能永遠是你所想或所需的那個樣子。 我們希望每個資料庫都具備良好的第三範式或 BCNF 範式,可惜它們並不都是那樣。 如果能有一種資料庫映射模式,完美適配所有的應用程式,那就太好了,但可惜也沒有。 而 ResultMap 就是 MyBatis 對 ...
  • > cat /etc/kylin-build Kylin-Desktop V10-SP1 Build 20220316 > cat /etc/.kyinfo [dist] name=Kylin milestone=Desktop-V10-SP1-General-RC6-Build21-2203 ar ...
  • 一:背景 1.講故事 最近分享了好幾篇關於 非托管記憶體泄漏 的文章,有時候就是這麼神奇,來求助的都是這類型的dump,一飲一啄,莫非前定。讓我被迫加深對 NT堆, 頁堆 的理解,這一篇就給大家再帶來一篇記憶體泄漏。 前段時間有位朋友找到我,說他的程式出現了非托管泄漏,某一塊的操作會導致非托管記憶體上漲的 ...
  • 三台虛擬主機搭建lnmp 環境說明: |主機說明| ip| 安裝服務| | : | : : | : | |nginx |192.168.222.137 |nginx| |mysql| 192.168.222.138 |mysql| |php |192.168.222.139 |php| 阿裡雲官網 ...
  • 分離部署LNMP 環境說明: | 系統 | 主機名 | IP | 服務 | | | | | | | centos8 | nginx | 192.168.111.141 | nginx | | centos8 | mysql | 192.168.111.142 | mysql | | centos8 ...
  • 摘要:我們利用華為雲IoTDA平臺構建一個智能電梯運行狀態檢測模型,模擬一下智能電梯檢測器的工作原理。 本文分享自華為雲社區《太棒了,5分鐘構建IoT智能電梯檢測器模型》,作者:清雨小竹。 什麼是物模型? 物模型是現實中的設備(如感測器、車載裝置、樓宇、工廠等)在雲端的數字化表示,用於描述了該設備是 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...