存档

‘Unix&Linux’ 分类的存档,文章数:30

误删除了ESQL文件:/data/ase157/OCS-15_0/sample/esqlc/readdevice.cp,此为背景。

本文介绍使用ext3grep恢复ext3类型分区上误删除文件的过程。

误删除文件readdevice.cp所在分区名为:/data。

 

1、先安装ext3grep软件

wget http://ext3grep.googlecode.com/files/ext3grep-0.10.1.tar.gz    如果google无法下载的话,本站下载地址:https://www.dbainfo.net/wp-content/uploads/file/ext3grep-0.10.1.tar.gz

tar zxvf ext3grep-0.10.1.tar.gz

cd ext3grep-0.10.1

./configure

make

make install

要使用 echo 命令的模式匹配字符功能,可以输入:
echo The back-up files are: *.bak
该用法将显示消息备份文件后跟有当前目录中以 .bak 结尾的文件名。

在正则表达式中,中括号[]是特殊字符,会匹配其中的任意一个字符且只是一个字符。

当想输出类似 [abc]这样的字符串时,最好使用双引号括起来。

echo "[abc]"

否则,如果直接使用echo [abc]输出,可能得到不同的”奇怪“的结果。

echo [abc]会在当前目录下,匹配名称为a或者b或者c的文件,如果当前目录包含a、b、c这三个文件中的任意一个,则返回相应的文件列表;否则返回 [abc]本身。

root@test:~# ls -l [abc]
-rw-r--r-- 1 root root 0 Apr 11 17:27 a
-rw-r--r-- 1 root root 0 Apr 11 17:34 b
root@test:~# echo [abc]
a b
root@test:~# echo [cde]
[cde]
root@test:~# echo *.sh
openvpn.sh setup-debian.sh
root@test:~#

在使用echo输出字符串的时候,如果不加双引号,会启用模式匹配功能;如果恰好能匹配到当前目录下的文件,则会输出匹配到的文件名列表。

如果没有匹配到文件的话, 会直接打印相应的字符串。

为了防止不确定的输出结果, 可以将字符串两边添加双引号。 为了中括号的问题去改造以前的代码是个比较大的工程。

在CentOS5.5 x86_64上安装了Oracle11g,版本号为:11.2.0.1.0

但是,在其它客户端上使用sqlplus连接的时候需要等待很长时间才能连接上,有时候报超时的错误。

错误信息为:

***********************************************************************

Fatal NI connect error 12537, connecting to:
 (LOCAL=NO)

  VERSION INFORMATION:
        TNS for Linux: Version 11.2.0.1.0 - Production
        Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production
        TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production
  Time: 30-NOV-2011 14:28:10
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12537

TNS-12537: TNS:connection closed
    ns secondary err code: 12560
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
opiodr aborting process unknown ospid (29666) as a result of ORA-609
Wed Nov 30 14:36:24 2011

Oracle11g服务器数据库名为:lzf,全局名称为:lzf.dbainfo.net

本博客中aix系统可以用改变时区的方法获取前后N天的日期

Linux下使用date计算某个月份的天数:

Month=2
Year=2008
nextmonth=`date -d "1 month $Year-$Month-"01""  +%Y-%m-%d`
date -d "-1 day $nextmonth" +%d
#或者将-d "1 month $Year-$Month-"01"" 和 date -d "-1 day $nextmonth" 写在一行命令中
Month=2
Year=2008
date -d "1 month $Year-$Month-"01"" -d "-1 day" +%d

使用cal 计算某个月份的天数:

1.安装所需要的包
所需的包有vnc-server(vnc服务器软件包),vnc(客户端包)。
另外,既然想用VNC,肯定是想要看图形界面,那就还要安装"GNOME Desktop Environment"(如果是想用GNOME,否则用KDE)
如下:

#yum install vnc-server(注意在root下安装)
#yum install vnc
#yum groupinstall "GNOME Desktop Environment"

注意安装前先用rpm -qa|grep "vnc-server"这种方式来查询一下是否已经安装好。一般如果你安装centos时选用的是默认的方式安装系统,那上面的步骤可以省略。

2.准备VNC用户资料,包括创建你想要的用户和密码(就是系统自己那种用户密码)。
如:
#useradd peter
#passwd peter
如果系统所需帐号已经建立,或是你只想用root来登录VNCServer,那此步骤也可以略过。

linux下显示dd命令的进度:

dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000

想要查看上面的dd命令的执行进度,可以使用下面几种方法:

比如:每5秒输出dd的进度

方法一:

watch -n 5 pkill -USR1 ^dd$

方法二:

watch -n 5 killall -USR1 dd

方法三:

while killall -USR1 dd; do sleep 5; done

方法四:

while (ps auxww |grep " dd " |grep -v grep |awk '{print $2}' |while read pid; do kill -USR1 $pid; done) ; do sleep 5; done

上述四种方法中使用三个命令:pkill、killall、kill向dd命令发送SIGUSR1信息,dd命令进程接收到信号之后就打印出自己当前的进度。


参考:贝塔中的DBA - 查看dd命令的执行进度

commandlinefu.comcheck the status of 'dd' in progress

rhel5 与 rhel4 不同的地方是, rhel5 里没有 /etc/X11/gdm/ 这个目录,因此在用xmanager连接linux时应选择“new session--->XDCMP“。
修改相关的dgm配置文件:
1. /etc/gdm/custom.conf
将 [xdmcp] 部分的 Enable 设置为 1,即:
[xdmcp]
Enable=1
Post=177
将 [security] 部分的 DisallowTCP 设置为 false,即:
[security]
DisallowTCP=false
2. /usr/share/gdm/defaults.conf确保有以下几句配置
Enable=true
DisplaysPerHost=10
Port=177
AllowRemoteRoot=true
3. /etc/inittab里把默认级别改为5
id:5:initdefault:
x:5:respawn:/usr/sbin/gdm
4.   /etc/securetty增加如下内容
pts/0
pts/1
pts/2
pts/3
pts/4

Sybase ASE V15.7于9月下旬发布,10月上旬才提供开发版下载地址。先在Linux x86_64上体验并测试一把。ASE V15.7已不支持Linux x86和Solaris x86,但是仍然可以用win x86做开发测试用途。

操作系统环境为:CentOS 5.5,内核版本:2.6.18-194.el5 x86_64

一开始使用安装向导创建服务的时候,报错!所有服务均创建失败!

修改安装向导生成的资源文件,已备后面利用srvbuildres创建服务。

首先设置一个能够解决Linux下Segmentation fault错误的环境变量: LD_POINTER_GUARD=0

在sybase用户环境下,执行下面的命令创建主服务时,

[sybase@centos5 ASE-15_0]$ srvbuildres -r ./sqlsrv.res