Skip to Content

FreeBSD

PF 中利用 RDR & NAT 讓區網主機使用域名模式來瀏灠置於區網中的伺服主機

server_host="192.168.xxx.xxx"
rdr on $int_if proto tcp from $int_if:network to ($ext_if) port 80 -> $server_host port 80
no nat on $int_if proto tcp from $int_if to $int_if:network
nat on $int_if proto tcp from $int_if:network to $server_host port 80 -> $int_if

如何安全的刪除所在目錄下的目錄與檔案?

在正常使用的目錄中,相信檔案大都是會包含有 . (dot) 這個符號,可是在系統所控管的目錄下,沒有包含的檔案可就是一海票了,特別是 /var/spool/clientmqueue/ 目錄,這是當本地信件信件無法寄送時,皆會被安排到這兒等候傳送,不幸的是,問題就出現在此了 烏鴉

因為不管經過多久,在這目錄下的所有等候傳送信件暫存檔,皆不會被系統刪除,可是每個磁碟分割區都有一定的容量及一定的檔案數量,不管是檔案容量或是檔案數量達到系統設定的最高值後,那麼即使該分割區還有巨大的儲存空間,也不用去妾想還能夠存進任何檔案,是的,即使那個檔案容量為 0 Byte,因為檔案數量也達頂了,所以不給存 暈

因此這就牽扯到本文的主題了,因為咱們的自行手動刪除 /var/spool/clientmqueue/ 目錄下的那些以亂數值為名的檔案,可是在此又有個問題了,因為通常都是在發生檔案儲存容量或檔案儲存數量不足時,我們才會想到要來進行刪除該目錄下的檔案,此時檔案數皆是以千或萬為計量的,而 rm 這個指令在遇到這種情況下是粉容易出槌的,不信?那麼試試底下這個指令看看︰
rm -rf *

mpd.conf 設置 set iface up-script script 注意事項

改採用 MPD5 版本來進行 ADSL 撥接後,莫名的原先的 set iface up-script script 選項居然無效了,祭拜 Google 大神後,發現設置並無任何手誤,但撥接完成後就是不執行指定的腳本 生氣了

後來想到改將原先背景執行模式改為前景模式來執行後,終於找到原因了。
原來是放置的位置不對,所以造成上下文的設置毫無關聯,所以被 mpd 給省略掉了,真是有夠機車 Thumb Down

startup:
# configure mpd users
set user username1 userpassword1 admin
set user username2 userpassword2 user
# configure the console
set console self 127.0.0.1 5005
set console open
# configure the web server
set web self 0.0.0.0 5006
set web open

default:
load pppoe_client

在KDM或GDM裡啟動 VirtualBox 虛擬WinXP

這篇文章中提到可以直接於 KDM 或 GDM 等登入管理畫面中直接啟動 WinXP,而無需再登入後方能啟動 WinXP,文中是以 VMWare 做範例,好奇之下,查看了一下 Vbox 的文件後照本宣科了一下,果然可行,底下為設置方法︰

  • 先以 VirtualBox 設置並安裝好一虛擬 WinXP
  • 建立啟動虛擬 WinXP 的指令檔
    vi /home/yourid/bin/startwinxp
    內容如下︰

    #!/bin/sh
    VBoxSDL -vm WinXP
  • 完成後附予執行權限
    chmod +x /home/yourid/bin/startwinxp
  • 建立作業階段選項
    vi /usr/share/xsessions/winxp.desktop
    內容如下︰
    [Desktop Entry]
    Name=WinXP
    Exec=/home/ruixin/.VirtualBox/startwinxp
    Type=Application

    [Window Manger]
    SessionManage

一次性大量更改檔名

因為使用了 gallery 來做相片的管理,許多先前由數位相機抓出來的檔案名稱都會彼此重複,偏偏這些重複檔名的檔案卻有極大的可能性需要放置到同一相簿裏,此時便需要將檔案給重新命名過,才不至於造成不便或是發生不幸事件。

但在非圖形操作界面中,是沒有批次改檔名這一碼子事的,想要批次改檔名這麼 lowin 的事件,可以,煩請自行寫個 shell script 來運作,不要期待有哪位大俠會慈悲心大開,專程為你寫出這個一個小指令程式來,就算真的有這麼位大俠的存在,那也要能有那個機緣能遇到他老人家不是嗎 ^_*

所謂靠山山倒,在說了,若真要等到那雲深不知處的大俠老人家出現,我看黃花菜也都涼了不知幾回了,所幸不才也還算小懂 shell script 的撰寫,再加上時間上也滿緊迫的,等不及那大俠老人家的出現了,所以就自己寫了個小小 shell script 來將硬碟中四處亂擺的數位照片檔名批次更改,再透過 gallery 的本地伺服器上傳的功能,一次性的解決檔名問題,免得到時己將照片上載到 gallery 之後,還得一張一張的變更檔名,那可真不是人幹的事喲……

#!/bin/sh
A=0
if [ $# -gt 0 ];then
  for I in * ;do
    if [ -f "$I" ];then
      A=$A

英文界面支持中文輸入

算是強迫自己學習英文的一種消極心態吧 crazy........ 惡魔
bash:
LANG="en_US.UTF-8"
LANGUAGE="en"
LC_CTYPE="zh_TW.UTF-8"

csh:
LANG en_US.UTF-8
LANGUAGE en
LC_CTYPE zh_TW.UTF-8

使用 Mplayer 看電視

電視卡的晶片需為 bt847/848

裝好 mplayer 後,於 .mplayer/config 檔案中加入如下一行內容︰
tv=driver=bsdbt848:device=/dev/bktr0:input=1:norm=NTSC:audioid=1:chanlist=us-cable

    其中︰
  • driver=bsdbt848
    使用的電視晶片驅動程式,FreeBSD 目前就只有這個可用。
  • device=/dev/bktr0
    使用的裝置,應該就只有這個固定值吧,除非裝了一片以上的電視卡!
  • input=1
    訊號輸入的來源,比如︰cable,s-video 等等。但因為沒有文件提到各輸入來源所對映的代號為何,所以就只能自行由代號 0 開始來慢慢測試。
  • norm=NTSC
    指定輸出的模式,臺灣為 NTSC 的模式,如需要使用 PAL 模式的話,請自行變更過來。
  • audioid=1
    指定電視卡的音源輸出。不太瞭解為何,但需指定為 1 及以上的數字才會有聲音出來??
  • chanlist=us-cable
    指定訊號來源格式。也是不太懂是啥,但臺彎是要設成 us-cable 台數號才不會亂掉。

執行︰
mplayer tv://

P2P 之 mldonkey

這兩天為了抓取太座大人所想看的電視劇影集,試了一堆圖形界面的 P2P 軟件,發現似乎都不錯用,唯一有所差別的大約就是在連線下載的速度了(以同一個檔案而言)。同時穩定度也都不再像先前一樣,動不動就給罷工,有時罷工也就算了,但你不要同也給我把系統同時凍結呀,這樣子我還搞個屁呀 @#!*........

不過今天因需要切換作業系統時,突然發現一件事 --- 檔案還沒抓完耶,要不要先暫停抓檔呢??呵呵,相信你有時也會遇到像逸晨這樣不知如何取捨的場面吧!
印像中記得 statue 提過有套 P2P 是可以遠端控管的,於是跑回 Study-Area 的 BSD 討論版搜尋了一會,終於找回遠久的記憶了 --- mldonkey

如何掛載 FreeBSD 的分割區

因為開始試著玩 Linux,但許多檔案與文件都還在 FreeBSD 的分割區中,所以有時會有需要掛載 FreeBSD 分割區的需求。
自 GNU/Linux 2.6.x kernel 開始,已支援 ufs2 的檔案系統,所以讀取先前 FreeBSD 中的檔案也就不成問題了 ^_^

      查看分割區對映的節點
    • 指令︰dmesg | grep bsd
    • 結果︰hdb1: <bsd: hdb5 hdb6 hdb7 hdb8 hdb9 hdb10 hdb11 >
      FreeBSD Logical Slice 的用途
    • a 這是指 root 分割區,也就是常說的根目錄「/」
    • b 這是指 swap (虛擬記憶體置換裝置)
    • c 這是指整個分配到的主要分層 (Primary Slice)
    • d 這是指整顆硬碟
    • e 可任意使用 (比如︰/tmp)
    • f 可任意使用 (比如︰/var)
    • g 可任意使用 (比如︰/usr)
    • h 可任意使用 (比如︰/home)
      以上述查看後的結果來說,則其對映關係如下︰

SSH 信任授權機制設置

用途
基於以下理由︰
 * 對於登入頻繁的主機,想利用 SSH 加密傳輸模式自動登入。
 * 對於每次利用 scp 傳輸檔案時,皆得輸入密碼感到無限厭煩。
您可能會想要瞭解如何應用 SSH 信任授權機制來減少得到肌腱炎的機率 ^_^

應用環境
Server_A︰192.168.168.1
Server_B︰192.168.168.12
Test_account︰ruixin (Server_A & Server_B 皆有 ruixin 的使用者帳號)

範例目的
Server_A 主機中的 ruixin 帳號欲使用 SSH 信任授權機制,以 ruixin 身份來自動登入到 Server_B 主機。

設置
setup_1: 使用 ssh-keygen 指令來產生 SSH2 DSA public key。
指令過程如下︰

訂閱文章