2009年12月24日 星期四

在 ubuntu amd64 中安裝 32bit 應用程式

可能有不少人為了使用超過 4GB RAM 而安裝 amd64 版本的 ubuntu 系統,其實用 64bit 系統在效能上有不少好處,但缺點則是有些軟體並沒有 64bit 版本,幸好這在 opensource 世界倒不是很難解決的事,至少可以重新編譯。

今天為了某個 pdf 檔的中文、圖片複製貼上的問題,想安裝 Adobe Reader 來試試看,偏偏這軟體雖有提供 linux 的 rpm、deb 檔,但卻沒有 64bit 版本,而且也沒辦法編譯。於是只好用以下方法解決:

  1. 先下載 32bit 的 deb 版本,例如我抓了 AdobeReader_cht-8.1.7-1.i386.deb

  2. 下指令 sudo dpkg -i --force-architecture AdobeReader_cht-8.1.7-1.i386.deb

Linux 硬碟無法掛載

我的系統 Ubuntu 9.10,硬碟格式 ext4

剛剛傳輸個幾 GB 的資料進去到一半,突然停住出現錯誤,然後該硬碟變成唯讀,試著 umount 再重新 mount,卻出現以下訊息:

Error mounting: mount exited with exit code 32: mount: wrong fs type, bad option, bad superblock

簡直嚇出我一身冷汗,因為裡面一堆重要資料都尚無備份,掛了可就是天大的事。
幸好後來找到資料解決了,方法也很簡單,下這個指令:

sudo e2fsck -f /dev/sda3 (假設 /dev/sda3 就是出問題的硬碟)

然後照畫面指示回答 yes 即可。可是我懷疑說不定有的東西沒有真的救回來,再看看吧~

參考資料:Surviving a Linux Filesystem Failures (真是一篇好文)

2009年11月28日 星期六

在 Ubuntu 下執行 .Net 程式

如果要在 Ubuntu Linux 下執行 Windows 下寫好的 .Net 程式,可以安裝 mono、libmono-winforms1.0-cil、libmono-winforms2.0-cil 等三個套件即可:

sudo apt-get install mono (Ubuntu 9.10 已經內建 mono,可省略此行指令)
sudo apt-get install libmono-winforms1.0-cil libmono-winforms2.0-cil

執行方法為下指令: mono my_dot_net_program.exe

當然支援不是很完整,但是簡單的元件大多沒有問題。而且不需要使用 wine 或 vmware 等虛擬工具,相當方便!

參考資料:

2009年11月1日 星期日

Ubuntu 9.10 的 grub2 問題

由於最新版的 Ubuntu 9.10 使用了 grub2,與原先的版本使用 grub 在設定上有些不同,如果直接從舊系統升級,可能在安裝完畢後無法開機。

狀況是開機時會停在「Grub Error 15」的地方。

如果上網搜尋,會找到許多關於舊版的解決方案,比如修改 /boot/grub/menu.lst 這個檔案,但在 grub2 裡面已經沒有這個檔案了,當然也就無從改起。

我自己測試有效的方法如下:
[[MORE]]

  1. 拿出 ubuntu 9.10 的 LiveCD,並用它開機。

  2. 打開終端機 (Terminal) 程式。並依照以下指定輸入。

  3. sudo fdisk -l (看看自己有哪些硬碟,並分別使用哪些代號,例如如果你的系統是裝在 /dev/sda1 中,請記下來,以下用這個代號作為例子。)

  4. sudo mount /dev/sda1 /mnt (將自己安裝的系統掛載到 /mnt,如果系統的 /boot 在另一個硬碟,請一併掛到 /mnt 下。)

  5. sudo mount --bind /dev /mnt/dev

  6. sudo chroot /mnt (chroot 到 /mnt 中,這時候你會變成 root 身份,因此以下指令不需要再用 sudo。)

  7. nano /etc/default/grub (看看這個檔案有什麼需要修改的,如果習慣別的編輯器,例如 vi,則將 nano 換成 vi 即可。)

  8. update-grub (這是最重要的更新指令啦!)

  9. grub-install /dev/sda (將 grub 的資料寫入硬碟 MBR 區)

  10. grub-install --recheck /dev/sda (如果上面的步驟有發生錯誤,可以用這個指令在檢查一遍。)

  11. (按 Ctrl-D 離開 chroot 環境,回到原來的 shell。)

  12. sudo umount /mnt/dev (將剛剛掛上的資料夾卸載)

  13. sudo umount /mnt



grub2 有了相當多的改進,對使用者最直接的感受,就是可以用自己設定的圖形介面進行多重開機。

引用及延伸閱讀:

2009年10月20日 星期二

Photoshop CS5-內容智慧延伸濾鏡原理

Photoshop CS5 新功能:內容智慧延伸濾鏡

請看一下原文內所附的影片說明,很驚訝影像處理軟體已經可以做到這樣方便的地步。當然過去也可以辦到,只是要自己進行選取與去背,本身就是耗時費工的工作,但現在變得更容易的。

至於其中的原理,則是透過數學碎行的運算辦到的,果然又應驗了「一切科學的基礎來自於數學」。

原文 CNET: Photoshop-內容智慧延伸濾鏡原理的概述

2009年10月16日 星期五

網路發明人:網址//實無必要

發明全球資訊網的英國科學家伯納斯‧李(Tim Berners-Lee)最近承認,當初他決定在網址格式中加上兩道反斜線(//),實在是錯誤之舉,如果能夠重來一次,他一定會把反斜線省略。

詳全文:網路發明人:網址//實無必要

註:我以前就覺得這兩撇斜線沒有存在的必要性。

2009年10月8日 星期四

Statistics from 10,000 leaked Hotmail passwords

有駭客把超過 10000 以上的 Hotmail 帳號密碼貼到公開網站上,隨後有人針對這些帳號進行一些分析統計。
發現大多數是使用非常貧弱的密碼,例如 123456。相關分析請看原文:

Statistics from 10,000 leaked Hotmail passwords