Linux 軟件包安裝和管理的相關操作及使用總結(未完成)

一、基礎知識

1、軟件包分類

  • 源碼包(Source Package):包含軟件的源代碼文件、編譯指令和配置文件。需要用戶自行編譯安裝,過程相對復雜,但靈活性高,可以定制安裝選項。文件格式通常為.tar.gz、.tar.bz2等壓縮格式。軟件運行所有的文件都會在同一個包文件里面
  • 二進制包(Binary Package):包含已經編譯好的可執行文件、庫文件、配置文件、幫助文件等,用戶可以直接安裝使用。常見的二進制包格式有RPM包(Red Hat Package Manager)、DEB包(Debian Package)等。rpm包主要在Red Hat、Fedora、CentOS等Linux發行版中使用。包名通常包含軟件名稱、版本號、發布號、適用的Linux發行版標識和架構標識等信息。deb包主要在Debian、Ubuntu等Linux發行版中使用。軟件運行所有的文件分別放到相互依賴的多個包文件里面。

2、RedHat/CentOS 系列包管理工具

  • yum:CentOS和Red Hat Enterprise Linux(RHEL)等發行版中的軟件包管理工具,同樣支持自動處理依賴關系和軟件包的搜索、安裝、升級等操作。
  • dnf:Fedora等發行版中的新一代軟件包管理工具,旨在替代yum,提供更快的軟件包安裝速度和更豐富的功能。
  • rpm:負責rpm包的安裝、查詢、升級、卸載、驗證等操作,僅處理單個rpm包,不自動處理依賴關系 ,依賴缺失會產生報錯。

3、Ubuntu/Debian系列包管理工具

  • apt:用于Debian及其衍生版如Ubuntu中的軟件包管理,能夠自動處理依賴關系,并提供豐富的軟件包倉庫。
  • dpkg:底層包管理工具,直接操作 deb 包,可以安裝,刪除和構建軟件包,但無法自動下載和安裝軟件包或其依賴項。

二、yum基礎知識及使用

1、基礎知識

  • yum 最初是為基于 RPM 的 Linux 發行版(如 Fedora、CentOS、RHEL 等)設計的。它起源于 Yellowdog Linux 發行版,后來經過修改和擴展,成為許多主流 Linux 發行版中不可或缺的一部分。
  • dnf 是 Fedora 項目開發的一個新的包管理器,相較于 yum ,dns?提供了更加快速和靈活的包管理體驗。它支持并行下載和安裝軟件包,從而減少了總體等待時間。此外還提供了更加豐富的命令行選項和輸出格式,使得用戶可以更輕松地獲取所需的信息,已經成為 Fedora 和一些其他基于 RPM 的 Linux 發行版的默認包管理器。而且 dnf 還保留了和 yum 的兼容性,配置也是通用的,所以在 Rocky linux9 里面,他們的操作基本上是一樣的。

2、工作原理

yum、dnf 均基于 c/s 模式,服務端存放 rpm 包和包的元數據庫,客戶端訪問 yum 服務端進行查詢和安裝。先在 yum 服務器上創建 yum repository(倉庫),在倉庫中事先存儲了眾多 rpm 包,以及包的相關的元數據文件(放置于特定目錄 repodata 下),當 yum 客戶端利用 yum/dnf 工具進行安裝包時,會自動下載 repodata 中的元數據,查詢元數據是否存在相關的包及依賴關系,自動從倉庫中找到相關包下載并安裝。

3、客戶端環境配置

yum 客戶端配置文件

  • /etc/yum.conf:為所有倉庫提供公共配置
  • /etc/yum.repos.d/*.repo:為每個倉庫的提供配置文件

基礎命令

#查看幫助
man 5 yum.conf#獲取軟件源信息
yum makecache#清理軟件源信息
yum clean all#查看倉庫的信息
yum repolist#查看倉庫的更多信息
yum repolist -v

4、配置解析

全局配置:/etc/yum.conf

#安裝包前要做包的合法和完整性校驗
gpgcheck=1#同時可以安裝3個包,最小值為2,如設為0或1,為不限制
installonly_limit=3#刪除包時,是否將不再使用的包刪除
clean_requirements_on_remove=True#升級時,自動選擇安裝最新版,即使缺少包的依賴
best=True#跳過不可用的
skip_if_unavailable=False

repo倉庫配置:/etc/yum.repos.d/*.repo

[baseos]#倉庫名稱
name=Rocky Linux $releasever - BaseOS#倉庫地址列表,多個baseurl指向的地址
#mirrorlist=https://mirrors.rockylinux.org/mirrorlistarch=$basearch&repo=BaseOS-$releasever$rltype#倉庫地址
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/BaseOS/$basearch/os/#是否對包進行校驗,默認值為1
gpgcheck=1#是否啟用,默認值為1,啟用
enabled=1#rocky-9中新增配置,默認值false,附加在mirrorlist之后,便于倉庫收集客戶端信息
countme=1#rocky-9中新增配置,metadata 過期時間
metadata_expire=6h#校驗key的地址
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

baseurl 有多種寫法,支持多種協議

baseurl=file:///cdrom/Centos-7.6/
baseurl=https://mirrors.aliyun.com/rockylinux/9.6/AppStream/x86_64/os/
baseurl=http://mirrors.aliyun.com/rockylinux/9.6/AppStream/x86_64/os/
baseurl=ftp://10.0.0.15/

5、配置yum源

#更新yum源
yum makecache#查看yum源
yum repolist查看yum源信息
yum repolist -v查看指定yum源信息
yum repolist --repoid=aliyun -v

6、國內yum源地址(RockyLinux)

  • 阿里云:https://mirrors.aliyun.com/rockylinux/
  • 中國科學技術大學:http://mirrors.ustc.edu.cn/rocky/
  • 南京大學:https://mirrors.nju.edu.cn/rocky/
  • 上海交通大學:https://mirrors.sjtug.sjtu.edu.cn/rocky/
  • 東軟信息學院:http://mirrors.neusoft.edu.cn/rocky/

7、鏡像掛載+配置本地yum源

掛載本地鏡像文件

#新建目錄 /mnt/cdrom 用于掛載鏡像
mkdir -p /mnt/cdrom#上傳 CentOS-7-x86_64-Minimal-2009.iso 文件到服務器 /mnt 目錄下
#掛載鏡像
mount -o loop /mnt/Rocky-9.4-x86_64-dvd.iso  /mnt/cdrom# 取消掛載
umount /mnt/cdrom

注:在 Linux 中掛載 iso 鏡像后,掛載點的磁盤使用率顯示100%是正常現象,無需處理。原因是:iso 鏡像文件的本質是一個完整的光盤文件系統鏡像,包含了所有文件的打包數據,且文件系統大小是固定的(即為鏡像文件的大小)。當掛載 iso 時,操作系統會將其識別為一個“只讀的虛擬磁盤”,總量就是 iso 文件的大小,且內部沒有空閑空間(所有空間都被鏡像內容占滿)。iso 鏡像的設計目的就是“讀取內容”(如安裝操作系統,提取文件等),而非“寫入數據”,所以也無需空閑空間。因此 df -h 等命令會顯示該掛載點的磁盤使用率為100%。

配置本地yum源

[cdrom-appstream]
name=cdrom appstream
baseurl=file:///mnt/cdrom/AppStream
gpgcheck=0[cdrom-baseos]
name=cdrom baseos
baseurl=file:///mnt/cdrom/BaseOS/
gpgcheck=0

清除緩存信息并更新yum源

#清除yum源緩存
yum clean all

8、yum常用命令

命令格式:

yum [options] COMMAND

常用子命令:

  • autoremove:卸載包,同時卸載依賴
  • clean:清除本地緩存
  • install:包安裝
  • list:列出所有包
  • makecache:重建緩存
  • search:包搜索,包括包名和描述

一般子命令:

  • check-update:檢查可用更新
  • downgrade:包降級
  • group:包組相關
  • help:顯示幫助信息
  • history:顯示history
  • info:顯示包相關信息
  • reinstall:重裝
  • remove:卸載
  • repolist:顯示或解析repo源
  • search:包搜索,包括包名和描述

常用選項:

  • -y:自動回答為 yes

一般選項:

  • -c file:指定配置文件,默認使用/etc/yum.conf
  • -v:顯示詳細信息
  • -b:嘗試在可用包中尋找最匹配的版本
  • --nogpgcheck:不進行包校驗
  • --repo repoid:指定repo源
  • --enablerepo repoid:臨時啟用repo源,可用通配符
  • --disablerepo repoid:臨時禁用repo源,可用通配符
  • --nodocs:不安裝文檔
  • --skip-broken:跳過有問題的包
  • --enable:啟用源,配合 configmanager
  • --disable:禁用源,配合 configmanager
  • -x package:排除指定包,可用通配符
  • --downloadonly:只下載,不安裝

9、應用示例

#默認顯示所有啟用的yum源
yum repolist #顯示啟用的yum源
yum repolist --enable#顯示禁用的yum源
yum repolist --disabled#查看所有軟件
yum list#查看所有可更新的包
yum list --updates#查看所有以 t 開頭的包,包括己安裝的和可安裝的
yum list --all t*#查看所有可用的包
yum list --available#查看指定軟件可用的包
yum list --available telnet#查看所有已安裝軟件
yum list --installed#查看指定的已安裝軟件
yum list --installed telnet#查看軟件
yum list telnet#指定源查看軟件
yum list --repo=aliyun telnet#交互方式安裝軟件 - 需要輸入 y 確認
yum install yum install httpd#直接安裝軟件 - 無需詢問
yum install -y telnet#不安裝軟件,僅下載軟件
yum install telnet --downloadonly --downloaddir=/tmp/#使用本地rpm文件安裝
yum localinstall nginx-1.20.1-16.el9_4.1.x86_64.rpm#卸載單個軟件
yum remove telnet#卸載多個軟件
yum remove telnet httpd#升級指定包
yum update telnet#根據名字檢索軟件
yum search telnet#查看指定包所依賴的庫和程序
yum deplist nginx#查看yum歷史命令
yum history#查看跟指定軟件相關的歷史命令
yum history telnet

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93958.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93958.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93958.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【開發指南】飛凌i.MX9352核心板開發過程中的常見問題及排查思路

飛凌嵌入式作為NXP金牌合作伙伴,已基于i.MX系列應用處理器推出了多款嵌入式主控產品,除了最新發布的i.MX95xx系列核心板外,同為i.MX9系的i.MX93xx系列核心板也已上市多年并獲得了眾多客戶的認可和選擇。在長期的技術支持服務過程中&#xff0…

Windows應急響應一般思路(二)

進程排查 進程(Process)是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎 無論是在Windows系統還是Linux系統中,主機在感染惡意程序后,惡意程序都會啟動相應的進程&am…

FFmpeg03:多媒體文件處理基礎

日志系統 #include <libavutil/log.h>av_log_set_level(AV_LOG_DEBUG)av_log(NULL, AV_LOG_INFO, “…%s\n”, op) 常用日志級別 AV_LOG_ERROR AV_LOG_WARNING AV_LOG_INFO Demo log.cpp #include <iostream> extern "C" { #include <libavutil/log.h…

【每天一個知識點】AIOps 與自動化管理

一、AIOps 的內涵AIOps&#xff08;Artificial Intelligence for IT Operations&#xff09;&#xff1a;指將人工智能、大數據分析和機器學習技術應用于 IT 運維管理中。主要目標是&#xff1a;利用智能算法對云平臺、網絡、應用和日志等海量運維數據進行實時分析&#xff0c;…

ios使用saveVideoToPhotosAlbum 保存視頻失敗提示 invalid video

ios使用saveVideoToPhotosAlbum 保存視頻失敗提示 invalid video 解決辦法 iOS 上對保存到相冊的視頻存在某種格式和分辨率上的限制&#xff0c;建議先自查看下視頻生成的參數&#xff0c;可以先試試蘋果自帶瀏覽器 safari 上能否播放該視頻。 如果不能播放&#xff0c;證明 io…

Vue基礎(③父子組件)

房子&#xff08;父組件&#xff09;包含窗戶和門&#xff08;子組件&#xff09; 窗戶和門&#xff08;子組件&#xff09;是房子&#xff08;父組件&#xff09;的一部分父組件<!-- 父組件&#xff1a;比如叫 Home.vue --> <template><div><h1>這是父…

AI領域的語義空間是什么?

寫在前面&#xff1a;本文將從簡單的二維空間來逐漸展開問題&#xff0c;帶您理解語義空間。距離和體型&#xff1a;這里嘗試用距離和體型這兩個尺度來理解語義空間&#xff0c;先說的是低維情況&#xff0c;后面在嘗試理解高維的情況。比如&#xff0c;在二維空間的x,y坐標系&…

排序---插入排序

基本思想對于插入排序而言&#xff0c;它的基本思想就是往已經排好序的序列里邊插入數據。思想類似于玩撲克牌。接下來的排序都是基于下邊的這個數組。int a[ ] { 5 , 3 , 9 , 6 , 2 , 4 , 7 , 1 , 8 };直接插入排序我們想要將這個數組排成升序&#xff0c;在最一開始&#xf…

Java性能優化實戰(四):IO與網絡優化的4個關鍵方向

IO與網絡操作是Java應用性能的常見瓶頸&#xff0c;尤其在高并發場景下&#xff0c;低效的IO處理會導致響應緩慢、資源浪費等問題。本文將聚焦IO與網絡優化的四個核心方向&#xff0c;通過真實案例、代碼對比和性能數據&#xff0c;詳解如何提升IO效率、減少網絡傳輸開銷&#…

對齊Wireshark和USRP捕獲信號的波形

一、USRP信號 USRP捕獲信號的波形如下&#xff1a; 放大后&#xff1a; 100ms 10ms 1ms 100us 10us 1us 二、波形分析 2.1 時間分辨率 采樣率61.44MHz, 對應時間分辨率為1/61.44us0.01627us16.27ns。 這時間分辨率夠用了&#xff0c;數據包長度為1到20us&#xff1a; 2.2 W…

2025年加密軟件技術深度分析:從原理到企業級應用實踐

一、加密技術基礎與分類加密技術作為信息安全的核心基石&#xff0c;其基本原理是通過特定算法將明文數據轉換為不可讀的密文&#xff0c;只有持有正確密鑰的授權用戶才能解密還原。2025年主流的加密技術可分為三大類&#xff1a;?對稱加密?&#xff1a;使用相同密鑰進行加密…

打工人日報20250822

打工人日報20250822 對自己負責&#xff0c;可以是換一個角度看待自己不喜歡的工作&#xff0c;轉換一個角度&#xff0c;從中找到自己感興趣的點 真的非常不想計算聲場的數據 啊啊啊啊啊 技術 STM32燒錄問題 STM32 代碼燒錄失敗&#xff1a;Error: Flash Download failed …

消費盲返模式:重構快消行業營銷生態的破局之道與風險防控指南

一、模式爆發&#xff1a;快消行業的新增長引擎在流量成本攀升、用戶留存困難的商業環境下&#xff0c;消費盲返模式正成為零售領域的一匹黑馬。其核心邏輯在于通過"消費即投資"的機制設計&#xff0c;將每筆交易轉化為后續100筆訂單的激勵源&#xff0c;形成獨特的&…

STM32-FreeRTOS快速入門指南(上)

第一章 FreeRTOS系統配置 1. FreeRTOSConfig.h文件 針對 FreeRTOSConfig.h 文件&#xff0c;在 FreeRTOS 官方的在線文檔中有詳細的說明&#xff0c;網址為&#xff1a; https://www.freertos.org/a00110.html FreeRTOS 使用 FreeRTOSConfig.h 文件進行配置和裁剪。 FreeRTOSCo…

南溪智融雙碳示范基地建筑設備管理系統 + 智能照明系統調試完成:筑牢 “綠色智能” 運營基石

南溪智融雙碳示范基地作為聚焦 “雙碳” 目標的標桿項目&#xff0c;其建筑設備管理系統與智能照明系統的調試完成&#xff0c;標志著基地在 “設備高效運維、能源精準管控、低碳場景落地” 方面邁出關鍵一步。兩大系統深度契合示范基地 “以技術賦能雙碳” 的核心定位&#xf…

c++的可擴展性方法

在C編碼中&#xff0c;"方便擴展"通常指的是代碼設計具有良好的**可維護性、可重用性和靈活性**&#xff0c;能夠在不修改原有代碼或僅少量修改的情況下&#xff0c;輕松添加新功能、支持新類型或適應新需求。以下是一些典型的、體現“方便擴展”思想的C編程案例&…

加速車輛開發 風丘道路載荷數據采集 (RLDA) 測試方案

一、背景 整車廠在汽車上市前&#xff0c;了解產品所能承受的載荷是非常重要的&#xff0c;因此需進行道路載荷數據采集&#xff08;RLDA&#xff09;測試。通過獲得車輛在實際試驗場或公路道路中行駛的載荷信息來為整車臺架道路模擬試驗提供目標信號輸入&#xff0c;以及為用于…

大模型0基礎開發入門與實踐:第4章 “腦細胞”的模擬:神經網絡與深度學習入門

第4章 “腦細胞”的模擬&#xff1a;神經網絡與深度學習入門 1. 引言 在上一章&#xff0c;我們像一位偵探&#xff0c;學會了使用決策樹這樣的工具&#xff0c;從清晰的線索&#xff08;花瓣、花萼的尺寸&#xff09;中推理出確定的結論&#xff08;鳶尾花的種類&#xff09;。…

微服務之間的調用關系如何處理,才能防止循環依賴

在微服務架構中&#xff0c;循環依賴是常見的設計問題&#xff0c;可能導致系統部署失敗、啟動順序沖突、故障排查困難等問題。處理循環依賴的核心原則是通過架構設計打破依賴閉環&#xff0c;以下是具體的解決方案&#xff1a; 1. 重新劃分服務邊界&#xff08;根本解決&#…

粗糧廠的基于flink的汽車實時數倉解決方案

基于flink的實時數倉解決方案1 背景2 業務模型1 業務框架2 難點痛點3技術選型1 計算引擎2 中間存儲3 查詢引擎4 flink計算架構設計1 純實時架構2 純實時定期補充離線數據3 純實時定期刷新過期binlog4 lamdba 分字段更新 歷史過期數據刷新5 痛點解決delta joinmerge-enginehol…