2015年12月15日 星期二

買了Pioneer SE-NC21M降噪耳機

雖然沒打算寫很長的文,不過你打算只看結論的話:如果你經常搭乘交通運輸,這個還蠻適合的,除此之外就不建議買。

2015年12月8日 星期二

使用IPv6

因為中華電信現在開放光世代客戶上網申請IPv6,我就去申請了,然後發現...

Ubuntu 15.04會取得兩個global link v6的IP,一個是亂數產生,一個是後64bits使用網卡Mac位址。而在CentOS 7裡頭,只有一個使用Mac位置的v6 IP。

在IPv6無狀態自動設置會使用Mac位置IP(RFC 4291),因為這個IP不會變動,存在隱私的疑慮。

為了解決以上的問題, Privacy Extensions (RFC 4941)就誕生了,除了原本使用的Mac位置IP之外,還有一個亂數產生的IP,而且會定期更換IP。但是這在某些情況下會造成問題,例如IP在被更換之後,被網站或應用程式認定已登出。而且RFC 4941沒有替代Mac位置的v6 IP,這代表隱私洩漏依然有可能發生。

RFC 7217試圖解決上述的問題,這裡產生的IP是根據演算法所產生的『相對固定』IP,在同一個子網路之下,不管硬體如何更換IP都是相同的,但是主機移到不同的子網路就會產生不同的固定IP,並且確保這個演算法是單向的。因為是固定IP,要進行管理也變得簡單。

目前看來,每個作業系統的實做都不太相同。CentOS 7因為使用NetworkManager 1.0.0,所以只支援Mac位置IP。而Ubuntu 15.04的NetworkManager是0.9.10.4,卻支援Privacy Extension(打了patch?)。Win7也會有兩個IP,其中一個是『臨時IPv6位址』,應該就是依據Privacy Extensions所產生的,不過另一個卻不是Mac位址IP?

NetworkManager在1.2版之後也會支援RFC 7217。

2015年11月26日 星期四

Ubuntu的白痴bug

昨天裝了Ubuntu 15.10的VM,安裝完更新之後就無法進入到桌面,換成Lubuntu 15.10也是一樣,然後今天換成我工作用電腦Kubuntu 15.04也無法進入到桌面,systemd顯示的錯誤訊息大致來說是相同的,尋找錯誤訊息找不到什麼可用的資訊。

一開始注意到的是console-kit-log-system-start.service無法啟動,可惜這不是真正的問題所在。之後發現到local-fs.target跟proc-bus-usb.mount啟動失敗。查詢proc-bus-usb.mount之後,在stackoverflow上的問答裡頭找到了提示。
檢查fstab看看?
檢查之後,最底下有一行
usbfs    /proc/bus/usb    usbfs    defaults  0  0
註解掉之後重開機,就可以進入到桌面。結論是更新Kernel導致,新的Kernel把usbfs支援給拿掉了,但是Ubuntu QA居然沒測試到。這一行是Eaton Winpower安裝程式加上去的.... Orz

以前還是用sysvinit的時候,如果碰到fstab mount failed,會停止啟動程序並提示,換成systemd就不會,而且訊息很雜亂,難以找出真正的原因。

2015年11月25日 星期三

用Network UPS Tools監控Eaton C-6000F

本來以為沒希望,不過沒想到其實有支援。只要在ups.conf使用blazer_ser作為driver就行,如以下設定。

[c6kf]
     driver = blazer_ser
       port = /dev/ttyUSB0
因為我是用USB轉RS232的線,所以port會是ttyUSB0。設定完啟動,透過upsc會得到以下資訊。

battery.voltage: 2.25
battery.voltage.high: -1.08
battery.voltage.low: -0.87
device.type: ups
driver.name: blazer_ser
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyUSB0
driver.version: 2.6.4
driver.version.internal: 1.55
input.frequency: 60.0
input.voltage: 230.8
input.voltage.fault: 0.0
output.voltage: 110.5
ups.beeper.status: disabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 25
ups.status: OL
ups.temperature: 28.5
ups.type: online
battery.voltage需要額外設定,否則無法顯示正確的數值,不過我也不知道正確的數值該是什麼,blazer_ser的man page裡頭有提到如何設定,說實話看不懂。

結論
跟Winpower軟體相比,NUT無法得知預估電池的可用時間,也無法得知充滿電的預估時間,但除此之外完全都是優點。

2015年11月1日 星期日

CloudStation在Ubuntu Linux 14.04.3無法啟動

最近把Ubuntu開啟,發現Cloudstation沒啟動,手動啟動出現以下錯誤訊息。

ryan@ryan-U2442:~/downloads$ synology-cloud-station
ryan@ryan-U2442:~/downloads$ lib path = '/opt/Synology/CloudStation/lib/plugins'
../libcommon/SynoLocale.cpp:64 qPrintable(qstrLocaleLower)=[zh_tw
]
../libcommon/SynoLocale.cpp:80 qPrintable(qstrLocaleLower)=[zh_tw]
../libcommon/SynoLocale.cpp:161 qPrintable(qstrLangFileName)=[:/cht.qm]
../libcommon/SynoLocale.cpp:138 qPrintable(qstrDef)=[cht
]
/home/ryan/.CloudStation/CloudStation.app/bin/cloud-ui: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/ryan/.CloudStation/CloudStation.app/bin/cloud-ui)
/home/ryan/.CloudStation/CloudStation.app/bin/cloud-ui: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/ryan/.CloudStation/CloudStation.app/lib/libicuuc.so.53)
/home/ryan/.CloudStation/CloudStation.app/bin/cloud-ui: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/ryan/.CloudStation/CloudStation.app/lib/libicui18n.so.53)



拜託Google大神找到這一篇
https://forum.synology.com/enu/viewtopic.php?f=237&t=105573
其中有人提到,把 ~/.CloudStation 刪除就可以正常啟動,這給我一點提示。雖然刪除整個目錄就可以啟動,但是變得要重新設定,應該有別的方法才對。

在 ~/.CloudStation/CloudStation.app/bin 有 CloudStation 的程式,是不是這些程式版本跟系統安裝的不同呢?試著把 bin 目錄刪除,就可以正常啟動了,也不需要重新設定。

2015年9月7日 星期一

Gigabyte U2442D無法安裝Nvidia Geforce 35x.xx以後驅動程式的問題

之前使用U2442D這台Notebook的時候,出現無法安裝35x.xx以後驅動程式的問題,安裝完後就無法啟動Windows。寫信去問客服,建議我把Bios更新到最新版。

http://esupport.gigabyte.com/FileUpload/Answer/2015/9/170705/U2442_BIOS_F30ET01_EC_F209_WIN81.zip

真的是最新版,連官網都沒有這個版本。

總而言之,更新完Bios之後,安裝最新版驅動355.82都沒有問題了。這下可以準備更新到Windows 10。

這是個防毒軟體變成雞肋的時代

有害的軟體抓不到,誤判倒是一大堆。

  • Bitdefender:導致Dragon's Dogma Online Launcher無法啟動,即使將防毒功能關閉也沒有用,必須將防毒軟體移除。
  • Avast:會阻擋Yahoo!奇摩的圖片,說是內建Adblock又有點怪怪的? 
目前先暫時換成Avira了。Windows用起來真麻煩,防毒軟體不能不裝,裝上去又是一堆問題,有沒有該有的作用又是另一個問題。

DDOL Launcher啟動必須獲得管理者授權,這也是軟體寫得不好的例子,這是因為裝在Program Files如果需要更新就得獲得管理者授權,但是如果有設計裝在使用者目錄的話,就不用考慮這些事。

2015年9月1日 星期二

桃園市市民卡的網站

http://card.tycg.gov.tw/ap/welcome.html
想看看介紹,點下去直接噴錯誤訊息出來。

正常來說,這些Debug訊息都不該出現在正式營運的網站上,會洩漏敏感資訊以及造成潛在的安全疑慮。從訊息中可以知道,這個網站是存放在Netapp FAS2552A上頭。(CDW上頭21TB的組合要價新台幣114萬 :P  )除此之外,還可以知道檔案的存放路徑。

本來打算用市政信箱去反應,一點下去...
.......................什麼鬼?搜尋一下發現許多政府網站都有相同的問題,解決方案

2015年8月31日 星期一

Hinet與Seednet到Cloudfront台灣出口的路由

因為我管理的網站圖片放在Cloudfront,瀏覽出現變慢的情況,就來查看看路由。

Hinet光世代經濟型100M/40M,會掉封包,網站瀏覽速度也不理想

ryan@ryan-HP-Z210-Workstation:~$ mtr -r -c 30 img.xxxxxxxxx.tw
Start: Mon Aug 31 09:57:39 2015
HOST: ryan-HP-Z210-Workstation    Loss%   Snt   Last   Avg  Best  Wrst StDev
 1.|-- router.asus.com            0.0%    30   18.1  19.2  15.8  29.6   3.6
 2.|-- h254.s98.ts.hinet.net      6.7%    30   24.8  26.4  23.6  36.5   2.7
 3.|-- clpy-3302.hinet.net        0.0%    30   24.6  26.0  23.4  29.7   1.4
 4.|-- TPDT-3012.hinet.net        0.0%    30   36.8  33.0  26.3  39.0   3.6
 5.|-- r4210-s2.hinet.net         0.0%    30   24.9  34.6  24.4 111.1  21.3
 6.|-- 203-75-228-29.HINET-IP.hi  3.3%    30   26.9  29.5  25.7  76.4   9.1
 7.|-- R1011-ASR.tpix.net.tw      6.7%    30   28.9  28.5  26.2  31.9   1.0
 8.|-- 202-133-255-122-static.un  6.7%    30   28.8  27.3  25.0  31.0   1.3
 9.|-- server-54-230-212-76.tpe5  3.3%    30   30.0  27.6  25.1  31.1   1.2


Hinet光世代專業型50M/20M(固六),完全沒有掉封包,瀏覽網站速度很快
ryan@ryan-HP-Z210-Workstation:~$ mtr -r -c 30 img.xxxxxxxxx.tw
Start: Mon Aug 31 10:00:28 2015
HOST: ryan-HP-Z210-Workstation    Loss%   Snt   Last   Avg  Best  Wrst StDev
 1.|-- 192.168.2.249              0.0%    30    0.2   0.2   0.1   0.2   0.0
 2.|-- 125-227-128-254.HINET-IP.  0.0%    30    6.6   7.2   6.0  15.9   1.6
 3.|-- tpdt-3308.hinet.net        0.0%    30    6.4   7.3   5.7  29.9   4.3
 4.|-- TPDT-3011.hinet.net        0.0%    30    8.1  13.4   7.1  18.9   3.5
 5.|-- r4210-s2.hinet.net         0.0%    30    6.7   9.5   6.0  62.1  10.0
 6.|-- 203-75-228-45.HINET-IP.hi  0.0%    30    7.4  12.7   6.4 160.1  27.8
 7.|-- R1011-ASR.tpix.net.tw      0.0%    30    7.2   8.1   7.1  12.7   0.9
 8.|-- 202-133-255-122-static.un  0.0%    30    7.3   8.0   6.4  13.0   1.3
 9.|-- server-54-192-215-198.tpe  0.0%    30    6.8   7.5   6.4   9.8   0.5


速博乙太網路專線雙向10M
ryan@ryan-HP-Z210-Workstation:~$ mtr -r -c 30 img.xxxxxxxxx.tw
HOST: ryan-HP-Z210-Workstation    Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 122-147-152-1.static.sparqne  0.0%    30    1.4   1.4   1.2   2.7   0.3
 2. 220.228.20.173                0.0%    30    1.5   1.5   1.4   1.6   0.1
 3. h57-192-72-155.seed.net.tw    0.0%    30    1.1   1.9   0.8  21.9   3.9
 4. h89-192-72-49.seed.net.tw     0.0%    30    1.6   1.7   1.4   8.0   1.2
 5. R56-141.seed.net.tw           0.0%    30    1.7   2.7   1.5  14.8   3.0
 6. h6-192-72-154.seed.net.tw     0.0%    30    1.7   2.7   1.4  25.3   4.6
 7. 192.72.113.58                 0.0%    30    2.5   2.1   1.6   3.1   0.4
 8. server-54-192-215-140.tpe50.  0.0%    30    1.8   1.7   1.5   1.8   0.1

看來中華電信不管那個方案都要經過TPIX台北網路交換中心(是方電信)-UNIGATE領航電信。而速博則是直連到Cloudfront。
雖然資料有點舊了,但是根據TWNIC 2011年公佈的資料,TPIX到UNIGATE的頻寬只有2Gbps,如果這麼多年都沒升級的話...很糟。而Hinet到TPIX有64Gbps,頻寬不足應該不太可能,但是經濟型還是掉封包了,看來跟QoS有關?

2015年8月2日 星期日

Windows 10與存取網路芳鄰的問題

昨天把家裡的電腦升級到Windows 10,使用起來都還蠻順暢的,除了一點:我在也不能連接到Synology DS413的共用資料夾,在網路搜尋了一下,發現只要有使用Microsoft帳戶登入就會發生這樣的問題。解決方案是在登入共用資料夾時,登入的帳號要使用 主機名稱\帳戶 這樣的格式。

來源:
http://forum.synology.com/enu/viewtopic.php?f=49&t=98792&sid=6dda792dba35d3c5807d6d6cfa6d490d#p385856

2015年7月15日 星期三

試用Windows 10 Insider Preview

就是個換皮改Layout的Windows 8。如同Windows 7是Windows Vista去蕪存菁的版本,Windows 10跟Windows 8的關係也是。

用起來的感覺跟Windows 8加上Classic Shell沒什麼太大差異。不過使用中碰到一個問題讓我不得不放棄,我是在Gigabyte U2442D上頭安裝的,這台Notebook上頭有個Nvidia GT 730M GPU,在Windows 8就無法安裝350.12之後的驅動程式,只要安裝就會在啟動Windows時卡住,或者在剛進入桌面時當機。在Windows 10上頭也碰到相同的問題,但是Windows 8可以選擇不安裝新的Driver,而Windows 10的自動更新則是會強制安裝,沒有別的選項。

如果自動更新完全不能手動控制的話,我大概完全不會考慮使用。

2015年7月6日 星期一

上週五去聽了Web + Arduino 智慧創客分享日的心得

簡而言之就是Webduino的產品介紹啦,去聽了之後大致上瞭解它的能耐。

基本上Webduino由三個部份構成:
  • 基底電路板:I/O與電源連接
  • Arduino Pro Mini:就是Arduino,精簡化的版本
  • Wifi晶片模組:雖然是無線連接用,但說是整個Webduino的核心也不為過 
Webduino號稱不需要學習C語言,即使是只學習網頁前端軟體開發的人也能立刻上手,依賴的就是能夠執行Javascript的優勢。 嚴格來說,Javascript並不是直接在Webduino上運行的,而是在瀏覽器上,或是透過Node.js運行在伺服器上。

但是撰寫好的Javascript程式要怎麼傳送給Webduino開發板呢?並不是直接傳送。在每一片Webduino開發板初次使用時,需要做初始化設定,也就是設定連接的WIFI AP,開發板開機之後,除了連接上AP,還會與Webduino的雲端平台做登記。登記完後,撰寫好的Javascript程式才能透過雲端平台與開發板進行互動。

到這裡發現到幾個問題:
  • 沒有網路連結的狀態下,這個開發板是完全不能用的
  • 同樣的,如果雲端平台的運作有問題,也是完全不能用
  • 目前的存取設計沒有考量到安全性,裝置ID只有四碼,似乎可以進行暴力猜測攻擊的樣子
  • 因為開發板不直接運行程式碼,如果把瀏覽器關閉,開發板就會停止運作,沒辦法設計離線裝置
上週的研討會有提到會將原始碼釋出,但我不確定有沒有包含雲端平台的部份,目前從他們Github來看,應該是還沒有。就算不釋出,只要提供直接連接的方式也可以,不然的話,這個開發板就沒有實用性。

2015年6月3日 星期三

使用Fluentd, Elasticsearch, Kibana收集PostgreSQL log的問題

按照網路上的文章設定,到最後Kibana上頭總是不會出現任何一筆log,但是直接搜尋Elasticsearch又確實有結果...。

檢視Elasticsearch的搜尋結果時,發現@timestamp的時間被往後加了八小時,回頭去看Fluentd的設定,時間格式最後有加上%Z,也就是縮寫格式,PostgreSQL匯出csvlog的時間格式的確包含縮寫的時區。

然而根據Supported 'timezone' configuration parameter.這篇,地球上有一堆時區的縮寫都是CST,這導致Fluentd解析時出現錯誤,而解決的方式就是把%Z移除。 Orz

2015年5月22日 星期五

在Centos 7上安裝389 Directory Server

一定要跑一台DNS做名稱解析,直接在hosts檔案裡頭做解析,在執行

setup-ds-admin.pl到最後一步就會出現
Error: Could not create directory server instance 'ds'.
的錯誤。

最簡單的方式,開一台VM跑dnsmasq做名稱解析就可以完成設定。

2015年4月20日 星期一

話說之前從Kickstarter贊助了一台3D印表機

Boots Industries的第二世代3D印表機,從拿到這台印表機,就註定是個災難的開始。

順帶一提把噴頭換成E3D v6,因為長度比原本的噴頭長,本來打算用別人設計的固定件,但是需要CNC切割,最後還是用原本的固定件把E3D v6鎖住,而校正器則用了偷懶的方式,使用長螺絲來調整。

因為這台的設計不太好,再加上生產的品質很糟,有不少人在論壇打算賣出自己的BI V2.5。

2015年3月2日 星期一

更換NAS的硬碟

因為家中的Synology DS413 NAS,其中有一顆日立1TB的硬碟出現壞軌,便添購Toshiba 3TB的硬碟來更換。

不過這Toshiba 3TB的硬碟居然是2014年2月出廠的,在倉庫放了一年嘛?

因為當初建置時是用SHR(Synology Hybrid Raid),將NAS關機之後,直接抽換掉有問題的硬碟然後開機進行修復。歷經rebuild->reshape->resize的過程,大約花了一天的時間,其中歷時最久的是進行reshape。

下次要換硬碟應該會整台重做,用兩顆一組做SHR,不然修復的時間有夠久的... Orz

2015年2月4日 星期三

Chrome對於Linux的支援依然很爛

大概Chrome的工程師都是用Mac的,他們對Linux的使用者一點也不在乎。

在Linux上頭安裝思源黑體,並在fontconfig裡頭設定。

Chrome 40.0.2214.95
Firefox 35.0.1
Chrome不知道為什麼選了 Source Han Sans Light,內文沒辦法閱讀。相對來說Firefox則十分正常。

這個問題從2013年就有人回報,到現在依然沒有任何改進。
Chrome ignores fontconfig pixelsize settings

2015年1月22日 星期四

之前我的朋友因為支付寶退款的問題,需要打電話到中國,而Hangout之前有推出撥打電話的服務,就試著撥過去看看,沒想到通話似乎完全沒有延遲,費用還非常低廉。

以台灣為例,手機撥市話以每分鐘計算,Hangout是0.6元,中華4G是6元,雖然中華是以秒計費,但是只要講超過6秒,就比Hangout貴了。 XD


Google Hangout calling rates
https://www.google.com/voice/b/0/rates?hl=en&p=hangout

中華4G費率
http://www.emome.net/data_plan/4g_rate

2015年1月5日 星期一

Roundcube使用password plugin (chpasswd driver)的方式

基本上參考這一篇
http://www.roundcubeforum.net/index.php?topic=21861.0
之前實作的時候一直碰到密碼更改失敗的情況,看log也看不出所以然,只看到Unable to execute sudo。原來sudoers裡頭預設有"Defaults    requiretty"這個設定,php在執行chpasswd是沒有console的,所以無法執行,照這篇文章修改就行。
1) enable password function

vi /var/www/html/roundcube/config/config.inc.php

- alter the following line as follows:

$config['plugins'] = array('password');

cd /var/www/html/roundcube/plugins/password
cp config.inc.php.dist config.inc.php

2) enable the password plugin

cd /var/www/html/roundcube/plugins/password
cp config.inc.php.dist config.inc.php

vi config.inc.php

- alter the following as follows:

$config['password_driver'] = 'chpasswd';

3) allow apache to run the script

visudo

- add to bottom

Defaults:apache !requiretty
apache ALL=(root) NOPASSWD: /usr/sbin/chpass-wrapper.py

4) add blacklisted users and minimum UID below

vi /var/www/html/roundcube/plugins/password/helpers/chpass-wrapper.py

BLACKLIST = (
    # add blacklisted users here comma separated
    'root'
)

if user.pw_uid < 494:
    sys.exit('Changing the password for user id < 494 is forbidden')

5) copy the helper to executable directory & set make it executable
   
cp /var/www/html/roundcube/plugins/password/helpers/chpass-wrapper.py /usr/sbin
chmod 755 /usr/sbin/chpass-wrapper.py

6) alter the driver to run the helper which in turn runs the driver (wraps it)

vi /var/www/html/roundcube/plugins/password/config.inc.php

old:
$config['password_chpasswd_cmd'] = 'sudo /usr/sbin/chpasswd 2> /dev/null';
new:
$config['password_chpasswd_cmd'] = 'sudo /usr/sbin/chpass-wrapper.py 2> /dev/null';