<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    搬磚頭

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

    2007年10月10日

    RedHat Linux操作系統(tǒng)修改時(shí)區(qū)的方法
    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


    針對(duì)中國(guó)時(shí)區(qū),修改操作如下
    1.   修改文件 /etc/sysconfig/clock內(nèi)容:
    ZONE=Asia/Shanghai
    UTC=false
    ARC=false
    2.     rm /etc/localtime
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    還有其他方法修改時(shí)區(qū),不過(guò)是基于圖形化界面的命令: tzselect 、 timeconfig
    本文為鏡像,原貼在此:http://www.btk4ever.com/?p=10443

    posted @ 2009-04-28 09:35 生活在別處 閱讀(2163) | 評(píng)論 (0)編輯 收藏

    朋友搬到個(gè)新地方,沒(méi)有寬帶了,但是能收到些加密的無(wú)線(xiàn)網(wǎng)絡(luò),挺想蹭網(wǎng)的,本人由于是所謂“挨踢”人士,自當(dāng)義不容辭出手相助。

    我也只是想了解下WEP破解這事,目的也只是提醒大家一下要加強(qiáng)無(wú)線(xiàn)網(wǎng)絡(luò)安全,千萬(wàn)不要干啥非法的事情,當(dāng)然有本事的話(huà),就把屁股擦干凈。

    其實(shí)前兩年我就知道WEP加密是極不安全的,而且也出于好奇做過(guò)密鑰破解的嘗試,但是由于破解軟件特別挑網(wǎng)卡,結(jié)果自然就是半途而廢了。這次到網(wǎng)上 再度查了點(diǎn)相關(guān)資料,發(fā)現(xiàn)這事情已然變得相當(dāng)?shù)暮?jiǎn)單了,基本上只需要 BackTrack3 就可以搞定了。Backtrack 是一個(gè)黑客操作系統(tǒng),其實(shí)也算是一個(gè)linux的黑客版,主要是安裝了很多實(shí)用的軟件和黑客工具,偏向于安全侵入方面的。

    我是下載了一個(gè)BackTrack3 的usb版本,并且下了最新的掃描工具spoonwep2,系統(tǒng)自帶的是spoonwep也能用,但是據(jù)說(shuō)新版更好使,更方面。整個(gè)過(guò)程挺簡(jiǎn)單的,機(jī)器設(shè) 置成usb可引導(dǎo)啟動(dòng),然后啟動(dòng)進(jìn)入usb上的BackTrack系統(tǒng),都是圖形界面的,打開(kāi)spoonwep2工具,掃描周?chē)臒o(wú)線(xiàn)信號(hào),選擇信號(hào)強(qiáng) 的,有客戶(hù)端連接,并且DATA包比較多的信號(hào)來(lái)破解吧,這樣應(yīng)該可以快點(diǎn),據(jù)說(shuō)XX分鐘就能破解了。沒(méi)有客戶(hù)端連接的無(wú)線(xiàn)信號(hào),據(jù)說(shuō)有些AP也是同樣可 以破解的,無(wú)非是攻擊方式的變化以及花費(fèi)的時(shí)間更長(zhǎng)而已。

    我的經(jīng)歷是,晚上10點(diǎn)多開(kāi)始破一個(gè)無(wú)線(xiàn)信號(hào),等了一個(gè)多小時(shí),進(jìn)度開(kāi)始變緩慢,因?yàn)楸緛?lái)連著的兩個(gè)客戶(hù)端下線(xiàn)了,估計(jì)困搞去了…,很無(wú)奈,我也不 能傻等,只得也睡覺(jué)去了。第二天早上起來(lái),1o點(diǎn)多的時(shí)候,才抓滿(mǎn)了要求的數(shù)據(jù)包,整個(gè)密鑰破解過(guò)程倒是瞬間完成,然后我看到的密碼是”1111111″ ,囧 rz,看來(lái)設(shè)無(wú)線(xiàn)密碼的人都很懶。這個(gè)過(guò)程還是挺漫長(zhǎng)的,可能是沒(méi)選擇對(duì)正確的攻擊方式,導(dǎo)致數(shù)據(jù)包獲取的過(guò)程很長(zhǎng)。假如有客戶(hù)端在BT下載,估計(jì)快很 多,要是只是qq聊天,那就要耗很久了。不過(guò)整個(gè)過(guò)程,已經(jīng)相當(dāng)?shù)纳倒匣恕?

    這事也不能說(shuō)的太細(xì),想了解詳細(xì)的人,網(wǎng)上查去吧,順便提供一個(gè)教程

    至于如何加強(qiáng)無(wú)線(xiàn)安全,有這么幾點(diǎn)(網(wǎng)上找的)

    如果你需要你的AP很難被破解,建議:
    1)用WPA 加密方式,并且使用不可能被字典猜到的密碼,目前還是基本可靠的
    2)如果只支持 WEP加密,那么,盡量考慮用隱藏 SSID的方式,這樣可以增加破解難度
    3)如果只支持 WEP加密,那么,可以考慮使用中文名字作為SSID,這樣基本問(wèn)題不大。
    4)一般破解時(shí)候,大家都會(huì)選擇常用的頻道,例如 6頻道, 第三步顯示頻道的時(shí)候,你的AP也會(huì)被列出來(lái),那么第一個(gè)目標(biāo)失敗的時(shí)候,黑客往往會(huì)選擇第二個(gè)容易下手的目標(biāo), 但是如果你選擇了8、 4、這些奇怪的頻道,那么狠客往往懶得重新進(jìn)入該頻道的監(jiān)控模式,你就可以逃過(guò)一劫。不過(guò), 某些廉價(jià)AP,往往對(duì)6 頻道做了優(yōu)化,這個(gè)頻道信號(hào)最強(qiáng)….這就沒(méi)辦法了。
    5)有空換換你的密碼:)

    還有其他幾點(diǎn)也可以做,如減低信號(hào)、關(guān)閉DHCP、MAC地址綁定,當(dāng)然這些措施也只是增加難度而已。

    最后提一下,蹭網(wǎng)是有風(fēng)險(xiǎn)的,無(wú)線(xiàn)信號(hào)不加密的,人家未必就是大善人或者菜鳥(niǎo),而且還有人專(zhuān)門(mén)釣魚(yú)的,加大信號(hào),設(shè)置簡(jiǎn)單密碼,專(zhuān)門(mén)等蹭網(wǎng)的人來(lái),數(shù)據(jù)包一抓,等著被玩吧。

    本文為鏡像,原貼在此:http://www.btk4ever.com/?p=10423

    posted @ 2009-04-28 09:33 生活在別處 閱讀(1190) | 評(píng)論 (0)編輯 收藏

    考慮把Live Space的日志轉(zhuǎn)移到Wordpress 架的blog去,郁悶的是Live Space并不支持通用的導(dǎo)出格式,要是一條條日志復(fù)制過(guò)去的話(huà),這工作量也實(shí)在是夠嚇人的。只好到網(wǎng)上找解決辦法了,真搞不定的話(huà),只能放棄Live Space的日志了。結(jié)果很不幸,被我找個(gè)一個(gè)Live Space Mover的工具,很華麗的搞定了動(dòng)遷的工作。在此向作者Wei Wei致敬了,隨便介紹推廣一下。

    Live Space Mover 工具的說(shuō)明在這里:http://b2.broom9.com/?page_id=519

    這個(gè)工具是通過(guò)Python腳本抓取live space的日志和留言,保存為wordpress支持的通用xml文件。最后將文件通過(guò)wordpress后臺(tái)管理提供的導(dǎo)入功能,將日志遷移過(guò)去。

    具體操作步驟就參照作者blog里的user guide,非常詳細(xì)的。

    大致過(guò)程是這樣:

    1.安裝Python的環(huán)境,并下載Beautiful Soup的類(lèi)庫(kù)

    2.Google Code下載最近的Live Space Mover 工具(幾個(gè)python腳本)

    3.按照作者的要求,對(duì)space進(jìn)行設(shè)置,主要是開(kāi)放訪(fǎng)問(wèn)權(quán)限和設(shè)置日期格式

    4.命令行方式執(zhí)行腳本,開(kāi)始日志抓取(腳本參數(shù)參照user guide)

    –如執(zhí)行過(guò)程出現(xiàn)超時(shí)或者假死情況(我都碰到了…),關(guān)閉重新執(zhí)行腳本即可,工具有cache文件,會(huì)從斷點(diǎn)開(kāi)始繼續(xù)的

    5.將生成的xml文件導(dǎo)入wordprss

    工具目前還有一點(diǎn)瑕疵,下面這段話(huà)來(lái)自作者的blog,關(guān)于目前工具無(wú)法解決問(wèn)題的說(shuō)明,看來(lái)又是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 生活在別處 閱讀(894) | 評(píng)論 (0)編輯 收藏

    已部署的一個(gè)JAVA程序最近需要改成定期執(zhí)行,于是就放到crontab調(diào)度,結(jié)果遇到了中文亂碼問(wèn)題。腳本在shell環(huán)境下直接運(yùn)行沒(méi)有問(wèn) 題。到網(wǎng)上收了一下,碰到這個(gè)問(wèn)題的還真不少,結(jié)論是crontab執(zhí)行時(shí)不會(huì)攜帶用戶(hù)的環(huán)境變量,缺失一些系統(tǒng)變量。需要在腳本里額外添加缺失的環(huán)境變 量,針對(duì)中文問(wèn)題,需要聲明 LANG參數(shù)

    在腳本開(kāi)頭增加:
    LANG=”zh_CN.GB18030″
    export LANG

    由于是中文問(wèn)題,設(shè)置的編碼要和系統(tǒng)設(shè)置的一致,具體可以到/etc/sysconfig/i18n 查看對(duì)應(yīng)的環(huán)境變量

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

    posted @ 2009-02-17 16:55 生活在別處 閱讀(1418) | 評(píng)論 (0)編輯 收藏

    據(jù)說(shuō)在oracle 10g的版本,在數(shù)據(jù)庫(kù)實(shí)例正常啟動(dòng)open的情況下,直接通過(guò)命令類(lèi)似" drop database 'dbname' "這種方式就可以刪除一個(gè)數(shù)據(jù)庫(kù)實(shí)例。
    這里說(shuō)的是oracle 9i的情況下,不依賴(lài)其他工具的情況下,手工刪除一個(gè)數(shù)據(jù)庫(kù)實(shí)例。
    操作步驟為網(wǎng)上查來(lái)的,并經(jīng)過(guò)我驗(yàn)證通過(guò),操作之前請(qǐng)確保該實(shí)例已經(jīng)被停止,具體步驟見(jiàn)下:
    ========================
    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 生活在別處 閱讀(1646) | 評(píng)論 (0)編輯 收藏

    找一篇靠譜的教程來(lái)跟著做,是相當(dāng)重要,不然就會(huì)吃藥,網(wǎng)上文章都是抄來(lái)抄去的,不然怎么死的都不知道個(gè)。
    我比較衰,找了一篇不是很靠譜的來(lái)做,結(jié)果越到了不少小問(wèn)題。
    關(guān)于手工建庫(kù),參照下面兩篇,應(yīng)該是比較靠譜的。
    另外一篇比較靠譜的文章,地址如下:http://www.ixdba.net/hbcms/article/14/336.html
    ===============================================

    Red Hat Enterprise 3 + Oracle 10g Release 2

    $su – oracle

    1--- 設(shè)置系統(tǒng)環(huán)境變量:

    ORACLE_HOME=/opt/oracle/product/10.2

    ORACLE_BASE=/opt/oracle

    ORACLE_SID=dbtest

    ......

    2--- 系統(tǒng)規(guī)劃:

    實(shí)例名稱(chēng)ORACLE_SID=dbtest

    數(shù)據(jù)庫(kù)名稱(chēng)DB_NAME=dbtest

    3--- 手工創(chuàng)建如下目錄:

    /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---修改參數(shù)文件:

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

    實(shí)例:/opt/oracle/product/10.2/dbs/initdbtest.ora

    內(nèi)容如下:

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

    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

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

    可將此文件復(fù)制到:/opt/oracle/admin/dbtest/pfile/init.ora

    6--- 登陸oracle

    > sqlplus “/ as sysdba”

    7--- 啟動(dòng)實(shí)例:

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

    8--- 創(chuàng)建數(shù)據(jù)庫(kù)的腳本:

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

    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--- 運(yùn)行如下文件(安裝下面的先后順序)

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

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

    10--- 創(chuàng)建相關(guān)表空間與用戶(hù):

    CREATE TABLESPACE USERS DATAFILE '/opt/oracle/oradata/dbtest/users01.dbf' SIZE 1000M;---數(shù)據(jù)表空間

    CREATE TABLESPACE INDX DATAFILE '/opt/oracle/oradata/dbtest/indx01.dbf' SIZE 1000M;---在建立索引的時(shí)候把此表空間作為存儲(chǔ)空間,即單獨(dú)用一個(gè)表空間來(lái)存儲(chǔ)索引,這是個(gè)好習(xí)慣,雖然我們沒(méi)有辦法建立一個(gè)默認(rèn)的索引表空間!

    CREATE USER test IDENTIFIED BY test DEFAULT TABLESPACE users ;---測(cè)試用戶(hù)

    GRANT CONNECT,RESOURCE TO test;

    11--- 一點(diǎn)注意的地方:

    1>.相關(guān)文件的目錄要設(shè)置正確,有數(shù)據(jù)文件,控制文件,參數(shù)文件等,還有就是它們的位置要與控制文件中指定的要一致。

    2>.init.ora中的undo_tablespace的名字必須要與create database的相同,包括大小寫(xiě)等注意。否則很麻煩,報(bào)的錯(cuò)誤你都不知道是不是在忽悠你!總之,一句話(huà),控制文件中的內(nèi)容要和init文件中的內(nèi)容以及要和實(shí)際文件的實(shí)際情況要相同。

    3>.分析數(shù)據(jù)庫(kù)出錯(cuò)可以到/opt/oracle/admin/dbtest/bdump/alert_dbtest.log中查找。

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

     補(bǔ)充:

       我碰到的一個(gè)問(wèn)題,在普通用戶(hù)sqlplus登錄時(shí),碰到下面的告警提示  

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

     請(qǐng)按照提示,以SYSTEM用戶(hù)登入SQL*Plus,然后執(zhí)行PUPBLD.SQL,這個(gè)文件通常在$ORACLE_HOME/sqlplus/admin目錄中。
    SQL> @$ORACLE_HOME/sqlplus/admin/pupbld.sql

    posted @ 2008-11-11 11:47 生活在別處 閱讀(682) | 評(píng)論 (0)編輯 收藏

    切割合并文件在linux下用split和cat就可以完成。下面舉些實(shí)例進(jìn)行說(shuō)明。
    1.文件切割
    文件切割模式分為兩種:
         文本文件
         二進(jìn)制模式。
    1.1文本模式
    文本模式只適用于文本文件,用這種模式切割后的每個(gè)文件都是可讀的。文本模式又分為兩種:
         按最大文件大小切割;
         按文本行數(shù)切割。
    1.1.1最大文件大小切割
    split -C 5k duanxin split
    將文本文件duanxin按每塊最大5k的大小進(jìn)行切割,不打碎行。輸出文件名類(lèi)似splitaa, splitab……
    1.1.2 按文本行數(shù)切割
    split -l 100 duanxin split
    每個(gè)分塊100行,不考慮大小。日志分析時(shí)應(yīng)該有用。
    1.2 二進(jìn)制模式
    split -b 5k duanxin split
    每個(gè)分塊(當(dāng)然,最后一個(gè)不保證)大小都是5k,基本不可讀。任何類(lèi)型文件都可以用這種切割模式。
    2.文件合并
    cat split* >newduanxin
    不管用什么方式切割,合并方法不變。
    3.其它
    split可以用-a選項(xiàng)指定輸出文件名的長(zhǎng)度。如
    split -l 100 -a 3 duanxin split
    則輸出文件出類(lèi)似于splitaaa,splitaab。不指定時(shí)默認(rèn)為2。
    用-b或-C指定分塊大小時(shí),可用的單位有,b for 512bytes, k for 1Kbytes, m for 1 Megbytes.

    參考資料
    man split
    -----------------------------------------------------------
    找東西的時(shí)候發(fā)現(xiàn)網(wǎng)上都是講這個(gè)的,就隨手貼一下,據(jù)說(shuō)分割還可以用DD命令
    我的需求用split好像是搞不定的,希望從文本的指定行數(shù)進(jìn)行分割,最終找到一個(gè)方法,見(jiàn)下:
    sed -n '1001,2000p' ur-file >newfile
    隨后就發(fā)現(xiàn),sed超級(jí)有用,有興趣的自己了解吧,附送一個(gè)介紹sed用法的文章:

    posted @ 2008-11-11 11:25 生活在別處 閱讀(3914) | 評(píng)論 (0)編輯 收藏

     

    今天晚上上網(wǎng),打開(kāi)網(wǎng)頁(yè)都很困難,查了查發(fā)現(xiàn)開(kāi)著B(niǎo)T,關(guān)掉以后就正常。
    這種鳥(niǎo)事情,以前也碰到過(guò),應(yīng)該是TCP/IP并發(fā)連接數(shù)的問(wèn)題,一查果然又被重置到了10。
    昨天是10號(hào),是微軟每月發(fā)布安全補(bǔ)丁的日子,記得是有裝補(bǔ)丁個(gè),估計(jì)就是那個(gè)補(bǔ)丁搞得鬼了。
    各位打了補(bǔ)丁的同志,去修改下系統(tǒng)連接數(shù)吧!

    posted @ 2008-07-11 21:46 生活在別處 閱讀(300) | 評(píng)論 (0)編輯 收藏


        今天試圖在gtalk上傳個(gè)文件,搗騰半天也耍不起來(lái),最后驚奇的發(fā)現(xiàn),原來(lái)中文版的gtalk是被閹割過(guò)的,少掉了不少功能。話(huà)說(shuō),google.cn也就是谷歌,也是被閹割過(guò)的,在這個(gè)和諧的國(guó)度里,就算你輸入google.com,你也去不了想去的地方,咱這里有偉大的GFW和DNS挾持。百度么,天生就閹掉的,谷歌至少還有行字“據(jù)當(dāng)?shù)胤煞ㄒ?guī)和政策,部分搜索結(jié)果未予顯示。”讓你知道這玩意是太監(jiān),百度么看上去是個(gè)女人。
        我并不是google飯,但是google有些服務(wù)我倒一直在用。gmail、gtalk、reader、bookmark、picasa,還有那個(gè)工具條,有些東西用起來(lái)還挺爽的。但是你一旦知道,你常用的東西,有些是被閹割過(guò)的,總會(huì)有點(diǎn)疙瘩個(gè)。當(dāng)然,有些閹割不能怪罪我們偉大的和諧國(guó),比如把gmail語(yǔ)言換成英文,就會(huì)多出選項(xiàng)個(gè)。
        最后順帶提一下電影的閹割版,內(nèi)地的剪刀手功力是相當(dāng)?shù)纳詈瘢粌H可以把那玩意割掉,還不經(jīng)意留下幾個(gè)彩蛋,提升一下片子的深度,贊一記個(gè)。
        最后的最后,問(wèn)候一記GFW,上個(gè)月幾個(gè)網(wǎng)站又上不去了,連sourceforge也走掉了,罪過(guò)罪過(guò)!

    posted @ 2008-07-09 16:33 生活在別處 閱讀(362) | 評(píng)論 (0)編輯 收藏

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


    telnet發(fā)電子郵件的目的很多,我們暫且假設(shè)一番:如果你不幸落入恐怖份子之手,他們只有一臺(tái)瘦得不行的電腦,總之除了telnet程序啥都沒(méi)有,在恐怖份子去吃羊肉泡饃而疏于照看你的大好時(shí)機(jī),你如何發(fā)電子郵件通知外界呢?



    當(dāng)然,首先你要有一個(gè)支持中繼轉(zhuǎn)發(fā)的SMTP的帳號(hào),幸運(yùn)的是,現(xiàn)在即使免費(fèi)的郵箱也會(huì)提供這個(gè)。

    假設(shè)你有一個(gè)geekx@126.com的郵箱,密碼是xgeek,則會(huì)話(huà)如下:(紅色的話(huà)是你要說(shuō)的

     $ telnet smtp.126.com 25 # 25 為標(biāo)準(zhǔn)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 # 打個(gè)招呼先

    250 OK
    auth login # SMTP需要認(rèn)證
    334 dXNlcm5hbWU6 # 這是個(gè)base64編碼的明文,翻譯過(guò)來(lái)是“username:"
    Z2Vla3g= # base64編碼的明文,翻譯過(guò)來(lái)是“geekx"
    334 UGFzc3dvcmQ6 # 這是個(gè)base64編碼的明文,翻譯過(guò)來(lái)是“password:"
    eGdlZWs= # base64編碼的明文,翻譯過(guò)來(lái)是“xgeek"
    235 Authentication successful
    mail from:<geekx@126.com>
    250 Mail OK
    rcpt to:<superman@savetheworld.com> # 發(fā)給XXX
    250 Mail OK
    data #開(kāi)始寫(xiě)信
    354 End data with <CR><LF>.<CR><LF>

    subject:Help!!
                                      #這里空一行再寫(xiě)正文
    The world is under attack,

    Terrorists are eating yang—rou—pao—mo...
                                      #寫(xiě)完信后空一行
    .                  #寫(xiě)一個(gè)句點(diǎn)表示信的結(jié)束

    250 Mail OK queued as smtp1,C8mowLC7fAy8GydISdAtCw==.834S2 1210522683
    quit
    221 Bye #SMTP小姐跟你說(shuō)再見(jiàn)
    Connection closed by foreign host.

    那么,如何知道你的用戶(hù)名和密碼的base64編碼呢?當(dāng)然是預(yù)先要記在腦子里,如果實(shí)在記不下的話(huà),用uuencode翻譯一下吧:

     $ echo -n 'geekx' | uuencode -m xxx # -m 指定 base64編碼

    begin-base64 664 xxx
    Z2Vla3g=
    ====

    好了,在恐怖份子吃完午飯回來(lái)之前,你已經(jīng)成功地把信發(fā)給超人啦。

    posted @ 2008-06-12 10:28 生活在別處 閱讀(519) | 評(píng)論 (0)編輯 收藏

    history|grep halt
    cat .bash_history|grep halt

    不同的系統(tǒng)history文件是不一樣的,
    一般是$HOME目錄下

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

    Redhat的root
    /root/.bash_history

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

    posted @ 2008-04-24 14:26 生活在別處 閱讀(143) | 評(píng)論 (0)編輯 收藏

    一、一些重要的概念(關(guān)于Linux系統(tǒng)的一些重要特性)
        由于我們用Windows太多,我就感覺(jué)我自己除了會(huì)點(diǎn)鼠標(biāo)之外對(duì)于Windows系統(tǒng)沒(méi)有太多的了解,甚至沒(méi)有Linux多.
        1、文件系統(tǒng)結(jié)構(gòu)
        2、文件類(lèi)型
           一切都是文件,包括普通文件、設(shè)備文件、目錄等等
        3、運(yùn)行級(jí)別
           Linux有6個(gè)運(yùn)行級(jí)別
        4、管道
        5、重定向
        6、交換分區(qū)
        7、根目錄下各個(gè)目錄的意義
    二、文本編輯
        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、權(quán)限命令
           如何設(shè)定我們用戶(hù)和文件以及系統(tǒng)的權(quán)限。
           包括:chmod  chown  chgrp umask
        5、系統(tǒng)命令
           包括:mount  umount  uname  free  env
                 uptime  setup  xinetd  top  kill  關(guān)機(jī)命令
        5、常用的網(wǎng)絡(luò)命令
           關(guān)于網(wǎng)絡(luò)管理以及使用的一些命令
    四、安裝與卸載(限于Redhat以及相似系統(tǒng))
         1、RPM命令
         2、Oracle9i安裝卸載以及基本管理
    五、相關(guān)工具的命令
        1、FTP
        2、Telnet
    六、常見(jiàn)的系統(tǒng)設(shè)置
        1、運(yùn)行級(jí)別
        2、共享(NFS)
        3、修改Swap
        4、設(shè)定系統(tǒng)環(huán)境變量(JDK安裝)
        5、系統(tǒng)備份(打包、壓縮以及解壓縮)
        6、常見(jiàn)的標(biāo)志(權(quán)限:r w x s t 標(biāo)志:l b c d)
    七、Shell編程
        1、Shell變量和參數(shù)
        2、環(huán)境變量
        3、位置參數(shù)
        4、運(yùn)算符
        5、常用語(yǔ)句
        6、函數(shù)
        7、控制
        8、運(yùn)行方式
    八、Linux安裝
    九、Crontab簡(jiǎn)單應(yīng)用

    以前的存檔,源未知

    posted @ 2008-02-21 14:24 生活在別處 閱讀(305) | 評(píng)論 (0)編輯 收藏


    1) 重啟后生效
    開(kāi)啟: chkconfig iptables on
    關(guān)閉: chkconfig iptables off

    2) 即時(shí)生效,重啟后失效
    開(kāi)啟: service iptables start
    關(guān)閉: service iptables stop

    需要說(shuō)明的是對(duì)于Linux下的其它服務(wù)都可以用以上命令執(zhí)行開(kāi)啟和關(guān)閉操作。

    在開(kāi)啟了防火墻時(shí),做如下設(shè)置,開(kāi)啟相關(guān)端口,
    修改/etc/sysconfig/iptables 文件,添加以下內(nèi)容:
    -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 生活在別處 閱讀(854) | 評(píng)論 (0)編輯 收藏

    碰到了問(wèn)題,找到了解決,存檔一下
    關(guān)鍵字: jdk 字符集 linux
    原因:首先,JFreeChart和中文驗(yàn)證碼的亂碼問(wèn)題和jsp的編碼無(wú)關(guān),是由于Java虛擬機(jī)找不到字體文件造成的,所以同類(lèi)的Swing或者AWT的中文亂碼問(wèn)題也適用

    環(huán)境:
    JDK1.5(JDK版本很重要,如果是1.4.2版本的話(huà),JRE目錄下的字體配置文件不大一樣)
    RedHat4.0
    Tomcat5.0

    解決方法:
    1.確認(rèn)%JavaHome%/jre/lib/fonts目錄下存在zysong.ttf
    2.在%JavaHome%/jre/lib/fonts目錄下執(zhí)行"ttmkfdir -o fonts.dir"命令,重新生成fonts.dir文件
    3.確認(rèn)/usr/share/fonts/zh_CN/TrueType目錄存在,如果不存在則mkdir創(chuàng)建
    4.確認(rèn)/usr/share/fonts/zh_CN/TrueType目錄下存在zysong.ttf
    5.在%JavaHome%/jre/lib目錄下,執(zhí)行 cp fontconfig.RedHat.3.properties.src fontconfig.properties
    6.重新啟動(dòng)tomcat,大功告成!

    需要下載zysong.ttf

    posted @ 2008-02-21 14:19 生活在別處 閱讀(703) | 評(píng)論 (0)編輯 收藏

  • Ctrl + Shift + T:打開(kāi)類(lèi)型:顯示"打開(kāi)類(lèi)型"對(duì)話(huà)框來(lái)在編輯器中打開(kāi)類(lèi)型。"打開(kāi)類(lèi)型"選擇對(duì)話(huà)框顯示工作空間中存在的所有類(lèi)型如類(lèi)、接口等
  • Ctrl + Shift + R:打開(kāi)資源:打開(kāi)"打開(kāi)資源"對(duì)話(huà)框以打開(kāi)工作空間中的任何資源。在Package Explorer中不必瀏覽文件便可快速打開(kāi)任意一個(gè)文件。使用這個(gè)快捷鍵可以打開(kāi)一個(gè)對(duì)話(huà)框,在里面輸入你想查找的文件或者通配符既可。
  • Ctrl + O: 快速大綱:打開(kāi)當(dāng)前所選類(lèi)型的輕量級(jí)大綱圖。在一個(gè)文件中直接打開(kāi)一個(gè)成員變量(如字段、方法),尤其是有許多類(lèi)似的方法名的時(shí)候這個(gè)快捷鍵將變得非常有用。
  • Ctrl + L, 輸入行數(shù): 轉(zhuǎn)至行:打開(kāi)一個(gè)對(duì)話(huà)框,允許您輸入編輯器應(yīng)該跳至的行號(hào)。僅適用于編輯器。輸入行號(hào),可以快速跳轉(zhuǎn)到源文件中的第N行,
  • Ctrl + Q:上一個(gè)編輯位置:顯示上一個(gè)編輯操作的發(fā)生位置,返回到最近的修改位置。即使你查看不同的文件時(shí),你也可以使用該快捷鍵來(lái)找到你最近對(duì)文件的修改位置。尤其是在文件比較大時(shí),顯得更為有用。
  • Ctrl + T: 快速類(lèi)型層次結(jié)構(gòu):打開(kāi)當(dāng)前選擇的類(lèi)型的輕量級(jí)層次結(jié)構(gòu)查看器,可以實(shí)現(xiàn)快速轉(zhuǎn)到一個(gè)supertype或者subtype.
  • Ctrl + E:快速跳轉(zhuǎn)到另外一個(gè)編輯器。注意Ctrl + F6也可以實(shí)現(xiàn)這個(gè)功能,在使用的時(shí)候可以注意一下他們的異同。
  • Ctrl + ./Ctrl +,:在一個(gè)文件中快速定位到一個(gè)問(wèn)題(如錯(cuò)誤、警告等)
  • Alt + and Alt + :來(lái)回跳轉(zhuǎn)至你所查閱的文件
  • F3: 快速轉(zhuǎn)到一個(gè)類(lèi)型聲明。同時(shí)也可以按住ctrl健并點(diǎn)擊該超鏈接變量或者類(lèi)或者你想查看的任何聲明都可以。

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

    posted @ 2007-11-02 17:01 生活在別處 閱讀(311) | 評(píng)論 (0)編輯 收藏

    以前碰到過(guò),要tomcat開(kāi)機(jī)啟動(dòng)的問(wèn)題,后來(lái)用root用戶(hù)啟,但是風(fēng)險(xiǎn)很大
    這次碰巧看到了解決辦法,趕緊收了下來(lái)
    原帖名字:ubuntu7.04 安裝tomcat6
    來(lái)源:http://tristonxu.spaces.live.com/blog/cns!6C727D52D9679258!382.entry

    終于搞定了,如果僅僅安裝tomcat,那是很容易的,問(wèn)題是如何讓他隨ubuntu啟動(dòng)運(yùn)行,這才是問(wèn)題的關(guān)鍵!現(xiàn)在終于搞定了,唉...俺還是比較笨,居然用了兩天的時(shí)間才解決,而且問(wèn)題解決之后,才發(fā)現(xiàn)之前原來(lái)一直是在成功的門(mén)前徘徊。想想,人生何嘗不是這樣,有多少人用一輩子的時(shí)光在成功的門(mén)前晃蕩...
    呵呵~還是趕緊把它記錄下來(lái)吧,年紀(jì)大了阿...

    一、安裝之前
    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到安裝目錄下。
    根據(jù)俺的實(shí)際情況,我把tmcat安裝在/opt目錄下
    shell>sudo tar zxvf apache-tomcat-6.0.13.tar.gz /opt
    解壓之后,會(huì)在/opt下生成一個(gè)apache-tomcat-6.0.13文件夾

    2、在/usr/local下建立一個(gè)軟鏈接
    shell>cd /usr/local
    shell>sudo ln -s /opt/apache-tomcat-6.0.13 tomcat6

    3、測(cè)試安裝
    運(yùn)行啟動(dòng)腳本,測(cè)試tomcat是否安裝成功
    shell>sudo /usr/local/tomcat6/bin/startup.sh
    然后打開(kāi)FF,用http://localhost:8080 訪(fǎng)問(wèn)tomcat。一般來(lái)講,會(huì)成功的。呵呵~

    三、讓tomcat開(kāi)機(jī)啟動(dòng)
    根據(jù)apache網(wǎng)站的Document說(shuō)明(這個(gè)說(shuō)明也寫(xiě)得很差,嗚嗚!),要是tomcat作為一個(gè)守護(hù)程序運(yùn)行,需要用到j(luò)svc工具。(這個(gè)工具是啥玩意,俺也不懂,懶得研究,居然tomcat自帶,那就最好了)
    1、準(zhǔn)備工作
    Tomcat安裝后,如果讓Tomcat用root身份啟動(dòng),Tomcat將會(huì)擁用root權(quán)限,這將可能給系統(tǒng)帶來(lái)安全隱患,黑客可能利用這個(gè)來(lái)攻擊我們的系統(tǒng),所以我們得添加一個(gè)獨(dú)立運(yùn)行此服務(wù)的用戶(hù),用下面的命令:

    shell>sudo useradd -d /usr/local/tomcat6 -s /usr/sbin/nologin tomcat
    以上命令為系統(tǒng)增加一個(gè)tomcat用戶(hù),并且設(shè)置為nologin

    設(shè)置用戶(hù)tomcat5對(duì)tomcat的權(quán)限
    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

    [注:在此之前,我的系統(tǒng)安裝了autoconf,可以使用shell>sudo apt-get install autoconf 進(jìn)行安裝]
    為configure添加執(zhí)行權(quán)限
    shell>sudo chmod 755 configure
    shell>sudo ./configure --with-java=/usr/lib/j2sdk1.6-sun (這是俺系統(tǒng)的JDK安裝的位置)
    shell>sudo make

    okay!如果沒(méi)有出現(xiàn)錯(cuò)誤的話(huà),jsvc就安裝成功了!

    3、設(shè)置啟動(dòng)腳本
    接下來(lái),就是把jsvc中帶有的一個(gè)tomcat5.sh的一個(gè)模板復(fù)制到/etc/init.d目錄下,然后根據(jù)自己的情況,進(jìn)行修改。
    shell>sudo cp /usr/local/tomcat6/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
    上面的命令是移動(dòng)文件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

    [注:需要修改的地方,我都用紅色標(biāo)出來(lái)]
    如果在其他linux系統(tǒng),這樣就okay了,但是在ubuntu中,還需要進(jìn)行一步,就是把在rc2.d中設(shè)置一個(gè)軟鏈接

    在/etc/rc2.d目錄下建立S16apache軟聯(lián)接到/etc/init.d/tomcat
    shell>cd /etc/rc2.d
    shell>ln -s /etc/init.d/apache2 S16apache
    [注:rc2.d目錄下的文件要以S后就數(shù)字開(kāi)頭,表示啟動(dòng)的順序。而rc2.d中的2,表示這個(gè)目錄下文件在開(kāi)機(jī)時(shí)的運(yùn)行級(jí)別(runlevel)為2]

    四、結(jié)束
    重新啟動(dòng)系統(tǒng)
    shell>sudo reboot -n
    啟動(dòng)后,就可以在FF中直接輸入http://localhost:8080。如果成功,就可以看見(jiàn)一直可愛(ài)的kitten拉~~~



    posted @ 2007-11-02 16:40 生活在別處 閱讀(1641) | 評(píng)論 (0)編輯 收藏

            項(xiàng)目開(kāi)發(fā)中,碰到的問(wèn)題,原先設(shè)計(jì)的字段,定為VARCHAR2類(lèi)型,最大長(zhǎng)度為4000 bytes,實(shí)際的應(yīng)用中,內(nèi)容往往超過(guò)兩千漢字,沒(méi)辦法正常插入,因此改為clob大字段類(lèi)型。
            采用Hibernate,實(shí)現(xiàn)Clob和Blob對(duì)象的存取, 網(wǎng)上有很多解決方案,但是比較老,實(shí)際運(yùn)用中,可能會(huì)碰到各種問(wèn)題。下面是我采用的方案,比較簡(jiǎn)單,希望對(duì)碰到這個(gè)問(wèn)題的人,有幫助。
            目前oracle的driver已經(jīng)支持JDBC 直接操作 CLOB了,但是使用舊的driver的時(shí)候,會(huì)遇到各種問(wèn)題,如2k字符的問(wèn)題。
             最新的oracle10g的driver,已經(jīng)解決了這些問(wèn)題。我項(xiàng)目用ojdbc14-10.2.0.3.0.jar 連接oracle9i數(shù)據(jù)庫(kù),可以正常讀寫(xiě)CLOB。
             Hibernate存取Clob和Blob對(duì)象,將 clob用string方式處理。
             Hibernate Annotations方式,只要映射成Lob類(lèi)型就可以,對(duì)該字段的讀寫(xiě),就是一般的操作方式。

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

            好了,就是這么簡(jiǎn)單!

    posted @ 2007-11-02 16:17 生活在別處 閱讀(3583) | 評(píng)論 (3)編輯 收藏

    WIN下的tomcat5的日志是按日期來(lái)記錄的.移到linux下發(fā)現(xiàn)tomcat/logs下只有一個(gè)catalina.out件.
    時(shí)間一長(zhǎng).發(fā)現(xiàn)日志文件暴增.對(duì)于管理真是不方便.
    要是能像win下的tomcat那樣分日期記錄就好了.思來(lái)想去就想到用cron來(lái)分割日志文件.
    試試吧.
    先google一下.cronolog-1.6.2.tar.gz
    1.下載cronolog-1.6.2.tar.gz
    2.安裝
    # tar zxvf cronolog-1.6.2.tar.gz
    # ./configure
    # make
    # make install
    搞定!
    默認(rèn)是安裝在/usr/local/sbin/下.
    3.配置
    重點(diǎn)來(lái)了.注意嘍!!!
    在tomcat/bin/catalian.sh中找到
    org.apache.catalina.startup.Bootstrap "$@" start \     >> "$CATALINA_BASE"/logs/catalina.out 2&1 &
     
    把上面的內(nèi)容改成:
    org.apache.catalina.startup.Bootstrap "$@" start \
    |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &
    修改好了.重啟
    #./catalina.sh start
    現(xiàn)去看看勞動(dòng)成果吧.
    # ls /tomcat/logs/
    就會(huì)發(fā)現(xiàn)logs下面多了幾個(gè)如同catalina.2006.06.01.log的文件了.

    posted @ 2007-10-30 10:07 生活在別處 閱讀(2563) | 評(píng)論 (0)編輯 收藏

        最近發(fā)現(xiàn)服務(wù)器被人窮舉掃描,網(wǎng)上找了辦法搞定了

    原貼:http://blog.chinaunix.net/u/17030/showart_315674.html

    我的服務(wù)器每天都會(huì)有無(wú)數(shù)的SSH失敗嘗試記錄,有些無(wú)聊的人一直不停的掃描,這些人真夠無(wú)聊的,沒(méi)事吃飽了撐著,老找些軟件在那里窮舉掃描,所以大家第一要記的設(shè)置一個(gè)好的夠復(fù)雜的密碼。

    怎么樣防,如果要一條一條將這些IP阻止顯然治標(biāo)不治本,還好有DenyHosts軟件來(lái)代替我們手搞定他。

    DenyHosts是Python語(yǔ)言寫(xiě)的一個(gè)程序,它會(huì)分析sshd的日志文件,當(dāng)發(fā)現(xiàn)重復(fù)的攻擊時(shí)就會(huì)記錄IP到/etc/hosts.deny文件,從而達(dá)到自動(dòng)屏IP的功能。

    DenyHosts官方網(wǎng)站為:http://denyhosts.sourceforge.net

    以下是安裝記錄(以CentOS 4.3, DenyHosts 2.5 為例)

    安裝

    # cd /usr/local/src
    # wget http://mesh.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.5.tar.gz
    # tar -zxvf DenyHosts-2.5.tar.gz
    # cd DenyHosts-2.5
    # python setup.py install

    默認(rèn)是安裝到/usr/share/denyhosts目錄的。

    配置

    # cd /usr/share/denyhosts/
    # cp denyhosts.cfg-dist denyhosts.cfg
    # vi denyhosts.cfg

    根據(jù)自己需要進(jìn)行相應(yīng)的配置(解釋見(jiàn)下文件的配置文件)

    設(shè)置啟動(dòng)腳本

    # cp daemon-control-dist daemon-control
    # chown root daemon-control
    # chmod 700 daemon-control

    完了之后執(zhí)行daemon-contron start就可以了。

    # ./daemon-control start

    如果要使DenyHosts每次重起后自動(dòng)啟動(dòng)還需做如下設(shè)置:

    # cd /etc/init.d
    # ln -s /usr/share/denyhosts/daemon-control denyhosts
    # chkconfig –add denyhosts
    # chkconfig –level 2345 denyhosts on

    或者修改/etc/rc.local文件:

    # vi /etc/rc.local

    加入下面這條命令

    /usr/share/denyhosts/daemon-control start

    DenyHosts配置文件:

    vi /etc/denyhosts.cfg

    SECURE_LOG = /var/log/secure
    #ssh 日志文件,它是根據(jù)這個(gè)文件來(lái)判斷的。

    HOSTS_DENY = /etc/hosts.deny
    #控制用戶(hù)登陸的文件

    PURGE_DENY = 5m
    #過(guò)多久后清除已經(jīng)禁止的

    BLOCK_SERVICE = sshd
    #禁止的服務(wù)名

    DENY_THRESHOLD_INVALID = 1
    #允許無(wú)效用戶(hù)失敗的次數(shù)

    DENY_THRESHOLD_VALID = 10
    #允許普通用戶(hù)登陸失敗的次數(shù)

    DENY_THRESHOLD_ROOT = 5
    #允許root登陸失敗的次數(shù)

    HOSTNAME_LOOKUP=NO
    #是否做域名反解

    ADMIN_EMAIL = iakuf@163.com
    #管理員郵件地址,它會(huì)給管理員發(fā)郵件

    DAEMON_LOG = /var/log/denyhosts
    #自己的日志文件

    然后就可以啟動(dòng)了:

    service denyhost start

    可以看看/etc/hosts.deny內(nèi)是否有禁止的IP,有的話(huà)說(shuō)明已經(jīng)成功了。


    =========================================================
    原文地址 http://www.taoran.net/tech/denyhosts.html

    DenyHosts是用Python2.3寫(xiě)的一個(gè)程序,它會(huì)分析/var/log/secure(redhat,F(xiàn)edora Core)等日志文件,當(dāng)發(fā)現(xiàn)同一IP在進(jìn)行多次SSH密

    碼嘗試時(shí)就會(huì)記錄IP到/etc/hosts.deny文件,從而達(dá)到自動(dòng)屏蔽該IP的目的。

    DenyHosts官方網(wǎng)站為:http://denyhosts.sourceforge.net


    一、檢查安裝條件

    1、首先判斷系統(tǒng)安裝的sshd是否支持tcp_wrappers(默認(rèn)都支持)
    # ldd /usr/sbin/sshd
    libwrap.so.0 => /usr/lib/libwrap.so.0 (0x0046e000)

    2、判斷默認(rèn)安裝的Python版本
    # python -V
    Python 2.3.4

    二、已安裝Python2.3以上版本的情況(以RedHat AS4為例)

    1、安裝DenyHosts

    # cd /usr/local/src
    # wget http://umn.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
    # tar zxf DenyHosts-2.6.tar.gz
    # cd DenyHosts-2.6
    # python setup.py install
      
       程序腳本自動(dòng)安裝到/usr/share/denyhosts
       庫(kù)文件自動(dòng)安裝到/usr/lib/python2.3/site-packages/DenyHosts
       denyhosts.py自動(dòng)安裝到/usr/bin

    2、設(shè)置啟動(dòng)腳本
    # cd /usr/share/denyhosts/
    # cp daemon-control-dist daemon-control
    # chown root daemon-control
    # chmod 700 daemon-control
    # grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
    # vi denyhosts.cfg
      根據(jù)自己需要進(jìn)行相應(yīng)的修改
    ----------------denyhosts.cfg------------------------
    SECURE_LOG = /var/log/secure
    #RedHat/Fedora Core分析該日志文件
    #其它版本linux根據(jù)denyhosts.cfg-dist內(nèi)提示選擇。

    PURGE_DENY = 30m
    #過(guò)多久后清除

    DENY_THRESHOLD_INVALID = 1
    #允許無(wú)效用戶(hù)(/etc/passwd未列出)登錄失敗的次數(shù)

    DENY_THRESHOLD_VALID = 5
    #允許有效(普通)用戶(hù)登錄失敗的次數(shù)

    DENY_THRESHOLD_ROOT = 3
    #允許root登錄失敗的次數(shù)

    HOSTNAME_LOOKUP=NO
    #是否做域名反解
    ----------------denyhosts.cfg------------------------

    如果需要DenyHosts隨系統(tǒng)重啟而自動(dòng)啟動(dòng),還需做如下設(shè)置:
    # vi /etc/rc.local
        加入下面這條命令
    /usr/share/denyhosts/daemon-control start

    3、啟動(dòng)

    # /usr/share/denyhosts/daemon-control start



    三、未安裝Python2.3以上版本的情況(以RedHat AS3、Python2.2為例)

    1、安裝Python最新版本的源碼包,不必卸載原有低版本Python
    # cd /usr/local/src
    # wget http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tar.bz2
    # tar jxf Python-2.5.1.tar.bz2
    # cd Python-2.5.1
    # ./configure --prefix=/usr/local/python
    # make
    # make install

    2、安裝DenyHosts
    # cd /usr/local/src
    # wget http://umn.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
    # tar zxf DenyHosts-2.6.tar.gz
    # cd DenyHosts-2.6
    # vi setup.py
      將"/usr/bin/env python"替換為"/usr/local/python/bin/python",在第一行
    # vi daemon-control-dist
      將"/usr/bin/env python"替換為"/usr/local/python/bin/python",注意有兩處
    # /usr/local/python/bin/python setup.py install

       程序腳本自動(dòng)安裝到/usr/share/denyhosts
       庫(kù)文件自動(dòng)安裝到/usr/local/python/lib/python2.5/site-packages/DenyHosts
       denyhosts.py自動(dòng)安裝到/usr/local/python/bin

    # ln -s /usr/local/python/bin/denyhosts.py /usr/bin

    posted @ 2007-10-30 10:01 生活在別處 閱讀(663) | 評(píng)論 (1)編輯 收藏

    原帖地址: http://www.tkk7.com/Unmi/archive/2007/07/25/132391.html


    做了一個(gè) Java 程序放在 Solaris 下運(yùn)行,用到許多的第三方包,有 *.zip 的和 *.jar的,放在 lib 目錄下,然后寫(xiě)了一個(gè) shell 腳本來(lái)運(yùn)行那個(gè) java 程序,那就要在 classpath 中包含所有在 lib 中的第三方包。

    原來(lái)的做法是在 classpath中把lib目錄中一個(gè)個(gè)的包文件名用冒號(hào)連綴起來(lái),比如
    classpath=.:lib/a.jar:lib/b.jar:lib/c.jar:lib/d.zip
    java -classpath $classpath com.unmi.Main

    碰到程序升級(jí),在lib中增加或減少了包文件,又要再重新修改那個(gè)啟動(dòng) java 程序的 shell 腳本,甚是麻煩。由此想寫(xiě)個(gè) shell,功能是能列舉lib目錄下所有第三方包,用冒號(hào)連綴成一個(gè) classpath 變量,這樣的話(huà),無(wú)論在 lib 目錄中增減包,都不需要再次修改那個(gè)啟動(dòng) java 程序的 shell 腳本,就像 tomcat,無(wú)論是 common/lib 還是 app/WEB-INF/lib 中的第三方包,即放即用。

    記得在以前一個(gè)公司,有見(jiàn)過(guò)這樣的腳本,不過(guò)記不清了,大致是用 while 循環(huán)來(lái)生成那樣一個(gè)classpath 變量的。

    還好在網(wǎng)上有高人出手相救,在 CSDN 發(fā)了一個(gè)貼:

    http://community.csdn.net/Expert/topic/5671/5671131.xml?temp=.7013971

    過(guò)一天就有人回復(fù),完成這一功能的代碼是:

    #!/bin/sh

    _jar=`ls | grep "..*\.zip$"`
    _zip=`ls | grep "..*\.jar$"`
    _classpath="${_jar} ${_zip}"
    classpath=`echo ${_classpath} | sed -e 's/ /:/g'`
    echo ${classpath}

    這里根據(jù)我們前面的需求,是要列出 lib 目錄下的 *.zip 或 *.jar 包,所以 shell 改寫(xiě)為:

    #!/bin/sh

    _jar=`ls lib | grep "..*\.zip$"`  #列舉lib目錄下的 *.zip 文件
    _zip=`ls lib | grep "..*\.jar$"`  #列舉lib目錄下的 *.zip 文件
    _classpath="${_jar} ${_zip}"
    classpath=`echo ${_classpath} | sed -e 's/ /:lib\//g'`   #包名前都要帶個(gè) lib/
    echo ${classpath}

    這樣,你就可以使用這個(gè) classpath 變量了

    java -classpath .:${classpath} com.unmi.Main #把當(dāng)前目錄 . 也加到 classpath 中

    在此非常感謝 mymtom(mymtom) 的回復(fù)。

    最后回頭來(lái)想想這也就是在原來(lái)的 JRE 版本需要手工處理這些事情,如果能用上新版 6.0 Mustang JRE,就可以用它的新特性之一,classpath 通配符,java -classpath .;lib\*.jar:lib\*.zip 了,可是相信大多數(shù)同我一樣,還享受不起最新版,只能暫且麻煩一些了。
    posted on 2007-07-25 21:14 Unmi 閱讀(685) 評(píng)論(4)  編輯  收藏

    Feedback

    # re: [導(dǎo)入]Linux/Unix下讀取lib目錄下所有包生成classpath的Shell 2007-07-27 09:41 blackstone
    提供另一種辦法

    #!/bin/sh
    #獲取當(dāng)前目錄
    PWD=`pwd`
    for i in lib/*;
    do CLASSPATH=$PWD/$i:"$CLASSPATH";
    done

    export CLASSPATH=.:$CLASSPATH

    java Your Main Class  回復(fù)  更多評(píng)論
      

    # re: [導(dǎo)入]Linux/Unix下讀取lib目錄下所有包生成classpath的Shell 2007-07-27 13:07 Unmi
    太好,更簡(jiǎn)練了,對(duì)我來(lái)說(shuō)寫(xiě)成下來(lái)那樣子就行了

    #!/bin/sh
    CP=.
    for file in lib/*;
    do CP=${CP}:$file;
    done
    echo $CP
    #我只要用這個(gè)CP就行
      回復(fù)  更多評(píng)論
      

    # re: [導(dǎo)入]Linux/Unix下讀取lib目錄下所有包生成classpath的Shell 2007-09-30 10:38 飛貓
    這個(gè)更方便:
    CLASSPATH=`find lib -name *.jar|xargs|sed "s/ /:/g"`
    CLASSPATH=".:$CLASSPATH"
    echo $CLASSPATH

      回復(fù)  更多評(píng)論 
      
     
    DOS批處理腳本枚舉 lib 目錄下的 jar 和 zip 文件,拼成 classpath 的腳本

    @echo off
    setlocal EnableDelayedExpansion
    set cp=.
    for /F %%a in ('dir lib\*.jar lib\*.zip /b') do set cp=!cp!;%%a
    @echo %cp%

    posted @ 2007-10-10 16:50 生活在別處 閱讀(4868) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: 日本精品人妻无码免费大全| 亚洲国产精品综合久久一线 | 亚洲精品一卡2卡3卡三卡四卡| 中文免费观看视频网站| 亚洲第一se情网站| 亚洲成色在线综合网站| 成人免费午夜视频| www在线观看免费视频| 亚洲精品熟女国产| 亚洲av日韩片在线观看| 8090在线观看免费观看| 国产成人亚洲精品蜜芽影院| 亚洲网址在线观看你懂的| 国产免费69成人精品视频| 88av免费观看| 国产高潮流白浆喷水免费A片 | 亚洲国产视频网站| 亚洲毛片αv无线播放一区| 97无码免费人妻超级碰碰夜夜 | 啦啦啦完整版免费视频在线观看| 色窝窝亚洲AV网在线观看| 亚洲欧洲国产日韩精品| 亚洲无码精品浪潮| 好爽…又高潮了毛片免费看 | 久久久久亚洲AV无码专区网站| 成人无码区免费A片视频WWW| 免费萌白酱国产一区二区三区 | 成人片黄网站色大片免费| 久久成人免费大片| CAOPORM国产精品视频免费| 在线精品亚洲一区二区| 91久久亚洲国产成人精品性色| 亚洲综合最新无码专区| 免费无遮挡无码永久在线观看视频| 91久久精品国产免费直播| 免费无码又爽又刺激网站 | 国产aa免费视频| 德国女人一级毛片免费| 91高清免费国产自产| 久久久久久久99精品免费| 国产一二三四区乱码免费|