熱門文章

2011年4月25日 星期一

查詢Ubuntu的版本的几個方法.

收集一些查詢版本的方法:

uname -a
這是查linux版本的指令.它會回覆如下的訊息:
Linux bcsopen1 2.6.35-28-server #50-Ubuntu SMP Fri Mar 18 18:59:25 UTC 2011 x86_64 GNU/Linux


lsb_release -a
這是查LSB模組的方法,但它會帶出ubuntu的版本資訊如下:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.10
Release:        10.10
Codename:       maverick

cat /etc/issue
這是查ubuntu版本的簡易法
Ubuntu 10.10 \n \l

2011年4月23日 星期六

Ubuntu 10.04 視窗最大化/最小化/關閉 按鈕位置修改為右上角(原本預設為左上角)

Ubuntu 10.04 視窗最大化/最小化/關閉 按鈕位置修改:

Ubuntu 10.04 視窗最大化/最小化/關閉 按鈕位置修改為右上角(原本預設為左上角)

  1. 按下Alt + F2
  2. 輸入 gconf-editor 並按執行.
  3. 找尋:/apps/metacity/general/button_layout
  4. 修改設定值 key value (預設為close,minimize,maximize:)改為 menu:minimize,maximize,close

tar + 增量

tar + 增量為了增量備份利用 tar 的 -g參數

tar -cf backup_`date +%F`.tar -g backup_`date +%F`.snapshot /path/source/
首次執行時,會將source這目錄(即整個source裡的資料)作成tarball檔,
並在daily-snapshot-file檔案裡記錄時間點,
第二次執行時,根據daily-snapshot-file裡的時間點,與在現執行時的時間點,
檢查是否有變動的資料,有更新便只把更新檔案的作成tarball檔,並更新daily-snapshot-file裡的時間點,
無更新時也會有tarball檔產生,但裡面無資料,而daily-snapshot-file的時間點也會作變動。

假如source裡還有目錄的話,它是同理的。
如果持續作這動作,可能要考慮寫個script來針對snapshot這檔作置換一下,
因為每執行一次,照著`date +%F`的話,時間點會從新計算,

範例:
   cp backup_20051221.snapshot backup_20051221.snapshot.old
   tar -cf backup_20051222.tar -g backup_20051221.snapshot /path/source
   mv  backup_20051221.snapshot  backup_20051222.snapshot

使用 find 來作輔助找出昨天到現在時間裡的檔案作成 tarball
tar -cf data.tar `find /path/* -mtime -1 ! -type d -print`
   -mtime -1
      -1表示前一天。

   ! -type d
      或者是
   -type f
      如果沒加這個參數,它會把/path/底下的目錄的裡的全部資料(包含舊的)都備出來

   -print
      表示標準輸出,每個檔有路徑且一行一行列出。但路徑要看find指令後面接什麼路徑,

如果為./path,輸出的路徑就成./xxx/data.txt,如果為/path/*,輸出的路徑就成/path/data.txt,
並注意 find後面接的路徑,如果為/path/,則交給tar後,產生的檔案會與為/path/*產生的不同,
而/path/*的才是正確的,/path/所產生的tarball會多出一倍的容量。
比較兩種方式,當搭配了crontab時,
使用 find的方式,需要去計算在crontab裡排程的時間與-mtime參數的時間之間的差距,
假如排程每七日執行一次,而-mtime就要設定為-8。
使用 tar -g的方式,就不用去管時間差距,到時排程一執行,它會自動去讀daily-snapshot-file裡與現在的時間差。

其它範例
比這時間還新的檔案做 tar,不過用這方法不準,會參雜其它日期的
tar -N "20050909" -cf data.tar /path/
依date參數%Y/%m/%d產生出來的現在時間,的四天前做tar
如果現在時間為2005-12-04,要tar作2005-10-22天後的日期,"4 days ago"改為"43 days ago"
tar -jcvf /path/aletw.bz2 --newer-mtime `date -d "4 days ago" +%Y/%m/%d` /path 

2008/01/22  單純使用 tar 依日期作差異的話它會把空目錄也 tar 進來,所以還是搭配 find 吧
                           find 目錄 -mtime -1 ! -type d -print  > include.txt
                           tar zcvf xxx.tar.gz -T include.txt


Read more: http://ssorc.tw/rewrite.php/read-261.html#ixzz1KJb4lyUc

fw: 談談 ufw

談談 ufw


Ufw
目錄 [隱藏]
1 前言
2 命令語法
2.1 啟動 ufw 服務
2.2 關閉 ufw 服務
2.3 阻擋外部進來的服務
2.4 開啟預設提供服務的Port
2.5 狀態查詢
3 設定檔
4 外部連結
前言
ufw 是一個 iptables 的前端設定程式,其名稱為 Uncomplicated Firewall 的簡稱,意謂著「不複雜的防火牆」設定,它的製作目的在於讓一般人很容易的設定 iptables。
要強調的是 ufw 只是一個簡單的 iptables 前端設定工具,無法完全取代 iptables 的所有設定,若想做更複雜的 firewall 設定,還是得回到 iptables 層面。
命令語法
啟動 ufw 服務
# sudo ufw enable
關閉 ufw 服務
# sudo ufw disable
阻擋外部進來的服務
# sudo ufw default deny
開啟預設提供服務的Port
# sudo ufw allow 20 //ftp-data
# sudo ufw allow 21 //ftp
# sudo ufw allow 22 //ssh
# sudo ufw allow 80 //www
...
狀態查詢
# sudo ufw status
設定檔
查看 ufw 是否啟動
# /etc/ufw/ufw.conf
#
# set to yes to start on boot
ENABLED=yes /* yes 為開啟,反之 no 則未開啟 */
ufw 規則儲存
/var/lib/ufw/user.rules
網站來源http://wiki.ubuntu-tw.org/index.php?title=Ufw#.E9.98.BB.E6.93.8B.E5.A4.96.E9.83.A8.E9.80.B2.E4.BE.86.E7.9A.84.E6.9C.8D.E5.8B.99
CreMaker 的生活雜記:談談 ufw
http://cm-life.blogspot.com/2008/05/ufw.html
有使用過 iptables 防火牆的朋友,相信都會認為這不是件 "好玩" 的事。在 ubuntu 8.04 中一個新的特性就是加入了 ufw 這個東東,它可以簡化 iptables 的設定。
ufw 是 Uncomplicated Firewall 的簡稱,意謂著 "不複雜的防火牆" 設定,ufw 是一個前端程式,骨子里仍然是 iptables,所以使用 ufw 就可以讓我們很容易的設定 iptables。
要強調的是 ufw 只是一個簡單的 iptables 前端定工具,無法完全取代 iptables 的有設定,所以若想做進一步複雜的 firewall 設定,還是得回到 iptables 層面。
另外,ufw 主要是針對由外網連至內部的設定,所以它不會影響你電腦連至外部的任何連結。
個人以為 ufw 適合以下兩個場合使用:
1. 簡單的防火牆設定
2. 個人使用的 desktop 設定
其實,ufw 的設定真的很簡單,看一下 man ufw 就大概了解其用法了,以下簡單的說明:
● ufw 的設定檔
在 /etc/ufw/ 這個目錄下有著 ufw 的設定檔,如 before.rules、after.rules、sysctl.conf、ufw.conf,另外還有 for ip6 的 before6.rule 及 after6.rules
before.rules、after.rules 及 sysctl.conf 一般照內定的值即可,不用特殊的設定,其詳細內容請自行參照 man ufw 中相關說明。
而 ufw.conf 是用來啟動或是關閉 ufw 之用的,里面就只有這樣的的內容:
# /etc/ufw/ufw.conf
#
# set to yes to start on boot
ENABLED=yes
當我們使用 sudo ufw enable,這個檔案就會設為 ENABLE=yes,反之若是執行 sudo ufw disable 的話,這個檔案內容就是 ENABLE=no 了。
另外一個重要的檔案就是 /var/lib/ufw/user.rules 這個檔案了,我們使用 ufw 設定的防火牆內容都是放在這個檔案內(以下會說明)。
● ufw 的參數
不妨自行使用 ufw --help 來看看有那些參數可使用(如附圖一)。
附圖一
由於 ufw 位於 /usr/sbin/ 這個目錄之下,所以要設定時需使用 sudo ufw [參數] 這樣的語法。
介紹幾個重要的參數:
開啟(enable)或停止(disable) ufw
# sudo ufw enable[disable]
內定是允許或是禁止
# sudo default allow[deny]
個人建議先使用 sudo ufw default deny 將所有的由外連結至內的連結通通關掉,再使用 ufw allow 開放想開放的內容。
● 設定想開放的 protocol
格式約有以下幾種:
sudo ufw allow [開放的 protocal(port)]
ufw 會去參考 /etc/services 這個檔案的設定,如 smtp 的代號(port)是 25,www 的代號是 80,如果在 /etc/services 中無相關關設定,那麼可用代號(port no)來替代,如 vnc 的代號是 5900,在 /etc/services 中沒設定,我們可用:
# sudo ufw allow 5900
在 protocal 後可加上 tcp 或是 udp,如:
# sudo ufw allow 25/tcp
我們也可指定那些 ip 可連到本機的某個 protocol(port),如
sudo ufw alow proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25
● 範例
若我們想開放本機的 80 及 53 給外部使用,不妨照以下設定:
為方便設定,少打一些 "ufw",所以先切換到 root
# sudo su
# ufw enable
# ufw default deny
# ufw allow 80
# ufw allow 53
顯示 ufw 設定(附圖二)
# ufw status
附圖二
● 刪除某一個 ufw 設定規則
ufw 雖然提供一個 delete 用來刪除某一項 ufw 設定規則,但個人覺得不是很好用,其實這些設定規則都放在 /var/lib/ufw/user.rules 這個檔案之中,所以直接改這個檔案是不是比較有效率呢?
修改後記得重新執行:
# sudo su
# ufw disable
# ufw default deny
# ufw enable