發表文章

目前顯示的是有「Unix」標籤的文章

Ubuntu 9.10 安裝新版 kernel 後無法進入系統解決方法(Wubi 安裝)

昨天在安裝 kernel 2.6.31-15後,重新啟動竟然突然無法載入 grub 的設定檔,開始的畫面就停在 grub> ,無法啟動 ubuntu ,透過文件的閱讀,發現可以透過下述方法來解決。 修復的 grub2 的三步驟: 掛載 root.disk 手動啟動 linux 修復 grub 設定檔

[Ubuntu] 在 IBus 輸入法中,嘸蝦米的安裝心得

Ubuntu 已於 10月29日釋出。Ubuntu 9.10 將輸入法由 scim 轉換為 IBus (Intelligent Input Bus) ,為了先習慣後來 ubuntu 的改變,還是決定怎了解怎麼在 IBus 中安裝 嘸蝦米。在網路上查詢了一下,只有看到 Vicamo Yang 的 Boshiamy for iBus 這一篇文章比較完整,但是因為我比較懶,不想重新打包 deb 檔,所遙還是透過 ibus-table-createdb 直接來完成。 這一次筆者手邊有 Liu7 和 Liu57b,當然最直接的方法還是說到說 Liu7 是否有提供相對應的下載,於是到官網去找了一下,竟然沒有看到 cin 可以下載,所以還是從 Liu57b 的 cin 檔開始好了。而我手邊剛好有已經整理好的  For scim使用的 scim檔( 詳見此篇 、 或 此篇 )。所以整理的 cin 檔的工作在此篇就不再詳述了。

解決 Ubuntu 上 Freemind 中文異常問題

在 ubuntu 中,裝 Freemind 會出現一些中文缺字的問題,如 檔-->□ 這樣的問題,查些了一下網路上別人的經驗,發現是 java 應用程序 上使用字體的問題。( 請參考此篇) 該作者雖然提供了一些解決的辦法,但是因為新版的 ubuntu 其實已經有內建的不錯的中文字型檔了,所以我把方法修正了一下。 sudo -i cd /usr/lib/jvm/java*sun/jre/lib/fonts mkdir fallback;cd fallback ls /usr/share/fonts/tru*pe/ar*/* | while read line; do ln -s $line; done mkfontdir; mkfontscale 再重開就好了。不需要再另外抓取文字,只需把系統的中文字檔建一份 link 讓 java 可使用即可。

[Ubuntu] Hinedo 聽線上廣播的軟體

在 Windows 下有 RadioSure 可以用來播放線上的廣播軟體,但是在 Ubuntu 下可以透過 Hinedo 這一個套件來收聽。 Hinedo 是 OSSF 上的一個專案,該專案提供一個簡易的連接介面上 Hinet Radio 首頁,透過選單介面的方式,方便 Linux 的使用者,用以連接 hinet radio 來收聽線上的廣播。 雖然應專案的 Ubuntu 在 Hinedo 上只有更新到 2007/11/18 ,但是依據我剛剛試裝的經驗,可以正常在 Ubuntu 9.04 上正常運作。 使用的方法,可以參考 Nelson 這一篇教學文: 在 Ubuntu 底下用 Hinedo 聽網路電台 裡面有很詳細的介紹。   2009/7/8   在公司是用 wubi 裝在 Windows 的資料夾內,裝 32bit 的版本,所以很容易在 ubuntu 9.04 下就裝好了 hinedo,但是回到家以後,就困難重重,因為裝了 64bit 的版本,去查詢了之前 ubuntu 星球相關的文章,可是怎麼測試都還是裝不起來,目前無解中,只好用 gmplayer 直接硬聽。   註:本文同時發表於 Reic MurMur

[Ubuntu] Hinedo 聽線上廣播的軟體

在 Windows 下有 RadioSure 可以用來播放線上的廣播軟體,但是在 Ubuntu 下可以透過 Hinedo 這一個套件來收聽。 Hinedo 是 OSSF 上的一個專案,該專案提供一個簡易的連接介面上 Hinet Radio 首頁,透過選單介面的方式,方便 Linux 的使用者,用以連接 hinet radio 來收聽線上的廣播。 雖然應專案的 Ubuntu 在 Hinedo 上只有更新到 2007/11/18 ,但是依據我剛剛試裝的經驗,可以正常在 Ubuntu 9.04 上正常運作。 使用的方法,可以參考 Nelson 這一篇教學文: 在 Ubuntu 底下用 Hinedo 聽網路電台 裡面有很詳細的介紹。

[ubuntu] 解決 vmware 中 上下左右 方向鍵失效之問題

解決方法: echo "xkeymap.nokeycodeMap = true" >> ~/.vmware/config  如果懶的每一個每一個建立,直接使用 echo "xkeymap.nokeycodeMap = true" >> /etc/vmware/config 即可解決。

apt-get 心得

語法摘要:          apt-get [-hvs] [-o=config string] [-c=file] {[update] | [upgrade] |                [dselect-upgrade] | [install pkg...] | [remove pkg...] |                [purge pkg...] | [source pkg...] | [build-dep pkg...] | [check]                | [clean] | [autoclean] | [autoremove]} 簡介: apt-get 是一個採用命令列工具方式的套件管理工作。目前有一些前面的管理介面如:dselect, aptitude, synaptic, gnome-apt 和 wajig 等。 筆者常用的一些功能 update 用來重新同步套件索引檔。其設定檔在 /etc/apt/sources.list 。 upgrade 是用來升級目前已安裝的套件使用。 install 安裝新的套件。會裝相依性的套件一併安裝完成。 remove 移除安裝的套件。 purge 完全的移除 clean 清除掉 apt 的 cache 內容 --auto-remove 可以使用在安裝或是移除的過程中,會自動移除沒有使用的依存套件。 相關內容參考 man apt-get。

使用 USB 中的 kickstart.cfg 來安裝 Linux

  method 1: from here These are incorrect. Should be: ks=hd:sdb1:/ks.cfg ^ (extra colon needed).  method 2: solution from here   從 bug of centos 得到的訊息: I attempted to do a fully-automated install with a U3 USB key, with the following configured under /boot/grub/grub.conf, and /kickstart/ks.cfg on the key: kernel /boot/vmlinuz ks=hd:sda1/kickstart/ks.cfg A the point where the install is going to look-up the kickstart file, I see the following output to the anaconda log: " 16:40:23 INFO: getting kickstart file from harddrive 16:40:23 INFO: Loading ks from device sda1 on path kickstart/ks.cfg 16:40:23 INFO: getFileFromBlockDevice(sda1, kickstart/ks.cfg) 16:40:24 ERROR: failed to mount /dev/sda1: No such device or address ******** 16:40:30 INFO: getting kickstart file from harddrive 16:40:30 INFO: Loading ks from device sda1 on path kickstart/ks.cfg 16:40:30 INFO: getFileFromBlockDevice(sda1, kickstart/ks.cfg) 16:40:30 INFO: Searching for file on...

如何禁止 crontab -r 以防止誤殺排程工作

今天上 RHCE 時候,在上到 crontab 這一個單元時,老師忽然提到這樣的一個問題: crontab -r  可以清除掉定時排程的工作,但是 e 和 r 就在旁邊,如果不小心按錯,又沒有備份排程檔的時候,所有的排程工作不就都沒了嗎?試著想個方法去取消 crontab -r 。  當聽到這樣的一個問題的時候,馬上就想到用 alias 來解決,可是 alias 'crontab -r'='echo "not permit"' ,在對於 alias 不熟的情形下,試了,當然是沒有什麼用,於是就想到用 shell script 來解決,首先先在 .bashrc 中增加下述 alias alias crontab='~/test.sh' 在自己的 home 目錄下建立一個名為 test.sh 的檔案,並將內容設定如下: #!/bin/bash # This is a shell script which is used to cancel the crontab -r cont='' for i in $@ do    if [ $i = '-r' ] ; then         echo "'crontab -r' is not permitted"         exit 3     fi cont="$cont $i" done $(which crontab) $cont 這樣下次當不小心打 e 打成 r 的時候,就不會誤刪排程工作了。 ps: 記得要將 test.sh 變更為可執行 ( chmod 700 test.sh)

[ubuntu] 解決無法使網路芳鄰中文目錄問題

用 ubuntu 一陣子了,在網路上查詢大家如何去連接 XP 的網路芳鄰,都是利用位置-->連接伺服器的方式去連接,利用這一個方式,都無法完成中文目錄的掛載,所以我也一直很習慣沒有中文目錄可以使用,在公司只要需要用到 AD 上的共同目錄就會切換到 XP 下。 最近剛好看到 nautilus(檔案瀏灠器) 也可以支援ftp、sftp、smb等傳輸服務,於是就直接在 nautilus(檔案瀏灠器) 中直接鍵入 smb://IP    的方式來取得 list mode。 無聊的情況下單擊中文目錄,在完全驗證程序後,就看到中文目錄已經被掛載起來了。原來掛載中文目錄就是這樣容易,但是因為在家裡只有網路芳鄰可以使用。 若是要結合 Windows Active Directory 來使用的話,因為公司的目錄預設為隱藏,即是在目錄名稱後面均加上了 $ 字。所以利用 nautilus 會無法列出來,加上 Active Diretory 的權限很多,在還需要事先知道那些目錄的權限是帳號可以使用的。目前我的做法是 在終端機中,執行 smbclinet -L //IP -U username 先列出可以掛載的目載,再到 nautilus 中,使用 smb://IP/目錄 的方式,直接掛中即可。   update: 2009/09/02 若想要直接透過 mount 的方式來掛載中文目錄,可以利用 -o iocharset=utf8 的參數即可, mount //IP/資料夾  掛載點/  -o iocharset=utf8,username=xxxx

scim 的 table 內容的說明

關於 scim table 中相關定義的說明與預設值,如下所示。       # 上一頁按鍵 (預設︰Page_Up,minus)       PAGE_UP_KEYS = Page_Up,minus,Shift+less       # 下一頁按鍵 (預設︰Page_Up,equal)       PAGE_DOWN_KEYS = Page_Down,equal,Shift+greater       # 顯示按鍵訊息 (預設︰TRUE)       SHOW_KEY_PROMPT = TRUE       # 自動選擇 (預設︰TRUE)       AUTO_SELECT = TRUE       # 自動比對 (預設︰FALSE)       AUTO_WILDCARD = FALSE       # 自動傳送 (預設︰TRUE)       AUTO_COMMIT = FALSE       # 自動斷句 (預設︰TRUE)       AUTO_SPLIT = TRUE       # 自動填充預編輯區 (預設︰FALSE)       AUTO_FILL = FALSE       # 丟棄無效的鍵值 (預設︰FALSE)       DISCARD_INVALID_KE...

在 scim 中安裝嘸蝦米:由行易公司提供的 cin 檔

圖片
首先,還是要再度聲名,在目前 嘸蝦米 是屬於 non-free 的輸入法。 因為筆者只有 Liu57b 的版本,也懶的再跟著升級,所以就以 5.7b 中 Unix目錄下的 liu5.cin做說明,如果將之轉換到 scim中。 經過幾日的測試,發現由行易公司提供的 cin檔和裝在 window下的表格檔不太一樣,如果可以,還是建議由 windows下轉出表格檔來使用,較容易統一打字的習慣。

在 scim 中安裝嘸蝦米:由 Windows 的安裝檔取得嘸蝦米表格檔

圖片
近期換到 ubuntu 的環境中,首先就是要解決打字的問題,我習慣使用嘸蝦米很久了,為了適應自己的打字習慣,於是幫自己安裝了嘸蝦米輸入法,其安裝步驟如下:

利用 bash 檢查檔案是否存

在 Linux 中,可以透過  bash  script 檢查檔案是否存在,範例如下: if [ -f testfile ] then echo testfile exists! fi  資料來源: Determine if file exists in a Bourne/bash shell script - Tech-Recipes.com

[Unix] 取消特定 crontab 的 mail

為了確保服務是否正常運作,會在 crontab 中,加入自定的偵測程式。但是又不想一直收到這樣的訊息,就可以在這一行 crontab 後,加入下列紅字部分,即可取消這一筆的 mail alert。 */5 * * * * root /root/Alive_Or_Not.sh | /bin/mail /dev/null 或採用 clusung 說的方法 */5 * * * * root /root/Alive_Or_Not.sh > /dev/null 2>&1

[FreeBSD] 如何查看目錄容量大小

如果去查看 目錄 下所有檔案的容量大小呢? 在 Windows 系統上只需要在圖示按右鍵,就可以輕鬆看到目錄下所有檔案所占的容量,但是在 FreeBSD  的 console 模式下要怎麼下呢? 可利用 du 這一個指令來完成,du 用來做磁碟使用統計分析。(du:display disk usage statistics] du -hd 0 [目錄名稱|檔案] -h :使用較易閱讀的容量顯示方式,如:Byte, KB, MB, GB, TB, and PB. -d 深度:顯示目指定目錄深度  其它更多 FreeBSD常用指令可參考 阿正學習筆記 的 此網頁 。

SAN

# SAN 我們需要大量的存取裝置,目的就是為了要強化存取效能與總可用容量,現在知道總可用容量可以使用 RAID 技術來加強,但是存取效能呢?透過網路來存取時,確實可能導致存取效能的低落啊。 為了解決這個問題,因此後來很多廠商開發出所謂的光纖通道。光纖通道的速度要快上很多, 目前標準的光纖通道是 2GB ,未來還可能到達 10GB 以上呢~ 不過,使用光纖等技術較高的設備,當然就比較貴一些。 利用光纖,配合一些硬體的標準化,後來一些廠商提出了 SAN (Storage Area Network) 架構; SAN 利用較高階的光纖通道來進行主機與儲存設備的連接, 讓主機透過光纖來快速存取儲存設備內的資料,而不是透過較慢的網路架構。 但是 SAN 架構的初設成本太貴,而且維護費用頗高! ... (原文)

FreeBSD 使用 UTF8 的問題

這一陣子因為試圖直接在 FreeBSD下直接編輯 UTF8 文件,但是一直不得其法。 原來只要用 Vim 就可以輕易辦到了。