2017-07-11 120 views
1

我按照此doc在RedHat 7.3中安裝閃亮的包。在文檔中提供的命令是:使用sudo時出現Ansible包警告

$ sudo su - \ 
-c "R -e \"install.packages('shiny', repos='https://cran.rstudio.com/')\"" 

在Ansible,我寫的是這樣的:

- name: Installing Shiny Packages 
    shell: sudo su - -c "R -e \"install.packages('shiny', repos='https://cran.rstudio.com/')\"" 
    #when: install_R|changed 

我得到一個警告,當我跑我的劇本:

TASK [Installing Shiny Packages] *********************************************** 
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather 
than running sudo 

changed: [test] 

請讓我知道如何以可信的方式寫出來,這樣我就可以避免這種警告。

回答

2

這可能是因爲版本1.9中過時的sudo使用。從官方的Ansible文檔。

1.9之前Ansible大多是允許使用的sudo和限制使用的su允許登錄/遠程用戶成爲一個不同的用戶和執行任務,與第二用戶的權限創建資源。截至1.9become取代舊的sudo/su,同時仍然向後兼容。

您可以通過使用become module它允許你「成爲」另一個用戶,從登錄到機器(遠程用戶)用戶的不同將其刪除。您需要設置爲true以激活特權升級。

name: Installing Shiny Packages 
    shell: R -e "install.packages('shiny', repos='https://cran.rstudio.com/')" 
become: true 
+0

如何寫這個沒有sudo:'$ sudo的蘇 - \ -c 「R -e \」 install.packages( '閃亮',回購=的 'https://cran.rstudio.com/' )\「」'? – user182944

+0

@ user182944:不確定是否可以嘗試'shell:R -e「install.packages('shiny',repos ='https://cran.rstudio.com/')」' – Inian