RedHat下主要有两个distribution,一曰 RHEL(Red Hat Enterprise Linux) 一曰 Fedora.前者主要是供服务器使用,优点是稳定,缺点是老的掉牙,后者是供桌面使用的,优点是特别新,repo的速度几乎可以和archlinux媲美,缺点是发布两年EOL(End-of-life_(product))就到了,我见过某服务器从不关机,也不更新Kernel,一直缝缝补补开了数年的,用fedora简直是作死.
但若不是财大气粗(比如某有数千台曙光各种RHEL的xx中心,让人羡慕的流口水),很多服务器选择CentOS作为服务器的OS,因为基于GPL License的RHEL是提供binary file 和 source code 的,有社区将source code 再编译为 binary file ,取名为CentOS,所谓社区操作系统.对此RHEL是持认可--至少是理解的态度.因此,CentOS基本可以认为是RHEL的免费版本,据传性能还是有点差距并且不提供官方技术支持.若在服务器使用,它十年的EOL也足以让服务器免去很多维护了.
今年的7月份,CentOS发布CentOS 7,对应于Red Hat在6月发布的RHEL 7,Life Cycle从今年一直持续到2024年.更重要的是,这位同志终于愿意从2.6.x的kernel升到3.x了,要知道,截止目前,kernel早已升级到3.15.8了,这得落后多少年了啊,对应的gcc也从4.4.7升级到了4.8.x,终于可以在服务器上编译带--std=c++11参数的代码而不必自己编译个编译器先了泪目.
总之,很高兴的直接装了个新的CentOS 7,然后习惯的去找RPM fusion的源,然后悲剧的发现居然目前还没有提供...额,没有只有基础仓库的CentOS 7那得多不方便啊囧,只能找一些其它的源来应付下先.
找了下,这里和这里我找到一些相关内容,照着做了下,我最需要的几个东西都可以找到.
RHEL 官方扩展源
首先我们可以使用下RHEL的官方源.命令很简单
# yum localinstall http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm -y
若发现它报个404之类的,去 http://dl.fedoraproject.org/pub/epel/7/x86_64/e/ 找找看 epel-release 开头的rpm package,或许有更新,总之装个epel-release*.rpm后,看/etc/yum.repos.d/文件夹下就多了两个文件如下:
-rw-r--r-- 1 root root 957 Jun 19 07:20 epel.repo -rw-r--r-- 1 root root 1056 Jun 19 07:20 epel-testing.repo
你若没有特别的需求,你应该只要有epel.repo就可以.
epel.repo
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source #baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1
你也可以直接把上面那些内容写到/etc/yum.repos.d/epel.repo文件中.
然后:# yum makecache 这样就可以用了。
尝试是否成功也很容易
# yum repolist ...... repo id repo name status epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 5,425 ......
发现有高亮一栏就算过了.
remi源
安装和RHEL差不多,这个源主要是提供了一些php相关的扩展库,若不使用php,意义感觉不算大.
# yum localinstall http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
同样可以在/etc/yum.repos.d/中看到多了个remi.repo
编辑可以看到内容如下:
[remi] name=Les RPM de remi pour Enterprise Linux 7 - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/7/remi/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/7/remi/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php55] name=Les RPM de remi de PHP 5.5 pour Enterprise Linux 7 - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/7/php55/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/7/php55/mirror # WARNING: If you enable this repository, you must also enable "remi" enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php56] name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 7 - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/7/php56/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/7/php56/mirror # WARNING: If you enable this repository, you must also enable "remi" enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-test] name=Les RPM de remi en test pour Enterprise Linux 7 - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/7/test/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/7/test/mirror # WARNING: If you enable this repository, you must also enable "remi" enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-debuginfo] name=Les RPM de remi pour Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.famillecollet.com/enterprise/7/debug-remi/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php55-debuginfo] name=Les RPM de remi de PHP 5.5 pour Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.famillecollet.com/enterprise/7/debug-php55/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php56-debuginfo] name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.famillecollet.com/enterprise/7/debug-php56/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-test-debuginfo] name=Les RPM de remi en test pour Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.famillecollet.com/enterprise/7/debug-test/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
默认enable全是0,根据需要自行将enable改为1,注意高亮的第五行enable必须改为1 remi才能用.
然后makecache 测试什么的就和RHEL一样不细说了.
puias源
puias 是基于RH的一个扩展distribution和mirror。无论是CentOS 5,6还是7都可以得到它的一些扩展的程序。尤其是科学计算领域的一些模块,果断是要入手的。目前它由普林斯顿高能所维护。
你去它的官网可以得到很多说明。比如这个页面
我们可以只选择计算的部分如下:
puias-computational.repo
[PUIAS_computational] name=PUIAS computational Base $releasever - $basearch mirrorlist=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch/mirrorlist #baseurl=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puias
/etc/yum.repo.d/下建立文件,保存即可。
因为我们这次没有使用rpm包,所以需要import一下GPG KEY.
rpm --import http://puias.princeton.edu/data/puias/7/x86_64/os/RPM-GPG-KEY-puias
RepoForge源
RepoForge原名RPMForge,是一个维护得很不错的repo站点.点击此处可以看到RHEL各版本的下载链接.拿到链接后
yum localinstall xxx.rpm -y
即可完成安装。
目前为止似乎还没有把centos 7加上,但是没关系,随便找个6的链接,把6变成7即可获得该rpm包的大致位置。当前我得到的位置是 : http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/
进入后找到rpmforge-release-**的文件,获得下载链接,安装即可。
yum localinstall http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm -y yum makecache