先申明。。。参考本文,我并没有成功的搭建成功。因为我在执行第一个rpm --nodeps -ivh Runtime的时候。不是按照预想的安装在了/opt/mqm下面,而是提示我安装在/ filesystem下。所以我就没有办法下一步。因为在执行第二个安装的时候,它提示我没有在/opt/mqm下找到runtime。。。
不过我还是做个记录,因为我是debian系统。也许ubuntu下就会成功呢??原文来自:http://qtlkw.iteye.com/blog/744052
我转贴的并不全。下面的一些介绍我没有转,如果有兴趣可以移步原文,以下是转贴:
可参照文档http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.amq1ac.doc/lq10120_.htm 和http://blog.csdn.net/lang_ysh/archive/2010/03/18/5391971.aspx
1. Download WebSphere MQ7 tar.gz
2. run tar -zxvf CZ4VDML.tar.gz
3(optional). 创建WebSphere MQ 必需的文件系统,命令如下:
# for product code
mkdir /opt/mqm
# for working data
mkdir /var/mqm
网上看到说MQ安装时候默认的目录就是这两个
4. 创造MQ用户和用户组,命令如下:
groupadd mqm
useradd -d /var/mqm -g mqm -G mqm mqm
# change password to "password"
passwd mqm
5. 为mqm用户组添加root组
cd /etc
vi group
找到mqm:x:1003:mqm增加",root",修改成: mqm:x:1003:mqm,root
6(optional). 调整系统参数(视需要而定,我安装时并没修改)
make following kernel changes (/etc/sysctl.conf ):
kernel.msgmni = 1024
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 500 256000 250 1024
fs.file-max = 32768
net.ipv4.tcp_keepalive_time = 300
To load these sysctl values immediately, enter the command sysctl -p.
If you do not issue the sysctl -p command, the new values are loaded when the system is rebooted.
7. 安装rpm
sudo apt-get install rpm
8. 转到WebSphere MQ解压后的目录中,获得WebSphere MQ授权,命令如下:
./mqlicense.sh -text_only
阅读全文后,选择1接受授权。
9. 安装WebSphere MQ客户端和服务端,命令如下:
rpm --nodeps -ivh MQSeriesRuntime-7.0.1-0.i386.rpm
rpm --nodeps -ivh MQSeriesSDK-7.0.1-0.i386.rpm
rpm --nodeps -ivh MQSeriesJava-7.0.1-0.i386.rpm
rpm --nodeps -ivh MQSeriesClient-7.0.1-0.i386.rpm
rpm --nodeps -ivh MQSeriesSamples-7.0.1-0.i386.rpm
rpm -nodeps -ivh MQSeriesServer-7.0.1-0.i386.rpm(如果只装客户端,这个没必要安装)
原因: 不加-nodeps会报:
root@localhost:/apps# rpm -ivh MQSeriesRuntime-7.0.1-0.i386.rpm
error: Failed dependencies:
/bin/sh is needed by MQSeriesRuntime-7.0.1-0.i386
10. 安装校验
rpm -qa | grep MQSeries
MQSeriesSDK-7.0.1-0
MQSeriesClient-7.0.1-0
MQSeriesServer-7.0.1-0
MQSeriesRuntime-7.0.1-0
MQSeriesJava-7.0.1-0
MQSeriesSamples-7.0.1-0
安装MQ Explorer还需要安装其它的包:
MQSeriesConfig-7.0.1-0.i386.rpm
MQSeriesEclipseSDK33-7.0.1-0.i386.rpm
MQSeriesJRE-7.0.1-0.i386.rpm
至此MQ安装完成。
--END--
如果你维护了多个git在线平台的版本库,你就会遇到,如何将一份代码在push的时候推到所有的版本库呢?
其实命令行就可以了:
XML/HTML代码
- git remote add origin git@git.xxxxx.com:gouki/code.git
有几条就执行几次。最后:git push -u origin master即可。
参考:
- http://segmentfault.com/q/1010000000367632
- http://blog.codepiano.com/2013/07/03/push-multi-remote-repositories/
在使用git做为版本库的时候,遇到一个问题,那就是超大文件无法上传。git我不仅仅是拿来做代码的备份,甚至一些文档,我也拿它来处理,所以这些带有图片的文档就让我很郁闷了。它们可是都有着30M左右,甚至更大。怎么办?
其实很简单,在项目的.git/config里加入:
XML/HTML代码
- [pack]
- threads = 1
- deltaCacheSize = 128m
- packSizeLimit = 128m
- windowMemory = 128m
- [core]
- packedGitLimit = 128m
- packedGitWindowSize = 128m
如果这个大小你觉得还不够。你还可以更调大一点。这回就没大事喽。
虽然自己也常用ssh -D,ssh -l之类的操作,但毕竟没有详细的分析这些。事实上如果你要求不高,完全可以看文档。或者直接输入ssh也能够看到各个参数的含义。所以看到这篇讲说ssh隧道的。就转贴一下,毕竟它可以用来看一些国外资料。你懂的
原文地址是:http://www.xushulong.com/post/2012-08-04/40032371760
ssh隧道功能,也就是端口转发功能非常好用,可以实现一些代理功能或者是穿透内网功能。
ssh的端口转发(或者叫做隧道)命令分为三种:
本地:ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
远程:ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host
动态:ssh -C -f -N -g -D listen_port user@Tunnel_Host
乍一看有点乱,仔细一分析就更蒙了-_-!
但是再深入的分析了搜索出来的相关的说明和别人的一些分享之后,终于搞清楚了使用方法。下面详细的看各个参数的用法。
-L port:host:hostport
将本地机(客户机)的某个端口转发到远端指定机器的指定端口.
ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
以这个为例,在本地监听一个端口listen_port,把listen_port的所有数据通过Tunnel_Host全部转发到DST_Host:DST_port上去。
-R port:host:hostport
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口.
ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host
远程端口转发,在Tunnel_Host上面监听一个端口 listen_port,把listen_port的所有数据通过Tunnel_Host全部转发到DST_Host:DST_port上去。
DST_Host:DST_port是对于本机来说的,但却是通过Tunnel_Host来访问的,所以Tunnel_Host必须能访问到DST_Host:DST_port,才能进行转发。
举个例子:我在家里和公司各有一台电脑,均没有公网ip,不能互通,但是我有一个有公网ip的VPS,我的两台电脑都可以访问vps,但是vps不能访问我的两台电脑,然后通过公司电脑ssh到vps建立一条隧道,我在家里就可以访问公司里的电脑了。说起来罗嗦的不得了,但是做起来很容易:
在公司的电脑上:ssh -C -f -N -g -R 8080:127.0.0.1:80 root@vps的ip
然后在家里直接访问vps的8080端口,就相当与访问了公司电脑的80端口了,over。
当然80端口只是web端口,我们可以转发22或者3389端口,就可以远程控制公司的电脑了。
-D port
指定一个本地机器 “动态的'’ 应用程序端口转发. 这个动态的就简单了,
ssh -N -f -D 8000 登录名@我的vps的ip
就相当与在本机上开了一个sock代理,端口是8000,给浏览器挂上127.0.0.1:8000的代理,查一下本机ip,发现已经变成vps的ip了。
我的上面用的vps是ubuntu系统,有的时候做了远程端口转发之后发现不能从外面访问,需要修改一下vps上面ssh的一个配置,/etc/ssh/sshd_config,把这个改成yes,如果没这句就加上:
GatewayPorts yes
然后重启sshd。这个作用是把转发的端口绑定在0.0.0.0的接口上,让外部地址也可以访问。
还要注意一点就是listen_port必须是没有被使用的,不然会监听失败。
下面是几个辅助参数,看着乱的话可以忽略,用的时候按需加上就好了。
-C Enable compression.
压缩数据传输。
-f Fork into background after authentication.
后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-N Do not execute a shell or command.
不执行脚本或命令,通常与-f连用。
-g Allow remote hosts to connect to forwarded ports.
在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。
-p port Connect to this port. Server must be on the same port.
被登录的ssd服务器的sshd服务端口,省略就是默认的22端口。
VPS刚刚装好的时候,偶尔会有时间不准的情况,这时候其实可以可以用ntp来处理。但默认是没有安装这个程序的,所以在debian的系列里,直接apt-get install ntpdate 即可
然后运行:ntpdate cn.pool.ntp.org
这时候,你再运行date,你就会发现时间是正确的了。OK,如果你担心时间偶尔还是会不准,比如你用的是虚拟机,经常不关机而是直接待机的话。时间可能不一定准 ,所以就需要这个了。
将:*/5 * * * * /sbin/ntpdate cn.pool.ntp.org 加入到crontab里,一切就安心了
小笔记。