Archive

Posts Tagged ‘Linux’

linux压缩(解压缩)命令详解

June 12th, 2009

一.tar命令

         tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar 最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文 件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。

语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t 列出档案文件的内容,查看已经备份了哪些文件。
u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
x 从档案文件中释放文件。

辅助选项:
b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。
f 使用档案文件或设备,这个选项通常是必选的。
k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。
m 在还原文件时,把所有文件的修改时间设定为现在。
M 创建多卷的档案文件,以便在几个磁盘中存放。
v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
w 每一步都要求确认。
z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
二.Linux下的压缩文件剖析
         对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名 给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同 了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使 用,不过在Linux使用.zip和.rar的人就太少了。本文就来对这些常见的压缩文件进行一番小结,希望你下次遇到这些文件时不至于被搞晕:)

   在具体总结各类压缩文件之前,首先要 弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这 两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另外的工具将这一大堆文件先打 成一个包,然后再就原来的压缩程序进行压缩。

  Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:

  tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:
  # tar -cf all.tar *.jpg
  这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
  # tar -rf all.tar *.gif
  这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
        # tar -uf all.tar logo.gif
  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

  # tar -tf all.tar
  这条命令是列出all.tar包中所有文件,-t是列出文件的意思
  # tar -xf all.tar
  这条命令是解出all.tar包中所有文件,-x是解包的意思
  以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2等。
  1) tar调用gzip
  gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:
  # tar -czf all.tar.gz *.jpg
  这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz
  # tar -xzf all.tar.gz
  这条命令是将上面产生的包解开。
  2) tar调用bzip2
  bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用bzip2。下面来举例说明一下:
  # tar -cjf all.tar.bz2 *.jpg
  这条命令是将所有.jpg的文件打成一个tar包,并且调用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2
  # tar -xjf all.tar.bz2
  这条命令是将上面产生的包解开。
    3)tar调用compress
compress也是一个压缩程序,但是好象使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是bzip2压缩的结果。与compress相对的解压程序是uncompress。tar中使用-Z这个参数来调用gzip。下面来举例说明一下:

  # tar -cZf all.tar.Z *.jpg
  这条命令是将所有.jpg的文件打成一个tar包,并且调用compress压缩,生成一个uncompress压缩过的包,包名为all.tar.Z
  # tar -xZf all.tar.Z
  这条命令是将上面产生的包解开
  有了上面的知识,你应该可以解开多种压缩文件了,下面对于tar系列的压缩文件作一个小结:
  1)对于.tar结尾的文件
  tar -xf all.tar
  2)对于.gz结尾的文件
  gzip -d all.gz
  gunzip all.gz
  3)对于.tgz或.tar.gz结尾的文件
  tar -xzf all.tar.gz
  tar -xzf all.tgz
  4)对于.bz2结尾的文件
  bzip2 -d all.bz2
  bunzip2 all.bz2
  5)对于tar.bz2结尾的文件
  tar -xjf all.tar.bz2
  6)对于.Z结尾的文件
  uncompress all.Z
  7)对于.tar.Z结尾的文件
  tar -xZf all.tar.z
  另外对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们:
  1)对于.zip
  linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
  # zip all.zip *.jpg
  这条命令是将所有.jpg的文件压缩成一个zip包

      注意:如果要压缩的是个文件夹,则要加上-r参数,表示调用递归压缩,如:

      zip -r temp.zip temp
        # unzip all.zip
  这条命令是将all.zip中的所有文件解压出来

  2)对于.rar
  要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux
不是免费的;然后安装:
  # tar -xzpvf rarlinux-3.2.0.tar.gz
  # cd rar
  # make
  这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
  # rar a all *.jpg
  这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后。
  # unrar e all.rar
  这条命令是将all.rar中的所有文件解压出来
   到此为至,我们已经介绍过linux下的tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、 zip、unzip、rar、unrar等程式,你应该已经能够使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar这10种压缩文件进行解压了,以后应该不需要为下载了一个软件而不知道如何在Linux下解开而烦恼了。而且以上方 法对于Unix也基本有效。
  本文介绍了linux下的压缩程式tar、gzip、gunzip、bzip2、bunzip2、 compress、uncompress、zip、unzip、rar、unrar等程式,以及如何使用它们对.tar、.gz、.tar.gz、. tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar这10种压缩文件进行操作。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hbcui1984/archive/2007/04/25/1583796.aspx

Linux , ,

linux fg bg ctrl + z jobs & 等命令(zz)

May 14th, 2009

fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的
一。& 最经常被用到
   这个用在一个命令的最后,可以把这个命令放到后台执行
二。ctrl + z
     可以将一个正在前台执行的命令放到后台,并且暂停
三。jobs
     查看当前有多少在后台运行的命令
四。fg
     将后台中的命令调至前台继续运行
   如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
五。bg
     将一个在后台暂停的命令,变成继续执行
   如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

Linux下使用Shell命令控制任务Jobs执行
下列命令可以用来操纵进程任务:
  ps 列出系统中正在运行的进程;
  kill 发送信号给一个或多个进程(经常用来杀死一个进程);
  jobs 列出当前shell环境中已启动的任务状态,若未指定jobsid,则显示所有活动的任务状态信息;如果报告了一个任务的终止(即任务的状态被标记为Terminated),shell 从当前的shell环境已知的列表中删除任务的进程标识;
  bg 将进程搬到后台运行(Background);
  fg 将进程搬到前台运行(Foreground);
  将job转移到后台运行
  如果你经常在X图形下工作,你可能有这样的经历:通过终端命令运行一个GUI程序,GUI界面出来了,但是你的终端还停留在原地,你不能在shell中继续执行其他命令了,除非将GUI程序关掉。
  为了使程序执行后终端还能继续接受命令,你可以将进程移到后台运行,使用如下命令运行程序: #假设要运行xmms
  $xmms &
  这样打开xmms后,终端的提示又回来了。现在xmms在后台运行着呢;但万一你运行程序时忘记使用“&”了,又不想重新执行;你可以先使用ctrl+z挂起程序,然后敲入bg命令,这样程序就在后台继续运行了。
  概念:当前任务
  如果后台的任务号有2个,[1],[2];如果当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”的后台任务。所以可以得出一点,即当前任务是会变动的。当用户输入“fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务。
  察看jobs
  使用jobs或ps命令可以察看正在执行的jobs。
  jobs命令执行的结果,+表示是一个当前的作业,减号表是是一个当前作业之后的一个作业,jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;
  进程的挂起
  后台进程的挂起:
  在solaris中通过stop命令执行,通过jobs命令查看job号(假设为num),然后执行stop %num;
  在redhat中,不存在stop命令,可通过执行命令kill -stop PID,将进程挂起;
  当要重新执行当前被挂起的任务时,通过bg %num 即可将挂起的job的状态由stopped改为running,仍在后台执行;当需要改为在前台执行时,执行命令fg %num即可;
  前台进程的挂起:
  ctrl+Z;
  进程的终止
  后台进程的终止:
  方法一:
  通过jobs命令查看job号(假设为num),然后执行kill %num
  方法二:
  通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid
  前台进程的终止:
  ctrl+c
  kill的其他作用
  kill除了可以终止进程,还能给进程发送其它信号,使用kill -l 可以察看kill支持的信号。
  SIGTERM是不带参数时kill发送的信号,意思是要进程终止运行,但执行与否还得看进程是否支持。如果进程还没有终止,可以使用kill -SIGKILL pid,这是由内核来终止进程,进程不能监听这个信号。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/67555/showart_1110905.html

Linux , ,

openssl简明使用手册

January 7th, 2009

openssl简明使用手册

关键字: openssl

简要介绍了使用openssl来生成CA证书、申请证书、颁发证书以及撤销证书的过程

1. 首先建立CA密钥:

openssl genrsa -des3 -out ca.key 1024 (创建密钥)

chmod 400 ca.key (修改权限为仅root能访问)

openssl rsa -noout -text -in ca.key (查看创建的证书)

2. 利用CA密钥自签署CA证书:

openssl req -config openssl.cnf -new -x509 -days 3650 -key ca.key -out ca.crt

chmod 400 ca.crt (修改权限为仅root能访问)

openssl x509 -noout -text -in ca.crt (查看创建的证书)

3. 创建服务器证书签署申请:

openssl genrsa -des3 -out client.key 1024

chmod 400 client.key (修改权限为仅root能访问)

openssl rsa -noout -text -in client.key (查看创建的证书)

4. 利用证书签署申请生成请求:

openssl req -config openssl_client.cnf -new -key client.key -out client.csr

openssl req -noout -text -in client.csr (查看创建的请求)

5.进行证书签署:

这时候需要先设置一下openssl的配置文件。

modify openssl.cnf并根据这个配置文件创建相应的目录和文件。

在创建了serial文件之后,还需要添加当前的八进制的serial number,如:01

然后执行:

openssl ca -config openssl_client.cnf -keyfile ca.key -cert ca.crt -in client.csr -out client.pem -days 1095

这个certificate是BASE64形式的,要转成PKCS12才能装到IE,/NETSCAPE上.所以还要:

openssl pkcs12 -export -in client.pem -inkey client.key -out clinet.pfx

6.证书撤销:

openssl ca -keyfile ca.key -cert ca.crt -revoke client.pem

这时数据库被更新证书被标记上撤销的标志,需要生成新的证书撤销列表:

openssl ca -gencrl -keyfile ca.key -cert ca.crt -out crl/test.crl

查看证书撤销列表:

openssl crl -noout -text -in crl/test.crl

证书撤销列表文件要在WEB站点上可以使用,必须将crldays或crlhours和crlexts加到证书中:

openssl ca -gencrl -config /etc/openssl.cnf -crldays 7 -crlexts crl_ext -out crl/sopac-ca.crl

apache , ,

linux下oracle自动启动脚本

December 26th, 2008

在Linux平台下安装好Oracle之后,Oracle服务是不会随着系统的启动而自动启动的。下面这个脚本即为在linux下面的自动启动Oracle脚本。
################################################################
#!/bin/bash
#
#by:cuijie
#http://www.cuijie.net.cn
#date:2008.12.26
#root用户登录
#
#
ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
ORA_OWNER=oracle
#
case "$1" in
’start’)
echo -n "Oracle 10g is starting…"
su – $ORA_OWNER -c "$ORA_HOME/bin/dbstart" &
su – $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
touch /var/log/oracle10g
echo
;;

’stop’)
echo -n "Oracle 10g is stopting…"
su – $ORA_OWNER -c "$ORA_HOME/bin/dbshut" &
su – $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
rm -f /var/log/oracle10g
echo
;;

‘restart’)
echo -n "Oracle 10g is restarting…"
$0 stop
$0 start
;;

*)
echo "Usage:oracle{start|stop|restart}"
exit 1

esac
exit 0
################################################################
将上面的脚本复制粘贴到linux下面的合适位置处。如名字为Oracle10g.sh,然后chmod a+x Oracle10g.sh为该文件赋予可执行的属性。然后以oracle用户登录(root也可以)进入到
[oracle@test ~]$ cd $ORACLE_HOME/bin
vi打开dbstart,找到“ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle”,将这行替换为“ORACLE_HOME_LISTNER=$ORACLE_HOME”。不然会提示“failed to auto-start oracle net listene using /ade/vikrkuma_new/oracle/bin/ tnslsnr”的错误。(也可以使用sed -i ’s/ORACLE_HOME_LISTNER=\/ade\/vikrkuma_new\/oracle/ORACLE_HOME_LISTNER=\$ORACLE_HOME/’ bin/dbstart替换命令来替换)

[root@test cuijie]# chmod a+x oracle10g.sh
[root@test cuijie]# echo “/home/cuijie/oracle10g.sh start” /etc/rc.local
这样在系统启动的时候就能够自动启动oracle了。另外如果想加入系统服务使用/sbin/chkconfig –add 也可以加入,这样使用service就可以像启动ssh等这类服务一样方便了。

Linux, Oracle , ,

VRRP简介

December 10th, 2008

随着Internet的迅猛发展,基于网络的应用逐渐增多。这就对网络的可靠性提出了越来越高的要求。斥资对所有网络设备进行更新当然是一种很好的可靠性解决方案;但本着保护现有投资的角度考虑,可以采用廉价冗余的思路,在可靠性和经济性方面找到平衡点。  虚拟路由冗余协议就是一种很好的解决方案。在该协议中,对共享多存取访问介质(如以太网)上终端IP设备的默认网关 (Default Gateway)进行冗余备份,从而在其中一台路由设备宕机时,备份路由设备及时接管转发工作,向用户提供透明的切换,提高了网络服务 质量。 

一、协议概述

  在基于TCP/IP协议的网络中,为了保证不直接物理连接的设备之间的通信,必须指定路由。目前常用的指定路由的方法有两种:一种是通过路由 协议(比如:内部路由协议RIP和OSPF)动态学习;另一种是静态配置。在每一个终端都运行动态路由协议是不现实的,大多客户端操作系统平台都不支持动 态路由协议,即使支持也受到管理开销、收敛度、安全性等许多问题的限制。因此普遍采用对终端IP设备静态路由配置,一般是给终端设备指定一个或者多个默认 网关(Default Gateway)。静态路由的方法简化了网络管理的复杂度和减轻了终端设备的通信开销,但是它仍然有一个缺点:如果作为默认网关的 路由器损坏,所有使用该网关为下一跳主机的通信必然要中断。即便配置了多个默认网关,如不重新启动终端设备,也不能切换到新的网关。采用虚拟路由冗余协 议 (Virtual Router Redundancy Protocol,简称VRRP)可以很好的避免静态指定网关的缺陷。

  在VRRP协议中,有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。VRRP路由器是指运行VRRP的路由器,是物 理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定 IP地址和MAC地址的逻辑路由器。处于同一个VRRP组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个VRRP组中有且只有一台处于主控 角色的路由器,可以有一个或者多个处于备份角色的路由器。VRRP协议使用选择策略从路由器组中选出一台作为主控,负责ARP相应和转发IP数据包,组中 的其它路由器作为备份的角色处于待命状态。当由于某种原因主控路由器发生故障时,备份路由器能在几秒钟的时延后升级为主路由器。由于此切换非常迅速而且不 用改变IP地址和MAC地址,故对终端使用者系统是透明的。 

二、工作原理

  一个VRRP路由器有唯一的标识:VRID,范围为0—255。该路由器对外表现为唯一的虚拟MAC地址,地址的格式为00-00-5E- 00-01-[VRID]。主控路由器负责对ARP请求用该MAC地址做应答。这样,无论如何切换,保证给终端设备的是唯一一致的IP和MAC地址,减少 了切换对终端设备的影响。

  VRRP控制报文只有一种:VRRP通告(advertisement)。它使用IP多播数据包进行封装,组地址为224.0.0.18,发 布范围只限于同一局域网内。这保证了VRID在不同网络中可以重复使用。为了减少网络带宽消耗只有主控路由器才可以周期性的发送VRRP通告报文。备份路 由器在连续三个通告间隔内收不到VRRP或收到优先级为0的通告后启动新的一轮VRRP选举。

  在VRRP路由器组中,按优先级选举主控路由器,VRRP协议中优先级范围是0—255。若VRRP路由器的IP地址和虚拟路由器的接口IP 地址相同,则称该虚拟路由器作VRRP组中的IP地址所有者;IP地址所有者自动具有最高优先级:255。优先级0一般用在IP地址所有者主动放弃主控者 角色时使用。可配置的优先级范围为1—254。优先级的配置原则可以依据链路的速度和成本、路由器性能和可靠性以及其它管理策略设定。主控路由器的选举 中,高优先级的虚拟路由器获胜,因此,如果在VRRP组中有IP地址所有者,则它总是作为主控路由的角色出现。对于相同优先级的候选路由器,按照IP地址 大小顺序选举。VRRP还提供了优先级抢占策略,如果配置了该策略,高优先级的备份路由器便会剥夺当前低优先级的主控路由器而成为新的主控路由器。

  为了保证VRRP协议的安全性,提供了两种安全认证措施:明文认证和IP头认证。明文认证方式要求:在加入一个VRRP路由器组时,必须同时 提供相同的VRID和明文密码。适合于避免在局域网内的配置错误,但不能防止通过网络监听方式获得密码。IP头认证的方式提供了更高的安全性,能够防止报 文重放和修改等攻击。

三、 应用实例

  最典型的VRRP应用:RTA、RTB组成一个VRRP路由器组,假设RTB的处理能力高于RTA,则将RTB配置成IP地址所有者,H1、 H2、H3的默认网关设定为RTB。则RTB成为主控路由器,负责ICMP重定向、ARP应答和IP报文的转发;一旦RTB失败,RTA立即启动切换,成 为主控,从而保证了对客户透明的安全切换。

  在VRRP应用中,RTA在线时RTB只是作为后备,不参与转发工作,闲置了路由器RTA和链路L1。通过合理的网络设计,可以到达备份和负 载分担双重效果。让RTA、RTB同时属于互为备份的两个VRRP组:在组1中RTA为IP地址所有者;组2中RTB为IP地址所有者。将H1的默认网关 设定为RTA;H2、H3的默认网关设定为RTB。这样,既分担了设备负载和网络流量,又提高了网络可靠性。

  VRRP协议的工作机理与CISCO公司的HSRP(Hot Standby Routing Protocol)有许多相似之处。但二者主 要的区别是在CISCO的HSRP中,需要单独配置一个IP地址作为虚拟路由器对外体现的地址,这个地址不能是组中任何一个成员的接口地址。

  使用VRRP协议,不用改造目前的网络结构,最大限度保护了当前投资,只需最少的管理费用,却大大提升了网络性能,具有重大的应用价值。

Linux ,

RPM命令大全

December 8th, 2008

Linux+Apache2+openssl实现https验证

December 1st, 2008

首先安装SSL,再编译安装APACHE,再配置证书即可

1.下载apache和openssl
网址:http://www.apache.org
      http://www.openssl.org
2.解压
#tar zxvf httpd-2.0.54.tar.gz
#tar zxvf openssl-0.9.7g.tar.gz
3.编译安装openssl,这个软件主要是用来生成证书:
#cd openssl-0.9.7g
#./config
#make
#make test
#make install
把openssl放进内核目录下,使其在任何目录下都能运行。
#cd /usr/local/bin
#ln -s /usr/local/ssl/bin/openssl openssl
4.编译安装apache
#cd /opt/httpd-2.0.54
#./configure –prefix=”/opt/apache2″ –enable-so –enable-ssl –with-ssl=”/usr/local/ssl/bin”
#make
#make install
5.安装完毕,生成证书:
在/opt/apache2/conf下建立一个ssl.key目录
#cd ../apache2/
#cd conf/
#mkdir ssl.key
然后在该目录下生成证书:
#cd ssl.key/
生成服务器私钥:
#openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
…………………..++++++
………………………………………….++++++
e is 65537 (0×10001)
Enter pass phrase for server.key:
Verifying – Enter pass phrase for server.key:
生成服务器证书请求,并按要求填些相关证书信息:
#openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:tyl
Organization Name (eg, company) [Internet Widgits Pty Ltd]:tz
Organizational Unit Name (eg, section) []:tz
Common Name (eg, YOUR name) []:tyl
Email Address []:tangyl@ruyi.com
 
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
签证:
# openssl x509 -req -days 700 -in server.csr -signkey server.key -out server.cert
Signature ok
subject=/C=AU/ST=Some-State/L=tyl/O=tz/OU=tz/CN=tyl/emailAddress=tangyl@ruyi.com
Getting Private key
Enter pass phrase for server.key:
为了安全,然后我们把这些文件的权限都设为400
chmod 400 server.key
chmod 400 server.cert

最后对/opt/apache2/conf/ssl.conf 进行修改:

vi /opt/apache2/conf/ssl.conf
修改的地方如下几处:
#SSLCertificateFile /opt/apache2/conf/ssl.crt/server.crt  #108行
SSLCertificateFile /opt/apache2/conf/ssl.key/server.cert
#SSLCertificateFile /opt/apache2/conf/ssl.crt/server-dsa.crt

SSLCertificateKeyFile /opt/apache2/conf/ssl.key/server.key   #116行
#SSLCertificateKeyFile /opt/apache2/conf/ssl.key/server-dsa.key

这样我们就基本配好了ssl现在我们来让apache启动ssl

/opt/apache2/bin/apachectl startssl

然后要求输入证书密码,正确输入后ssl就连同apache一起启动

 
在浏览器中输入:https://210.75.18.36

要求下载证书,OK~好了~结束~就是这么简单。

参考:http://www.szlangxing.com/Article/gyw/200504/524.html
         http://www.chinaunix.net/jh/13/469276.html
 
 


Keytool应用实例:

1.产生一个keystore:

keytool -genkey -alias myssl -keyalg RSA -keystore myssl.jks

运行这个命令,系统提示:

Enter keystore password:(输入keystore密码:)
yourpassword(输入密码)

What is your first and last name?(您的名字与姓氏是什么?)
[Unknown]: www.myssl.cn(输入申请的证书的域名)

What is the name of your organizational unit? (您的组织单位名称是什么?)
[Unknown]:Fastcom(输入你所在组织单位的名字)

What is the name of your organization? (您的组织名称是什么?)
[Unknown]:Fastcom (输入你所在组织的名字)

What is the name of your City or Locality?(您所在的城市或区域名称是什么?)
[Unknown]:Shanghai(输入所在城市的名字)

What is the name of your State or Province? (您所在的州或省份名称是什么?)
[Unknown]:Shanghai(输入所在省份名字)

What is the two-letter country code for this unit?(该单位的两字母国家代码是什么?)
[Unknown]:CN(输入国家名字,如果是中国,请输入CN)

Is CN=www.myssl.cn, OU=fastcom, O=fastcom, L=Shanghai, ST=Shanghai, C=CN correct? [no]:
yes

今天遇到两个以前没有遇到过的apache错误:
1、

Permission denied: .htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable 

这个错误表面上看是没有权限读取”.htaccess”文件,不过我并没有用到这个文件。于是touch了一个空的”.htaccess”文件,可是并没有解决这个问题。其实”.htaccess”文件并不是必须的呀,应该不会因为check不到这个文件,而导致403错误才对的。

仔细再检查了其它地方,发现导致这个错误的原因是主目录的权限不对。主目录的权限被改为了”600″,但是目录其实应该是有”x”的权限才对的。
将主目录chmod为”700″即消除了这个错误。

2、

[error] an unknown filter was not added: DEFLATE 

这个错误是由于配置中使用了DEFLATE,但却没有使用mod_deflate模块导致的。

比如虚拟主机的配置中有:

    <Location />
        AddOutputFilterByType DEFLATE text/html text/xml text/plain
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|swf|dat)$ no-gzip dont-vary
    </Location>

Linux , ,

Linux 如何使用输入法? 我已成功解决方法

November 21st, 2008

最近安装了Fedora 9 我敲了N天 装了N久硬是没装成功 “如果您愿意…..请在运行前安装输入法..” 恼火

Fedora 9 默认情况下 不管是中文模式还是字符模式 默认都没装中文输入法,大家是不是见到这种情况,怎么也敲不出中文?我也恼了很久 现在 我用过的方法总结了下 大家遇到此问题的 看看对你有没有用!

Fedora 9 竟然忽略中国,也许是怕了中国破解?再者这是开发的 不谈什么破解不破解的.

 

成功的方法:

我先说下故障:由于在实验情况下 本机无网络 用不了yum 命令功能, 切换不出输入法,从个人里面的输入法为空提示”如果您愿意,请在安装运行前安装输入法”而且用浏览器浏览”2003 server FTP”中文显示乱码.

解决方法:我个人下的是Fedora 9 ISO 共3.3G 默认情况下 是不装的.

手动装.

1. 将 光盘下 Packages 目录 #cp /packages 到 /system

#cd /Packages

# rpm -ivh imsettings-libs-0.99.6-3.fc9.i386.rpm

#rpm -ivh imsettings-0.99.6-3.fc9.i386.rpm

#rpm -ivh   im-chooser-0.99.6-3.fc9.i386.rpm

#rpm -ivh   scim-libs-1.4.7-23.fc9.i386.rpm

#rpm -ivh   scim-1.4.7-23.fc9.i386.rpm

#rpm -ivh   scim-tables-0.5.7-5.fc9.i386.rpm

#rpm -ivh   scim-python-0.1.11-1.fc9.i386.rpm

#rpm -ivh   scim-bridge-0.4.15-5.fc9.i386.rpm

#rpm -ivh   scim-bridge-gtk-0.4.15-5.fc9.i386.rpm

#rpm -ivh   libchewing-0.3.0-10.fc9.i386.rpm

#rpm -ivh   scim-python-pinyin-0.1.11-1.fc9.i386.rpm

#rpm -ivh   scim-tables-chinese-0.5.7-5.fc9.i386.rpm

#rpm -ivh   scim-chewing-0.3.1-13.fc9.i386.rpm

#rpm -ivh   scim-lang-chinese-1.4.7-23.fc9.i386.rpm

#reboot

 

记住这顺序,共14个包, -i 是重新安装 -v 是显示 -h 是进度 -ivh 就是重新安装并显示进度.

之后就在个人输入法中有了输入法.

 

这是从网上总结的但要运用到 yum 命令 没有网络的情况下 建议大家用上面的方法 我是绝对可行的:

1.安装盘里有关于 scim的包,或者 “系统”->“管理”->Add/remove Software 中,在搜

索框中搜:scim ,根据提示安装需要的包即可。

 

2.fedora 9刚刚发布我就下了一个,尝尝鲜,但是刚装好就发现了一个问题,居然没有输入法

。于是,在网上找了找资料最后问题解决。
   安装操作系统时要里面勾中文支持的,装完了以后可以在终端输入如下命令:
   yum install scim-lang-chinese
   重启后,就会有输入法了。

 

3.     这一次要解决的问题是关于中文显示以及中文输入法的问题。
参考了一些网上资料之后得到以下方法:
1、中文输入法的问题,用root的身份执行以下命令,第一个是yum install scim,搞定之后

执行yum install scim-pinyin就行了。
      然后注销,进入GONE,系统 – 首选项 – 个人 – 输入法,自己配置以下就好了。
2、KDE桌面的中文显示问题,在安装光盘里面有Packages文件夹里面有kde-l10n-Chinese-

4. 0.3-4.fc9.noarch.rpm一个文件,安装之后在System settings里面选择langue选项,

然后添加中文就解决了。
     电脑还有好多问题没有解决,譬如文字显示不太好,慢慢解决吧,一点一点来,也欢迎能

有喜欢Liunx的朋友一起讨论。

 

5. 我是从硬盘安装的F9 ,据说硬盘安装会少很多配置,不了解。下面把我遇到的中文输

入法问题和像我一样的菜鸟分享一下,肤浅的地方还请高手不吝赐教,嘿嘿
     
      据说F9 默认安装没有中文输入法,我的系统本想到:“系统”——首选项——个人里设

置,结果发现那里没有!汗!
不罗嗦,进入主题,我用的是笨方法:
   (1)先是:#yum erase scim*把scim卸载了,
    (2)然后:yum install scim-lang-chinese
下载依赖包花了不少时间,不过总算搞定了   

6. 如果你在安装fedora9的时候没有选择中文环境那就没有scim输入法只能手动安装。

顺如下:

1.执行 yum install scim-lang-chinese 命令安装中文输入。

2.系统-> 首先项 -> 个人 -> 输入法 选择 使用scim。

 

7. Fedora 9文字模式介面下安装中文:

需安装zhcon程式才可使用,以下为今天安装过程:
#yun install zhcon
依照步骤一步步安装即可,然后使用维书编辑器编辑设定档:/etc/zhcon.conf
……………….
defaultencode = big5
……………………

 

……………………
……………………
autoencode = auto
即可。输入中文后若一页中没有所需文字则可按下+/-1更换页面寻找。

X-window介面下无法输入中文:
(1)先是:#yum erase scim*把scim卸载了
(2)然后:yum install scim-lang-chinese下载封装需要一点时间
(3)再进到X-Window即可使用中文输入法

Fedora 9安装中文字体

默认的Fedora 9是不自动安装scim字体的,也就是说在gnome下输入汉字是不可能的,除非自己

 

 

安装。

安装方法:
yum install scim
yum install scim-pinyin

 

奶奶的 现在差不多了吧!

另外我还想请教 大家 Fedora 9下 如何安装小企鹅输入法啊??

Linux ,

修改Linux提高Squid服务器并发

November 12th, 2008

Linux下高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少Squid服务器的TIME_WAIT套接字数量。

vi /etc/sysctl.conf

增加以下几行:
引用
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024    65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000

说明:
net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。
net.ipv4.tcp_keepalive_time = 1200 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range = 1024    65000 表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
net.ipv4.tcp_max_syn_backlog = 8192 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets = 5000 表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

执行以下命令使配置生效:

/sbin/sysctl -p

Linux ,

linux文本编辑器命令

August 20th, 2008

了解linux系统中的编辑器知识
掌握vi编辑器的模式切换
掌握vi编辑器的操作命令
linux文本编辑器概述
行编辑器与全屏幕编辑器
字符界面编辑器与图形界面编辑器
vi文本编辑器       
        Vi的模式:
        命令模式:
        输入模式:
        末行模式:
Vi编辑器的基本使用
1、vi编辑器的启动与退出
2、退出vi编辑环境
3、进入编辑环境并打开文件
文件操作
1、打开新文件
: e  filename
: e! filename //当前的文件不需要保存
2、读取文件内容到当前文件
:r filename
3、保存文件
: w
4、退出vi编辑器
: q
: wq
: q!
光标移动操作
1、光标方向移动
        h 左 、l右、k上、j下
2、翻页移动
^+f:向前翻整页、^+b向后翻整页、^+u向前翻半页、^+d向后翻半页
3、行内快速跳转
^行首
$行尾
W后一个单词的首字母
b前一个单词的首字母
e后一个单词的尾字母
4、文件内行间快速跳转
: set nu
: set nonu
编辑操作
1、进入输入模式
: i a A o O cw c$ c^
2、输入模式的操作
: home end pageup pagedown backspace delete
3、删除操作 :x dd dw de d$ d^ J
4、撤销操作
:u U ^+R
5、复制操作
: yy yw y$ y^
6、粘贴操作
p
7、查找与替换操作:在vi的末行命令完成
        自上而下的查找操作
                /word        小写的n和N
        自下而上的查找操作
                ?word        小写的n和N
        普通替换操作
                :s/old/new
                只在当前行进行匹配和替换、命令替换当前行中第一个匹配的字符
        行内全部替换操作
                :s/old/new/g
                在当前行替换所有匹配的字符串
        在行区域内进行替换操作
                :#,#s/old/new/g
        在整个文件内的替换操作
                :%s/old/new/g
                在整个文档中进行替换操作的命令
        使用替换的确认功能
                :s/old/new/c
                :s/old/new/gc
                :#,#s/old/new/gc
                :%s/old/new/gc
vi编辑器的在线帮助
       
编辑器的多文件操作
        1、多文件操作的vi启动
                example:
                $vi passwd fstab inittab
                vi编辑器将在当前的编辑屏幕中显示vi命令参数中的第一个文件,其他文件处                于后台运行-不显示的!vi编辑器在同一时刻只能编辑当前屏幕中的文件,如要辑其                他文件需要进行文件切换!               
        2、多文件切换
                显示多文件信息
                        :args
                前后切换多文件
                        :next
                        :prev
                        后面接上”!”可以在前后切换文件的同时丢弃对当前文件的修改内容
                定位首文件和尾文件
                        :first
                        :last
                快速文件切换
                        ctrl+^
图形界面下的编辑文本:gedit

Linux ,