linux源概念、原理、应用(linux软件安装、升级)

系统环境: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 <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 包含的文件以及软件提供的功能,查找与正则表达式匹配的值

yum clean headers 清除缓存中的rpm头文件

yum clean packages 清除缓存中rpm包文件

yum clean all 清除缓存中的rpm头文件和包文件

yum deplist <packages> 显示软件包的依赖信息

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


猜你喜欢

转载自blog.csdn.net/chenj_freedom/article/details/75044970