消息队列
- activemq
- zeromq
- rabbitmq
- nsq
缓存
- memcache
- redis
关系数据库
- mysql (MariaDB)
NoSql
- mongodb
- redis
对象存储
- oss
检索
- elasticsearch
分布式存储
- hadoop
- hbase
日志收集+分析
- rsyslogd
- scribe
- elasticsearch
- logstash
- kibana
大数据
- pig
- hive
DevOps
消息队列
缓存
关系数据库
NoSql
对象存储
检索
分布式存储
日志收集+分析
大数据
eg:
其中:
[base] : 仅仅是个分类,没有特殊含义
name: 是yum源名称
mirrorlist: yum源镜像列表,根据一定规则选择使用某个yum源进行下载,失败则尝试其它yum源
baseurl: yum源地址
gpgcheck: 是否做签名校验
gpgkey: 签名校验使用的公钥
变量:
$releasever: 操作系统发布版本号
$basesearch: ???
yum中变量有几个?稍后再看,不过也不太重要,基本的知道也够了
eg:mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
mirrorlist 指向的url地址返回的内容格式很简单,每行一个yum源地址,如下:
http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os
1 2 3 4 5 6 7 8 9 10 |
http://mirrors.btte.net/centos/6.7/os/x86_64/ http://mirrors.yun-idc.com/centos/6.7/os/x86_64/ http://mirrors.aliyun.com/centos/6.7/os/x86_64/ http://mirrors.neusoft.edu.cn/centos/6.7/os/x86_64/ http://ftp.sjtu.edu.cn/centos/6.7/os/x86_64/ http://mirrors.nwsuaf.edu.cn/centos/6.7/os/x86_64/ http://mirrors.zju.edu.cn/centos/6.7/os/x86_64/ http://mirrors.cqu.edu.cn/CentOS/6.7/os/x86_64/ http://mirror.bit.edu.cn/centos/6.7/os/x86_64/ http://mirrors.pubyun.com/centos/6.7/os/x86_64/ |
centos官方yum源: http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
阿里云yum源: http://mirrors.aliyun.com/
yum源比如: http://mirrors.aliyun.com/ 那么我在配置yum源的时候写到哪一级目录呢?
yum 会去baseurl下面的repodata中去找仓库的源数据,那么对于阿里云的centos配置应该为:
1 |
http://mirrors.aliyun.com/centos/6.7/os/x86_64/ |
你会发现这个目录下有一个repodata,yum会先访问
1 |
http://mirrors.aliyun.com/centos/6.7/os/x86_64/repodata/repomd.xml |
不要以为http://mirrors.aliyun.com/centos/6.7/os/x86_64/Packages/中有rpm包,就把baseurl配置为http://mirrors.aliyun.com/centos/6.7/os/x86_64/Packages/
tomcat
jetty
activemq
elasticsearch
logstash
kibana
ruby官网: https://www.ruby-lang.org
ruby on rails: http://guides.rubyonrails.org/
rails on github: https://github.com/rails/rails
操作系统通过TUN/TAP设备向绑定该设备的用户空间的程序发送数据,反之,用户空间的程序也可以像操作硬件网络设备那样,通过TUN/TAP设备发送数据。在后种情况下,TUN/TAP设备向操作系统的网络栈投递(或“注入”)数据包,从而模拟从外部接受数据的过程。
openvpn提供两种类型的虚拟网络接口:TUN和TAP,tun用于建立IP隧道,tap用于建立以太网桥,这两种模式我们也称为路由模式和网桥模式。 TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。
桥接是在一个子网上面创建一个虚拟的,广域的以太网技术,他相当于连通不同局域网之间的桥梁,桥接的优点是广播可以穿透vpn,允许依赖局域网广播的软件运行,桥接无需配置路由,可以和以太网上的任何协议工作,但是桥接的效率比路由模式要低,而且不容易扩展,使用桥接方式连接远端网络时,客户端被分配一个远端物理以太网的IP地址,从而能够和远端子网的其他机器进行通信,就像是连接在本地一样,
路由的优点是效率高可扩展,可以更好的调节MTU,路由模式的缺点是广播不能穿越vpn,仅支持ipv4,如果使用桥接模式,C/S两端都必须是tap,如果使用路由模式,C/S两端可以是tun也可以是tap,但是两端必须一致
1 |
reneg-sec 0 |
本来是要选择一个最新版本(当时最新版本是4.3),怎奈官方的yum仓库(https://yum.puppetlabs.com/)中没有最新版本;至少看起来没有4.3;有的是:
https://yum.puppetlabs.com/el/6.5/products/x86_64/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
facter-1.6..... ... facter-2.4..... ... hira-1... ... mcollective-2... ... mcollective-client-2... ... mcollective-common-2... ... puppet-3... ... puppet-dashboard- ... puppet-server-... ... puppetdb-... ... puppetserver-... |
https://yum.puppetlabs.com/el/6.5/PC1/x86_64/
1 2 3 4 5 6 7 8 |
puppet-agent-1... ... puppetdb- ... puppetserver-2. ... puppetlabs-release-pc1-... ... |
那么,该如何下载呢?
这里解释一下:
puppet 4之前(目前最新版本3.8)是打包在第一个地址下的,放在products目录;
puppet4是一个大的版本更新(目前是4.3)是打包在PC1那个目录下的,什么叫PC1? 即: Puppet Collection 参考: http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html
puppet4之前:
puppet- 不包含facter、ruby等,这些都是单独的rpm包
puppet-server- 包含一些puppet master需要的一些配置文件(及目录),如下:
puppet-dashboard: 是一个web管理页面
——
puppet4之后:
原来的puppet就变成了puppet-agent了,而且包含facter、ruby、mcollective等rpm包,就是所谓的(All in one)
puppetserver- 和原来的puppet-server不是一个东西,现在的puppetserver 是puppet master的替代品,并且以HTTP REST的方式提供提供服务,java实现的,默认需要内存大小2g,可以在 /etc/sysconfig/puppetserver 中修改
现在都流行动态码认证了,ldap这个认证领域的老大还是静态密码认证,显得有些过时了,这里试图修改认证部分逻辑已支持动态密码验证。
相关代码: servers/slapd/bind.c
编译:
注意: make install时默认是会去掉符号信息的;添加 STRIP=” 选项就不会去掉了(可能你也不需要make install)
开始gdb:
用户名:op->o_req_dn
密码在这里: op->o_request->oq_bind->rb_cred:
下一步就是要把密码修改,其中一部分拿到别的地方做动态密码验证,剩余部分继续给ldap来验证
ldap 验证逻辑:
转自:http://flychao88.iteye.com/blog/2187854
你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大――每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?
这道题一开始看上去好像是无解的,因为你的火车每一公里就要消耗一吨煤,而到目的地有1000公里,而火车最多只能装1000吨媒。如果你的火车可以全部装下,到目的地也会被全部烧光,一丁点也不剩。所以,很多人的第一反应都是觉得这个不太可能。
思考答题是:
Delve is a debugger for the Go programming language. The goal of the project is to provide a simple, full featured debugging tool for Go. Delve should be easy to invoke and easy to use. Chances are if you’re using a debugger, most likely things aren’t going your way. With that in mind, Delve should stay out of your way as much as possible.