星期六, 九月 16, 2006

在Linux底下讀寫NTFS

目前在Linux底下有數種讀寫NTFS的方法

  1. 採用Windows本身驅動檔案的 captive ntfs
  2. 核心選項當中的 NTFS write support
  3. Linux-NTFS.org 的 libntfs

在以前應該只有 captive ntfs 在相容性上面會比較理想。但是據說中文顯示寫入方面會有問題。

核心當中的支援 NTFS 理論上應該可以支援了。不過在開啟之後, 據說 無法支援新建檔案與刪除檔案,只能複寫目前已有的檔案(不過該篇文章使用核心較舊,可能新版有改進)。

至於Linux-NTFS的 libntfs 則已在中文、讀寫與新建檔案上面進行不少改進。使用上與一般檔案系統無異。安裝與使用方式如下

  1. 編譯核心,請注意核心當中的 FUSE 選項必須選上。
  2. apt-get install libntfs9 ntfsprogs Debian 已經有該檔案,直接安裝即可。 ntfsprogs 是為了進行掛載等各項動作所寫的程式。
  3. ntfsmount /dev/hdaX /mnt/hdaX 這時可以直接下命令掛載看看。注意是 ntfsmount 而不是普通的 mount -t ntfs,因為直接使用 mount 所掛載上的磁區沒有辦法正常寫入與刪除。

大致上就是這樣。對於另外有 Windows 作業系統而不想要使用 Fat32的使用者,算是頗方便的檔案溝通方式。

(連結行為如有不妥請即刻告知,確認後立刻刪除)

星期一, 九月 04, 2006

話說Solidot掛了好幾天

11

沒想到今天一出來就是這個東西

11

phpMyAdmin...

雖然我不是很瞭解該站台伺服器的強度,但是這種東西就這樣開放出來不太好吧。

更新:Solidot.org宣佈網站拍賣,收起來不做了。起因是Slash實在太吃資源,據說要4GB以上記憶體才能跑。老實說,聽到這個消息我感到驚愕。因為一套網站系統太複雜、太吃資源而必須關站,我覺得有點奇怪...。

Debian 基礎系統與 Xfce4桌面安裝

原本想試試新桌面的。結果對於GNOME與KDE的陌生感似乎沒有消散,結果又選擇了Xfce4。也許、大概下一次兩個桌面環境發放新版後會考慮改用(最不能接受的是執行時的速度有夠慢)。

從基礎Debian開始安裝至一個可用的桌面環境其實很簡單,只是系統微調上會花不少時間。尤其是一些軟體需要手動編譯。像字型的調整至少就要編輯三個檔案。雖然自訂性高是Linux的特色,但我開始覺得如果能將這些每次都要調整的地方寫成Shell Script似乎會更省時省力。

不多說,以下是基本系統安裝之後應該要做的事情與當前版本注意事項

  • 系統安裝片:Debian 3.1rc2 Netinstall 光碟
  • 硬體狀態:AMD Barton核心 2600+、NV GeForce5700、768MB RAM、主板內建VIA音效晶片、主板內建Marvell Yukon 網路晶片
  • 網路環境:ADSL + LAN

我開始安裝時在家使用ADSL,後來到學校用宿網固定IP。

  • 網路安裝注意事項:在第一次安裝本系統後,使用ADSL者要在重新開機後按下Alt + F2切到第二個終端以root登入,並執行pppoeconf開啟網路繼續安裝。

  • 基本系統注意事項:在進入套件選擇畫面(aptitude)時可以直接按 'q' 離開,這樣就不會安裝非基本套件。

  • 中文語系環境注意事項:必須編輯 /etc/environment 與 /etc/locale.gen 檔案,將LANG設定成為 zh_TW.UTF-8 才有UTF-8中文環境可用。在編輯 locale.gen 時直接將BIG5改成UTF-8就可以了;而 environment 中可以加上 "LC_ALL=zh_TW.UTF-8"這選項。在兩個檔案更改完之後,要使用locale-gen才會產生語系檔;重新登入 environment 才會起作用

  • Debian testing 套件更新事項:由於網路安裝光碟預設是採用 stable 套件庫安裝,因此必須手動改 /etc/apt/sources.list 這個檔案。改完之後隨便安裝一個東西(比如 vim ),系統就會要求更新 kernel-image 、libstdc 等套件。這邊所有選項幾乎都選 "Yes" ,但是在詢問kernel-image 要不要移除時,不可以選擇 "Yes" ,否則會產生無法開機的問題。如果在這裡選擇 "NO" ,則必須重新下指令 apt-get -f install 以解決套件相依性問題,然後重新把要安裝的東西裝一次就可以了。

  • XWindow注意事項:在 testing 裡的 xorg 版本為 7 ,模組化的結果使得安裝上與以前不太一樣。首先,配合顯卡晶片可以只安裝一部分的模組,比如 xserver-xorg-video-nv 。再來是最後還是要安裝 xserver-xorg 這個套件。如果想避麻煩或不確定當然也可以直接裝 xserver-xorg。不過這樣會安裝其他多餘的套件。 以下是基本要安裝的XWindow與字型設定套件清單

    • xserver-xorg xserver-xorg-video-你的晶片
    • xbase-clients xfonts-base
    • fontconfig defoma libft-perl

    其他必要的套件應該都會自動裝上。

  • 中文字型注意事項:在以上步驟都完成後,可以先安裝w3m瀏覽器,上網搜尋(w3m www.google.com) firefly 字體壓縮檔。該壓縮檔中的字型可以放在 /usr/share/fonts/truetype/你要的資料夾名稱/ttf-firefly.ttf。

  • 安裝字型的方法:中文字型下載搬移之後,用fontconfig安裝字型("fc-cache -vf");然後用defoma再安裝一次。要注意的是 defoma 要先 hint 該字型後才能安裝,以下是安裝命令

    • defoma-hints --no-question truetype /usr/share/fonts/其他路徑/你的字型.ttf >\/etc/defoma/hints/你的字型.hints
    • defoma-font -vt reregister /etc/defoam/hints/你的字型.hints
  • 字型的調整:編輯/etc/fonts.conf檔案,找到 <sans>與<sans serif>兩個區塊,在其他字型上面增加

    • <family>你的字型名(可使用 fc-list 查詢)</family>

    以便設定優先選擇該字型。如果要手動關掉反鋸齒(Xfce4有該項設定,為配合其他視窗管理程式可在此設定),增加以下區塊(因為網頁的緣故,使用[]取代角括弧。)

    • [match target="font"]
      [edit name="antialias" mode="assign"]
      [bool]false[/bool]
      [/edit]
      [/match]
  • 調整完之後繼續安裝Xfce4,以下是套件清單

    • xfdesktop4 xfwm4 xfce4-terminal xfce4-panel gtk2-engines-xfce xfce4-mcs-manager xfce4-panel xfce4-session xfwm4-themes
    • 注意:在第一次啟動Xfce4之前將所有要安裝的套件安裝完畢,否則可能會出現日後無法順利啟動桌面(xfdesktop4)或是視窗管理程式(xfwm4)的現象。

    接著,輸入 startxfce4 就可以進入 xfce4 桌面環境了。

  • 調整 Firefox 工具與標題列字型:firefox 標題與工作列如果採用系統字型(比如12pt),會顯得過於寬大。這時候必須調整該字型為 9pt 較正常。調整步驟如下所示

    • 將 ~/.mozilla/firefox/隨機亂碼.profile/chrome/userChrome-example.css 複製成該目錄下的 userChrome.css

    • 編輯該檔案,除了namespace與另外兩行跟字型有關的設定外全部刪掉。並且將該二行的字型條成 9pt 並刪去註解。
    • 啟動 firefox 就可以了。

  • 接著是其他工作,比如編譯核心、編譯Mplayer、編譯FFmpeg、編譯gtkpod等等。至此,中文與基本桌面問題應該都解決了。

===========================================================

相關連結

(連結行為如有不妥請即刻告知,確認後立刻刪除)

星期六, 九月 02, 2006

在 Debian GNU/Linux 下壓制iPod可用影片

感謝在Linux下為iPod播放器壓制視頻這篇文章提到的壓縮方式,我只是在預備使用 ffmpeg 前,提出一些前置作業補充罷了。以下便是從頭開始之流程。

  1. 編譯libxvid
    1. 從Xvid官網下載最新版Xvid原始碼
    2. 解壓,標準「程咬金三斧半」
    3. ./configure
      make
      su
      以root身份 make install
    4. 編譯完成後,進行連結作業
      ln -s /usr/local/lib/libxvidcore.so.MAJOR.MINOR /usr/local/lib/libxvidcore.so.MAJOR
      ln -s /usr/local/lib/libxvidcore.so.MAJOR /usr/local/lib/libxvidcore.so
    5. 以上是官方文件的指導。因為我們要配合自己編譯的ffmpeg,所以要再連結
      ln -s /usr/local/lib/libxvidcore.so.MAJOR.MINOR /usr/lib/libxvidcore.so
  2. 編譯libfaac
    1. 先安裝tofrodos套件,取得dos2unix工具
    2. 從AudioCoding網站下載libfaac.tar.gz
    3. 將libfaac.tar.gz解開後,使用dos2unix將該資料夾中全部檔案轉換(dos2unix無法自動針對每個資料夾進行轉換,要三個步驟)
      dos2unix ./*
      dos2unix ./*/*
      dos2unix ./*/*/*
    4. libfaac可以配合libmp4v2安裝,取得libmp4v2與安裝的方法很標準,照常下載解壓編譯即可。如果libfaac要配合它,等下在檢查編譯環境時時不要忘記加上該選項
      ./configure --with-mp4v2
    5. 開始編譯、安裝
      ./bootstrap
      ./configure
      make
      su
      以root身份 make install
      如果系統當中沒有安裝automake工具,會在bootstrap時出錯。
    6. 一樣,必須連結編譯好的動態連結檔到/usr/lib/
    7. ln -s /usr/local/lib/libfaac.so.0 /usr/lib/libfaac.so.0
  3. 編譯ffmpeg
    1. 先安裝svn
      apt-get install subversion
    2. 接著到ffmpeg官網,查詢svn位置並安裝之
      svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
    3. 進入svn資料夾(權限要正確,以root svn該資料夾應該是root的),編譯、安裝。
      ./configure --enable-gpl --enable-xvid --enable-pthreads --enable-faac
      make
      su
      以root身份 make install
    4. 選項解說
      --enable-xvid與--enable-faac :採用Xvid與AAC程式庫
      --enable-gpl:Xvid配合編譯必須啟用這個選項
      --enable-pthreads :多緒執行
    5. 接著參考在Linux下為iPod播放器壓制視頻之文章內容
      ffmpeg -vcodec xvid -b 350 -qmax 10 -bufsize 4096 -g 300 -acodec aac -ab 96 -ac 2 -i input.avi -s 320x240 -aspect 4:3 output.mp4
      就可以了。

由於該篇文章作者電子郵件訊息設為保密,如果引用有侵犯權利之虞請即刻告知,將於確認後刪除。

星期五, 九月 01, 2006

思考不一定是好事

但是不思考一定是壞事。

只要是人,停止思考的惰性無時無刻誘惑我們。因為,面對一切外界事務都需要去認識、思考與質疑是一件很累的事。於是,偷懶採用「好」與「不好」,「相信」或「不相信」這樣簡單的結論,就像滿足走路想走下坡一樣自然。

對於最近發生的大規模街頭活動,我不認為事情只是要求下台或不下台那麼單純。人與需求的關係是越多越複雜。就算是一黨專制的國家,各種不同聲音也不可能在一個領導下消失,最多是被掩蓋或透過迂迴的方式表達。更何況,我們所處的是一個法律保障言論自由的國家。

媒體往往把事情過於簡化,就算不想這麼作也無可奈何。在充滿壓力的時段、欄位限制下,必須以最快、最省的方式把訊息傳達出來。因此他們如果不想簡單的劃分群眾,可能就會從螢光幕、油墨印紙與收聽率報告當中消失。

於是思考、分類與提出質疑的任務,就這樣回到閱聽人的身上。當傳來的訊息過於簡化,簡化到看似無可置疑時,我想我們必須更加小心,去觀察這場擁有龐大能量的成串運動中,各種不同的需求將會走向何種結果。這麼作不是為了欺騙自己,認為可以置身事外。而是防止自己,被淹沒在各種狂潮奔流中而毫不自知。