作者存档
2023二月14

Linux(CentOS) 安装Python3.7 和 pip3

安装 python3 运行环境

yum install -y zlib zlib-devel libaio net-tools bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel python3-devel tk-devel gcc cmake gcc-c++ make libffi-devel mesa-libGL.x86_64 wget git

安装 pip3 运行环境

yum install zlib*

下载 Python3 安装包

wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz

tar -xxf Python-3.7.9.tar.xz

cd Python-3.7.9

vi Modules/Setup.dist

#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

前面的 # 符号去掉

:wq

安装新版 openssh

wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar -xxf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a/
./config --prefix=/usr/local/openssl
make & make install

安装 python3

./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl

make && make install

创建 python3 软链接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3

下载 pip3 安装脚本

wget https://bootstrap.pypa.io/get-pip.py

安装 pip3

python3 get-pip.py

创建 pip3 软链接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

2022十一月2

使用ffmpeg 将 g729 wav转为mp3

ffmpeg -c:a g729 -ac 1 -i /Users/wizzer/temp/9_729.wav /Users/wizzer/temp/9_729.mp3
2022九月22

数据库文档生成工具Java

 <dependency>
      <groupId>cn.smallbun.screw</groupId>
      <artifactId>screw</artifactId>
      <version>1.0.5</version>
      <scope>import</scope>
 </dependency>

public void generate() throws Exception {
        //数据源
        HikariConfig hikariConfig = new HikariConfig();
        hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
        hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/xx?useUnicode=true&characterEncoding=utf8&useSSL=false" +
                "&serverTimezone=Asia/Shanghai");
        hikariConfig.setUsername("root");
        hikariConfig.setPassword("root");
        //设置可以获取tables remarks信息
        hikariConfig.addDataSourceProperty("useInformationSchema", "true");
        hikariConfig.setMinimumIdle(2);
        hikariConfig.setMaximumPoolSize(5);
        DataSource dataSource = new HikariDataSource(hikariConfig);
        //生成配置
        String fileOutputDir = "./";
        EngineConfig engineConfig = EngineConfig.builder()
                //生成文件路径
                .fileOutputDir(fileOutputDir)
                //打开目录
                .openOutputDir(true)
                //文件类型
                .fileType(EngineFileType.WORD)
                //生成模板实现
                .produceType(EngineTemplateType.velocity)
                //自定义文件名称
                .fileName("xx数据库说明").build();

        //忽略表
        ArrayList<String> ignoreTableName = new ArrayList<>();
        //忽略表前缀
        ArrayList<String> ignorePrefix = new ArrayList<>();
        ignorePrefix.add("sys_qrtz_");
        //忽略表后缀
        ArrayList<String> ignoreSuffix = new ArrayList<>();
//        ignoreSuffix.add("_");
        ProcessConfig processConfig = ProcessConfig.builder()
                //指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
                //根据名称指定表生成
                .designatedTableName(null)
                //根据表前缀生成
                .designatedTablePrefix(null)
                //根据表后缀生成
                .designatedTableSuffix(null)
                //忽略表名
                .ignoreTableName(ignoreTableName)
                //忽略表前缀
                .ignoreTablePrefix(ignorePrefix)
                //忽略表后缀
                .ignoreTableSuffix(ignoreSuffix).build();
        //配置
        Configuration config = Configuration.builder()
                //版本
                .version("1.0.0")
                //描述
                .description("数据库设计文档生成")
                //数据源
                .dataSource(dataSource)
                //生成配置
                .engineConfig(engineConfig)
                //生成配置
                .produceConfig(processConfig)
                .build();
        //执行生成
        new DocumentationExecute(config).execute();
    }

2022八月2

解决 iKuai虚拟机安装openwrt但访问不了的问题

设置网关gateway IP 为爱快IP地址即可:

vi /etc/config/network
config interface 'lan'
       option type 'bridge'
       option ifname 'eth0'
       option proto 'static' 
       option ipaddr '10.10.10.2' 
       option netmask '255.255.255.0' 
       option gateway '10.10.10.1' 

ps:记得把openwrt 后台 DHCP 忽略此接口勾选上。

2022七月31

全屋2.5G组网遇到的坑

前因:

电信免费升级到千兆宽带,趁机将全屋网络设备升级一下:

1)J1900 软路由4口千兆 -> J4125 软路由6口2.5G;

2)TPlink XDR6080 自带SFP口 -> 购入一个电口2.5G SFP模块;

3)群晖DS920+ -> 购入USB3.0 2.5G网卡。

后果(坑):

1、J4125软路由的坑:

1)Exsi + Openwrt 跑不满千兆带宽,电信光猫直连可以跑950mbps,它只能跑770mbps;

2)PVE 7.2-3 + Openwrt 和 PVE + iKuai 启动时插好的网线可以正常运行,但新插网线到空闲口,然后联网测速就会断网、死机,必须重启才能恢复。

直接跑 Openwrt 或 直接安装 iKuai 系统,可以正常运行。

2、群晖NAS的坑(最后发现不是群晖本身问题):

1)2.5G网卡连接不稳定,总是过一会或半天断开连接;

2)移动硬盘一会报连接上了,一会报未安全退出;

3)有2块硬盘重新连接次数一直在增加,没有规律,一会系统卡顿一下,次数就会加几次;

4)还有一块8T硬盘,干脆直接报损毁了!欲哭无泪(好在质保期内已送修)。

经过反复的验证,各种方法,一开始怀疑是硬盘坏了、又怀疑是电压不稳(连UPS还能电压不稳?UPS坏了?)、又怀疑有静电,然后搬出网络机柜运行,都不能解决。

最终发现罪魁祸首是 Tplink 2.5G 电口SFP模块!虽然它没有插网线,但是插在XDR6080上,XDR6080其他网口的网线插在软路由器上,其他设备也是插在软路由上。什么原因我确实不清楚,不知道是静电问题还是频率干扰,总之拔掉它,NAS的硬盘的重新连接次数终于不涨了!移动硬盘也可以一直正常连接了!

普联 TP-LINK 2.5G SFP电口模块 TL-SM410U长这样:

3、XDR6080无线网络变差

1)外网查看摄像头实时录像,画面一卡一顿,甚至打不开;

2)室内信号强度非常差,手机网络经常断开。

罪魁祸首还是 Tplink 2.5G 电口SFP模块!虽然它没有插网线,但是插在XDR6080上。

巨坑。

ps:折腾无止境,人到中年男人就这些爱好了?。。

2022七月26

PVE挂载物理磁盘到openwrt 搭建WebDav服务

1、PVE安装 openwrt

固件下载地址 Lenyu2020/Actions-OpenWrt-x86/releases ,PVE后台上传img文件

PVE创建虚拟机,删除硬盘,然后执行命令将固件加到虚拟机下,然后调整硬盘大小

qm importdisk 101 /var/lib/vz/template/iso/openwrt_x86-64-2207161818_5.15.55_uefi-gpt_dev_Lenyu.img local-lvm

2、openwrt安装 caddy2

官网下载链接:https://caddyserver.com/download

Platform:Linux amd64,选中 mholt/caddy-webdav 下载可执行文件,重命名为 caddy

openwrt管理后台上传到openwrt,然后ssh命令行 mv 到 /home 文件夹

chmod 777 caddy

./caddy hash-password --plaintext 明文密码

创建配置文件

vim Caddyfile

{
    order webdav last
}
:8080 {
    encode gzip
    basicauth {
        用户名 加密格式密码
    }
    webdav {
        root /mnt
        prefix /webdav
    }
}

启动命令

./caddy run --config Caddyfile

vim /etc/init.d/caddy
#!/bin/sh /etc/rc.common

START=99

SERVICE_USE_PID=1
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1

start() {
    service_start /home/caddy run --config /home/Caddyfile
}

stop() {
    service_stop /home/caddy
}

添加执行权限 chmod +x /etc/init.d/caddy 设置开机启动 /etc/init.d/caddy enable,启动服务 /etc/init.d/caddy start

3、PVE挂载硬盘到openwrt

PVE ssh

ls /dev/disk/by-id

会显示一堆磁盘信息,其中有类似 ata-ST1000LM024_HN-M101MBB_S2ZWJ9AFxxxxxx 的信息

qm set 101 -scsi1 /dev/disk/by-id/ata-ST1000LM024_HN-M101MBB_S2ZWJ9AFxxxxxx

提示成功 update VM 101 : -scsi1 /dev/disk/by-id/ata-ST1000LM024_HN-M101MBB_S2ZWJ9AFxxxxxx

注意:-scsi1 或是 -sata1 是创建虚拟机的磁盘控制器类型决定

openwrt管理后台-挂载点,就可以看到新的挂载信息:

/dev/sdb1   /mnt/sdb1

4、修改 Caddyfile 配置文件,将路径修改为磁盘路径

root /mnt/sdb1

浏览器访问 http://IP:8080/webdav

2022六月8

MySQL 授权IP访问语句

GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.10.10' identified by 'pass123';

FLUSH PRIVILEGES;
2022六月8

Oracle 建表空间创建用户常用语句

CREATE TABLESPACE DEMO LOGGING DATAFILE '/opt/oracle/oradata/ORCLCDB/DEMO.dbf'  SIZE 200M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL;

create temporary tablespace DEMO_TEMP tempfile '/opt/oracle/oradata/ORCLCDB/DEMO_TEMP.dbf' size 100m autoextend on next 32m maxsize 500m extent management local;

alter session set "_ORACLE_SCRIPT"=true;

create user DEMO identified by DEMO default tablespace DEMO temporary tablespace DEMO_TEMP;

alter user DEMO identified by DEMO;

grant connect,resource,dba to DEMO;

alter user DEMO quota unlimited on users;
2022一月20

端菜

同事带我们去一个偏僻的农家乐吃饭,有个上小学的小姑娘给我们端菜,端第一道菜扎着头发,端第二道菜又披着头发,来来回回好几次。我就问同事:“这小姑娘是不是人格分裂?” 同事说:“这是双胞胎。”

2021十月18

M1 node-sass nvm

nvm 切换node版本

nvm alias default 14
nvm use 14

nodes-sass 安装

npm install --target_arch=x64