Thinkpad T61 安裝 ArchLinux 摘要-基本安裝

像我這類對 Linux 系統有點懂又不太懂的「中手」最適合 ArchLinux 了。「簡潔 (simplicity)」與「滾動式更新 (rolling update)」的特性,可以讓使用者自行選擇欲安裝的套件,並可時刻維持版本在最新的狀態。

安裝過程雖然沒有如 Ubuntu 那樣近乎傻瓜式的安裝方式,但透過指令,一樣一樣地逐步「刻出」所屬自己的系統,客製化程度相當高,安裝來回幾次後 (這蠻正常的,砍掉再重裝,習以為常。),也就易於掌握安裝/設定的竅門。

大概主要參考官方 Wiki-Beginners guide,其實基本安裝就不會有問題了。安裝步驟參考該 Wiki,這裡只是針對個人在安裝過程中,有些稍須注意的設定註記備忘。

安裝期間過程摘要

  1. 我使用 ImageUSB 工具將下載的 ArchLinux ISO 檔寫入到 USB 碟。這類將開機系統寫入至 USB 碟的工具程式很多,視所在的作業系統來決定用哪個工具寫入即可。
  2. 關於磁區 (partition)的分割,要注意的是主機使用 UEFI or Legacy BIOS 開機;儲存裝置 (HDD/SSD)是採 MBR or GPT 來分割,這裡會牽涉到分割 所使用的工具 (fdisk or gdisk)

    我的 T61 當然只有傳統的 BIOS 開機,然後分割表我則是採用先進的 GPT 分割表,所以需要額外分割一個 2MB 的開機分割區,並指定其類型為 EF02。這樣未來電腦開機後才得以正確導入到開機磁區再交由如 syslinux/grub 等開機管理程式啟動系統。

    閱讀全文 »

RogueLike in Linux C++-寫在前頭

我想再利用閒暇時間瞭解下 Linux 的程式開發,以俾得以對 Linux 系統底層有更進一步的應用與控制。因為未來開放式硬體的架構 (ex. Raspberry Pi, BeagleBoard, Cubieboard ...etc),必然是以 Linux 為開源系統,並以此為基準點,建立各類硬體裝置控制的應用。

我偏好採用 C++ 作為 Linux 開發的程式語言,畢竟 Linux 系統底層/服務 大都以 C/C++ (其實還是要當為兩種不同的語言,只是 C++ 可以很容易引用 C 的函式庫。)來開發的。再則:

  • 高移植性:重點在於函式庫的跨平台 (Windows/Linux ...)、跨硬體架構 (Intel/ARM-based CPU)!且太多開源各類的函式庫可資引用,方便太多。
  • High-Performance。
  • 物件化的始祖:畢竟我還是習慣採物件化的思維來設計與開發,具 OOP 的機制還是會比較直覺。

我希望初期先透過一個主題來持續學習與實踐 C++ 的開發 (先不需牽扯到系統底層處)。因為畢竟與工作無關,且是當成休閒嗜好的輕鬆態度學習的;所以我想乾脆就把 RogueLike 遊戲 的程式開發作為學習的標的。

因為我現在也正在玩 DCSS (Dungeon Crawl Stone Soup),而 RogueLike Game 不需著重在畫面音效等,僅需利用 ASCII 字符的格狀畫面來呈現即可,所以就不用考量到畫面效果的處理技術。另外一點很重要的是,大部分的 RogueLike 遊戲係以 Open-Source 連原始程式碼都免費釋出,還有許多教學資源可供充分的研究與學習。

我就打算以這一系列-Complete roguelike tutorial using C++ and libtcod,作為我學習以 Linux C++ 開發 RogueLike 遊戲的教案,然後逐步的把心得筆記下來。

總之,我是打算抱著很輕鬆的態度來學習 Linux C++ 的,應該是會視之為 long-term 的學習歷程。

閱讀全文 »

Linux C++-開發環境與Hello程式

實作目標:在 Ubuntu 與 Raspbian 建立 C++ 開發環境。
副目標:撰寫並執行 Hello 程式,以測試開發與編譯環境。

實作:

  • 關於 Code::Blocks IDE
    Linux C++ 老手普遍僅以 vim 為程式碼開發平台,並以 g++ 與 Makefile 工具達成自動化編譯的目的;不過對新手尤其習慣 Windows-based 具有整合開發環境的開發人員來說,只用上述命令列模式指令來編輯與撰寫 scripts 難度高了些。

    Code::Blocks 是一個開源、跨平台的 IDE 開發工具,可以撰寫 C/C++, Fortran 等程式語言;除了提供視覺化的開發環境外,也可以透過其 plugin framework 擴展功能,例如得以增強在程式編譯與除錯方面的功能。

  • 安裝 Code::Block & gcc/g++
    Code:Block 安裝非常容易。Ubuntu 可以透過 XWindows 下的「軟體中心」搜尋「Code Block」找到安裝即可;Raspbian 則在 Pi Store 以同樣關鍵字搜尋安裝。

    至於 gcc/g++,先釐清這是兩種不同的 compiler。gcc = gnu compiler collection,可以編譯多種語言;g++ 則只可以編譯 C++ 程式。關於兩者的區別,可參考-gcc和g++的區別

    Ubuntu 14.04 只需另行安裝 g++ 編譯器即可 (同上安裝方式);而 Raspbian 則已預行安裝。只要在 terminal 下打:

    # gcc (or g++) - v

    即可查知是否已安裝及其版本訊息。

  • 閱讀全文 »

HowTo-安裝 Redmine 2.3.2@EC2-Ubuntu 12.04

關於如何申請 Amazon EC2 Free Tier (第一年免費),可以參考此篇-快速安裝 Amazon EC2 LAMP 環境 (EC2 Console)Amazon AWS EC2 LAMP Quickstart Guide

在創建 instance 時,我安裝的 OS 是預設的 Ubuntu LTS 12.04 64-bit (AMI ID: ami-70f96e40),伺服器地區為 US West (Oregon),選擇的方案當然是免費的 T1 Micro (630Mb RAM) Free Usage Tier,這僅對架設小型站台 (如 Redmine 等 Issue Tracking 系統)已是足夠了。

除了 Ubuntu 作業系統外,包括 AMP (Apache, MySQL, PHP), Git, Ruby, redmine 等,全都是需要透過 Putty 連線至 EC2 Console 安裝設定的 (當然,也要先設定好如何遠端連線)。千萬不要安裝 X-Windows 環境於 EC2,我曾試過,然後可以利用 FreeNX 透過 RDP 遠端遙控 EC2,但主記憶體吃了 580Mb,僅剩 10Mb 可茲利用 (有效記憶體僅為 590 Mb)。

至於為何不乾脆使用 BitNami Redmine Cloud Server,或直接安裝 BitNami Redmine Stack AMI (Amazon Machine Image) 映像檔就可以直接使用?因為沒有免費的糖果啦!直接使用 Bitnami Redmine Stack,每個月的租費至少需要 US$15,那就是買你懶得或不諳系統安裝的使用者的系統建置服務費的。為了省錢同時也練習一下關於 Linux 相關系統建置,一切還是自己來。

Redmine 是一套近兩年頗為歡迎的專案管理工具,可以參考此篇-Redmine 基本功能介紹。Remine 支援絕大宗的版控系統 (包括 Git, Subversion, CVS 等),使得更輕易整合關於 Issue 與 Commit 訊息。

Redmine 是使用 Ruby on Rails Framework 撰寫開發的系統,所以作業系統需要具有可執行 Ruby 的直譯環境,當然也需要有 Web Server (支持 Apache, Nginx) 與 資料庫系統 (支持 MySQL, PostgreSQL),才可以完整運作 Redmine。

這裡列出包括作業系統與所需要建置的應用系統:
 o Ubuntu LTS 12.04 64-bit。
 o Apache 2.2。
 o MySQL 5。
 o Ruby 1.9.3 (使用 RVM 安裝)。
 o Redmine 2.3.2 (2013-07-14)。

閱讀全文 »

[備註] 安裝 RVM and Ruby@Ubuntu 13.04 x64

安裝 RVM 之前必要的套件 (以管理者帳號安裝):

$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install curl

RVM (Ruby Version Manager)提供在同一環境下安裝多個 Ruby 程式語言版本的機制。

RVM 的安裝環境預設於個人帳號資料夾中,設計上與系統環境有區隔,因此憑一般使用者權限安裝即可,不需要系統最高使用者的權限。每個 Ruby 環境的 Gem 都是分別管理,甚至在同一個 Ruby 下也可以建立不同的 Gemset,彼此獨立互不影響。

* 安裝 (single-user) rvm:

$ curl -L https://get.rvm.io | bash -s stable

* 查看所需要的 dependencies:

$ rvm requirements

* 查看 ruby 可安裝的版本資訊:

$ rvm list known

閱讀全文 »

[備忘] 安裝 Vmware Tools for Ubuntu virtual machine

  1. 下載 Vmware Image-Bitnami LAMP Stack 系列。
    已內建安裝好 Ubuntu OS, Aache, MySQL, PHP 等網站建置環境。
  2. 解壓縮並執行 Bitnami VM。
  3. 確認並安裝 Linux-Kernel-Headers。
    > uname -r
     o 系統會列出 Linux kernel release, 例如 2.6.35-31-virtual。
    > sudo apt-get install gcc make linux-headers-2.6.35-31-virtual
     o 後面版本號碼更換為原來所列出的 kernel release 版號。
  4. 參考-Installing VMware Tools in a Linux virtual machine using a Compiler
    > sudo mkdir /mnt/cdrom
    > mount /dev/cdrom //mnt/cdrom
    > cd /tmp
    > tar -zxvf /mnt/cdrom/VMwareTools-<version>.tar.gz
    > cd vmware-tools-distrib
    > ./vmware-install.pl
軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal