小编onk*_*ows的帖子

Python Pip 被 sys.stderr.write(f"ERROR: {exc}") 破坏

在使用 box bento/centos-7 的新 Vagrant VM 上,以下命令破坏了我的 pip 安装:

yum update
yum install epel-release -y
yum install python-pip -y
/usr/bin/pip2 install --upgrade pip setuptools pyOpenSSL psycopg2-binary lxml
Run Code Online (Sandbox Code Playgroud)

这最终失败了

  Downloading https://files.pythonhosted.org/packages/84/48/5c99d8770fd0a9eb0f82654c3294aad6d0ba9f8600638c2e2ad74f2c5d52/setuptools-52.0.0.tar.gz (2.1MB)
    100% |????????????????????????????????| 2.1MB 821kB/s
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "setuptools/__init__.py", line 16, in <module>
        import setuptools.version
      File "setuptools/version.py", line 1, in <module>
        import pkg_resources
      File "pkg_resources/__init__.py", line 1367
        raise SyntaxError(e) from e
                                ^
    SyntaxError: invalid …
Run Code Online (Sandbox Code Playgroud)

python pip

98
推荐指数
5
解决办法
10万
查看次数

如何修复错误:无法在rbenv安装上下载

在新的,新的CentOS 7.0 VM Rbenv安装不会为我安装红宝石

[vagrant@ad-proxy ~]$ rbenv install 2.2.4
Downloading ruby-2.2.4.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2
error: failed to download ruby-2.2.4.tar.bz2

BUILD FAILED (CentOS Linux 7 using ruby-build 20170405-4-g365dd1f)
Run Code Online (Sandbox Code Playgroud)

它显示了更详细的记录

[vagrant@ad-proxy ~]$ rbenv install 2.2.4 -v
/tmp/ruby-build.20170515092651.20803 ~
Downloading ruby-2.2.4.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2
curl: (35) Peer reports incompatible or unsupported protocol version.
error: failed to download ruby-2.2.4.tar.bz2

BUILD FAILED (CentOS Linux 7 using ruby-build 20170405-4-g365dd1f)
Run Code Online (Sandbox Code Playgroud)

这个问题似乎起源于例如卷曲

[vagrant@ad-proxy ~]$ curl https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2
curl: (35) Peer reports incompatible or unsupported protocol version.
[vagrant@ad-proxy ~]$ curl https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2 -v …
Run Code Online (Sandbox Code Playgroud)

curl rbenv

14
推荐指数
2
解决办法
6979
查看次数

如何在 Linux 机器上使用 no_proxy - 通配符、前导点

no_proxy我对Linux上的环境变量感到困惑。

互联网上有很多说明显示前导点,例如.localdomain.com /sf/answers/1380391281/

export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
Run Code Online (Sandbox Code Playgroud)

这个例子是与使用有关的wget。但我无法确认这是否有效。例如,在 Ubuntu 18.04 上,我删除了前导点以使其正常工作。请注意,例如我使用的是子域wget mysite.localdomain.com

export no_proxy="localhost,127.0.0.1,localaddress,localdomain.com"
Run Code Online (Sandbox Code Playgroud)

当我使用 a 时,curl它将与前导点一起使用。

看来no_proxy配置方式应该取决于工具?curl对于和 来说是不同的wget

no_proxy是否存在适用于所有工具的约定?

我想写出每个完整的域名都会起作用。

proxy

14
推荐指数
1
解决办法
4万
查看次数

Chef :: Log.info完全做了什么

我正在尝试将一些日志记录添加到我的Chef配方中.

在其他食谱中,我注意到使用Chef::Log.info,例如:

Chef::Log.info("Connection to database '#{dbname}' on '#{host}' failed")
Run Code Online (Sandbox Code Playgroud)

我想知道这是做什么的.日志记录不会出现在任何地方,不会出现在控制台中,也不会出现在日志文件中.Chef网站似乎也没有记录为什么以及如何使用它.

为什么要添加这样的信息日志语句?你在哪里可以看到这样的消息?这需要高级功能吗?

我的knife.rblog_level如下

log_level                :info
log_location             STDOUT
Run Code Online (Sandbox Code Playgroud)

logging chef-infra

11
推荐指数
1
解决办法
2万
查看次数

.xsd不是此编译的一部分.这是.xjb的错误吗?

我正在尝试更改schemaLocation我的xjb文件以使用不使用URL的远程文件,而是使用也受版本控制的本地副本.

所以例如我的xjb文件有类似的东西

<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings
        xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xsd:ID="JaxbBindingsForWMiddleware"
        version="2.0">

    <jxb:bindings node="/xsd:schema"
                  schemaLocation="http://myserver:80/a/b/c/d/myxsd.xsd">
Run Code Online (Sandbox Code Playgroud)

当我将其更改为本地副本时

schemaLocation="../../src/main/resources/myxsd.xsd">
Run Code Online (Sandbox Code Playgroud)

mvn clean install 将会失败并显示类似的消息

[警告]引起:com.sun.istack.SAXParseException2; systemId:file:/ E:/somefolder/somefolder/myjavaproject/target/bindings/myxjb.xjb; lineNumber:33; columnNumber:33; "file:/ E:/somefolder/somefolder/myjavaproject/target/bindings/mywsdl.wsdl"不是此编译的一部分.这是"file:/ E:/somefolder/somefolder/myjavaproject/target/bindings/myxjb.xjb"的错误吗?

我注意到它正在目录中查找我的wsdl文件target.我可以schemaLocation以指向src目录的方式操纵它.然后路径存在,但消息仍然存在.

我也可以将wsdl放在目标目录中,java尝试在其中找到它,但在这种情况下,消息保持不变.

所以看起来需要特定的东西来使它成为这个编译的一部分.应该怎么做才能以正确的方式编译它?

java xsd

8
推荐指数
2
解决办法
1万
查看次数

使用 Ansible 时服务文件更改时重启服务

我正在使用template模块创建一个 systemd 服务

---
- name: Systemd service
  template:
    src: sonar.unit.j2
    dest: /etc/systemd/system/sonarqube.service
  when: "ansible_service_mgr == 'systemd'" 
Run Code Online (Sandbox Code Playgroud)

sonarqube.service 的内容当然可以改变。更改时我想重新启动服务。我怎样才能做到这一点?

ansible ansible-template

8
推荐指数
2
解决办法
2万
查看次数

致命错误:ffi.h:pip2 install pyOpenSSL 上没有这样的文件或目录

我总是用来在目标节点上安装/构建 Ansible 代理的步骤之一是pip2 install pyOpenSSL. 这是您的 Ansible 客户端的要求,以便使用标准 Ansible 模块创建自签名证书,例如openssl_certificate

从今天起这不再有效。

我可以按如下方式重现此消息:

vagrant init generic/ubuntu1804
vagrant ssh
sudo su -
apt-get update && apt-get -y install python python-pip
pip2 install pyOpenSSL
Run Code Online (Sandbox Code Playgroud)

最后一步失败并显示以下消息。目前在 Ubuntu 18.04 上安装pyOpenSSL 的正确方法是什么?这个问题有解决方法吗?

或者更好的是,是否有适用于 Ansible 的 Python 发行版?这包括所有依赖项,所以我不必编译构建我自己的 Ansible 客户端?

root@ubuntu1804:~# pip2 install pyOpenSSL
Collecting pyOpenSSL
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fc72409d5d0>: Failed to establish a new connection: [Errno -3] Temporary failure …
Run Code Online (Sandbox Code Playgroud)

python ansible

8
推荐指数
3
解决办法
1万
查看次数

宝石安装需要永远

我正在构建和安装本地gem.还有详细的宝石安装只是坐在那里等待很长一段时间.没有输出.

当有输出时,它会在几秒钟内完成.

人们可以期待安装本地宝石快速进行,但显然它正在做一些事情,可能在网络上,虽然宝石是本地的,这需要永远.

关于如何解决这个问题的任何想法?

ruby gem

5
推荐指数
1
解决办法
2275
查看次数

如何调试厨师食谱

我正在研究一个厨师食谱,现在我想知道如何调试食谱。这似乎并不都是直截了当的。

例如添加简单的日志语句不清楚。我可以使用例如

     Chef::Log.info "My message"
Run Code Online (Sandbox Code Playgroud)

但目前尚不清楚此消息将记录在何处。即使有详细输出,它也不会出现在厨师客户端运行控制台中,例如如下

     knife ssh mynode "sudo chef-client" --manual-list --ssh-user myuser -VV
Run Code Online (Sandbox Code Playgroud)

迄今为止我发现的最好/最先进的调试方法只是引发异常。一点都不先进。

chef-infra

5
推荐指数
1
解决办法
6659
查看次数

来自 https 站点的 Chef Remote_file 并带有自签名证书

我想知道 Chef 是否可以使用remote_file使用自签名证书的 https 源中的资源。好像不可以。文档未提及证书并提供禁用 SSL 检查的配置。

如果您有一个带有自签名证书的 https 站点,则可以使用具有以下内容的配方进行复制:

remote_file "/tmp/image.png" do
  source "https://mywebsite.com/image.png"
end
Run Code Online (Sandbox Code Playgroud)

您当然可以使用knife在目标节点上获取证书,如下所示

vagrant@devops:~$ Knife ssl fetch https://mywebsite.com/
警告:未找到 Knife 配置文件
警告:来自 mywebsite.com 的证书将被获取并放置在您的 trust_cert 目录中 (/home/vagrant/.chef/trusted_certs )。
Knife 无法验证这些证书是否正确。下载后您应该验证这些证书的真实性。

这似乎没有做太多/任何事情。厨师将继续显示消息

==>默认值:[2015-06-08T06:30:33+00:00]错误:remote_file[/tmp/image.png](jenkins::remote_file_test第1行)有错误:OpenSSL::SSL::SSLError : SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B: 证书验证失败

也许这是一个错误?Chef 似乎忽略了受信任的证书。

有解决方法吗?我们能让 Chef 以某种方式信任该证书吗?

更新 Tensibai 给出了正确答案。看他的评论。

ssl chef-infra

5
推荐指数
1
解决办法
7702
查看次数

标签 统计

chef-infra ×3

ansible ×2

python ×2

ansible-template ×1

curl ×1

gem ×1

java ×1

logging ×1

pip ×1

proxy ×1

rbenv ×1

ruby ×1

ssl ×1

xsd ×1