怎麽查找關於內核參數和函數的說明文檔
?
安裝kernel-doc軟件包:
[root@gw ~]# yum install kernel-doc |
安裝好kernel-doc軟件包後,可以使用下面的命令查看它將文檔安裝在哪裏了。可以看到,文檔在兩個位置:
[root@gw ~]# rpm -ql kernel-doc | awk -F "/" ‘{print "/"$2"/"$3"/"$4"/"$5}‘ | uniq /usr/share/doc/kernel-doc-2.6.32 /usr/share/man/man9 |
?
1、 第一個位置的完整的路徑是/usr/share/doc/kernel-doc-2.6.32/Documentation,裏面包含的是關於內核參數等的txt說明文檔,可以直接使用grep命令查找你想要了解的內核參數,比如,我想要了解/etc/sysctl.conf裏面net.ipv4.ip_forward這個參數的含義,那麽我可以執行:
[root@gw ~]# cd /usr/share/doc/kernel-doc-2.6.32/Documentation [root@gw Documentation]# grep -ir --color ‘ip_forward‘ ./* |
輸出結果如下圖。其中,networking/ip-sysctl.txt文件裏面的就是關於net.ipv4.ip_forward這個參數的說明。
需註意的是,這些文件裏面其實只是對內核參數的簡要說明。對一些簡單的內核參數來說,看這裏面的說明是沒有問題的;但對於復雜的內核參數來說,可能還需要你有更綜合的知識才行。
?
2、 第二個位置/usr/share/man/man9裏面是內核使用的函數的man說明文檔,使用man命令可以查看它們的內容。比如,裏面有一個syscall_get_arguments.9.gz文件,實際來說,syscall_get_arguments就是一個函數來的,文件裏面就是關於這個函數的說明信息。要查看文件內容,需使用man命令:
[root@gw ~]# man syscall_get_arguments |
這有什麽用呢?在一些涉及到內核函數的地方可能會派上用場。比如,查看Linux內核源代碼時(當然,Linux內核源代碼我看不懂,但我這只是舉個例,對嘛),或者,在使用strace追蹤程序調用內核函數的情況時(這就有可能用上了)。
怎麽查找關於內核參數和函數的說明文檔