跳到主要內容

發表文章

uBuntu 12.04 Server Name Resolution(名稱解析DNS設定)

最近安裝 uBuntu 12.04 Server 版本進行一些運算,在 /etc/resolv.conf 設定好 nameserver 位置並新開機後卻無法進行名稱解析?開啟先前設定的 reslove.conf 檔案內容卻被清空了,只剩下兩行內容寫著: # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN 原來現在 uBuntu 中 Name REsolution Server 的設定和 Fedora/Redhat 不同,已經和 IP networking 結合,使用 resolvconf framework 不是在 /etc/resolv.conf 中設定。原因是現在的電腦可能不會只在一個網路中使用,當拿到別的網路中使用時就需要重新更改設定,所以就將 Name resolution 設定更改至 interface 的設定裡。 設定方式:  編輯 /etc/network/interfaces,再往卡設定中加入 # sudo vim /etc/network/interfaces dns-nameservers 192.168.3.45 192.168.8.10 另外一個選擇性的,如果有需要做 domain name 的 fully quality 查詢,加入 dns-search example.com 完成後儲存並重新啟動網路 # sudo /etc/init.d/networking restart Reference: uBuntu document: Name Resolution https://help.ubuntu.com/12.04/serverguide/network-configuration.html#name-resolution

CEntOS 上 PHP 5.3 的時區設定問題

最近將原本 Fedora 12 的主機更換成 CEntOS 6.3 版,在這個版本中的 PHP 預設為 5.3.3 版。放上先前撰寫的程式,當有使用到 Date 函數時會出現下面的警告訊息: "PHP Notice: It is not safe to rely on the system's timezone settings, You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier" PHP 5.3 現在需要我們在 php.ini 中設定 timezone 的資訊,或是在使用 date() 函數前先做  date_default_timezone_set() 的設定。 因為是自己的主機,因此我趨向更改 php.ini 設定即可。打開 /etc/php.ini 設定,大約在 943 行的地方有 timezone 的設定項目內容如下: [Date] ; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone ; date.timezone = 因為我主機的時區位置是 Taipei 時間,取消 date.timezone 前面的註解符號,並在等號後方加入 "Asia/Taipei"(PHP 的時區可以參考官方 List of Supported Timezones )修改後項目內容如下: [Date] ; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.co...

好用的工具 Tmux

介紹 Tmux 是一套最近接觸到於 tty 下的多程式視窗工具,類似很多老手在使用 Linux or BSD 就有使用 GUN Screen 這一個程式。使用 tmux 和 screen 最大好處在於遠端管理的時候,如果需要執行相當耗時的程式,可以讓我們在離開(或許這裡稱「斷開」比較合適)的時候還可以繼續的執行,下次回來的時候再「取回」之前的內容即可。 Tmux 和 Screen 不同的地方,主要在於: 視窗分割 在一個視窗中縱向或是橫向分割許多視窗 視窗切換 在 Session 中相互切換 多人共用視窗 可以被多個 ssh 連線共用一個  tmux session Screen 和 Tmux 的架構圖,可以參考下面兩張圖(圖片來源: 這樣做就對了 ) Screen 架構: Screen 一次只能有一個連線,切換視窗必須先 detach。 Tmux架構: Tmux 有 Session、Window、Pane 的概念,而且隨時可以作彈性切換,將 Pane 獨立成新的 Window。 安裝 目前在常見的 Linux distributions 中都可以利用套件庫安裝,如果沒有也可以下載 Tarball 來安裝: 自行下載 Tarball 安裝,下載位置 Tmux (目前最新為1.6版) uBuntu 安裝 # sudo apt-get install tmux CentOS 安裝 # yum install tmux $PS1顯示問題 安裝完 Tmux 在 tty 中輸入 tmux 可以啟動進入,如果有在 .bashrc 中設定 $PS1 的顯示方式,uBuntu 中(測試為 uBuntu 12.04)會發現失去設定的效果,而在 CEntOS 6.2 中顯示為正常。要如何修正讓在 Tmux 環境中仍然可以正常顯示? 開啟 .bashrc 檔案,找尋 「case "$TERM" in」部份,加入 screen 項目(如下紅字部份)再重新進入tmux 環境即套用設定。( 參考資訊 ) case "$TERM" in xterm*|rxvt*| screen* )     PS1="\[\e]0;${...

uBuntu 12.04 x64 MP3 播放問題

在 uBuntu 12.04 發布後也有一週了,這幾天將原來的 11.10 移除安裝 LTS 的 Precise Pangolin (精確的穿山甲)。剛開始安裝還真的有些挫折,總共重新安裝了四次才成功,安裝經驗值馬上上升...,欣慰的是完成安裝後的設定變得更順手,或許事變的更簡單更懶人了吧! 使用 Gnome Shell 3 桌面環境相較於 11.10 感覺融合的更好了,Online Account 和 Empathy 和 Evolution 更緊密的結合了,設定後就不需要在分別設定就會結合 Gtalk 和 Gmail 內容。 目前碰到比較大的問題大概就是音樂播放,12.04 將預設的音樂播放器更改為 Rhythmbox ,在進行匯入歌曲時會出現 mp3 codec 沒有安裝的錯誤,雖然自動連結上網查詢相關套件,但卻一直無法安裝成功,後來查詢網路上似乎有些人也碰到和我相同的狀況,建議是安裝 ubuntu-restricted-extras 套件,ubuntu-restricted-extras 套件會將一些多媒體 code 安裝至系統中,詳細內容請參考 RestrictedFormats 網站內容。 安裝 ubuntu-restricted-extras 套件,請輸入下面指令: sudo apt-get install ubuntu-restricted-extras 完成安裝,再重新開啟 Rhythmbox 匯入就沒有錯誤訊息了!

漂亮的 uBuntu Icon - 「faenza-icon-theme」

在 Server 上已經習慣在 Terminal 環境中工作,在 Desktop 環境中還是希望是在一個有 GUI 的介面來操作,畢竟 Desktop 中需要聽音樂、看影片... 現在 Linux 的桌面環境越來越成熟了,不但安裝系統時可以很無痛,驅動、和所需的軟體也可以簡單的搞定。現在 uBuntu 更引進了 Software Center 的方式(雷同 Mac 的 App Store),安裝軟體也只要點一點就完成了。 無論是 uBuntu 的 Unity 桌面系統,還是 Fedora 預設的 Gnome Shell 3,都是很好用、容易上手的桌面環境,既然有了這麼好的桌面環境,龜毛的我當然更想要多一點變化,找些漂亮的圖示來變換一下,於是在  deviantArt  看到了  Faenza Icons  這個圖示集(如下圖) 在網路上查尋安裝方法,其實並不難。可以使用 PPA(Personal Package Archives)的方式來安裝,PPA 安裝方式如下: sudo add-apt-repository ppa:tiheum/equinox sudo apt-get update sudo apt-get install faenza-icon-theme 如果你和我一樣是使用 uBuntu 11.10 ,在安裝 add-apt-repository 時會出現 pycurl.error 問題,網路查詢問題後發現似乎是這個 11.10 版本的 Bug,看來目前尚未解決(據說都要出下一版了...)。沒關係,山不轉路轉~我們換個方式: 開啟 Software Source 管理程式 在 Other Software 頁籤下,點選 Add 按鈕。 在 APT line 中輸入 ppa:tiheum/equinox。 再到 Terminal 中執行安裝即可。 sudo apt-get install faenza-icon-theme 配合 Gnome Tweak Tool 更換 shell icon,就會有漂漂亮亮的圖示嘍!

Mac 環境中 Netbeans 中文輸入問題

換到 Mac 的環境後,感覺最大的差異大概就是似乎要花上一些購買軟體的費用,在 Mac 上也是有 Freeware,那大多不好用或是功能限制太多。還好當初主要的程式作業環境是使用跨平台的 Netbeans,功能強大、免費而且在每個平台的使用習慣相同,這是一個很重要的優點。 可是在 Mac 上似乎有一個小小的缺點,就是完全不理會中文輸入法...Coding 上沒有太大問題,但畢竟給使用者的訊息仍然是需要使用中文,總不能都在別的軟體上打一打再貼過來。上網請教了酷狗大神,終於獲得了解答。 我的環境是: Mac OS X (10.7.3) Netbeans 7.1 修改設定檔 netbeans.conf 檔案,檔案路徑如下: /Applications/NetBeans/NetBeans\ 7.1.app/Contents/Resources/NetBeans/etc/netbeans.conf 如果使用 Finder 請在 NetBeans 7.1.app 右鍵,顯示套件內容,在逐步找到 netbeans.conf 位置。 使用習慣的文字編輯器打開 netbeans.conf 檔,找到 netbeans_default_options 項目。 檢查是否已經有 java.awt.im.style 設定 如果沒有請在最後加上 -J-Djava.awt.im.style=on-the-spot ,如下: netbeans_default_options=" -J-Dcom.sun.mysql.startcommand=/usr/local/mysql/support-files/mysql-admin.server -J-Dcom.sun.mysql.stopcommand=/usr/local/mysql/support-files/mysql-admin.server -J-Dcom.sun.mysql.startargs=start -J-Dcom.sun.mysql.stopargs=stop -J-Dcom.sun.mysql.port=3306 -J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true ...

在 Linux 中解決 umount 時 Divice is busy 的問題

現在 Linux 環境中掛載外接的設備越來越方便,支援度也越來越高,很多設備接上後直接自動 mount 上來,不需要在系統中慢慢找尋和掛載。接上設備很方便但往往在移除卸載時,有可能發生 Divice is busy 的狀況,可能有程式或是使用者正在使用,我們會擔心如果沒有正確移除設備,可能會造成資料的遺失資料的遺失或是資料可能會不完整。 要如何解決這樣的問題,讓我們可以卸載設備? 在安裝 Linux 時,就有支援 fuser 這個指令,這是用檔案或是檔案系統來找出使用者或程序的指令,詳細的使用參數可以在系統中 man 一下或是參考 鳥哥網站的說明 。 # fuser -m -v /mnt/mymount (mount point) -m: 顯示所有使用檔案或檔案系統的程序,後面可以接掛載點或設備。 -v: 列出詳細資訊 顯示的內容除了程序名稱,還會有 process id,有了 PID 就可以用其他指令來 kill 佔用的程序。 如果要查詢時一併馬上刪除佔用的程式,可以直接在加上 -k 這個參數。 # fuser -m -v -k /mnt/mymount (mount point) 如果擔心這樣刪除太狠了,可以再加上 -i 這個參數,在刪除前先跟下指令的使用者確認一下。 # fuser -m -v -k -i /mnt/mymount (mount point) (-i 需要和 -k 相互配合使用) 先處理佔用卸載資源的程序後,我們就可以安全的卸載和移除硬體了。