yum 安装旧版本的 cmake

Dom*_*que 11 yum centos scientific-linux repository

出于某种原因,当我运行yum获取 cmake 时,它​​会安装旧版本。可能是因为我的回购清单不完整?我在 CentOS 6 上使用来自非网络安装 CD 的最小桌面安装。谁能给我一个repo链接或其他东西?

在 Scientific Linux 上也会发生同样的事情。

我会将自己编译作为最后的手段,因为我试图yum install cmake在 bash 脚本中工作。

slm*_*slm 9

你不说但是你得到什么版本,你期望什么版本?

我有哪些存储库?

您可以使用以下命令找出系统配置为查询的存储库:

$ yum repolist | expand
Loaded plugins: fastestmirror, priorities, refresh-packagekit
Loading mirror speeds from cached hostfile
 * base: centos.mirror.constant.com
 * epel: mirror.steadfast.net
 * extras: mirror.symnds.com
 * updates: bay.uchicago.edu
77 packages excluded due to repository priority protections
repo id         repo name                                               status
base            CentOS-6 - Base                                         6,297+70
epel            Extra Packages for Enterprise Linux 6 - x86_64            10,246
extras          CentOS-6 - Extras                                            7+7
updates         CentOS-6 - Updates                                           314
repolist: 16,864
Run Code Online (Sandbox Code Playgroud)

包裹信息

无论是否安装,您都可以使用yum info <pkg>.

$ yum info cmake
Loaded plugins: fastestmirror, priorities, refresh-packagekit
Loading mirror speeds from cached hostfile
 * base: centos.mirror.constant.com
 * epel: mirror.steadfast.net
 * extras: mirror.symnds.com
 * updates: bay.uchicago.edu
77 packages excluded due to repository priority protections
Installed Packages
Name        : cmake
Arch        : x86_64
Version     : 2.6.4
Release     : 5.el6
Size        : 18 M
Repo        : installed
From repo   : base
Summary     : Cross-platform make system
URL         : http://www.cmake.org
License     : BSD
Description : CMake is used to control the software compilation process using simple
            : platform and compiler independent configuration files. CMake generates
            : native makefiles and workspaces that can be used in the compiler
            : environment of your choice. CMake is quite sophisticated: it is possible
            : to support complex environments requiring system configuration, pre-processor
            : generation, code generation, and template instantiation.
Run Code Online (Sandbox Code Playgroud)

包裹的网址

您可以使用该repoquery命令找出从何处下载 RPM 。

$ repoquery --location cmake
http://centos.mirrors.hoobly.com/6.5/os/x86_64/Packages/cmake-2.6.4-5.el6.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)

这是此存储库的一部分:

$ repoquery -i cmake | grep Repos
Repository  : base
Run Code Online (Sandbox Code Playgroud)

因此,这是提供此软件包的 CentOS 发行版的基本存储库。

还有哪些其他存储库?

您可以使用pkgs.org查询哪些存储库包含特定包(至少大部分主要存储库)。

根据此列表,EPEL 存储库预先构建了最新版本。这个包的版本如下:cmake 28-2.8.11.2-1。


小智 6

我在 CentOS 6.5 上需要 cmake 2.8,但我尝试使用 yum 也总是将 cmake 保持在 2.6,即使我尝试添加似乎包含正确版本的存储库。这有点 hacky,但我能够通过以 root 身份执行以下命令来获得我需要的东西:

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6.8.noarch.rpm
yum install cmake28
cd /usr/bin
mv cmake cmake26
mv ccmake ccmake26
mv cpack cpack26
mv ctest ctest26
ln -s cmake28 cmake
ln -s ccmake28 ccmake
ln -s cpack28 cpack
ln -s ctest28 ctest
Run Code Online (Sandbox Code Playgroud)