在Docker构建的容器中安装ping工具

因为用Docker拉取的Base镜像如Centos和Ubuntu的话都是最简版本,不包含Ping工具,而对Docker进行Docker network和Docker链接操作时往往要用到Ping工具测试两个容器间的网络,此时就要用到Ping工具了,下面是Ubuntu下安装Ping工具的命令:

sudo apt-get update && apt-get install iputils-ping

CHM文件无法从网络共享位置上直接打开

症状:
无法从网上邻居的共享位置或映射的网络驱动器上直接打开.chm文件。
从网络共享位置上打开.chm文件,显示为空白或运行不正常,而文件本身是正常的,复制到本地打开就可正常显示,而在网络邻居上则不能。
原因:
Microsoft 公司发布的HTML帮助的安全补丁,将HTML的安全设置提高,默认将禁止非本机HTML帮助文件中控件的访问,以保护计算机安全。
对比:
安装HTML帮助补丁后,在默认设置下,从网络共享上查看.chm帮助文件,显示为空白
在注册表中设置允许从本地局域网上访问.chm帮助文件后,显示正常
解决方法:
①将文件拷贝到本地
②直接运行下面的命令:
reg add HKLMSOFTWAREMicrosoftHTMLHelp1.xItssRestrictions /v MaxAllowedZone /t REG_DWORD /d 3 /f
附撤消修改(恢复默认)方法,删除相应注册表键值或直接运行下面命令:
reg delete HKLMSOFTWAREMicrosoftHTMLHelp1.xItssRestrictions /f
link http://www.plge.com.cn/archives/789

在LEDE软路由上运行Home Assistant

  1. 环境准备
    运行Home Assistant需要python3.5以上的python环境.软件源里有现成的3.6,直接安装就好

    1
    opkg install python3 python3-pip

    安装虚拟环境

    1
    pip3 install virtualenv
  2. 指定安装位置,python版本
    以 /mnt/sda3/homeassistant 路径为例

    1
    virtualenv /mnt/sda3/homeassistant -p /usr/bin/python3.6

    进虚拟环境

    1
    source /mnt/sda3/homeassistant/bin/activate
  3. 安装Home Assistant
    1
    python3 -m pip install homeassistant
  4. 测试运行一下
    1
    hass –open-ui

    等两分钟初始化 看看能不能打开webui,默认端口8123 路由器ip:8123
    Ctrl + C 中止
    退出虚拟环境

    1
    deactivate
  5. 控制脚本
    建立/etc/init.d/hass-daemon
    贴最下面的脚本,注意改成自己的安装目录

    1
    /etc/init.d/hass-daemon enable

    设置为开机启动

    1
    /etc/init.d/hass-daemon start

    启动

    1
    /etc/init.d/hass-daemon stop

    关闭

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh /etc/rc.common

START=99

# /etc/init.d Service Script for Home Assistant
PRE_EXEC="cd /mnt/sda3/homeassistant; source bin/activate;"
# Typically /usr/bin/hass
HASS_BIN="hass"
RUN_AS="root"
PID_DIR="/var/run/hass"
PID_FILE="$PID_DIR/hass.pid"
CONFIG_DIR="/$RUN_AS/.homeassistant"
LOG_DIR="/var/log/homeassistant"
LOG_FILE="$LOG_DIR/home-assistant.log"
FLAGS="-v –config $CONFIG_DIR –pid-file $PID_FILE –log-file $LOG_FILE –daemon"

start() {
  create_piddir
  if [ -f $PID_FILE ] && kill -0 $(cat $PID_FILE) 2> /dev/null; then
    echo ‘Service already running’ >&2
    return 1
  fi
  echo -n ‘Starting service… ‘ >&2
  local CMD="$PRE_EXEC $HASS_BIN $FLAGS;"
  /bin/sh -c "$CMD" $RUN_AS
  if [ $? -ne 0 ]; then
    echo "Failed" >&2
  else
    echo ‘Done’ >&2
  fi
}

stop() {
  if [ ! -f "$PID_FILE" ] || ! kill -0 $(cat "$PID_FILE") 2> /dev/null; then
    echo ‘Service not running’ >&2
    return 1
  fi
  echo -n ‘Stopping service… ‘ >&2
  kill $(cat "$PID_FILE")
  while ps -p $(cat "$PID_FILE") > /dev/null 2>&1; do sleep 1;done;
  rm -f $PID_FILE
  echo ‘Done’ >&2
}

create_piddir() {
  if [ ! -d "$PID_DIR" ]; then
    mkdir -p $PID_DIR
    chown $RUN_AS "$PID_DIR"
  fi
}

添加免费证书(备忘)

https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

1,安装acme.sh

1
curl https://get.acme.sh | sh

2,将CloudFlare Global API KEY加入临时系统变量

1
2
    export CF_Key="******************"
    export CF_Email="********"

3,获取证书

1
~/.acme.sh/acme.sh –issue -d lingbo.me -d *.lingbo.me –dns dns_cf

ps,
How to get pkcs12(pfx) format

1
acme.sh  –toPkcs  -d <domain>  [–password pfx-password]