2008年3月12日 星期三

Solution for Ubuntu laptop-mode harddisk bug

根據High frequency of load/unload cycles on some hard disks may shorten lifetime此bug的說明,當notebook使用電池模式的時候,可能會造成硬碟壽命的耗損。這的確非常的嚇人...所幸目前已經有一些解決方案,以下是處理的步驟:
  1. 確認是否有安裝laptop-mode-tools,如果沒有,請用synaptic或是apt-get安裝
  2. 修改/etc/default/acpi-support的以下內容:
    ENABLE_LAPTOP_MODE=true
  3. 修改/etc/laptop-mode/laptop-mode.conf :
    CONTROL_HD_POWERMGMT=1
    LM_AC_HD_POWERMGMT=254
    NOLM_AC_HD_POWERMGMT=254
    ,以下的修改只是減少laptop-mode下的耗電:
    CONTROL_NOATIME=1
以上的修改資訊是參考自 Potential risk for your NX6325』s harddrive, and a solution

2008年3月1日 星期六

手動安裝JDK與Eclipse

雖然說Sun後來有推出for Ubuntu的Java相關套件(JDK, JRE, Glassfish, NetBeans),但是官方套件庫裡的套件更新似乎很慢。所以想要用最新的Java環境,還是自己手動安裝比較快。以下是我自己參考網路上各偏的作法而整理出來的手動安裝步驟,我個人預設的Java環境的安裝路徑都是在/opt下,此範例使用的是jdk-6u10-ea-bin-b12-linux-i586-19_feb_2008:
  1. 安裝JDK
    1. 先去Sun網站抓取jdk檔案,Ubuntu的話抓取bin檔,不要抓取RPM檔。抓完之後,將賦予檔案「執行」的權限。然後在Console視窗下執行,就可以解出jdk的資料夾(jdk1.6.0_10)。
    2. 在Console視窗下用chown將jdk資料夾的擁有者與群組更改為root:
      sudo chown -R root:root jdk1.6.0_10
      ,然後將jdk資料夾搬移到/opt下:
      sudo mv jdk1.6.0_10 /opt

    3. 在/opt下建立一個符號連結,讓它指向jdk資料夾,如此一來以後更新jdk時,只要讓符號連結指向新的jdk資料夾即可:
      sudo ln -s /opt/jdk1.6.0_10 /opt/jdk6
    4. 修改/etc/environment檔案,設定JAVA_HOME環境變數:
      JAVA_HOME=/opt/jdk6
      ,注意:此處的jdk路徑必定要指向剛剛建立的符號連結;然後修改/etc/profile,在檔案最後加上:
      export PATH=$JAVA_HOME/bin:$PATH
      ,這樣系統在尋找Java執行環境時,就可以我們手動安裝的為優先了
    5. 為了讓Swing/AWT的Java app可以正常顯示中文,我們必須到jdk資料夾(/opt/jdk6)中的jre/lib/fonts中作一些必要動作:
      sudo mkdir fallback
      cd fallback
      sudo ln -s /usr/share/fonts/truetype/arphic/uming.ttf
      sudo mkfontdir
      sudo mkfontscale
      ,此處的第三步驟的字型可以選用自己想要的
    6. 在Console視窗中輸入:
      sudo ln -s /opt/jdk6/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/firefox/plugins
      ;如果使用的是Swiftweasel而非firefox,則最後的目標資料夾改為/usr/lib/mozilla/plugins
    7. (Optional)在Console視窗中輸入:
      sudo gedit /usr/share/applications/java_control_panel.desktop
      ,並且編輯檔案內容為:
      [Desktop Entry]
      Encoding=UTF-8
      Name=Java Control Panel
      Comment=Java Control Panel
      Exec=jcontrol
      Icon=sun_java.png
      Terminal=false
      Type=Application
      Categories=Application;Settings;Java;X-Red-Hat-Base;X-Ximian-Settings;
      然後將/opt/jdk6/jre/plugin/desktop/sun_java.png複製到/usr/share/icons下,然後就可以發現在「系統」->「偏好設定」中會出現「Java Control Panel」的選項
    8. 完成以上設定之後,重新開機就可以正確的使用我們手動安裝的jdk了
  2. 安裝Eclipse
    1. 去Eclipse的官網抓目前最新版的eclipse壓縮檔
    2. 將eclipse壓縮檔解開,設定擁有者與群組為root,並且賦予適當的存取權限:
      sudo chown -R root:root eclipse
      sudo chmod -R 777 eclipse
      sudo chmod +x `sudo find eclipse -type d`
      ,在此處我們給予eclipse資料夾(包含子資料夾)全部權限,如此才能在線上更新時進行寫入動作
    3. 將設定好的eclipse資料夾搬移到/opt之下:
      sudo mv eclipse /opt
    4. 在/usr/bin下建立一個名為eclipse的啟動shell script,並賦予正確的權限:
      sudo gedit /usr/bin/eclipse
      sudo chmod 755 /usr/bin/eclipse
      ,而該shell script的內容為:
      #!/bin/sh
      #export MOZILLA_FIVE_HOME="/usr/lib/mozilla/"
      export ECLIPSE_HOME="/opt/eclipse"

      $ECLIPSE_HOME/eclipse $*
    5. 建立一個GNOME的選單項目:
      sudo gedit /usr/share/applications/eclipse.desktop
      ,而eclipse.desktop的內容為:
      [Desktop Entry]
      Encoding=UTF-8
      Name=Eclipse
      Comment=Eclipse IDE
      Exec=eclipse
      Icon=/opt/eclipse/icon.xpm
      Terminal=false
      Type=Application
      Categories=GNOME;Application;Development;
      StartupNotify=true
    6. 完成以上設定之後,就可以在「應用程式」->「軟體開發」中找到「Eclipse」的選項了
以上就是手動安裝jdk跟eclipse的過程。
優點:可以安裝最新版本的jdk與eclipse
缺點:無法透過系統的套件管理程式來更新或是移除、重新安裝等的管理