分类:Linux/架构,部署     文章(7) 篇

git日常操作 (2012-02-21)

Git 创建库 
git clone <url>              ssh/http(s)/git三种协议,ssh和https可推送
git init                  初始化Git仓库
 

Git 日常操作
git add <file>               将文件加入index file
git rm [--cached]               删除,加--cached表示仅从index file中删除文件,即放弃跟踪
git mv <src> <dest>            移动/更名
git diff --cached/--staged             当前索引与上次提交(有哪些需要commit)
git diff                      当前索引与工作目录(有哪些需要add)
git diff HEAD[^]               工作目录与上次提交(当前目录与上次提交有何改变)
git commit [-a] -m <msg>           提交
git commit --amend [-m <msg>]       修复上次提交
git reset HEAD <file>             同--mixed,default option
git reset --mixed HEAD            撤销 commit 和index file,只保留 working tree 的信息
git reset --hard HEAD[^]           将 working tree 和 index file 都撤销到以前状态
git reset --soft HEAD[^]            只撤销 commit,而保留 working tree 和 index file 的信息
                     回复到某个状态。以git reset --soft HEAD为例,commit回退到
                     HEAD(相当于无变化),若是HEAD^,则commit回退到HEAD^
git gc                     用垃圾回收机制清除由于 reset 而造成的垃圾代码
git status                  显示当前工作目录状态
git log [-p]                   显示提交历史(many useful options to be learned)
git branch [branch]               显示/新建分支
git branch -d/-D               删除分支(d表示“在分支合并后删除分支”,D表示无论如何都删除分支)
git show-branch
git checkout <branch>            切换分支(分支未commit无法切换)
git merge <branch>              合并分支
git merge == git pull .
git show <branch | commit | tag | etc>        显示对应对象的信息
git grep <rep> [object]             (在指定对象(历史记录)中)搜索        
git cat-file                    查看数据
git cat-file <-t | -s | -e | -p | (type)> <object>        type can be one of: blob, tree, commit, tag
git ls-files [--stage]              show information about files in the index and the working tree(实际是查看索引文件)
git watchchanged <since>..<until>       显示两个commit(当然也可以是branch)的区别
git remote [-v]                    显示远程仓库,加-v选项可显示仓库地址
git remote add <repo_name> <url>         添加远程仓库,repo_name为shortname,指代仓库地址
git remote rename <old_name> <new_name>    更名
git remote rm <repo_name>            删除远程仓库
git remote show <repo_name>          查看远程仓库信息
git remote fetch <repo_name>           从远程仓库抓取数据(并不合并)
git pull <repo_name> <branch_name>      拉去数据并合并到当前分支
git push <repo_name> <branch_name>      推送指定分支到指定仓库
git fetch <repo_name> <branch_name>[:<local_branch_name>]    拉去数据,未合并
 

Git 相关环境变量
GIT_DIR: 如果指定了那么git init将会在GIT_DIR指定的目录下创建版本库
GIT_OBJECT_DIRECTORY: 用来指示对象存储目录的路径。即原来$GIT_DIR/objects下的文件会置于该变量指定的路径下
 

Git 常见变量
HEAD: 表示最近一次的 commit。
MERGE_HEAD: 如果是 merge 产生的 commit,那么它表示除 HEAD 之外的另一个父母分支。
FETCH_HEAD: 使用 git-fetch 获得的 object 和 ref 的信息都存储在这里,这些信息是为日后 git-merge 准备的。
HEAD^: 表示 HEAD 父母的信息
HEAD^^: 表示 HEAD 父母的父母的信息
HEAD~4: 表示 HEAD 上溯四代的信息
HEAD^1: 表示 HEAD 的第一个父母的信息
HEAD^2: 表示 HEAD 的第二个父母的信息
COMMIT_EDITMSG: 最后一次 commit 时的提交信息。

点击查看原文阅读(8) | 评论(0) | 分类:Linux/架构,部署

CentOS启动失败 /dev/VolGroup00/LogVol00: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY (2011-12-10)

 早上启动CentOS linux突然出现这个问题
 /dev/VolGroup00/LogVol00: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

在Give root password for maintenance(or type Control-D continue);下面输入root密码回车;

键入fsck -t ext3 /dev/VolGroup00/LogVol00,回车; 
在后面的所有修复里面都选“Y”,一路往下走; 
修复完后重其计算机,问题解决.  

 

点击查看原文阅读(344) | 评论(0) | 分类:Linux/架构,部署

solr提交索引删除索引方式 (2011-09-07)

添加索引的时候,xml数据文件需要包含utf-8声明,

然后使用Solr自带的post.jar或者curl来进行post索引:
java方式:
  1. java -Durl=http://localhost:8080/solr/update -Dcommit=yes -jar post.jar data.xml
curl方式
代码如下
  1. curl -F "file=@data.xml" http://localhost:8080/solr/update
  2. curl -H "Content-Type: text/xml" -d "" http://localhost:8080/solr/update
 该步骤如果没有设置好,出错的表现是,查询的结果是乱码(可以设置查询关键词为id:[* TO *]确保显示出所有的结果).
 

1删除制定ID的索引

java -Ddata=args -Durl=http://localhost:8081/apache-solr-test/core0/update -jar  post.jar "<delete><id>05138022</id></delete>"

2.删除查询到的索引数据

java -Ddata=args -Durl=http://localhost:8081/apache-solr-test/core0/update -jar  post.jar "<delete><query>id:IW-02</query></delete>"

3.删除所有索引数据

java -Ddata=args -Durl=http://localhost:8081/apache-solr-test/core0/update -jar  post.jar "<delete><query>*:*</query></delete>"

 
查询参数
q - 查询字符串,必须的。
fl - 指定返回那些字段内容,用逗号或空格分隔多个。
start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用。
rows - 指定返回结果最多有多少条记录,配合start来实现分页。
sort - 排序,格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]… 。示例:(inStock desc, price asc)表示先 “inStock” 降序, 再 “price” 升序,默认是相关性降序。
wt - (writer type)指定输出格式,可以有 xml, json, php, phps, 后面 solr 1.3增加的,要用通知我们,因为默认没有打开。
fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=mm&fq=date_time:[20081001 TO 20091031],找关键字mm,并且date_time是20081001到20091031之间的。官方文档:http://wiki.apache.org/solr/CommonQueryParameters#head-6522ef80f22d0e50d2f12ec487758577506d6002
q.op - 覆盖schema.xml的defaultOperator(有空格时用"AND"还是用"OR"操作逻辑),一般默认指定
df - 默认的查询字段,一般默认指定
qt - (query type)指定那个类型来处理查询请求,一般不用指定,默认是standard。

点击查看原文阅读(786) | 评论(0) | 分类:Linux/架构,部署

Solr中文搜索纠错功能实现 (2011-09-01)

 最近在研究solr全文搜索,功能果然很强大!
上次简单说了一下Solr环境搭建,今天说一下搜索纠错的实现
实现: 您要找的是不是“XXX” 功能
solr纠错词

配置:solr3.2默认支持SpellCheck, 需要把纠错词库配置打开

编辑solrconfig.xml
  1. [admin@bogon ~]$ vi /opt/solr/solr/conf/solrconfig.xml 

找到这面配置,把注释去掉,重启TOMCAT

编辑solrconfig.xml
  1.  <lst name="spellchecker">
  2.  
  3.          <str name="classname">solr.FileBasedSpellChecker</str>
  4.  
  5.          <str name="name">file</str>
  6.  
  7.          <str name="sourceLocation">spellings.txt</str>
  8.  
  9.          <str name="characterEncoding">UTF-8</str>
  10.  
  11.          <str name="spellcheckIndexDir">spellcheckerFile</str>
  12.  
  13.  </lst>

 

搜“弯豆” ,就会返回“豌豆”的XML,并且搜“wandou”,也可以返回“豌豆” XML
我用文件源的方式,在solr.home/conf/spellings.txt文件后加:"豌豆wandou"。注意一行一个词。
访问http://192.168.12.129:8983/solr/spell?q=*wandou*&spellcheck.q=wandou&spellcheck=true&spellcheck.dictionary=file&spellcheck.build=true
返回XML

代码如下
  1. <response>
  2. <lst name="responseHeader">
  3. <int name="status">0</int>
  4. <int name="QTime">40</int>
  5. </lst>
  6. <str name="command">build</str>
  7. <result name="response" numFound="0" start="0"/>
  8. <lst name="spellcheck">
  9. <lst name="suggestions">
  10. <lst name="wandou">
  11. <int name="numFound">1</int>
  12. <int name="startOffset">0</int>
  13. <int name="endOffset">6</int>
  14. <arr name="suggestion">
  15. <str>豌豆wandou</str>
  16. </arr>
  17. </lst>
  18. </lst>
  19. </lst>
  20. </response>

 

 

点击查看原文阅读(761) | 评论(1) | 分类:Linux/架构,部署

Linux系统下的RZSZ (2011-08-28)

Linux系统下传输方式很多,比如:通过FTP SFTP … 等等。linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地,根据RZSZ特性,这里我们通过SecureCRT提供ZModem配合RZSZ传输工具进行讲解

 
 首先先了解ssh有关的两个命令可以提供很方便的操作:
 
      sz:将选定的文件发送(send)到本地机器
      rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
rzszLinux/UnixWindows进行ZModem文件传输的命令行工具
windows端需要支持ZModemtelnet/ssh客户端,例如:SecureCRT
 
优点:比ftp命令方便,而且服务器不用打开FTP服务。
 
 
 安装 rzsz软件包
 
--2010-01-07 21:52:51--  http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
正在解析主机 freeware.sgi.com... 192.48.178.134
Connecting to freeware.sgi.com|192.48.178.134|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:65566 (64K) [application/x-gzip]
Saving to: `rzsz-3.48.tar.gz'
 
100%[======================================>] 65,566      20.2K/s   in 3.2s   
 
2010-01-07 21:52:56 (20.2 KB/s) - `rzsz-3.48.tar.gz' saved [65566/65566]
 
[root@localhost soft]# ll
总计 72
-rw-r--r-- 1 root root 65566 2004-05-19 rzsz-3.48.tar.gz
[root@localhost soft]# tar zxvf rzsz-3.48.tar.gz
src/
src/COPYING
src/Makefile
src/README
src/crc.c
src/crc.doc
src/crctab.c
src/gz
src/mailer.rz
src/minirb.c
src/minirb.doc
src/rbsb.c
src/rz.c
src/rz.doc
src/sz.c
src/sz.doc
src/undos.c
src/undos.doc
src/zm.c
src/zmodem.h
src/zmr.c
src/zupl.t  
[root@localhost soft]# cd src/
[root@localhost src]# ll
总计 256
-rw-rw-r-- 1 10127 wheel   891 1998-05-30 COPYING
-rw-r--r-- 1 10127 wheel  8815 1998-05-30 crc.c
-rw-r--r-- 1 10127 wheel  1492 1998-05-30 crc.doc
-rw-r--r-- 1 10127 wheel  8764 1998-05-30 crctab.c
-rw-r--r-- 1 10127 wheel    22 1998-05-30 gz
-rw-rw-r-- 1 10127 wheel  3617 1998-05-30 mailer.rz
-rw-r--r-- 1 10127 wheel  8657 1998-05-30 Makefile
-rw-r--r-- 1 10127 wheel  2868 1998-05-30 minirb.c
-rw-r--r-- 1 10127 wheel  2727 1998-05-30 minirb.doc
-rw-r--r-- 1 10127 wheel 10537 1998-05-30 rbsb.c
-rw-r--r-- 1 10127 wheel  6164 1998-05-30 README
-rw-r--r-- 1 10127 wheel 29902 1998-05-30 rz.c
-rw-rw-r-- 1 10127 wheel 19264 1998-05-30 rz.doc
-rw-r--r-- 1 10127 wheel 37258 1998-05-30 sz.c
-rw-rw-r-- 1 10127 wheel 25679 1998-05-30 sz.doc
-rw-r--r-- 1 10127 wheel  7312 1998-05-30 undos.c
-rw-rw-r-- 1 10127 wheel  4282 1998-05-30 undos.doc
-rw-r--r-- 1 10127 wheel 17736 1998-05-30 zm.c
-rw-r--r-- 1 10127 wheel  6577 1998-05-30 zmodem.h
-rw-r--r-- 1 10127 wheel  4519 1998-05-30 zmr.c
-rw-r--r-- 1 10127 wheel   738 1998-05-30 zupl.t
 
rzsz的软件包比较特别,没有configuremake install 文件。执行make命令可以看到一些提示
 
[root@localhost src]# make
 
Please study the #ifdef's in crctab.c, rbsb.c, rz.c and sz.c,
make any necessary hacks for oddball or merged SYSV/BSD systems,
then type 'make SYSTEM' where SYSTEM is one of:
 
        posix   POSIX compliant systems
        aix     AIX systems
        next    NeXtstep v3.x (POSIX)
        odt     SCO Open Desktop
        everest SCO Open Desktop (elf, strict)
        sysvr4  SYSTEM 5.4 Unix
        sysvr3  SYSTEM 5.3 Unix with mkdir(2), COHERENT 4.2
        sysv    SYSTEM 3/5 Unix
        sysiii  SYS III/V  Older Unix or Xenix compilers
        xenix   Xenix
        x386    386 Xenix
        bsd     Berkeley 4.x BSD, Ultrix, V7
        tandy   Tandy 6000 Xenix
        dnix    DIAB Dnix 5.2
        dnix5r3 DIAB Dnix 5.3
        amiga   3000UX running SVR4
        POSIX   POSIX compliant systems (SCO Open Desktop, strict)
 
        undos   Make the undos, todos, etc. program.
        doc     Format the man pages with nroff
 
根据自己的需求选择make参数,一般选posix就可以
 
[root@localhost src]# make posix
cc   -O -DPOSIX -DMD=2 rz.c -o rz
size rz
   text    data     bss     dec     hex filename
  31339    1088   10640   43067    a83b rz
rm -f rb rx rc
ln rz rb
ln rz rx
ln rz rc
cc   -O -DPOSIX sz.c -o sz
size sz
   text    data     bss     dec     hex filename
  37316    1224   43344   81884   13fdc sz
rm -f sb sx zcommand zcommandi
ln sz sb
ln sz sx
ln sz zcommand        ===============》提示安装成功
ln sz zcommandi
 
 
 
 
[root@localhost src]# cp rz sz /usr/bin/  复制到/usr/bin下方便使用
[root@localhost src]# rz   上传本地文件到linux系统下
rz ready. Type "sz file ..." to your modem program

点击查看原文阅读(314) | 评论(0) | 分类:Linux/架构,部署

RHEL5.5下安装GCC编译环境 (2011-08-28)

我在make posix时报错,提示:
make: cc: Command not found
make: *** [posix] Error 127

所以需要安装GCC编译环境

GCC在安装源码包时要用到的一个组件,找到系统的安装盘,在Server目录下,

安装gcc编译环境-1
开始安装:按顺序安装以下包就可以完成GCC的安装了

1)        [root@rhel5 Server]# rpm -ivh kernel-headers-2.6.18-53.el5.i386.rpm

2)        [root@rhel5 Server]# rpm -ivh glibc-headers-2.5-48.i386.rpm

3)        [root@rhel5 Server]# rpm -ivh glibc-devel-2.5-48.i386.rpm

4)        [root@rhel5 Server]# rpm -ivh libgomp-4.1.2-14.el5.i386.rpm

5)        [root@rhel5 Server]# rpm -ivh gcc-4.1.2-14.el5.i386.rpm

6)        [root@rhel5 Server]# rpm -ivh libstdc++-devel-4.1.2-14.el5.i386.rpm

7)        [root@rhel5 Server]# rpm -ivh gcc-c++-4.1.2-14.gcel5.i386.rpm
 

安装gcc编译环境-1

检查是否安装成功:
[root@localhost down]# rpm -qa | grep gcc
gcc-4.1.2-46.el5
libgcc-4.1.2-46.el5
说明GCC安装成功!

点击查看原文阅读(527) | 评论(0) | 分类:Linux/架构,部署

Linux中文全文搜索服务器Solr(lucene )环境部署 (2011-08-13)

网上的文章大部分讲不太完整,资料较少,
一些重要的地方一句话简单的略过了,让第一次部署的人很迷茫
下面来讲一下我的中文搜索服务器部署过程

原文出处:http://www.nonb.cn/blog/linux-zhong-wen-sou-suo-solr-lucene.html中文全文搜索服务器Solr配置(lucene ) 作者:写点寂寞



安装环境:RedHat Enterprise Linux 5 64bit


需要以下软件
tomcat-6.0.16-0.noarch.rpm
java-1.6.0openjdk-devel-1.6.0.b09.el5.x86_64.rpm
java-1.6.0.openjdk-1.6.0.0-1.2.b09.el5.x86_64.rpm
apache-solr-1.4.1.zip
IKAnalyzer3.2.5Stable_bin.zip

Solr是运行在java环境下的,首先部署Tomcat环境,简单讲一下过程

安装JDK
rpm -ivh java-1.6.0.openjdk-1.6.0.0-1.2.b09.el5.x86_64.rpm

安装Tomcat
rpm -ivh tomcat-6.0.16-0.noarch.rpm
过程会提示缺少两个包,有linux安装盘可以去安装盘server里找
giflib-4.1.3-7.1.el5_3.1.x86_64.rpm
jpackage-utils-1.7.3-1jpp.2.el5.noarch.rpm
安装完成后在安装tomcat包

配置jdk环境变量

vi编辑文件  执行(需要有su权限)  vi /etc/profile 根据自己的路径进行修改
solr环境部署 -1

JAVA_HOME=/usr/java/jdk1.6.0_26

CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH CLASSPATH JAVA_HOME

启动tomcat
/opt/tomcat/bin/start.sh start  成功启动显示如下信息
solr环境部署 -2
可以打开浏览器进行访问
我的服务器IP是 192.168.12.129:8080

安装solr

/opt/local下新建solr-tomcat/solr作为solrHOME目录。

apache-solr-1.3.0/dist目录下的apache-solr-1.3.0.war复制到solr-tomcat/solr目录并改名为solr.war,将/example/solr/下的内容全部复制到/opt/tomcat/webapps/solr.war下。

 

tomcat中设置solrHOME位置:

建立/opt/tomcat/conf/Catalina/localhost/solr.xml文件。

vi /opt/tomcat/conf/Catalina/localhost/solr.xml 
添加配置内容

<?xml version="1.0" encoding="UTF-8"?>

<Context docBase="/opt/tomcat/webapps/solr.war" debug="0" crossContext="true" >

<Environment name="solr/home" type="java.lang.String" value="/opt/solr-tomcat/solr" override="true" />

</Context>

重启tomcat 

# ./opt/tomcat/bin/shutdown.sh

# ./opt/tomcat/bin/start.sh


访问http://localhost:8080/solr/admin 看到如下界面说明安装成功

solr环境部署 -3

这样就安装成功了
后续会写到solr配置, IK分词部署,中文纠错词等一些东西
 

点击查看原文阅读(957) | 评论(1) | 分类:Linux/架构,部署