搬砖头

Knocking on Heaven's Door
posts - 34, comments - 6, trackbacks - 0, articles - 0

2007年11月2日

RedHat Linux操作系统修改时区的方法
Most modern Linux distributions have user-friendly programs to set the timezone, often accesible through the program menus or right-clicking the clock in a desktop environment such as KDE or GNOME. Failing that it’s possible to manually change the system timezone in Linux in a few short steps.
It’s possible to change the system timezone in Linux in a few short steps.
Steps
1. Logged in as root, check which timezone your machine is currently using by executing `date`. You’ll see something like “Mon 17 Jan 2005 12:15:08 PM PST -0.461203 seconds”, PST in this case is the current timezone.
2. Change to the directory to /usr/share/zoneinfo, here you will find a list of time zone regions. Choose the most appropriate region, if you live in Canada or the US this directory is the “Americas” directory.
3. If you wish, backup the previous timezone configuration by copying it to a different location. Such as `mv /etc/localtime /etc/localtime-old`.
4. Create a symbolic link from the appropiate timezone to /etc/localtime. Example: `ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime`.
5. If you have the utility rdate, update the current system time by executing `/usr/bin/rdate -s time.nist.gov`. (This step can be skip!)
6. Set the ZONE entry in the file /etc/sysconfig/clock file (e.g. “America/Los_Angeles”)
7. Set the hardware clock by executing: ` /sbin/hwclock –systohc`
Tips
· On some versions of RedHat Linux, Slackware, Gentoo, SuSE, Debian, Ubuntu, and anything else that is “normal”, the command to display and change the time is ‘date’, not ‘clock’
· On RedHat Linux there is a utility called “Setup” that allows one to select the timezone from a list, but you must have installed the ‘redhat-config-date’ package.
Warnings
· Some applications (such as PHP) have separate timezone settings from the system timezone.
· On some systems, /etc/localtime is actually a symlink to the appropriate file under the /usr/share/zoneinfo directory (rather than a copy of that file).
· On some systems, there is a system utility provided that will prompt for the correct timezone and make the proper changes to the system configuration. For example,Debianprovides the “tzsetup” utility.
Here is an example of changing the timezone: (Logged in as root)
In order to manually change the timezone, you can edit the /etc/sysconfig/clockfile and then make a new soft link to /etc/localtime. Here is an example of changing the timezone manually to “America/Denver”:
1. Select the appropriate time zone from the /usr/share/zoneinfo directory. Time zone names are relative to that directory. In this case, we will select “America/Denver”
2. Edit the /etc/sysconfig/clocktext file so that it looks like this:
ZONE=”America/Denver”
UTC=true
ARC=false
Of course, this assumes that your hardware clock is running UTC time…
3. Delete the following file: /etc/localtime (backup it when you need it !)
4. Create a new soft link for /etc/localtime. Here is an example of step 3 and step 4:
# cd /etc
# ls -al localtime
lrwxrwxrwx 1 root root 39 Mar 28 07:00 localtime -> /usr/share/zoneinfo/America/Los_Angeles
# rm /etc/localtime
# ln -s /usr/share/zoneinfo/America/Denver /etc/localtime
# ls -al localtime
lrwxrwxrwx 1 root root 34 Mar 28 08:59 localtime -> /usr/share/zoneinfo/America/Denver
# date
Fri Mar 28 09:00:04 MST 2003


针对中国时区,修改操作如下
1.   修改文件 /etc/sysconfig/clock内容:
ZONE=Asia/Shanghai
UTC=false
ARC=false
2.     rm /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
还有其他方法修改时区,不过是基于图形化界面的命令: tzselect 、 timeconfig
本文为镜像,原贴在此:http://www.btk4ever.com/?p=10443

posted @ 2009-04-28 09:35 生活在别处 阅读(2130) | 评论 (0)编辑 收藏

朋友搬到个新地方,没有宽带了,但是能收到些加密的无线网络,挺想蹭网的,本人由于是所谓“挨踢”人士,自当义不容辞出手相助。

我也只是想了解下WEP破解这事,目的也只是提醒大家一下要加强无线网络安全,千万不要干啥非法的事情,当然有本事的话,就把屁股擦干净。

其实前两年我就知道WEP加密是极不安全的,而且也出于好奇做过密钥破解的尝试,但是由于破解软件特别挑网卡,结果自然就是半途而废了。这次到网上 再度查了点相关资料,发现这事情已然变得相当的简单了,基本上只需要 BackTrack3 就可以搞定了。Backtrack 是一个黑客操作系统,其实也算是一个linux的黑客版,主要是安装了很多实用的软件和黑客工具,偏向于安全侵入方面的。

我是下载了一个BackTrack3 的usb版本,并且下了最新的扫描工具spoonwep2,系统自带的是spoonwep也能用,但是据说新版更好使,更方面。整个过程挺简单的,机器设 置成usb可引导启动,然后启动进入usb上的BackTrack系统,都是图形界面的,打开spoonwep2工具,扫描周围的无线信号,选择信号强 的,有客户端连接,并且DATA包比较多的信号来破解吧,这样应该可以快点,据说XX分钟就能破解了。没有客户端连接的无线信号,据说有些AP也是同样可 以破解的,无非是攻击方式的变化以及花费的时间更长而已。

我的经历是,晚上10点多开始破一个无线信号,等了一个多小时,进度开始变缓慢,因为本来连着的两个客户端下线了,估计困搞去了…,很无奈,我也不 能傻等,只得也睡觉去了。第二天早上起来,1o点多的时候,才抓满了要求的数据包,整个密钥破解过程倒是瞬间完成,然后我看到的密码是”1111111″ ,囧 rz,看来设无线密码的人都很懒。这个过程还是挺漫长的,可能是没选择对正确的攻击方式,导致数据包获取的过程很长。假如有客户端在BT下载,估计快很 多,要是只是qq聊天,那就要耗很久了。不过整个过程,已经相当的傻瓜化了。

这事也不能说的太细,想了解详细的人,网上查去吧,顺便提供一个教程

至于如何加强无线安全,有这么几点(网上找的)

如果你需要你的AP很难被破解,建议:
1)用WPA 加密方式,并且使用不可能被字典猜到的密码,目前还是基本可靠的
2)如果只支持 WEP加密,那么,尽量考虑用隐藏 SSID的方式,这样可以增加破解难度
3)如果只支持 WEP加密,那么,可以考虑使用中文名字作为SSID,这样基本问题不大。
4)一般破解时候,大家都会选择常用的频道,例如 6频道, 第三步显示频道的时候,你的AP也会被列出来,那么第一个目标失败的时候,黑客往往会选择第二个容易下手的目标, 但是如果你选择了8、 4、这些奇怪的频道,那么狠客往往懒得重新进入该频道的监控模式,你就可以逃过一劫。不过, 某些廉价AP,往往对6 频道做了优化,这个频道信号最强….这就没办法了。
5)有空换换你的密码:)

还有其他几点也可以做,如减低信号、关闭DHCP、MAC地址绑定,当然这些措施也只是增加难度而已。

最后提一下,蹭网是有风险的,无线信号不加密的,人家未必就是大善人或者菜鸟,而且还有人专门钓鱼的,加大信号,设置简单密码,专门等蹭网的人来,数据包一抓,等着被玩吧。

本文为镜像,原贴在此:http://www.btk4ever.com/?p=10423

posted @ 2009-04-28 09:33 生活在别处 阅读(1172) | 评论 (0)编辑 收藏

考虑把Live Space的日志转移到Wordpress 架的blog去,郁闷的是Live Space并不支持通用的导出格式,要是一条条日志复制过去的话,这工作量也实在是够吓人的。只好到网上找解决办法了,真搞不定的话,只能放弃Live Space的日志了。结果很不幸,被我找个一个Live Space Mover的工具,很华丽的搞定了动迁的工作。在此向作者Wei Wei致敬了,随便介绍推广一下。

Live Space Mover 工具的说明在这里:http://b2.broom9.com/?page_id=519

这个工具是通过Python脚本抓取live space的日志和留言,保存为wordpress支持的通用xml文件。最后将文件通过wordpress后台管理提供的导入功能,将日志迁移过去。

具体操作步骤就参照作者blog里的user guide,非常详细的。

大致过程是这样:

1.安装Python的环境,并下载Beautiful Soup的类库

2.Google Code下载最近的Live Space Mover 工具(几个python脚本)

3.按照作者的要求,对space进行设置,主要是开放访问权限和设置日期格式

4.命令行方式执行脚本,开始日志抓取(脚本参数参照user guide)

–如执行过程出现超时或者假死情况(我都碰到了…),关闭重新执行脚本即可,工具有cache文件,会从断点开始继续的

5.将生成的xml文件导入wordprss

工具目前还有一点瑕疵,下面这段话来自作者的blog,关于目前工具无法解决问题的说明,看来又是live space的怨念。

After the live space updates in Dec 2008 (live space mover version 1.7), there are some limitations for comments, including:

1. can’t get the accurate time of comments, sometimes even incorrect;

2. can’t get the email and url of comment authors.

These are both due to the ridiculous design of Live Space. If you have any idea about how to solve these 2 problems, please let me know.

本文为镜像,原贴在此:http://www.btk4ever.com/?p=10025

posted @ 2009-02-17 17:00 生活在别处 阅读(876) | 评论 (0)编辑 收藏

已部署的一个JAVA程序最近需要改成定期执行,于是就放到crontab调度,结果遇到了中文乱码问题。脚本在shell环境下直接运行没有问 题。到网上收了一下,碰到这个问题的还真不少,结论是crontab执行时不会携带用户的环境变量,缺失一些系统变量。需要在脚本里额外添加缺失的环境变 量,针对中文问题,需要声明 LANG参数

在脚本开头增加:
LANG=”zh_CN.GB18030″
export LANG

由于是中文问题,设置的编码要和系统设置的一致,具体可以到/etc/sysconfig/i18n 查看对应的环境变量

本文为镜像:原帖在此:http://www.btk4ever.com/?p=10040

posted @ 2009-02-17 16:55 生活在别处 阅读(1400) | 评论 (0)编辑 收藏

据说在oracle 10g的版本,在数据库实例正常启动open的情况下,直接通过命令类似" drop database 'dbname' "这种方式就可以删除一个数据库实例。
这里说的是oracle 9i的情况下,不依赖其他工具的情况下,手工删除一个数据库实例。
操作步骤为网上查来的,并经过我验证通过,操作之前请确保该实例已经被停止,具体步骤见下:
========================
To delete a database,
First:
Select "rm -f "||name from v$controlfile
union
select "rm -f "||name from v$datafile
union
select "rm -f "||member from v$logfile;
Second:
Clean up above output & make it executable
Third:
If installation follows OFA standard:
remove directory $ORACLE_BASE/admin/$ORACLE_SID
Fourth:
Delete archive log directory (if archive mode)
============================
 

posted @ 2008-11-11 11:49 生活在别处 阅读(1630) | 评论 (0)编辑 收藏

找一篇靠谱的教程来跟着做,是相当重要,不然就会吃药,网上文章都是抄来抄去的,不然怎么死的都不知道个。
我比较衰,找了一篇不是很靠谱的来做,结果越到了不少小问题。
关于手工建库,参照下面两篇,应该是比较靠谱的。
另外一篇比较靠谱的文章,地址如下:http://www.ixdba.net/hbcms/article/14/336.html
===============================================

Red Hat Enterprise 3 + Oracle 10g Release 2

$su – oracle

1--- 设置系统环境变量:

ORACLE_HOME=/opt/oracle/product/10.2

ORACLE_BASE=/opt/oracle

ORACLE_SID=dbtest

......

2--- 系统规划:

实例名称ORACLE_SID=dbtest

数据库名称DB_NAME=dbtest

3--- 手工创建如下目录:

/opt/oracle/admin/dbtest/cdump

/opt/oracle/admin/dbtest/bdump

/opt/oracle/admin/dbtest/udump

/opt/oracle/admin/dbtest/pfile

/opt/oracle/oradata/dbtest/

/opt/oracle/oradata/dbtest/archive

4--- 建立密码文件:

orapwd file=/opt/oracle/product/10.2/dbs/orapwd_dbtest password=superman

5---修改参数文件:

格式:/opt/oracle/product/10.2/dbs/init.ora

实例:/opt/oracle/product/10.2/dbs/initdbtest.ora

内容如下:

---------------------------------------------------

dbtest.__db_cache_size=331350016

dbtest.__java_pool_size=4194304

dbtest.__large_pool_size=8388608

dbtest.__shared_pool_size=138412032

dbtest.__streams_pool_size=0

*._kgl_large_heap_warning_threshold=8388608

*.audit_file_dest='/opt/oracle/admin/dbtest/adump'

*.background_dump_dest='/opt/oracle/admin/dbtest/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/opt/oracle/oradata/dbtest/control01.ctl','/opt/oracle/oradata/dbtest/control02.ctl','/opt/oracle/oradata/dbtest/control03.ctl'

*.core_dump_dest='/opt/oracle/admin/dbtest/cdump'

*.db_2k_cache_size=33554432

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=128

*.db_files=4000

*.db_name='dbtest'

*.db_recovery_file_dest_size=4294967296

*.db_recovery_file_dest=''

*.log_archive_dest='/opt/oracle/oradata/dbtest/archive'

*.log_checkpoints_to_alert=FALSE

*.open_cursors=300

*.parallel_execution_message_size=65535

*.parallel_max_servers=128

*.pga_aggregate_target=209715200

*.processes=150

*.recyclebin='OFF'

*.remote_login_passwordfile='EXCLUSIVE'

*.replication_dependency_tracking=FALSE

*.session_cached_cursors=100

*.sga_target=500m

*.shared_pool_size=100m

*.undo_management='AUTO'

*.undo_retention=0

*.undo_tablespace='UNDOTS'

*.user_dump_dest='/opt/oracle/admin/dbtest/udump'

*.workarea_size_policy='AUTO'

_allow_resetlogs_corruption=true

---------------------------------------------------

可将此文件复制到:/opt/oracle/admin/dbtest/pfile/init.ora

6--- 登陆oracle

> sqlplus “/ as sysdba”

7--- 启动实例:

SQL> startup nomount pfile=/opt/oracle/admin/dbtest/pfile/init.ora

8--- 创建数据库的脚本:

-----------------------------------------------------------

CREATE DATABASE dbtest

LOGFILE

GROUP 1 ('/opt/oracle/oradata/dbtest/redo01.log','/opt/oracle/oradata/dbtest/redo01_1.log') size 100m reuse,

GROUP 2 ('/opt/oracle/oradata/dbtest/redo02.log','/opt/oracle/oradata/dbtest/redo02_1.log') size 100m reuse,

GROUP 3 ('/opt/oracle/oradata/dbtest/redo03.log','/opt/oracle/oradata/dbtest/redo03_1.log') size 100m reuse

MAXLOGFILES 50

MAXLOGMEMBERS 5

MAXLOGHISTORY 200

MAXDATAFILES 500

MAXINSTANCES 5

ARCHIVELOG

CHARACTER SET UTF8

NATIONAL CHARACTER SET UTF8

DATAFILE '/opt/oracle/oradata/dbtest/system01.dbf' SIZE 1000M EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE '/opt/oracle/oradata/dbtest/sysaux01.dbf' SIZE 1000M

UNDO TABLESPACE UNDOTS DATAFILE '/opt/oracle/oradata/dbtest/undo.dbf' SIZE 500M

DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/opt/oracle/oradata/dbtest/temp.dbf' SIZE 500M

;

-----------------------------------------------------------

9--- 运行如下文件(安装下面的先后顺序)

/opt/oracle/product/10.2/rdbms/admin/catalog.sql

/opt/oracle/product/10.2/rdbms/admin/catproc.sql

10--- 创建相关表空间与用户:

CREATE TABLESPACE USERS DATAFILE '/opt/oracle/oradata/dbtest/users01.dbf' SIZE 1000M;---数据表空间

CREATE TABLESPACE INDX DATAFILE '/opt/oracle/oradata/dbtest/indx01.dbf' SIZE 1000M;---在建立索引的时候把此表空间作为存储空间,即单独用一个表空间来存储索引,这是个好习惯,虽然我们没有办法建立一个默认的索引表空间!

CREATE USER test IDENTIFIED BY test DEFAULT TABLESPACE users ;---测试用户

GRANT CONNECT,RESOURCE TO test;

11--- 一点注意的地方:

1>.相关文件的目录要设置正确,有数据文件,控制文件,参数文件等,还有就是它们的位置要与控制文件中指定的要一致。

2>.init.ora中的undo_tablespace的名字必须要与create database的相同,包括大小写等注意。否则很麻烦,报的错误你都不知道是不是在忽悠你!总之,一句话,控制文件中的内容要和init文件中的内容以及要和实际文件的实际情况要相同。

3>.分析数据库出错可以到/opt/oracle/admin/dbtest/bdump/alert_dbtest.log中查找。

===============================================

 补充:

   我碰到的一个问题,在普通用户sqlplus登录时,碰到下面的告警提示  

    Error accessing PRODUCT_USER_PROFILE
Warning: Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM

 请按照提示,以SYSTEM用户登入SQL*Plus,然后执行PUPBLD.SQL,这个文件通常在$ORACLE_HOME/sqlplus/admin目录中。
SQL> @$ORACLE_HOME/sqlplus/admin/pupbld.sql

posted @ 2008-11-11 11:47 生活在别处 阅读(664) | 评论 (0)编辑 收藏

切割合并文件在linux下用split和cat就可以完成。下面举些实例进行说明。
1.文件切割
文件切割模式分为两种:
     文本文件
     二进制模式。
1.1文本模式
文本模式只适用于文本文件,用这种模式切割后的每个文件都是可读的。文本模式又分为两种:
     按最大文件大小切割;
     按文本行数切割。
1.1.1最大文件大小切割
split -C 5k duanxin split
将文本文件duanxin按每块最大5k的大小进行切割,不打碎行。输出文件名类似splitaa, splitab……
1.1.2 按文本行数切割
split -l 100 duanxin split
每个分块100行,不考虑大小。日志分析时应该有用。
1.2 二进制模式
split -b 5k duanxin split
每个分块(当然,最后一个不保证)大小都是5k,基本不可读。任何类型文件都可以用这种切割模式。
2.文件合并
cat split* >newduanxin
不管用什么方式切割,合并方法不变。
3.其它
split可以用-a选项指定输出文件名的长度。如
split -l 100 -a 3 duanxin split
则输出文件出类似于splitaaa,splitaab。不指定时默认为2。
用-b或-C指定分块大小时,可用的单位有,b for 512bytes, k for 1Kbytes, m for 1 Megbytes.

参考资料
man split
-----------------------------------------------------------
找东西的时候发现网上都是讲这个的,就随手贴一下,据说分割还可以用DD命令
我的需求用split好像是搞不定的,希望从文本的指定行数进行分割,最终找到一个方法,见下:
sed -n '1001,2000p' ur-file >newfile
随后就发现,sed超级有用,有兴趣的自己了解吧,附送一个介绍sed用法的文章:

posted @ 2008-11-11 11:25 生活在别处 阅读(3898) | 评论 (0)编辑 收藏

 

今天晚上上网,打开网页都很困难,查了查发现开着BT,关掉以后就正常。
这种鸟事情,以前也碰到过,应该是TCP/IP并发连接数的问题,一查果然又被重置到了10。
昨天是10号,是微软每月发布安全补丁的日子,记得是有装补丁个,估计就是那个补丁搞得鬼了。
各位打了补丁的同志,去修改下系统连接数吧!

posted @ 2008-07-11 21:46 生活在别处 阅读(286) | 评论 (0)编辑 收藏


    今天试图在gtalk上传个文件,捣腾半天也耍不起来,最后惊奇的发现,原来中文版的gtalk是被阉割过的,少掉了不少功能。话说,google.cn也就是谷歌,也是被阉割过的,在这个和谐的国度里,就算你输入google.com,你也去不了想去的地方,咱这里有伟大的GFW和DNS挟持。百度么,天生就阉掉的,谷歌至少还有行字“据当地法律法规和政策,部分搜索结果未予显示。”让你知道这玩意是太监,百度么看上去是个女人。
    我并不是google饭,但是google有些服务我倒一直在用。gmail、gtalk、reader、bookmark、picasa,还有那个工具条,有些东西用起来还挺爽的。但是你一旦知道,你常用的东西,有些是被阉割过的,总会有点疙瘩个。当然,有些阉割不能怪罪我们伟大的和谐国,比如把gmail语言换成英文,就会多出选项个。
    最后顺带提一下电影的阉割版,内地的剪刀手功力是相当的深厚,不仅可以把那玩意割掉,还不经意留下几个彩蛋,提升一下片子的深度,赞一记个。
    最后的最后,问候一记GFW,上个月几个网站又上不去了,连sourceforge也走掉了,罪过罪过!

posted @ 2008-07-09 16:33 生活在别处 阅读(338) | 评论 (0)编辑 收藏

原帖地址在此:http://www.geektalks.cn/article.php?story=20080602125246318


telnet发电子邮件的目的很多,我们暂且假设一番:如果你不幸落入恐怖份子之手,他们只有一台瘦得不行的电脑,总之除了telnet程序啥都没有,在恐怖份子去吃羊肉泡馍而疏于照看你的大好时机,你如何发电子邮件通知外界呢?



当然,首先你要有一个支持中继转发的SMTP的帐号,幸运的是,现在即使免费的邮箱也会提供这个。

假设你有一个geekx@126.com的邮箱,密码是xgeek,则会话如下:(红色的话是你要说的

 $ telnet smtp.126.com 25 # 25 为标准SMTP端口

Trying 220.181.15.111...
Connected to smtp.126.com (220.181.15.111).
Escape character is '^]'.
220 126.com Anti-spam GT for Coremail System (126com[071018])

helo 126.com # 打个招呼先

250 OK
auth login # SMTP需要认证
334 dXNlcm5hbWU6 # 这是个base64编码的明文,翻译过来是“username:"
Z2Vla3g= # base64编码的明文,翻译过来是“geekx"
334 UGFzc3dvcmQ6 # 这是个base64编码的明文,翻译过来是“password:"
eGdlZWs= # base64编码的明文,翻译过来是“xgeek"
235 Authentication successful
mail from:<geekx@126.com>
250 Mail OK
rcpt to:<superman@savetheworld.com> # 发给XXX
250 Mail OK
data #开始写信
354 End data with <CR><LF>.<CR><LF>

subject:Help!!
                                  #这里空一行再写正文
The world is under attack,

Terrorists are eating yang—rou—pao—mo...
                                  #写完信后空一行
.                  #写一个句点表示信的结束

250 Mail OK queued as smtp1,C8mowLC7fAy8GydISdAtCw==.834S2 1210522683
quit
221 Bye #SMTP小姐跟你说再见
Connection closed by foreign host.

那么,如何知道你的用户名和密码的base64编码呢?当然是预先要记在脑子里,如果实在记不下的话,用uuencode翻译一下吧:

 $ echo -n 'geekx' | uuencode -m xxx # -m 指定 base64编码

begin-base64 664 xxx
Z2Vla3g=
====

好了,在恐怖份子吃完午饭回来之前,你已经成功地把信发给超人啦。

posted @ 2008-06-12 10:28 生活在别处 阅读(504) | 评论 (0)编辑 收藏

history|grep halt
cat .bash_history|grep halt

不同的系统history文件是不一样的,
一般是$HOME目录下

查找find / -name "*history"
主要是root及oracle下的

Redhat的root
/root/.bash_history

/var/log下呀
查看wtmp文件
who wtmp.n

posted @ 2008-04-24 14:26 生活在别处 阅读(134) | 评论 (0)编辑 收藏

一、一些重要的概念(关于Linux系统的一些重要特性)
    由于我们用Windows太多,我就感觉我自己除了会点鼠标之外对于Windows系统没有太多的了解,甚至没有Linux多.
    1、文件系统结构
    2、文件类型
       一切都是文件,包括普通文件、设备文件、目录等等
    3、运行级别
       Linux有6个运行级别
    4、管道
    5、重定向
    6、交换分区
    7、根目录下各个目录的意义
二、文本编辑
    1、vi的用法
三、常用的命令
    1、基本
    包括:cd   clear  alias  unalias  date  ls  pwd  man exit  echo
    2、文件管理
    包括:cat  more  rm  head  tail  grep  cp  mv  wc find
    3、目录管理
    包括:mkdir  rmdir  rm  find  file  du  df
    4、权限命令
       如何设定我们用户和文件以及系统的权限。
       包括:chmod  chown  chgrp umask
    5、系统命令
       包括:mount  umount  uname  free  env
             uptime  setup  xinetd  top  kill  关机命令
    5、常用的网络命令
       关于网络管理以及使用的一些命令
四、安装与卸载(限于Redhat以及相似系统)
     1、RPM命令
     2、Oracle9i安装卸载以及基本管理
五、相关工具的命令
    1、FTP
    2、Telnet
六、常见的系统设置
    1、运行级别
    2、共享(NFS)
    3、修改Swap
    4、设定系统环境变量(JDK安装)
    5、系统备份(打包、压缩以及解压缩)
    6、常见的标志(权限:r w x s t 标志:l b c d)
七、Shell编程
    1、Shell变量和参数
    2、环境变量
    3、位置参数
    4、运算符
    5、常用语句
    6、函数
    7、控制
    8、运行方式
八、Linux安装
九、Crontab简单应用

以前的存档,源未知

posted @ 2008-02-21 14:24 生活在别处 阅读(291) | 评论 (0)编辑 收藏


1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off

2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT

posted @ 2008-02-21 14:22 生活在别处 阅读(845) | 评论 (0)编辑 收藏

碰到了问题,找到了解决,存档一下
关键字: jdk 字符集 linux
原因:首先,JFreeChart和中文验证码的乱码问题和jsp的编码无关,是由于Java虚拟机找不到字体文件造成的,所以同类的Swing或者AWT的中文乱码问题也适用

环境:
JDK1.5(JDK版本很重要,如果是1.4.2版本的话,JRE目录下的字体配置文件不大一样)
RedHat4.0
Tomcat5.0

解决方法:
1.确认%JavaHome%/jre/lib/fonts目录下存在zysong.ttf
2.在%JavaHome%/jre/lib/fonts目录下执行"ttmkfdir -o fonts.dir"命令,重新生成fonts.dir文件
3.确认/usr/share/fonts/zh_CN/TrueType目录存在,如果不存在则mkdir创建
4.确认/usr/share/fonts/zh_CN/TrueType目录下存在zysong.ttf
5.在%JavaHome%/jre/lib目录下,执行 cp fontconfig.RedHat.3.properties.src fontconfig.properties
6.重新启动tomcat,大功告成!

需要下载zysong.ttf

posted @ 2008-02-21 14:19 生活在别处 阅读(689) | 评论 (0)编辑 收藏

  • Ctrl + Shift + T:打开类型:显示"打开类型"对话框来在编辑器中打开类型。"打开类型"选择对话框显示工作空间中存在的所有类型如类、接口等
  • Ctrl + Shift + R:打开资源:打开"打开资源"对话框以打开工作空间中的任何资源。在Package Explorer中不必浏览文件便可快速打开任意一个文件。使用这个快捷键可以打开一个对话框,在里面输入你想查找的文件或者通配符既可。
  • Ctrl + O: 快速大纲:打开当前所选类型的轻量级大纲图。在一个文件中直接打开一个成员变量(如字段、方法),尤其是有许多类似的方法名的时候这个快捷键将变得非常有用。
  • Ctrl + L, 输入行数: 转至行:打开一个对话框,允许您输入编辑器应该跳至的行号。仅适用于编辑器。输入行号,可以快速跳转到源文件中的第N行,
  • Ctrl + Q:上一个编辑位置:显示上一个编辑操作的发生位置,返回到最近的修改位置。即使你查看不同的文件时,你也可以使用该快捷键来找到你最近对文件的修改位置。尤其是在文件比较大时,显得更为有用。
  • Ctrl + T: 快速类型层次结构:打开当前选择的类型的轻量级层次结构查看器,可以实现快速转到一个supertype或者subtype.
  • Ctrl + E:快速跳转到另外一个编辑器。注意Ctrl + F6也可以实现这个功能,在使用的时候可以注意一下他们的异同。
  • Ctrl + ./Ctrl +,:在一个文件中快速定位到一个问题(如错误、警告等)
  • Alt + and Alt + :来回跳转至你所查阅的文件
  • F3: 快速转到一个类型声明。同时也可以按住ctrl健并点击该超链接变量或者类或者你想查看的任何声明都可以。

  • 更多
    ctrl+space
    alt+上下箭头
    ctrl+alt+上下箭头
    ctrl|+/
    ctrl+d

    posted @ 2007-11-02 17:01 生活在别处 阅读(296) | 评论 (0)编辑 收藏

    以前碰到过,要tomcat开机启动的问题,后来用root用户启,但是风险很大
    这次碰巧看到了解决办法,赶紧收了下来
    原帖名字:ubuntu7.04 安装tomcat6
    来源:http://tristonxu.spaces.live.com/blog/cns!6C727D52D9679258!382.entry

    终于搞定了,如果仅仅安装tomcat,那是很容易的,问题是如何让他随ubuntu启动运行,这才是问题的关键!现在终于搞定了,唉...俺还是比较笨,居然用了两天的时间才解决,而且问题解决之后,才发现之前原来一直是在成功的门前徘徊。想想,人生何尝不是这样,有多少人用一辈子的时光在成功的门前晃荡...
    呵呵~还是赶紧把它记录下来吧,年纪大了阿...

    一、安装之前
    1、下载tomcat
    最新的tomcat是apache-tomcat-6.0.13.tar.gz,下载地址是:http://tomcat.apache.org/download-60.cgi

    安装之前要先安张jdk,最好选择JDK5.0以上版本吧。

    二、安装ing
    1、解压apache-tomcat-6.0.13.tar.gz到安装目录下。
    根据俺的实际情况,我把tmcat安装在/opt目录下
    shell>sudo tar zxvf apache-tomcat-6.0.13.tar.gz /opt
    解压之后,会在/opt下生成一个apache-tomcat-6.0.13文件夹

    2、在/usr/local下建立一个软链接
    shell>cd /usr/local
    shell>sudo ln -s /opt/apache-tomcat-6.0.13 tomcat6

    3、测试安装
    运行启动脚本,测试tomcat是否安装成功
    shell>sudo /usr/local/tomcat6/bin/startup.sh
    然后打开FF,用http://localhost:8080 访问tomcat。一般来讲,会成功的。呵呵~

    三、让tomcat开机启动
    根据apache网站的Document说明(这个说明也写得很差,呜呜!),要是tomcat作为一个守护程序运行,需要用到jsvc工具。(这个工具是啥玩意,俺也不懂,懒得研究,居然tomcat自带,那就最好了)
    1、准备工作
    Tomcat安装后,如果让Tomcat用root身份启动,Tomcat将会拥用root权限,这将可能给系统带来安全隐患,黑客可能利用这个来攻击我们的系统,所以我们得添加一个独立运行此服务的用户,用下面的命令:

    shell>sudo useradd -d /usr/local/tomcat6 -s /usr/sbin/nologin tomcat
    以上命令为系统增加一个tomcat用户,并且设置为nologin

    设置用户tomcat5对tomcat的权限
    shell>sudo chown -R tomcat:tomcat /usr/local/tomcat6
    shell> sudo chown -R tomcat:tomcat /opt/apache-tomcat-6.0.13

    2、安装jsvc
    shell>cd /usr/local/tomcat6/bin
    shell>sudo tar xvfz jsvc.tar.gz
    shell>cd jsvc-src
    shell>sudo sh support/buildconf.sh
    如果成功,命令终端打印出下面report:
    support/buildconf.sh: configure script generated successfully

    [注:在此之前,我的系统安装了autoconf,可以使用shell>sudo apt-get install autoconf 进行安装]
    为configure添加执行权限
    shell>sudo chmod 755 configure
    shell>sudo ./configure --with-java=/usr/lib/j2sdk1.6-sun (这是俺系统的JDK安装的位置)
    shell>sudo make

    okay!如果没有出现错误的话,jsvc就安装成功了!

    3、设置启动脚本
    接下来,就是把jsvc中带有的一个tomcat5.sh的一个模板复制到/etc/init.d目录下,然后根据自己的情况,进行修改。
    shell>sudo cp /usr/local/tomcat6/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
    上面的命令是移动文件tomcat5.sh到/etc/init.d/里面并改名为tomcat

    修改/etc/init.d/tomcat文件:
    shell>cd /etc/init.d
    shell>sudo gedit tomcat

    俺的tomcat文件修改完如下:

    #!/bin/sh
    ##############################################################################
    #
    # Copyright 2004 The Apache Software Foundation.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    # http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    ##############################################################################
    #
    # Small shell script to show how to start/stop Tomcat using jsvc
    # If you want to have Tomcat running on port 80 please modify the server.xml
    # file:
    #
    # <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
    # <Connector className="org.apache.catalina.connector.http.HttpConnector"
    # port="80" minProcessors="5" maxProcessors="75"
    # enableLookups="true" redirectPort="8443"
    # acceptCount="10" debug="0" connectionTimeout="60000"/>
    #
    # That is for Tomcat-5.0.x (Apache Tomcat/5.0)
    #
    # Adapt the following lines to your configuration
    JAVA_HOME=/usr/lib/j2sdk1.6-sun
    CATALINA_HOME=/usr/local/tomcat6
    DAEMON_HOME=/usr/local/tomcat6/bin
    TOMCAT_USER=tomcat

    # for multi instances adapt those lines.
    TMP_DIR=/var/tmp
    PID_FILE=/var/run/jsvc.pid
    CATALINA_BASE=/usr/local/tomcat6

    CATALINA_OPTS=
    CLASSPATH=\
    $JAVA_HOME/lib/tools.jar:\
    $CATALINA_HOME/bin/commons-daemon.jar:\
    $CATALINA_HOME/bin/bootstrap.jar

    case "$1" in
    start)
    #
    # Start Tomcat
    #
    $DAEMON_HOME/jsvc-src/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$TMP_DIR \
    -wait 10 \
    -pidfile $PID_FILE \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile '&1' \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
    exit $?
    ;;

    stop)
    #
    # Stop Tomcat
    #
    $DAEMON_HOME/src/native/unix/jsvc \
    -stop \
    -pidfile $PID_FILE \
    org.apache.catalina.startup.Bootstrap
    exit $?
    ;;

    *)
    echo "Usage tomcat.sh start/stop"
    exit 1;;
    esac

    [注:需要修改的地方,我都用红色标出来]
    如果在其他linux系统,这样就okay了,但是在ubuntu中,还需要进行一步,就是把在rc2.d中设置一个软链接

    在/etc/rc2.d目录下建立S16apache软联接到/etc/init.d/tomcat
    shell>cd /etc/rc2.d
    shell>ln -s /etc/init.d/apache2 S16apache
    [注:rc2.d目录下的文件要以S后就数字开头,表示启动的顺序。而rc2.d中的2,表示这个目录下文件在开机时的运行级别(runlevel)为2]

    四、结束
    重新启动系统
    shell>sudo reboot -n
    启动后,就可以在FF中直接输入http://localhost:8080。如果成功,就可以看见一直可爱的kitten拉~~~



    posted @ 2007-11-02 16:40 生活在别处 阅读(1635) | 评论 (0)编辑 收藏

            项目开发中,碰到的问题,原先设计的字段,定为VARCHAR2类型,最大长度为4000 bytes,实际的应用中,内容往往超过两千汉字,没办法正常插入,因此改为clob大字段类型。
            采用Hibernate,实现Clob和Blob对象的存取, 网上有很多解决方案,但是比较老,实际运用中,可能会碰到各种问题。下面是我采用的方案,比较简单,希望对碰到这个问题的人,有帮助。
            目前oracle的driver已经支持JDBC 直接操作 CLOB了,但是使用旧的driver的时候,会遇到各种问题,如2k字符的问题。
             最新的oracle10g的driver,已经解决了这些问题。我项目用ojdbc14-10.2.0.3.0.jar 连接oracle9i数据库,可以正常读写CLOB。
             Hibernate存取Clob和Blob对象,将 clob用string方式处理。
             Hibernate Annotations方式,只要映射成Lob类型就可以,对该字段的读写,就是一般的操作方式。

            @Lob
        public String getTxt() {
            
    return txt;
        }

            好了,就是这么简单!

    posted @ 2007-11-02 16:17 生活在别处 阅读(3559) | 评论 (3)编辑 收藏