2012年1月31日 星期二

Postgresql 備份

$ sudo -u postgres pg_dumpall > /backup/postgresql_all.sql
 
 
 
Reference: 
備份和恢復
波哥的IT私房菜: Postgresql DB 備份與還原

MySQL 備份

備份 schema
$ mysqldump -u root -p --no-data dbname > schema.sql

備份單個資料庫
$ mysqldump --user=root -p --database --extended-insert=FALSE db_name --opt > my_databases.sql
--extended-insert=FALSE 將每筆資料分開 INSERT

--skip-extended-insert

備份整個資料庫
# cp -r /var/lib/mysql /backup
or
$ mysqldump --user=root -p --all-databases > /backup/mysql_all.sql


回復資料庫
$ mysql -u root -p -D db_name < my_db.sql




Reference :

git 指令

$ git init

$ git clone http://git.example.com/project.git

$ git pull

$ git add .

$ git commit -m 'initial'

$ git push origin master

2012年1月14日 星期六

生活十講 / 蔣勳 (摘錄)

● 在巴黎從來不會同時出現四千多家蛋塔店,這是不可能會發生的事 (p 34)

● 而且安安靜靜的,不想去驚擾別人似的 (p 35)

● 如果教育沒有引帶出個人的內省能力,最後卻要求他自省,我們就是殺人兇手 (p 56)

● 這種強加的崇拜,是權力者的愚弄,所以我們會覺得很痛苦 (p 64)

● 我其實很害怕,因為我覺得我們並沒有那麼厚實的基礎,而我們自大,將使我們落入不能順利發展的狀態 (p 66)

● 中國人的教育根本是一種安逸的教育,在孩子的成長過程中,對於冒險犯難的鼓勵非常非常少 (p 70)

● 讓他學會謙卑,對於他日後的成長,會有正面的影響 (p 81)

● 信仰裡面最可貴的就是一個自我反省的過程,也就是認識自己有多貪心、有多賴皮、有多恐懼。你知道了以後,再回到現世裡,在做人處事上都會有一些不同,平常的咄咄逼人可能會收斂一點點,平常的予取予求可能會稍微少一點,其實只是平衡而已 (p 82)

● 事實上,愛因斯坦的信仰不是出自脆弱,而是謙卑,因為他知道自己還有不足,而知道自己的不足是一種堅強 (p 82)

● 嬰孩是最圓滿的狀態,因為無所求,無所缺,一旦開始有困惑、有不足時,就會追求,就會要「反璞歸真」 (p 83)

● 應該要知道每一步踏過來是多麼艱難,你不會去嘲笑,反而會尊敬 (p 84)

● 所有的東西都可以被人情修正,人情最後就有可能會被利用 (p 87)

● 任何你在生命裡的某一個階段,所有相信的事物都可以是信仰。最好的信仰,一定是禁得起所有人的懷疑 (p 90+91)

● 信仰教育是不是應該從兒童時期就開始,可能是幼稚園或者是小學,這是第一個可以思考的 (p 91) 暫不完全贊同

● 當然悟道的過程會有很多坎坷、挫折的,甚至也可能走錯路,也因此能凸顯最後所謂的「正果」精神 (p 92)

● 這個試探其實也是他內心的東西 (p 92) ?

● 他整個邏輯的訓練跟思維的縝密性都不夠,恐怕一碰頭究垮掉了,因為他沒有思辨能力。這個垮掉很危險,因為垮掉也意指著,有一天他很容易相信什麼、不相信什麼..... (p 92)

● 一個人的思想可以一直在跳躍 (p 93) me me me me

● 這其實是很危險的事情,尤其在一個已經成熟,比如說已經四十歲的人了,還一直替換信仰跟思想的時候,這個人本身需要被質問,到底你在想什麼? (p 93)

● 可是當今教育體系重視的是「結果」,急功近利的要求結果,少掉了思辨的過程,當然有一天會出問題 (p 94) 是否能取得平衡,要再思考幾下

● 以一切眾生病,是故我病 (p 96)

● 在人世間所經歷的受傷、挫折、坎坷,都是一個領悟的重要契機。這時候我們又可以從另一個角度看社會所發生各種問題事件,每一個事件都是非常好的學習機會 (p 98)

● 當他所信仰的一切都幻滅時,他是應該被同情的 (p 98)

● 生命本質的真相 (p 99) ?

● 資訊系的學生也是,他應該思考的是如何設計出一個程式,引導一場電腦的革命,而不是趕快發展一種軟體在光華商場上賣錢,或是畢業後要進入哪一家大公司當工程師 (p 106) : )

● 這一批在商業系統當中物化的最嚴重的人。他們極不快樂,因為問題已經發生了,使他們的精神苦悶,也因為不快樂,所以我說的話,比較容易聽得進去,他們比較願意做一些挽救的工作,而他們對社會的影響力也許是比大學更大的 (p 107) ?也不一定不快樂

● 物質與人文是兩個極端,我不想從兩全其美的角度去思考,我認為人精神上的快樂與物質上的快樂,需要平衡;沒有覺得精神上的快樂,也沒有絕對物質上的快樂,走向極端的任何一邊,都可能導引出一種不健康的生活 (p 108)

● 有優點也有缺點 (p 111)

● 然而,這個時候緊急煞車也很危險。要在極短的時間內去扭轉價值觀,很容易就走向另一個極端 (p 114) 多思考 多思考 多思考

● 我們談論資本主義的問題、物化的問題,不是希望最後大家都奉行嚴格的禁慾主義,放棄所有的物質生活。我有一些朋友的確這麼做,他們離開台北到東部去,過著 非常儉樸的生活,穿棉布的衣服,每天到菜市場去檢人家賣剩下來的菜葉和水果。我很感動,也對他們有很大的敬重,可是我覺得那是一種很高的宗教修行,對一般 大眾並不適合 (p 116)

● 一般大眾還是會有一些小小的物質貪念,一些小小的情愛生活,這是很基本的,無可避免的。可是,我們都可以做點什麼,讓自己不要那麼輕易的「服輸」,如果說 物化是一台巨大的絞肉機器,我們可以選擇不要被捲進去。這個體制一但運作起來了,整個自然環境會被絞進去,土地被開發、林木被砍伐,然後變成物質買賣。甚 至是人文的東西,例如教育、道德、倫理也都可能被絞的支離破碎 (p 116)

● 或至少不要轉得那麼快,把無辜的人都絞進去 (p 117)

● 譬如在學校裡教書的老師,他要思考如何讓自己的專業不要輕易的被體制所利用 (p 117)

● 就像我前面說的,我不贊同禁慾主義來抵制物化,知識份子是要從一個充分了解社會、了解人性的角度,去思考這個問題 (p 119)

● 當《聖經》變成基督教的一部份之後,非基督教徒可能就會開始排斥這本書,不再把它當作文學作品,而對基督教而言,它也變成一種信徒式的信仰,不是文學了 (p 126)

● 人大概到最後才會懂得,重要的不是「要什麼」而是「不要什麼」 (p 141)

● 文學其實是一種疏離。你在鏡子裡看自己的時候,若能夠疏離,就能產生文學 (p 143)

● 有了悟性的看破時,就可以不帶成見的去看一切事物 (p 144)

● 保持旁觀者的冷靜,去觀看一切與你有關或無關的事 (p 144)

● 她常說西安的石榴多好多好,她說的不是石榴,是她失去的青春歲月,是她失去的青春歲月,是她再也見不到的母親與故鄉。所以石榴的象徵意境越來越大,越來越甜,越來越不可替代;而她每一次在異鄉吃到的水果,都變成憎恨的對象 (p 146) 就好像我在工讀時期的態度

yrw : 做事情最怕不公平

● 他們都忘了故鄉從來沒有過他們描述的美好,是這五十多年來他們自己幻想附加上去的 (p 147)

● 文學和哲學是兩種不同的東西,哲學會幫助文學,因為哲學有一個責任,要為真相做最後的檢查,在真假之間做了很多檢討,所以有哲學的文學是很好的文學 (p 147)

● 如果你住個公寓裡面也有一個小氣高老頭,大家說樓梯間的燈壞了,每戶都要出錢修理,他就是會想辦法不出,讓你覺得非常討厭。在看過《高老頭》這本小說後, 你可能就會改變你的態度,你不會只是很他,你會想要觀察他,想要了解他的背景,他是怎麼樣長大的,為什麼他對物質會有這樣的態度,這時候你就開始有了一個 「文學書寫式的寬容」。並不是說你在現實生活裡一定會接納它,但至少有了一個東西可以讓你去轉換觀察的角度 (p 152)

● 一年前,我在南京東路吃到一家小店的肉圓,很好吃,一年後再去,它變成電腦店,而且是同一個老闆;或者,原來開服裝店的老闆突然跑去賣蛋塔了。變化之大, 常常讓我覺得不可思議。一方面固然是展現台灣人的生命力、學習力,另一方面也顯示出,台灣缺乏以時間醞釀的專業度與精緻度 (p 157)

● 可是,我相信即使是當編輯,詩人還是有他的矛盾與衝突。有時候我跟詩人朋友談起他們的編輯工作,我發現,每一分一秒都有他的衝突和掙扎在裡面,只是他們也會慢慢的調整自己,讓自己能夠從繁瑣的編輯事務中,整理出一顆空靈的心留給詩 (p 158)

● 最終你只能選擇,選擇你要什麼,不要什麼。譬如說手機,它可以讓人隨時找到你,傳遞訊息給你,可是相對的,你的生活也會越來越不自由,有更多的牽掛,更多的干擾,一個專屬於自己的反省、讀書、沉思、安靜下來的時間空間越來越少 (p 172)

● 我就常碰到在電腦界、科技界工作的朋友,很認真的在讀宗教、讀哲學,對於過去認為是非科學的玄學系統,表現出極大的虔誠。就像愛因斯坦,他是二十世紀最偉 大的科學家,事實上他也是非常虔誠的教徒,且非常喜歡巴哈的音樂。這就是說外在環境和內在心性這兩個部分是一起在進步的,就是我們在修眼耳鼻舌身這些根器 的同時,其實你內在的東西也必須進步,一起發展 (p 172)

● 我突然懂了為什麼《論語》說:五十而知天命。我已經過了這個年齡,真的覺得對眼前的事物有一種淡、有一種同情,這個同情跟以前的介入不同,是對人世間有一 種「靜觀」的姿態。靜觀,所以不會因為外面的喜樂悲哀而喜樂悲哀,但又不是不關心,或者應該說是更大的關心 (p 175)

● 對於同事、學生之前發生的事情一是如此,我會安安靜靜的看著,就像一面鏡子,過去會覺得憤怒的事情,現在只覺得好奇,為什麼這個人會這樣?他為什麼會這樣 想?我不太願意去判斷,只是看著,隱隱覺得背後一定有很大的因跟果,是我們不知道的。如果不知道我們怎麼介入? (p 175)

● 所以我會讓自己保持在一個謙卑的狀態裡,不介入這個因果中,只是看,以一種「船過水無痕」的心情 (p 176)

● 在我們的文化裡,有一個成語叫做「隨遇而安」,就是你再不同的境遇當中去求一個「安」。這麼想的話,每一日、每一分、每一秒其實都是在修行 (p 176)

● 但是現在,愛的形式改變了,整個社會倫理、外在的規則都跳出原來的框架。一個職業婦女每天都會接觸到很多異性,她受到挑戰與被牽連的機會變多了,就像我們前面所說的,外在的考驗變多時,內在修行的需求度與難度都會提高 (p 177)

● 一張法律見證、雙方蓋了章的婚約是一種限制,兩個人一起發誓說海枯石爛也是一種限制,但是這兩種限制都不是真正的限制,因為在現實中,有人背叛了婚約,有 人背叛了誓言。真正能限制愛情的方法,就是徹底拿掉限制,讓對方海闊天空,而你,相信自己本身就具有強大的吸引力量,你的愛,你的才華,你的寬容,都是讓 對方離不開的原因,甚至你故意讓他出去,他都不想跑,這真的需要智慧 (p 185)

● 我常常覺得,愛應該給對方海闊天空的自由,然後讓他願意回來、喜歡回來。你要把愛人當做鴿子,每天放他出去飛,等著他回來,絕對不是當做狗,在脖子上加項 圈、加繩子,時時刻刻拉在手上,怕他跑掉。而愛情的本體是自己,自己永遠不應該放棄自己,你要相信自己是美的、是智慧的、是上進的、是有道德的、是有包容 力的。如此一來,別人會離開你嗎? (p 186)

● 所以我說,愛的本質是一種智慧,尤其是年齡越長時。你在二十歲前可以倚靠上天給予的青春、健康、年輕,這些不是你自己的,是上天給予的。而當你三十歲、四十歲、五十歲以後,你要如何保持自己的魅力?這就要靠智慧 (p 191)

● 所有的「寶貝」你都只能暫時保管,用一種暫時保管的心情,去面對愛情,其實會好過一點、寬容一點。而且,既然是個寶貝,就絕對不會只有你一個人愛,如果只 有你一個人愛,它就不是寶貝。這裡面的衝突,自己慢慢去體會、去調整,當你失去的那一天,你會少一點憤怒、少一點怨氣、少一點忌妒──我只是說少一點,不 是沒有,因為連我自己也做不到 (p 193)

● 如果我們是抱著「多吃一點才划算」的心態,就是物化了。划的來嗎?實際上陪的更多,賠掉孩子的道德,賠掉孩子的味覺,賠掉孩子身體的美。為了區區幾百塊錢,全部都賠掉了,我覺得非常荒謬 (p 229)

駭客與畫家 / Paul Graham (摘錄)


● 到了十一歲的時候,小孩子開始把家庭生活視為一份日常工作。他們為自己另外建立了一了新的世界,身處在這個世界裡才是重要的事,而不是他們的家庭生活。實際上,在家裡惹的麻煩,反而可以在自己所建立的社會裡贏得聲望。
● 學校的官方目的是教育小孩。事實上,他們的主要目的是把小孩子關在同一個地方,讓成年人可以做自己的事情。讓我困擾的不是小孩子被關在牢裡,而是:(A) 他們並沒有被告知,(B) 這個監牢大多是由犯人所管理的。
● 以前的青少年似乎也比較尊敬成年人,因為成年人是某些技能的專家。現在,大部分的小孩都不太瞭解他們的父母在遙遠的辦公室做些什麼,也無法在學校作業與成年後的工作之間找到關聯 (實際上是有一點點)。
● 它培育出難以控制的叛逆,主動驅使小孩子遠離原本應該要學習的事情。


● 駭客與畫家相同的地方,在於他們都是創作者。就像作曲家、建築師、作家一樣,駭客與畫家都試著創作美好的事物。他們不是在研究,但是在試著創作美好事物時,他們可能也會發現新的技術。 (15)


● 如果剛好沒人因為某個想法而惹上麻煩呢?如果某個想法非常具爭議性,以至於沒有人敢公開地表示意見呢?我們要如何找出這些想法? (31)
● 訓練自己思考被禁止思考的意見,能獲得的好處遠超出想法本身。
● 最重要的事情是思考自由,而不是暢所欲言。 (39)
● 隱藏是流行的本質,不然它不會起作用。 (42)
● 如果它沒有錯,它就不應該被壓抑。 (43)

版權限制:6, 7, 13, 14, 19, 20, 26, 27, 33, 34, 40, 41, 46-75, 79-84, 88-103, 107-195

http://books.google.com.tw/books?id=spfTBLWvVxcC&printsec=frontcover&dq=%E9%A7%AD%E5%AE%A2%E8%88%87%E7%95%AB%E5%AE%B6&source=bl&ots=PP19kjx_dK&sig=b43eVJOnUMil-J5KBlWqszISjpY&hl=zh-TW&ei=99qhTIeVKIjCcbHxwJMB&sa=X&oi=book_result&ct=result&resnum=7&ved=0CDMQ6AEwBg#v=onepage&q&f=truehttp://books.google.com.tw/books?id=spfTBLWvVxcC&printsec=frontcover&dq=%E9%A7%AD%E5%AE%A2%E8%88%87%E7%95%AB%E5%AE%B6&source=bl&ots=PP19kjx_dK&sig=b43eVJOnUMil-J5KBlWqszISjpY&hl=zh-TW&ei=99qhTIeVKIjCcbHxwJMB&sa=X&oi=book_result&ct=result&resnum=7&ved=0CDMQ6AEwBg#v=onepage&q&f=true

2012年1月10日 星期二

Reverse SSH (SSH 反向連結)


// 從公司與自己 server 建立連線
$ ssh -R 12345:localhost:22 user@mydomain.com
 
 
// 從 server 就可順著通道回公司
$ ssh localhost -p 12345
 
// 如果需要 X forward 
$ ssh localhost -p 12345 -X
 
 
 
 
Reference :
Reverse SSH Tunneling | HowtoForge - Linux Howtos and Tutorials

2012年1月9日 星期一

Gallery2 with Postgresql

$ sudo -u postgres psql
postgres=# create role gallery2;
postgres=# createdb gallery2 -E UNICODE;
postgres=# ALTER DATABASE gallery2 OWNER TO gallery2;
postgres=# alter role gallery2 encrypted password 'gallery2';
postgres=# alter role gallery2 login;
postgres=# \q


postgresql client - psql 語法

# su - postgres
# psql
postgres=# 
mysql: SHOW DATABASES
postgresql: \l
postgresql: SELECT datname FROM pg_database;

mysql: SHOW TABLES
postgresql: \d
postgresql: SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
 
mysql: SHOW COLUMNS
postgresql: \d table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';

mysql: DESCRIBE TABLE
postgresql: \d+ table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';


postgres-# \?

一般性
  \copyright             顯示 PostgreSQL 的使用和發行條款
  \g [FILE] 或 ;         執行查詢 (並將結果傳送至檔案或 | 管線)
  \h [NAME]              SQL 指令語法說明,用 * 顯示全部 指令說明
  \q                     結束 psql

查詢緩存區
  \e [FILE]              使用外部編輯器編輯查詢緩衝區 (或檔案)
  \ef [FUNCNAME]         使用外部編輯器編輯函式定義
  \p                     顯示查詢緩衝區的內容
  \r                     重置 (清空) 查詢緩衝區
  \s [FILE]              顯示歷史記錄或將它儲存至檔案
  \w FILE                將查詢緩衝區寫至檔案

輸入/輸出
  \copy ...              執行 SQL COPY,將資料流傳送至用戶端 主機
  \echo [STRING]         將字串寫至標準輸出
  \i FILE                從檔案中執行指令
  \o [FILE]              將所有查詢結果傳送至檔案或 | 管線
  \qecho [STRING]        將字串寫至查詢輸出串流 (請參閱 \o)

資訊性
  (選項:S = 顯示系統物件,+ = 其他詳細資料)
  \d[S+]                 列出資料表、視圖和序列
  \d[S+]  NAME           描述資料表、視圖、序列或索引
  \da[+]  [PATTERN]      列出彙總
  \db[+]  [PATTERN]      列出資料表空間
  \dc[S]  [PATTERN]      列出轉換
  \dC     [PATTERN]      列出型別轉換
  \dd[S]  [PATTERN]      顯示物件的註解
  \dD[S]  [PATTERN]      列出可用域
  \des[+] [PATTERN]      列出外部伺服器
  \deu[+] [PATTERN]      列出使用者對應
  \dew[+] [PATTERN]      列出外部資料包裝函式
  \df[antw][S+] [PATRN]  列出 [只列出彙總/一般/觸發程序/視窗] 函式
  \dF[+]  [PATTERN]      列出文本搜尋組態
  \dFd[+] [PATTERN]      列出文本搜尋字典
  \dFp[+] [PATTERN]      列出文本搜尋解譯器
  \dFt[+] [PATTERN]      列出文本搜尋樣板
  \dg[+]  [PATTERN]      列出角色 (群組)
  \di[S+] [PATTERN]      列出索引
  \dl                    列出大型物件,與 \lo_list 相同
  \dn[+]  [PATTERN]      列出綱要
  \do[S]  [PATTERN]      列出運算子
  \dp     [PATTERN]      列出資料表、視圖和序列的存取權限
  \ds[S+] [PATTERN]      列出序列
  \dt[S+] [PATTERN]      列出資料表
  \dT[S+] [PATTERN]      列出資料型別
  \du[+]  [PATTERN]      列出角色 (使用者)
  \dv[S+] [PATTERN]      列出視圖
  \l[+]                  列出所有資料庫
  \z      [PATTERN]      與 \dp 相同

格式化
  \a                     在非對齊和對齊輸出模式之間切換
  \C [STRING]            設定資料表標題,如果沒有則不設定
  \f [STRING]            顯示或設定非對齊查詢輸出的欄位分隔符號
  \H                     切換 HTML 輸出模式 (目前是 關閉)
  \pset NAME [VALUE]     設定資料表輸出選項
                         (NAME:= {format|border|expanded|fieldsep|footer|null|
                         numericlocale|recordsep|tuples_only|title|tableattr|pager})
  \t [on|off]            只顯示資料列 (目前是 關閉)
  \T [STRING]            設定 HTML
標記屬性,如果沒有則不設定
  \x [on|off]            切換擴展輸出模式 (目前是 關閉)

連線
  \c[onnect] [DBNAME|- USER|- HOST|- PORT|-]
                         連線至新資料庫 (目前是 "postgres")
  \encoding [ENCODING]   顯示或設定用戶端編碼
  \password [USERNAME]   安全地變更使用者密碼

作業系統
  \cd [DIR]              變更目前的工作目錄
  \timing [on|off]       切換指令計時開關 (目前是 關閉)
  \! [COMMAND]           執行 shell 中的指令或啟動互動式 shell

變數
  \prompt [TEXT] NAME    提示使用者設定內部變數
  \set [NAME [VALUE]]    設定內部變數,如果沒有參數則列出所有變數
  \unset NAME            取消設定 (刪除) 內部變數

大型物件
  \lo_export LOBOID FILE
  \lo_import FILE [COMMENT]
  \lo_list
  \lo_unlink LOBOID      大型物件運算子





Reference :
Postgresql: show tables, show databases, show columns - LinuxScrew: Linux Blog

2012年1月7日 星期六

postgresql 安裝

# apt-get install postgresql php5-pgsql
# apt-get install postgresql postgresql-client postgresql-contrib
# apt-get install pgadmin3
 
// setting up the server for remotely access
# vi /etc/postgresql/8.2/main/postgresql.con
listen_addresses = '*'
password_encryption = on
// Secure the postgresql database with an admin password.
$ sudo -u postgres psql template1
# ALTER USER postgres WITH PASSWORD 'NewAdminDatabasePassword';
# \q

// change the words ident sameuser to md5 
# vi /etc/postgresql/8.4/main/pg_hba.conf
# Database administrative login by UNIX sockets 
local all postgres md5
local all all md5
# add in your subnet mask (i.e. 255.255.255.0) and the IP address of the machine that you would like to access your server  84 host
all         all         138.250.192.115/24          md5

# /etc/init.d/postgresql restart


// create database user
$ sudo -u postgres createuser -D -A -P testuser 
  
// create database
$ sudo -u postgres createdb -E utf8 -O testuser testdb
 
 
// set-up the PostgreSQL admin pack that enables better logging and monitoring within pgAdmi 
$ sudo su postgres -c psql < /usr/share/postgresql/8.3/contrib/adminpack.sql
 
 
 

Reference :
PostgreSQL with PHP in Ubuntu: Step-by-Step How To! « Shafiul Azam's Weblog 
 
Howto setup Database Server With postgresql and pgadmin3 | Ubuntu Geek
Step-by-step Installation Guide for Ubuntu - MoodleDocs

Howto setup Database Server With postgresql and pgadmin3 | Ubuntu Geek

Install PostgreSQL on Ubuntu 8.04 - hocuspokus

Using PostgreSQL on Debian and Ubuntu

如何在 Ubuntu 下安裝 PostgreSQL 9.0 和 pgAdmin III 1.12.0 | IT 與攝影 ─ 黑喵的家

2012年1月5日 星期四

POP3 / IMAP Server


dovecot

courier

cyrus

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

procmail

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

Squirrelmail (PHP)

Openwebmail (Perl)




Reference :
Ubuntu Server 安裝 Postfix + pop3 imap @ 蒼芎技術筆記本 :: 痞客邦 PIXNET ::

2012年1月3日 星期二

Python Memcache

# apt-get install memcached python-memcached
// 若沒有 python-memcached 這個套件
// $ wget ftp://ftp.tummy.com/pub/python-memcached/python-memcached-latest.tar.gz
# vi /etc/memcached.conf
# /etc/init.d/memcached restart 
 

import memcache 
mc = memcache.Client(['127.0.0.1:11211'], debug=0)

mc.set("foo", "bar", 60*5)

value = mc.get("foo") 
print value

2012年1月1日 星期日

WDS (Wireless Distribution System)

Wireless Repeater


條件:
1. AP Module 具有 "WDS" 功能 (*儘量使用相同的 AP 機器)
2. 串連 AP 的 SSID、Channel、驗證加密方法要相同 (*據說 WPA 不行, 我 WEP 也還沒成功)
3. 兩個 AP 的 IP 要同網段
4. 只需要其中一台開啟 DHCP Server
5. 在 WDS 的設定中,將橋接的 AP MAC address 加入 (*即讓本機可以連上另台  AP, 用 "ping" 做 troubleshooting)




#!/bin/sh

ifconfig ath0 down
iwconfig ath0 channel 11
ifconfig ath0 up
ifconfig ath0 0.0.0.0

wlanconfig wdsath0 create wlandev wifi0 wlanmode wds
iwpriv wdsath0 wds_add 00:22:2d:01:94:df
iwpriv wdsath0 wds 1
ifconfig wdsath0 up

brctl addbr br1
brctl addif br1 ath0
brctl addif br1 wdsath0
ifconfig br1 192.168.44.254 up




======== 未測 ========
# /etc/network/interfaces


auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto ath0
iface ath0 inet manual
        madwifi-base wifi0
        madwifi-mode ap
        wireless-essid voyage-wds
        wireless-channel 1
        wireless-key aaaaaaaaaaaaaaaaaaaaaaaaaa
        up ifconfig ath0 up

auto ath1
iface ath1 inet manual
        madwifi-base wifi0
        madwifi-mode wds
        wireless-key aaaaaaaaaaaaaaaaaaaaaaaaaa
        up iwpriv ath1 wds_add 00:00:00:00:00:00
        up ifconfig ath1 up

auto br0
iface br0 inet static
        address 192.168.0.254
        netmask 255.255.255.0
        bridge_ports ath0 ath1 eth0
======== 未測 ========
 
 
 
 
Reference :
旗標知識網:WDS 無線中繼 - 擴大無線涵蓋範圍, 消弭連線死角 
㊣【網路】這裡有一批AP好便宜(WDS篇) @ ChampionHare's Update :: 痞客邦 PIXNET :: 
什麼是WDS (Wireless Distribution System) @ 麒靈的部落格 :: 隨意窩 Xuite日誌 

HAProxy Status

http://yoururl.com/haproxy?stats

DNAT (Virtual Server)

# modprobe iptable_nat

# echo "1" > /proc/sys/net/ipv4/ip_forward
 
# iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 9999 -j DNAT --to-destination 192.168.44.200:9999

DHCP IP 租用狀況

# less /var/lib/dhcp3/dhcpd.leases



[Python] DHCP3 leases parser - Pastebin.com

 27     m = re.match(r"\s+(starts)\s+\d+\s+(\d+\/\d+\/\d+)", line);
 28     if m:
 29         key, value = m.groups()
 30         if key == "starts":
 31             lease["time"] = value.lower()