首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >傀儡Vcsrepo (git):获取错误“存在且不是所需的存储库”。

傀儡Vcsrepo (git):获取错误“存在且不是所需的存储库”。
EN

Server Fault用户
提问于 2022-05-23 23:56:56
回答 1查看 216关注 0票数 1

我使用vcsrepo和git来维护ubuntu系统上的一堆软件。我使用循环中的这个伪代码来保持文件的更新。

代码语言:javascript
复制
      vcsrepo { "/usr/local/tools/$repo":
        ensure   => latest,
        provider => git,
        user     => 'tools',
        source   => "https://xxxxx@bitbucket.org/uoa/$repo.git";
      }

我正在使用latest,然后切换到present,没有明显的效果。

我在我所有的ubuntu系统上都有Error: Path /usr/local/tools/common-library exists and is not the desired repository.,除了一个还在运行16.04的旧系统

Vcsrepo版本是3.0.0,木偶是5岁。是的,我知道这些都是旧的,但这超出了我的控制范围,我最好的猜测是git中有些东西发生了变化。

EN

回答 1

Server Fault用户

发布于 2022-12-16 22:14:59

是的,用于git 破产了的CVE修补程序是您现有的配置。这是在过去几天在Debian Buster上发布的,在系统傀儡(5.5.10-4)上造成了破坏。似乎没有适用于vcsrepo 3.2.1的修补程序,这是最新的支持Puppet 5的修补程序。我不知道为什么我的牛眼机器没有受到影响。作为解决办法,这个WFM:

一次:

代码语言:javascript
复制
  case $::facts['os']['distro']['codename'] {
    'buster' : {
      concat { '/etc/gitconfig' :
        owner   => 'root',
        group   => 'root',
        mode    => '0644',
      }
    }
  }

然后在我的项目处理课上:

代码语言:javascript
复制
  case $::facts['os']['distro']['codename'] {
    'buster' : {
      concat::fragment { "gitconfig_$project" :
        target  => '/etc/gitconfig',
        content => "[safe]\n\tdirectory = /usr/local/repos/$project\n\n",
        before  => Vcsrepo["/usr/local/repos/$project"],
      }
    }
  }

显然,调整您的操作系统/路径的变量。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1101645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档