2008年10月29日 星期三

努力地接受嘴砲吧

我算是會自我要求的吧?盡力地達到想要的境地,除了讀書吧,哈。

最近還是很常一不小心就跌入別人的言語中。這個世上充斥著太多只會說風涼話的人,或是,看到別人的努力時,落井下石,然而,等到場景的焦點移至自己的身上時,卻又百般的吹捧自己。

我常常把這類人定義成嘴砲型,發現自己實在很難接受這些,因此對他人的印象不佳,甚至否認掉對方!但最近我發現如此的心態讓我損失不少,像是看不起報告的功力,或是書面的呈現等,因此自己不珍惜呈現結果的機會,只一味地沉膩在自己習慣的表現方式。

記得我的大學指導教授,很多人對他的評語,能夠把五十分的努力說成八十分,把八十分的努力說成一百分!但我從來不會覺得他很嘴砲,哈,我反而很欣賞他提出的觀點、願景。

人,活生生地在這世上,有些事仍舊需要適應,我希望自己能夠儘管地改掉這個缺點。我想,我也該練練報告的功力,若我不把這表面功夫做足,豈不是更對不起過去的努力呢?


個人常用的 svn 指令


  1. 先建一個 svn 目錄,用來管理所有的 project

    • ~ # mkdir svn ; cd svn;
      ~/svn #



  2. 替 project 獨立地建一個 svn db

    • ~/svn # svnadmin create my_project



  3. 將原先在某處的資料匯入 my_project 的 svn db


  4. 對 my_project 的 svn db 撈資料出來


  5. 對查看 my_project 的紀錄

    • ~/tmp # cd p1;
      ~/tmp/p1 # svn log



  6. 透過 svn 將遠處 mirror 的地方更新

    • ~/mirror/p1 # svn up



  7. 將修改好的程式進行紀錄

    • ~/tmp/p1 # svn commit;



  8. 新增對某個新增的檔案或目錄加至 svn db 中

    • ~/tmp/p1 # touch haha.c ; svn add haha.c



  9. 查看目前所在目錄狀況,可得知是否有遺漏管理的

    • ~/tmp/p1 # svn status



  10. 僅列出有更動的檔案並略過未加入 svn db 的檔案

    • ~/tmp/p1 # svn status | grep -v "?"



  11. 得知有哪些檔案有變更

    • # svn diff --summarize -r 5 http://svn.example.com/trunk



  12. SVN repository location change

    • # svn switch --relocate file:///from/svn/proj/trunk file:///to/svn/proj/trunk



  13. 想要把剛剛 svn add 的檔案去掉(還沒 commit)




[FreeBSD] 設定 NIS Client 與 AMD Service

有一大批的機器要管理,最佳的做法就是由一至兩台負責管理帳號,這時候就會使用到 yp 服務囉。這篇不適用於初學者,在此僅分享記錄管的機器。


機器狀況敘述,目前僅用一台機器當 NIS Server ,並且於該台設定分享其目錄出來,目前課題擺在新增新的 client 端機器。


Server 的設定部分



  • /etc/hosts.allow (目前手邊機器常用的管法 :P )

    • ypserv : client_ip : allow

    • rpcbind : client_ip : allow ( portmap : client_ip : allow )



  • /etc/exports

    • 設定待分享的目錄的權限, ex: /data/home -maproot=root client_ip

    • 設定好要記得重跑, /etc/rc.d/mountd restart



  • /var/yp/securenets

    • client_ip 255.255.255.255

    • 設定完後, 記得 touch /var/yp/master.passwd 更新其 last modified time, 然後在 /var/yp/ 下打 make 即可更新完成。




新機器 Client 的設定部分



  • /etc/rc.conf - YP Client

    • rpcbind_enable="YES"

    • nisdomainname="WorkCC"

    • nis_client_enable="YES"

    • nis_client_flags="-s -S WorkCC,Server_IP" (若跨網域要記得加 -m)



  • /etc/rc.conf - AMD Client

    • nfs_client_enable="YES"

    • nfs_client_flags="-n 4"

    • amd_enable="YES"

    • amd_flags="-a  /.amd_mnt -l syslog -d ServerDomain /net /etc/amd.map"

    • 目前有一批機器是設成先 /net 再 /.amd_mnt  但基於某些關係,暫用舊設定(相反過來)

    • 可重開機或使用 /etc/rc.d/amd start 啟動



  • /etc/hosts.allow

    • rpcbind : server_ip : allow ( portmap : server_ip : allow )



  • YP client 部分

    • /etc/group

      • 最後一行加上 +:*::

      • 某些帳號是 wheel 群組的,記得加一加



    • # vipw

      • 最後一行加上 +:::::::::



    • 接著,則是使用者登入時的家目錄囉,由於使用 amd 服務,就來建建 ln -s 啦

      • # cd /; ln -s /net/Server_IP/data/home /home





  • 如此一來,重開機就搞定了


2008年10月22日 星期三

[FreeBSD] 設定 ccd 服務

目前手邊的機器,大概都配置四顆 250GB 以上的硬碟,然後通常一顆是用來安裝系統,所剩的空間和其他三顆會被併在一起使用。由於為數說多不多說少不少的機器都一直採用 ccd 的方式,暫且就先不試 geom 等新的方式。


在此暫記管的機器的設定,有興趣可多逛逛網路上的文件:連接式磁碟裝置驅動程式。以下是 JBOD (Just Bunch of Disks) 的設定筆記。



  1. 首先,在安裝過程中可以先行設定,或是安裝完後,透過 sysinstall 至 Configure 的 Fdisk 和 Label 設置也行。

  2. 目前的狀況大置於下:

    • 四顆 250GB 的硬碟,第一顆切 8GB 給 / 、切 4GB 給 /swap ,剩下的就先切出,暫且叫 /mnt/raw_ccd0

    • 其他三顆則是全些切,依序為 /mnt/raw_ccd1、/mnt/raw_ccd2和/mnt/raw_ccd3。

    • 在此僅為了產生 /dev/ad1s1d, /dev/ad2s1d, etc (正確上應該是採用bsdlabel設定)

    • 另外,因為我是對已執行的系統碟進行更新的動作,因此會跳出一個系統框要你 set sysctl kern.geom.debugflags=16 的相關訊息,其主因應該是當你設定完要按 W 更新,但其更新方式就是照目前設定跑一次,就會碰到有些裝置已在使用中(ex:/swap),若未設定上述 flags 的話,有錯誤就會停下來,因此無法更新到 /mnt/raw_ccd0 的部分,設定完 flags 後,就可以更新到囉。



  3. 接著,若要使用 ccd 的服務,必須編 kernel 時就要設定囉

    • device   ccd



  4. 開始正式設置 ccd 的串連方式,首先先 umount 這些地方: /mnt/raw_ccd0、 /mnt/raw_ccd1、/mnt/raw_ccd2和/mnt/raw_ccd3。

  5. 然後對於 ccd 的部分,預設的設定檔位置是 /etc/ccd.conf ,因此,若擺好設定檔後,開機就會自動幫你設定囉

    • 目前 /etc/ccd.conf 裡頭的資料,類似下面

      • ccd0 128 none /dev/ad1s1d /dev/ad2s1d /dev/ad3s1d /dev/ad4s1d



    • 另外,若是用 single mode 進去,那就執行 # ccdconfig -C 就會自動幫你弄好而產生 /dev/ccd0



  6. 透過上述的設定,在 /dev 下就會產生 /dev/ccd0 囉!

  7. 第一次初始化它!

    • # newfs -U -m 0 /dev/ccd0



  8. 使用它!

    • # mount /dev/ccd0 /data



  9. 設成自動開始時掛載(採用/etc/rc.local)

    • mount /dev/ccd0 /data
      if [ "`df | grep /data`" = "" ]; then
          fsck_ufs -y /dev/ccd0 ; mount /dev/ccd0 /data
      fi




以上就是目前的老式設定方式 XD ,雖然有些東西有點過時,或是設定方式有點怪怪的,例如自動掛載可寫在 /etc/fstab 等,但就暫且如此為之吧。


醜陋的人心

世上存在很多種人,有的人很好心,但卻也有不少人見不得別人好的人。然而,壞心的人也不是壞心,只是在某個層面會看不起別人,結果面對自己時卻又用另一個角度款待自己,說真的還真令我感冒。

但我深信,世上沒有絕對的好與壞,相對的世界需要適當地調適自己的心態。