GNU Stow:エラー:パッケージ名にスラッシュは許可されていません。

GNU Stow:エラー:パッケージ名にスラッシュは許可されていません。

以下を使用するとエラーが発生します。エラー:パッケージ名にスラッシュは許可されていません。stow --simulate -v --target=/path/to/target/tree /path/to/source/tree

私は何が間違っていましたか? ?

答え1

Stowは/path/to/source/tree。親ディレクトリ(または--targetデフォルトが気に入らない場合は指定したディレクトリ)に移動します。

つまり、私のディレクトリに次のものが/usr/local/stow含まれている場合:

packagea/
  bin/
    packagea
packageb/
  bin/
    packageb
  share/
    man/
      man1/
        packageb.1

その後、入ってcd実行するか/usr/local/stowstow packagea必要なシンボリックリンクが作成されます。stow packagebstow

  • の場合、stow packagea/usr/local/bin/packageaを指します。/usr/local/stow/package/bin/pacakge
  • のためstow packageb
    • /usr/local/bin/packagebリンクされます/usr/local/stow/packageb/bin/packageb
    • /usr/local/share/man/man1/packageb.1リンクされます/usr/local/stow/packageb/share/man/man1/packageb.1

このように:

# cd /usr/local/stow
# tree
.
└── packageb
    ├── bin
    │   └── packageb
    └── share
        └── man
            └── man1
                └── packageb.1
# stow --simulate -v packageb
LINK: bin/packageb => ../stow/packageb/bin/packageb
LINK: share/man/man1/packageb.1 => ../../../stow/packageb/share/man/man1/packageb.1
WARNING: in simulation mode so not modifying filesystem.

管理に stow を使用するには、/usr/share/powerline/config_files/themes/tmux/default.json次のようにします。ここに/root/stow私の準備ディレクトリがあります(どこにいてもかまいません)。これを/usr/shareターゲットディレクトリとして使用します。

  1. 始める前に、次のものが必要です。

    # tree /usr/share/powrline
    /usr/share/powrline/
    └── config_files
        └── themes
            ├── file1.txt
            ├── file2.txt
            ├── file3.txt
            ├── file4.txt
            └── file5.txt
    
  2. 私のリポジトリディレクトリから:

    mkdir -p powrline/powrline/config_files/themes/tmux
    echo '{"this": "is a test"}' > powrline/powrline/config_files/themes/tmux/default.json
    

    これは私に次のことを与えます:

    # tree
    .
    └── powrline
        └── powrline
            └── config_files
                └── themes
                    └── default.json
    
    
  3. それから私のstowディレクトリに次のものを追加します。

    stow --target=/usr/share powrline
    
  4. これは私に次のことを与えます:

    # tree /usr/share/powrline/
    /usr/share/powrline/
    └── config_files
        └── themes
            ├── default.json -> ../../../../../root/stow/powrline/powrline/config_files/themes/default.json
            ├── file1.txt
            ├── file2.txt
            ├── file3.txt
            ├── file4.txt
            └── file5.txt
    

もちろん、/usr/shareターゲット以外のものを使用するためにデコードすることもできます。たとえば、/usr/share/powrlineターゲットディレクトリとして使用できます。この場合、stowディレクトリは次のようになります。

.
└── powrline
    └── config_files
        └── themes
            └── default.json

関連情報