第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ansible的unarchive模塊如何查找tar二進制文件?

ansible的unarchive模塊如何查找tar二進制文件?

慕尼黑8549860 2021-04-10 13:14:15
我正在嘗試執(zhí)行一個使用該unarchive模塊的任務(wù)的ansible劇本。因為我是在OSX上執(zhí)行此操作,所以我需要使用它gnu-tar,而不是bsd tarOSX通常附帶的功能,因為BSD tar不受官方支持。我已gnu-tar使用安裝了brew該gnubin文件,并將此程序包的文件夾放在$PATH變量中其他路徑的前面。但是,我的劇本仍在文件夾(原始位置)中查找,而不是在新安裝tar的/usr/bin文件夾中查找。targnu-tar我的問題是,unarchive模塊如何查找tar二進制文件?對我來說,重寫此行為以便利用的最佳方法是什么gnu-tar?
查看完整描述

2 回答

?
慕運維8079593

TA貢獻1876條經(jīng)驗 獲得超5個贊

我找到了解決方案。

在繼續(xù)之前,這是我的代碼,用于確保Brew-installedgnu-tar優(yōu)先于bsd-tarOSX附帶的代碼:

# gnu-tarexport PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"export MANPATH="/usr/local/opt/gnu-tar/libexec/gnuman:$MANPATH"

該代碼最初位于我的~/.bash_profile文件中。

Ansible查找tar二進制文件的方式與您期望的一樣:該$PATH變量與其他任何過程一樣。但是,運行劇本會創(chuàng)建一個交互式非登錄外殼程序。正如解釋在這里,該~/.bashrc文件被加載交互式非登錄shell,而~/.bash_profile被載入了登錄shell。

由于我的代碼位于~/.bash_profile文件中,因此無論我何時運行播放,它都永遠不會執(zhí)行。同樣,這是因為運行播放會創(chuàng)建一個交互式非登錄外殼,該外殼不會加載~/.bash_profile。因此,代碼實際上應(yīng)該在中~/.bashrc。

的確如此,當我將代碼移至的那一刻~/.bashrc是我的任務(wù)開始使用installed的時間gnu-tar。我可以通過創(chuàng)建一個要注冊which tar到變量中的debug任務(wù)并在另一個任務(wù)中打印該任務(wù)來確認這一點。


查看完整回答
反對 回復 2021-04-16
?
千萬里不及你

TA貢獻1784條經(jīng)驗 獲得超9個贊

從源代碼看來,tar正在尋找gtar二進制文件,如果不是,tar



        # Prefer gtar (GNU tar) as it supports the compression options -zjJ

        self.cmd_path = self.module.get_bin_path('gtar', None)

        if not self.cmd_path:

            # Fallback to tar

            self.cmd_path = self.module.get_bin_path('tar')

因此,將您的brew安裝的gnu tar別名為“ gtar”或“ tar”應(yīng)該可以解決問題


查看完整回答
反對 回復 2021-04-16
  • 2 回答
  • 0 關(guān)注
  • 334 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號