偶而會有發生程式開啟某個檔案正在寫,結果我手滑刪掉了那個檔案的經驗。最近由於在維護一個mud 發生如此悲劇,log 檔就這樣被我刪了.. 於是上網找尋相關資料…
其實 Linux 上看到的的檔案是以inode 為根據表現出來的檔案,只要 inode 存在,檔案就還存在。(應該是這樣吧..) 。程式執行中開啟的檔案對程式本身來說是一個descriptor,也會在/proc/[pid]/fd/[fd number] 表現出來。而這個檔案也是對於inode 的一個連結。
若不小心把檔案刪掉的話,只要程式還開著,就可以到/proc/[pid]/fd/[fd number] 找到對 inode 的連結,然後把檔案copy 回來。
但是copy 回來的檔案內容只是copy 時當下的檔案,並不會對程式後來對檔案的操作有反應。若要真正復原成原本的狀態,需要把inode link 回來..這部分相關的資訊可以看這個網頁下半部的解法(我還沒試過..):
http://dag.wieers.com/blog/undeleting-an-open-file-by-inode
參考網頁:
http://dag.wieers.com/blog/undeleting-an-open-file-by-inode
http://prefetch.net/blog/index.php/2009/02/25/how-to-undelete-any-open-deleted-file-on-linux-solaris/
http://www.linux.com/archive/articles/58142
星期一, 5月 25, 2009
星期四, 5月 07, 2009
pulseaudio & x11 beep sound
以前都直接xset b off 把預設由主機發出的beep sound 直接停掉。今天看到使用pulseaudio 設定 beep sound 的方法:
在 ~/.pulse/default.pa:
加入指定音效
然後 beep 的音量由xset 設定(50%):
參考網頁:
http://jean-christophe.dubacq.fr/post/Parametrer-son-bip-systeme-avec-pulseaudio-comme-autrefois
在 ~/.pulse/default.pa:
加入指定音效
load-sample-lazy x11-bell [path-to-sound]然後讀取 x11-bell module (也在default.pa):
load-module module-x11-bell sample=x11-bell這兩行設定在預設的default.pa 的sample 中都可以找到,只要uncomment 來改就行了,當然自己寫上去也是可以的。
然後 beep 的音量由xset 設定(50%):
xset b 50最後重開pulseaudio server 即可:
pulseaudio -k && pulseaudio -D
參考網頁:
http://jean-christophe.dubacq.fr/post/Parametrer-son-bip-systeme-avec-pulseaudio-comme-autrefois
標籤:
linux,
pulseaudio
訂閱:
文章 (Atom)