作者归档:xinlu

在openwrt系统中,其ssh是dropbear开发的简化版

在openwrt系统中,其ssh是dropbear开发的简化版,故它是不能直接openssh产生的公私钥。需要使用专用的dropbearkey命令来生成私钥及提取公钥。

dropbearkey -t rsa -f ~/.ssh/id_dropbear
dropbearkey -y -f ~/.ssh/id_dropbear
rsync -avz -e "ssh -i /path/to/private_key" /local/path/ user@remote_server_ip:/remote/path/

如何让VS编码体验如同QtCreator一样

已经习惯Qt开发后,转到VS2022后,VC的一些休验是很不适应的。

第一步:安装Qt-Assist和QtClasss向导插件【扩展》管理扩展】。

第二步:修改编码风格【工具》选项》文本编辑器》C/C++》代码样式》格式设置】
》保持原有的VisualSudio设置样式。
》换行》不要对单行代码块换行。
》新行》大括号的一些设置。

第三步:修改快捷键【工具》选项》环境》键盘】选择VisualAssist(VisualStudio)的键盘方案。

openwrt的rsync库手动安装

最近折腾openwrt相关的服务器工具,发现rsync直接用opkg命令无法安装rsync至系统中,故可采用手动方安装。

第一步:找到openwrt的仓库。
https://downloads.openwrt.org/releases/18.06.9/packages/aarch64_cortex-a53/

第二步:openwrt相关子库有base/luci/routing/telephony等。在这几个子库目录下搜索rsync,然后在https://downloads.openwrt.org/releases/18.06.9/packages/aarch64_cortex-a53/packages目录下,找到路径:https://downloads.openwrt.org/releases/18.06.9/packages/aarch64_cortex-a53/packages/rsync_3.1.3-1_aarch64_cortex-a53.ipk

第三步:本地化安装:
opkg install ./rsync_3.1.3-1_aarch64_cortex-a53.ipk

openwrt的后台服务

第一步骤:service,将显示所以服务。

第二步:找一个合适的服务,如sshd

第三步:进行/etc/init.d/路径。

第四步:上述步骤均不成功时,可执行下述脚本。

#!/bin/bash

path_current=`pwd`
path_script=$(cd "$(dirname "$0")"; pwd)
mode=$1

app_process=`ps| grep "frpc"| grep -v grep`

case "$mode" in
   'start')
        echo "it's ready to start op...."
        if test -n "$app_process"; then
                echo ""
                echo "$app_process"
                echo ""
        else
                cd $path_script   #进入脚本所在目录下,目的是使springboot的config目录生效。
                ${path_script}/frpc -c ${path_script}/frpc.ini > /dev/null 2>&1 &
                cd $path_current

        fi

        echo 'success to start.'
        ;;
   'stop')
        echo "it's ready to check process..."
        if test -n "$app_process"; then
                echo "had find app process informaton"
                echo $app_process | awk '{print ($1)}' | xargs kill -9
        fi
        echo 'success to kill.'
        ;;
    *)
        basename=`basename "$0"`
        echo "Usage: $basename  {start|stop}  [ server options ]"
        exit 1
        ;;
esac
exit 1

第5步:加入计划任务

crontab -e

为zidoo-x9s安装nas服务

每次固件安装,均需要重启系统【系统》重启】,这重启动方式最彻底。

1.下载固件

原先系统为v2.1.28,从zidoo.tv官网下载v2.1.45的最新固件包,并存在百度云盘。

通过网盘分享的文件:zidoo-x9s固件
链接: https://pan.baidu.com/s/1CBj2I2ggl0h_5Dt4wM2nSA?pwd=2tgi 提取码: 2tgi

2.安装固件

第一步:升级至最新固件v2.1.45,以及最新的oenwrta-18.06的openwrt固件包。

第二步:安装RealtekAdbdAuto-v1.1.0-signed.apk和RealtekOpenwrtDNS-v1.0.0-signed.apk,前者是adbd的调试开启,后者是DNS的执行,若不开启是无法安装执行路由解析的如ping baidu.com命令是无法完成百度地址的转换。

安装包完后,重启系统。

3.静态化IP地址如192.168.0.110。

4.访问http://192.168.0.110网页,不用设置密钥,以防忘记。

a).添加公钥,采用证书方式访问。【系统 》管理权 》SSH访问】。
b).添加软件源。【系统 》管理权 》软件包》配置》自动义软件源】添加如下:

src/gz openwrt_core https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/targets/YOUR_TARGET/aarch64_cortex-a53/packages
src/gz openwrt_base https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/base
src/gz openwrt_luci https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/luci
src/gz openwrt_packages https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/packages
src/gz openwrt_routing https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/routing
src/gz openwrt_telephony https://mirrors.cqupt.edu.cn/openwrt/releases/23.05.3/packages/aarch64_cortex-a53/telephony

5.挂载硬盘,务必确认硬盘是否挂载成功,设备地址是以/dev/xxx,但默认挂载地址是以/mnt/xxx形式,故输入地址时,请检查正确。

6.设置挂载盘随系统启动

方法一:添加启动项。【系统 》启动项 》 本地启动脚本】添加

mount -t vfat /dev/sda1 /mnt/sda1

方法二:编写挂载脚本:假如路径为/data/mysda1.sh,其内容如下:这方法行不通

uci add fstab mount
uci set fstab.@mount[-1].device='/dev/sda1'
uci set fstab.@mount[-1].target='/mnt/sda1'
uci set fstab.@mount[-1].fstype='vfat'
uci set fstab.@mount[-1].enabled='1'
uci commit fstab

检验/etc/config/fstab文件内容,已经在尾部添加如下代码:

config mount
        
       option device '/dev/sda1'
       option target '/mnt/sda1'
        
       option fstype 'vfat'
        
       option enabled '1'

6.开启nas服务。
在其模板中添加server min protocol = NT1,确保最低访问协议是smb1,这是小米的必须条件。

7.测试服务。

小米的Samba配置

参考文章:https://www.jianshu.com/p/9572ba5ed6dd

经验证,以下仅能被摄像机访问,但在wIndow是无法访问。

1.安装samba

sudo apt install samba

2.创建目录

mkdir /home/abc/share
sudo chmod 777 -R share

3.配置smb.conf文件

sudo vim /etc/samba/smb.conf
[global]
  workgroup = WORKGROUP  #原有的
  server min protocol = NT1    #新增的,小米摄像头只支持SMB 1.0
[share]   #新增的共享字段
  path = /home/abc/share
  public = yes
  writable = yes
  available = yes
  browseable = yes
  read only = no

3.配置samba的密码

sudo smbpasswd -a abc

4.重启服务

sudo service smbd restart
sudo service nmbd restart
注意,小米摄像头和NAS机器要处在同一局域网,摄像头才能发现NAS服务

QT的镜像加速配置

qt-online-installer-windows-x64-4.8.1.exe --mirror http://mirrors.ustc.edu.cn/qtproject/
./qt-unified-linux-x64-online.run --mirror http://mirrors.ustc.edu.cn/qtproject/
open qt-online-installer-macos-x64-4.8.1.app --args --mirror http://mirrors.ustc.edu.cn/qtproject/

Centos8.5的镜像问题

将 CentOS BaseURL 更改为 vault.centos.org:

CentOS Linux 8 已于 2021 年 12 月 31 日退役。这意味着 CentOS 官方项目将不再为 CentOS 8 提供开发资源。

Failed to synchronize cache for repo ‘AppStream’,

ignoring this repo. Failed to synchronize cache fo

[root@nayana yum.repos.d]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
[root@nayana yum.repos.d]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
[root@nayana yum.repos.d]# dnf update

在Ubuntu20.04安装Qt6.8.0遇到的问题

根据ChatGPT的问答,解决方案如下:

Ubuntu环境:

sudo apt update
sudo apt install -y libxcb1 libx11-xcb1 libxcb-util1 libxcb-cursor0 libxcb-keysyms1 libxcb-image0 libxcb-render-util0 libxcb-icccm4 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0

sudo apt-get install libxkbcommon-dev

Centos环境

sudo dnf install -y libxcb xcb-util xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil

一些包(包括 xcb-util-cursor)可能需要 EPEL(Extra Packages for Enterprise Linux) 仓库支持。执行以下命令启用 EPEL 仓库:

sudo dnf install epel-release
sudo dnf update

sudo dnf install xcb-util-cursor

2. 启用 PowerTools(Rocky Linux 8 和 CentOS 8)

如果 EPEL 仓库不足以解决问题,可能还需要启用 PowerTools 仓库。在 Rocky Linux 8 上可以通过以下命令启用:

bash复制代码sudo dnf config-manager --set-enabled powertools

然后重新尝试安装:

bash复制代码sudo dnf install xcb-util-cursor

如果在 Rocky LinuxCentOS 系列中使用 dnf 安装 xcb-util-cursor 时出现 Unable to find a match 错误,说明该包未包含在默认的仓库中。以下是解决办法:


1. 启用 EPEL 仓库

一些包(包括 xcb-util-cursor)可能需要 EPEL(Extra Packages for Enterprise Linux) 仓库支持。执行以下命令启用 EPEL 仓库:

bash复制代码sudo dnf install epel-release
sudo dnf update

然后尝试再次安装 xcb-util-cursor

bash复制代码sudo dnf install xcb-util-cursor

2. 启用 PowerTools(Rocky Linux 8 和 CentOS 8)

如果 EPEL 仓库不足以解决问题,可能还需要启用 PowerTools 仓库。在 Rocky Linux 8 上可以通过以下命令启用:

bash复制代码sudo dnf config-manager --set-enabled powertools

然后重新尝试安装:

bash复制代码sudo dnf install xcb-util-cursor

3. 检查包是否在 Rocky Linux 上可用

Rocky Linux 8/9 上,使用以下命令检查包是否存在于当前仓库中:

bash复制代码dnf search xcb-util-cursor

如果包未找到,可能需要手动编译或安装。


4. 手动编译安装 xcb-util-cursor

如果仓库中确实没有提供,可以通过以下方式手动编译:

1. 安装开发工具:

bash复制代码sudo dnf groupinstall "Development Tools"
sudo dnf install xcb-util xcb-util-devel libX11-devel

2. 下载源码:

从官方 XCB 项目获取源码:

bash复制代码wget https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.gz

解压源码:

bash复制代码tar -xvzf xcb-util-cursor-0.1.3.tar.gz
cd xcb-util-cursor-0.1.3

3. 编译和安装:

bash复制代码./configure
make
sudo make install