『壹』 linux系統的源代碼哪裡可以下載
如果要下載指定版本的內核源代碼,就去官網下載,地址:
http://www.kernel.org/
如果要查看本機(某個發行版的內核源代碼),可以在目錄
/usr/src/kernels下面找到。
如果要查看某些安裝文件的源代碼,可以使用命令查看該文件
的安裝源,以查看cat源碼為例,命令:rpm -qif `which cat`
之後會有相關信息列印出來,訪問其源碼路徑,下載即可。
附本人博客「獲取Linux命令源代碼的方法」鏈接如下:
http://blog.csdn.net/shallowgrave/article/details/7854548
『貳』 如何編譯linux源代碼
首先uname -r看一下你當前的linux內核版本
1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname -r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
2、配置內核 make menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
3、編譯,依次執行make、make bzImage、make moles、make moles
4、安裝,make install
5、.創建系統啟動映像,到 /boot 目錄下,執行 mkinitramfs -o initrd.img-2.6.36 2.6.36
6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於 /boot/grub/grub.cfg 文件的設置,找到if [ "${linux_gfx_mode}" != "text" ]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當然你也可以修改 set default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。
重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make menuconfig這一步,改好後就萬事ok了。
最後再用uname -r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?
『叄』 linux源代碼
直接打出來?????
您真有創意……
現在穩定版的Linux內核源碼在600萬行左右
即便是最初的那個可以穩定運行的v0.11版Linux內核的代碼也有2萬多行
還不要網址,還直接打出來……
你當Linux操作系統是你平時練手的小程序呢……
想學習源碼建議不要直接看最新版的代碼,
600萬行的代碼量相信你不會願意一行一行的去看……那樣能看到你八十歲生日去……
但有挑選的看的話對新手來說不現實,既不知道怎麼挑,挑出來也未必能看懂
建議去看Linux v0.11版的源代碼或者Minix的源代碼
(Linux和Minix內核結構有所不同,如果是為了學習操作系統對硬體的操作原理,可以學Minix,因為這個系統寫出來就是為了給學生們上課學慣用的。而如果是為了學習Linux內核原理,那還是看Linux早期版本的源碼吧,畢竟和Minix在構造上還是有區別的)
推薦去OldLinux網站看v0.11的源代碼
還有一本書:同濟大學的趙炯博士寫的《Linux內核完全注釋》
網上有電子版,也能買大出版的書籍。這本書就是對Linux v0.11內核代碼的完全注釋和解析,對於學習Linux內核非常有幫助
『肆』 如何查看linux下某一個程序的源代碼
linux下不是所有的程序都有源代碼,能再具體描述你的問題嗎?
腳本類的軟體有源代碼,編譯類的,類似c語言的一般經過編譯連接,發布的不帶源代碼。
『伍』 linux的源代碼
www.kernel.org里有linux的內核源代碼,人家編譯內核都要去那裡下載最新的內核代碼。至於Linux下其他軟體的源代碼,你可以去相關的地址下載。最好使用google.com,英文的,不要用中文的網路或谷歌。還有很多人寫了關於閱讀linux源代碼的書,比如趙炯寫的一本分析早期內核1.01的。
ps文件是postscript語言格式的文件,在Linux下,可以用ps2pdf轉換成pdf文件,也可以用GhostView、GSview或者RoPS直接打開。
學習linux有很多種方法,我以前看過一遍文章,不過上面的書我都沒讀過,你自己看吧。http://blog.chinaunix.net/u2/83205/showart.php?id=1918540
哦,趙炯博士的主頁:http://www.oldlinux.org/homepage/
他那本完全注釋linux源代碼: http://oldlinux.org/download/clk011c-1.9.5.pdf
呵呵,我不知道你下載的是什麼,我上面這個地址可是pdf文件,你看後綴就知道了。
『陸』 Linux操作系統的源代碼
Linux操作系統的源代碼獲得方式:
1)可以上http://www.kernel.org/下載;
2)如果你安裝Linux,則在你Linux操作系統上也會有系統的源代碼,具體路徑有一些小差別。
『柒』 如何查看linux命令源代碼和函數源代碼
1. 以搜索ls命令源碼為例,先搜索命令所在包,命令如下:
lpj@lpj-linux:~$ which ls
/bin/ls
2. 用命令搜索該軟體所在包,代碼如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls
coreutils: /bin/ls
3. 從上一步中可以知道ls命令的實現在包coreutils中,用apt安裝(說安裝有些歧義,主要是區分apt-get -d)該包的源代碼然後解壓,代碼如下:
sudo apt-get source coreutils
cd /usr/src/coreutils-XXX #XXX表示版本號
sudo tar zxvf coreutils-XXX.tar.gz
或者只下載源碼,然後手動打補丁再解壓,代碼如下:
sudo apt-get -d source coreutils
cd /usr/src
tar zxvf coreutils-XXX.tar.gz
gzip -d coreutils-XXX.diff.gz #這一步會生成coreutils-XXX.diff文件
patch -p0 < coreutils-XXX.diff
cd coreutils-XXX
tar zxvf coreutils-XXX.tar.gz
OK,這幾步執行完後,就可以進入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令對應的源代碼了
『捌』 LINUX的源代碼是什麼
Linux 的源代碼就是 Linux 的源代碼……
Linux 的源代碼 != Linux 的內核源代碼。
一般所說的 Linux ,是指一整套 GNU/Linux 套件的。
『玖』 Linux操作系統源代碼有多少行
Linux現在內核版本2.6.34,其中共14002個c文件(9415676行),頭文件14069個(2141641行代碼),總代碼量約1100w行