系统环境:centOS 6.3
参考文章:文章1
什么是linux源?
为什么要更新linux源?
reason1:有时候一些源仓库是国外的,下载速度比较慢,那可能需要换一个源,比如国内的源。
reason2:有时候一些源内没有一些软件或者软件的版本不是你需要的,这时候你也需要换一个源。
如何测试源的速度?
如果判断源中是否有你需要的软件版本?
新增linux源的操作
举例:新增163的源。
step1:百度搜索“163源”
得到http://mirrors.163.com/这个网址,如下:
选择你的linux相应系统相应版本,查看centOS使用帮助,里面有步骤。
step2:按照使用说明操作即可。
点击CentOS6下载这个源
仓库文件。
地址是 http://mirrors.163.com/.help/CentOS6-Base-163.repo
PS:分析下CentOS6-Base-163.repo文件
CentOS6-Base-163.repo文件截图片段如下
直接在浏览器查看下baseurl指定的网址
Packages文件夹中就是这个源中各个软件的安装包了。
>yum repolist all
查看源仓库配置
和CentOS6-Base-163.repo文件内容一一对应。
在.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即可。
源内没有需要的软件版本怎么办?
举例:现有个需求,要安装php5.3.7版本。
>yum list php*
用上面的命令看,163的源现在只有5.3.3版本的php。
这时候就需要添加其他的源。这里推荐用webtatic源。
>
rpm
-Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
这个地方安装webtatic源的方法和163的不太一样(不同的源安装方式不一样,百度之),执行命令后,在/etc/yum.repos.d/目录下ls看一下,多了几个源仓库。
这时候我们yum repolist all看一下
再yum list php*看一下,这时候php多了很多版本,(反过来证明了webtatic这个源里面有其他php版本软件)
yum相关命令
yum check-update 检查可更新的所有软件包
yum update 下载更新系统已安装的所有软件包
yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum install 安装新软件包
yum update 更新指定的软件包
yum remove 卸载指定的软件包
yum groupinstall 安装指定软件组中的软件包
yum groupupdate 更新指定软件组中的软件包
yum groupremove 卸载指定软件组中的软件包
yum grouplist 查看系统中已经安装的和可用的软件组
yum list 列出资源库中所有可以安装或更新以及已经安装的rpm包
yum list 列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包
yum list available 列出资源库中所有可以安装的rpm包
yum list available 列出资源库中与正则表达式匹配的所有可以安装的rpm包
yum list updates 列出资源库中所有可以更新的rpm包
yum list updates 列出资源库中与正则表达式匹配的所有可以更新的rpm包
yum list installed 列出资源库中所有已经安装的rpm包
yum list installed 列出资源库中与正则表达式匹配的所有已经安装的rpm包
yum list extras 列出已经安装的但是不包含在资源库中的rpm包
yum list extras 列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包
yum list recent 列出最近被添加到资源库中的软件包
yum search 检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值
yum provides 检测软件包中yum 包含的文件以及软件提供的功能,查找与正则表达式匹配的值
yum clean headers 清除缓存中的rpm头文件
yum clean packages 清除缓存中rpm包文件
yum clean all 清除缓存中的rpm头文件和包文件
yum deplist 显示软件包的依赖信息
yum -C search xxx 显示包的信息
yum info ××× 列出包信息
当第一次使用 yum 或 yum 资源库有更新时,yum会自动下载所有所需的 headers 放置于 /var/cache/yum 目录下,所需时间可能较长。
yum 命令可以使用 -y 参数用于用 yes 回答命令运行时所提出的问题。
新下载源之后,要运行下面2个命令更新源缓存:
yum clean all
yum makecache
yum makecache命令是把服务器的包信息下载到本地电脑缓存起来,配合yum -C search xxx使用,不用上网检索就能查找软件信息,速度奇快!
yum repolist
yum repolist all 查看源仓库的情况
自动选择最快的源
由于yum中有的mirror速度是非常慢的,如果yum选择了这个mirror,这个时候yum就会非常慢,对此,可以下载fastestmirror插件,它会自动选择最快的mirror:
#yum install yum-fastestmirror
配置文件:(一般不用动)/etc/yum/pluginconf.d/fastestmirror.conf
yum镜像的速度测试记录文件:/var/cache/yum/timedhosts.txt