YUM

[root@aftree ~]# yum --help
Loaded plugins: fastestmirror
Usage: yum [options] COMMAND

List of Commands:

check          Check for problems in the rpmdb
check-update   Check for available package updates
clean          Remove cached data
deplist        List a package's dependencies
distribution-synchronization Synchronize installed packages to the latest available versions
downgrade      downgrade a package
erase          Remove a package or packages from your system
fs             Acts on the filesystem data of the host, mainly for removing docs/lanuages for minimal hosts.
fssnapshot     Creates filesystem snapshots, or lists/deletes current snapshots.
groups         Display, or use, the groups information
help           Display a helpful usage message
history        Display, or use, the transaction history
info           Display details about a package or group of packages
install        Install a package or packages on your system
list           List a package or groups of packages
load-transaction load a saved transaction from filename
makecache      Generate the metadata cache
provides       Find what package provides the given value
reinstall      reinstall a package
repo-pkgs      Treat a repo. as a group of packages, so we can install/remove all of them
repolist       Display the configured software repositories
search         Search package details for the given string
shell          Run an interactive yum shell
swap           Simple way to swap packages, instead of using shell
update         Update a package or packages on your system
update-minimal Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system
updateinfo     Acts on repository update information
upgrade        Update packages taking obsoletes into account
version        Display a version for the machine and/or available repos.


Options:
  -h, --help            show this help message and exit
  -t, --tolerant        be tolerant of errors
  -C, --cacheonly       run entirely from system cache, don't update cache
  -c [config file], --config=[config file]
                        config file location
  -R [minutes], --randomwait=[minutes]
                        maximum command wait time
  -d [debug level], --debuglevel=[debug level]
                        debugging output level
  --showduplicates      show duplicates, in repos, in list/search commands
  -e [error level], --errorlevel=[error level]
                        error output level
  --rpmverbosity=[debug level name]
                        debugging output level for rpm
  -q, --quiet           quiet operation
  -v, --verbose         verbose operation
  -y, --assumeyes       answer yes for all questions
  --assumeno            answer no for all questions
  --version             show Yum version and exit
  --installroot=[path]  set install root
  --enablerepo=[repo]   enable one or more repositories (wildcards allowed)
  --disablerepo=[repo]  disable one or more repositories (wildcards allowed)
  -x [package], --exclude=[package]
                        exclude package(s) by name or glob
  --disableexcludes=[repo]
                        disable exclude from main, for a repo or for
                        everything
  --disableincludes=[repo]
                        disable includepkgs for a repo or for everything
  --obsoletes           enable obsoletes processing during updates
  --noplugins           disable Yum plugins
  --nogpgcheck          disable gpg signature checking
  --disableplugin=[plugin]
                        disable plugins by name
  --enableplugin=[plugin]
                        enable plugins by name
  --skip-broken         skip packages with depsolving problems
  --color=COLOR         control whether color is used
  --releasever=RELEASEVER
                        set value of $releasever in yum config and repo files
  --downloadonly        don't update, just download
  --downloaddir=DLDIR   specifies an alternate directory to store packages
  --setopt=SETOPTS      set arbitrary config and repo options
  --bugfix              Include bugfix relevant packages, in updates
  --security            Include security relevant packages, in updates
  --advisory=ADVS, --advisories=ADVS
                        Include packages needed to fix the given advisory, in
                        updates
  --bzs=BZS             Include packages needed to fix the given BZ, in
                        updates
  --cves=CVES           Include packages needed to fix the given CVE, in
                        updates
  --sec-severity=SEVS, --secseverity=SEVS
                        Include security relevant packages matching the
                        severity, in updates

  Plugin Options:
[root@aftree ~]# rpm -ql yum
/etc/logrotate.d/yum
/etc/yum
/etc/yum.conf
/etc/yum.repos.d
/etc/yum/fssnap.d
/etc/yum/pluginconf.d
/etc/yum/protected.d
/etc/yum/vars
/etc/yum/version-groups.conf
/usr/bin/yum
/usr/lib/python2.7/site-packages/rpmUtils
/usr/lib/python2.7/site-packages/rpmUtils/__init__.py
/usr/lib/python2.7/site-packages/rpmUtils/__init__.pyc
/usr/lib/python2.7/site-packages/rpmUtils/arch.py
/usr/lib/python2.7/site-packages/rpmUtils/arch.pyc
/usr/lib/python2.7/site-packages/rpmUtils/miscutils.py
/usr/lib/python2.7/site-packages/rpmUtils/miscutils.pyc
/usr/lib/python2.7/site-packages/rpmUtils/oldUtils.py
/usr/lib/python2.7/site-packages/rpmUtils/oldUtils.pyc
/usr/lib/python2.7/site-packages/rpmUtils/transaction.py
/usr/lib/python2.7/site-packages/rpmUtils/transaction.pyc
/usr/lib/python2.7/site-packages/rpmUtils/updates.py
/usr/lib/python2.7/site-packages/rpmUtils/updates.pyc
/usr/lib/python2.7/site-packages/yum
/usr/lib/python2.7/site-packages/yum/Errors.py
/usr/lib/python2.7/site-packages/yum/Errors.pyc
/usr/lib/python2.7/site-packages/yum/__init__.py
/usr/lib/python2.7/site-packages/yum/__init__.pyc
/usr/lib/python2.7/site-packages/yum/callbacks.py
/usr/lib/python2.7/site-packages/yum/callbacks.pyc
/usr/lib/python2.7/site-packages/yum/comps.py
/usr/lib/python2.7/site-packages/yum/comps.pyc
/usr/lib/python2.7/site-packages/yum/config.py
/usr/lib/python2.7/site-packages/yum/config.pyc
/usr/lib/python2.7/site-packages/yum/constants.py
/usr/lib/python2.7/site-packages/yum/constants.pyc
/usr/lib/python2.7/site-packages/yum/depsolve.py
/usr/lib/python2.7/site-packages/yum/depsolve.pyc
/usr/lib/python2.7/site-packages/yum/drpm.py
/usr/lib/python2.7/site-packages/yum/drpm.pyc
/usr/lib/python2.7/site-packages/yum/failover.py
/usr/lib/python2.7/site-packages/yum/failover.pyc
/usr/lib/python2.7/site-packages/yum/fssnapshots.py
/usr/lib/python2.7/site-packages/yum/fssnapshots.pyc
/usr/lib/python2.7/site-packages/yum/history.py
/usr/lib/python2.7/site-packages/yum/history.pyc
/usr/lib/python2.7/site-packages/yum/i18n.py
/usr/lib/python2.7/site-packages/yum/i18n.pyc
/usr/lib/python2.7/site-packages/yum/igroups.py
/usr/lib/python2.7/site-packages/yum/igroups.pyc
/usr/lib/python2.7/site-packages/yum/logginglevels.py
/usr/lib/python2.7/site-packages/yum/logginglevels.pyc
/usr/lib/python2.7/site-packages/yum/mdparser.py
/usr/lib/python2.7/site-packages/yum/mdparser.pyc
/usr/lib/python2.7/site-packages/yum/metalink.py
/usr/lib/python2.7/site-packages/yum/metalink.pyc
/usr/lib/python2.7/site-packages/yum/misc.py
/usr/lib/python2.7/site-packages/yum/misc.pyc
/usr/lib/python2.7/site-packages/yum/packageSack.py
/usr/lib/python2.7/site-packages/yum/packageSack.pyc
/usr/lib/python2.7/site-packages/yum/packages.py
/usr/lib/python2.7/site-packages/yum/packages.pyc
/usr/lib/python2.7/site-packages/yum/parser.py
/usr/lib/python2.7/site-packages/yum/parser.pyc
/usr/lib/python2.7/site-packages/yum/pgpmsg.py
/usr/lib/python2.7/site-packages/yum/pgpmsg.pyc
/usr/lib/python2.7/site-packages/yum/pkgtag_db.py
/usr/lib/python2.7/site-packages/yum/pkgtag_db.pyc
/usr/lib/python2.7/site-packages/yum/plugins.py
/usr/lib/python2.7/site-packages/yum/plugins.pyc
/usr/lib/python2.7/site-packages/yum/repoMDObject.py
/usr/lib/python2.7/site-packages/yum/repoMDObject.pyc
/usr/lib/python2.7/site-packages/yum/repos.py
/usr/lib/python2.7/site-packages/yum/repos.pyc
/usr/lib/python2.7/site-packages/yum/rpmsack.py
/usr/lib/python2.7/site-packages/yum/rpmsack.pyc
/usr/lib/python2.7/site-packages/yum/rpmtrans.py
/usr/lib/python2.7/site-packages/yum/rpmtrans.pyc
/usr/lib/python2.7/site-packages/yum/sqlitesack.py
/usr/lib/python2.7/site-packages/yum/sqlitesack.pyc
/usr/lib/python2.7/site-packages/yum/sqlutils.py
/usr/lib/python2.7/site-packages/yum/sqlutils.pyc
/usr/lib/python2.7/site-packages/yum/transactioninfo.py
/usr/lib/python2.7/site-packages/yum/transactioninfo.pyc
/usr/lib/python2.7/site-packages/yum/update_md.py
/usr/lib/python2.7/site-packages/yum/update_md.pyc
/usr/lib/python2.7/site-packages/yum/updateinfo.py
/usr/lib/python2.7/site-packages/yum/updateinfo.pyc
/usr/lib/python2.7/site-packages/yum/yumRepo.py
/usr/lib/python2.7/site-packages/yum/yumRepo.pyc
/usr/lib/yum-plugins
/usr/share/bash-completion
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/yum
/usr/share/bash-completion/completions/yummain.py
/usr/share/doc/yum-3.4.3
/usr/share/doc/yum-3.4.3/AUTHORS
/usr/share/doc/yum-3.4.3/COPYING
/usr/share/doc/yum-3.4.3/ChangeLog
/usr/share/doc/yum-3.4.3/INSTALL
/usr/share/doc/yum-3.4.3/PLUGINS
/usr/share/doc/yum-3.4.3/README
/usr/share/doc/yum-3.4.3/TODO
/usr/share/doc/yum-3.4.3/comps.rng
/usr/share/locale/bg/LC_MESSAGES/yum.mo
/usr/share/locale/bn_IN/LC_MESSAGES/yum.mo
/usr/share/locale/ca/LC_MESSAGES/yum.mo
/usr/share/locale/cs/LC_MESSAGES/yum.mo
/usr/share/locale/da/LC_MESSAGES/yum.mo
/usr/share/locale/de/LC_MESSAGES/yum.mo
/usr/share/locale/el/LC_MESSAGES/yum.mo
/usr/share/locale/en_GB/LC_MESSAGES/yum.mo
/usr/share/locale/es/LC_MESSAGES/yum.mo
/usr/share/locale/eu/LC_MESSAGES/yum.mo
/usr/share/locale/fi/LC_MESSAGES/yum.mo
/usr/share/locale/fr/LC_MESSAGES/yum.mo
/usr/share/locale/gu/LC_MESSAGES/yum.mo
/usr/share/locale/hi/LC_MESSAGES/yum.mo
/usr/share/locale/hu/LC_MESSAGES/yum.mo
/usr/share/locale/id/LC_MESSAGES/yum.mo
/usr/share/locale/id_ID/LC_MESSAGES/yum.mo
/usr/share/locale/it/LC_MESSAGES/yum.mo
/usr/share/locale/ja/LC_MESSAGES/yum.mo
/usr/share/locale/lt_LT/LC_MESSAGES/yum.mo
/usr/share/locale/mr/LC_MESSAGES/yum.mo
/usr/share/locale/ms/LC_MESSAGES/yum.mo
/usr/share/locale/nb/LC_MESSAGES/yum.mo
/usr/share/locale/nl/LC_MESSAGES/yum.mo
/usr/share/locale/nl_NL/LC_MESSAGES/yum.mo
/usr/share/locale/pa/LC_MESSAGES/yum.mo
/usr/share/locale/pl/LC_MESSAGES/yum.mo
/usr/share/locale/pt/LC_MESSAGES/yum.mo
/usr/share/locale/pt_BR/LC_MESSAGES/yum.mo
/usr/share/locale/pt_PT/LC_MESSAGES/yum.mo
/usr/share/locale/ru/LC_MESSAGES/yum.mo
/usr/share/locale/sk/LC_MESSAGES/yum.mo
/usr/share/locale/sr/LC_MESSAGES/yum.mo
/usr/share/locale/sr@latin/LC_MESSAGES/yum.mo
/usr/share/locale/sv/LC_MESSAGES/yum.mo
/usr/share/locale/tr/LC_MESSAGES/yum.mo
/usr/share/locale/uk/LC_MESSAGES/yum.mo
/usr/share/locale/ur/LC_MESSAGES/yum.mo
/usr/share/locale/zh_CN/LC_MESSAGES/yum.mo
/usr/share/locale/zh_TW/LC_MESSAGES/yum.mo
/usr/share/man/man5/yum.conf.5
/usr/share/man/man8/yum-shell.8
/usr/share/man/man8/yum.8
/usr/share/yum-cli
/usr/share/yum-cli/callback.py
/usr/share/yum-cli/callback.pyc
/usr/share/yum-cli/cli.py
/usr/share/yum-cli/cli.pyc
/usr/share/yum-cli/completion-helper.py
/usr/share/yum-cli/output.py
/usr/share/yum-cli/output.pyc
/usr/share/yum-cli/shell.py
/usr/share/yum-cli/shell.pyc
/usr/share/yum-cli/utils.py
/usr/share/yum-cli/utils.pyc
/usr/share/yum-cli/yumcommands.py
/usr/share/yum-cli/yumcommands.pyc
/usr/share/yum-cli/yummain.py
/usr/share/yum-cli/yummain.pyc
/usr/share/yum-plugins
/var/cache/yum
/var/lib/yum
/var/lib/yum/history
/var/lib/yum/plugins
/var/lib/yum/uuid
/var/lib/yum/yumdb
[root@aftree ~]# rpm -qc yum
/etc/logrotate.d/yum
/etc/yum.conf
/etc/yum/version-groups.conf
[root@aftree ~]# rpm -qd yum
/usr/share/doc/yum-3.4.3/AUTHORS
/usr/share/doc/yum-3.4.3/COPYING
/usr/share/doc/yum-3.4.3/ChangeLog
/usr/share/doc/yum-3.4.3/INSTALL
/usr/share/doc/yum-3.4.3/PLUGINS
/usr/share/doc/yum-3.4.3/README
/usr/share/doc/yum-3.4.3/TODO
/usr/share/doc/yum-3.4.3/comps.rng
/usr/share/man/man5/yum.conf.5
/usr/share/man/man8/yum-shell.8
/usr/share/man/man8/yum.8



Linux/CentOS配置:使用yum update更新時不升級內核的方法

購買阿里雲主機時,本來選擇CentOS7.3-1611版本,期間使用過幾次yum update,後偶然發現內核升級,版本也更新爲7.4版本,後來小飛說yum update 之後都會這樣子,後來百度發現可以禁止更新特定軟件。


RedHat/CentOS/Fedora使用 yum update 更新時,默認會升級內核。但有些服務器硬件(特別是組裝的機器)在升級內核後,新的內核可能會認不出某些硬件,要重新安裝驅動,很麻煩。所以在生產環境中不要輕易的升級內核,除非你確定升級內核後不會出現麻煩的問題。


如果不想升級內核而只更新其他軟件包,有兩種方法:

1、直接在yum的命令後面加上如下的參數:

yum –exclude=kernel* update

2、使用 yum update 命令不升級內核和操作系統的方法

vi /etc/yum.conf 
# 在 [main] 的最後添加:
exclude=kernel*
exclude=centos-release*


1、CentOS 更新源配置文件說明 

#/etc/yum.repos.d/CentOS-Base.repo 片段 
[base] 
name=CentOS-$releasever - Base 
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os 
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 
#released updates  
[updates] 
name=CentOS-$releasever - Updates 
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates 
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

解釋 
在.repo文件中,配置語法是分段的,每一段配置一個軟件倉庫,配置語法如下: 

[repositoryid] 
name=Some name for this repository 
baseurl=url://server1/path/to/repository/ 
url://server2/path/to/repository/ 
url://server3/path/to/repository/ 
mirrorlist=url://path/to/mirrorlist/repository/ 
enabled=0/1 
gpgcheck=0/1 
gpgkey=A URL pointing to the ASCII-armoured GPG key file for the repository


其中: 
repositoryid:用於指定一個倉庫,例如 [base] 
name:用於指定易讀的倉庫名稱 
baseurl:用於指定本倉庫的URL,可以是以下三種類型: 
    http — 用於指定遠程 HTTP 協議的源 
    ftp — 用於指定遠程 FTP 協議的源 
    file — 用於本地鏡像或 NFS 掛裝文件系統 
mirrorlist:用於指定倉庫的鏡像站點 
enabled:用於指定是否使用本倉庫,默認值爲1,即可用 
gpgcheck:用於指定是否檢查軟件包的 GPG 簽名 
gpgkey:用於指定GPG簽名文件的URL 

在name baseurl中經常使用如下的變量: 
    $releasever — 當前系統的版本號 
    $basearch — 當前系統的平臺架構 
 若指定mirrorlist,系統將從CentOS的鏡像站點中選擇離您最近的倉庫。並非所有的國內鏡像都在CentOS的鏡像站點列表中,所以我們可以直接使用baseurl直接指定離您最近的倉庫。baseurl 可以指定多個URL,系統會依次檢查您列出的倉庫,以便在某個服務器宕機時可以使用另外的服務器。爲了加快更新,在確保更新服務器及線路良好的情況下,在baseurl中只指定一個URL即可。 


配置時只需要根據各家源情況,有選擇的配置 [base] [updates] [addons] [extras] [centosplus] 這幾項。每一項只要修改 baseurl 和 gpgkey 爲相應源地址即可。配置結束之後,要清空 yum 緩存,並重建 yum 緩存,命令如下: 
yum clean all && yum clean metadata && yum clean dbcache && yum makecache && yum update 

3、自動選擇最快的源 
 由於yum中有的mirror速度是非常慢的,如果yum選擇了這個mirror,這個時候yum就會非常慢,對此,可以下載fastestmirror插件,它會自動選擇最快的mirror: 
#yum install yum-fastestmirror 
配置文件:(一般不用動)/etc/yum/pluginconf.d/fastestmirror.conf 
yum鏡像的速度測試記錄文件:/var/cache/yum/timedhosts.txt 

4、使用圖形界面的yum 
 如果覺得命令行的yum不方便,那麼可以使用圖形化的yumex,這個看起來更方便,因爲可以自由地選擇軟件倉庫: 
#yum install yumex 

然後在系統工具中就可以看到yum extender了。實際上系統自帶的“添加/刪除程序“也可以實現圖形化的軟件安裝,但有些yumex的功能它沒有。

5、yum命令簡介
yum check-update 檢查可更新的所有軟件包
yum update 下載更新系統已安裝的所有軟件包
yum upgrade 大規模的版本升級,與yum update不同的是,連舊的淘汰的包也升級
yum install <packages> 安裝新軟件包
yum update <packages> 更新指定的軟件包
yum remove <packages> 卸載指定的軟件包
yum groupinstall <groupnames> 安裝指定軟件組中的軟件包
yum groupupdate <groupnames> 更新指定軟件組中的軟件包
yum groupremove <groupnames> 卸載指定軟件組中的軟件包
yum grouplist 查看系統中已經安裝的和可用的軟件組
yum list 列出資源庫中所有可以安裝或更新以及已經安裝的rpm包
yum list <regex> 列出資源庫中與正則表達式匹配的可以安裝或更新以及已經安裝的rpm包
yum list available 列出資源庫中所有可以安裝的rpm包
yum list available <regex> 列出資源庫中與正則表達式匹配的所有可以安裝的rpm包
yum list updates 列出資源庫中所有可以更新的rpm包
yum list updates <regex> 列出資源庫中與正則表達式匹配的所有可以更新的rpm包
yum list installed 列出資源庫中所有已經安裝的rpm包
yum list installed <regex> 列出資源庫中與正則表達式匹配的所有已經安裝的rpm包
yum list extras 列出已經安裝的但是不包含在資源庫中的rpm包
yum list extras <regex> 列出與正則表達式匹配的已經安裝的但是不包含在資源庫中的rpm包
yum list recent 列出最近被添加到資源庫中的軟件包
yum search <regex> 檢測所有可用的軟件的名稱、描述、概述和已列出的維護者,查找與正則表達式匹配的值
yum provides <regex> 檢測軟件包中包含的文件以及軟件提供的功能,查找與正則表達式匹配的值
yum clean headers 清除緩存中的rpm頭文件
yum clean packages 清除緩存中rpm包文件
yum clean all 清除緩存中的rpm頭文件和包文件
yum deplist <packages> 顯示軟件包的依賴信息
yum info 列出包信息
當第一次使用 yum 或 yum 資源庫有更新時,yum會自動下載所有所需的 headers 放置於 /var/cache/yum 目錄下,所需時間可能較長。
yum 命令可以使用 -y 參數用於用 yes 回答命令運行時所提出的問題。


linux下yum命令出現Loaded plugins: fastestmirror Determining fastest mirrors
原創 2013年11月07日 16:27:45
標籤:
linux /
yum
10636
今天yum install的時候出問題了,找了半天才找到一個可行的解決辦法
fastestmirror是yum的一個加速插件,這裏是插件提示信息是插件不能用了。
不能用就先別用唄,禁用掉,先yum了再說。
1.修改插件的配置文件
# vi  /etc/yum/pluginconf.d/fastestmirror.conf  
enabled = 1//由1改爲0,禁用該插件
...............................
2.修改yum的配置文件
# vi /etc/yum.conf
.........................
plugins=1//改爲0,不使用插件

配置完yum源結束之後,要清空yum 緩存,並重建yum緩存,執行以下命令: yum clean all && yum clean metadata&& yum clean dbcache && yum makecache && yum update,這個時候最後一個命令會更新yum源的時候同時把所有的軟件也更新了,如何屏蔽把所有的軟件也更新
加上--assumeno試試,再說makecache不就更新源了



CentOS7關閉yum自動下載更新 - CSDN博客  http://blog.csdn.net/kepa520/article/details/50321015


linux yum命令詳解

yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。

yum的命令形式一般是如下:yum [options] [command] [package ...]
其中的[options]是可選的,選項包括-h(幫助),-y(當安裝過程提示選擇全部爲"yes"),-q(不顯示安裝的過程)等等。[command]爲所要進行的操作,[package ...]是操作的對象。

概括了部分常用的命令包括:

自動搜索最快鏡像插件:   yum install yum-fastestmirror
安裝yum圖形窗口插件:    yum install yumex
查看可能批量安裝的列表: yum grouplist

yum makecache 是 將服務器上的軟件包信息 現在本地緩存,以提高 搜索 安裝軟件的速度

yum repolist 查詢使用的是哪個yum源。

1 安裝
yum install 全部安裝
yum install package1 安裝指定的安裝包package1
yum groupinsall group1 安裝程序組group1

2 更新和升級
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 檢查可更新的程序
yum upgrade package1 升級指定程序包package1
yum groupupdate group1 升級程序組group1

3 查找和顯示
yum info package1 顯示安裝包信息package1
yum list 顯示所有已經安裝和可以安裝的程序包
yum list package1 顯示指定程序包安裝情況package1
yum groupinfo group1 顯示程序組group1信息yum search string 根據關鍵字string查找安裝包

4 刪除程序
yum remove &#124; erase package1 刪除程序包package1
yum groupremove group1 刪除程序組group1
yum deplist package1 查看程序package1依賴情況

5 清除緩存
yum clean packages 清除緩存目錄下的軟件包
yum clean headers 清除緩存目錄下的 headers
yum clean oldheaders 清除緩存目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headers

比如,要安裝遊戲程序組,首先進行查找:
#:yum grouplist
可以發現,可安裝的遊戲程序包名字是”Games and Entertainment“,這樣就可以進行安裝:
#:yum groupinstall "Games and Entertainment"
所 有的遊戲程序包就自動安裝了。在這裏Games and Entertainment的名字必須用雙引號選定,因爲linux下面遇到空格會認爲文件名結束了,因此必須告訴系統安裝的程序包的名字是“Games and Entertainment”而不是“Games"。

此外,還可以修改配置文件/etc/yum.conf選擇安裝源。可見yum進行配置程序有多方便了吧。更多詳細的選項和命令,當然只要在命令提示行下面:man yum

yum groupinstall "KDE (K Desktop Environment)"

yum install pirut k3b mikmod

yum groupinstall "Server Configuration Tools"

yum groupinstall "Sound and Video"

#yum groupinstall "GNOME Desktop Environment"

yum groupinstall "Legacy Software Support"

yum groupinstall "Development Libraries"

yum groupinstall "Development Tools"

#yum groupinstall "Windows File Server"

yum groupinstall "System Tools"

yum groupinstall "X Window System"

yum install php-gd
yum install gd-devel
yum groupinstall "Chinese Support"


#yum install samba-common  //該執行會一起安裝 samba-client
#yum install samba

yum install gcc
yum install cpp
yum install gcc-c++
yum install ncurses
yum install ncurses-devel
yum install gd-devel php-gd
yum install gd-devel
yum install gcc
yum install cpp
yum install gcc-c++
yum install ncurses
yum install ncurses-devel
yum install gd-devel php-gd
yum install gd-devel
yum install zlib-devel
yum install freetype-devel freetype-demos freetype-utils
yum install libpng-devel libpng10 libpng10-devel
yum install libjpeg-devel
yum install ImageMagick
yum install php-gd
yum install flex
yum install ImageMagick-devel


#yum install system-config-bind         
#yum groupinstall "DNS Name Server"      //安裝 bind 及 bind-chroot 套件
yum groupinstall "MySQL Database"'

yum clean all




yum 命令詳解:
Yum 有以下特點:
*可以同時配置多個資源庫(Repository)
*簡潔的配置文件(/etc/yum.conf)
*自動解決增加或刪除rpm包時遇到的倚賴性問題
*使用方便
*保持與RPM數據庫的一致性


yum,是Yellow dog Updater Modified的簡稱,起初是由yellow dog這一發行版的開發者Terra Soft研發,用python寫成,那時還叫做yup(yellow dog updater),後經杜克大學的Linux@Duke開發團隊進行改進,遂有此名。yum的宗旨是自動化地升級,安裝/移除rpm包,收集rpm包的相關信息,檢查依賴性並自動提示用戶解決。yum的關鍵之處是要有可靠的repository,顧名思義,這是軟件的倉庫,它可以是http或ftp站點, 也可以是本地軟件池,但必須包含rpm的header, header包括了rpm包的各種信息,包括描述,功能,提供的文件,依賴性等.正是收集了這些 header並加以分析,才能自動化地完成餘下的任務。
1.yum的一切配置信息都儲存在一個叫yum.conf的配置文件中,通常位於/etc目 錄下,這是整個yum系統的重中之重,我在的F9中查看了這一文件,大家一起來看下:
[hanlong@localhost F9常用文檔]$ sudo more /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

下面簡單的對這一文件作簡要的說明:
cachedir:yum緩存的目錄,yum在此存儲下載的rpm包和數據庫,一般是/var/cache/yum。
debuglevel:除錯級別,0──10,默認是2
logfile:yum的日誌文件,默認是/var/log/yum.log。
exactarch,有兩個選項1和0,代表是否只升級和你安裝軟件包cpu體系一致的包,如果設爲1,則如你安裝了一個i386的rpm,則yum不會用686的包來升級。
gpgchkeck= 有1和0兩個選擇,分別代表是否是否進行gpg校驗,如果沒有這一項,默認好像也是檢查的。
2.好了,接下來就是yum的使用了,首先用yum來升級軟件,yum的操作大都須有超級用戶的權限,當然可以用sudo。
yum update,這一步是必須的,yum會從服務器的header目錄下載rpm的header,放在本地的緩存中,這可能會花費一定的時間,但比起yum 給我們帶來方便,這些時間的花費又算的了什麼呢?header下載完畢,yum會判斷是否有可更新的軟件包,如果有,它會詢問你的意見,是否更新,還是說 y吧,把系統始終up to date總是不錯的,這時yum開始下載軟件包並使用調用rpm安裝,這可能要一定時間,取決於要更新軟件的數目和網絡狀況,萬一網絡斷了,也沒關係,再 進行一次就可以了。升級完畢,以後每天只要使用yum check-update檢查一下有無跟新,如果有,就用yum update進行跟新,時刻保持系統爲最新,堵住一切發現的漏洞。用yum update packagename 對某個單獨包進行升級。
現在簡單的把yum軟件升級的一些命令羅列一下:
(更新:我在安裝wine的時候是用rpm一個一個安裝的,先安裝以來關係,然後在安裝wine的主包,但是剛剛在論壇上發現來一個好的帖子,就yum的本地安裝。參數是-localinstall
$yum localinstall wine-*
這樣的話,yum會自動安裝所有的依賴關係,而不用rpm一個一個的安裝了,省了好多工作。
還有一個與他類似的參數:
$yum localupdate wine-*
如果有wine的新版本,而且你也下載到來本地,就可以這樣本地更新wine了。)

1.列出所有可更新的軟件清單
命令:yum check-update

2.安裝所有更新軟件
命令:yum update

3.僅安裝指定的軟件
命令:yum install

4.僅更新指定的軟件
命令:yum update

5.列出所有可安裝的軟件清單
命令:yum list

3.使用yum安裝和卸載軟件,有個前提是yum安裝的軟件包都是rpm格式的。
安裝的命令是,yum install xxx,yum會查詢數據庫,有無這一軟件包,如果有,則檢查其依賴衝突關係,如果沒有依賴衝突,那麼最好,下載安裝;如果有,則會給出提示,詢問是否要同時安裝依賴,或刪除衝突的包,你可以自己作出判斷
刪除的命令是,yum remove xxx,同安裝一樣,yum也會查詢數據庫,給出解決依賴關係的提示。
1.用YUM安裝軟件包
命令:yum install

2.用YUM刪除軟件包
命令:yum remove

4.用yum查詢想安裝的軟件
我們常會碰到這樣的情況,想要安裝一個軟件,只知道它和某方面有關,但又不能確切知道它的名字。這時yum的查詢功能就起作用了。你可以用 yum search keyword這樣的命令來進行搜索,比如我們要則安裝一個Instant Messenger,但又不知到底有哪些,這時不妨用 yum search messenger這樣的指令進行搜索,yum會搜索所有可用rpm的描述,列出所有描述中和messeger有關的rpm包,於是我們可能得到 gaim,kopete等等,並從中選擇。
有時我們還會碰到安裝了一個包,但又不知道其用途,我們可以用yum info packagename這個指令來獲取信息。
1.使用YUM查找軟件包
命令:yum search
2.列出所有可安裝的軟件包
命令:yum list
3.列出所有可更新的軟件包
命令:yum list updates
4.列出所有已安裝的軟件包
命令:yum list installed
5.列出所有已安裝但不在 Yum Repository 內的軟件包
命令:yum list extras
6.列出所指定的軟件包
命令:yum list 7.使用YUM獲取軟件包信息
命令:yum info 8.列出所有軟件包的信息
命令:yum info
9.列出所有可更新的軟件包信息
命令:yum info updates
10.列出所有已安裝的軟件包信息
命令:yum info installed
11.列出所有已安裝但不在 Yum Repository 內的軟件包信息
命令:yum info extras
12.列出軟件包提供哪些文件
命令:yum provides

5.清除YUM緩存
yum 會把下載的軟件包和header存儲在cache中,而不會自動刪除。如果我們覺得它們佔用了磁盤空間,可以使用yum clean指令進行清除,更精確的用法是yum clean headers清除header,yum clean packages清除下載的rpm包,yum clean all 清除所有
1.清除緩存目錄(/var/cache/yum)下的軟件包
命令:yum clean packages

2.清除緩存目錄(/var/cache/yum)下的 headers

命令:yum clean headers

3.清除緩存目錄(/var/cache/yum)下舊的 headers

命令:yum clean oldheaders

4.清除緩存目錄(/var/cache/yum)下的軟件包及舊的headers

命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)

以上所有命令參數的使用都可以用man來查看:
1、安裝圖形版yumex:yum install yumex。
2、安裝額外的軟件倉庫:
rpm.livna.org 的軟件包倉庫:
rpm -ivh http://livna-dl.reloumirrors.net … ease-7-2.noarch.rpm

freshrpms.net 的軟件包倉庫:
rpm –ivh http://ftp.freshrpms.net/pub/fre … 1.1-1.fc.noarch.rpm

3、安裝最快源 yum install yum-fastestmirror

資源真的是非常豐富,從Centos到Ubuntu,ISO鏡像、升級包,應有盡有,上交的兄弟們真是幸福,羨慕啊。不過還好,我們好歹也算是在教育網內,湊合着也可以沾點光,下載一些。
網址爲:ftp://ftp.sjtu.edu.cn/

相應的yum的repo爲
[updates]
name=Fedora updates
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/updates/$releasever/$basearch/
enabled=1
gpgcheck=0
[fedora]
name=Fedora $releasever - $basearch
baseurl=ftp://ftp.sjtu.edu.cn/fedora/linux/releases/$releasever/Everything/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

如果在機器上安裝了apt管理器,則相應的源爲
repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/updates/$(VERSION)/$(ARCH)/

repomd ftp://ftp.sjtu.edu.cn/ fedora/linux/releases/$(VERSION)/Everything/$(ARCH)/os/

這與前面yum的源的格式上有一些差別,需要加以注意。



下面介紹一下fedora 下安裝 scim

1. 什麼輸入法適合我?
fcitx和scim是目前比較好的輸入法, 但是他們的特點不同,fcitx只能輸入中文,而scim可以根據需要,利用不同的碼錶達到中英日…等等各種語言的輸入問題。如果你只懂中文,或者只會輸 入英文&中文,那麼fcitx是一個不錯的選擇,因爲它漂亮,小巧,實用。如果你還需要輸入日文或者其他語言,那麼你因該安裝scim。通 過合理的配置,他能夠讓你像在windows裏面一樣,想輸入什麼語言就能輸入什麼語言,同一種語言想用什麼輸入法就用什麼輸入法。Scim的擴充性很 強,而且比較穩定,我就是選擇的是scim.
2. 安裝一個新輸入法前需要哪些準備?
如果你選擇fcitx或者scim,那麼我建議你刪除系統自帶的中文輸入法。方法如下:
rpm –qa | grep iiimf | xargs rpm –e
rpm –qa | grep Chinput| xargs rpm –e
如果有哪一行提示rpm: no packages given for erase那表示本身你的系統裏面沒有該輸入法,不用擔心,繼續往下看就行了。
說 明:rpm –qa是列出所有安裝的rpm包,grep iiimf是選擇出其中名字含有iiimf的那些包,xargs rpm –e的意思是把前面列出的這些包刪除掉。Xargs的作用就是把前面通過 | 傳過來的數據作爲下面命令的參數。這就好比一個過濾器,首先是放着所有的安裝包,然後grep以後,只留下了含有某些特定關鍵字的rpm包,然後通過 xargs和rpm –e的組合運用,把剩下的這些含有某特定關鍵字的包刪掉。這樣就達到了刪除該輸入法及相關包的目的。下面的Chinput也是如此,在此不再重複。如果你還安裝了其他輸入法,比如你原來裝的是fcitx,現在想裝scim,那麼你最好模仿上面的樣子把fcitx刪除,方法就是把iiimf的位置改成 fcitx就可以了。
在安裝新輸入法之前,最好這樣做一下,因爲多種輸入法同時存在一個系統中沒有什麼好處,你只可能去用一個,而且他們同時存在可能有的時候會出現問題,想想也知道,會互相競爭嘛。所以在此以後,你應該保證系統裏面已經沒有中文輸入法了。通過類似以下方式驗證:
whereis fcitx
whereis scim
whereis miniChinput

3. 輸入法是何時被系統調用的?
很多人不知道輸入法到底什麼時候被load進來,不知道這個當然就不知道爲什麼有的時候呼不出輸入法(因爲可能根本沒有調入)當然也不會知道如何配置能夠符合自己的要求。
大 家都知道,linux下面比較常用的有兩個桌面系統,gnome和kde,這都無所謂,他們其實都是架在X系統之上的。簡單的說X系統就是一個最核心,也 是最底層的桌面系統,gnome也好,kde也罷,或者其他的什麼fvwm之類的,都只不過是X系統和用戶之間的另一層軟件而已。所以要想達到不管使用什 麼桌面系統,都能調入輸入法,就是要在X系統啓動的時候,讓輸入法也啓動起來,那麼這樣之後,無論你使用的是gnome還是kde或者其他什麼桌面,都能 夠調入輸入法。因爲當輪到他們啓動的時候,X系統已經啓動好了,輸入法已經被系統調入了。那麼X系統又是如何啓動的呢?讓我們從startx開始說起。
無論你用什麼桌面系統,都是通過startx啓動的,那麼startx究竟是什麼呢?一個應用程序還是一個腳本文件?爲什麼它能夠啓動各種桌面系統,並且能夠按照相應的配置文件來設置呢?帶着疑問,我在console裏面輸入whereis startx.
在 找到了存放startx的路徑以後,用編輯器打開它發現原來是一個腳本文件。這個腳本文件的內容可能根據發行版不同,會有差異,如果你懂一些shell的 語言,那麼你可以嘗試看看,不一定要全部看懂,但是你大致看過以後會發現最後有一個xinit的命令,然後跟着一些參數。我嘗試在console下面輸入 xinit(注意,不要在圖形界面下做此操作)
發現圖形界面啓動拉,但是很醜陋,什麼功能都沒有,鼠標可以動,還有一個可以輸入命令的小窗口。怎 麼退出來?ctrl+alt+backspace. 原來如此,startx只是一個腳本,裏面通過對一系列配置文件的分析設置,最終利用xinit命令啓動圖形界面。不管是kde還是gnome,都是在這 個腳本中完成的。那麼讓我們再打開startx腳本看看裏面還做了些什麼。你仔細看看,會發現有一個東西很顯眼,就是/etc/X11/xinit /xinitrc,這個xinitrc好像很眼熟,在配置輸入法的其他貼中總是看到,這裏出現了肯定是裏面運行了這個腳本。再看其他的一些東西,其實都是利用shell配置出一個xinit啓動的參數,用來配置桌面系統用的,不用管它。目前已知的就是startx的時候它會去執行一個/etc/X11 /xinit/xinitrc的腳本,讓我們打開來看看裏面有什麼。
打開一看,其中一段我覺得最有價值,是一個for循環,他依次執行了/etc /X11/xinit/xinitrc.d/下面的所有腳本。你可以耐心的找一下,一定可以發現。那麼這個目錄裏面有些什麼內容呢?有一個文件看名字就知道和輸入相關,他叫xinput。等等,讓我們理一下,是怎麼從startx到xinput的。
首先是執行startx這個腳本文件,裏面他會執行xinitrc這個腳本,然後xinitrc腳本里面的,叫xinput。OK, 我們繼續,打開xinput看看。
4.安裝軟件包
rpm -Uvh scim-0.8.2-1.i586.rpm
rpm -Uvh scim-chinese-0.2.6-1.i586.rpm

5.修改配置文件
接下來重要的一步就是,修改一下
/etc /X11/xinit/xinitrc.d/xinput文件,讓SCIM在X啓動的時候也啓動。我看到網上很多文章也說過,但總是不得要領,經過自己試 驗,最簡單的就是把xinput文件裏的Chinput全部替換爲SCIM,chinput替換爲scim,保存重啓X就可以了。
zh_CN*)
     if [ -e /usr/bin/scim ]; then
   XIM="SCIM"
            elif [ -e /usr/X11R6/bin/xcin ] ; then
                 export LC_CTYPE=zh_CN.GB2312
                 XIM="xcin-zh_CN.GB2312"  
     fi
;;

..............................

SCIM)
XIM_PROGRAM=scim
        XIM_ARGS="-d"
;;


然後修改/etc/gtk-2.0/gtk.immodules,找到這一行:
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:zh"
改爲:
"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:zh"
可能表示輸入英文時也使用該輸入法

安裝完畢後運行scim-setup,將輸入法的切換鍵改爲ctrl+space



環境介紹:

CentOS6.X

執行yum --help查看幫助文件:

update         Update a package or packages on your system

upgrade        Update packages taking obsoletes into account

結果驗證:

1.執行2個命令時,都會升級系統版本,如我原本的系統爲CentOS6.4升級完成後都爲CentOS6.6;

2. 執行2個命令時,軟件都會更新,配置文件都不變,如果配置文件有新的重名的話,取決於軟件包怎麼寫的。

未完--



系統每天凌晨 3 點自動執行 yum update 任務

但升級內核後,會出現下面情況

一些編譯軟件需要內核模塊才能夠被調用, 而內核模塊需要與當前版本內核編譯後才能夠使用, 假設內核升級後,之前軟件模塊是不可兼容的, 需重新編譯後才能夠再次被調用,甚至可能導致在啓動過程中因爲無法加載該模塊而無法啓用某種系統文件而無法正常啓用電腦,需現場修復


RedHat/CentOS/Fedora使用 yum update 更新時,默認會 升級內核 。但有些服務器硬件(特別是組裝的機器)在升級內核後,新的內核可能會認不出某些硬件,要重新安裝驅動,很麻煩。所以在生產環境中不要輕易的升級內核,除非你確定升級內核後不會出現麻煩的問題。


利用 下面方法進行自動升級過程忽略 kernel 自動更新

[plain] view plain copy

  1. yum --exclude=packgeName\* update  

  2. yum --exclude=packgeName1\* --exclude=packgeName2\* update  

  3. yum -x 'packageName*' update  

  4. yum -x 'packageName1*' -x 'packageName2*' update  


例如

[plain] view plain copy

  1. yum -y --exclude=kernel\* update  

  2. yum -y -x 'kernel*' update  


假如你已經制作自動化腳本, 而不希望修改腳本條件下可參考下面做法

[plain] view plain copy

  1. vi /etc/yum.conf  

  2. [main]  

  3. exclude=kernel*  

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。



使用yum update更新文件系統時不更新內核的方法

使用yum update更新時不升級內核,先進行備份以防止修改出錯。

[plain] view plain copy

  1. cp /etc/yum.conf /etc/yum.confbak  


方法一、修改yum的配置文件

vim /etc/yum.conf  在[main]的最後添加

[plain] view plain copy

  1. exclude=kernel*  

  2. exclude=centos-release*  


方法二、直接在yum的命令後面加上如下的參數

[plain] view plain copy

  1. yum --exclude=kernel* update  


查看系統版本  cat /etc/issue
查看內核版本  uname -a


由於虛擬化的影響,阿里雲的ECS服務器輕易不要升級內核。 
下面以我的CentOS 7.0 64位服務器爲例說明設置方式。 
(以前用的CentOS,以及Fedora服務器基本也適用)

首先,不要採用低版本中常用的如下方式:

yum –exclude=kernel* update1

這個命令在Fedora中基本可以用,但是對於“centos-release”的包無法處理。

完整的辦法是:直接修改配置文件/etc/yum.conf,在[main]下面追加下面兩行: 
exclude=kernel* 
exclude=centos-release*

示例:

[densintian@rachel ~]# diff /etc/yum.conf ~/backup/yum.conf.20150918 13,14d12
< exclude=kernel*
< exclude=centos-release*
[densintian@rachel ~]# 12345

設置好後,yum update就不會更新內核了

阿里雲ECS CentOS 2.6版本內核升級至3.10


當前有部分應用對系統內核版本有一定的要求,比如Docker要求內核版本在3.10以上,雲服務器中提供的Centos 7以下的阿里雲官方公共鏡像是2.6以下。雖然更換系統到Centos 7可以滿足要求,但是更換系統後對業務環境重新部署會消耗一定時間和人力成本,因此可以考慮針對當前系統進行內核升級。

提示:

爲避免系統運行出現異常,不推薦進行內核升級。如有該方面的需求,務必在進行操作前創建系統盤快照,以備出現異常後可以及時進行恢復。

升級前系統鏡像:CentOS 6.5 64位  

內核版本:2.6.32-431.23.3.el6_x86_64

1、導入public key

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2、安裝elrepo到內核爲2.6.32的CentOS中

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

3、安裝kernel-lt(long term support)長期支持版本

yum --enablerepo=elrepo-kernel install kernel-lt -y

注:

1)

如果直接通過yum方式使用elrepo源速度會較慢(該源在國外)。

推薦採用rpm的方式安裝kernel-lt:

訪問http://elrepo.org/linux/kernel/el6/x86_64/RPMS/下載對應的rpm包,通過rpm方式安裝:

rpm -ivh kernel-lt-3.10.93-1.el6.elrepo.x86_64.rpm

2)

關於kernel-lt的介紹可以參考elrepo官網介紹:http://elrepo.org/tiki/kernel-lt

4、編輯grub.conf文件,修改Grub引導順序

vim /etc/grub.conf

確認安裝的新內核的位置,將default的值調整爲新內核的順序,如本次升級案例中新裝的內核位置爲0,所以將default修改爲0,保存退出,reboot重啓服務器。

grub.jpg 

5、重啓系統後檢查內核

uname.jpg 

6、內核升級完成後進行測試

升級完成後可以安裝docker進行使用觀察:

yum  install  -y  docker-io

service  docker  start

docker  pull  centos:centos 7

docker  run  -t  -i  centos:centos 7  /bin/bash

docker run centos.jpg





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章