Ubuntu Linux 12.04 LTS 安裝 NVIDIA CUDA 5.0

NVIDIA CUDA 目前已經發展到 5.0 版了,而 Linux 的最新版安裝程式已經打包成一個單一可執行檔,安裝過程與以往有些差異,不過大致上都是差不多的。

這裡示範如何在 Ubuntu Linux 12.04 LTS 版本中安裝 NVIDIA CUDA,因為目前 NVIDIA 官方的 CUDA 5.0 只有支援 Ubuntu Linux 10.04 與 11.10,沒有對應 12.04 的版本,所以只好下載最接近的 11.10 版來安裝。

首先建立安裝 CUDA Toolkit 的目錄,並把目錄的擁有者改為自己(不改也可以,因為我個人習慣盡量不用 root 權限):
sudo mkdir /usr/local/cuda-5.0
sudo chown seal:seal /usr/local/cuda-5.0


下載 CUDA 5.0 安裝檔,下載後直接執行:
chmod +x cuda_5.0.35_linux_64_ubuntu11.10-1.run
./cuda_5.0.35_linux_64_ubuntu11.10-1.run

在 Linux 中使用 qrencode 產生二維條碼(QR Code)

二維條碼(QR code)是現在很常用的編碼方式,將網址轉為二維條碼之後,使用一般具有相機功能的智慧型手機就可以馬上讀取其中的資訊,省去手動輸入的麻煩。

一般生活中,最常見到的二維條碼就是現在最新的電子發票了:


發票右邊的正方形區域就是二維條碼,而有些商品上面也會有二維條碼,例如便利商店的麵包:



在 Linux 中,如果想產生二維條碼,可以使用 qrencode 這個程式,這是一個免費且開放原始碼的小程式,專門用來將文字訊息轉換為二維條碼的圖片。

Linux 檔案系統掛載(mount)使用教學與範例

在 Windows 系統中如果裝了好多顆硬碟、光碟機或是隨身碟,系統就會自動幫這些設備(device)編號,例如第一顆硬碟通常就會是 C 槽,第二顆就是 D 槽,如果又有光碟機或隨身碟,就依序編下去,而在「我的電腦」中打開後,就可以存取設備(硬碟、光碟或隨身碟)中的檔案,這是大家應該都很習慣的事情。


不過在 Linux 系統中就不是這樣,所有可存取的檔案都被安置在一個很大的目錄樹(也就是根目錄「/」)底下的某ㄧ個位置,如果要存取某個設備上的檔案,就必須先把這個設備掛載(mount)上來後,才能夠讀取或寫入資料,例如在新增硬碟、存取 USB 隨身碟或是讀取 CD-ROM 時,都需要掛載的動作。

雖然現在大家常用的的 Linux distribution 大部分都有自動掛載 USB 或 CD-ROM 的功能,不過難免還是會需要用到指令的時候。這裡將介紹在 Linux 中常用的掛載方式,也就是 mountumount 兩個指令的使用方式,一般若要使用 mount 指令掛載 device,最常見的方式就是像這樣:
mount -t type device dir
其中 device 是就是要掛載的設備,而 -t type 參數是指定 device 的檔案系統格式(如 ext4vfatntfs 等),最後的 dir 則是指定掛載的路徑(也就是要把這個設備掛在目錄樹的哪裡)。

在設備存取完畢後,如果要移除設備(例如拔除 USB 隨身碟),必須要先把設備卸載,以免資料沒有同步寫入設備而造成資料損毀。要卸載設備則使用 umount 指令:
umount dir
umount 的參數只需要指定掛載的路徑即可。

Linux 檔案系統:Ext 2、Ext 3 與 Ext 4

隨著 Linux 的版本演進,其檔案系統也不斷的在更新,在 Linux 中常見的檔案系統有 Ext 2、Ext 3 與 Ext 4 這幾種,這些檔案系統都是為了 Linux 而設計的,本篇主要在介紹這幾種檔案系統的主要差異,與一些相關 Linux 指令的使用方式。


檔案系統簡介

這裡介紹 Ext 2、Ext 3 與 Ext 4 這些檔案系統的特色,與其中主要的差異。

Ext 2 檔案系統

Ext 2(second extended file system)檔案系統誕生於西元 1993 年,是為了改善既有的 Ext 檔案系統而設計的,以下是這個檔案系統的特色:
  • 沒有日誌(journaling)功能。
  • 因為沒有日誌功能,Ext 2 檔案系統比較適合用於 flash 的儲存設備或一般 USB 隨身碟。
  • 磁碟容量最大可以支援到 32 TB。
  • 單一檔案最大可以支援到 2 TB。

在 Linux 上使用 RAM Disk 提高資料讀寫速度

RAM Disk 就是將動態記憶體(Dynamic Random Access Memory,DRAM)經由軟體模擬的方式,拿來當作一般硬碟使用,優點就是讀寫速度很快、壽命也比一般硬碟長,但是缺點是斷電時資料就會消失。由於記憶體的存取速度比傳統硬碟、固態硬碟(SSD)或磁碟陣列的速度更快,因此將記憶體模擬為硬碟後,可以利用其優越的讀寫能力,提升系統執行效率。

RAM Disk 不像傳統硬碟採用馬達與磁片等機械裝置,而是靠電子訊號傳輸,因此在分類上也算是固態硬碟(Solid State Disk),但其讀寫效能卻是一般市售 SSD 無法相比的!相較市面上高速 SSD 可達 500MB/s 的讀寫速度,或者高達 1000MB/s 速度的 PCI Express SSD 磁碟陣列產品,RAM Disk 讀寫速度是前述產品的數倍有餘,而且更為便宜。

RAM Disk 效能會受到軟體、記憶體時脈、晶片組的記憶體通道數而有所不同。扣除軟體差異,記憶體時脈越高則效能越好,而四通道平台又比雙通道來得快一些,但無論如何,記憶體的存取效率還是優於其他的儲存裝置。

在 Linux 中若要使用 RAM Disk,只需要使用 mount 這個指令就可以了,非常簡單!

首先在 /tmp 中建立一個資料夾:
mkdir /tmp/ramdisk
chmod 777 /tmp/ramdisk


接著再使用 mount 指令將 4G 的記憶體掛上去:
mount -t tmpfs -o size=4G tmpfs /tmp/ramdisk/

這裡要使用 -t 參數指定檔案系統類型為 tmpfs,並且使用 -o 參數指定 RAM Disk 大小為 4G。

顯示 Ubuntu Linux 伺服器管理與使用技巧

在 Ubuntu Linux 中有個指令叫做 ubuntu-server-tip,這個程式可以隨機提供管理伺服器上的技巧,這對於伺服器的管理者而言,若是想要多增進 Linux 管理的功力,這是個不錯的學習管道。

ubuntu-server-tip 這個程式是包含在 fortunes-ubuntu-server 這個套件中,若要使用要先安裝:
sudo apt-get install fortunes-ubuntu-server -y

安裝完成後,直接執行:
ubuntu-server-tip

它會隨機顯示一條使用技巧,以下是一些例子。

讓 SSH 登入的使用者只能執行特定指令:
To restrict ssh logins to certain commands, have a look at the ForceCommand directive (see "man sshd_config").