2011年8月30日 星期二

Printk 的 log level

printk的訊息優先權定義在linux/kernel.h

節錄在下面:

1 KERN_EMERG
2 KERN_ALET
3 KERN_CRIT
4 KERN_ERR
5 KERN_WARNIN
6 KERN_NOTICE
7 KERN_INFO
8 KERN_DEBUG
printk沒有指定時,預設的訊息優先權為 DEFAULT_MESSAGE_LOGLEVEL為/proc/sys/kernel/printk的第二項



log level 數字越低表示印出的訊息越少




printk 會輸出至cirrular buffer
buffer variable : log_buf
len : LOG_BUF_LEN



/proc/sys/kernel/printk檔案分別定義了
console_loglevel
default_message_loglevel
minimum_console_level
default_console_loglevel
printk的log level( Default message loglevel )要大於 console_loglevel這樣一來字才會印出 來


Man /proc的定義如下

  1. Messages with a higher priority than console_loglevel will be printed to the console.
  2. Messages without an explicit priority will be printed with priority default_message_level.
  3. Minimum_console_loglevel is the minimum (highest) value to which console_loglevel can be set.
  4. default_console_loglevel is the default value for console_loglevel
    例如: echo "8" > /proc/sys/kernel/printk
LDD 上有說我們只關心前兩項,因此只要2大於1所有printk的訊息就印得出來,因此將1的值調到八,這樣就可印出所有message

2011年8月25日 星期四

What's bridge-netfilter?


The bridge-netfilter code enables the following functionality:
  • {Ip,Ip6,Arp}tables can filter bridged IPv4/IPv6/ARP packets, even when encapsulated in an 802.1Q VLAN or PPPoE header. This enables the functionality of a stateful transparent firewall.
  • All filtering, logging and NAT features of the 3 tools can therefore be used on bridged frames.
  • Combined with ebtables, the bridge-nf code therefore makes Linux a very powerful transparent firewall.
  • This enables, f.e., the creation of a transparent masquerading machine (i.e. all local hosts think they are directly connected to the Internet).
  • Letting {ip,ip6,arp}tables see bridged traffic can be disabled or enabled using the appropriate proc entries, located in/proc/sys/net/bridge/:
    • bridge-nf-call-arptables
    • bridge-nf-call-iptables
    • bridge-nf-call-ip6tables
    Also, letting the aforementioned firewall tools see bridged 802.1Q VLAN and PPPoE encapsulated packets can be disabled or enabled with a proc entry in the same directory:
    • bridge-nf-filter-vlan-tagged
    • bridge-nf-filter-pppoe-tagged
  • These proc entries are just regular files. Writing '1' to the file (echo 1 > file) enables the specific functionality, while writing a '0' to the file disables it.

sys/utsname.h 平台型號


DESCRIPTION

The  header shall define the structure utsname which shall include at least the following members:
char  sysname[]  Name of this implementation of the operating system. 
char  nodename[] Name of this node within the communications 
                 network to which this node is attached, if any. 
char  release[]  Current release level of this implementation. 
char  version[]  Current version level of this release. 
char  machine[]  Name of the hardware type on which the system is running. 



Example

#include
#include
int main()
{
                struct utsname buf;
                uname (&buf);
                printf ("sysname: %s\n", buf.sysname);
                printf ("nodename: %s\n", buf.nodename);
                printf ("release: %s\n", buf.release);
                printf ("version: %s\n", buf.version);
                printf ("machine: %s\n", buf.machine);
                printf ("domainname: %s\n", buf.__domainname);
                return 0;
}

2011年8月17日 星期三

Windows 7 如何停用、顯示和清除 DNS Cache

今天電腦一直Domain name一直 mapping到錯誤的ip address ,重複實驗了數次,後來才發先是Win 7 內建DNS cache 搞的鬼 @_@"

原來,Windows 7 預設就有啟用 DNS Cache 的功能,如果你不想要用 Windows 7 內建的這個 DNS Cache 功能,只要把這個  DNS Client 服務給停掉就可以了

暫時的停用  DNS Cache 的功能

net stop dnscache 

清空 DNS Cache

ipconfig /flushdns

2011年8月3日 星期三

LINUX 修改網卡對應eth編號

修改 /etc/udev/rules.d/70-persistent-net.rules

# PCI device 0x10de:0x054c (forcedeth)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

2011年8月2日 星期二

全新時代到來! Linux Kernel 3.0 正式發佈

Linus Torvalds 2011/07/23 發佈了備受矚目的 Linux Kernel 3.0 新一代系統內核的正式版本,一個新的時代也由此開啟。

Linux Kernel 的上一個版本是 2.6.39,也是 2.6 系列的第 39 次升級維護。從改進幅度上看,Linux Kernel 3.0 其實完全可以叫做 2.6.40,但這年頭版本號為王,3.0 要好看得多。

Linus Torvalds在發佈聲明中說:“2.6 的日子結束了,3.0 來了。這也為下一個內核版本敞開了大門,也就是 3.1。穩定升級版會取第三位小數,所以第一個穩定更新將是 3.0.1。”

Linux Kernel 3.0 經過了七個 RC 候選版才完成正式版本,主要新特性有:

- Btrfs 檔案系統自動磁碟重組、性能改進和檢查
- 支援 sendmmsg() 函式呼叫,UDP 發送性能提升20%,介面發送性能提升約 30%
- 支持 XEN dom0
- 支援應用緩存清理 (CleanCache)
- 支持柏克萊封包篩檢程式 (Berkeley Packet Filter) 即時過濾,配合 libpcap/tcpdump 提升包過濾規則的運行效率
- 支援無線局域網 (WLAN) 喚醒
- 支援非特殊授權的 ICMP_ECHO 函數
- 支持高精度計時器 Alarm-timers
- 支援 setns() syscall,更好地命名空間管理
- 支援微軟 Kinect 體感設備
- 支援 AMD Llano APU 處理器
- 支援 Intel iwlwifi 105/135 無線網卡
- 支援 Intel C600 SAS 控制器
- 支援雷淩 Ralink RT5370 無線網卡
- 支援多種 Realtek RTL81xx 系列網卡
- 大量新驅動
- 大量 bug 修正和改進

常用的Windows 7快速鍵

用表格分類以供速查
類 別按 鍵功 能說明
管理視窗
Alt+F4
關閉目前作用中的視窗
Alt+Tab
顯示視窗以切換作用中的視窗
Ctrl+Alt+Tab
固定式視窗選擇,選擇視窗顯示後能用←、→鍵移動(上下與滾輪皆無效)
Win+Tab
Flip 3D顯示切換視窗,Alt按著不放再按Tab或方向鍵或滑鼠滾輪可以顯示下一個視窗
Ctrl+Win+Tab
固定式Flip 3D3D畫面顯示後可以按方向鍵或滑鼠滾輪切換視窗
Alt+Esc
輪流顯示已開啟視窗
Win+M
所有視窗最小化(Minimized)
Win+Shift+M
取消最小化
Win+D
切換顯示桌面(Desktop)
Win+↑
目前視窗最大化
Win+↓
目前視窗最小化或回復原來大小
Win+←
讓目前視窗依下列順序顯示:佔據桌面左半部、佔據桌面右半部、回復原來大小
Win+→
讓目前視窗依下列順序顯示:佔據桌面右半部、佔據桌面左半部、回復原來大小
Win+Home
除了目前視窗外,其餘視窗最小化
Win+Shift+←
多螢幕操作:移動目前視窗到左邊螢幕
Win+Shift+→
多螢幕操作:移動目前視窗到右邊螢幕
執行程式
Win+數字1-9
對應快速啟動區圖示的順序,例如第 5個是IE瀏覽器則按Win+5則執行IE
Win+B
滑鼠游標移動至System Tray(通知區域)的圓形按鈕上,接著便可用方向鍵移游標
Win+E
開啟檔案總管(Explorer)
Win+F
開啟搜尋視窗(Find)
Win+R
開啟命令執行視窗(Run)
Win+U
開啟Windows【控制台→輕鬆存取→輕鬆存取中心】 
XP是開啟公用程式管理員,內有放大鏡與螢幕小鍵盤)
Win+X
開啟行動中心
Win+Pause
XP:開啟【系統內容】
Vista:開啟【控制台→系統及維護→系統】
Win 7:開啟【控制台→系統及安全性→系統】
Ctrl+Shift+Esc
開啟工作管理員
登入登出
Win,→,Enter
關機
Win,→,→,R
重新啟動
Win,→,→,S
睡眠
Win,→,→,H
休眠
Win,L
鎖定電腦(Lock)
檔案總管
Alt+↑
至上層資料夾
Alt+←
回上個資料夾
Alt+→
至下個資料夾
Alt+D
移動到位置列(Address bar)
Alt+Enter
顯示檔案或資料夾的「內容」視窗
Ctrl+滾輪
切換檢視狀態
Ctrl+E
選取搜尋欄位
Win 7
新功能
Win+P
選擇簡報顯示模示
Win+T
把目前視窗變透明
Win+=
目前視窗進入放大狀態
Shift+Click
工作列圖示上按Shift+Click再開啟另一個該圖示的程式

How to repair and clone disk with ddrescue

  ddrescue  is a tool that can be used to repair and clone disks on a  Linux system . This includes hard drives, partitions, DVD discs, flas...