顯示具有 Linux tools 標籤的文章。 顯示所有文章
顯示具有 Linux tools 標籤的文章。 顯示所有文章

About big endian and little endian

Category: , By 人生有夢,築夢踏實
ref :http://www.debian.org/ports/mips/

How to identify which endianness are you used. You can to see your toolchain on folder.
The big endian mode that file name should be "misp??-gcc"; the little endian mode that file name should be "mips??el-gcc" or "mips??-elf-gcc".

Data : 0x12345678
Address : 0x00 0x01 0x02 0x03
Big endian : 0x12 0x34 0x56 0x78
Little endian : 0x78 0x56 0x34 0x12
 

SVN : To commit toolchain

Category: By 人生有夢,築夢踏實
使用 svn 來存放 toolchain 需注意下列事項:
1. 在下 "svn add" 前,建議先將 "symbol link" tar 起來並移除。因為有些 "symbol link"指向目錄,會造成,"add"指令在建立 ".svn"目錄時,建立錯誤的路徑。
2. 有些 object file (例如:*.o) 並不會在 "add" 時被加入。

建議處理方式:
/*先將 "symbol link" tar 起來,等做完第一次的 "add" 後,再以 "file" 型式加入*/
 find -type l | tee ~/temp/sym_list.txt
cat ~/temp/sym_list.txt | xargs tar jcvf ~/temp/symbol.tar.bz2
cat ~/temp/sym_list.txt | xargs rm -f
/*做第一次 "add"。此時,尚未加入 Object and symbol link*/
svn add {/project_dir}
/*找出 Object file 並加入*/
find -name '*.o' | tee ~/temp/obj_list.txt
cat ~/temp/obj_list.txt | xargs svn add
/*Untar "symbol file",並以 "file type" 加入*/
tar jxvf ~/temp/symbol.tar.bz2
cat ~/temp/sym_list.txt | xargs svn add
/*可以正式 commit 了*/
svn commit
 

iptables 概念

Category: By 人生有夢,築夢踏實
在Linux系統,防火牆軟體演化如下
Linux v2.0 ::: ipfwadm
Linux v2.2 ::: ipchains
Linux v2.4-v2.6 ::: iptables (Linux v2.4早期使用的防火牆軟體也是ipchains,所以使用v2.4時,需確認一下)
在本文接下來部份,只討論iptabls.

在iptables對於封包的處理是針對管理者所定下的規則(Rule),而規則有其先後順序,規則順序的不同,決定了封包的運命也不同。已安排好順序的規則,被稱為規則鍊(chain);iptables內定著不同的規則鍊,有PREROUTING,POSTROUTING,INPUT,OUTPUT,和FORWARD。管理者也可以自定規則鍊。
為因應不同的需求和目的,iptables內共包含四個主要的table,分為filter,mangle,nat,和raw。在iptables 指令在未指定下,預設的table是filter。

而各table預設的規則鍊列表如下:
nat table <= PREROUTING, POSTROUTING, OUTPUT
mangle table <= PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
filter table <= INPUT, FORWARD, OUTPUT
raw table <- PREROUTING, OUTPUT

常用指令整理
1)清除table內的規則
iptables [-t table] {-L | -F | -X | -Z}
table : 指定table,例: nat , mangle, 或forward. 未指定預設為filter。
-L : 查看table的內容。
-F : 清除所有已定的所有規則
-X : 清除所有使用者自訂的規則鍊(chains)
-Z : 歸零
2) 設定預設策略(Policy)
iptables [-t table] -P chain {ACCEPT, DROP, QUEUE, RETURN }
table : 未指定,預設為filter。
chain : 指定規則鍊
ACCEPT/... : 指定處理動作
3) 新增/插入規則
iptables -{A | I } -{i | o} ethx [-p tcp|udp|icmp] [-s source IP/24] [-d target IP/24] [-sport num] [-dport num] -j{ACCEPT | DROP | REJECT...}
4) 刪除規則
iptables -D chain rulenum
5)
iptables -{A | I} chain -m state --state {INVALID | ESTABLISHED | NEW | RELATED...}
6)NAT設定範例
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE



Reference :
1) 鳥哥的Linux私房菜--Linux防火牆與NAT主機
2) iptables tutorial by Oskar Andreasson
3)iptables專案的主頁
 

建構一個SVN server 來玩玩 (Fedora core 7/ core 8)

Category: By 人生有夢,築夢踏實
cvs client使用上也己經有一陣子了,最近,系統要作個昇級,有同事建議 SVN不錯用,不多說,那就建構一個來玩玩吧。
參考文件如下:
  1)Subversion中文文件
  2)Debian Linux 架設 Subversion(SVN)
  3)認識網路安全

我所使用的環境是 Fedora core 7 & core 8。安裝其實還不難。
1)安裝 Subversion 和 mod_dav_svn。
yum install subversion mod_dav_svn
2)建立 Subversion's Repository.
(我個人設定 repository位置在 /var/svn/repos,建立三個Project,分別為Pro1, Pro2, Pro3)
mkdir -p /var/svn/repos
svnadmin create /var/svn/repos/Pro1
svnadmin create /var/svn/repos/Pro2
svnadmin create /var/svn/repos/Pro3
sudo chown -R apache.apache /var/svn/repos

驗正方法:a. 開啟程式 "Terminal",執行指令"cd Templates"
b. 在 Linux 提示符號 ($)鍵入"svn co file:///var/svn/repos/Pro1"
c. 在正常工作下,應該會回覆訊息"Checked out revision 0."
3)設定 Apache 2.0
  建立檔案 /etc/httpd/conf.d/subversion.conf(若檔案不存在時)
  <檔案內容如下:>
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/svn/repos
SSLRequireSSL #使用SSL連線
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /var/svn/svnpasswd
AuthzSVNAccessFile /var/svn/svnAccess
Require valid-user
</Location>
4)設定使用者/密碼(假設建立二位使用者user1和user2)
htpasswd -c /var/svn/svnpasswd user1
htpasswd /var/svn/svnpasswd user2
5)設定使用者存取權限(假設user1可存取Pro1/Pro2,而user2可存取Pro1/Pro3)
<檔案/var/svn/svnAccess內容如下:>
[Pro1:/]
user1 = rw
user2 = rw #由於目前只有user1和user2二位使用者,可使用"* = rw"直接取代。
[Pro2:/]
user1 = rw
[Pro3:/]
user2 = rw

6)重新啟動httpd
service httpd restart
驗正方法:a. 開啟程式 "Firefox",在URL列上鍵入"https://localhost/svn/repos/Pro1"

Fedora core 8 需注意,預設會啟動SELinux,建議先將SELinux關閉。
步驟:a. 將檔案"/etc/selinux/config"中,參數”SELINUX"設為”disabled"
b. 修改檔案"/boot/grub/menu.lst"..
kernel /boot/vmlinux.... selinux=0
c. 將電腦重新開機。
 

如何於Fedora 8 (linux) 透過USB連接WM6網際網路共享

Category: By 人生有夢,築夢踏實
參考於 http://forum.xda-developers.com/showthread.php?t=340747

需要安裝 usb-rndis-lite ,方法如下:
svn co https://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
make
sudo ./clean.sh
sudo make install



接著於 /etc/sysconfig/network-scripts下,建立檔案 ifcfg-rndis0。
內容如下:

DEVICE='rndis0'
BOOTPROTO='dhcp'
MTU='1460'
MRU='1500'
STARTMODE='hotplug'


在為notebook和CHT9000插上USB連接線後,
並且啟動 WM6的"網際網路共享"中的"連線",
在 Fedora 終端機上,執行指令 "/etc/init.d/network restart"

在這之後,鍵入”ifconfig",應該可以看到介面"rndis0",已經在為你服務了。
 

如何在Linux下,安裝Skype

Category: By 人生有夢,築夢踏實
1. cd /etc/yum.repos.d
2.vim skype.repo
[skype]
name=Skype Repository
baseurl=http://download.skype.com/linux/repos/fedora/updates/i586/
gpgkey=http://www.skype.com/products/skype/linux/rpm-public-key.asc

3. yum install skype


 

ARCHIVES