= 2010-06-25 = == Apache == * [http://dennys.tiger2.net/blog/2006/04/23/apache 使用 Apache 自動判別語系] * 先前很好奇別人是怎麼做到同一個網址,卻可以依瀏覽器不同,而決定顯示的語系。原來秘密藏在 !MultiViews 這個 apache 設定參數。 * 只要有打開 !MultiViews 然後配合寫一個 index.html.var 的檔案說明哪一種語系應該讀哪個檔案,網站就可以支援多國語系了。 - [參考] [http://freedom.mingann.info/vbird/linux_server/0360apache.htm 鳥哥的文章] {{{ MultiViews :這個東西有點類似多國語言支援啦!你可在同一目錄下的同一個檔案,        編寫多個不同語言的檔案,並且以一個 *.var 的檔案來規範不同編碼! }}} * [註] 至於 Apache 2.x 版該怎麼改,可能要測試一下才知道了。 - [http://httpd.apache.org/docs/2.2/content-negotiation.html Apache 2.2 官方設定說明文件] {{{ Apache 2.2 的 language 設定檔放到 conf/extra/httpd-languages.conf }}} == Debian Packaging 套件打包 == * Debian 從 squeeze/sid 以後的版本,有多了一些修改,例如: * 用 [http://susefaq.sourceforge.net/faq/services.html insserv 啟動服務] - Q: 類似 Redhat 系列的 service ?? * 套件改用 quilt 而非 dpatch - [http://wiki.debian.org/Projects/DebSrc3.0 關於 debian package source format 3.0 (quilt)] - [http://dev.firnow.com/course/6_system/linux/Linuxjs/20090824/170587.html deb 包新格式 (簡體字)] * [http://blog.linux.org.tw/~jserv/archives/001838.html quilt - 強大的 patch 管理工具] * [http://packages.debian.org/quilt quilt 的 Debian 套件] {{{ $ sudo apt-get install quilt }}} * [http://www.suse.de/~agruen/quilt.pdf Introduction to quilt (pdf)] * [http://www.wzdftpd.net/blog/index.php?2008/02/05/3-quilt-a-patch-management-system-how-to-survive-with-many-patches Quilt, a patch management system (how to survive with many patches)] * [http://pyxon.wordpress.com/2009/01/14/converting-debian-packages-from-dpatch-to-quilt/ Converting Debian packages from dpatch to quilt] - 說明如何把原本 dpatch 的 debian 套件移植成改用 quilt * [http://wiki.debian.org/UsingQuilt Using quilt with Debian source packages] - Debian 官方維基介紹 quilt 的用法 * [http://chistera.yi.org/~dato/blog/104_quilt_options Useful and some must-have options for quilt] - 記載幾個建議設定在 ~/.quiltrc 的參數 {{{ QUILT_PATCH_OPTS="--unified-reject-files" QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index" QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto" QUILT_PATCHES="debian/patches" QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33" }}} * 下午跟 Steven 討論 debuild 跟 dpkg-buildpackage 有什麼不同。我自己看起來 debuild 類似 live-helper,是整合 dpkg-buildpackage 跟後面驗證 lintian 的步驟。 * [wiki:jazz/09-08-09 2009-08-09] 有紀錄到 [http://fourdollars.blogspot.com/2009/07/deb-package-for-ubuntu-linux-launchpad_3385.html 製作 deb package for Ubuntu Linux 並且上傳至 Launchpad PPA],裡面就有提到用 debuild 跟 dput 上傳。感覺 dput 應該會比以前用 apt-ftparchive 方便,不過就是要懂得怎麼寫 .dput.cnf 設定檔了。 * [參考] [http://www.eyrie.org/~eagle/notes/debian/build-tools.html Debian Package Build Tools] * 文中看到一個指令叫做 reprepro-upload ,才剛有點納悶而已,S 大就又給了 [http://www.debian-administration.org/articles/286 Setting up your own APT repository with upload support] 這篇文章,說明用 [http://packages.debian.org/reprepro reprepro 這個 Debian 套件] 可以幫忙處理套件庫的管理,就不用每次都要用 apt-ftparchive 去產生 Packages 跟 Release 這些檔案。 * [參考] [http://fourdollars.blogspot.com/p/debian-package.html 四元(FourDollars)有寫了幾篇關於 Debian 打包的文章],可以參考。 * [參考] [https://wiki.ubuntu.com/PackagingGuide/Complete Ubuntu 官方維基寫的打包指南] * 看來打包有很多種工具可以用,包括最原始的 dpkg-buildpackage 、 debuild 還有 CDBS * [參考] [http://debathena.mit.edu/packaging/ Debian packaging with CDBS] == hadoop4win == * 昨晚在 Steven 建議下,把 hadoop4win 的專案移到 sourceforge。因為不僅僅只是暨大表示上課有用,現在連東海楊朝棟教授也說他有在用 hadoop4win,糗~看樣子得開始維護 hadoop4win 不可了,沒得懶惰了 :P * 先前把專案放在 google code,缺點是單檔不得超過 100MB,如此 hadoop4win 完整版就沒辦法放在 google code。昨天試用了一下 sourceforge,它不僅可以幫忙全球 mirror,更可以把不同 mirror 下載的次數統一進行統計,對我來說方便許多,加上自己架的 classcloud.org 在 apache 設定上如果有錯,就會發生 log 沒紀錄好,沒辦法用 awstats 統計下載次數的窘境。 * [密技] sourceforge 官方教大家用 sftp, rsync 去上傳/備分檔案,不過 S 老大教了一招更好用,用 lftp 會比 sftp 好用得多。 {{{ lftp sftp://${帳號},${專案英文名稱}@frs.sourceforge.net:/home/frs/project/${專案英文名稱第一個字母}/${專案英文名稱前二個字母}//${專案英文名稱} }}}