PHP 程式設計師必備 Xdebug extension 安裝 on Ubuntu

xdebug-logo
之前寫了一篇

在 FreeBSD 的安裝方式,這次來紀錄如何在 Ubuntu 系統上安裝 Xdebug PHP extension,開發網頁有太多的 debug 工具,其實最重要只要找到合適的開發環境,縮短專案開發程式時間,那底下就是介紹如何安裝在 Ubuntu 12.04 系統上。

系統安裝 透過 Ubuntu 內建程式 apt 安裝即可

# php xdebug
aptitude -y install php5-dev
aptitude -y install php-pear
pecl install xdebug
[Read More]

用 Ubuntu 10.10 Live CD 重新安裝 GRUB 2 到 Bootloader

logo-Ubuntu

今天起床打開電腦,Ubuntu 跳出 Warning 訊息,boot 磁區剩下 84MB,所以我手殘進去 /boot/ 目錄,把舊的 Kernel 清除,不小心砍掉 initrd.img-2.6.35-32-generic Linux Image 開機所需要的檔案,結果之後開機出現

You need to load the kernel first 大家好像都是升級 Kernel 之後才會出現上述狀況,網路上找到的解答都不符合我的需求,所以我又往 GRUB2 開機 Boot 去瞭解,新的 GRUB 2 跟原先的 GRUB 的解法已經完全不同了,沒有 /boot/grub/menu.list,而被 /boot/grub/grub.cfg 取代,所以不應該在手動編輯此檔案。grub.cfg 會在有更新 Kernel 版本時,手動執行 update-grub 的時候被修改覆寫。這次發生的原因是在我把舊版 Kernel 刪除,而忘記執行 update-grub,這時候的最佳解法就是透過 Live CD 來救援。

[Read More]

[筆記] 在 Ubuntu mount DVD ISO 檔案

logo-Ubuntu
在網路上常常下載

ISO 檔案Windows 底下可以透過虛擬光碟看到檔案內容,可是到了 Ubuntu 系統該如何知道 ISO 裡面放了哪些檔案呢?其實很簡單,可以透過 mount 指令就可以做到了喔,參考 Ubuntu 台灣論壇: 如何mount iso檔? [論壇 - Ubuntu基本設定]

$ mount /iso/ubuntu.iso /home/appleboy/ISO/ -t iso9660 -o loop
執行完上述指令,可以發現桌面會多出 DVD 光碟圖示,直接點選就可以了

Geany 編輯器搭配 sshfs 參數注意事項

geany_vectorized_free

Geany 是一套我覺得在 Linux 作業系統底下蠻簡易及輕量的程式編輯器,之前撰寫一篇 Linux 程式開發編輯器 Geany + Fuse 遠端掛載 簡易介紹如何使用 Fuse,這次發現一個小問題,就是掛載要儲存檔案時候出現底下錯誤訊息

Error renaming temporary file: Operation not permitted. The file on disk may now be truncated! 此錯誤訊息發生在用 Fuse 掛載遠端系統所造成,原先掛載指令如下

sshfs appleboy@xxxx.com.tw:/home/appleboy /home/git/CN 
-p 22 -o reconnect,sshfs_sync -o uid=1000,gid=1000
我們只需要另外加上

workaround=rename flag 及可以解決此問題

sshfs appleboy@www.cn.ee.ccu.edu.tw:/home/appleboy /home/git/CN 
-p 22 -o reconnect,sshfs_sync -o uid=1000,gid=1000 
-o workaround=rename
測試環境為 Ubuntu 10.10.

在 CentOS 上面安裝 Ruby 環境

centos
目前開發網站都傾向於用

Compass 這套 CSS Framework 來 develop,開發之前必須把環境先弄好,就是要有 Ruby 套件才可以安裝 Compass,網路上的教學幾乎都在是 Ubuntu 底下用 apt-get 方式來安裝,其實相當方便,但是 FedoraCentOS 就是要用 yum 方式來安裝,這次碰到 CentOS 竟然 yum search git 出來的結果是空的,所以決定全部都透過 tar 的方式來安裝全部套件了。由於 Fedora 幾乎都可以找到套件,但是碰到 rubygems 需要用到 ruby 1.8.7 以上版本,所以還是乖乖的用 tar 方式吧。 大家可以試試看透過底下 yum 方式安裝:

yum install -y ruby ruby-devel rubygems
雖然 Fedora 透過上面可以安裝成功,可是 ruby 跟 rubygems 的版本根本是...太舊了吧 ... [Read More]

AWS 機器上 duplicated RPM 問題

AWS-logo
昨天幫忙升級全部

AWS RPM 套件,升級過程本來很順利,不過不知道哪一個 RPM 造成 SSH 全面斷線,接著我直接到 AWS Management Console 把機器 restart,登入系統之後下 yum update,直接給我噴出底下錯誤訊息

---> Package zlib.i686 0:1.2.3-24.7.amzn1 will be updated
---> Package zlib.i686 0:1.2.3-25.8.amzn1 will be an update
--> Finished Dependency Resolution
 You could try using --skip-broken to work around the problem
** Found 155 pre-existing rpmdb problem(s), 'yum check' output follows:
audit-libs-2.1-5.15.amzn1.x86_64 is a duplicate with audit-libs-2.0.4-1.14.amzn1.x86_64
authconfig-6.1.12-5.14.amzn1.x86_64 is a duplicate with authconfig-6.1.4-6.13.amzn1.x86_64
basesystem-10.0-4.9.amzn1.noarch is a duplicate with basesystem-10.0-4.8.amzn1.noarch
bash-4.1.2-8.14.amzn1.x86_64 is a duplicate with bash-4.1.2-3.13.amzn1.x86_64
binutils-2.20.51.0.2-5.20.17.amzn1.x86_64 is a duplicate with binutils-2.20.51.0.2-5.12.15.amzn1.x86_64
cloud-init-0.5.15-16.amzn1.noarch is a duplicate with cloud-init-0.5.15-8.amzn1.noarch
coreutils-8.4-13.13.amzn1.x86_64 is a duplicate with coreutils-8.4-9.12.amzn1.x86_64
coreutils-libs-8.4-13.13.amzn1.x86_64 is a duplicate with coreutils-libs-8.4-9.12.amzn1.x86_64
cpp-4.4.5-6.35.amzn1.x86_64 is a duplicate with cpp-4.4.4-13.33.amzn1.x86_64
[Read More]

Linux 程式開發編輯器 Geany + Fuse 遠端掛載

Geny 自己買的筆電灌上了 Ubuntu 作業系統,Linux 系統好處多多,指令自己也熟悉,想架什麼站都可以,但是最主要還是要找一套程式開發編輯器,網路上看了大部份文章,我決定用 Geany 這套免費的編輯器,在 Windows XP 底下我則是使用 PSPad 搭配內建的 FTP 功能遠端編輯寫程式,但是 Geany 並沒有支援 FTP 功能,可以詳細看到官方網站 Q&A,官方建議搭配 FuseLUFS,這樣並不只是 Geany 可以使用,其他 Application 也可以任意使用了。 在介紹 Fuse 之前可以先參考過去寫的一篇教學: [SSHFS] 好用的 SSH Filesystem fusefs-sshfs in FreeBSD or Linux,裡面分享了 FreeBSD 跟 Linux 底下的 tarball 安裝方式,當然現階段 Ubuntu 安裝就很容易了,透過 Apt 管理的方式安裝:

$ apt-cache search sshfs
sshfs - filesystem client based on SSH File Transfer Protocol
sshfs-dbg - filesystem client based on SSH File Transfer Protocol (with debbuging symbols)
sbackup-plugins-fuse - Simple Backup Suite FUSE plugins
$ apt-get install sshfs
安裝完成,透過底下指令把遠端資料夾 mount 過來吧。
$ mkdir /home/appleboy/tmp
$ sshfs -p 22 appleboy@XXX.XXX.XXX.XXX:/home/appleboy /home/appleboy/tmp
Geany 真的蠻好用的喔,推薦給大家,還有其他 screenshot 可以參考

這裡

How to write Platform Devices and Drivers with FPGA via GPMC

這投影片是我在接手公司其中一個專案,所做的 Slide,當然最主要是深入了解 GPMC (General Purpose Memory Control),GPMC 本來是ARM 用來跟 Memory 溝通的 interface,現在用來跟 FPGA 溝通,目前我只有看到

TI 的線上文件有看到相關說明,以及解釋 GPMC 的 Program Model,在寫 GPMC 之前請先注意 Platform Device 跟 Platform Driver 的關係,之後才會開始設定 GPMC Config(1~7) 的設定檔,這樣拿示波器就可以看到 GPMC Chip Select 訊號,每個 ARM 只能接 8 個 Chip Select,這點大家必須注意,Flash 會用掉一個,在這專案學到蠻多東西,畢竟 Driver 這塊非常大,之前寫 G-Sensor 的 i2c Driver 也是如此。此 Slide 只是初步介紹,更詳細的就要實際撰寫程式碼了。

快速安裝 Amazon EC2 LAMP 環境 (EC2 Console)

已經紅了一陣子的 Amazon 雲端服務,本篇來介紹如何使用 Amazon EC2 Linux 安裝 LAMP (Linux Apache MySQL PHP) 環境,衝著 Amazon 推出的新玩家註冊開始為期**一年的免費**,當然也是有一些限制條件,可以參考 EC 2 收費標準及介紹,底下這圖片就是一年內免費的方案,其實對於剛學習 Linux 的玩家而言相當足夠。 AWS Free Usage Tier 如何設定及註冊 Amazon EC2 可以參考底下連結教學: 什麼是雲端服務?阿正老師教你免費玩Amazon EC2雲端主機!(上篇) 阿正老師教你免費玩Amazon EC2雲端主機(下篇):主機實戰篇 看完這兩篇大概對於 Amazon 有一定程度的瞭解,接下來就是如何進入玩家們所安裝好的 Amazon Linux 主機,由於 EC 2 的服務主機會常常自動更新 IP,剛開始可以到 Console 看到底下 public DNS: AWS Management Console 不過這 DNS IP 都會常常更新,所以剛開始都要常常來這邊看,玩家們可以用剛剛註冊此機器的 mykey.pem 透過 ssh 的方式登入機器,底下是在 Ubuntu 的操作

1. 先設定檔案權限,請將檔案權限改成 400
chmod 400 mykey.pem
2. 透過 ssh 軟體 pietty (上面阿正老師連結有教學)或 Linux ssh 指令
ssh -i mykey.pem ec2-user@ec2-XXXXXX.compute-1.amazonaws.com
進去主機之後就是一般的 Linux 操作,可以參考

鳥哥的Linux 私房菜,當然我想玩家們都會發現一直透過 mykey.pem 登入會有點麻煩,而且假設 pem 檔案消失,又要去 Console 申請一次,所以底下教大家如何不必透過 mykey.pem 方式登入,其實也很容易,就是修改 /etc/ssh/sshd_config

[Read More]

[網站] 好站連結 (八) Android, javascript, CSS, PHP, Perl, FreeBSD, Linux

PHP

CSS

Html5

Git:

Javascript:

FreeBSD:

[Read More]