6

私はソルトスタックが初めてです。

シンボリックリンクが存在することを確認しようとしています。

/etc/localtime:
  file.symlink:
    - target: /usr/share/zoneinfo/Europe/Paris
    - file.exists:
      - name: /usr/share/zoneinfo/Europe/Paris

既存の がない/etc/localtime場合、または/etc/localtimeがすでにシンボリック リンクである場合、結果は例外となります。/etc/localtimeしかし、通常のファイルの場合は失敗します:

----------
State: - file
Name:      /etc/localtime
Function:  symlink
    Result:    False
    Comment:   File exists where the symlink /etc/localtime should be
    Changes:   

リンクの作成前にファイルが削除されるように状態をコーディングする方法がわかりません。どんな手掛かり ?

乾杯、ピエール

4

1 に答える 1

13

使用するforce=True

/etc/locatime:
  file.symlink:
    - target: /usr/share/zoneinfo/Europe/Paris
    - force: True
    # Note: file.exists is not valid here and can be removed
    # file.exists:
    #  - name: /usr/share/zoneinfo/Europe/Paris

ドキュメントから:

シンボリックリンクのターゲットが存在し、シンボリックリンクではなく、force が False に設定されている場合、状態は失敗します。force が True に設定されている場合、symlink ファイルの途中にあるファイルまたはディレクトリは、名前が変更されるときに backupname が設定されていない限り、symlink 用のスペースを確保するために削除されます。

于 2013-12-23T22:21:27.647 に答える