Более новая версия cmake доступна в CentOS 7, чем в CentOS 8?

#cmake #centos #yum

#cmake #centos #вкуснятина

Вопрос:

У меня установлены CentOS 7 и CentOS 8 на 2 виртуальных машинах. Обе они epel включены.

CentOS 7:

 $ cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)

$ yum repolist
...
repo id                                                                                              repo name                                                                                                                          status
base/7/x86_64                                                                                        CentOS-7 - Base                                                                                                                    10070
epel/x86_64                                                                                          Extra Packages for Enterprise Linux 7 - x86_64                                                                                     13445
extras/7/x86_64                                                                                      CentOS-7 - Extras                                                                                                                    413
updates/7/x86_64                                                                                     CentOS-7 - Updates                                                                                                                  1127
repolist: 25055
  

CentOS 8:

 $ cat /etc/redhat-release 
CentOS Linux release 8.2.2004 (Core) 

$ yum repolist
repo id                                                                                           repo name
AppStream                                                                                         CentOS-8 - AppStream
BaseOS                                                                                            CentOS-8 - Base
PowerTools                                                                                        CentOS-8 - PowerTools
epel                                                                                              Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                                                                                      Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                                                                                            CentOS-8 - Extras
  

На CentOS 7 , cmake3 доступно из epel репозитория и предоставляет версию cmake 3.17.

 $ yum provides cmake3
...
cmake3-3.17.3-3.el7.x86_64 : Cross-platform make system
Repo        : epel
  

На CentOS 8 , cmake3 доступно из AppStream репозитория и предоставляет версию cmake 3.11.

 $ yum provides cmake3
...
cmake-3.11.4-7.el8.x86_64 : Cross-platform make system
Repo        : @System
Matched from:
Provide    : cmake3 = 3.11.4-7.el8
  

Я пытался отключить все репозитории, кроме epel , но он по-прежнему возвращается с одним из AppStream (что кажется мне нелогичным — наверняка он должен вернуться ни с чем, если я отключил все остальные репозитории?)

 $ yum --disablerepo=* --enablerepo=epel info cmake
Last metadata expiration check: 0:21:06 ago on Fri 11 Sep 2020 09:44:08 AM UTC.
Installed Packages
Name         : cmake
Version      : 3.11.4
Release      : 7.el8
Architecture : x86_64
Size         : 24 M
Source       : cmake-3.11.4-7.el8.src.rpm
Repository   : @System
From repo    : AppStream
Summary      : Cross-platform make system
URL          : http://www.cmake.org
License      : BSD and MIT and zlib
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, preprocessor
             : generation, code generation, and template instantiation.
  

Я искал наpkgs.org и, безусловно, кажется, что cmake-3.11 это последняя версия, доступная для CentOS 8 .

Помимо сборки из исходного кода, есть ли какой-либо другой способ получить более новую версию cmake on CentOD 8 ?

Ответ №1:

cmake: 3.11.4 Версия по-прежнему будет отображаться при запуске, yum info поскольку она уже установлена, поэтому отключение репозитория AppStream не повлияет на то, что отображается. Если вы только хотите показать доступные пакеты (на основе ваших включенных репозиториев yum), вы можете запустить это вместо:

 yum --disablerepo=* --enablerepo=epel info cmake --available
  

Если вы хотите установить последнюю версию CMake (или какую-либо другую версию), вы всегда можете загрузить бинарный дистрибутив со страницы загрузки CMake.

После загрузки вы можете извлечь пакет в любое место, к которому у вас есть доступ на вашем компьютере, например:

 mkdir ~/cmake
tar xvzf ~/Downloads/cmake-3.18.2-Linux-x86_64.tar.gz -C ~/cmake
  

Наконец, убедитесь, что вы добавили извлеченный bin каталог в свою PATH переменную среды, чтобы вы могли запустить cmake исполняемый файл из командной строки.