分类 linux 下的文章

问题:

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY F8D2585B8783D481

解决方法:手动导入公钥

  1. 获取并导入公钥: 你可以使用 apt-key 命令手动导入缺少的公钥。

    下面是获取并导入缺少公钥的命令:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F8D2585B8783D481
  2. 更新包列表: 导入公钥后,更新包列表:

    sudo apt-get update

b站24小时不间断直播

安装ffmpeg

apt-get install ffmpeg -y

sh脚本

#!/bin/bash

# 视频文件夹路径
video_folder="/xxx"

# 获取视频文件列表
video_files=("$video_folder"/*.mp4)
num_videos=${#video_files[@]}
current_video_index=0

while true; do
    # 获取当前视频文件路径
    current_video="${video_files[$current_video_index]}"

    # 获取视频时长(单位:秒)
    video_duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$current_video")

    # 推流当前视频到Bilibili直播
    ffmpeg -re -i "$current_video" -c:v libx264 -preset veryfast -b:v 1000k -maxrate 1000k -bufsize 2000k -pix_fmt yuv420p -g 60 -c:a aac -b:a 96k -ac 2 -ar 44100 -f flv "rtmp://your_bilibili_push_url" &

    # 获取推流进程的PID
    ffmpeg_pid=$!

    # 等待视频推流结束
    sleep "$video_duration"

    # 终止推流进程
    kill $ffmpeg_pid

    # 自动播放下一个视频
    current_video_index=$(( (current_video_index + 1) % num_videos ))

    # 可选:在每次推流后等待一段时间,以便给服务器一些休息时间
    sleep 5
done

使用软链接来修改docker的默认存储位置

默认情况下Docker的存放位置为:/var/lib/docker

可以通过下面命令查看具体位置:

sudo docker info | grep "Docker Root Dir"

首先停掉Docker服务:

systemctl stop docker #或者service docker stop

然后移动整个/var/lib/docker目录到目的路径:

mv /var/lib/docker  /home/work/docker_root

ln -s /home/work/docker_root  /var/lib/docker

这时候启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘。

Portainer

Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。

安装

拉取Portainer的Docker镜像;

docker pull portainer/portainer

运行Portainer容器;

docker run -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-d portainer/portainer

访问地址:ip:9000

使用

  1. app templates相当于应用商店吧,有很多模板,里面的源是github要科学上网
  2. images

    拉取镜像,但是拉取镜像的过程看不到,只能是知道正在拉,我的评价是不如直接在命令行输入docker pull

    管理镜像,选择images里面列出的镜像点进去可以选择分享和删除

  3. containers

    点击add container 可以添加容器,点进去之后里面有一个必填的image,就是填拉取的镜像已经拉取过的把下面的always pull image 关掉。就是说其实是可以不用特地到images里面去拉取镜像,可以在要用的时候自己拉取。

    还是这个页面往下有一个network ports configuration

    把public all exposed network ports to random host ports 打开

    或者点击 publish a new network port 来映射端口

    在最后面的advanced container settings 里面env 可以添加环境变量

    Volumes 里添加文件夹映射。

    点击 map additional volume 按钮。
    container 写入容器中文件夹位置,然后选择 Bind 选项。
    在 host 中填入服务器上挂载的文件夹位置。

    quick actions里面第一个标是log点进去可以查看日志,这个确实比较方便,比如是在安装青龙面板的时候,好像会一直占用一个控制器,这个就相当于是后台自己在跑,然后也方便去看哪里出了问题

    第二个图标是Inspect可以用来看容器的详细信息,包括id,存放的位置和log文件位置

    在NetworkSettings这里可以看容器运行的ip,用在例如openwrt的docker版本看ip

    第三个图标是Stats可以看内存和cpu的使用情况下面还会标出pid

    第四个是Console按钮,可以进入到容器中去执行命令,比进入到MySQL容器中去执行登录命令

  4. Registries

    点击add registry添加的镜像仓库,在registry provider里选择custom registry

    下面的name随便写一个,registry url填url

    这样在拉取镜像的时候,就可以选择从其他镜像仓库拉取了。

在 armbian 上安装 xfce 和 VNC 做远程桌面

配置 xfce 和 VNC

  1. 安装xfce和vnc

    apt update
    apt install xrdp -y
    apt install dbus-x11 -y

    安装好之后reboot一下。

    apt install xfce4 xfce4-goodies -y
    apt install tigervnc-standalone-server -y
    sudo apt-get install tigervnc-common -y
  2. 初始化VNC:

    vncserver

    输入两次密码然后会询问你是否创建仅观看(View-only)的密码,输入仅观看密码登录到VNC的用户只能观看远程桌面不能进行控制,可以创建也可以直接输入“n”跳过。

    设置好后杀掉创建出来的VNC进程:

    vncserver -kill :1
  3. 创建xstartup

    nano ~/.vnc/xstartup

    键入如下内容:

    #!/bin/bash
    xrdb $HOME/.Xresources
    startxfce4

    给这个文件加运行权限:

    chmod +x ~/.vnc/xstartup
  4. 测试是否可用:

    vncserver -localhost no

    -localhost no ,为可远程连接,此时可以在另一台设备上用vnc连一下试试。

    windows vnc下载:https://www.realvnc.com/en/connect/download/viewer/

    vnc上输入ip:5901

    端口号回显的日志文件名决定,如果为“xxx:1.log”,则输入5901。

    如果回显的日志文件为“xxx:2.log”,则需要放行5902端口;如果为“xxx:3.log”,则需要放行5903端口,以此类推。

    image-20240209133308535

    测试好了直接kill掉就行:

    vncserver -kill :1

中文显示为▯的问题

安装字体:

apt install fonts-wqy-zenhei -y

然后kill掉所有xfce进程和vnc进程再重新开。

安装火狐浏览器

sudo apt-get install firefox-esr -y

image-20240209133006357

设置VNC开机启动

修改启动脚本

vim /etc/rc.local

添加以下内容

su - root -c "/usr/bin/vncserver -depth 24 -geometry 1920x1080 :1 &"