分类: LINUX
2009-04-17 23:11:44
近来对Linux很感兴趣,看见公司里面的服务器是CentOS的,一时兴起,就索性给电脑安装了另外一个操作系统CentOS 5.2(还好Laboratory的网络快,flashget只用了不到两个小时就全部down下来了,羡慕吧!)。Linux下面的开发工具倒是不少, 可是在这种充满学术气息的操作系统上工作也太单调了一些,真希望能在Linux下面看一些视频,听几首歌曲。无奈CentOS并没有非常好的播放软件,从 RealPlayer官方网站下载的bin文件也只能播放realmedia的文件,但是avi,mkv或者其他格式的影视也就爱莫能助了。自己也试着下 载了mplayrer的源代码,可是编译了几次都出现很多的问题,非常麻烦。经过一翻周折,终于在CentOS的wiki上发现了用yum安装 mplayer的教程,啧啧!
首先,安装priorities插件,
CentOS-4:yum install yum-plugin-priorities
CentOS-5: yum install yum-priorities
prioritie 插件可以为yum的源仓库指定优先级。如果安装包是用高优先级的源仓库安装的,那么这些包就不能用低优先级别的源仓库去更新。同样的,如果一个包可以从多 个源仓库中下载安装,但指定了优先级别之后,这个包就会从最高优先级的源仓库安装。假如用户使用一个或者多个第三方源仓库,这些源仓库都会更新系统文件, 有些更新甚至会潜在的危害你的的CentOS系统,这个时候,该插件就特别起作用了。
要使用这个插件,你必须先在/etc/yum.conf文件里设置 plugins=1 CentOS 5默认是plugins=1
插件安装好了后,确定上述的yum.conf里面plugins=1,现在开始编辑 /etc/yum/pluginconf.d/priorities.conf文件,必须先确认其中有以下的设置:
[main]
enabled=1
有些安装包在文件列表里注明是“过时的”。那么它会指明一个具有别的名称的过时的安装包被替换成这个安装包(有点绕口,就是说这个包会替换一个指定的“过时的”安装包)。如果一个低优先级仓库的安装包指定了一个高优先级的包“过时了”,就会与安装包的优先级起冲突(优先级指明安装包的更新应该来自与高优先级的源)。打个比方,如果gconfmm2包是从高优先级的源仓库安装的,另外一个来自低优先级的包gconfmm20指明要替换上面那个已经过时的gconfmm2包,Yum将会把gconfmm2包替换为gconfmm20包。如果把下面的一段配置加上后,priorities插件将会阻止这样的更新:
check_obsoletes=1
当优先级插件被注明可以使用了后,你可以用下面的方法为仓库的记录指明优先级
priority=N
这里N必须取1到99之间的整数。仓库的默认优先级是99.序号最小的源仓库具有最高的优先级。同常,最好是为CentOS base 和 update仓库选择非常高的优先级(毕竟是官方的嘛!),在下面的CentOS-Base.repo 文件里,CentOS base 和 update仓库都被指定了最高的优先级(priority=1)
[base]
name=CentOS-$releasever - Base
mirrorlist=
#baseurl=
gpgcheck=1
gpgkey=
priority=1
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=
#baseurl=
gpgcheck=1
gpgkey=
priority=1
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=
#baseurl=
gpgcheck=1
gpgkey=
priority=1
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=
#baseurl=
gpgcheck=1
gpgkey=
priority=1
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=
#baseurl=
gpgcheck=1
enabled=0
gpgkey=
priority=2
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=
#baseurl=
gpgcheck=1
enabled=0
gpgkey=
priority=2
注意:上面的例子是针对CentOS-4的,如果是用的是CentOS-5操作系统RPM-GPG-KEY-centos4(gpgkey一行)必须改为RPM-GPG-KEY-CentOS-5。
通过上面的设定之后,Yum将不会从低优先级的源更新那些来自base和update仓库的的安装包。
下面开始介绍安装mplayer:
安装RPMforge:
先下载rpmforge-release包,根据你的系统,从下面的链接中选择一个下载。如果你不确定要下载那个版本,使用命令 #uname -i
i386安装DAG's GPG key
#rpm --import
检查你下载的包
#rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm
安装rpmforge包
#rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm
运行了上述的命令后,将会向yum源仓库里加入一个配置文件,并且会导入合适的 GPG keys。此时,最好也设置RPMForge仓库的优先级。
用下面的命令检查更新
#yum check-update
将会输出两行文字
Loading "priorities" plugin...
76 packages excluded due to repository priority protections
76在不同的机器上或许不同,但是肯定有一些安装包在更新中被除去了。
下面是激动人心的时刻
#yum install mplayer
执 行这个命令之后,mplayer就会成功的安装到你的系统中。这是在控制台中打mplay TAB键,是不是发现了mplayer的补全命令?现在按照上面的帮助说明,就可以尽情享受视频了,而且效果不比Windows下的Windows Media Player差哦!! 经过试用,可以播放avi,mkv格式的视频,real格式的可以出声音,但是没有图画,不过有realplayer也就可以了。
reference: