小编lar*_*sks的帖子

unix shell脚本中的cat命令

我有2行代码

1)使用以下代码:

for i in `ls *.properties`; do cat $i; done
Run Code Online (Sandbox Code Playgroud)

我收到错误:

cat: file_name.properties: No such file or directory.
Run Code Online (Sandbox Code Playgroud)

2)另一方面:

for i in *.properties; do cat $i; done
Run Code Online (Sandbox Code Playgroud)

工作良好!

我以为两者都是一样的.有人能帮我理解两者之间的区别吗?使用bash shell.

unix bash shell cat

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

使用 libvirt / openvswitch 在两台主机和两台虚拟机之间设置私有网络

我有两个节点和两个虚拟机

kvm01
-nic1 123.123.123.1

VM1 
-vnet1 123.123.123.2 (public) -vnet2 10.0.0.1 (private)

kvm02
-nic1 123.123.123.2

VM2
-vnet1 123.123.123.4 (public) -vnet2 10.0.0.2 (private)
Run Code Online (Sandbox Code Playgroud)

如何设置 openvswitch 网络,以便 VM1 和 VM2 位于专用网络上,但主机位于两个不同的位置?

编辑:

运行此命令:

# ovs-vsctl add-port br-private vxlan1 -- \
  set Interface vxlan1 type=vxlan options:remote_ip=123.123.123.2
Run Code Online (Sandbox Code Playgroud)

导致此 OVS 配置:

root@backup01:~# ovs-vsctl show
6276bd0a-920b-469d-a4e0-90d990dd8f94
    Bridge "br-private1"
        Port "vxlan1"
            Interface "vxlan1"
                type: vxlan
                options: {remote_host="107.150.29.72"}
        Port "br-private1"
            Interface "br-private1"
                type: internal
    ovs_version: "2.3.0"
root@kvmssd01:~# ovs-vsctl show
da6399d4-1435-437d-90d7-3e75c443389b
    Bridge br-private
        Port "vxlan1"
            Interface "vxlan1"
                type: vxlan
                options: …
Run Code Online (Sandbox Code Playgroud)

linux networking debian libvirt openvswitch

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

python:找到空条目时将列表分成多个部分

可以说我有一个看起来像这样的列表:

[
  [],
  ['blah','blah'],
  ['a','b'],
  [],
  ['abc','2'],
  ['ff','a'],
  ['test','a'],
  [],
  ['123','1'],
  []
]
Run Code Online (Sandbox Code Playgroud)

如何在遇到空项目时将此列表分解为列表列表

所以list [0]会有:

['blah','blah']
['a','b']
Run Code Online (Sandbox Code Playgroud)

列表[1]会有:

['abc','2']
['ff','a']
['test','a']
Run Code Online (Sandbox Code Playgroud)

python list

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

Docker Compose hostname命令不起作用

我无法让Docker Compose hostname命令工作.

我正在运行一个简单的docker-compose.yml:

version: '3'
services:
  redis1:
    image: "redis:alpine"
    hostname: redis1host
  redis2:
    image: "redis:alpine"
    hostname: redis2host
Run Code Online (Sandbox Code Playgroud)

一旦我运行它docker-compose up,我应该能够运行docker-compose exec redis1 /bin/ash,然后ping redis2host与其他Redis容器交谈,但ping只是没有到达目的地.我可以ping其他Redis容器ping redis2.

ping redishost2 应该工作,不是吗?

docker docker-compose

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

为什么 zsh alias 不能正确评估嵌套命令?

在我的 ~/.zshrc 中我设置了一个别名

alias dkill="docker kill $(docker ps -q)"
Run Code Online (Sandbox Code Playgroud)

但它实际上并不像命令本身那样运行。

出于某种原因,它尝试将容器名称作为命令执行,而不是将它们传递给docker kill命令。

Error response from daemon: Cannot kill container: 3f1xxxxx0c4: No such container: 3f1xxxxx0c4
zsh: command not found: 0aexxxxxx913
zsh: command not found: 46acxxxx75cd
zsh: command not found: 20f9xxxxx9c1
zsh: command not found: 63edxxxxc085
zsh: command not found: 6328xxxxfe4d
Run Code Online (Sandbox Code Playgroud)

我应该如何重新定义别名以正确杀死容器

zsh docker

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

Kubernetes 中的 Dockerfile 入口点未执行

我有一个基于 docker 容器的基于 ReactJS 的应用程序,一个 shell 脚本在 docker 镜像中定义为 ENTRYPOINT,并且我能够成功使用 docker run image-name 。

\n

现在的任务是使用标准的deployment.yaml文件模板使用这个docker镜像进行Kubernetes部署,如下所示

\n
# Deployment file\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-app\n  labels:\n    app: my-app\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: my-app\n  template:\n    metadata:\n      labels:\n        app: my-app\n    spec:\n      terminationGracePeriodSeconds: 120\n      containers:\n      - name: my-app\n        imagePullPolicy: Always\n        image: my-docker-image\n        command: ["/bin/bash"]\n        args: ["-c","./entrypoint.sh;while true; do echo hello; sleep 10;done"]\n
Run Code Online (Sandbox Code Playgroud)\n
\n
kind: Service\napiVersion: v1\nmetadata:\n  name: my-service\nspec:\n  type: NodePort\n  selector:\n    app: my-app\n  ports:\n  - port: 3000\n    targetPort: 3000\n    protocol: TCP\n    nodePort: …
Run Code Online (Sandbox Code Playgroud)

docker reactjs kubernetes

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

管理 Ansible YAML 库存文件中的“嵌套”组

我正在管理多个集群,并且希望将多个清单文件合并到一个清单中,该清单实际上如下所示:

all:
  children:
    cluster_one:
      children:
        controller:
          hosts:
            host1:
            host2:
            host3:
        compute:
          hosts:
            host4:
            host5:
            host6:
    cluster_two:
      children:
        controller:
          hosts:
            host11:
            host12:
            host13:
Run Code Online (Sandbox Code Playgroud)

我期待这最终会像这样解析:

[cluster_one]
host1
host2
host3
host4
host5
host6

[cluster_two]
host11
host12
host13

[controller]
host1
host2
host3
host11
host12
host13

[compute]
host4
host5
host6
Run Code Online (Sandbox Code Playgroud)

通过这种结构,我将能够使用主机模式请求“cluster_one 中的控制器” cluster_one:&controller,或者如果我想要所有集群中的所有控制器,我可以只请求 controller. 方便的!

不幸的是,它实际上是这样解析的:

[cluster_one]
host1
host2
host3
host4
host5
host6

[cluster_two]
host11
host12
host13

[controller]
host1
host2
host3
host11
host12
host13

[compute]
host4
host5
host6

[cluster_one:children]
controller
compute

[cluster_two:children]
controller …
Run Code Online (Sandbox Code Playgroud)

ansible ansible-inventory

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

apache不会启动

好的,所以这让我很难过,以至于我不认为自己能够自己解决这个问题.我在linux下的笔记本电脑上运行apache,所以当我离开桌面时,我仍然可以使用php和mySql.一切都很好.httpd.conf的语法没有错; apachectl configtest返回OK.但是,有一个咖啡馆,我去阿帕奇不会开始.我将沿着街道前往下一个ap,apache将毫无问题地开始,但在这个咖啡馆apache将无法启动.任何帮助将不胜感激.

我认为相关的日志条目是

[Wed Nov 16 14:03:11 2011] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "laptop"
[Wed Nov 16 14:33:36 2011] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "laptop"
[Wed Nov 16 14:42:48 2011] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "laptop"
[Wed Nov 16 14:45:27 2011] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find …
Run Code Online (Sandbox Code Playgroud)

apache

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

Puppet:制作自定义函数取决于资源

我有一个Puppet自定义函数,它返回有关在OpenStack的Keystone身份服务中定义的用户的信息.用法是这样的:

$tenant_id = lookup_tenant_by_name($username, $password, "mytenant")
Run Code Online (Sandbox Code Playgroud)

问题是此查询($username)中使用的凭据应该在Puppet运行期间由另一个资源创建(Keystone_user来自puppet-keystone的资源).据我所知,在lookup_tenant_by_name发生任何资源排序之前,正在评估对函数的调用,因为调用代码中的任何依赖项都不能强制在执行此函数之前创建凭据.

通常,可以编写自定义函数 - 或者将它们适当地放在清单中 - 以便在实例化某些指定资源之后它们不会被Puppet执行?

ruby dependencies puppet

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

如果 json 键名称中包含破折号,则带有 json 循环的 Anible playbook 不起作用

如果 json key 名称中包含破折号,Ansible playbook 将无法工作,如果没有破折号,则可以正常工作。

我尝试使用 from_json 和 json_query,但遇到了同样的问题

这是我必须解析的输出:

ok: [2.2.2.2] => {
    "bgp": {
        "response": {
            "@status": "success",
            "result": {
                "entry": [
                    {
                        "@peer": "V4",
                        "@vr": "VR",
                        "ORF-entry-received": "0",
                        "aggregate-confed-as": "yes",
                        "config": {
                            "remove-private-as": "yes"
                        },
                        "connect-retry-interval": "15",
                        "established-counts": "0",
                        "holdtime": "0",
                        "holdtime-config": "90",
                        "idle-hold": "15",
                        "keepalive": "0",
                        "keepalive-config": "30",
                        "last-error": null,
                        "last-update-age": "634",
                        "local-address": "3.3.3.3",
                        "msg-total-in": "0",
                        "msg-total-out": "0",
                        "msg-update-in": "0",
                        "msg-update-out": "0",
                        "multi-hop-ttl": "1",
                        "nexthop-peer": "no",
                        "nexthop-self": "no",
                        "nexthop-thirdparty": "yes",
                        "open-delay": "0",
                        "passive": "no",
                        "password-set": …
Run Code Online (Sandbox Code Playgroud)

ansible

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