Intel Media Server Studio 2017 R3が最小インストールのCentOS7.3にインストールできない
Intel Media Server Studio 2017 R3をCentOS7.3にインストールしようとしていますが、最初のところでつまずいています。
環境は以下の通りです。
# more /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
の最小インストール(minimum install)
model name : Intel(R) Core(TM) i7-6770HQ CPU @ 2.60GHz
# lspci -nn -s 0:02.0
00:02.0 VGA compatible controller [0300]: Intel Corporation Iris Pro Graphics 580 [8086:193b] (rev 09)
# cat /proc/version
Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
インストール手順ですが、
mirrorlistにコメントアウトして、baseurlのコメントアウトを削除しました。
/etc/yum.repos.d/CentOS-Base.repoを
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep
o=os&infra=$infra
baseurl=http://mirror.centos.org/centos/7.3.1611/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
tar -xzf MediaServerStudioEssentials2017R3.tar.gz
cd MediaServerStudioEssentials2017R3
tar -xzf SDK2017Production16.5.2.tar.gz
cd SDK2017Production16.5.2/CentOS
tar -xzf install_scripts_centos_16.5.2-64009.tar.gz
su
./install_sdk_CentOS.sh
・・・
If no response in 120 seconds option 1 will be default [1]で「1」を選択
・・・
エラー: パッケージ: elfutils-devel-0.166-2.el7.x86_64 (mss_vault_base)
要求: elfutils-libs(x86-64) = 0.166-2.el7
インストール: elfutils-libs-0.168-8.el7.x86_64 (@base/7)
elfutils-libs(x86-64) = 0.168-8.el7
利用可能: elfutils-libs-0.166-2.el7.x86_64 (mss_vault_base)
elfutils-libs(x86-64) = 0.166-2.el7
エラー: パッケージ: elfutils-libelf-devel-0.166-2.el7.x86_64 (mss_vault_base)
要求: elfutils-libelf(x86-64) = 0.166-2.el7
インストール: elfutils-libelf-0.168-8.el7.x86_64 (@base/7)
elfutils-libelf(x86-64) = 0.168-8.el7
利用可能: elfutils-libelf-0.166-2.el7.x86_64 (mss_vault_base)
elfutils-libelf(x86-64) = 0.166-2.el7
エラー: パッケージ: audit-libs-devel-2.6.5-3.el7_3.1.x86_64 (mss_vault_updates)
要求: audit-libs(x86-64) = 2.6.5-3.el7_3.1
インストール: audit-libs-2.7.6-3.el7.x86_64 (@base/7)
audit-libs(x86-64) = 2.7.6-3.el7
利用可能: audit-libs-2.6.5-3.el7.x86_64 (mss_vault_base)
audit-libs(x86-64) = 2.6.5-3.el7
利用可能: audit-libs-2.6.5-3.el7_3.1.x86_64 (mss_vault_updates)
audit-libs(x86-64) = 2.6.5-3.el7_3.1
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest
yum install failed!
のようにインストールに失敗します。
またinstall_sdk_CentOS.shを書き換えましたので添付します。
# more install_sdk_CentOS.sh
#!/usr/bin/bash
#/******************************************************************************
***
#
#INTEL CORPORATION PROPRIETARY INFORMATION
#This software is supplied under the terms of a license agreement or nondisclosu
re
#agreement with Intel Corporation and may not be copied or disclosed except in
#accordance with the terms of that agreement
#Copyright(c) 2011-2017 Intel Corporation. All Rights Reserved.
#
#*******************************************************************************
***/
BUILD_ID=64009
MILESTONE_VER=16.5.2
LIBDRM_VER=2.4.67
LIBVA_VER=1.67.0.pre1
OS_VERSION_LIMIT="7.3.1611"
YUM_REPO_LIMIT="--releasever=$OS_VERSION_LIMIT"
YUM_REPO_FORCE="--releasever=7"
MSS_YUMREPO_FILE=/etc/yum.repos.d/MSS-Install.repo
function check_yum_repo() {
check_result=$(mktemp) || {
echo "Unknow error!"
exit 1
}
echo "Checking yum by paramters \"$@\"..."
yum "$@" check-update kernel 2> $check_result
if grep -e "Cannot find a valid baseurl for repo" -we "Errno" $check_result ; th
en
rm -f $check_result
echo "Checking yum by paramters \"$@\"...Failed!"
#found error, return a NON-zero value
return 1
else
rm -f $check_result
echo "Checking yum by paramters \"$@\"...Succeeded!"
#check pass, 0 means successful
return 0
fi
}
function create_mss_install_repo() {
echo "[mss_base]"
> $MSS_YUMREPO_FILE
echo "name=CentOS-mss_base - Base"
>> $MSS_YUMREPO_FILE
echo "baseurl=http://vault.centos.org/centos/$OS_VERSION_LIMIT/os/x86_64/"
>> $MSS_YUMREPO_FILE
echo "gpgcheck=1"
>> $MSS_YUMREPO_FILE
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7"
>> $MSS_YUMREPO_FILE
echo "enabled=0"
>> $MSS_YUMREPO_FILE
echo ""
>> $MSS_YUMREPO_FILE
echo "[mss_updates]"
>> $MSS_YUMREPO_FILE
echo "name=CentOS-mss_updates - Updates"
>> $MSS_YUMREPO_FILE
echo "baseurl=http://vault.centos.org/centos/$OS_VERSION_LIMIT/updates/x86_64/"
>> $MSS_YUMREPO_FILE
echo "gpgcheck=1"
>> $MSS_YUMREPO_FILE
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7"
>> $MSS_YUMREPO_FILE
echo "enabled=0"
>> $MSS_YUMREPO_FILE
echo ""
>> $MSS_YUMREPO_FILE
echo "[mss_vault_base]"
>> $MSS_YUMREPO_FILE
echo "name=CentOS-mss_vault_base - Base"
>> $MSS_YUMREPO_FILE
echo "baseurl=http://vault.centos.org/centos/$OS_VERSION_LIMIT/os/x86_64/"
>> $MSS_YUMREPO_FILE
echo "gpgcheck=1"
>> $MSS_YUMREPO_FILE
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7"
>> $MSS_YUMREPO_FILE
echo "enabled=0"
>> $MSS_YUMREPO_FILE
echo ""
>> $MSS_YUMREPO_FILE
echo "[mss_vault_updates]"
>> $MSS_YUMREPO_FILE
echo "name=CentOS-mss_vault_updates - Updates"
>> $MSS_YUMREPO_FILE
echo "baseurl=http://vault.centos.org/centos/$OS_VERSION_LIMIT/updates/x86_64/"
>> $MSS_YUMREPO_FILE
echo "gpgcheck=1"
>> $MSS_YUMREPO_FILE
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7"
>> $MSS_YUMREPO_FILE
echo "enabled=0"
>> $MSS_YUMREPO_FILE
}
function install_prerequisites() {
# whether $MSS_YUMREPO_FILE is used, and whether yum install succeeds, we should
ensure remove
# $MSS_YUMREPO_FILE always after run this function
echo "Installing prerequisiters with yum parameters \"$@\"..."
yum -y -t "$@" groupinstall "Development Tools" || {
rm -f $MSS_YUMREPO_FILE
echo "yum groupinstall failed!"
exit 2
}
yum -y -t "$@" install kernel-headers kernel-devel bc wget bison ncurses-devel h
maccalc zlib-devel binutils-devel elfutils-libelf-devel rpm-build redhat-rpm-con
fig asciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto audit-libs-devel binutils
-devel elfutils-devel elfutils-libelf-devel newt-devel numactl-devel pciutils-de
vel python-devel zlib-devel || {
rm -f $MSS_YUMREPO_FILE
echo "yum install failed!"
exit 3
}
echo "Installing prerequisiters with yum parameters \"$@\"...Succeeded!"
rm -f $MSS_YUMREPO_FILE
}
function install_mss_packages() {
#install Media Server Studio packages
echo "Installing user-space library rpms..."
rpm -Uvh \
libdrm-$LIBDRM_VER-$BUILD_ID.el7.centos.x86_64.rpm \
libdrm-devel-$LIBDRM_VER-$BUILD_ID.el7.centos.x86_64.rpm \
drm-utils-$LIBDRM_VER-$BUILD_ID.el7.centos.x86_64.rpm \
libva-$LIBVA_VER-$BUILD_ID.el7.centos.x86_64.rpm \
libva-devel-$LIBVA_VER-$BUILD_ID.el7.centos.x86_64.rpm \
libva-utils-$LIBVA_VER-$BUILD_ID.el7.centos.x86_64.rpm \
intel-linux-media-$MILESTONE_VER-$BUILD_ID.el7.centos.x86_64.rpm \
intel-linux-media-devel-$MILESTONE_VER-$BUILD_ID.el7.centos.x86_64.rpm \
intel-opencl-*.x86_64.rpm || {
echo "Installing user-space library rpms...Failed!"
exit 4
}
#remove all other kmod-ukmd installation
for installed_kmod in `rpm -qa | grep kmod-ukmd`
do
echo "Removing previous version $installed_kmod..."
rpm -e $installed_kmod || {
echo "Removing previous version $installed_kmod...Failed!"
exit 5
}
done
#install kmod-ukmd
echo "Installing kmod-ukmd-$MILESTONE_VER-$BUILD_ID..."
rpm -ivh kmod-ukmd-$MILESTONE_VER-$BUILD_ID.el7.centos.x86_64.rpm || {
echo "Installing kmod-ukmd-$MILESTONE_VER-$BUILD_ID...Failed!"
exit 6
}
echo ""
echo "Installation done. Please reboot."
echo ""
}
# Check whether --releasever=7.3.1611 work, if so, could start installation dire
ctly.
# Besides --releasever=7.3.1611 just working naturely (if the yum repos have alr
eady modified in any proper way),
# there is also a possibility that this is the second run of this script, and du
ring the first run, option 2 (as below)
# was choosen and the yum repos have modified according to the prompts.
yum_commands=($YUM_REPO_LIMIT)
if check_yum_repo "${yum_commands[@]}"; then
install_prerequisites "${yum_commands[@]}"
install_mss_packages
# all installation succeed
exit 0
fi
# "--releasever=" yum option does not work
clear
echo "This Version of MediaServerStudio has been validated against CentOS $OS_VE
RSION_LIMIT."
echo "To install MediaServerStudio there is a requirement to install packages us
ing yum package manager."
echo "yum package manager automatically installs from latest CentOS released ver
sion repository."
echo "If CentOS latest release version is newer than $OS_VERSION_LIMIT, yum will
default to install packages from this repository."
echo "This could lead to packages been installed that could conflict with this v
ersion of MediaServerStudio and cause installation to fail."
echo "It is ultimate responsibility of user to manage yum repositories to ensure
that packages installed during installation of MediaServerStudio using yum pack
age manger are installed from correct repository."
echo "For more information on CentOS version please see: \"https://wiki.centos.o
rg/FAQ/General#head-dcca41e9a3d5ac4c6d900a991990fd11930867d6\""
echo ""
echo ""
echo "User has 3 options to proceed with installation:"
echo "1: (default) Installation Script will automatically attempt to enable corr
ect repositories to install from."
echo "2: User can manually edit yum repository files to ensure yum installs from
correct repository, i.e. \"$YUM_REPO_LIMIT\" is workable."
echo " If this option is chosen installation will abort then user need to fix
yum repository files and run this script again."
echo "3: Force installation from default yum repository, i.e. using \"$YUM_REPO_
FORCE\" yum option (ONLY for advanced users who clearly know what will happen)"
echo ""
read -t 120 -p "If no response in 120 seconds option 1 will be default [1]" inpu
t
if [ -z "$input" ]; then
input=1
fi
if [ "$input" == "1" ]; then
clear
create_mss_install_repo
yum_commands=(--disablerepo "*" --enablerepo "mss_base" --enablerepo "mss_up
dates" $YUM_REPO_LIMIT)
if check_yum_repo "${yum_commands[@]}"; then
install_prerequisites "${yum_commands[@]}"
install_mss_packages
# all installation succeed
exit 0
fi
# mirror repo cannot work, try vault repo
yum_commands=(--disablerepo "*" --enablerepo "mss_vault_base" --enablerepo "
mss_vault_updates" $YUM_REPO_LIMIT)
if check_yum_repo "${yum_commands[@]}"; then
install_prerequisites "${yum_commands[@]}"
install_mss_packages
# all installation succeed
exit 0
fi
# neither mirror nor vault repo can work
echo ""
echo "Installation has failed as Automatic installation could not successful
ly connect to correct yum repositories."
echo "Please consider to use option 2 or 3 when re-run this script."
echo "Installation Aborted!"
# to ensure $MSS_YUMREPO_FILE is removed
rm -f $MSS_YUMREPO_FILE
exit 7
elif [ "$input" == "2" ]; then
echo ""
echo " Here is an example how to fix yum repository file but just for info
rmation -"
echo " Edit /etc/yum.repos.d/CentOS-Base.repo, comment out the mirrorlist
lines, uncomment and edit the baseurl lines for each entry to point to correct U
RL -"
echo " (a)"
echo " ===================================================================
================================="
echo " #mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch
=\$basearch&repo=os&infra=\$infra"
echo " baseurl=http://mirror.centos.org/centos/\$releasever/os/\$basearch/
"
echo " ===================================================================
================================="
echo " OR (b)"
echo " ===================================================================
================================="
echo " #mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch
=\$basearch&repo=os&infra=\$infra"
echo " baseurl=http://vault.centos.org/centos/\$releasever/os/\$basearch/"
echo " ===================================================================
================================="
echo " The reason of (b) is centos will move from mirror to vault for old
versions then (a) won't work any longer."
echo " One example for old CentOS7.2 is"
echo " http://mirror.centos.org/centos/7.2.1511/readme"
echo " It is expected the same deprecation of mirror will happen one day f
or CentOS7.3, too."
echo ""
echo "Please finish the modification and re-run the script to install."
echo ""
elif [ "$input" == "3" ]; then
yum_commands=($YUM_REPO_FORCE)
install_prerequisites "${yum_commands[@]}"
install_mss_packages
# all installation succeed
exit 0
else
echo "Invid input! Please rerun the script and choose one valid option."
echo "Installation aborted!"
fi
また、レポジトリがすでに消えてしまっているということで、/etc/yum.repos.d/CentOS-Base.repoを以下のように書き換えました。一応、baseurlにあるURLの存在確認はしました。
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep
o=os&infra=$infra
baseurl=http://vault.centos.org/centos/7.3.1611/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep
o=updates&infra=$infra
baseurl=http://vault.centos.org/7.3.1611/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep
o=extras&infra=$infra
baseurl=http://vault.centos.org/centos/7.3.1611/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep
o=centosplus&infra=$infra
baseurl=http://vault.centos.org/centos/7.3.1611/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
これで、
# sudo yum clean all
# sudo yum update
をしました。
ここまでやってのレポジトリの一覧ですが、
リポジトリー ID リポジトリー名 状態
C7.0.1406-base/x86_64 CentOS-7.0.1406 - Base 無効
C7.0.1406-centosplus/x86_64 CentOS-7.0.1406 - CentOSPlus 無効
C7.0.1406-extras/x86_64 CentOS-7.0.1406 - Extras 無効
C7.0.1406-fasttrack/x86_64 CentOS-7.0.1406 - CentOSPlus 無効
C7.0.1406-updates/x86_64 CentOS-7.0.1406 - Updates 無効
C7.1.1503-base/x86_64 CentOS-7.1.1503 - Base 無効
C7.1.1503-centosplus/x86_64 CentOS-7.1.1503 - CentOSPlus 無効
C7.1.1503-extras/x86_64 CentOS-7.1.1503 - Extras 無効
C7.1.1503-fasttrack/x86_64 CentOS-7.1.1503 - CentOSPlus 無効
C7.1.1503-updates/x86_64 CentOS-7.1.1503 - Updates 無効
C7.2.1511-base/x86_64 CentOS-7.2.1511 - Base 無効
C7.2.1511-centosplus/x86_64 CentOS-7.2.1511 - CentOSPlus 無効
C7.2.1511-extras/x86_64 CentOS-7.2.1511 - Extras 無効
C7.2.1511-fasttrack/x86_64 CentOS-7.2.1511 - CentOSPlus 無効
C7.2.1511-updates/x86_64 CentOS-7.2.1511 - Updates 無効
base/x86_64 CentOS-7 - Base 有効: 9,363
base-debuginfo/x86_64 CentOS-7 - Debuginfo 無効
base-source/7 CentOS-7 - Base Sources 無効
c7-media CentOS-7 - Media 無効
centosplus/x86_64 CentOS-7 - Plus 無効
centosplus-source/7 CentOS-7 - Plus Sources 無効
cr/7/x86_64 CentOS-7 - cr 無効
docker-ce-edge/x86_64 Docker CE Edge - x86_64 有効: 14
docker-ce-edge-debuginfo/x86_64 Docker CE Edge - Debuginfo x86_64 無効
docker-ce-edge-source Docker CE Edge - Sources 無効
docker-ce-stable/x86_64 Docker CE Stable - x86_64 有効: 12
docker-ce-stable-debuginfo/x86_64 Docker CE Stable - Debuginfo x86_6 無効
docker-ce-stable-source Docker CE Stable - Sources 無効
docker-ce-test/x86_64 Docker CE Test - x86_64 無効
docker-ce-test-debuginfo/x86_64 Docker CE Test - Debuginfo x86_64 無効
docker-ce-test-source Docker CE Test - Sources 無効
extras/x86_64 CentOS-7 - Extras 有効: 451
extras-source/7 CentOS-7 - Extras Sources 無効
fasttrack/7/x86_64 CentOS-7 - fasttrack 無効
updates/x86_64 CentOS-7 - Updates 有効: 2,146
updates-source/7 CentOS-7 - Updates Sources 無効
zabbix/x86_64 Zabbix Official Repository - x86_6 有効: 222
zabbix-non-supported/x86_64 Zabbix Official Repository non-sup 有効: 4
repolist: 12,212
となっています。
何か手順が抜けているのか、間違っているのかわかりませんが、ご存知の方、ご教示お願いします。