2008年12月24日 星期三

[Ubuntu] NFS - 科耐~ client

NFS ( Network FileSystem )

簡稱~網路檔案系統

今天要寫的是  "科科科科科奈"部份!!!!!

Server 部分下次另成一篇,這絕對是為了方便自己查詢的分篇法。真的!!!
NFS 用法

A電腦當server 分享出來資料夾或是磁碟
B電腦把它 mount 進來!!!

就這樣

B電腦目前是汙幫兔所以跟戴比恩ㄧ樣,先用靠北好用的aptitude
把nfs-common 裝起來
因為我們需要

mount.nfs <==新版mount 不吃nfs,不過裝好之後就可以吃
showmount <==很好用


---

  • showmout -e IP
    把server 提供的分享路徑掃瞄出來,很好用喔

  • mount.nfs
    其實裝好 mount 指令就有這個能力了
    所以指令為
    mount -t nfs ip:分享路徑 被掛載資料夾
    ex: mount -t nfs 192.168.1.1:/bejo/share test/
    or
    mount.nfs 192.168.1.1:/bejo/share test/

完畢,可以盡情的揉令他了GJ!!!

--

今天是行憲紀念日前夕!!!!!

2008年12月12日 星期五

Chroot - 靠我把linux玩爛了怎麼辦!!!

媽~~我玩壞莉納斯妹妹了怎麼辦???

免驚!!!

除了virtual machine , 多重OS開機以外,我們可以在莉納斯妹妹的裙下建構chroot 的環境,這樣就算玩爛了也不會影響本來系統!!!

chroot - 把 / 作業環境切到別的地方去
首先要有套件

  • debootstrap

ㄧ樣aptitude好用到靠北,把他搜出來裝ㄧ裝!!!

再來要準備好Debian ISO 檔
(聽說debootstrap 專為debian 用,不過應該不是這麼回事才對)

然後 mount 起來

#mount -o loop ISO檔案名字 /掛載目錄

要用它來提供資訊建築chroot system
(把ISO檔直接mount 起來讀裡面的東西,這招真的很好用@__@)

選一個目錄當作chroot folder

#mkdir chroot_use

執行debootstrap
#/usr/bin/env -i HOME=/root TERM=$TERM PATH=
/bin:/usr/bin:/sbin:/usr/sbin /usr/sbin/debootstrap
--arch i386 etch CHROOT/ file:///ISO檔的mount位置

etch <==這裡要注意,配合自己ISO檔的裡面release
上層的名稱,選擇適合的script

例如我的debian ISO
dists/etch/Release

然後debootstrap提供有script可以在
/usr/share/debootstrap/scripts/
找到對應的

跑完去做好的folder執行

#chroot .

就可以好好的搞爛糟蹋玩弄使用莉納斯妹妹啦 XD

--
chroot 後還是會繼承ㄧ些系統設定,像ip , hostname等等...
玩歸玩小妹妹不要欺負過頭(誤

2008年11月28日 星期五

[Ubuntu] wubi - 讓XP變成好房東!!!

掰掰黛比恩~~~我可能得跟嗚邦兔當好朋友了!!

wubi

可以在現有的XP環境裡面馬上幫你新增一套linux,順便做好多重開機,如果想要用linux又不想用VM拖累效能,又想多重開機多套作業系統,那很推薦這套讓妳的 嗚邦兔住進去XP家裡!!!

照慣例這是官網
http://wubi-installer.org/

現在wubi版本是8.10,要記得配合相同版的嗚邦兔,

步驟

  1. 把wubi跟嗚邦兔的iso檔放在一起
  2. 再win下面執行wubi安裝
  3. 沒了
  4. 真的沒了
  5. 簡單到靠北!!!

以後小薇薇會把烏邦兔當作ㄧ般軟體可以以新增移除,超方便
他幫你做好分割安裝跟多重開機了...


反正黛比恩跟嗚邦兔師出同門,ㄧ樣有aptㄧ樣有靠北好用的aptitude

黛黛黛黛黛......我會想妳的 (丟)

2008年11月13日 星期四

ClamAV - 免費開放的linux 防毒軟體

這是一套依循GPL專門設計在UNIX的防毒軟體,特別針對郵件伺服器的掃毒,不過SAMBA可以跟它結合,這一點就很直得推薦。

照慣例
這是官方網站: http://www.clamav.net/
本來今天要開會,結果還好我不是PL可以暫時不用參加冗長的會議,積了很多東西,這次就來紀錄一下clamav

這套很好用喔~~喔拉喔拉喔拉 <==明明就沒用過幾次

首先防毒軟體首重!! 新、快、狠!!!三字訣

所以這次就不要使用好用到靠北的aptitude來安裝clamAV
(好像是0.94板,雖然ㄧ樣可以用,而且按一下就好嚕...)<==狂推銷


到官方網站下載
0.94.1 板

ㄧ樣

#tar xzvf 壓縮檔
#./configure
#make
#make install
就這樣步驟把它裝好(這已經是老梗步驟了)

裝好之後要記得重開機喔(囧> 千萬不用,又不是小微微)

有三支重要指令(其實是四個...管他囧)

  • clamd
    主程式執行,會去讀
    /etc/clamav/clamd.conf
    關於這個設定檔
    有底下類似內容
    LogFile <想放的log路徑>
    PidFile /var/run/clamd.pid
    TemporaryDirectory /tmp/clamav
    DatabaseDirectory <放的病毒資料庫路徑>
    LocalSocket /tmp/clamd.socket
    User clamav (ㄧ定要有這個使用帳號喔,通常會自動有啦...通常,我的工作常常都不通常,棍!!!)


  • freshclam
    這是用來更新病毒資料庫的指令
    他會去讀/etc/clamav/freshclam.conf
    關於這個檔案嘛類似下面
    DatabaseDirectory <放的病毒資料庫路徑>(記得跟clamd.confㄧ樣)
    UpdateLogFile <放log路徑>
    PidFile <唉....就pid路徑>
    DatabaseOwner clamav
    DatabaseMirror database.clamav.net
    NotifyClamd /etc/clamav/clamd.conf (這很重要喔,更新完之後他會重新呼叫clamd然後去讀這份conf檔)

  • clamscan
    用來掃毒的命令,好啦好啦還有一個clamdscan,都差不多(多了一個D!!!)
    叫用的時候他就會去讀病毒資料庫掃毒。
    可以加參數,例如
    --tempdir=/tmp/clamav (指定tmp位址,因為他掃毒之前會先產生很大的tmp file)
    --database=/home/clamav/database (指定資料庫位置,說不定有人喜歡有很多份病毒特徵檔)

關於病毒特徵檔更新前可以先去網站抓
main.cvd
dsily.cvd
兩個檔案然後再更新,當然之前下載下來的那包code裡面也有,不過比較舊,就放在
clamav-0.94.1/database/

就算都沒有他也會直接抓,有的話他會使用diff的方式幫你更新病毒碼
(他X的會失敗耶 囧> 可惡!!!)

---
詳細的clamd.conf
(example 都寫的很詳細了)

特別的是關於
files 部分

可以開關要不要掃瞄特定檔案
#Executable files
ScanPE yes
ScanELF yes
DetectBrokenExecutables yes

#Documents
ScanOLE2 yes
ScanPDF yes

#Mail files
ScanMail yes
MailFollowURLs no
ScanPartialMessages no
PhishingSignatures yes
PhishingScanURLs yes
PhishingAlwaysBlockSSLMismatch no
PhishingAlwaysBlockCloak no
HeuristicScanPrecedence yes

以上是預設值喔
---
Data Loss Prevention (DLP) (沒試過)
亂七八糟帶過
--
#HTML
ScanHTML yes

#Archives
ScanArchive yes
ArchiveLimitMemoryUsage no (yes的話就會較慢但是記憶體使用效率會好一點)
ArchiveBlockEncrypted no (yes的話加密檔案會被視為可疑病毒)

再來是功能微調(他是說調一調比較不會被DoS塞爆小菊花,0 就是不設限)
MaxScanSize 100M (最大資料量檢查)
MaxFileSize 25M (檔案超過這個不檢查)
MaxRecursion 16 (壓縮再壓縮檢查的層數)
MaxFiles 10000 (最多檢查的數量)

阿還有clamuko
我也沒試過.........
ClamAV裝來是要跟samba結合的,以後mail server在玩吧。



2008年10月30日 星期四

Proftp - 古老好用的通訊協定

http://www.proftpd.org/

Proftp 的官方網站...
這套軟體在網路的教學很多很多了,這邊就寫一些"妹妹角角"...

首先使用好用到嚇死人的aptitude 把這套給裝好...

他有兩種運作模式
  • standalone
  • inetd
關於inetd的故事以後再說好了 囧>,現在都使用xinetd了唷...

所以這邊講standalone mode

注意的檔案

/etc/proftp/proftp.conf

內容看了就會懂了,所以就自己看吧...(打暈拖走)

這個conf關係著FTP 的運作,所以有幾個要注意的
  • 類似apache 的設定哲學
     <Directory *>
        <Limit WRITE>
          DenyAll
        </Limit>
      </Directory>
    這意思是說 "只讀" <==不給寫啦
    <Limit READ>
          Allowall
        </Limit>
    大家都可以讀
所以通常一個upload 的目錄我們就會這樣
 <Directory *>
    <Limit READ>
      Denyall
    </Limit>
<Limit WRITE>
      Allowall
    </Limit>
  </Directory>
這樣就只能上傳不給偷看!!!

  • CWD  :換目錄
  • MKD  :建目錄
  • RNFR :改檔名
  • DELE :砍檔案
  • RMD  :砍目錄
  • RETR :可抓
  • READ :可讀取與否
  • WRITE:可寫入與否
  • STOR :可上傳
  • ALL  :全部的動作!
大概有上面這些...

ㄧ般來說FTP 啟動之後就可以直接讓real user 連進來用(就是linux裡面真實存在的用戶)

通常會想要讓"不知名人士來泡茶"才有架站的快感!!!<=Anonymous

就是在
<Anonymous ~ftp>
</Anonymous>
當中來管理!!!

EX:
<Anonymous ~ftp>
User    ftp
Group    nogroup
UserAlias    anonymous ftp
MaxClients    10
RequireValidShell        off
DisplayLogin    welcome.msg
DisplayFirstChdir    .message
 <Directory *>
    <Limit WRITE>
      DenyAll
    </Limit>
  </Directory>
</Anonymous>

注意:RequireValidShell        off
這個一定要有 O__Q
我沒有就登不進去...切記!!!

不知名遊客的登入的位置在/home/ftp/
這個家目錄裡

---
這邊來說管理real user

DefaultRoot ~
#~符號是家目錄的意思,可以限制使用者只能在家目錄底下活動
DefaultRoot ~ abc
#abc 是群組名稱,只有這個群組的人才會被限制


也可以讓real user 到處亂逛,但是把目錄個別所起來
<Directory />
  AllowOverwrite                on
</Directory>
<Directory /home/ftp/>
  <Limit WRITE>
  Denyall
  </Limit>
</Directory>
#這樣就是都可以自由逛,但是/home/ftp/ 不給寫


細節鬼東西,有空在補 囧> 這樣夠用啦!!!

2008年10月3日 星期五

Man Page (快快樂樂當男人)

上次說要當個好男人,今天就來快快樂樂塞進去莉納斯小姐的裙子下吧(靠~~~好變態!!!)
話說好男人超重要今天就來寫一個
#man bejo
可以用的東西吧

首先這個男人是用groff排版語法寫的

先了解ㄧ下麗娜斯的男人分類法

  1. 使用者命令(User command)
  2. 系統程式(System call)
  3. 程式庫程序(Library function)
  4. 設備檔案(Device file)
  5. 檔案用途描述
  6. 遊戲說明
  7. 雜項(Miscellaneous)
  8. 系統管理工具(只有root才能使用)
  9. Linux核心程序
他最好有這些內涵

  • NAME - 程式的名稱和功能簡介
  • SYNOPSIS - 語法定義, 顯示所有的選項及參數
  • DESCRIPTION - 功能詳述
  • OPTIONS - 選項列表, 對每一個選項都有一個簡短的說明.
  • ENVIRONMENT - 使用哪些環境變數
  • FILES - 本程式會使用或修改到哪些檔案
  • AUTHORS - 作者簡介
  • HISTORY - 本程式的歷史沿革
  • BUG - 已知的程式錯誤、漏洞
  • COPYRIGHT - 版權宣告
  • AVAILABILITY - 可由那裡得到這支程式.
  • SEE ALSO - 和本程式有關的其它程式有哪些可再供參考
為了顯示出這樣的結果

BEJO(1)                                        BeJo                                       BEJO(1)

NAME
       foo -  online test

SYNOPSIS
       foo [-option 1] [-option 2 configuration ] wait to do ...

DESCRIPTION
       bejo

OPTIONS
       -f     list friends

       -g     list girl friend

       -m     list money but it is empty !!!

       -p a tour config
              list tour NOW!!!

FILES
       /home/bejo/life.conf
              It is bejo life file search han(1) for more details
       /home/bejo/nextlife.conf
              search god(1) for more something

ENVIROMENT
       Taiwan

DIAGNOSTICS
BUGS
       He is always 20 years old

AUTHOR
       BeJo ( made by his father and mother)

SEE ALSO
       life(1)

Linux                                Last change: 1980/11/27                              BEJO(1)


先vi一個檔叫
bejo.1

內容
.\" Process this file with
.\" groff -man -Tascii bejo.1
.\"
.TH BEJO 1 "Last change: 1980/11/27" Linux "BeJo"
.SH NAME
foo \-  online test
.SH SYNOPSIS
.B foo [-option 1] [-option 2
.I configuration
.B ]
.I wait to do
.B ...
.SH DESCRIPTION
.B bejo
.SH OPTIONS
.IP -f
list friends
.IP -g
list girl friend
.IP -m
list money but it is
.IR empty
!!!
.IP "-p a tour config"
list tour NOW!!!
.SH FILES
.I /home/bejo/life.conf
.RS
It is bejo life file
search
.BR han(1)
for more details
.RE
.I /home/bejo/nextlife.conf
.RS
search
.BR god(1)
for more something
.SH ENVIROMENT
.IP Taiwan
.SH DIAGNOSTICS
.SH BUGS
He is always 20 years old
.SH AUTHOR
BeJo ( made by his father and mother)
.SH "SEE ALSO"
.BR life(1)

---
先用
#man .bejo.1
測試

再gzip起來
gzip -c bejo.1 > bejo.1.gz

之後拷貝到 ( OS: Debian)
#cp bejo.1.gz /usr/share/man/man1/

就可以用
#man bejo

這樣我也是好男人了 >//////////< (羞


--
附註
  • .B Bold(粗)
  • .BI Bold alternating with italics(斜)
  • .BR Bold alternating with Roman
  • .I Italics
  • .IB Italics alternating with bold
  • .IR Italics alternating with Roman
  • .RB Roman alternating with bold
  • .RI Roman alternating with italics
  • .SM Small (scaled 9/10 of the regular size)
  • .SB Small bold (not small alternating with bold)

參考文件:
Linux Man Page Howto
http://www.schweikhardt.net/man_page_howto.html






雜事滿天飛的ㄧ天

最近公司多了幾個生面孔人....就是那麵還沒煮的那種....還不錯看!!!
今天去洗車發現小灰又受傷了,噴水器頭噴掉了引擎蓋也刮傷,灰仔我對不起你 囧!!!自從你來我這裡之後就沒有善待妳 (跪...
明天就幫妳裝MP3新功能喔,開心一下~~乖~~

又要花一筆錢 ~"~

笨涵說要去買樂透,沒錯!!!中了頭獎就分你ㄧ半,快點傳氣給我(吸~~~

明天就是小鋅要結婚了,我要去當禮車司機XD,小鋅你要小"鋅"ㄧ點,結婚不好啦 囧!!! 既然要結就安息吧<===什麼鬼 XD

以後不能再找你鬼混了......

公司獎金發的好少,可是還是有人ㄧ天就花掉十七萬,好像羨慕那種氣魄阿=口=!!
努力工作好好計畫旅行吧!!!有人要跟我去新幹線趴趴走嗎?

2008年10月2日 星期四

Debian 五四三...

每次安裝好新的debian <==逼不得已常常裝新的 (嘆)
就會為了讓環境好用一點就去做一些很瑣碎的事...
用這篇紀錄ㄧ些很少用但是每次要用都要查的鳥東西!!!
  • 目錄上色,讓vi變vim
編輯 .bashrc
這樣目錄就會有顏色
ll
rm 預設rf

都會有了

PS.還可以塞鬼東西喔XD,login bash 就會被執行的檔案之一

  • vim 上色
debian 剛灌好的vim版本不支援syntax on
所以先用靠北好用的
aptitude 裝ㄧ裝vim的東西

然後再去
/etc/vim/vimrc

syntax on
就這樣!!!

[script] BAT 的延遲技巧 (wait or sleep)

ㄧ整個很見鬼的批次檔技巧,雖然很久沒寫了...麗娜絲娘真的很可愛唷!!!
DOS 的批次檔應該很少人在用了,小微微大惡魔已經把世界改造的很好用了,所以忽然想在常用的批次檔裡使用wait 或 sleep 忽然間找不到函數好用( 麗娜絲就好用很多啦!!!)

之前常用延遲的手法就是用ping來製造延遲
缺點大概就是時間ㄧ點都不精準

ex:
@ping 127.0.0.1 -n %1 1>null

可以把它寫成一個wait.bat 檔然後呼叫他

說到寫成wait.bat 小技巧,這樣子已將用很久了,但是今天卻看到更詭異的用法,太猛了...

就是
寫一個sleep.exe !!!

阿好像沒啥嘛,就是用檸檬C,咖啡JAVA都可以寫一個然後再用批次檔去呼叫就好...

可是這個範例卻是用這樣寫!!!

ex:

:: Sleep.bat - Sleep/Delay/Wait n seconds
:: Herbert Kleebauer(Germany) - 2005/05/29
:: Modified by Will Sort - 2005/06/02
@echo off
echo q | debug>nul
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>sleep.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>sleep.com
echo T}{z~~@GwkBG@OEKcUt`~}@MqqBsy?seHB~_Phxr?@zAB`LrPEyoDt@Cj?>>sleep.com
echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz>>sleep.com
echo LFvAURQ?OYLTQ@@?~QCoOL~RDU@?aU?@{QOq?@}IKuNWpe~FpeQFwH?Vkk>>sleep.com
echo _GSqoCvH{OjeOSeIQRmA@KnEFB?p??mcjNne~B?M??QhetLBgBPHexh@e=>>sleep.com
echo EsOgwTLbLK?sFU`?LDOD@@K@xO?SUudA?_FKJ@N?KD@?UA??O}HCQOQ??R>>sleep.com
echo _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LOR@YUO?>>sleep.com
echo dsmSQswDOR[BQAQ?LUA?_L_oUNUScLOOuLOODUO?UOE@OwH?UOQ?DJTSDM>>sleep.com
echo QTqrK@kcmSULkPcLOOuLOOFUO?hwDTqOsTdbnTQrrDsdFTlnBTm`lThKcT>>sleep.com
echo @dmTkRQSoddTT~?K?OCOQp?o??Gds?wOw?PGAtaCHQvNntQv_w?A?it\EH>>sleep.com
echo {zpQpKGk?Jbs?FqokOH{T?jPvP@IQBDFAN?OHROL?Kj??pd~aN?OHROd?G>>sleep.com
echo Q??PGT~B??OC~?ipO?T?~U?p~cUo0x>>sleep.com
sleep.com>sleep.exe
del sleep.com
echo wait 2 seconds:
sleep.exe 2000


-------

沒看錯  囧!! 她用一個批次檔去塞出一個.com 再換檔名成 .exe
用那些外星語(機械亂語)去塞耶!!!

寫一個test.bat 把上面的貼進去執行就可以用了,不過我真的無法知道那些亂碼是什麼內容,說不定有毒或是木馬喔,剛剛是過真的可以跑。

隨便懷疑人家是不好的!!! 應該是很厲害的人...感謝前輩分享

2008年9月26日 星期五

事情很多卻很好玩的ㄧ週

明明就累的半死.... 可是卻是在作自己歡做的事,果然恢復很快...

今天ㄧ早起來繼續跟螞蟻搏鬥,牠們自從被我封起之後開始吵著搬家...

結果.....
牠們開始抱蛋搬家!!!冰箱也被牠門佔領了,竟然是從電源孔爬出來耶,等等回家不知道是什麼光景,牠們根本是呂布的分身吧,佔領到連冷凍庫都有被凍死的螞蟻。

話說每次網路購物完收到貨品都會把箱子收集起來(我可是為了退貨方便!!!雖然從來沒退過貨)然後放很久,就變成大型垃圾,可是箱子乾乾淨淨看起來就很有用途阿,直接丟掉不是很可惜嗎???

所以今天部門訂來的零件,拆完之後還在猶豫要不要丟掉箱子,反正這東西應該不會退了,馬上下定決心丟到回收室...

結果等我花了一番功夫把它裝好之後,去找老大,老大竟然說要退貨  囧!!!  靠腰~還好在回收室拿回來就好?

故事才沒那麼簡單 囧!!!,回收室早就被掃地阿姨清掉了,動作有沒有這麼快阿!!!阿姨!!!

第一次馬上丟箱子就出包,結果跑上跑下才在垃圾箱翻回箱子,不然就爆了....

週末到啦~~

來去辦妥TF老大交代的事順便聚餐....

2008年9月24日 星期三

第一次大半夜在公司加班

本來以為今天可以很快樂的在公司上班完然後部門聚餐就快快樂樂抱著肚子回家.....

但是上帝絕對不會這麼快樂就解決我 囧!!!!
今天是部門聚餐
去吃那竹北樂燒碳烤
http://www.happyfire.htm.tw/

我ㄧ直覺的為什麼燒烤店的服務生都很可愛,而且東西也都超好吃,真是太奇怪了!!!

隔壁就是出一張嘴,兩間品質差不多,而且飲料食物都是單點吃到飽,肉很棒、哈肯打死也不賴、沙瓦真是太好喝了,喔對RD奮鬥日記不應該出現這麼歡樂的紀錄 T__T,這是食記!!!(飽)

對~~~現在我還在公司加班,雖然說是加班可是卻完全沒痛苦感,囧? 這就是傳說中的人窮命賤,操死不賠嗎? 隔壁有好兄弟安德魯也在其實就好很多了XD。

實在太累了~~今天就不寫了明天再整理筆記


2008年9月22日 星期一

iscsi - clinet

iscsi - 使用低廉的gabit Ethernet即可實現"網路儲存"的協定

還是再度推薦ㄧ下 aptitude 好用到靠北的套件,當然你要apt-install 也沒什麼不可以@__@
用這套裝ㄧ裝 open iscsi

官網
http://www.open-iscsi.org/
有原始碼

又到了黛比恩跟別不一樣的時候了(至少跟嗚邦兔一樣 = =+)

裝好之後
先編輯/etc/initiatorname.iscsi
(本來沒有這個檔)
PS. 有些版本的linux 是放在/etc/iscsi/initiatorname.iscsi

加入這行
InitiatorName=XXX.XXX.XXX.microsoft:cvs4
就看那個名稱怎麼定的

然後
/etc/init.d/open-iscsi stop
/etc/init.d/open-iscsi start

再來要discover ㄧ下看看有沒有
iscsiadm -m discovery -t sendtargets -p $IP:$PORT

有的話就可以login

ex: iscsiadm --mode node --targetname discovery看到的名稱 --portal ip:port --login

logout 就
iscsiadm --mode node --targetname discovery看到的名稱 --portal ip:port --logout

如果login 成功就會看到
fdisk -l 有新的dev/sdb1 什麼之類的

PS. port 預設都是3260 可以不打

2008年9月19日 星期五

今天可能是很特別的日子

我的身體告訴我....今天八成是很重要很特別的日子... 昨天九點多身體自動關機睡到早上七點半自動起床、也沒做到不乾淨的夢(每次都很乾淨好咩)、打開電視就看到BY2、還買了早餐到公司,而且連門口那隻邪惡的悶聲狗都沒有咬我!!!

這是奇怪的徵兆阿!!!!難道是.....
不過我醒過來之後就知道了.... 忘記禮拜四跟為啥今天失常了

今天在等GUI co-work改好之後我才能繼續動工,所以先來整理那兩個pretrace跟kmtrace

玩著玩著突然發覺麗娜絲的好男人(man)實在超級貼心的!!!
有空一定也要來自己做個好男人(會宅死)
man 要先分類 [ ex: bejo(9) ]

  1. 使用者命令(User command)
  2. 系統程式(System call)
  3. 程式庫程序(Library function)
  4. 設備檔案(Device file)
  5. 檔案用途描述
  6. 遊戲說明
  7. 雜項(Miscellaneous)
  8. 系統管理工具(只有root才能使用)
  9. Linux核心程序
man 內容要也分類 [ ex: 有些人就是心人厚(就是又胖又宅啦) ]

  • NAME

    這是man page必須包含的部分,你必須以該指令/程序名稱作開頭,若您的man page如fscanf一般是一系列的指令,您可以使用「,」號分開,然後加入「-」(dash)號,最後填上指令/程序的簡短描述。

  • SYNOPSIS

    您可以在這部分裡填上指令所需要的header file、函數原型(prototype)及傳回類型。

亂七八糟的,下次在整理起來順便練習再寫成達Q門吧。

喔~今天還有兩件很事,一個很重要!!!,一個只有很"重",很重的事就是KRR、小Z、太極、TACO要來參加STW 聖火隊的遠征,有ㄧ個很重XD

小灰(某人名字幫愛駒取的超好名~真好XD)又要辛苦妳了,今天晚上不知道要怎麼塞他們進房間,千萬不要被房東路人看到,不然又要說我都帶男生回家,而且還一口氣帶四個<==我真的不是GAY!!!

--
KDE (K Desktop Environment) 跟 GNOME ㄧ樣都是桌面環境系統。
Kmtrace 應該跟 mtrace ㄧ樣吧= =?

今天下午跑去咖啡廳吃點心聊天,吃到一半才發現要開會 =口=!!!
開完會都六點可以下班囉YA~

喔什麼很重要的事喔?啥?我沒聽到~~~

週末開始囉!!!




Debug tools - kmtrace

KMtrace is a KDE tool to assist with malloc debugging using glibc's "mtrace" functionality.

Doc:
http://www.gnu.org/software/libc/manual/html_node/Allocation-Debugging.html
http://ace.acadiau.ca/math/ACMMaC/howtos/mtrace.html

kmtrace 的用法跟mtrace 雷同,阿這樣子幹麻還要有kmtrace ~"~???

用法類似mtrace

所以要檢查的.c
增加

#include <ktrace.h>
(事實上我在debian 要用<kde/ktrace.h> 唉...)

檢查起點
ktrace();

終點
kuntrace();

然後再Makefile.am 加上
kicker_LDADD = kicker.la /usr/lib/kmtrace/libktrace_s.a

(以上沒成功過 囧!!!)
應該要去找一個KDE app 來try

要跑的時候就用
MALLOC_TRACE=./ktrace.out ./app.o

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

另外一個簡單的方法不用加code

MALLOC_TRACE=./ktrace.out LD_PRELOAD=/usr/lib/kmtrace/libktrace.so ./app.o

就會產出ktrace.out

--

讀取out檔
ex:
kmtrace ktrace.out

2008年9月18日 星期四

Debug tools - pretrace

packet link: http://dev.inversepath.com/trac/pretrace echo

libpretrace is a preload library that allows specified (dynamically linked) applications to always be executed under a debugging environment. To start using pretrace, add libpretrace.so to your /etc/ld.so.preload.



#make
#make install 會被安裝到/usr/local/ (debian 的關係嗎?)

所以本來一開始要
# echo /lib/libpretrace.so >> /etc/ld.so.preload
改成
#echo /usr/local/lib/libpretrace.so >> /etc/ld.so.preload


再來是把pretrace.conf.example copy 到
/etc/pretrace.conf

執行
#ptgenmap
吃進去conf產生機器可以閱讀的map檔
--
這邊還要問候他X的老師ㄧ下 (翻桌)
make install 的時候並沒有把libpretrace.so copy 到/lib
只有拷貝到/usr/local/lib
所以要手動自己來
#cp libpretrace.so /lib
不然執行ptgenmap會看到
ptgenmap: error while loading shared libraries: libpretrace.so: cannot open shared object file: No such file or directory

--

pretrace.conf 範例裡有拿ls 當範本
會把ls 呼叫用strace debug 並且把log檔案放到
/home/使用者/ls.logfile

注意這個目錄是可以放喔。

PS. 我還是不覺得這工具跟直接呼叫strace 然後 > file
有多大差異 ~"~,在研究看看。


用途:
1.可以在開機的流程(尚未login)當中把strace紀錄就log起來,增加debug彈性。

PPPoe - by rp-pppoe (clinet)

想要讓linux 可以撥上pppoe 推薦使用這個套件
rp-pppoe
link: http://www.roaringpenguin.com/products/pppoe

在debian 上用aptitude套件管理程式裝就可以了 <=強烈推薦。
(好用到要命,因為考試都ㄧ百分人也變帥變高了!!!)

喔對~
pppoeconf
ㄧ定也順便裝ㄧ裝,這樣可以使用"使用者友善模式" (屁XD)

  • pppoe主體目錄

/etc/ppp/

  • 動作
--
先執行
pppoeconf
進入對話模式會產生需要的設定
他會製造出
/etc/ppp/peers/dsl-provider
/etc/ppp/peers/provider

--

撥號
#pppd call dsl-provider

斷線
#poff
如果有很多個 pppd執行
#poff -a
砍掉全部

--
  • 檔案說明
/etc/ppp/peers/dsl-provider

這個檔案被pppd call 這個動作呼叫裡面的設定可以自己修改,不想吃這個檔案可以另外call 別的檔當參數吃,但是他會直接找/etc/ppp/peers/底下的檔案!!!所以要放在那

有個類似的
#pppd file filename


詳細參數可以
#man pppd

講幾個重要的(跪

  • noipdefault
不指定自己的IP讓pppoe sv 發給你,不加的話可以用

想要的IP:pppoe sv IP
ex: 123.123.123.123:100.100.100.100
如果
ex: 123.123.123.123:
指定自己IP但是不指定pppoe sv ip

ex:  :100.100.100.100
指定pppoe sv ip 不指定自己ip
  • usepeerdns
使用pppoe sv 提供的DNS IP
pppoe sv 最多會給你兩個DNS IP
之後會被寫到
/etc/ppp/resolv.conf
不加usepeerdns的話自行到
/etc/resolv.conf 修改

好像/etc/ppp/resolv.conf 會pass到 /etc/redolv.conf
而設定值是被pass 到/etc/ppp/ip-up 的script 裡變數
USEPEERDNS 會被標 1
--







忘記今天是禮拜四的日子.....

今天為了躲開被狗咬的危險,我還是把車停到車棚不跟狗搶位置了..... <===整片空地停車場都牠的,棍!!!

監獄兔-喔







(發現今天是禮拜四的表情)

不知道為什麼從昨天晚上開始我就一直以為今天是禮拜三,忘記週末要烤肉、要幫人修電腦、忘記去跟大姊頭要某某 XD (鬼扯)
今天一直有強烈沒睡飽的感覺,最近做夢越來越嚴重了,有點討厭睡覺可是卻好累阿(B仔做壞掉了 O__Q)

ㄧ上班打開mail 老大就要自己選兩個debug tools 來報告,糊裡糊塗的選了不知道是什麼鬼東西,牽狗也有點糊糊的,就說每天黑手工人都有新發現新學習嘛

  • KMtrace - a KDE tool to assist with malloc debugging using glibc's "mtrace" functionality.

  • pretrace - a preload library that allows specified (dynamically linked) applications to always be executed under a debugging environment.
http://dev.inversepath.com/trac/pretrace
第一個看起比較簡單,書上有唸過一些,第二個就不知道三小鬼東西了,沒關係過兩天就會了XD,在整理起來,嗯嗯。

--
我才不管今天禮拜幾,我只知道又多ㄧ天了。

2008年9月17日 星期三

mdadm -- Raid 架構管理套件

[ 使用mdadm 來架構管理raid ]

mdadm -Cv -l 1 /dev/md0 -n2 /dev/sda2 /dev/sdb
-C是指建立
-v是指察看過程
-l是指建立的屬於level linear、0、1或5
/dec/md0是指在linux中建立的裝置名稱為RAID 0
-n 2是指幾個RAID裝置屬於建立好的RAID 0

最後接著 要被"瑞"起來的磁碟區,

也可以這樣寫 /dev/sda[1,2] - 就是指 sda1 sda2 兩個

  •     Format

mkfs.ext3 /dev/md0 用mkfs.ext3 - .(點)後面指的是類型 格式化一下

  •     mount  

最後把md0 掛載到目錄 mount -t ext3 /dev/md0 /mnt/tmpmnt/

  •     其他用途

mdadm -D /dev/md0
查詢陣列資料

mdadm -S /dev/md0
解除/dev/md0 的raid

mdadm -A /dev/md0 /dev/sda2 /dev/sdb
把之前已經建立的陣列在掛回去
sda2 跟 sbd 兩個partion

****以下未實驗****
設定備援

mdadm -Cv --level=1 /dev/md0 -n 2 /dev/hdc8 /dev/hdc9 -x1 /dev/hdc10
(-x:指定備用的硬碟,當其中一個毀損時會自動備援)
# mke2fs -j /dev/md0
# mount /dev/md0 /mnt/md0
# cp -a /bin /mnt/md0(copy /bin中的資料做測試,-R 可以讓複製過去的資料保有相同的資料權限)

測試/dev/hdc9壞掉與替換

# mdadm /dev/md0 -f /dev/hdc9 (測試/dev/hdc9壞掉時,將/dev/hdc9標記為已損壞的設備)
# mdadm -D /dev/md0 查閱raid目前狀況一


查看當前陣列狀態二..可以看到目前正在自動恢復資料,這是抓其他地方的資料來補充,並不是原來的raid1
=================
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd1[2] sde1[3] sdc1[1] sdb1[4](F)
75469842 blocks level 5, 128k chunk, algorithm 2 [3/2] [_UU]
[=>...................] recovery = 8.9% (3358407/37734912) finish=1.6min speed=9382K/sec
unused devices:

因為有備份設備,所以當陣列中出現設備損壞時,陣列能夠在短時間內實現重構和
資料的恢復。從當前的狀態可以看出,陣列正在重構,且運行在降級模式,
sdb1[4]的後面已經標上了(F),活動設備數也降為2個。

經過幾分鍾後,再次查看當前陣列狀態。
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd1[2] sde1[0] sdc1[1] sdb1[3](F)
75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]
unused devices:

此時陣列重構已經完成,資料恢復完畢,原有的備份設備sde1成為了活動設備。

恢復
/dev/hdc9
=============
# mdadm /dev/md0 --remove /dev/hdc9 移除損壞的設備
# mdadm /dev/md0 --add /dev/hdc9 將新設備添加到陣列中
# mdadm --grow /dev/md-linear --add /dev/new-device 如果使用的是 linear raid

建立RAID 5
(建立流程,並參考RAID 0之說明)
=========================================
# mdadm -C -l 5 /dev/md0 -n 3 /dev/hdc[8,9,10] -x 1 /dev/hdc11
(可加入-c128的參數,代表chunk-size為128:可以增加raid的效能,由於是軟體陣列所以是使用系統主記憶體來進行 chunk,這個數值設大一點雖然對磁碟陣列效能有幫助,但卻會耗掉系統資源,建議使用預設值就好了)

****************

  •     mdadm.conf

/etc/mdadm.conf
檔中要包含兩種類型的行:
一種是以DEVICE開頭的行,它指明在陣列中的設備列表;
另一種是以ARRAY開頭的行,它詳細地說明了陣列的名稱、模式、陣列中活動設備的數目以及設備的UUID號。
格式如下:
DEVICE /dev/sda2 /dev/sdb
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=caf727cd:15bfd240:8df403aa:f5a6660a

UUID 要用mdadm -D 來查詢

之後就可以用
mdadm -As /dev/md0
來啟動 raid (啟動而已喔,還沒mount)

PS. 開機要直接用的化一定要有這個配置檔喔!!!


  •     意外

# mdadm -As /dev/md0
# mdadm -As /dev/md1
# mdadm -A /dev/md2 /dev/md[0,1]
這樣可以跑 Raid 1+0

如果要開機就可以跑raid 的話,要有這兩行
mdadm -As /dev/md0
mount /dev/md0 /mnt/tmpmnt

可以加在
/etc/fstab
最後一行加入
/dev/md0 /mnt/md0 ext2 default 0 0
第一欄 實際的 device 名稱。
第二欄 對應到的目錄結構(mount point)。
第三欄 該分割區的檔案系統ext、ext2、msdos、iso9660、nfs、swap。
第四欄 在 mount 時的參數。
第五欄 在使用 dump 時是否記錄,不需要則輸入0。
第六欄 決定在開機時執行 fsck 的先後順序。


/etc/rc.d/rc.sysinit
/etc/rc.d/rc.local
/etc/profile.d/
裡面加上下兩行
mdadm -As /dev/md0
mount /dev/md0 /dev/md0 掛載目錄

資料參考:http://ithelp.ithome.com.tw/question/10006536
by newswind38

最早最快的起點--現在

最近小M跟KRR都在熱什麼鬼夏日blog傳說,小M的文章還真的挺有看頭的,KRR嘛(丟),blog研究所有在寫,你知道人的惰性真的是無窮的ㄚ,既然被激起來了,那就現在開始。

對~"現在"永遠是最早最快的起點!!!

過去的事情就再也不寫啦YA (棍~真是佩服自己想出來的好藉口!!!)


--
最近家裡清出ㄧ大堆紙箱,大概是一年份吧,來源就不提了(遠目),每天都要拿一點下樓丟掉,原因以後再寫吧,最近大概得了不整理佈置房間就會死翹翹的病...大概是被某人訓練的很好(笑)

房間紙箱







這只是ㄧ小部份Orz....

雖然上班離公司麼壽近,但是我仍然每天騎腳踏車上班,可是最進騎的很毛,沒煞車就算了,棍~公司門口還有狗會咬我,昨天差點被咬爆,人ㄧ輩如果要被狗咬三次... 我快集滿了 O__Q

ㄧ進公司又開始要跟nas 搏鬥,我還是覺得某vender真的可憐,來不及demo跟我哭訴也沒用阿,現在只好繼續搞以備不時之需 來科技黑手工業已經一年多了,其實還蠻開心的,同事們棒透了不說,每天都有新東西新發現,不好好寫下來八成學的都會變空氣....

  • 今天雜記

RAID mdadm -Cv -l 1 /dev/md0 -n2 /dev/sda2 /dev/sdb
-C是指建立
-v是指察看過程
-l是指建立的屬於level linear、0、1或5
/dec/md0是指在linux中建立的裝置名稱為RAID 0
-n 2是指幾個RAID裝置屬於建立好的RAID 0

最後接著 要被"瑞"起來的磁碟區,

也可以這樣寫 /dev/sda[1,2] - 就是指 sda1 sda2 兩個

再來要把md0 format mkfs.ext3 /dev/md0
用mkfs.ext3 - .(點)後面指的是類型 格式化一下

最後把md0 掛載到目錄
mount -t ext3 /dev/md0 /mnt/tmpmnt/

然後還要開samba 再打開io-meter 去測試效能,所以記得mount 上去的目錄權限要開好給samba吃吃 不過每次從開機DUT的陣列設定都不見了,看來還有什麼鬼conf 沒寫進去 八成是--/etc/mdadm.conf 吧,等摸的差不多在整理起來吧

這台可憐DUT,效能真差,image 沒塞到flash 用HD切開硬作,SDK到完整的要死XD (嘿嘿)。 好想惡搞ㄧ下自己喜歡的東西唷

--

今天又被螞蟻種草莓,出門還要拿食物餵牠們(謎),真像在餵寵物,被咬醒也不錯,今天七點半就可以下班啦。

阿~~~本來好期待某人可以當我的鬧鍾的... 可惜不行了,可惡的電信公司,殘念 O___Q