導航:首頁 > 源碼編譯 > ubantu源碼

ubantu源碼

發布時間:2023-03-11 01:50:41

① 如何查看ubuntu的源代碼

在/usr/src/下面有你的linux的全部源代碼,沒有耐心和足夠的c語言編程經驗的話不要去看了

② 如何在Debian或Ubuntu上安裝完整的內核源碼

你好,在Debian上安裝完整的內核源碼
在下載內核源碼之前,先安裝dpkg-dev,其中包含你在Debian上生成源代碼時需要的開發工具套件。不僅如此,dpkg-dev中還包含在用來解壓Debian源碼包並自動打補丁的工具dpgk-source。
$ sudo apt-get install dpkg-dev
然後,運行以下命令下載完整的內核源碼。
$ apt-get source linux-image-$(uname -r)
伴隨著完整內核源碼(linux_X.X.XX.orig.tar.xz)的還有一些可用的內核補丁(linux_X.X.X+XXX.debian.tar.xz)和源碼控制文件(linux_XXXX.dsc),這些都將被下載並存儲到當前目錄。在.dsc文件中會指出如何給內核源碼打補丁。
當下載完成,以上的命令將會自動調用工具dpkg-source將下載的內核源碼解壓到當前的目錄中,與此同時根據.dsc文件來下補丁。
最終完整的內核源碼樹將會以"linux-X.X.XX"的形式呈現在當前目錄中。
在Ubuntu上安裝完整內核源碼
如果你想安裝完整內核源碼的話,以上在Debian上的那一套做法在Ubuntu上仍然奏效。
在Ubuntu上還有另一套方法安裝完整內核源碼。事實上,你可以查一下由Canonical為Ubuntu不同發行版維護的內核源碼樹。
$ sudo apt-get install git
$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-$(lsb_release --codename | cut -f2).git

③ ubuntu下如何獲取源碼包和源碼

1、在獲取源碼包之前,確保在軟體源配置文件/etc/apt/sources.list中添加了deb-src項 2、使用如下命令獲取xxx源碼包的詳細信息: sudo apt-cache showsrc xxx這用來查詢當前鏡像站點中是否有該源碼包。 3、源碼包中通常包含3個文件,分別以dsc,orig.tar.gz和diff.gz為後綴名。 sudo apt-get source xxx 命令來獲取源碼包,它會將源碼包下載到用戶當前目錄 並在命令執行過程中,調用dpkg-source命令,根據dsc文件中的信息,將源碼包解壓到同名目錄中,應用程序的源代碼就在這裡面。 sudo apt-get source xxx 要強調的是,在下載源碼包前,必須確保安裝了dpkg-dev(執行」apt-get install dpkg-dev」來安裝), 否則,只會下載源碼包的3個文件,但不會解壓縮源碼包。當然你也可以自己用dpkg-source命令去解壓縮源碼包。 4、在編譯源碼包前,需要安裝具有依賴關系的相關軟體包。使用」apt-get build-dep」命令可以主動獲取並安裝所有相關的軟體包。 sudo apt-get build-dep xxx 5、現在可以來編譯源碼包了,首先進入源碼所在目錄,使用dpkg-buildpackage命令來編譯源碼包,它會將生成的Deb軟體包放置在上層目錄中。cd xxx sudo dpkg-buildpackage 這樣就會編譯生成xxx_i386.deb 6、安裝軟體包。使用」dpkg –i」命令來安裝生成的Deb軟體包。

④ ubuntu源碼編譯安裝cmake-2.8.10.2

ubuntu源碼編譯安裝cmake-2.8.10.2從cmake官網下載最新的cmake版本,筆者下載的是cmake-2.8.10.2.tar.gz,地址http://www.cmake.org/cmake/resources/software.html
www.dnjsb.com
1、解壓cmake-2.8.10.2.tar.gztar
-xvf
cmake-2.8.10.2.tar.gz2、在cmake-2.8.10.2同級目錄下新建一個編譯目錄mkdir
cmake-bulidcd
cmake-build3、編譯cmake.././bootstrap
www.dnjsb.com
注意:可能會出現如下錯誤:/usr/lib/libstdc++.so.6:
version
'GLIBCXX_3.4.15'
not
found這個是因為筆者更新ubuntu
gcc編譯器導致的。解決方法:a.
查看libstdc++.so.6支持GLIBCstrings
/usr/lib/libstdc++.so.6
|
grep
GLIBCoutput:GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBC_2.0GLIBC_2.3GLIBC_2.1GLIBC_2.1.3GLIBC_2.3.2GLIBC_2.2GLIBCXX_FORCE_NEWGLIBCXX_DEBUG_MESSAGE_LENGTH發現裡面沒有支持GLIBCXX_3.4.15。在這里,筆者ubuntu中安裝的gcc
4.7ls
/usr/local/gcc-4.7.2/output:bin
include
lib
libexec
share將/usr/local/gcc-4.7.2/lib/目錄下面的libstdc++.so.6和libstdc++.so.6.0.17拷貝到/usr/lib/目錄下面:sudo
cp
/usr/local/gcc-4.7.2/lib/libstdc++.so.6
/usr/lib/sudo
cp
/usr/local/gcc-4.7.2/lib/libstdc++.so.6.0.17
/usr/lib/sudo
rm
-f
/usr/lib/libstdc++.so.6.0.13刪除libstdc++.so.6舊的鏈接,建立新的鏈接,同時刪除libstdc++.so.6.0.13:sudo
ln
-sf
/usr/lib/libstdc++.so.6.0.17
/usr/lib/libstdc++.so.6sudo
rm
-f
/usr/lib/libstdc++.so.6.0.13至此搞定,現在我們回到編譯cmake中。重復剛才的命令:
www.dnjsb.com
.././bootstrap注意:此時我們仍然在cmake-bulid目錄下面。上面成功以後就執行如下2個命令:makesudo
make
install查看cmake是否安裝成功:cmake
--versionoutput:cmake
version
2.8.10.2恭喜你,安裝成功了。

⑤ 如何使用源代碼構建一個可用的 Ubuntu 軟體包

用dpkg-source -x
foo.dsc從foo.orig.gz和foo.diff.gz創建工作目錄foo:一份發行版中立的源碼目錄,加上一個debian目錄以及目錄下的meta文件,就構成了一份可以生成二進制deb包的源碼工作目錄。其實從apt-get
source抓下來的目錄,已經是通過dpkg-source -x解壓過的了。dpkg-source
-x所做的主要事情就是1.解壓;2.把foo.diff.gz里的patch打到原始文件上。生成的foo目錄下的源文件,都已經是打過deb源碼包里的patch了的。
在foo目錄下,執行dpkg-buildpackage -us
-uc構建包。-us和-uc參數是不做簽名,適合於本地構建本地使用的情況。這個命令的輸出有兩個,一個是二進制deb包,另一個是源碼包,為什麼這里還要生成源碼包?因為你可能改動某些文件,那麼會生成新的diff.gz來記錄所有你針對原始源碼的改動,不管發布還是保存更改都更方便,下一次你只需要在生成的新的.dsc文件上執行dpkg-source -x就可以產生一個一模一樣的源碼了。如果你什麼都沒改動,那麼新產生的源碼包同你構建所來源的源碼包是一樣的。你也可以用參數-b和-S來控制這次構建只產生二進制包或者只產生源碼包。
兩個最重要的meta文件,debian/control和debian/rules。control文件決定了哪些二進制包將從這份源碼目錄中構建,一個源碼目錄往往是好幾個二進制包的輸入源。你不想生成哪個屏蔽它就行。二進制包的運行時依賴關系也在包的聲明中可見,並且control文件也聲明了構建過程中的依賴,不過可以給dpkg-buildpackage傳-d參數來忽略構建依賴。
debian/rules文件其實就是個Makefile,你可以執行make -f debian/rules target來單獨執行某個目標。rules文件里基本上都是對debhelper腳本函數的調用,像是dh_*這樣的函數,它們負責大部分的構建過程。常用的clean, install目標在rules文件中也有,有些基於源碼包的Makefile上所做的事情如make clean需要通過make -f debian/rules clean來代替。
和傳統意義的Make過程有點不一樣的就是,默認狀態下,每次dpkg-buildpackage,其實都是把從configure.ac生成configure腳本,到生成Makefile,到構建source,到安裝binary都做一遍,哪怕你並沒有改過configure.ac,或者改過源代碼.c文件,假如構建失敗了,就需要嘗試改動源代碼重新構建,有時候需要反復嘗試這個過程直到構建成功,如果包很大的話那需要花費的時間就很長,這時傳入-nc參數可以讓dpkg-buildpackage保留當前的構建結果,就像傳統的make一樣只會從出錯的地方重新開始。當然,當對源代碼的改動終止後,最後還是需要再執行一遍不帶-nc參數的命令」dpkg-buildpackage -us -uc」來重新完全構建一遍,否則在生成源碼包時可能會出錯。
dpkg-buildpackage不用擔心它會自動改變你的源文件(即通過dpkg-source
-x產生的文件),當然前提是你確實改動的是」源」文件,比如是configura.ac而不是configure,是dkms.conf.in而不是dkms.conf。
構建軟體時做得最多的事就是根據自己系統的需求調整./configure參數了吧,比如–enable–xxx或者–disable-xxx,在rules文件中,通過帶override前綴的target可以起到為默認的target定製參數的目的,如override_dh_auto_xconfigure:
對源碼包有修改最好通過dch -i來生成一個新的changelog文件,每個change item的title部分都是表示這次change的最新版本號,dpkg-buildpackage的輸出二進制包的版本號其實就是從changelog里提取的(不是寫在control文件里的)。

閱讀全文

與ubantu源碼相關的資料

熱點內容
養殖系統開發源碼 瀏覽:81
pdf的目錄 瀏覽:406
光遇安卓如何一個人拍視頻 瀏覽:277
怨女pdf 瀏覽:708
扭曲伺服器什麼時候開 瀏覽:23
加密貨幣換平台 瀏覽:609
手機內存壓縮軟體 瀏覽:33
生成樹是否與遍歷演算法有關 瀏覽:728
python強化學習迷宮 瀏覽:450
老包子解壓視頻 瀏覽:885
伺服器注冊是什麼意思 瀏覽:418
程序員群體焦慮如何破局 瀏覽:585
程序員在廣州上班 瀏覽:803
androidlinuxadt 瀏覽:512
廣聯達軟體加密鎖原裝晶元 瀏覽:338
如何打開資料庫伺服器 瀏覽:310
kppm是什麼app 瀏覽:538
python多個數組命名 瀏覽:192
a演算法csdn 瀏覽:24
r720伺服器什麼年代 瀏覽:975