如何通过SaltStack以非交互方式安装NVIDIA

时间:2018-06-26 10:57:28

标签: nvidia salt-stack

我是SaltStack的新手。

我只需要在运行带有SaltStack的CentOS 7的minion服务器上安装NVIDIA。

在gpu / init.sls文件中:

install_nvidia:
  cmd.script:
    - source: salt://gpu/files/NVIDIA-Linux-x86_64-375.20.run
    - user: root
    - group: root
    - shell: /bin/bash
    - args: -a

我跑步:

sudo salt minion_name state.apply gpu

我得到了错误:

...
 stderr:
                  Error opening terminal: unknown.
...
...
Summary for minion_name
------------
Succeeded: 0 (changed=1)
Failed:    1

如何获取有关失败原因的更多详细信息? 我相信它会等待用户输入,但我不知道什么

我又如何以非交互方式在CentOS 7上安装NVIDIA?

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用salt-call -l debug在本地运行,以获取有关Salt状态为何失败的更多详细信息。

salt-call -l debug state.apply gpu

在您的情况下,您必须知道,在Linux上安装NVIDIA驱动程序将要求您运行安装程序而没有图形会话。最简单的方法是检查您当前是否处于图形会话中(使用systemd),然后删除do multi-user.target,如果这样:

enter-multiuser:
  cmd.run:
    - name: systemctl isolate multi-user.target
    - onlyif: systemctl status graphical.target

然后,您可以使用类似的方法静默安装NVIDIA驱动程序

gpu-prerequisites:
  pkg.installed:
    - pkgs:
      - kernel-devel

download-installer:
  file.managed:
    - name: /tmp/NVIDIA-Linux-x86_64-375.20.run
    - source: salt://gpu/files/NVIDIA-Linux-x86_64-375.20.run


install-driver:
  cmd.run:
    - name: /tmp/NVIDIA-Linux-x86_64-375.20.run -a -s -Z -X
    - require:
      - file: download-installer
      - pkg: gpu-prequisites

start-graphical:
  cmd.run: 
    - name: systemctl start graphical.target
    - unless:  systemctl status graphical.target
    - watch:
      - cmd: install-driver