Linux命令(8)yum命令

来源:https://www.cnblogs.com/shijunxian/archive/2020/05/20/12920520.html
-Advertisement-
Play Games

[toc] yum命令 檢查更新 查看系統上已安裝的程式包有哪些可用更新 GeoIP 包的名稱 x86_64 構建包的CPU架構 1.5.0 要安裝的更新包的版本 base 更新的程式包所在的存儲庫 更新程式包 我們可以一次更新一個、多個或所有程式包,更新時此程式包所有依賴的程式包也會進行更新。 更 ...


目錄

yum命令

檢查更新

查看系統上已安裝的程式包有哪些可用更新

yum check-update
~]# yum check-update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

GeoIP.x86_64                  1.5.0-14.el7                      base     
NetworkManager.x86_64         1:1.18.4-3.el7                    base         
NetworkManager-libnm.x86_64   1:1.18.4-3.el7                    base         
NetworkManager-team.x86_64    1:1.18.4-3.el7                    base         
NetworkManager-tui.x86_64     1:1.18.4-3.el7                    base         
acl.x86_64                    2.2.51-15.el7                     base         
alsa-lib.x86_64               1.1.8-1.el7                       base
...
  • GeoIP - 包的名稱
  • x86_64 - 構建包的CPU架構
  • 1.5.0 - 要安裝的更新包的版本
  • base - 更新的程式包所在的存儲庫

更新程式包

我們可以一次更新一個、多個或所有程式包,更新時此程式包所有依賴的程式包也會進行更新。

更新單個程式包

yum update package_name

示例:更新bash程式包

~]# yum update bash
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package bash.x86_64 0:4.2.46-31.el7 will be updated
---> Package bash.x86_64 0:4.2.46-34.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved
=========================================================================================
 Package          Arch            Version          Repository         Size
=========================================================================================
Updating:
 bash             x86_64          4.2.46-34.el7     base              1.0 M

Transaction Summary
=========================================================================================
Upgrade  1 Package

Total download size: 1.0 M
Is this ok [y/d/N]: 
  • Loaded plugins - 顯示Yum所有的插件

  • bash.x86_64 - 表示所要安裝的更新包

  • yum預設情況下以交互方式運行

    • y 選項,表示同意安裝更新

    • d 選項,yum會立即下載程式包而不安裝它們。我們可以使用 yum localinstall 來安裝這些程式包,不過此命令已經廢棄,可直接使用 yum install 來安裝。

      下載的程式包預設保存在為 /var/cache/yum/\(basearch/\)releasever/packages/

    • N 取消安裝更新

更新所有程式包及其依賴的程式包

 yum update

更新與安全相關的包

如果程式包具有可用的安全更新,則只能將這些程式包更新為其最新版本。

yum update --security

查找程式包

 yum search package_name
~]# yum search zsh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
=================== N/S matched: zsh ==========================
autojump-zsh.noarch : Autojump for zsh
zsh-html.x86_64 : Zsh shell manual in html format
zsh.x86_64 : Powerful interactive shell
zsh-lovers.noarch : A collection of tips, tricks and examples for the Z shell

  Name and summary matches only, use "search all" for everything.
  • 預設情況下,yum search返回匹配的程式包的名稱和摘要信息。

列出程式包

列出系統上所有已經安裝和可用的程式包

 yum list all
~]# yum list all
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
GeoIP.x86_64                  1.5.0-11.el7     @CentOS7-base
NetworkManager.x86_64         1:1.10.2-13.el7  @CentOS7-base
accountsservice.x86_64        0.6.45-7.el7      CentOS7-base 
accountsservice-devel.i686    0.6.45-7.el7      CentOS7-base 
......   
  • 如果程式包已經安裝,在其對應的yum倉庫名稱前會有一個 @CentOS7-base 標誌,如果沒有安裝,則沒有任何標誌CentOS7-base。

列出系統上已經安裝的所有程式包,輸出內容最右側表示程式包所在的yum倉庫。

yum list installed
~]# yum list installed
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
GeoIP.x86_64             1.5.0-11.el7          @CentOS7-base 
NetworkManager.x86_64    1:1.10.2-13.el7       @CentOS7-base 

列出所有已啟用存儲庫中的所有可用的程式包

yum list available
~]# yum list available
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Available Packages
0ad.x86_64               0.0.22-1.el7         fedora-epel-7
0ad-data.noarch          0.0.22-1.el7         fedora-epel-7
0install.x86_64          2.11-1.el7           fedora-epel-7

列出所有程式包組

yum grouplist
[root@node1 ~]# yum groups list
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done

列出所有程式包組的組ID

[root@node1 ~]# yum grouplist ids
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Available Environment Groups:
   Minimal Install (minimal)
   Compute Node (compute-node-environment)
   Infrastructure Server (infrastructure-server-environment)
   File and Print Server (file-print-server-environment)
   Basic Web Server (web-server-environment)
   Virtualization Host (virtualization-host-environment)
   Server with GUI (graphical-server-environment)
   GNOME Desktop (gnome-desktop-environment)
   KDE Plasma Workspaces (kde-desktop-environment)
   Development and Creative Workstation (developer-workstation-environment)
Available Groups:
   Compatibility Libraries (compat-libraries)
   Console Internet Tools (console-internet)
   Development Tools (development)
   Graphical Administration Tools (graphical-admin-tools)
   Legacy UNIX Compatibility (legacy-unix)
   Scientific Support (scientific)
   Security Tools (security-tools)
   Smart Card Support (smart-card)
   System Administration Tools (system-admin-tools)
   System Management (system-management)
Done

列出所有的程式包的組ID及隱藏的ID

[root@node1 ~]# yum grouplist hidden ids

安裝程式包組

安裝程式包組有四種方法

yum group install "group name"
yum group install groupid
yum install @group
yum install @^group
  • 以上四種方法是等價的,哪種簡單用哪種。

示例:以Development Tools為例,顯示四種安裝方法

 ~]# yum group install "Development Tools"
 ~]# yum group install development
 ~]# yum install @"Development Tools"
 ~]# yum install @development
  • 個人喜歡第四種,因為可以少打字。

卸載程式包組

yum group remove "group name"
yum group remove groupid
yum remove @group
yum remove @^group

示例:以Development Tools為例,顯示四種卸載程式包組的方法

 ~]# yum group remove "Development Tools"
 ~]# yum group remove development
 ~]# yum remove @"Development Tools"
 ~]# yum remove @development

查看程式包信息

查看一個或多個程式包的信息

~]#yum info package_name1 [package_name2] [...]

示例:查看httpd程式包的信息。

~]# yum info httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
Name         : httpd
Arch         : x86_64
Version      : 2.4.6
Release      : 80.el7.centos
Size         : 9.4 M
Repo         : installed
From repo    : CentOS7-base
Summary      : Apache HTTP Server
URL          : http://httpd.apache.org/
License      : ASL 2.0
Description  : The Apache HTTP Server is a powerful, 
             : efficient, and extensible web server.

安裝程式包

安裝程式包時 yum命令會自動解決依賴關係,將程式包及其所有未安裝的依賴的程式包都安裝。

安裝單個程式包

~]# yum install package_name

安裝多個程式包

安裝多個程式包時,可以將多個程式包名以空格分隔來安裝。

~]# yum install package_name1 [package_name2] [...]

預設安裝程式包的最新版本,安裝舊版本時需要指定版本號。

示例:同時安裝多個程式包。

~]# yum install httpd mysql

當我們只是知道要安裝的二進位文件的名稱,而不知道其程式包名稱,則可以為 yum install 提供路徑名稱。

~]# yum install /usr/bin/passwd

這時yum會搜索包列表,檢索哪個包提供了/usr/bin/passwd,如果有的話就會提供我們安裝。

查看指定的文件是由哪個程式包提供

yum provides “filename” 

當我們只是知道一個命令,如ls,但不確定其到底安裝在/bin目錄還是/sbin/目錄中,以及ls命令是由哪個程式包安裝,我們可以使用 yum provides 命令。

# yum provides "*bin/ls"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
coreutils-8.22-21.el7.x86_64 : A set of basic GNU tools
commonly used in shell scripts
Repo: CentOS7-base
Matched from:
Filename: /bin/ls
Filename: /usr/bin/ls

coreutils-8.22-21.el7.x86_64 : A set of basic GNU tools 
commonly used in shell scripts
Repo: @CentOS7-base
Matched from:
Filename: /bin/ls
Filename: /usr/bin/ls

重新安裝程式包

~]# yum reinstall httpd

卸載程式包

要卸載特定程式包以及依賴於它的任何程式包

yum remove package_name...

示例:卸載httpd程式包

~]# yum remove httpd

卸載多個程式包

~]# yum remove package_name1 [package_name2] [...]

列出yum倉庫

列出系統上每個已啟用倉庫的倉庫ID,名稱和程式包數量。

~]# yum repolist 
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                repo name          status
CentOS7-base           CentOS7-base        9,911
docker-ce-7            docker-ce-7           156
fedora-epel-7          fedora-epel-7      12,661

yum repolist 只顯示狀態為enabled的倉庫信息。使用 yum repoinfo命令列出倉庫的更多信息,不過此命令在CentOS6系統上不可用。

列出已經啟用和禁用的倉庫

yum repolist all
 ~]# yum repolist all
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                repo name                status
C7.0.1406-base/x86_64  CentOS-7.0.1406 - Base   disabled
CentOS7-base           CentOS7-base             enabled:  9,911
fedora-epel-7          fedora-epel-7            enabled: 12,661
  • 最右側輸出的狀態列 status 列出了相關倉庫的啟用和禁用狀態。

添加Yum倉庫

一般我們為方便管理都會在 /etc/yum.repos.d/目錄中添加文件尾碼為.repo的文件,而不是在/etc/yum.conf文件中添加。

互聯網上的Yum倉庫通常提供自己的.repo文件,我們只需要使用以下命令添加即可。

yum-config-manager --add-repo repository_url
  • 其中repository_url是.repo文件的鏈接。

示例:給當前系統添加網易的CentOS源。

~]# yum-config-manager --add-repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

啟用Yum倉庫

yum-config-manager --enable repositoryID
  • repositoryID是倉庫的唯一ID(使用 yum repolist all 列出可用的存儲庫ID)

啟用所有存儲庫

~]# yum-config-manager --enable \*

禁用Yum倉庫

yum-config-manager --disable repositoryID
  • repositoryID是倉庫的唯一ID(使用 yum repolist all 列出可用的存儲庫ID)

禁用所有存儲庫

~]  yum-config-manager --disable \*

添加Yum倉庫遇到的問題

[root@node1 ~]# yum-config-manager --add-repo https://mirrors.163.com/.help/CentOS7-Base-163.repo
Loaded plugins: fastestmirror
adding repo from: https://mirrors.163.com/.help/CentOS7-Base-163.repo
grabbing file https://mirrors.163.com/.help/CentOS7-Base-163.repo to /etc/yum.repos.d/CentOS7-Base-163.repo
Could not fetch/save url https://mirrors.163.com/.help/CentOS7-Base-163.repo to file /etc/yum.repos.d/CentOS7-Base-163.repo: [Errno 14] curl#60 - "Peer's Certificate has expired."

出現問題的原因是當前系統的時間與yum源的時間不一致導致。

解決辦法:

[root@node1 ~]# yum -y install ntp
[root@node1 ~]# ntpdate time.windows.com

更新與安全相關的包

列出所有與安全相關的更新

 yum --security check-update 

如果程式包具有可用的安全更新,則將這些程式包更新為最新版本

 yum --security update 

只安裝最安全的安全更新,忽略所有可能包含不安全新功能的包

yum --security update-minimal

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

-Advertisement-
Play Games
更多相關文章
  • 找到layoutControlGroup1屬性的Padding 設置All 為0,下圖為設置完成後的: 有問題記錄一下。 ...
  • 最近在做.net core項目,然後就把VS 2017更新到最新版本,以及更新.net core sdk。頻繁的更新開發工具,結果就出現了“調用目標發生了異常”,本來運行、調試都是好好的,更新了一下版本,就出現這樣的問題,雖然不影響運行使用,但是每執行到一段代碼,就彈出“調用目標發生了異常”,特別煩 ...
  • 本文屬於OData系列 目錄 "武裝你的WEBAPI OData入門" "武裝你的WEBAPI OData便捷查詢" "武裝你的WEBAPI OData分頁查詢" 武裝你的WEBAPI OData資源更新 武裝你的WEBAPI OData之EDM 武裝你的WEBAPI OData常見問題 武裝你的W ...
  • 大家好,今天有時間給大家帶來Winform自繪控制項的第二部分,也是比較有意思的一個控制項:旋轉太極圖。 大家可以停下思考一下,如果讓你來繪製旋轉的太極圖,大家有什麼樣的思路呢?我今天跟大家展示一下,我平時繪製所用的思路,還請各位不吝賜教。 其實連續的動畫效果,微觀上去看,就是將這連續的時間切成一小段一 ...
  • 1.背景 在ketchup誕生之前。期間也是用surging開發了兩個項目。奈何surging沒有文檔,升級之後,只能從頭在讀一遍源碼,瞭解新功能,會消耗大量的時間。商業化也使一些 想學習微服務的人望而卻步。所以就誕生了我想做一個微服務框架的想法。 ketchup的誕生 借鑒了大量surging的設 ...
  • 參考資料:Invalid column name 'TagCode'. 該異常和Discriminator沒關係,一般原因:1、資料庫中欄位和實體類欄位不一致導致的2、創建新增繼承於資料庫對應的實體類,新增不用和資料庫映射,可在類上加[NotMapped]特性(屬於EF的命名空間)該特性是EF中的屬 ...
  • 前言 本文介紹在Winform桌面應用中,使用IISExpress做Host主機,啟動.Net平臺的Web項目。 瀏覽Web網頁使用CEF開源組件。 準備 首先創建Winform項目WinFormIISExpressHost。 然後把IISExpress文件夾放到項目的Bin\Debug下。 尋找I ...
  • 由於項目需要,最近研究了一下跨進程通訊改寫第三方程式中的方法(運行中),把自己程式中的目標方法直接覆蓋第三方程式中的方法函數;一直沒有頭緒,通過搜索引擎找了一大堆解決方案,資料甚是稀少,最後功夫不負有心人,經過兩天的研究,終於在github 上找到兩個開源的代碼,通過兩個開源代碼結合起來即可實現我的... ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...