卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何獲取ubuntu源代碼 ubuntu下如何獲取源碼包和源碼?

如何獲取linux下命令源碼?命令的源代碼是以一個軟件包為單位,放在一個軟件包的源代碼中。如果你想下載一個命令的源代碼,你必須下載這個命令所屬軟件包的源代碼。命令的源代碼在下載的源代碼的相關(guān)文件夾中。

如何獲取ubuntu源代碼 ubuntu下如何獲取源碼包和源碼?

如何獲取linux下命令源碼?

命令的源代碼是以一個軟件包為單位,放在一個軟件包的源代碼中。如果你想下載一個命令的源代碼,你必須下載這個命令所屬軟件包的源代碼。命令的源代碼在下載的源代碼的相關(guān)文件夾中。一般是src文件夾,對應(yīng)的主文件名是cmd.c,其中cmd是詳細(xì)的命令,比如ls命令的主程序文件是ls.c

因為在不同的Linux發(fā)行版上。源代碼不是以同樣的獲得的。所以以下面兩個常用的Linux發(fā)行版Ubuntu和CentOS為例來說明。

1.Ubuntu中獲取系統(tǒng)命令源代碼的方法。

以32位Ubuntu14.04獲取ls命令源代碼為例,可以通過以下方法下載源代碼:

1)使用哪個命令查看ls命令的位置,如下所示:

哪個ls #輸出:/bin/ls

2)使用dpkg命令查詢ls命令所屬的包。例如,以下內(nèi)容:

Dpkg -S /bin/ls #輸出:cor:/Bin/LS.

3)使用apt-get命令下載ls命令所在包的源代碼。例如,以下內(nèi)容:

apt-get source coreutils

注意:

1)使用dpkg時。如果有錯誤。您可以使用sudo命令以root權(quán)限運行它。

2)將使用apt-get source下載的源代碼保存到當(dāng)前文件夾。

。另外,當(dāng)我們知道命令屬于哪個包的時候,也可以從相應(yīng)的官網(wǎng)下載。

2.CentOS中獲取系統(tǒng)命令源代碼的方法。

以32位CentOS6.6下獲取的ls命令源代碼為例,可以使用以下方法下載源代碼:

1)配置源代碼的來源

在CentOS中,源的配置文件是:,更改此文件需要root權(quán)限。

打開文件并檢查文件的內(nèi)容。在我的電腦上,該文件的內(nèi)容如下:

#

#

#鏡像系統(tǒng)使用客戶端的連接IP地址

#更新每個鏡像的狀態(tài),以選擇更新到和的鏡像

#地理上靠近客戶。你應(yīng)該用這個來更新CentOS

#除非您手動選擇其他鏡像。#

#如果mirrorlist=對您不起作用,作為退路,您可以嘗試

#改為注釋掉了baseurl= line。

#

#

[基本]

name=CentOS-$releasever - Base

mirror list = $ releaseveramparch = $ basearchamprepo = OS

# base URL = $ release ver/OS/$ base arch/

gpgcheck=1

gpg K:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6

#發(fā)布的更新

[更新]

name=CentOS-$releasever -更新

mirror list = $ releaseveramparch = $ basearchamprepo = updates

# base URL = $ release ver/updates/$ base arch/

gpgcheck=1

gpg K:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6

#可能有用的附加軟件包

[臨時演員]

name=CentOS-$releasever - Extras

鏡像列表=

release = $ releaseveramparch = $ basearchamprepo = extras

# base URL = $ release ver/extras/$ base arch/

gpgcheck=1

gpg K:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6

#擴(kuò)展現(xiàn)有軟件包功能的附加軟件包

[centosplus]

name=CentOS-$releasever - Plus

mirror list = $ releaseveramparch = $ basearchamprepo = centosplus

#baseurl=$releasever/centosplus/$basearch/

gpgcheck=1

啟用=0

gpg K:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6

# Centos用戶的貢獻(xiàn)包

[貢獻(xiàn)]

name = CentOS-$ release ver-Contrib

mirror list = $ releaseveramparch = $ basearchamprepo = contrib

# base URL = $ release ver/contrib/$ base arch/

gpgcheck=1

啟用=0

gpg K:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6

這個文件中有兩個變量:releasever和basearch。分別代表發(fā)布版本號和分支。比如在我的電腦上,這兩個值分別是6和i386。注意。Releasever沒有細(xì)分為次要版本號。也就是說,它贏了 不要6.6什么的。

從這個文件的內(nèi)容可以看出,這個文件總共有5個部分。也就是說我的電腦有五個軟件源,分別是base、updates、extras、centosplus和contrib。因此只需要指定其源代碼的來源,例如以下五個軟件來源。例如,在文件末尾添加以下內(nèi)容:

[base-src]

name = CentOS-$ release ver-Base src

baseurl=

gpgcheck=1

gpg K:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6

[更新-src]

name=CentOS-$releasever -更新src-centos

baseurl=

gpgcheck=1

gpg K:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6

[附加服務(wù)-src]

name = CentOS-$ release ver-Extras src-CentOS

baseurl=

gpgcheck=1

gpgk:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[centosplus-src]

name = CentOS-$ release ver-Plus src-CentOS

baseurl=

gpgcheck=1

gpg K:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6

[contrib-src]

name = CentOS-$ release ver-Contrib src-CentOS

baseurl=

gpgcheck=1

gpg K:///etc/PKI/RPM-gpg/RPM-GPG-KEY-CentOS-6

因為不同的版本號設(shè)置會有所不同,所以其設(shè)置也會有所不同,方法可以概括如下:

(1)1)gpgkey與本文檔中現(xiàn)有部分的gpg key相同。

(2)為了確認(rèn)檔案的存在和情況,可以打開站點查看詳細(xì)情況,然后根據(jù)詳細(xì)情況填寫。

(3)設(shè)置baseurl時,要根據(jù)自己系統(tǒng)的版本號來設(shè)置。如果我的機(jī)器是CentOS-6.6,設(shè)置時相關(guān)參數(shù)會設(shè)置為6.6。也就是后面的子路徑是6.6。

這個文件的目的是為yum及其相關(guān)作品的下載提供一個源碼。例如,當(dāng)使用yumdownloader(下面討論)下載源代碼時。例如,將發(fā)生以下操作:

(1)下載$baseurl/repodata/repomd.xml文件。如果repomd.xml文件比系統(tǒng)中的文件新。更新系統(tǒng)中相應(yīng)的repomd.xml。

(2)下載$baseurl/SPackages/中對應(yīng)的源rpm包。

2)使用哪個命令查看ls命令的位置,如下所示:

哪個是

#輸出:/bin/ls

3)使用rpm命令查詢ls命令所屬的包,如下所示:

rpm -qf /bin/ls

#輸出:coreutils-8.4-37.el6.i686

4)yumdownloader是一個從RPM源碼下載RPM的程序,可以用命令yumdownloader安裝源碼。例如,以下內(nèi)容:

yum downloader-source coreutils-8.4-37 . el6 . i686

注意:

(1)如果沒有安裝yumdownloader命令,可以使用此命令安裝:yum install yum-utils。

(2)下載的文件在當(dāng)前文件夾中??梢允褂脜?shù)- destdir指的是決定下載到哪個文件夾。

5)你用yumdownloader下載的是一個安裝包文件rpm,你可以用以下命令查詢rpm中的tar文件,例如:

rpm -qpl | grep tar

# output: coreutils-8.4.tar.xz

6)使用rpm2cpio命令將rpm包文件轉(zhuǎn)換為cpio存檔文件,然后使用cpio命令從cpio存檔文件中復(fù)制并提取一個存檔文件。舉以下例子:

rpm2 cpio | cpio-idv coreutils-8.4 . tar . xz

#輸出:

# coreutils-8.4.tar.xz

# 9561街區(qū)

Cpio s man解釋為:cpio將文件復(fù)制到一個存檔中

-i:相當(dāng)于- extract。提取的含義

-d:相當(dāng)于-make-directory,必要時創(chuàng)建一個加載文件夾。

-v:列出了文件的處理過程。

7)使用tar命令解壓coreutils-8.4.tar.xz壓縮包,如下:

tar -xvf。/coreutils-8.4.tar.xz

至此,該命令的源代碼已經(jīng)獲得。