2013年5月7日 星期二

(Error) libc : Fatal signal 7 (SIGBUS) at 0x65147a90 (code=2)

From Evernote:

(Error) libc : Fatal signal 7 (SIGBUS) at 0x65147a90 (code=2)

錯誤記錄:
05-07 03:26:20.513: A/libc(1935): Fatal signal 7 (SIGBUS) at 0x65147a90 (code=2) 

原因:
bindService(Intent)時發生
主要是在其它Activity呼叫bindService,但該Service未被startService()

解決:
只要在App 啟動時先執行startService(Intent)即可。

2013年4月27日 星期六

Can't locate SVN/Core.pm in @INC

From Evernote:

Can't locate SVN/Core.pm in @INC

Git實在是越用越順手,現在連SVN跟本都不想用

還好Git還有另一個指令,Git-svn 他的操作基本上跟Git沒什麼太大的差異

如要clone一個專案,你只需要下:

$ git svn clone [your url]

就是這麼簡單,不過

你一定要安裝Xcode上的「Command Line Tools」不然就會出現以下錯誤訊息:

Can't locate SVN/Core.pm in @INC (@INC contains: /usr/local/Cellar/git/1.8.2.1/lib /Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12 /Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12 /Library/Perl/Updates/5.12.4 /System/Library/Perl/5.12/darwin-thread-multi-2level /System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-2level /System/Library/Perl/Extras/5.12 .) at /usr/local/Cellar/git/1.8.2.1/lib/Git/SVN/Utils.pm line 6.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/1.8.2.1/lib/Git/SVN/Utils.pm line 6.
Compilation failed in require at /usr/local/Cellar/git/1.8.2.1/lib/Git/SVN.pm line 26.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/1.8.2.1/lib/Git/SVN.pm line 33.
Compilation failed in require at /usr/local/Cellar/git/1.8.2.1/libexec/git-core/git-svn line 25.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/1.8.2.1/libexec/git-core/git-svn line 25



安裝順序如下:
1.你一定要有安裝Xcode 最新版
2.開啟XCode -> Preferences -> Downloads ->選擇「Command Line Tools」點擊Install 



裝完在試就ok了。

2013年4月24日 星期三

Ubuntu 9.10 vsftpd 基於MySQL虛擬使用者建立

Ubuntu 9.10 vsftpd 基於MySQL虛擬使用者建立

Ubuntu 9.10 vsftpd 基於MySQL虛擬使用者建立

首先建立一個 vsftpd使用的Linux 帳號。
# useradd ftp
MySQL建立一個屬於 vsftpd使用的資料庫。
在資料庫裡新增三個欄位,分別為 ID、Name 、Password
而 ID為PRIMARY KEY ,自動遞增,不可為空。
而 Name不可為空,也不可重覆。
而 Password不可為空。如下:
建立資料庫:
CREATE DATABASE 資料庫名稱 ;
建立資料表:
CRETE TABLE '資料表名稱' ('ID' INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                         'Name'  VARCHAR(30) NOT NULL ,
                         'Password' VARCHAR(50) NOT NULL , UNIQUE('Name')
                        )ENGINE=MYISAM ;
新增資料:
INSERT INTO '資料表名稱'  ('Name'  , 'Password') VALUES ( '新增的帳號'  , PASSWORD('新增帳號的密碼'));
資料庫新增完後。
修改 /etc/pam.d/vsftpd
內容為:
auth required pam_mysql.so user=資料庫登入帳號  passwd=資料庫登入密碼 host=localhost db=資料庫名稱  table=資料表名稱 usercolumn=使用者名稱欄位名稱  passwdcolumn=使用者密碼欄名稱 crypt=2
account required pam_mysql.so user=資料庫登入帳號  passwd=資料庫登入密碼 host=localhost db=資料庫名稱  table=資料表名稱 usercolumn=使用者名稱欄位名稱  passwdcolumn=使用者密碼欄名稱 crypt=2
修改完後儲存。
修改 /etc/vsftpd.conf
guest_enable=YES
write_enable=YES
guest_username=ftp
local_root=/home/ftp/$USER                                # 使用者目錄 
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf/        # 使用者設定檔存放目錄
修改完畢後,重新啟動 vsftpd
/etc/init.d/vsftpd restart在來就可以建立新的 ftp使用者了。
首先在 MySQL下新增資料在剛剛所建立的資料表裡。
INSERT INTO '資料表名稱'  ('Name'  , 'Password') VALUES ( '新增的帳號'  , PASSWORD('新增帳號的密碼'));接下來設定使用者目錄。 
新增檔名為使用者名稱的檔案到 /etc/vsftpd/vsftpd_user_conf/ 資料夾下
內容為:
local_root=/目錄位置/ 使用者資料夾 
存檔。
如目錄位置下並沒有這資料夾,則新增資料夾,並設定目錄權限。
mkdir /目錄位置/ 使用者資料夾
chown -R ftp /目錄位置/ 使用者資料夾
大致上設定到這裡就都 ok了。
如果還是無法登入,可能是 /etc/vsftpd.conf設定檔有設定到vsftpd.user_listvsftpd.chroot_list這二個檔案。
如果都無誤,因該都可使用了。
本實作是參考底下網址:
http://blog.gclin.org/2009/04/14/vsftp-virtual-user-mysql-add-user/