Install NVIDIA drivers on CentOS 7

Опубликовано

В CentOS процедура установки драйверов NVIDIA выглядит довольно пугающе. Написал скрипт, чтобы упростить установку до минимума.

Для установки вам потребуется скачать с сайта драйвера под Linux. В скрипте поменяйте /home/user/Downloads/NVIDIA-Linux-x86_64-390.48.run на свой путь.

#! /bin/sh
# если nvidia-smi не установлен
if ! command -v nvidia-smi; then
	if [ ! -f /home/NVIDIA-Linux-x86_64-390.48.run ]; then
		echo "копируем инсталлятор в папку home"
		cp /home/user/Downloads/NVIDIA-Linux-x86_64-390.48.run /home/
		echo "прописываем инсталлятору права на запуск"
		chmod +x /home/NVIDIA-Linux-x86_64-390.48.run
		echo "добавляем в modbrobe отключение драйвера nouveau"
		printf "# generated by nvidia-installer\nblacklist nouveau\noptions nouveau modeset=0" >> /etc/modprobe.d/nvidia-installer-disable-nouveau.conf 
		
		echo "переключаем систему в режим без графики"
		systemctl set-default multi-user.target
		echo "перезапускаем систему"
		reboot
	
	fi	
	if [ -f /etc/modprobe.d/nvidia-installer-disable-nouveau.conf ] && [ ! -f /boot/initramfs-"$(uname -r)".img.bak ]; then
		mv /boot/initramfs-"$(uname -r)".img /boot/initramfs-"$(uname -r)".img.bak
		dracut --force -v /boot/initramfs-"$(uname -r)".img "$(uname -r)"
		reboot
	fi
		/home/NVIDIA-Linux-x86_64-390.48.run -q
		systemctl set-default graphical.target

else
		echo "Драйвера установлены, удаляем инсталлятор"
		if [ -f /home/NVIDIA-Linux-x86_64-390.48.run ]; then
			rm /home/NVIDIA-Linux-x86_64-390.48.run -f
			systemctl set-default graphical.target		
		fi
fi

Скрипт требует доработки, приходится перезагружаться и запускать его повторно 2 раза, но количество действий уменьшается в разы.

Автор