socat官网:http://www.dest-unreach.org/socat/
Socat 入门教程:https://www.hi-linux.com/posts/61543.html
$ apt-get install -y socat
$ rpm -ivh socat-1.7.4.1-1.el8.x86_64.rpm
$ wget http://www.dest-unreach.org/socat/download/socat-1.7.4.2.tar.gz
$ tar zxf socat-1.7.3.2.tar.gz
$ cd socat-1.7.3.2
$ ./configure
$ make
$ make install
安装完成后可在终端运行,可以看到:
$ ./socat - -

查看socat相关的依赖库
$ ldd socat

运行,./socat - -
报错,缺少相关的依赖库,如下:
libreadline.so.6 => not found

去原设备中查看libreadline.so.6,发现存在软链接libreadline.so.6 -> libreadline.so.6.3

将这两个依赖库一起拷贝到目标设备的/lib/x86_64-linux-gnu目录下,用cp -d指令,保证软链接关系。
$ cp -d libreadline.so.6 /home/指定目录
$ cp -d libreadline.so.6.3 /home/指定目录
之后在目标设备下运行./socat - - 即可运行:

问题:前面几步已经可以实现打开socat了,但必须在指定目录(如下图,不在指定目标运行会报错),希望在任意一个终端都可以运行socat。

目标效果:

解决方案:
将源码编译后的socat可执行程序放到系统的bin目录下。

cp -d socat /bin
实现效果:
