2010年12月28日 星期二

vim 16 進位顯示

16 進位顯示

:%! xxd


切換回正常顯示

:%! xxd -r


2010年11月12日 星期五

流浪者之歌

人生就是不停畫著同心圓沙圈
一圈一圈擴大心的體驗

而你們
就是我願裡的沙
為我舉起刻骨的痕


2010年7月19日 星期一

測試 UDP Port 狀態

FreeBSD 需由 ports 安裝 nmap


nmap -p PORT -sU -P0 IP


結果:

[root@XXX] ~# nmap -p 1812 -sU -P0 127.0.0.1

Starting Nmap 5.21 ( http://nmap.org ) at 2010-07-19 17:22 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (1.0s latency).
PORT STATE SERVICE
1812/udp open radius

Nmap done: 1 IP address (1 host up) scanned in 2.11 seconds
[root@XXX] ~# nmap -p 1815 -sU -P0 127.0.0.1

Starting Nmap 5.21 ( http://nmap.org ) at 2010-07-19 17:22 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00051s latency).
PORT STATE SERVICE
1815/udp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 1.19 seconds


2010年6月28日 星期一

Perl 取代並寫回目標檔案內容

取代前 target.txt 內容

123abc
456abc


執行

perl -pi -e 's/abc$//g' target.txt


取代後 target.txt 內容

123
456





取代前 code.txt 內容

function abc()
{
echo('abc');
}

function def(){ echo('def'); }


執行

perl -pi -e 's/^(function )([a-z])/$1.uc($2)/eg' code.txt


取代後 code.txt 內容

function Abc()
{
echo('abc');
}

function Def(){ echo('def'); }



備註:
-p 是單行比對模式。
若需要多行比對,請增加 -0777 參數,此參數的意義為「將讀取分隔符號從 \n 變成 undef」,等同於等個檔案內容一次讀入做處理。多行比對同時需要加上 s 修飾字。


2010年6月14日 星期一

約定?

「那約定怎麼辦?」我說。

「你瞭解我的,那只是一時昏頭」她回。
「真是多虧了那一句話點醒我」
「那些問題你能解決嗎?」

「再說吧」
我瞇著淚眼笑。


你懂

想著
想著
想著一切

總覺得飄渺

或許
在那踏實的背後
躲著一股
小小鼻酸

只有
你懂


不悔

叮啷一聲
果汁店收銀機驚醒了我的渾沌

難道
這竟是他們戲稱的
賺那買藥錢

怎麼我會在這兒
只為那
不悔的十年之約

為她摘下星星


2010年6月1日 星期二

美味咖哩作法

1.大蒜、洋蔥 炒至褐色軟透
2.加水後倒入果汁機
3.加入切碎的 胡蘿蔔 一起打碎
4.倒回鍋中,加入 馬鈴薯 與 辣椒,煮 20分鐘
5.取出 馬鈴薯 與 辣椒,過篩後倒回鍋中
6.放涼湯汁
7.加入 咖哩塊、奶油 與 砂糖煮化
8.肉煎過,加入鍋中熬煮 2小時,放置一晚自然涼(或肉煎熟後直接放入醬汁中食用)


2010年5月24日 星期一

憂傷瞬間

淡淡地憂傷
我感覺到

臉頰上的涼意 是蒸發中的悲傷
心裡曾經的裂痕 無聲地淌出了熔岩
滾燙著吞噬掉唯一的幸福

只剩一片孤寂的煙
飄散在下午 2點 39分的面前


2010年4月26日 星期一

FreeBSD 找不到 Share Library 的解決方法


  1. 定義 LD_LIBRARY_PATH 於 環境變數中,將 Share Library 的所有可能路徑都設上去
    # setenv LD_LIBRARY_PATH /path/to/share/library:$LD_LIBRARY_PATH

  2. 以 Root 身份執行 /etc/rc.d/ldconfig restart
    # /etc/rc.d/ldconfig restart

  3. 打完收工


2010年4月21日 星期三

感動的片段

有一種感動 只能放在心裡 不能用言語表達
那是當你老了坐在庭院的躺椅上 吹著徐徐微風時 會不自禁發出微笑的片段

老伴看著你問「什麼事這麼開心?」
你只回說「沒事,只是想到以前的往事」就無法繼續說明

因為你無法說明 也不願用言語去說明
深怕以言語的形式出現時 會破壞了那形而上的純淨的感動
只願像個拿著棒棒糖的小朋友 獨自享受


2010年4月13日 星期二

MySQL 設定 Replication (Master - Slave)

文章出自 johnpupu

MySQL 設定寫入 Master 後, 自動 Replication 到 Slave 去, 運作基本原理是:

INSERT/UPDATE/DELETE 語法, 自動寫入 Master 的 binlog file.
由 GRANT REPLICATION 授權的帳號, 自動將 SQL 語法 repl 到 Slave 的 DB 執行.
因而完成 Replication 的動作.

Master

1. 複制 my.cnf

甲、#cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf


2. 修改my.cnf

甲、server-id = 1

乙、log-bin=mysql-bin

丙、expire-logs-days = 7

丁、max_binlog_size = 268435456

戊、# 若是 innodb, 且有用 transaction 的話, 需再加入下面兩行
innodb_flush_log_at_trx_commit=1
sync_binlog=1

3. # mysql -u root -p # 進入 mysql

甲、# 先假設 帳號 repl, 密碼 repl_pass, 此步驟是 設定 repl 的帳號/密碼,
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl_pass';
# 格式:
mysql > GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl_pass';
# (Replace with a real password!)

乙、# 先讓 DB 不要再寫資料進去
mysql> FLUSH TABLES WITH READ LOCK;

丙、# 這邊資料都要記好, 等一下設定 Slave 要用
mysql> SHOW MASTER STATUS;

+----------------------+------------+------------------+----------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+----------------------+------------+------------------+----------------------+
| mysql-bin.000014 | 232 | | |
+----------------------+------------+------------------+----------------------+


4. # 離開, 準備倒資料
mysql> quit

5. # 倒資料
cp –Rp /var/db/mysql /mnt/nas

6. # dump 完資料後, 進去 mysql 解除唯讀
mysql> UNLOCK TABLES;





Slave

7. 複制 my.cnf

甲、#cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf


8. 修改my.cnf

甲、server-id = 2 # server-id 不能與其它機器相同

乙、log-bin=mysql-bin

丙、expire-logs-days = 7

丁、max_binlog_size = 268435456

戊、# 若是 innodb, 且有用 transaction 的話, 需再加入下面兩行
innodb_flush_log_at_trx_commit=1
sync_binlog=1

9. 複制mysql 資料夾過來

甲、# mv /var/db/mysql /var/db/mysql.bak

乙、# cp -Rp /mnt/nas/mysql /var/db/mysql

10. 設定slave

甲、mysql> CHANGE MASTER TO
MASTER_HOST='MASTER_HOSTNAME',
MASTER_USER='repl',
MASTER_PASSWORD='repl_pass',
MASTER_LOG_FILE='mysql-bin.000014',
MASTER_LOG_POS=232;
# 這邊就要用到之前 Master 抄下來的值

乙、# 這樣子就會開始 Replication 了, 會將 LOG_POS 之後新的資料開始 sync 回來
mysql> START SLAVE;

丙、# 檢查一下設定
mysql> show master status;



丁、# 檢查一下設定, 看是不是有異常狀況
mysql> show slave status;


測試

11. 在 master: mysql> create database test2;

12. 在 slave: mysql> show database; # 應該會看到 test2


2010年2月23日 星期二

不願是你的煩惱

(衛視'愛情白皮書'主題曲)

長長的這條街 我走了好幾遍
多希望只是錯覺
你又忘了與我還有約

從認識到瞭解 從沉默到拒絕
還需要多少時間
我們才有勇氣面對

愛得多深 你知道就好
愛得多辛苦我記得就好
所有感情的煎熬
全讓我苦 讓我承受
你可以忘掉
我不願是你的煩惱

長長的這條街 我走了好幾邊
多希望只是錯覺
我知道我已經忽略