protobuf编译器是用c++写的,对于c++用户而言,除了安装protoc之外,还要安装c++运行时。
Please follow the C++ Installation Instructions to install protoc along with the C++ runtime.
或者直接根据以下步骤进行操作:
|
sudo apt-get install autoconf automake libtool curl make g++ unzip git clone https://github.com/protocolbuffers/protobuf.git cd protobuf git submodule update --init --recursive ./autogen.sh # To build and install the C++ Protocol Buffer runtime and the Protocol Buffer compiler (protoc) execute the following: ./configure make sudo make install sudo ldconfig # refresh shared library cache. |
继续阅读 »
设置无需用户名密码直接可访问、读写:
在配置文件 /etc/samba/smb.conf最后添加如下内容,再重启samba
|
[upan] comment = public path path = /upan/download/ guest ok = yes browseable = yes writeable = yes create mask = 0777 directory mask = 0777 |
继续阅读 »
安装树莓派64位系统
下载树莓派64位系统,我不要桌面所以选择了lite
https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2020-08-24/2020-08-20-raspios-buster-arm64-lite.zip
用USB Image Tool将镜像写入TF卡(Win32DiskImager只是个垃圾)
用法很简单:插入tf卡,在USB Image Tool左侧选好盘,右侧使用“Restore”将raspios-buster-arm64-lite.img镜像写入tf卡即可。
树莓派开启ssh服务
写入完成后,在资源管理器里会多出一个boot盘符,在boot分区下新建一个空文件,名为ssh,就可以给树莓派开启SSH服务,适合没屏幕操作。
树莓派自动链接wifi
在boot分区下新建wpa_supplicant.conf文件,并写入无线的相关配置。可以同时配置多个无线网络。
|
country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="wifi链接名" psk="wifi密码" key_mgmt=WPA-PSK } |
继续阅读 »
工欲善其事,必先利其器。学习任何框架,下载安装总是第一步。Qt因为开发源码,所以有直接安装和源码安装两种方式,建议是第一次先直接安装,如果后面需要重新编译特定的模块,或者需要静态库,再额外的编译源码。至于IDE,我推荐使用Qt自带的QtCreator。
继续阅读 »
本文本来是记录Qt5.12.2编译部署过程,目前Qt5系列的最后一个LTS版发布,这个版本没有提供离线安装版,要是用必须使用在线安装。这两天编译Qt5.15.1发现编译步骤没有什么变化,所以就改一个标题。
一、为什么要静态编译
用QtCreator编译程序时,使用的是动态编译。编译好的程序在运行时需要另外加上相应的Qt库文件,一大堆dll文件。如果想将生成的程序连同所需要的库一起完整地打包成一个可执行程序,那就需要使用静态编译。Qt官方不提供静态编译好的安装包,所以需要我们在自己的电脑上静态编译。而且exe文件会比动态编译的要小上很多。
继续阅读 »
1、不废话直接上脚本
vim oracle_rman_bak.sh
#!/bin/sh
source /home/oracle/.bash_profile
if [ -z $1 ]
then
echo “Please Input a number,Usage: 0|1|2”
exit
else
RMAN_LEVEL=$1
fi
export ORACLE_SID=jkdata
export TODAY=date '+%Y%m%d'
export RMAN_DIR=/data/backup/oracledata/rmanbak/$ORACLE_SID/$TODAY-$RMAN_LEVEL
#######
mkdir -p $RMAN_DIR
cd $RMAN_DIR
LogFile=ora_rman_bk_$ORACLE_SID-L$RMAN_LEVEL-date '+%Y%m%d'
.log
# rman backup
rman target / msglog=$RMAN_DIR/$LogFile<<EOF
delete noprompt obsolete;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘$RMAN_DIR/cf%F’;
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
backup as compressed backupset incremental level $RMAN_LEVEL filesperset 3 tag ‘dbL$RMAN_LEVEL’ format ‘$RMAN_DIR/ora_o_%d_%t_%c%s%p%u’
database skip readonly include current controlfile;
sql ‘alter system archive log current’ ;
backup(archivelog all format ‘$RMAN_DIR/ora_a_%d_%t_%c%s%p%u’ delete input);
release channel c1;
release channel c2;
}
list backup;
exit;
EOF
#mail backup log
mail -s “$ORACLE_SID rman L$RMAN_LEVEL backup log $TODAY” [email protected] <$RMAN_DIR/$LogFile
2、在crontab 中设置如下:
0 4 * * 5 sh /home/oracle/backup_scripts/oracle_rman_bak.sh 0 > /data/backup/oracledata/logs/rman.log 2>&1
0 4 * * 2 sh /home/oracle/backup_scripts/oracle_rman_bak.sh 1 > /data/backup/oracledata/logs/rman.log 2>&1
git运行突然提示
Auto packing the repository in background for optimum performance
查资料,原来是自己本地一些 “悬空对象”太多(git删除分支或者清空stash的时候,这些其实还没有真正删除,成为悬空对象,我们可以使用merge命令可以从中恢复一些文件)
解决:
1.输入命令:git fsck –lost-found,可以看到好多“dangling commit”
2.清空他们:git gc –prune=now,完成
业务场景:
在工作中,涉及到oracle数据库迁移,使用navicat等其他工具 容易报错,一系列问题很麻烦,今天记录一下操作流程及个人理解(文章参考了很多文档和博客);
EXPDP数据导出
请自行修改目录路径和自定义的表名,否则出现错误很难查找~
一般expdp流程:

一、新建逻辑目录
最好以system等管理员创建逻辑目录,Oracle不会自动创建实际的物理目录“D:\oracleData”(务必手动创建此目录),仅仅是进行定义逻辑路径dump_dir;
忘记sys用户密码的可以去下如何修改sys用户密码;
建议使用pl、navicat等oracle操作工具来操作;
继续阅读 »
近期评论