Linux 基礎(九)軟件包管理

軟件包管理

    • 概念
    • 軟件包管理工具
      • Red Hat 系
        • RPM
          • rpm安裝
          • rpm卸載
        • YUM(推薦)
          • 源倉庫管理
            • 常見國內 yum 源
            • 更換源(非必須,除非下載速度確實過慢)
          • YUM管理軟件
      • Debian 系
        • 源倉庫管理
          • 常見國內 apt 源
          • 更換源(非必須,除非下載速度確實過慢)
        • 包管理

概念

各個系統都有自己的軟件包管理工具,方便用戶管理,使用各種軟件;
只是大部分Windows用戶可能并沒有太關注,其實也是有的。

軟件包管理工具

不同的系統包管理工具也不同;大體如下

  • Linux:
    Debian/Ubuntu:APT (Advanced Package Tool)
    CentOS/RHEL/Fedora:RPM(RedHat Package Manager)
    Arch Linux:Pacman (Package Manager)
    openSUSE:Zypper
    Slackware:pkgtools

  • macOS:
    Homebrew
    MacPorts
    Fink

  • Windows:
    Chocolatey
    Scoop
    NuGet

  • FreeBSD:
    pkg (pkgng)

這里重點看看Linux下的包管理工具,發行版主要看Red Hat 和 Debian 系

Red Hat 系

RPM

rpm包以 .rpm為后綴;包名一般包含了軟件名版本適用的處理器架構

常用參數

  • q 查詢
  • a 所有
  • i 詳細信息
rpm安裝

rpm -ivh rpm完整包名

安裝時,忽略運行所需的依賴的檢查 –nodeps

rpm卸載

rpm -e 軟件名(無需完整包名):檢查依賴,當前軟件被依賴時,則無法卸載提示報錯。

rpm -e –nodeps 軟件名(無需完整包名);不檢查依賴,強制卸載,可能導致依賴它的軟件無法正常運行

YUM(推薦)

rpm包管理工具存在缺陷,需手動維護軟件之間的依賴關系,而且先下載rpm包。
基于以上原因,基于RPM,更智能化的軟件管理工具YUM就誕生了。
YUM底層還是使用的RPM,只是對其做了一些優化,使其更易于使用。

YUM 在安裝軟件時,會自動下載安裝所需依賴軟件,然后安裝本軟件。
有點類似Maven,所以YUM也有倉庫一說。

源倉庫管理
常見國內 yum 源

阿里云開源鏡像站:https://mirrors.aliyun.com/
網易開源鏡像站:https://mirrors.163.com/
中科大開源鏡像站:https://mirrors.ustc.edu.cn/
清華開源鏡像站:https://mirrors.tuna.tsinghua.edu.cn/

更換源(非必須,除非下載速度確實過慢)

倉庫配置位于 /etc/yum.repos.d 目錄

  1. 先將系統默認的倉庫源備份
cp CentOS-Base.repo CentOS-Base.repo.bak
  1. 下載鏡像倉庫配置
# 阿里云鏡像倉庫
wget http://mirrors.aliyun.com/repo/Centos-7.repo
  1. 將上面下載的鏡像源改名為系統默認加載的 CentOS-Base.repo 名字
  2. 清理之前的yum緩存 && 重新構建緩存
yum clean all && yum makecache

完成。
當然,個別軟件可能在中央倉庫中不存在,則需要我們將對應的倉庫文件拉取到這個目錄下;當中央倉庫找不到時,會自動去其他.repo 結尾的倉庫里面找。

YUM管理軟件

基本語法
yum [opts] command

最常用的可選參數 是 -y:對安裝過程中的詢問以yes處理

yum 行為

  • install :安裝
yum install 軟件名
  • update:更新
# 更新所有可更新軟件
yum update# 更新指定軟件
yum update 軟件名
  • check-update:檢查更新
# 檢查所有更新
yum check-update# 檢查指定軟件更新
yum check-update 軟件名
  • remove:卸載
yum remove 軟件名
  • list:已安裝列表
# 查看所有已安裝軟件及(可安裝更新)
yum list# 查看指定軟件及(可安裝更新)
yum list 軟件名
  • clean:清除yum無效緩存
# 清除無效緩存 && 重新構建緩存;一般更新源后需要執行
yum clean && yum mackcache
  • deplist:顯示軟件包依賴關系
yum deplist 軟件名

Debian 系

Debian系發行版使用 apt 管理軟件包

源倉庫管理

常見國內 apt 源
  1. 華為云
    http://repo.huaweicloud.com/ubuntu/
  2. 阿里云
    http://mirrors.aliyun.com/ubuntu/
  3. 清華大學
    https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
  4. 中科大
    https://mirrors.ustc.edu.cn/ubuntu/
  5. 163
    http://mirrors.163.com/ubuntu/
更換源(非必須,除非下載速度確實過慢)
  1. 備份默認配置
cp /etc/apt/sources.list /etc/apt/sources.list.bak
  1. 修改配置文件
sed -i -r "s#^(deb )(http://.*archive.ubuntu.com|http://.*security.ubuntu.com)#\1http://repo.huaweicloud.com#g" /etc/apt/sources.list
  1. 更新本地源
apt-get update

包管理

基本語法
apt [opts] command

可選項
最常用的是 -y

命令

  • install :安裝/更新(如果已安裝且存在可用更新時)
# 安裝/更新 軟件
apt install 軟件名# 僅更新,如果沒有安裝過,則不執行操作
apt install --only-upgrade 軟件名
  • update:僅僅更新軟件源列表,不更新任何軟件
# 更新軟件源列表
apt update
  • upgrade:升級所有已安裝的軟件包
apt upgrade
  • list --upgradable:檢查更新
# 檢查所有更新
apt list --upgradable
  • remove:卸載
apt remove 軟件名
  • list:已安裝列表
# 查看所有已安裝軟件及(可安裝更新)
apt list# 查看指定軟件及(可安裝更新)
apt  list 軟件名

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

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

相關文章

postman入門基礎 —— 接口測試流程

一、編寫接口測試計劃 接口測試計劃和功能測試計劃目標一致,都是為了確認需求、確定測試環境、確定測試方法,為設計測試用例做準備,初步制定接口測試進度方案。一般來說,接口測試計劃包括概述、測試資源、測試功能、測試重點、測試…

Flutter 報錯 Could not create task ‘xxx‘.this and base files have different roots

遇到此問題也是先去百度了,有的說改了Gradle版本、gradle-wrapper.properties版本和ext.kotlin_version版本之后解決的,我沒嘗試,我用蹩腳的英語大致讀了一下就不是這樣說的,況且我用有道翻譯了也不是這個意思啊,我不知…

抖音小程序實現less語言編譯樣式

1.在抖音開發工具中搜索擴展less 2. 然后點擊小齒輪選擇擴展設置 3. 然后在擴展設置中選擇在settings.json中編輯# 4. 在settings.json中加入以下這段代碼即可 // Easy LESS配置"less.compile": {"compress": false,//是否壓縮"sourceMap": fal…

前端性能優化:緩存

在快節奏的互聯網時代,網站的加載速度直接影響用戶體驗和業務成功。而緩存作為性能優化的重要手段,可以大幅提升網頁加載速度,減少服務器負擔。本文將為你詳解緩存的使用,幫助你優化前端性能,為用戶呈現更快速、流暢的…

EndNote 21 for Mac(文獻管理軟件) v21.0.1中文版

EndNoter mac是一款參考文獻管理軟件,旨在幫助學術研究者、學生和專業人士有效地管理和引用參考文獻。該軟件提供了許多功能,使用戶可以輕松地組織、搜索和引用各種類型的文獻。 EndNoter mac軟件特點和功能 1. 參考文獻管理:EndNoter允許用…

提高 After Effects 效率的 40 個最佳快捷鍵

After Effects 是運動圖形和視覺效果的強大工具,但它也可能讓人不知所措。擁有如此多的特性和功能,很容易讓人迷失在軟件中。但是,有一種方法可以簡化您的工作流程并提高工作效率 - 使用鍵盤快捷鍵。 After Effects素材文件巨大、占用電腦內…

探索自動化網頁交互的魔力:學習 Selenium 之旅【超詳細】

"在當今數字化的世界中,網頁自動化已經成為了不可或缺的技能。想象一下,您可以通過編寫代碼,讓瀏覽器自動執行各種操作,從點擊按鈕到填寫表單,從網頁抓取數據到進行自動化測試。學習 Selenium,這一功能…

Claude 2、ChatGPT、Google Bard優劣勢比較

?Claude 2: 優勢:Claude 2能夠一次性處理多達10萬個tokens(約7.5萬個單詞)。 tokens數量反映了模型可以處理的文本長度和上下文數量。tokens越多,模型理解語義的能力就越強)。它在法律、數學和編碼等多個…

一百五十二、Kettle——Kettle9.3.0本地連接Hive3.1.2(踩坑,親測有效)

一、目的 由于先前使用的kettle8.2版本在Linux上安裝后&#xff0c;創建共享資源庫點擊connect時頁面為空&#xff0c;后來采用如下方法&#xff0c;在/opt/install/data-integration/ui/menubar.xul文件里添加如下代碼 <menuitem id"file-openZiyuanku" label&…

layui的基本使用-日期控件的業務場景使用入門實戰案例一

效果鎮樓&#xff1b; 1 前端UI層面&#xff1b; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&…

TypeScript教程(五)條件語句,循環,函數

一、條件語句 條件語句基于不同的條件來執行不同的動作 1.if語句&#xff1a;只有當指定條件為true時&#xff0c;使用該語句來執行代碼 2.if...else語句&#xff1a;當條件為true時執行代碼&#xff0c;當條件為else時執行其他代碼 3.if...else if...else語句&#xff1a;…

Shell函數調用

定義一個函數&#xff0c;計算所有參數的和&#xff1a; #!/bin/bashfunction getsum(){local sum0for n in $do((sumn))donereturn $sum }getsum 10 20 55 15 #調用函數并傳遞參數 echo $?運行結果&#xff1a; 100

spss--數據分析Log-Binonial模型

在橫斷面研究中&#xff0c;Log-binomial 模型能夠獲得研究因素與結局變量的關聯強度指標患病率比&#xff08;PR&#xff09;&#xff0c;是一種研究二分類觀察結果與多因素之間關系的重要方法&#xff0c;在醫學研究等領域中得到了廣泛的應用。 采用log-binomial 模型可直接估…

elementUi表單恢復至初始狀態并不觸發表單驗證

elementUi表單恢復至初始狀態并不觸發表單驗證 1.場景再現2.解決方法 1.場景再現 左側是樹形列表&#xff0c;右側是顯示節點的詳情&#xff0c;點擊按鈕應該就是新增一個規則的意思&#xff0c;表單內容是沒有改變的&#xff0c;所以就把需要把表單恢復至初始狀態并不觸發表單…

大語言模型(LLM)與 Jupyter 連接起來了

現在&#xff0c;大語言模型&#xff08;LLM&#xff09;與 Jupyter 連接起來了&#xff01; 這主要歸功于一個名叫 Jupyter AI 的項目&#xff0c;它是官方支持的 Project Jupyter 子項目。目前該項目已經完全開源&#xff0c;其連接的模型主要來自 AI21、Anthropic、AWS、Co…

MSP432自主開發筆記6:定時器多通道捕獲多條編碼器線脈沖數

所用開發板&#xff1a;MSP432P401R 今日在此更新一下編碼器測速的定時器捕獲寫法&#xff0c;之前學習時竟然忘記更新了~~ 本文講如何用定時器的通道來 捕獲編碼器的脈沖信號數量&#xff0c;不提供速度路程的計算方式&#xff0c; 文章提供源碼&#xff0c;測試工程下載&a…

積木報表集成前端加載js文件404

項目場景&#xff1a; 在集成積木報表和shiro時候&#xff1a; 集成積木報表&#xff0c;shrio&#xff0c;shrio是定義在另一個模塊下的&#xff0c;供另一個啟動類使用&#xff0c;積木報表集成shrio的時候&#xff0c;需要依賴存放shrio的核心包&#xff0c;該核心包除了存…

android 如何分析應用的內存(十七)——使用MAT查看Android堆

android 如何分析應用的內存&#xff08;十七&#xff09;——使用MAT查看Android堆 前一篇文章&#xff0c;介紹了使用Android profiler中的memory profiler來查看Android的堆情況。 如Android 堆中有哪些對象&#xff0c;這些對象的引用情況是什么樣子的。 可是我們依然面臨…

【ArcGIS】經緯度數據轉化成平面坐標數據

將點位置導入Gis中&#xff0c;如下&#xff08;經緯度表征位置&#xff09;&#xff1a; 如何利用Gis將其轉化為平面坐標呢&#xff1f; Step1 坐標變換 坐標變換&#xff0c;打開ArcToolbox&#xff0c;找到“數據管理工具”->“投影和變換”->“要素”->“投影”…

MySQL—緩存

目錄標題 為什么要有Buffer Poolbuffer pool有多大buffer pool緩存什么 如何管理Buffer Pool如何管理空閑頁如何管理臟頁如何提高緩存命中率預讀失效buffer pool污染 臟頁什么時候會被刷入到磁盤 為什么要有Buffer Pool 雖然說MySQL的數據是存儲在磁盤中&#xff0c;但是也不能…