tmux是一個類似常見的GNU Screen軟體,那作者為啥還開發呢,原因單純,他覺得Screen使用的Licence是GNU有些限制,所以就順手寫了一個類似功能但是卻是用BSD Licence,除了Screen常用的功能都有外,tmux還可以在單一一個window中處理多個不同的terminal,如果你常跟我之前一樣需要常常切換在Screen之間去做事情,你一定會愛死tmux的!!
Archive for the 'Linux' Category
前幾天朋友傳了一大個壓縮檔給我,打開後發現是一本極度實用的工具書,但是讓人困擾的是每一個頁面都是掃描後的tiff檔案,所以造成閱讀上的極度不便,而且也非常浪費磁碟空間,突然想起之前曾經將單一個tiff檔案轉換成pdf的經驗,所以稍微摸索了一下,總算研究出來作法。
今天登入我的linode後台,才發現這件事情,感謝linode照顧現有客戶啦,又多4G可以用了。詳細的調整可以在這邊找到。
*** Note *** 本篇的作法轉出來的檔案也可以順利的在IPhone上面播放
IPod Touch除了聽歌功能強悍外,影音撥放的能力也是吸引我的重點,大小適中的螢幕適合在通勤或出門等朋友時拿出來看看影片打發時間,可惜IPod Touch承襲著Apple Inc.一貫的風格,只能撥放MPEG4以及x264的編碼,對於大多數的電影採取的xvid、DivX或是日劇常用的rmvb都不支援,必須經過轉換才可以正常撥放,Windows上面有一堆簡單方便且免費的軟體可以使用,但是我實在不想要浪費自己電腦的資源和電費來做這種浪費時間的事情,於是腦筋就動到某台身在遠方卻有8個核心可以使用的強大機器,用遠端的運算資源,電費也是別人家付,多划算阿!!! 畢竟在這經濟不景氣的年代,說要好好善用資源啊!!! XD
常常在開發網頁程式時,我們會在自己習慣的平台上面寫完及測試後後,再丟上去真正運轉的機器運行,最常見的方法便是用ftp client上傳,但如果更新較為頻繁,這個動作做多了還是會不太耐煩,總希望可以直接mount遠方的ftp目錄當作是自己的一個目錄來使用,如此一來,只需要使用常用的cp、rm這類的指令便可以達到操作遠端ftp目錄下的檔案的功能。
幸運的是,在Debian下面有個方便的套件叫做curlftpfs,這軟體使用的底層便是大名鼎鼎的FUSE,搭配著cURL Library組合而成,讓我們可以很方便的在Debian下直接mount遠方的ftp資料夾。
安裝及使用方法如下:
- apt-get install curlftpfs (安裝curlftpfs)
- curlftpfs -o iocharset=big5,codepage=utf8,ipv4,user=帳號:密碼 ftp://xxx.xxx.xxx.xxx 本地目錄
iocharset指的是本機端所使用的編碼
codepage指的是ftp那端所使用的編碼
密碼不可以包含空白
如果你不希望你的密碼暴露出來,可以僅使用user=帳號,如此一來程式會要求你輸入密碼後再繼續執行。最後,假若你希望能在每次開機後,自動mount遠端某個ftp目錄,請編輯/etc/fstab加上一行
curlftpfs#xxx.xxx.xxx.xxx /mount的目錄 fuse rw,iocharset=big5,codepage=utf8,ipv4,user=帳號:密碼,user,noauto 0 0
記得更改一下/etc/fstab的權限,否則就全部的人都可以看到你的帳號密碼了。
中國反垃圾郵件聯盟是一個非營利的由一群熱心的中國網友所建立的。從建立到現在已經建立了一定的公信力以及很低的誤擋率,大陸/香港地區有非常非常多的人採用他們所提供的RBL(Realtime Block List)。
也許是因為我跟MySQL太不熟,長久以來我都以為MySQL裡面的wildcard character只有 % 跟 * (for host and table name),所以我就被愚弄了 Orz
之前寫的一個的MySQL服務會自動的加上 『帳號_』 的prefix,昨天我在檢查MySQL的時候突然發現有個資料庫是 『帳號-』 的prefix,心中第一個想法就是』糟糕! 遇到高手,第一天就被人玩爛了』。後來看了一下log跟user的設定發現是先用系統建立一個 xxx_test的db,然後在程式端因為打錯字,打成了xxx-test,妙的是系統竟然也接受,即便這個user沒有create的權限!!
後來經過一番survey才發現原來』_『也是個wildcard character,所以一旦建立了xxx_test的資料庫以及其對應的權限,user就可以自由的建立 xxx*test(ex: xxx-test,xxxatest,xxxbtest)。所幸發現的早,一下就搞定這個因為我的無知而造成的bug Orz
結論,所有東西的refernece manual都應該乖乖的看阿 Orz
很多朋友轉換到Linux下的時候,再下載大型檔案時,往往會遭遇到網路速度緩慢,想要使用在Windows上面像是flashget這類的多線程軟體,來加速下載。這裡推薦一個好用的小軟體 – aria2c,不但能夠多線程下載檔案,也能夠拿來下載bittorrent的檔案(有支援DHT),不過下載bittorrent還是建議使用rtorrent比較威猛剛強一點,這邊介紹在Debian下面如何安裝使用aria2c。
在Debian下面安裝aria2c非常簡單:
apt-get install aria2c
多線程下載使用方法如下:
aira2c -s16 http://file.to.download/file.zip
-s 後面接的數字是線程數目,限制是1~16,應該可以滿足大多數人的需求,如果需要更高的數目,可以透過 -j 來增加。
如果你需要使用aria2c來下載bittorrent檔案,使用方法如下:
aria2c –enable-dht –listen-port=某個port –max-upload-limit=單一檔案上傳速度 –max-overall-upload-limit=全局上傳速度 –torrent-file=torrent檔案
上面簡單介紹了最常使用到的兩種功能,其他的細部設定請自行參酌aria2c的man page。
之前架設一台vpn時, 由dmesg看到一個警告訊息
『ip_conntrack: table full, dropping packet『
google了一下發現似乎是個還蠻常見的問題,通常是NAT user過多或是同時建立太多tcp connection,導致table爆炸,因為Linux Kernel在NAT預設的tcp timeout是五天,難怪user多就爆炸。所以改法很簡單,就是把table加大,timeout縮短即可,要注意的是table所使用的memory為
ip_conntrack_max * 232 Bytes
所以要小心大小,不要改的太爽,加到超過你記憶體能夠負擔的能力,步驟如下:
首先查看一下table size以及timeout預設是多少:
cat /proc/sys/net/ipv4/ip_conntrack_max
cat /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
上面兩行指令能告訴你,目前機器上的table大小及tcp timeout時間
改法有二, 選一個你喜歡的作法即可 :Q
方法一:
sysctl -w net.ipv4.ip_conntrack_max=131072 (or 任何妳喜歡且不會爆的值)
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=600
(把這兩行寫到你的開機啟動檔裡面)
方法二:
編輯/etc/sysctl.conf, 加上下列兩行
net.ipv4.ip_conntrack_max=131072 (or 任何妳喜歡且不會爆的值)
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=600
這樣每次開機就會設定上去啦.
問題便可以因此解決。
手邊有台vpn server上面用iptables跑policy routing,連往大陸地區就從特定interface出去,之前的做法是到apnic取得大陸地區最新的ip list後,再利用script一行一行餵進去iptables裡面,即使做過CIDR merge後,還是快要達到800筆record,每每上線使用者一多、或是流量變大時機器的loading就會增加,這種作法不用分析也大概猜得出來,iptables內部作rule match是採用list match,當rule量很大的時候,效能當然會變差。 Continue reading ‘高效率的iptables GEOIP模組’
近期迴響