#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
исполняемый файл из командной строки.