如何在 Ubuntu 底下安裝 Nginx + PHP FastCGI,這次來紀錄如何安裝在 Fedora 系統,目前環境是使用 Amazon Linux AMI,如果有在玩 AWS EC2 或是 Fedora Linux 的話,對這 OS 就不會很陌生了。
[Read More]在 CentOS 上面安裝 Ruby 環境
Compass 這套 CSS Framework 來 develop,開發之前必須把環境先弄好,就是要有 Ruby 套件才可以安裝 Compass,網路上的教學幾乎都在是 Ubuntu 底下用 apt-get 方式來安裝,其實相當方便,但是 Fedora 或 CentOS 就是要用 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 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]
How to change run levels and init.d scripts in Ubuntu & Debian
Ubuntu 6.10 (Edgy Eft) 之後使用 Upstart 代替原來的 sysinit,而 init 是用來管理 Upstart 的 Daemon,本來系統預設的 runlevel 可以在 /boot/menu.list 或者是 /etc/inittab,可是現在這檔案已經移除了,取而代之的就是 Upstart 管理,可以利用 telinit 來改變系統 runlevel,然而現在 runlevel 的定義跟以前不太一樣了,原先 Ubuntu 跟 Fedora 系列 runlevel 代表意義如下:
0:系統關機 (to halt the system) 1:單一使用者模式 (single-user mode) 2:尚未使用(可由使用者定義) 3:多使用者模式 (文字介面登入) 4:尚未使用 (可由使用者定義) 5:多使用者模式 (含有一個X介面的登入畫面) 6:重新開機 (reboot the system) 轉換成 Upstart 的話,就會變成底下
0:系統關機 (to halt the system) 1:單一使用者模式 (single-user mode) 2:多使用者模式 (含有一個X介面的登入畫面) 3:多使用者模式 (含有一個X介面的登入畫面) 4:多使用者模式 (含有一個X介面的登入畫面) 5:多使用者模式 (含有一個X介面的登入畫面) 6:重新開機(reboot the system) 上面資訊可以在 man telinit 裡面找到,寫得很詳細,現在 Ubuntu 9.10 系統,預設啟用是在 runlevel 2,只要執行 runlevle 指令,就可以查出先前跟目前所設定的 runlevel 值,這些數值是存放在 /var/run/utmp,這是一個 UTMP File,你會發現,現在只要安裝好 Ubuntu Desktop 系統,就會自動啟動,所以常常會看到 Linux 使用者會來詢問如何關閉 gdm 桌面程式,其實有很多手動的方式,init 也管理了開機所需執行的程式,如果是跑 runlevel 2,就會去執行 /etc/rc2.d/* 底下所有的 script 檔案,所以大家可以發現會有 /etc/rcX.d/ (X:0,1,2,3,4,5,6,S),其中的 S 代表 single user mode,我們用 rc2.d 底下的檔案來說明:
[Read More]大家可以看到,每個檔案命名方式:[S|K]\d{2}script_name,S 代表開機會啟動,K 代表開機不啟動,後面接兩位數字,代表開機優先權順序,這些檔案都是利用 Soft link 方式連接到 /etc/init.d/ 底下,所以修改 /etc/init.d/ 資料夾檔案內容,就可以自動更新 /etc/rc[0-6].d/ 檔案,相當方便吧,那該如何產生對應檔案到 /etc/rc[0-6].d/ 資料夾底下,可以利用 update-rc.d 這指令,update-rc.d 是用來產生或移除 init script links,可以參考 Debian Policy Manual。
[Ubuntu&Fedora] 開機 網路卡 MAC 變動亂跳 [解決方法]
最近在幫 lab 同學處理他安裝好的 ubuntu linux,結果發現一個問題,就是只要重新開機,網路卡的 mac 就會改變,還真是奇怪,後來在 google 找到一篇文章:Ubuntu的MAC一直亂跳嗎? 或者是ubuntu官方論壇:解決方法,才終於解決這個問題。 在主機板 GA-M56S-S3 這個系列板子都會有這種問題,至少我測試過兩張主機板都會這樣,所以看了那些解決方法,可以解決 ubuntu 的問題,但是不能解決 fedora core 的問題,我解決 fedora 的方法,其實很簡單,只要你會利用文字介面設定網路,就可以了 fedora 解法:前提是你不會讓機器開機亂跳動 ethx,所以你要按照上面的解法,解決前半部份 先在 root 底下新增一個檔案 ifcfg-eth0,然後寫入
# Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express DEVICE=eth0 BOOTPROTO=none BROADCAST=140.123.107.255 HWADDR=00:15:F2:A7:37:42 IPADDR=140.123.107.* IPV6_AUTOCONF=yes NETMASK=255.255.255.0 NETWORK=140.123.107.0 ONBOOT=yes GATEWAY=140.123.107.249 TYPE=Ethernet[Read More]



