2007年12月24日 星期一

男人本不壞,不是嗎?

除了他太刻意要湊出「你是好人」這個題材,似乎還滿中肯的。
我也到了裡面講二十六歲驚覺自己是好人的年紀,真可怕。
男人本不壞,不是嗎?

十歲以前,他什麼都不懂,就不說了。
十三、四歲的時候,開始對女孩有好感,但是那時候他離女孩遠遠的,並且以討厭女孩自居,生怕被同伴嘲笑。
十五歲的時候,聽到大人們說某某男人好花,把女朋友甩了,女孩自殺了。
他覺得這人真狠毒,自己將來一定要做個痴情的男人,一定要一生只愛一個人。
十六歲的時候,他喜歡上了一個女孩,但是他不敢和她說。
仍然和往常一樣,臟兮兮的在灰土飛揚的操場上踢球。
只在女孩走出校門的時候,躲在二層的窗戶上看她的背影,他覺得她一定是個天使。
十七歲的時候,有個女孩喜歡上了他,但是他離她很遠,心裡面只有自己那個女孩,他覺
得看別的女孩都是對她的不忠。
十八歲的時候,看了一個MTV,感動得想哭;
他想,如果自己的女孩失去了雙眼,他一定會像男主角會毫不猶豫的把自己的眼睛給她,
讓她能看到光明。
十九歲的時候,高考了。
終於和自己暗戀的女孩分別,坐火車去學校的時候,感覺自己離她越來越遠,心像被掏空了一樣。 還在想自己一定不會忘記她,等到自己成功以後一定要去找她。
二十歲的時候,聽到有人講黃色笑話,覺得這人真可恥。
二十一歲的時候,她的回信中告訴他,自己有了男朋友。
他為此偷偷的哭了一個晚上。
二十二歲的時候,他向一個女孩表白,女孩說:「你是個好人,可是我還小。」他想,我
的確是個好人,然後他說:「沒關係,我可以等妳。」
心想,我不會像那些花心的人一樣,三年五年我也能等。
二十三歲的時候,聽說自己還小的女孩跟一個帥哥戀愛了。
他很納悶,長大原來可以這樣快。
二十四歲的時候,
他又向一個女孩表白,女孩說:「你是個好人,可是我並不適合你。」
他納悶很久,我是好人,妳怎麼還不適合我呢?
二十五歲的時候,他又追求一個女孩,女孩接受了他。他開始很幸福的為未來拚搏,他想
,一時的開心只是暫時的,只有努力拚搏,他和她才能有快樂的未來,但是,半年以後,
女孩和他分手了,只是因為另外一個男孩會說讓她開心的話。
女孩說:「你是個好人,是我對不起你。」
至此,他似乎明白了問題所在--他是個好人!
二十六歲的時候,他開始墮落。打扮得時尚而酷,而且漸漸的學習著討好女孩的話。
不久,他有了個女朋友,雖然他對她也很好,可是,他心裡知道,自己並不愛。
二十七歲的時候,
他和女孩分手了。
他對女孩說:「妳是個好女孩,是我對不起妳。」
二十八歲的時候,他嘗試了一夜情,發現別人能做的,自己也一樣。
二十九歲的時候,他學會了講黃色笑話,並且以看旁邊的女孩子臉紅為樂趣。
三十歲的時候,他忽然發現自己變得很有能力追求到女孩,但是卻沒有了愛的能力。
其實每個男孩,本來都是想做一個感情專一的好男人的。
其實每個男人,本來看女孩子都是看臉而不是身材。
其實每個男人,本來都是不會講黃色笑話的。
其實每個男孩,本來都是渴望愛一個人直到永遠的。
只是,沒有任何女孩愛這樣的男孩,她們覺得這樣的男孩太幼稚,太古板,沒有情趣。
於是男孩開始改變,變成女孩喜歡的那種 嘴角掛著壞壞。
開始學會說甜言蜜語而不是心裡想說的話。
開始學會假裝關心,學會給女孩送小飾物討好她,學會如何追求,如何把握愛情。
或者看破紅塵,遊戲情場,成為女人恨恨的那種男人。
他們可以很容易俘獲女孩子的心,但是他們也會在黑的夜裡叼著煙流淚。
心裡有愛的時候,沒有女孩;有了女孩,卻永遠沒有了愛的感覺!
當男人聽到女人抱怨世上沒有一個好男人時候,他們不會再去努力做個好男人,
只是微笑著擦肩而過。

2007年12月11日 星期二

清除你電腦中的垃圾

要輕鬆流暢上網你是否注意到你的電腦系統磁盤的可用空間正在一天天在減少呢?

在Windows在安裝和使用過程中都會產生相當多的垃圾文件,包括臨時文件(如:*.tmp、*._mp)日誌文件(*.log)、臨時幫助文件(*.gid)、硬碟檢查文件(*.chk)、臨時備份文件(如:*.old、 *.bak)以及其他臨時文件。

特別是如果一段時間不清理IE的臨時文件夾「Temporary Internet Files」,其中的緩存文件有時會佔用上百MB的磁盤空間。這些文件不僅僅浪費了寶貴的磁盤空間,嚴重時還會使系統運行慢如蝸牛。這點相信你肯定忍受不了吧!所以應及時清理系統的文件,輕鬆流暢上網!

下面是步驟很簡單就兩步!

「程式集→附屬應用程式→記事本」,把下面的文字複製進去,點「另存為」,路徑選「桌面」,保存類型為「所有文件」, 文件名為「清除系統.bat」,就完成了。記住附檔名一定要是.bat

ok,你的垃圾清除器就這樣製作成功了!

在桌面上雙擊它就能很快地清理垃圾文件,大約一分鐘不到。

這段文字就是:

@echo off

echo 正在清除系統垃圾文件,請稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除系統垃圾完成!
echo. & pause

2007年12月5日 星期三

用聽的學英文單字

使用軟體 Dr.eye 8.0

使用功能及設定:

= 1. 生字筆記 -- 匯入生字,匯出生字
= 2. 單字通 -- 設定 1) 功能列:發音,級別(生字筆記)
2) 系統設定 - 單詞通設定 - 瀏覽設定
A.顯示時間(秒) : 10
B.取消 [] 隨機顯示

使用方法:
1. 下載 單字字庫
2. 打開字庫複製 字彙 貼到 notepad 上, 並且存成 .txt 格式;
檔案內容應該類似下方內容 -- (每個單字佔一列)
abandon
abstract
academy
3. 啟動 "生字筆記" > 檔案 > 匯入生字 (若匯入前以有生字,可先刪除既有筆記,以匯入新的筆記");
4. 啟動 "單詞通" (並依照上述設定,設定 發音及載入級別 "生字筆記",顯示時間等);
5. 啟動 你的錄音軟體 我是用 Cool Edit 編輯
;
6. 將音效卡的聲音輸出用音源線連接至Line的孔位,按下錄音的按鍵;
7. 在 "單詞通" 中點選 [繼續], [發音], [級別] > 生字筆記 以重新載入 生字筆記 (目的:重頭開始唸);
9. 重複步驟 7到 錄完 500 個單字. (因為生字筆記最多只能紀錄 500個單字)
10. 停止 你的錄音裝置或軟體 並儲存;
11. 同步到你的 MP3 Player;
12. 背熟後,再用 "生字筆記" > "生字測驗" 來驗收一下成果吧.

建議使用時機:

1. 搭交通工具時; (再也不怕患 "閃光")(再也不怕暗)(再也不怕背單字暈車)(再也不怕不好意思,怕別人覺得自己裝用功)
2. 等待時;
3. 眼睛累時;
4. 睡覺時; (請調低音量至需專心聽才聽的到為止)(睡眠學習法)(熟音調)

2007年12月3日 星期一

IPKG - the Itsy Package Management System

IPKG is a very lightweight package management system. It was designed for Linux installations with severe storage limitations such as handheld computers. iPKG is more than just an embedded Linux flash image builder, (although it does that fairly well). It also allows for dynamic installation/removal of packages on a running system.


iPKG is itsy in several ways:

The control programs themselves are small, (currently about 13kB)

The installed meta-data tries to be only what is absolutely essential, (currently about 38kB for a 16MB compressed flash iPAQ distribution)

The available packages are small. (The idea is that the package tree should be as fine-grain as possible. Much of this still needs some work)


Configuration Files

The /etc/ipkg.conf file controls the server from which ipkg-update and ipkg-get will pull package information and packages. As of Familiar v0.7 (ipkg 0.99.87) the configuration files are as follows:

A: /etc/ipkg.conf Defines destination locations and proxy settings (e.g. dest root /)
B: /etc/ipkg/familiar-ipaqsa.conf - Architectures listing.
C: /etc/ipkg/.conf Defines individual feed locations.

See the comments in ipkg.conf for more details.

How do I use it?

he ipkg program has many different sub-commands, (provided by the first command-line
argument in a manner similar to cvs).

Here is a current snapshot of the available commands:

usage: ipkg [options...] sub-command [arguments...]
where sub-command is one of:
  Package Manipulation:
 update                         Update list of available packages
upgrade
Upgrade all installed packages to
latest version

install
Download and install
                                (and dependencies)
install Install package
configure [] Configure unpacked packages

remove
Remove package
flag ... Flag package(s)
                                (=hold|noprune|user|ok|installed|unpacked (one per invocation))
 Informational Commands:
 list                           List available packages and descriptions
files
List all files belonging to
search
Search for a package providing
info [pkg []]
Display all/some info fields for or all
status [pkg []]
Display all/some status fields for or all
download
Download to current directory.
compare_versions
(compare versions using <= < > >= = << >>)
print_architecture prints the architecture.
print_installation_architecture
whatdepends [-A] [pkgname|pat]+
whatdependsrec [-A] [pkgname|pat]+
whatprovides [-A] [pkgname|pat]+
whatconflicts [-A] [pkgname|pat]+
whatreplaces [-A] [pkgname|pat]+
 Options:
-A Query all packages with whatdepends,
                                whatprovides, whatreplaces, whatconflicts
-V Set verbosity level to . If no value is
--verbosity provided increase verbosity by one. Verbosity levels:
0 errors only
1 normal messages (default)
2 informative messages
3 debug output
 -f                  Use  as the ipkg configuration file
-conf Default configuration file location
                                is /etc/ipkg.conf
-d Use as the the root directory for
-dest package installation, removal, upgrading.
                                 should be a defined dest name 
                                from the configuration file, (but can also
                                be a directory name in a pinch).
-o Use as the root directory for
-offline offline installation of packages.
-verbose_wget more wget messages
 
 Force Options (use when ipkg is too smart for its own good):
 -force-depends                 Make dependency checks warnings instead of 
errors and install/remove package in spite offailed dependences
 -force-defaults                Use default options for questions asked 
                                ipkg. (no prompts). Note that this will not
                                prevent package installation scripts from
                                prompting.
 -force-reinstall               Allow ipkg to reinstall a package.
 -force-overwrite               Allow ipkg to overwrite files from another
                                package during an install.
 -force-removal-of-dependent-packages
 -force_space                   Install even if there does not seem to be
                                enough space.
 -noaction                      No action -- test only
 -nodeps                        Do not follow dependences
 -recursive                     Allow ipkg to remove package and all that
                                depend on it.
 -test                          No action -- test only
 -t                             Specify tmp-dir.
 --tmp-dir                      Specify tmp-dir.
 
Examples:

Install the ftp program:
ipkg install ftp
Install from an url (ipkg version >=0.9):
ipkg install http://url/to/some/package.ipk
 Perform a limited local "ipkgfind" (assuming you've already run ipkg update):
ipkg list|grep searchstring

將Source code 編譯成 deb

簡介

deb檔要包裝前要寫一堆資訊檔才行,其中包括了 像pkgtools一樣的scriptsdebian也有像Solaris裡的 postinstall preinstall postremove preremove這些scripts可以用, 其中最重要的資訊檔是一個名叫control的檔

需要的一些工具

dpkg

dpkg-deb 這兩個是最基本的

如果想成為Debiandistribution開發者,因為他們有一些遊戲規矩, 包括source code的改版,必要文件等規則, 下面的套件會幫你,如果不想submit你的deb檔給Debian,就不用裝了

dh-make 製做必要資訊檔的sample檔案 這其實還蠻有用的

debhelper dh-make dependency

devscripts 一些scripts

fakeroot 假裝是root的工具

lintian 測試與檢查package檔的工具

建立步驟

deb必須先有source tree,站在source tree的最上面, 解開後直接用

$ dh_make

幫你建一個叫debian的目錄及寫一堆sample後再自己改, cscope 15.6 做例子。

1. 先去cscope.sourceforge.net捉原始檔.tar.gz回來

2. 解開在/home/waynel/cscope-15.6,這邊一定要用 pkgname-version這樣形式的目錄

3. 進去cscope-15.6source code最上層直接執行dh_make, 會創造一個目錄叫debian,然後改這裡面的資訊檔

$ dh_make -e wayne_teng@compal.com -f ../cscope-15.6.tar.gz

在此次執行dh_make之後,上游的套裝軟體將會被打包裝檔為cscope-15.6.tar.gz並放在父目錄中,以便 用diff.gz建立非Debian原有的來源程式碼包裝檔。請注意檔案名稱中的兩個 關鍵點:

· 包裝檔名稱和版本是以_分割的。

· 在之前tar.gzorig.

$ dpkg-buildpackage -rfakeroot

,會自己叫configure創造Makefile, 不然必需自己想辦法創造一個Makefile再叫 dpkg-buildpackage -rfakeroot就會自己創造出xxxx.deb

如果下載的source code裡面有一個目錄debian,就直接執行

$ dpkg-buildpackage

已經多次運行了上邊的命令, 也可以使用下邊的命令快速構建臨時 .deb :

$ fakeroot debian/rules binary

Rsync + SSH 完成遠端備份

.完成單向Trusted SSH Authorized
我要 A (10.0.0.1) 要對 B (192.168.0.1) 做異地備援 ...所以我針對 A 讓它使用SSH連到 B ...不需要輸入密碼...User Root...SSH Version2的版本..首先要先在A(10.0.0.1)產生public/private dsa key pair..

[root@mondeo home]# cd /root/.ssh/
[root@mondeo .ssh]# ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase): <--
此處不打passphrase..下次才不會詢問password
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
11:22:33:44:55:66:77:88:99:00:11:22:33:44:55:66 root@mondeo.adj.idv.tw
[root@mondeo .ssh]#

這時會在系統下看到兩個檔案...id_dsaid_dsa.pub 現在要把id_dsa.pub丟到192.168.0.1 並且更名為 authorized_keys2

[root@mondeo .ssh]# scp id_dsa.pub 192.168.0.1:/root/.ssh/authorized_keys2
root@192.168.0.1's password:
id_dsa.pub 100% |***************************************************************************| 612 00:00
[root@mondeo .ssh]#

現在您可以執行ssh 192.168.0.1 看看能否登入而不需要輸入密碼...

2.使用rsync Remote sync

rsync特性簡介 :

rsyncunix-like系統下的數據鏡像備份工具,從命名上就可以看出來了remote sync。它的特性如下:

1、可以鏡像保存整個目錄樹和文件系統。
2
、可以很容易做到保持原來文件的權限、時間等等。
3
、無須特殊權限即可安裝。
4
、優化的流程,文件傳輸效率高。
5
、可以使用rcpssh等方式來傳輸文件,當然也可以通過直接的socket連接。
6
、支持匿名傳輸。

首先要先對B(192.168.0.1)RsyncServer on起來...

[root@linux /]#chkconfig --list rsync
rsync off
[root@linux /]#chkconfig rsync on

現在我先在A(10.0.0.1)上建一個 Backup directory...然後對B(192.168.0.1)mysqlhtml的目錄做異地備援...偶寫一個簡單的script如下:

[root@mondeo /]# mkdir backup
[root@mondeo backup]#vi sync

rsync -avRz /src/ /home/test #Local Backup

rsync -arRHz --progress -e ssh 10.110.131.225:/src/ /home/2006.04.06

# Remote Backup


rsync -avlR --delete -e ssh 192.168.0.1:/var/lib/mysql /backup/
rsync -avlR --delete -e ssh 192.168.0.1:/var/www/html /backup/

[root@mondeo backup]#chmod 700 sync

參數意義如下﹕

-a, --archive
It is a quick way of saying you want recursion and want to preserve almost everything.
-v, --verbose
This option increases the amount of information you are given during the transfer.
-l, --links
When symlinks are encountered, recreate the symlink on the destination.
-R, --relative
Use relative paths.
保留相對路徑...才不會讓子目錄跟 parent 擠在同一層...
--delete
是指如果Server端刪除了一文件,那客戶端也相應把這一文件刪除,保持真正的一致。
-e ssh
建立起加密的連接。

參數的使用因人而異...您可以man rsync來使用更多的參數...

測試看看:

[root@mondeo backup]# ./sync

receiving file list ... done
.
.
.
done
wrote 16 bytes read 107 bytes 82.00 bytes/sec
total size is 0 speedup is 0.00
receiving file list ... done
.
.
.
done
wrote 16 bytes read 921 bytes 624.67 bytes/sec
total size is 308331 speedup is 329.06
[root@mondeo backup]#

看到沒詢問密碼....以及有把檔案copy過來就沒問題囉....當然你可以把遠端的資料做個變動...看是否真有同步啦....

3.使用crontab 來做自動排程

現在設好之後...我希望每天的00...夜深人靜的時後再來幫我做sync....當然您想要多久做 sync 看個人需求囉...

[root@mondeo backup]# crontab -e

0 0 * * * /backup/sync


Who is OpenEmbedded ?

1. OpenEmbedded is a build system that can generate (cross-compile) Software packages for embedded targets.
2. OpenEmbedded is a tool which allows developers to create a fully usable Linux base for various embedded systems.
3. OpenEmbedded is a collection of meta data, configuration, and patches.

How OpenEmbedded works?

clip_image001

Setting up the toolchain and doing a build

Directory Structure

$ mkdir -p /stuff/build/conf
$ cd /stuff/
Using Subversion

$ cd /stuff/
$ svn co http://svn.berlios.de/svnroot/repos/bitbake/branches/bitbake-1.6/ bitbake

Updating bitbake

$ cd /stuff/bitbake;svn info
$ cd /stuff/bitbake; svn update

Obtaining OpenEmbedded

1. Install Monotone 0.32
2. Go to the base directory of your OpenEmbedded environment
$ cd /stuff/
3. Download and bunzip2 the OE database snapshot
$ wget http://www.openembedded.org/snapshots/OE.mtn.bz2
$ bunzip2 <OE.mtn.bz2 >OE.mtn
4. Update your local copy of the OpenEmbedded database:
$ mtn --db=/stuff/OE.mtn pull monotone.openembedded.org org.openembedded.dev
5. Checkout your local copy of the OpenEmbedded tree.
$ mtn --db=/stuff/OE.mtn checkout --branch=org.openembedded.dev

Updating OE

$ mtn --db=/stuff/OE.mtn pull monotone.openembedded.org org.openembedded.dev

Then update the branch(es) you are using. This will update the contents of the files in the local database. For example:

$ cd /stuff/org.openembedded.dev && mtn update

Create local configuration
$ cd /stuff/
$ cp org.openembedded.dev/conf/local.conf.sample build/conf/local.conf
$ vi build/conf/local.conf
Edit local.conf example: 
#DL_DIR = "${HOME}/sources"
DL_DIR = "/stuff/build/sources"
#BBFILES := "${@bb.fatal('Edit your conf/local.conf: BBFILES')}"
BBFILES :="/stuff/org.openembedded.dev/packages/*/*.bb"
# Don't use symlinks in in the path to avoid problems
TMPDIR = /stuff/build
# of TARGET_ARCH
MACHINE = "x86"
If you compile other CPU code, you can change
TARGET_OS = "linux"
DISTRO = "generic"
# following MACHINE types: poodle, tosa and simpad.
remake“#”MACHINE_KERNEL_VERSION = "2.6"
make“#”REMOVE_THIS_LINE:="${@oe.fatal('Read the comments in your conf/local.conf')}"


Setup the environment
1. Edit ~/bash_profile
$ export PATH=/stuff/bitbake/bin:$PATH
$ export BBPATH=/stuff/build:/stuff/org.openembedded.dev
2. Check environment
$ echo $BBPATH

Start building
example:

$bitbake -D -b org.openembedded.dev/packages/zip/zip_2.32.bb


製作自己個人的Ubuntu Live CD

一、安裝:
請到官網 reconstructor 的下載頁面,下載 deb 檔。下載時,可以選 『開啟方式』- GDebi package Installer,GDebi 會幫你把需要的其他套件一併安裝。

二、使用:
1.開始
clip_image002

2.升級:按左下角的Update

3.第一關:選擇source

clip_image004

第1次用,3個 create 都要勾,之後換 iso 檔才需要勾。
指定 iso 檔後,按 Next 進入下1關。

4.第二關:設定 gnome、新增/移除程式

clip_image006

這裡可以設定開機splash,如果不設,會用 iso 檔原來的。

clip_image008

這裡可以設定gnome的佈景主題、桌布、圖示、字型等。

clip_image010

這裡則指定sources.list的內容,將我的內容直接貼上

clip_image012

設定帳號、密碼、主機名稱等。

clip_image014

新增移除程式用,可以使用內建的模組,也可以開啟左下角的 Terminal,利用 apt-get install來安裝。
最後,要按 Apply 讓改變生效!

5.第三關:設定輸出,產生ISO檔

clip_image016

在 Filename 指定 iso 檔名。
產生ISO檔約10多分鍾,可以休息一下。

6.第四關:完成,燒錄。

clip_image018

完成後,按 Burn ISO可以直接燒錄,或是使用 qemu 模擬看看。
qemu install:
sudo apt-get install qemu bochsbios vgabios
use:
sudo mount -t tmpfs -o size=272m none /dev/shm
qemu -cdrom ~/ubuntu-custom.iso -boot d -m 256

PS:
1.不要急著按 Finish,先將成果試用看看,要修改的話,按 Back 直接修改即可,不用重頭來。
2. 官方 live cd有很多用不到的套件,像ttf-xxxxxx-fonts,很多是其他語系用的;
language-pack-XX、language-pack-gnome-xx、language-pack-kde-xx用不到的也都可以移除。
3.中文語系 language-pack-zh, language-pack-gnome-zh, language-pack-kde-zh 裝好後,再裝language-support-zh ,會把缺的都裝好。

2007年11月29日 星期四

Using Linux OS install Ubuntu 7.10 for you system

Partitioning

Use fdisk to partition your hard disk.
# fdisk /dev/sda

Remember to set the root partition bootable!
For the rest of this instruction we assume the following partition layout.

/dev/sda1 (83  Linux)        - for /,
/dev/sda2 (82 Linux swap) - as swap
Creating File Systems

Below is how we get our / populated with ext3.
# mkfs.ext3 /dev/sda1
And the same for our swap partition.
# mkswap /dev/sda2

Getting Debootstrap


Debootstrap is a collection of scripts that we will use in the next step to set up a base system.
Make sure that binutils is installed on your system.

# wget debootstrap_1.0.7~gutsy1_all.deb
# dpkg -i debootstrap_1.0.7~gutsy1_all.deb

Please change list os frame ARCH for debootstrap command:
alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390,or sparc。

# debootstrap --arch i386 gutsy /ubuntu http://tw.archive.ubuntulinux.org/ubuntu

Installing the Base System

# cd /ubuntu
# cp -r * /media/disk/

Installing GRUB for your Hard Disk MBR

The boot loader is most important, so do:
# grub-install --root-directory=/media/disk /dev/sda
please check /media/disk must have /boot/grub folder。

Copy and set your computer configure for Hard Disk

# cd /boot
# cp -r * /media/disk/boot
# vi menu.lst
# cp /etc/network/interfaces /media/disk/etc/network/interfaces
# cp /etc/resolv.conf /media/disk/etc/resolv.conf
# cp /etc/hostname /media/disk/etc/hostname
# cp /etc/apt/sources.list /media/disk/etc/apt/sources.list

Building External Linux Kernel Modules

# make menuconfig
# make
# make install
# make modules
# make modulesa_install

Move new compile kernel and create link to disk

# mv config-2.6.22.9 /media/disk/boot/
# mv System.map-2.6.22.9 /media/disk/boot/
# mv vmlinuz-2.6.22.9 /media/disk/boot/
# cp /etc/apt/sources.list /media/disk/etc/apt/sources.list
# cp -r /lib/modules/2.6.22.X /media/disk/lib/modules/2.6.22.X
# cp -r /lib/firmware/2.6.22.X /media/disk/lib/firmware/2.6.22.X
# cp initrd.img /media/disk/
# cd /media/disk/boot
# ln -s config-2.6.22.9 config
# ln -s System.map-2.6.22.9 System.map
# ln -s vmlinuz-2.6.22.9 vmlinuz

Enter the new environment

Before we chroot into the new environment we need to mount /proc and /dev

# mount -t proc none /media/disk/proc
# mount -o bind /dev /media/disk/dev
# LANG= chroot /mnt/ubuntu /bin/bash

Update new packet list and installing packages for computer

# apt-get update
# apt-get install busybox
# apt-get install vim
# apt-get install matchbox
# apt-get install locales
# apt-get install console-data
# dpkg-reconfigure locales
# dpkg-reconfigure console-data

2007年11月22日 星期四

Virtual Private Network

企業虛擬網路(VPN,Virtual Private Network)的技術在於利用公眾網路( Public Internet )的骨幹做私人的資料傳輸。

為了不使私人的資料在公眾網路上遭到攔 截,加密及解密的技術, 在企業虛擬網路中可說極為重要。
定義: 架構在網際網路上的企業網路
分類(以建立技術分別):
1.利用Internet IP技術的 IP VPN
2.利用Frame Relay/ATM 技術的 FR/ATM VPN
以傳輸方式與內容區分
1.Data VPN 、Voice VPN 、整合的 VPN

VPN架構圖

1

Demo VPN platform

2

以PPP建立身份驗證連線:
增強的安全性 VPN通過使用點到點協議(PPP)用戶級身份驗證的方法進行驗證

以PPTP & P2TP 通道協定:
1.PPTP 建立通道或將 IP等協定封裝在 PPP 資料包內,因此允許用戶遠端運行依賴特定網路協定的應用程式
2.L2TP使用新的網際協議安全 (IPSec) 機制來進行身份驗證和資料加密

身份驗證方法
1: CHAP
CHAP 通過使用 MD5 來協商的一種加密身份驗證之安全形式
2: MS-CHAP
由微軟開發,為了對遠端 Windows 工作站進行身份驗證
3: MS-CHAP v2
第二版的質詢握手身份驗證協議,它提供了相互身份驗證和更強大的初始資料密鑰,而且發送和接收分別使用不同的密鑰
4: EAP
通過使用 EAP,可以增加對許多身份驗證方案的支援,其中包括權杖卡、一次性密碼、使用智慧卡的公鑰身份驗證、證書及其他身份驗證。

所使用的PPP套件
ppp-2.4.1-3.i386.rpm
PPTP套件
pptpd-1.1.3-2.i386.rpm

實做Linux VPN 基本設定
/etc/ppp/chap-secrets
#username servername secret ipaddress
validname * validpass * 登入帳號
/etc/ppp/options.pptp
lock
debug
auth
+chap
ms-dns  你區網用的DNS
/etc/pptpd.conf
debug
option /etc/ppp/options.pptp
localip 192.168.1.80-89 (PPTP server will have - can be single IP)
remoteip 192.168.1.70-79 (will be assigned to clients)

實做Linux VPN 結論
準備所需要的套件(ppp pptp)
設定環境檔案
/etc/ppp/chap-secrets
/etc/ppp/options.pptp
/etc/pptpd.conf
需MS-CHAP等其他加密方式者,需重編譯Kernel 加入bsd_comp module

收集信息與探測 是非常重要的

現在的「入侵」的確非常時髦,從各個網站的點擊上就可以看出來了,只要就什麼「攻擊」、「入侵」什麼的,點擊率一定高。
可是,這些東西里面又有多少是自己的東西呢?

現在沒有幾個人去關心到底是什麼,根據是什麼。想做「黑客」、「駭客」得人多的是,
反正現有的免費工具功能強大,只要到處找找,就能夠為所欲為了。

當然,我也沒有這個實力去談論系統底層,但是還是需要一些更加基礎的知識:網絡協定、操作系統。

計劃介紹的內容包括信息收集,探測,滲透,帳號破解,入侵攻擊,清除蹤跡,後門製作等等(龐大的計劃),
主要都是從實現上來講的(使用其他工具的不是計劃內),其中的原始碼都需要自己寫。只希望能夠讓更多人脫離「工具黑客」
,去看看實際到底是什麼,然後去自己探索應該是什麼。

收集信息與探測

信息收集其實是非常重要的,我看過一本書,當年的駭客為了入侵別家公司的電腦,還守在廢棄的垃圾收集場,翻了3天垃圾,就在廢文件找到了一些相關的信息

當然,你只是一個工具愛好者就不說了。一個真正的入侵者應該非常具有針對性,而不是隨便看看。
這樣就意味著需要收集和目標相關的足夠的信息,而且需要判斷哪些信息是可利用的。整個網絡本身就是由信息構成的。

當然,對入侵有直接用處的是下面這些信息:
1、 相關人的姓名,常用代號,電子郵件地址
2、 網站地址,規模
3、 安全措施等級
4、 相關的開放主機信息
5、 與能接觸到的主機的一切相關消息,比如最新BUG等等。(對付網管高手來說,就麼跟他比誰的漏洞瞭解得最新最快)

在這麼龐大的網路上,怎麼能夠收集到需要的信息呢,這就需要熟悉使用google大神了。它簡直是無所不能

http://www.crsnic.net/
http://www.networksolutions.com/
http://www.arin.net/
www.uwhois.com/cgi/whois.cgi
等等,只要是域名註冊地方都能夠使用Whois來查詢。
比如:通過 whois.nic.gov查詢 「whitehouse.」 後面有一個「.」哦。就能夠得到非常多的域名信息,其中第一條就是:

Executive Office of the President (WHITEHOUSE-DOM)
Office of Administration
Washington, DC 20503

Domain Name: WHITEHOUSE.GOV
Status: ACTIVE
Domain Type: Federal

Technical Contact, Administrative Contact:
Reynolds, William D. (WDR)
(202) 395-6975
WILLIAM_D._REYNO...@OA.EOP.GOV

Domain servers in listed order:

DNSAUTH1.SYS.GTEI.NET 4.2.49.2
DNSAUTH2.SYS.GTEI.NET 4.2.49.3
DNSAUTH3.SYS.GTEI.NET 4.2.49.4

Record last updated on 28-Aug-00.

通過這些whois能夠查詢到域名相關的註冊信息。其中對我們有幫助的是:
* 註冊機構
* 相關ip地址
* 註冊人聯繫辦法,比如EMAIL、姓名等
* 有關DNS的解析地址
通過這樣的查詢,能夠製造「域名劫持」的攻擊,感興趣的,可以到搜索引擎自己找找。

當我們確定域名後,就可以進行DNS查詢,在Llinux系統有一個nslookup的工具

現在進入nslookup的交互模式,在命令行輸入nslookup。

>nslookup
> cnhonker.net (查詢域名)
Server: ××××××××××
Address: ××××××××××

Non-authoritative answer:
Name: cnhonker.net
Addresses: 211.154.211.203, 211.154.211.204 (得到域名的相關地址)

> set type=ns (把查詢的類別設置為查詢名字服務器)
> cnhonker.net
Server: ××××××××××
Address: ××××××××××

Non-authoritative answer:
cnhonker.net nameserver = ns4.chinadns.com
cnhonker.net nameserver = ns3.chinadns.com

ns4.chinadns.com internet address = 202.108.32.89 (得到名字服務器地址)
ns3.chinadns.com internet address = 202.108.32.88
(這裡一個是主名字服務器,一個是次名字服務器)
> server 202.108.32.89 (現在我們把DNS查詢的服務器改為目標域名的名字服務器地址,就是替換我上面用××××××××××代替的部分)
Default Server: [202.108.32.89]
Address: 202.108.32.89

> set type=all (設置查詢的內容是所有記錄)
> ls -d cnhonker.net (顯示域名的內容)
[[202.108.32.89]]
cnhonker.net. SOA ns4.chinadns.com hostmaster.ns4.chinadns.com. (2001
072841 3600 900 720000 3600)
cnhonker.net. NS ns4.chinadns.com
cnhonker.net. NS ns3.chinadns.com
cnhonker.net. MX 10 mail-g1.chinadns.com
cnhonker.net. A 211.154.211.203
cnhonker.net. A 211.154.211.204
admin A 202.108.32.88
news A 210.74.254.146
mysql CNAME mysql-g1.chinadns.com
mail CNAME mail-g1.chinadns.com
www A 211.154.211.203
www A 211.154.211.204
www2 A 61.153.17.3
bbs A 202.108.32.88
ftp CNAME http://www.cnhonker.net/
cnhonker.net. SOA ns4.chinadns.com hostmaster.ns4.chinadns.com. (2001
072841 3600 900 720000 3600)
> exit

我們得到相當多關於這個域名的IP地址等等東西。Nslookup是一個非常有用的命令。

信息收集還有一些非常多的辦法,最可能多獲得的地方就是對方的網站了。請留意網頁中得下面這些地方:
1、網頁上的相關email地址,也許能得到某某人的姓名使用的EMAIL。
2、各個子域名,一般對不同子域名可以得到不同的IP地址或者說是不同的服務器,請相信,數量和漏洞是成正比的。
3、多看看網頁得源代碼,也許很多註釋裡面有不少內容呢。
到這裡,已經提到很多次收集EMAIL地址了。EMAIL有這些用途:

1、可以偽裝一個EMAIL帳號,然後給另外的EMAIL發信,要求密碼帳號什麼或者探聽有關消息之類,如果你冒充的是CEO,可能密碼就輕鬆搞定。
2、偽裝域名管理EMAIL可以試探進行域名劫持。
3、一般EMAIL帳號的密碼破解比系統密碼破解容易得多,通常郵件密碼是一直沒有改過的而且非常簡單。如果能夠得到一個EMAIL帳號,
你可以接收其郵件,得到更多的信息。
4、給某個EMAIL發郵件,從別人的回信的郵件頭中可以得出其使用的郵件服務器地址,甚至可能得到其內部網的IP地址,
還能夠知道他使用的什麼郵件軟件,如果是OE,那麼就可以使用OE的漏洞。
5、給他發木馬,粗心的人對很多感興趣的話題失去警惕,可能就中了你的木馬。

男人賤 還是女人賤呢?

昨天跟朋友吃飯忽然就討論起這個話題, 他說有一個女孩子告訴他這個理論

0820408822

男人賤:多數男人都是散盡錢糧去討好女人,為了女人做牛做馬都開心無比,像是天生欠了女人的債,整天就像條哈巴狗壹樣跟著女人身後出出入入的,只為了博佳人壹笑,可是到頭來,卻落得壹場空,這種是自取其辱的賤法。

女人賤:多數女人吃"甲"的麵包喝"乙"的牛奶, 心裡想的還是"丙"好,天天早上還幫我帶早餐,多浪漫,是懂得利用資源的賤。

"付出也是賤,不付出也是賤,也許人之本性就是賤," 那麼結論是滿天下都是賤人!以上言論博君一笑, 不代表本人立場。

男人不壞,女人不愛,當這句話越來越流行時,當男人們壹個個都戴著付流氓的面具,只為了想當那個讓女人愛的壞男人,莪不知道這個世界怎麼了,是女人太賤喜歡男人的喜歡花言巧語,然後用自己一生的幸福來換取這個男人一輩子的欺騙,或是男人本身便是如此?

第一次的模擬考試,我還真是覺得有點汗顏

這星期六就要開始正式上第一堂的ILEST, 經過第一次的模擬考試, 我還真是覺得有點汗顏, 並且受到更大的打擊

本來知道自己的英語不好, 卻不知到有爛到那種地步, 現在開始每天都要留在公司, 好好的加強訓練, 期望在這個課程結束後, 能夠大力的提升程度, 不然錢真的白花了, 課程將於12月底結束

在聖誕節後能考個好成績, 反正現在有很久沒有收過聖誕節禮物了, 就當作自己的聖誕節禮物

做了對不起朋友的事你會怎麼辦? 問心無愧,寧願跟真小人做朋友,也不願跟偽君子相處

你在做了一件傷害人非常深的事, 卻是由對方發現真相, 那時再跑去跟對方道歉那會是有效的行為嗎?

妳真的把別人當作傻瓜 , 也很多事情, 不是不知道, 是裝作不知道, 用解釋的理由 , 想把每件事都混過去。

一個有義氣的人, 是把朋友放在心上 , 用行為表現,並不是放在嘴上說說, 雖說要對人寬恕, 但也是應該看事情的輕重,若是一些無傷大雅方面,那倒是可以一笑泯恩仇。

若是犯了對方禁忌的事情,你以為用 " 給足了對方台階,朋友就會順著台階下來的, 該做的努力都已經作了,自己問心無愧了,不會留下遺憾就好了"

這種方法"去謀求自己的心安, , 用推太極的方式,到時候在表現出一切都是對方的問題要表現出自己有風度的作法"。

這種人真的是真夠偽君子呀,所以我寧願跟真小人相處,也不要跟偽君子交往,最少他傷害你並不會最深。

社會就是一個人類的野生動物園,弱肉強食,動物兇猛,你不得不哪怕在睡覺的時候都防著被狠狠地咬上一口。

融入這個社會就必須要戴「面具」做人嗎? 面具,無非是為了保護自己...

3521079447

現實社會中的人真的是很虛偽。明明不喜歡你,可當你對他有利用價值的時候,他就一定會裝出一副很喜歡你的樣子。工作中的同事也是一樣,未必相互喜歡,卻要對你擠出虛假僵硬的笑容,這樣的笑容下面不知道隱藏著些什麼。
人人都戴著面具。公司裡面很多人對不同的人使用不同的面具,他們怎麼能夠忍受這種人格分裂的生活。
社會就是一個人類的野生動物園,弱肉強食,動物兇猛,你不得不哪怕在睡覺的時候都防著被狠狠地咬上一口。

不到只有你們兩人的場合,他永遠不會摘下平時的那副面具,以至於一旦看到真實的他,你會覺得這個人有多麼的陌生。特別是婚姻上面,總是有很多人抱怨婚後的對方變得完全不認得了,其實對方沒有變,他們只是恢復成原樣或者戴上了一幅薄一點兒的面具而已。

一旦災難降臨,人人為了生存摘下面具,那時你才能看到真實的人類社會。
為什麼人不能真實的表達式自己的喜好?有時候想想做人真的是很累!要融入這個社會就必須要戴「面具」做人嗎?
面具真是一種很有意思的東西,據說戴了面具性情都會不一樣,因為摀住了自己的容貌和表情,沒有被觀看的不安,又有角色扮演的引導,於是釋放了潛藏的自我 。

誰說情人節身邊沒人,單身的人一定要難過吧?

情人節都是一人孤單的過了,再不然就裝作沒這回事努力的工作,

可是都會被同事問到 " 你怎麼不去約會呢 ?",當場腦子當機,支支吾吾的回答工作沒有完成。

剛開始單身時,心裡還有揮之不去的悵惘,久而久之,卻愈來愈釋懷愈麻痺。

情變後的情人節,最是寂寞難忍的日子,而在情人節之後又到了戀情生變的日子,更是讓人感到恍如隔世。
後來學會了用一種嘲諷的心態,去面對這個被志玲姊姊的金飾廣告轟炸、被各種廣告鼓吹歌頌的節日。

不就是被炒作出來的節日麼?

5687065456 痴男 3288337655 怨女

單身的人若是這一天沒約會,那就代表了自己沒行情;死會的女人若這一天沒收到男人的禮物、或擁有一個浪漫的燭光晚餐,那就代表愛情出現危機;死會的男人若這一天沒想法子取悅女人,就會帶來「你不夠愛我」這個永遠洗刷不了的罪名。天呀,唉!真是何苦來哉?
「兩情若是長久時,又豈在朝朝暮暮」人人都懂,卻是少有人看得透。
話雖如此,我也不反對在這一天收到一個情人節驚喜就是了。在此願天下的單身男女,在這個颱風的情人節快樂

或執著,或放下。手放開, 心放下, 真的能放下嗎?

下午走到戶外,只因空氣沉悶,閉上雙眼, 緩和一下乾澀的眼睛, 覺得柔和的陽光, 此刻看到卻是這麼耀眼。

不禁想起佛教的一句話:

"一念成魔,一念成佛" , 世事皆在一念之間, 或執著, 或放下。
以為自己早已看清看透, 以為早已把一切放下, 在這一秒鍾來臨的時候, 卻發現自己還是執著, 莫名的感覺, 慢慢的侵蝕我的心靈, 眼看著這一切發生, 而我卻無能為力。

到最後, 既不能成佛, 又無法入魔, 只能徘徊於佛與魔之間, 繼續折磨自己, 也許某一刻, 會突然醒悟, 或成佛, 或入魔!

"貪、瘨、痴"乃是人最大的痛苦, 畢竟人在紅塵中,就當個紅塵俗世人吧!

來來來, 來工作, 去去去, 去英國

從退伍後, 進入社會這個複雜的環境中, 不知不覺快五年光陰了, 前一陣子想起去留學的夢想, 就特別花了時間去問了一趟UKEAS

一聽到花費就有點小小的傻了, 因為快要一台BMW的價格, 除了錢是問題外, 那還要經過語言認證, 才能申請到好學校,出了社會工作的人, 想要回去學習卻是相當的難呀, 之後又要去蹲補習班了, 又是暗無天日的生活呀

4068745640

但是為了夢想 要努力實踐 "英國" 等著我的到來吧

今天晚上,就有了新的腳踏車了

今天晚上,就有了新的腳踏車了, 在高中畢業後, 腳踏車就離我的生活遠去

5968499766

前幾天聽到王識賢的腳踏車, 不禁想起那個16歲的青澀的時光, 說起來應該是懷念那段兩小無猜的戀情吧

繞來繞去騎 阮的腳踏車 等待你下課 陪你每天作陣行
輕輕心內話 伴著車輪腳踏聲 阮的希望攏寄直暇
樹頂的鳥仔 不時來偷聽 聽咱談戀愛 快樂約會的心晟
阮的純情夢 為你每天坑直這 歡歡喜喜陪你作陣行
繞啊繞啊繞 繞著咱的愛 踏啊踏啊踏 踏著青春甲期待
甜蜜的滋味 摻著咱的愛 阮的永遠 坑在心內

 Ubuntu has a mechanism, that is, the installed network card (NIC) will be renamed to another name when the system is booted. Although there...