1、启动系统改时间 date -s "2023-11-01 15:42:00"
2、网络调试助手(NetAssistant-master)
3、给文件添加可执行权限chmod +x 文件.sh
4、链接 ln -sf libQt5Core.so.5.12.12 libQt5Core.so.5.12
5、远程登陆其他电脑
ssh 用户名@IP地址
ssh -X 用户名@IP地址 启动图形化程序
6、系统自启动
usr/local/bin 放入.sh 文件 改权限
控制面板 开启启动 添加这个.sh文件
7、通过ip端口查找其他电脑发过来的数据(安装tcpdump)
tcpdump -i 网卡名称 -xx src host IP地址
tcpdump -i enahisic2i0 -xx src host 127.0.0.1
tcpdump -i any port 8800
8、读取光驱文件
lsblk
mount /dev/sr0 /mnt/
ls /mnt
scp -r /mnt/文件 kylin@ip地址:/
9、将匹配目标网络地址且子网掩码为255.255.255.255的数据包发送到名为enahisic2i0的网络接口
route add -net 226.0.0.1 netmask 255.255.255.255 enahisic2i0
route: 这是用于配置网络路由的命令。
add: 表示要添加一个新的路由。
-net 226.0.0.1: 指定目标网络的网络地址为226.0.0.1。这表示要路由到的目标网络。
netmask 255.255.255.255: 这是子网掩码,它指定了目标网络的范围。在这里,子网掩码为255.255.255.255表示只有一个特定的IP地址。
enahisic2i0: 这可能是一个网络接口的名称,用于指定从哪个接口发送数据到目标网络。
10、串口虚拟连接
socat -d -d pty,raw,echo=0,link=/dev/COM1 pty,raw,echo=0,mode=777,link=/dev/COM2 &
-d -d: 这是socat的调试模式开启参数。
pty: 这个关键字告诉socat要创建一个pty设备。
raw: 这个选项告诉socat以原始模式打开pty设备,不进行任何处理。
echo=0: 这个选项关闭pty设备的回显功能,即输入的字符不会被自动发送回终端。
link=/dev/COM1: 这个选项指定了新创建的pty设备的名称和路径,这里是/dev/COM1。
pty: 再次使用pty关键字告诉socat要创建第二个pty设备。
raw: 同样的原始模式打开pty设备。
mode:权限
echo=0: 关闭回显功能。
link=/dev/COM2: 指定新创建的设备的名称和路径,这里是/dev/COM2。
11、单个网络接口加入限制
/etc/sysctl.conf文件末尾添加net.ipv4.igmp_max_memberships=60000
sysctl net.ipv4.igmp_max_memberships
sysctl -w net.ipv4.igmp_max_memberships=60000
12、终端运行程序appname.sh
#!/bin/sh
curdir=$(dirname "$(readlink -f "$0")")
cd "$curdir" || exit 1
appname=$(basename "$0" .sh)
LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./"$appname" "$@"
#LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ./app
export LD_LIBRARY_PATH=/home/app:$LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH
13、桌面运行程序app.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=软件名称
#GenericName=Terminal
Comment=软件备注
Exec=/home/app/bin/appname.sh
Path=/home/app/bin
Terminal=false
Type=Application
Encoding=UTF-8
Icon=/home/app/bin/appname.svg
Categories=System;TerminalEmulator;
Keywords=shell;prompt;command;commandline;cmd;
X-Desktop-File-Install-Version=0.24
14、解压
tar -tzvf 文件名.tar.gz
-x:解压(extract)
-z:处理 gzip 压缩(.gz)
-v:显示解压过程(verbose,可选)
-f:指定文件名
15、源码编译
./configure --prefix=$(pwd)/build --enable-shared --enable-static
make -j32
make install
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DBUILD_SHARED_LIBS=OFF/ON
编译osgQt
git clone https://github.com/openscenegraph/osgQt.git
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DBUILD_SHARED_LIBS=OFF/ON -DOSG_DIR=/home/osg370 -DQt5_DIR=/home/thtf/Qt5.12.12/5.12.12/gcc_64/lib/cmake/Qt5
编译gdal的库
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DBUILD_SHARED_LIBS=ON -DGDAL_INCLUDE_DIR=/path/to/gdal/include -DGDAL_LIBRARY=/path/to/gdal/lib/libgdal.so -DOSG_USE_GDAL=ON /path/to/openscenegraph/source
ffmpeg postproc库
./configure --prefix=$(pwd)/build --enable-shared --enable-static --enable-gpl --enable-postproc
boost
./bootstrap.sh --prefix=$(pwd)/build
./b2 -j32 install
16、卸载手动安装的 .deb 包 sudo dpkg -r <包名>
17、安装 .deb 包 sudo dpkg -i *.deb
18、解决qt没有配置的问题
apt-get download libstdc++-9-dev=9.3.0-10kylin5k0.5
apt-get download g++-9=9.3.0-10kylin5k0.5
19、安装gdb
apt-get download gdb=9.2-0kylin1~20.04.2
20、解决 error: cannot find -lGL(安装后可能界面图形化界面启动不了谨慎使用)
apt-get download \
xorg-sgml-doctools=1:1.11-1 \
x11proto-dev=2019.2-1kylin1 \
x11proto-core-dev=2019.2-1kylin1 \
libxau-dev=1:1.0.9-0kylin1 \
libxdmcp-dev=1:1.1.3-0kylin1 \
xtrans-dev=1.4.0-1 \
libpthread-stubs0-dev=0.4-1 \
libxcb1-dev=1.14-2kylin0k0.1 \
libx11-dev=2:1.6.9-2kylin1.6 \
libglx-dev=1.3.2-1~kylin0.20.04.2 \
libgl-dev=1.3.2-1~kylin0.20.04.2 \
libegl-dev=1.3.2-1~kylin0.20.04.2 \
libgles1=1.3.2-1~kylin0.20.04.2 \
libgles2=1.3.2-1~kylin0.20.04.2 \
libgles-dev=1.3.2-1~kylin0.20.04.2 \
libopengl-dev=1.3.2-1~kylin0.20.04.2 \
libglvnd-dev=1.3.2-1~kylin0.20.04.2 \
libgl1-mesa-dev=20.0.8-0kylin3k24.2
21、推流脚本
./ffmpeg -re -stream_loop -1 -i test.mp4 -c copy -f flv rtmp://192.168.1.89:1935/live/test1
./ffmpeg -f gdigrab -video_size 1920x1080 -i desktop -c:v libx264 -preset ultrafast -tune zerolatency -f flv rtmp://192.168.1.89:1935/live/test1
./ffmpeg -f x11grab -video_size 1920x1080 -i :0.0 -c:v libx264 -preset ultrafast -tune zerolatency output.mp4
./ffmpeg -f x11grab -video_size 1920x1080 -i :0.0 -c:v libx264 -preset ultrafast -tune zerolatency -f flv rtmp://192.168.1.89:1935/live/test1
./ffmpeg -f x11grab -video_size 1920x1080 -i :0.0 -c:v libx264 -preset veryfast -b:v 3000k -bufsize 6000k -maxrate 3000k -f flv rtmp://192.168.1.89:1935/live/test1
22、appname.sh运行报错
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.(找到platform整个文件拷贝到当前目录)
23、其他报错(qt调试模式下 Views->Models查看该程序用到的库,拷贝到当前目录)
24、链接失效
#!/bin/bash
TARGET_DIR="/path"
cd "$TARGET_DIR" || { echo "无法进入目录 $TARGET_DIR"; exit 1; }
echo "当前目录: $(pwd)"
echo "开始扫描并修复所有软连接..."
# 递归修复软连接
find . -type l -name "*.so*" | while read -r link; do
echo "------------------------"
echo "处理软连接: $link"
current_target=$(readlink "$link")
echo "当前指向: $current_target"
# 如果是绝对路径(以 / 开头),并且不是指向当前目录(./ 或 ../)
if [[ "$current_target" == /* ]] && [[ "$current_target" != ./* ]] && [[ "$current_target" != ../* ]]; then
new_target="./$(basename "$current_target")"
echo "检测到绝对路径,更新为: $new_target"
# 检查目标文件是否存在
if [ -f "$new_target" ]; then
ln -sf "$new_target" "$link"
echo "已更新: $link -> $new_target"
else
echo "警告: 目标文件 $new_target 不存在,跳过更新"
fi
else
echo "无需修改: $link -> $current_target"
fi
done
echo "------------------------"
echo "操作完成,最终结果:"
ls -l *.so*
1万+

被折叠的 条评论
为什么被折叠?



