2017年10月15日 星期日

自動化家庭 第一步--架設RaspberryPi

簡單的安裝過程備份,歡迎討論.

1. 架設RaspberryPi:
連接鍵盤,HDMI螢幕,電源到RaspberryPi.
2. 下載Raspbian:
https://www.raspberrypi.org/downloads/raspbian/
為了節省SD卡空間,使用RASPBIAN STRETCH LITE
建議SD卡至少4GB以上容量
3. 使用Etcher將映像檔解壓縮到SD卡上.
https://etcher.io
4. 將SD卡安裝到RaspberryPi,開機
5. 開機完成後登入系統,預設帳號密碼 pi/raspberry
6. 修改系統基本參數 sudo raspi-config
擴充記憶卡容量/更改預設密碼/開啟SSH功能/更改系統名稱/更改時區/更改語系...
7. 完成後重開機
8. 更新軟體
sudo apt-get update //更新套件資訊
sudo apt-get dist-upgrade //更新已安裝套件
sudo apt-get clean //移除套件檔案以節省空間
9. 修改網路設定,系統預設使用dhcp模式,如要改用固定ip有兩種方式:1.在dhcp server上設定固定分配ip 2.修改pi上的設定
我使用2的方式
依照網路環境修改設定檔 sudo nano /etc/dhcpcd.conf
interface eth0
static ip_address=192.168.1.177
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8

10. 修改完後再次重開機
11. 安裝mosquitto
sudo apt-get install mosquitto mosquitto-clients
12. 確認mosquitto已經啟動
service mosquitto status
13. 測試MQTT功能
開啟兩個終端機.
第一個終端機執行mosquitto_sub -t /home/light
第二個終端機執行mosquitto_pub -t /home/light -m "Hello, world"
確認第一個終端機有收到訊息,代表系統運作正常.

2014年5月28日 星期三

MacOSX與NSA310透過NFS連線

在MaxOSX上使用mount -t nfs時會發生operation not permitted找了好久才發現是連線port的問題.
Linux預設只能使用1024以下的port,但是MAC卻用高於1024的port.
解決方法:
1. 在NSA310上修改/etc/exports檔,在分享路徑的參數上加上insecure. ex. *(rw......) -> *(rw,insecure,.....)
2. 在執行mount -t nfs時加上-o resvport <- p="">

2010年10月18日 星期一

NAS-01G 與 Mac OSX 傳檔問題 (error -8084)

最近從朋友接手了一台Mac mini,忙著將它整合進現有的網路中.
發現如果要從NAS-01G上下載檔案到Mac mini,總是會發生"檔案發生錯誤,無法拷貝 error -8084"問題,交叉比對後發現,只有這台新的OSX10.6有問題,另外一台OSX10.5卻很正常.
在網路上找了很久,好像國外有些人也遇到類似的狀況,有人說是samba某幾版有這現象,建議更新samba,但是都沒有結論證實,也一直沒有看到有人回覆問題解決了.
後來在OIKOS找到這篇 MacBook 跟NAS-01G拷貝不能???終於真的把問題解決了!!
這個解法必須在你的NAS上動手腳,以我的機器來說,非常幸運就是NSA-01G,只要把sed -i "/max xmit/s/.*/ max xmit = 16644/" /etc/smb.conf 加入Share\backdoor檔案中,重新啟動NAS,問題就解決了~
它的目的是在samba的設定檔'smb.conf'加入'max xmit = 16644'這一行,一切就天下太平了...

2010年6月16日 星期三

安裝Java plugin for Firefox

最近跟Linux下的Java plugin奮戰了很久.
原來SUN網站上的安裝說明是錯的~~
網站上的說明:
Firefox
請移至 Firefox 安裝目錄下的 plugins 子目錄
cd /plugins

在目前目錄中,建立 JRE ns7/libjavaplugin_oji.so 檔案類型的符號連結:
ln -s /plugin/i386/ns7/libjavaplugin_oji.so

正確作法:
切換到家目錄底下的.mozilla下的plugins子目錄(如果不存在請自行建立)
然後做檔案的連結:
ln -s /plugin/i386/ns7/libjavaplugin_oji.so

重新啟動FF,應該就可以看到Java plugin了...

2009年12月17日 星期四

RedHat 網路設定檔位置

以下所說的都是在RedHat上的事情,不同的發行版本可能會有不一樣的配置...
最近在廠商的一台機器上看到一個好玩的問題...
一般來說,網路的設定檔都是放在/etc/sysconfig/network-scripts/ifcfg-ethx (x指不同的網卡0.1.2...)
但是當我把那些檔案殺掉後,再進入RedHat提供的utility (system-config-network-tui)卻還會記得我之前給定的網路設定!
經過一番尋找後才發現,原來這個utility有自己的設定檔...
切換到 /etc/sysconfig/networking 這個目錄下,你會看到兩個次目錄,這裡就是該utility存放設定的位置:
./devices <-這個目錄下存放你的系統上有哪些網卡,以及他們的設定值,當你執行utility時,它就會從這裡讀出資料,如果你把這目錄下的某個ifcfg-ethx殺掉,utility就認不到該硬體了.
./profiles/default <-這個目錄比較怪,我是過把裡面的ifcfg-ethx更名為其他名字(ex. eric),當我執行過utility後,那個檔案就會自動被刪除,而如果你在utility內有儲存設定,相對應的ifcfg-ethx也會在這目錄下產生.
所以linux下還是不要太依賴tool比較好,因為linux的版本太多種,有時候tool反而會弄亂你的設定檔.

2009年12月10日 星期四

Mount ISO image in Linux

以前要在Linux下掛載ISO image相當方便,執行:
mount -o loop abc.iso /mount_point 剩下系統會幫你完成.
今天在掛載DVD的OS光碟時卻會遇到問題,執行完掛載指令後到/mount_point下只看到一個readme.txt.
試著讀取它的內容:
[root@CentOS54 SVIM test]# cat /mnt/readme.txt
This disc contains a "UDF" file system and requires an operating system
that supports the ISO-13346 "UDF" file system specification.
原來DVD的ISO有的並不是ISO9660的格式,而是UDF的格式.
解決方法,指定格式給mount:
mount -o loop -t udf abc.iso /mount_point
這樣就可以正確看到iso檔的內容囉.

Lesson 101

這個網誌放的是我自己在使用Linux時所遇到的問題,和解答...