分类 默认分类 下的文章

目录

将本地镜像复制到远程机器,直接导入 docker,无中间文件

docker save edgexfoundry/device-s7:0.0.0-dev | gzip | ssh -C 192.168.123.35 docker load 

将当前目录下所有的视频文件合并为一个 mp4

ffmpeg -f concat -safe 0 -i <(for f in ./*.mp4; do echo "file '$PWD/$f'"; done) -c copy output.mp4

Localtunnel under Apache Httpd

<VirtualHost *:80>
    ServerName t.abc.cn
    ServerAlias *.t.abc.cn

    RewriteEngine   On
    ProxyPassMatch ^/(.*)$ http://localhost:3081/$1
    ProxyPassReverse / http://localhost:3081/

    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
    RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
    RewriteRule .* ws://localhost:3081%{REQUEST_URI} [P]

    ProxyPreserveHost   On
    ProxyRequests   On
</VirtualHost>

从 docker container 中获取配置,并打印需要的内容

docker exec -it zlmediakit cat /opt/media/conf/config.ini  | grep secret| awk -F'=' '{print $2}'

FRP server config in nginx


server {
    listen 80;
    listen [::]:80;

    root /var/www/html/t.abc.cn;

    server_name .t.abc.cn;

    location / {
        proxy_pass http://localhost:8888;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Docker 私有 Registry 实操

0、增加新的 IP 地址解析

more /etc/hosts

121.1.1.251 hub.abc.cn

1、修改 docker 配置文件

more /etc/docker/daemon.json 

{
    "insecure-registries" : [ "0.0.0.0/0" ]
}

2、重启 docker

systemctl restart docker

3、拉取镜像 image

docker pull ...

远程连接 ssh 通过 socks5

1、启动 socks 服务,监听 9898

ssh -D 0.0.0.0:9898 1.1.1.1

2、连接 ssh 通过 socks

ssh -o "ProxyCommand=nc -X 5 -x 192.168.123.33:9898 %h %p" 121.1.1.68

3、三级跳,需要从操作机器访问摄像头web

操作机器 中间机器 目标机器 摄像头
121.1.1.68 121.1.1.251 50.5.0.18:192.168.3.122 192.168.3.79
  • 在中间机器上,代理本地 9898 动态 socket 转换

    ssh -D 9898 50.5.0.18
  • 在操作机器上,指定 本地 9898 转发到 中间机器 9898

    ssh -L 9898:127.0.0.1:9898 121.1.1.251
  • 操作机器上,设置浏览器 socket 代理: socket5://127.0.0.1:9898

Linux 下断点续传文件

rsync -av --partial --progress model_server.tar.gz gust@50.5.0.9:/tmp/

通过网络修改系统时间

sudo date -s "$(curl -H'Cache-Control:no-cache' -sI google.com | grep '^Date:' | cut -d' ' -f3-6)Z"

Ubuntu 自动连接 4G LTE 网卡

nmcli device connect cdc-wdm0

会产生一个 /etc/NetworkManager/system-connections/cdc-wdm0.nmconnection 文件,重启 NetworkManager
即可

systemctl restart NetworkManager

docker 一次性导出所有需要的 image

docker images --format "{{.Repository}}:{{.Tag}}"  |grep hub > images.txt

image list
...
output=$(awk '{printf "%s ", $0}' images.txt)
docker save $output | gzip > all-images.tar.gz

containerd images

导出

k3s ctr images export all-images.tar $(k3s ctr images ls -q)

导入

k3s ctr images import all-images.tar

离线rpm包

# 外网环境下,安装 repotrack
yum -y install yum-utils
# 例:下载 nginx 及其依赖包至 /home/nginx-rpms 目录下
repotrack -p /home/nginx-rpms nginx
# 打包所有依赖
tar -zcvf nginx-rpms.tar.gz /home/nginx-rpms/

离线安装 apt 包

apt install apt-rdepends

下载安装包 deb

apt-rdepends lm-sensors

压缩 debs

tar -czvf all.tar.gz *.deb

加载虚拟 DRM(Direct Rendering Manager)模块

配置自动加载

  • 确认内核支持 vgem
modinfo vgem
  • 配置自动加载
vi /etc/modules

增加一行配置为:

vgem

或创建模块加载配置(可选)

  • 创建配置文件
vi /etc/modprobe.d/vgem.conf
install vgem /sbin/modprobe --ignore-install vgem
  • 更新模块配置
update-initramfs -u

重启验证

lsmod |grep vgem

以及

ls /dev/dri