最近把 DNS 轉到 Cloudflare 使用, 原本在主機上使用 HAProxy 把 SSL 的封包轉到個別對應的軟體是使用 Proxy Protocol 將來源 IP 通知處理的軟體. 在改用 Cloudflare 之後, 這個 IP 就變成 Cloudflare 的 IP 了. 這個在需要知道來源 IP 的軟體上, 就反而造成問題. (閱讀全文)
記錄一下當 Linux 上面透過 krb5-user 與 winbind 加入 AD 之後的一些小問題. (閱讀全文)
Apache 本身有 mod_authnz_ldap 這個模組可以支援 ldap 的認證. 使用上並不困難, 使用下列的設定就可以: (閱讀全文)
最早的時候, 是用一台 VM 跑迅雷來下載 (比較快沒錯), 不過後來買了 NAS 之後, 就改用 Synology 裡頭的 Download Station 來下載迅雷離線上的檔案 (用的應該是 xunlei-lixian 這個軟體), 雖然速度不快, 但是擺著沒多久也一樣能抓完. 不過.... 這幾天, 突然連不上, 一直說我的密碼不對, 不過用瀏覽器連上都正常. 所以.... 就試著裝 xware 來用. (閱讀全文)
在 Debian 中安裝 OpenConnect VPN server 其實很簡單, 應該只要一行 apt-get install ocserv 指令就可以了. (閱讀全文)
雖然說 MS 幾年前就說要關閉 MSN 即時通訊的服務, 不過, 相關的伺服器仍持續的運作, 直到這個月的 12 號開始, 所有的伺服器都不接受 MSNP24 以下的協定了, 也就是目前幾乎所有的 MSN 即時通訊的客戶端程式都無法正常運作了 (剩下 skype 可以, 還有修改過的 WLM 2012 也可以, 不過... 過些時候, 應該除了 skype 之外, 其他的可能都不能用了). (閱讀全文)
原本對於 UEFI 的認識, 認為只要弄一個 FAT32 的 partition, 把 loader 放在 /efi/boot/bootx64.efi 就能夠正常開機了. (閱讀全文)
這幾天發現原本使用 VLC 將電視卡的訊號轉送到 Darwin Streaming Server 播放的功能沒有作用了. 我記得之前最後一次試好像有半年了吧.... 與之前的差異應該就是 Kernel 不一樣 (v4l2 的 driver 可能有變), Debian 版本不一樣 (幾個星期前由 stable 轉到 unstable 使用), 加上 VLC 的版本不一樣 (之前應該只有 2.0.x 的版本, 目前是 2.1.1). (閱讀全文)
由於目前 Utilite 只有提供 Ubuntu 的 image (而且似乎是 armel 的版本), 所以打算自己動手裝上習慣的 Debian 版本. 不過... 由於目前 Debian Wheezy 並沒有提供 Utilite 的 installer, 所以就只能自己打造了. (閱讀全文)
其實之前 Acer 就把 kernel source 上到官網 上面, 不過.... 我猜應該是放錯了吧.... 因為用那個 source build 出來的 module, 常常抱怨有些 function 在機器目前的 kernel 並沒有 export 出來.... 試著去改 .config 來加入該 function, 最後做出來的 module 往往無法正常載入... 我在之前下載那個 source, 試著加上 exfat 時, 試了一陣子, 最後就放棄了.
這個月初, 雖然 Acer 官網上檔案的名稱一樣, 不過檔案的日期改變了 (當然內容也不一樣了), 也放上了正體中文的 ROM (似乎只有中文的, 因為英文的網站目前還沒有)
用新的 kernel source, 我可以正確的 build 出 exfat.ko (exfat-nofuse 的版本), 不過, 很不幸的, A1-810 上頭的 vold 不認得 exfat, 就算手動的方式可以載入 exfat.ko, 也可以 mount, 正常讀寫也沒問題, 不過.... vold 就是不認得. 也就是你在設定的儲存空間是看不到那個內容, 一般的程式也看不到該內容 (就算 mount 在同一路徑也一樣).
原本都是把影片複製到 HD300B 上頭的硬碟, 不過.... 2TB 的空間被塞滿了, 所以... 就打算直接連到 NAS 上頭使用. 因為通常使用 NFS 的效能會比網路芳鄰好一些, 所以就打算用 NFS 來做.... 不過... 使用 HD300B 去選擇 NFS 時, 會自動去找區網內的伺服器, 是有找到沒錯, 不過.... 一點進去, 隔了好幾秒之後, 只出現一個空白畫面... 什麼東西都沒有. (閱讀全文)
最近家裡的 AP 又開始怪怪的了 (十年下來, 好像換了四台, 7x24全年無休, 平均兩年多就開始有問題), client 會找不到 AP, 重開後可能用過幾小時到幾天會找不到了....
原本打算用最近入手的一台 CompuLab 的 Intense PC 來當 AP (因為有內含一張 mini pci-e 的無線網卡), 不過... 那張卡用的是 RTL8723AE, 雖然在 linux kernel 已經有 driver, 不過.... 試了一下, 只要 hostapd 加上密碼做成 wep/wpa 就會在連線後就斷線, 只有沒有設定任何加密方式才能使用. (後來其實有買了支援的卡回來, 不過... 機器上的 slot 是用卡榫來固定, 買的卡後面有多了一層, 剛好卡不上去, 沒辦法固定....) 所以就轉向使用 usb 網卡來處理. (閱讀全文)
因為 Android 上頭的 ProxyDroid 有支援 https 的 proxy 協定 (是指連到 proxy server 使用 https 的方式, 不是指要用 https 的方式連到別的網站), 發現 squid 應該也有支援才對, 昨天就試著設定一下. 結果.... Debian 上頭的 Squid 並沒有使用 --enable-ssl 來編譯, 所以並不認得 https_port 這個設定. (閱讀全文)
依據以往的經驗, 在 Linux 底下, 應該是把 .crt 的檔案直接放到 /etc/ssl/certs/ 底下就可以. 不過... 我在我的 A1-810 上頭, 沒看到這個目錄, 倒是有 /system/etc/security/cacerts/ 這目錄, 底下的確也都是一堆 root CA. 所以... 看起來應該就是放這兒就好了. (閱讀全文)
這個我不確定算是 mencoder 還是 Linux kernel 3.9 的問題. 反正兩者放一起就是有問題就對了.
發生的原因是在 Linux kernel 3.9 中, 對於 V4L2 的時間取得改成使用 monotonic timestamp (透過 v4l2_get_timestamp() 來處理), 但是在 mencoder 中, 似乎沒辦法正確去判斷是一般的 timestamp 還是 monotonic timestamp 就直接當成一般的時間來處理, 所以在計算時間上就有問題. (閱讀全文)
最近發現在安裝新的 kernel 時, Debian 在安裝之後, 會去處理 dkms 的模組, 但是當同一個模組有多個版本存在時, /usr/lib/dkms/dkms_autoinstaller 這個 script 就會回報這個錯誤:
Apr 25 17:09:33 mail dkms_autoinstaller: e1000e: Multiple versions in DKMS. Unsure what to do. Resolve manually.
Apr 25 17:09:33 mail dkms_autoinstaller: igb: Multiple versions in DKMS. Unsure what to do. Resolve manually.
由於舊的版本通常是在目前或舊的 kernel 仍在使用, 所以也無法馬上就移除. 所以每次有新的版本時, 就有這個問題. (有其他的解決方法嗎?)
使用這個 patch, 可以直接選擇最大的版本來用, 這樣就可以允許多個版本存在 (這應該是多數情況下的選擇):
--- dkms_autoinstaller.orig 2012-04-26 10:03:51.235070429 +0800
+++ dkms_autoinstaller 2012-04-26 10:03:50.691733326 +0800
@@ -79,7 +79,10 @@
version_count=0
already_installed=""
already_installed_version=""
- for versioned_path in $(find "$modulepath" -maxdepth 1 -mindepth 1 -type d -a -not -name original_module); do
+ for versioned_path in $(find "$modulepath" -maxdepth 1 -mindepth 1 -type d -a -not -name original_module | sort -r); do
+ if [ "$version_count" -gt 0 ]; then
+ continue
+ fi
version_count=$(($version_count + 1))
version_in_tree="${versioned_path##*/}"
這樣以後更換新的版本時, 就應該會自動處理了.
昨天把 kernel 裡頭關於 xz 的支援打開後, 就把 kernel 改用 xz 來壓縮, 解壓縮的速度比 bzip2 快, 壓起來又比 bzip2 小. 所以就想把 initramfs 也改用 xz 來壓縮.
由於 Debian Squeeze 的 initramfs-tools 並沒有支援 xz, 不過... 看那個 script, 並沒有要求 /etc/initramfs-tools/initramfs.conf 這個檔案內的 COMPRESS 設定只能設它所列的那一個, 而是把這個設定當成指令來執行壓縮的動作, 所以... 我原本以為就直接改成 xz, 這樣就可以了.
執行 mkinitramfs 或 update-initramfs 之後, 雖然是產生了一個 xz 壓縮的檔案, 不過.... 重開機後, 發現 kernel 沒辦法正確載入那個檔案....
後來看到這篇, 提到要用這樣的參數才可以:
find . | cpio -H newc -o | xz --check=crc32 --x86 --lzma2 > /usr/src/initram.igz
所以... 還是要去改 /usr/sbin/mkinitramfs 這個 script 的內容, 對 xz 特別去處理才可以.
後來看到 Debian 有這個 patch 可以用:
diff -uNr initramfs-tools-0.98.8/conf/initramfs.conf initramfs-tools-0.98.8.new/conf/initramfs.conf
--- initramfs-tools-0.98.8/conf/initramfs.conf 2010-08-26 03:32:27.000000000 +0800
+++ initramfs-tools-0.98.8.new/conf/initramfs.conf 2011-05-12 09:49:57.000000000 +0800
@@ -36,7 +36,7 @@
KEYMAP=n
#
-# COMPRESS: [ gzip | bzip2 | lzma | lzop ]
+# COMPRESS: [ gzip | bzip2 | lzma | lzop | xz ]
#
COMPRESS=gzip
diff -uNr initramfs-tools-0.98.8/mkinitramfs initramfs-tools-0.98.8.new/mkinitramfs
--- initramfs-tools-0.98.8/mkinitramfs 2011-01-28 22:09:09.000000000 +0800
+++ initramfs-tools-0.98.8.new/mkinitramfs 2011-05-12 09:49:27.000000000 +0800
@@ -149,6 +149,8 @@
[ "${compress}" = lzop ] && compress="lzop -9"
+[ "${compress}" = xz ] && compress="xz -9 --check=crc32"
+
if [ -d "${outfile}" ]; then
echo "${outfile} is a directory" >&2
exit 1
加上 --check=crc32 就可以了.
這樣子處理後的檔案, 果然可以正常開機了.