linux 学习系列-Linux yum 命令


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常用命令

注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.

系统更新,更新所有可以升级的rpm包,包括kernel

#yum -y update

每天定期执行系统更新

#chkconfig yum on
#service yum start

*rpm包的更新,检查可更新的rpm包

#yum check-update

更新所有的rpm包

#yum update

更新指定的rpm包,如更新kernel和kernel source

#yum update kernel kernel-source

大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级

#yum upgrade

*rpm包的安装和删除

//安装rpm包,如xmms-mp3
#yum install xmms-mp3
//删除rpm包,包括与该包有倚赖性的包
#yum remove licq

注:同时会提示删除licq-gnome,licq-qt,licq-text

*yum暂存(/var/cache/yum/)的相关参数

清除暂存中rpm包文件
#yum clean packages

清除暂存中rpm头文件

#yum clean headers

清除暂存中旧的rpm头文件

#yum clean oldheaders

清除暂存中旧的rpm头文件和包文件

#yum clean 或#yum clean all

注:相当于yum clean packages + yum clean oldheaders

*rpm包列表

//列出资源库中所有可以安装或更新的rpm包
#yum list

列出资源库中特定的可以安装或更新以及已经安装的rpm包

#yum list mozilla
#yum list mozilla*

注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包

列出资源库中所有可以更新的rpm包

#yum list updates

列出已经安装的所有的rpm包

#yum list installed

列出已经安装的但是不包含在资源库中的rpm包

#yum list extras

注:通过其它网站下载安装的rpm包

*rpm包信息显示(info参数同list)
列出资源库中所有可以安装或更新的rpm包的信息

#yum info

列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息

#yum info mozilla
#yum info mozilla*

注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息

列出资源库中所有可以更新的rpm包的信息

#yum info updates

列出已经安装的所有的rpm包的信息

#yum info installed

列出已经安装的但是不包含在资源库中的rpm包的信息

#yum info extras

注:通过其它网站下载安装的rpm包的信息

*搜索rpm包
搜索匹配特定字符的rpm包

#yum search mozilla

注:在rpm包名,包描述等中搜索

搜索有包含特定文件名的rpm包

#yum provides realplay

实例

实例 1:安装 pam-devel

[root@www ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies  //先检查软件的属性相依问题
--> Running transaction check
--> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists.xml.gz          100% |=========================| 1.6 MB    00:05
filelists.xml.gz          100% |=========================| 138 kB    00:00
-> Finished Dependency Resolution
……(省略)

实例 1:移除 pam-devel

    [root@www ~]# yum remove pam-devel
    Setting up Remove Process
    Resolving Dependencies  //同样的,先解决属性相依的问题
    --> Running transaction check
    ---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
    --> Finished Dependency Resolution

    Dependencies Resolved

    =============================================================================
     Package                 Arch       Version          Repository        Size
    =============================================================================
    Removing:
     pam-devel               i386       0.99.6.2-4.el5   installed         495 k

    Transaction Summary
    =============================================================================
    Install      0 Package(s)
    Update       0 Package(s)
    Remove       1 Package(s)  //还好,并没有属性相依的问题,单纯移除一个软件

    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Erasing   : pam-devel                    ######################### [1/1]

    Removed: pam-devel.i386 0:0.99.6.2-4.el5
    Complete!

实例 3:利用 yum 的功能,找出以 pam 为开头的软件名称有哪些

[root@www ~]# yum list pam*
Installed Packages
pam.i386                  0.99.6.2-3.27.el5      installed
pam_ccreds.i386           3-5                    installed
pam_krb5.i386             2.2.14-1               installed
pam_passwdqc.i386         1.0.2-1.2.2            installed
pam_pkcs11.i386           0.5.3-23               installed
pam_smb.i386              1.1.7-7.2.1            installed
Available Packages //底下则是『可升级』的或『未安装』的
pam.i386                  0.99.6.2-4.el5         base
pam-devel.i386            0.99.6.2-4.el5         base
pam_krb5.i386             2.2.14-10              base

国内 yum 源

网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。
将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

安装步骤
首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)
- CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
- CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo

运行以下命令生成缓存

yum clean all
yum makecache

除了网易之外,国内还有其他不错的yum源,比如中科大和搜狐。
中科大的yum源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos
sohu的yum源安装方法查看: http://mirrors.sohu.com/help/centos.html

配置本地Yum仓库

实现此案例需要按照如下步骤进行。
步骤一:搭建一个本地Yum,将RHEL6光盘手动挂载到/media
命令操作如下所示:

[root@localhost ~]# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# mount | tail -1
/dev/sr0 on /media type iso9660 (ro)

步骤二:将本地设置为客户端,进行Yum验证
Yum客户端需编辑配置文件,命令操作如下所示:

[root@localhost ~]# cd /etc/yum.repos.d/         //必须在这个路径下
[root@localhost yum.repos.d]# ls                  //此路径下事先有配置文件的模板
rhel-source.repo

[root@localhost yum.repos.d]# cp rhel-source.repo rhel6.repo //配置文件必须以.repo结尾
[root@localhost yum.repos.d]# vim rhel6.repo
[rhel-6]                                     //中括号里内容要求唯一,但不要出现特殊字符
name=Red Hat Enterprise Linux 6           //此为描述信息,可以看情况填写
baseurl=file:///media/                     //此项为yum软件仓库位置,指向光盘挂载点
enabled=1                                   //此项为是否开启,1为开启0为不开启
gpgcheck=1                                  //此项为是否检查签名,1为监测0为不检测
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  //签名认证信息的路径

[root@localhost /]# yum repolist
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel-6                                            | 3.9 kB     00:00 ... 
rhel-6/primary_db                                  | 3.1 MB     00:00 ... 
repo id             repo name                                     status
rhel-6              Red Hat Enterprise Linux 6                    3,690
repolist: 3,690




yum常用问题解决

1、如果网速慢的话可以通过增加yum的超时时间,这样就不会总是因为超时而退出。
#vi /etc/yum.conf
#加上这么一句
timeout=120



2、yum Existing lock错误的解决办法
如果系统启动的时候, yum出现Existing lock /var/run/yum.pid: another copy is running as pid 3380. Aborting.可以用下面的办法解决:
方法一
etc/init.d/yum-updatesd stop

方法二
#rm -f /var/run/yum.pid
主要原因就是yum在自动更新,只要关掉它就可以了。




CentOS是一个非常强大的Linux操作系统,其使用广泛,存储库中也包含了很多应用程序和软件。但是,在某些情况下,你可能需要访问其他存储库或通过其他方式安装特定软件包。为此,你需要将Linux系统向CentOS Base写入Yum源。下面是关于如何将Linux向CentOS Base写入Yum源的一些重要步骤。 1. 在CentOS上创建一个新的yum仓库 在本地计算机上创建一个新的yum仓库,确保你已经登录到这台CentOS系统,并可以执行root级别的命令,这是管理系统所必需的。 2. 编辑/创建一个repo文件 编辑或创建一个‘.repo’文件,该文件包含将添加到Linux操作系统中的yum存储库url。可以使用以下命令从终端编辑器中打开新的repo文件: vi /etc/yum.repos.d/new-repo.repo 3. 在该文件中添加仓库 添加新的yum存储库的URL和名称。这可以使用以下命令来完成: [nameofrepo] name=Description of the repository baseurl=http://path/to/repo enabled=1 gpgkey=file:///path/to/RPM-GPG-KEY-repo gpgcheck=1 你需要三点: 名称-自己选择你想要的名字,最好是有意义的。 仓库的URL-你将使用该URL添加仓库。 是否启用-这将检查方括号中的“repo = enabled”值是否设置为“1”。 4. 关闭文件并保存更改 退出/保存新的repo文件并关闭编辑器 5. 使用yum命令安装软件包 你现在已经写入了CentOS Base的yum存储库,可以使用yum命令安装新的软件包。使用以下命令yum install nameofpackage 写入Linux操作系统的CentOS Base Yum存储库是执行许多任务的必要步骤。这是一项非常简单的任务,可以在几个步骤内完成。这种方法需要注意检查,以确保系统是否存在任何安全问题,因此建议先进行尝试,并检查是否有任何错误或其他问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值