從Yum中排除特定包

2021-09-27 08:32:53 字數 2318 閱讀 2724

作為系統更新的一部分,你也許需要在基於 red hat 系統中由於應用依賴排除一些軟體包。如果是,如何排除?可以採取多少種方式?有三種方式可以做到,我們會在本篇中教你這三種方法。

包管理器是一組工具,它允許使用者在 linux 系統中輕鬆管理包。它能讓使用者在 linux 系統中安裝、更新/公升級、刪除、查詢、重新安裝和搜尋軟體包。

對於基於 red hat 的系統,我們使用 yum 包管理器 和 rpm 包管理器 進行包管理。

什麼是 yum?

yum 代表 「yellowdog updater, modified」。yum 是用於 rpm 系統的自動更新程式和包安裝/解除安裝器。

它在安裝包時自動解決依賴關係。

什麼是 rpm?

rpm 代表 「red hat package manager」,它是一款用於 red hat 系統的功能強大的包管理工具。

rpm 指的是 .rpm 檔案格式,它包含已編譯的軟體和必要的庫。

方法 1:手動或臨時用 yum 命令排除包

我們可以在 yum 中使用 --exclude 或 -x 開關來阻止 yum 命令獲取特定包的更新。

我可以說,這是一種臨時方法或按需方法。如果你只想將特定包排除一次,那麼我們可以使用此方法。

以下命令將更新除 kernel 之外的所有軟體包。

要排除單個包:

# yum update --exclude=kernel

或者# yum update -x 'kernel'

要排除多個包。以下命令將更新除 kernel 和 php 之外的所有軟體包。

# yum update --exclude=kernel* --exclude=php*

或者# yum update --exclude httpd,php

方法 2:在 yum 命令中永久排除軟體包

這是永久性方法,如果你經常執行修補程式更新,那麼可以使用此方法。

為此,請在 /etc/yum.conf 中新增相應的軟體包以永久禁用軟體包更新。

新增後,每次執行 yum update 命令時都不需要指定這些包。此外,這可以防止任何意外更新這些包。

# vi /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

installonly_limit=3

exclude=kernel* php*

方法 3:使用 yum versionlock 外掛程式排除包

這也是與上面類似的永久方法。yum versionlock 外掛程式允許使用者通過 yum 命令鎖定指定包的更新。

為此,請執行以下命令。以下命令將從 yum update 中排除 freetype 包。

或者,你可以直接在 /etc/yum/pluginconf.d/versionlock.list 中新增條目。

# yum versionlock add freetype

loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock

adding versionlock on: 0:freetype-2.8-12.el7

versionlock added: 1

執行以下命令來檢查被 versionlock 外掛程式鎖定的軟體包列表。

# yum versionlock list

loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock

0:freetype-2.8-12.el7.*

versionlock list done

執行以下命令清空該列表。

# yum versionlock clear

mysql排除id 從MySQL查詢中排除多個ID

希望這只是語法的乙個例子。我正在為wordpress編寫乙個自定義搜尋功能,除了我想排除一些依賴於id的結果之外,這些功能都很好。這適用於乙個id sqlp page select id,post title,post name,post excerpt from wp posts where po...

expdp排除特定使用者的特定表

使用者今天問了乙個expdp的問題,匯出8個使用者下的所有表,排除a使用者下的某張表,但是在其它使用者下也有相同的表名,使用者使用了expdp 的exclude引數,directory dumpdir dumpfile expdp schema others 20141208.dmp schemas...

Linux 中排除掉篩選的檔案

以下命令以 目錄www為例做介紹,有時候更新 的時候需要保留比如目錄,或者其他目錄就需要這樣的操作 例項一 刪除資料夾內所有檔案只保留乙個檔案命令 root linuxzgf www cd html root linuxzgf html ls a dede include install plus ...