Ambil kod sumber arahan ls di bawah CentOS6.6 32-bit sebagai contoh Anda boleh menggunakan kaedah berikut untuk memuat turun kod sumber:
1) Konfigurasikan sumber kod sumber
Dalam CentOS, fail konfigurasi sumber ialah: /etc/yum.repos.d/CentOS-Base.repo Mengubah suai fail ini memerlukan kebenaran root.
Buka fail dan lihat kandungan fail Pada mesin saya, kandungan fail adalah seperti berikut:
# CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client.You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Terdapat dua pembolehubah dalam fail ini: releasever dan basearch, yang masing-masing mewakili versi keluaran dan cawangan Contohnya, pada mesin saya, kedua-dua nilai ini adalah 6 dan i386. Ambil perhatian bahawa pelepas tidak akan dibahagikan kepada versi kecil, iaitu, ia tidak akan menjadi 6.6 atau seumpamanya.
Dari kandungan fail, kita boleh tahu fail tersebut mempunyai 5 bahagian kesemuanya, bermakna mesin saya mempunyai 5 sumber perisian iaitu base, update, extra, centosplus dan contrib. Oleh itu, anda hanya perlu menentukan kod sumber 5 sumber perisian berikut. Tambahkan kandungan berikut pada penghujung fail:
[base-src] name=CentOS-$releasever - Base src baseurl=http://vault.centos.org/6.6/os/Source/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [updates-src] name=CentOS-$releasever - Updates src-centos baseurl=http://vault.centos.org/6.6/updates/Source/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [extras-src] name=CentOS-$releasever -Extras src-centos baseurl=http://vault.centos.org/6.6/extras/Source/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [centosplus-src] name=CentOS-$releasever - Plus src-centos baseurl=http://vault.centos.org/6.6/centosplus/Source/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [contrib-src] name=CentOS-$releasever - Contrib src-centos baseurl=http://vault.centos.org/6.6/contrib/Soruce/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Memandangkan versi berbeza mempunyai tetapan yang berbeza, tetapan mereka akan berbeza Kaedahnya boleh diringkaskan seperti berikut:
(1) gpgkey adalah sama dengan gpgkey bahagian yang sudah ada dalam fail
(2) Untuk mengesahkan kewujudan dan status fail, anda boleh membuka tapak web http://vault.centos.org/ untuk menyemak situasi tertentu, dan kemudian mengisinya mengikut situasi tertentu
(3) Apabila menetapkan baseurl, anda perlu menetapkannya mengikut versi sistem anda sendiri Sebagai contoh, mesin saya ialah CentOS-6.6, kemudian apabila menetapkan, parameter yang berkaitan ditetapkan kepada 6.6, iaitu, http: //vault.centos.org/ Sublaluan berikut ialah 6.6.
Fungsi fail ini adalah untuk menyediakan sumber untuk memuat turun yum dan kerja berkaitan Contohnya, apabila menggunakan yumdownloader (dibincangkan di bawah) untuk memuat turun kod sumber, tindakan berikut akan berlaku:
(1) Muat turun fail $baseurl/repodata/repomd.xml Jika fail repomd.xml lebih baharu daripada yang ada dalam sistem, kemas kini repomd.xml yang sepadan dalam sistem
(2) Muat turun pakej rpm kod sumber yang sepadan dalam $baseurl/SPackages/.
2) Gunakan arahan yang mana untuk melihat lokasi arahan ls, seperti berikut:
yang mana
# Output: /bin/ls
3) Gunakan arahan rpm untuk menanyakan pakej yang menjadi milik arahan ls, seperti berikut:
rpm -qf /bin/ls
# Output: coreutils-8.4-37.el6.i686
4) yumdownloader ialah program untuk memuat turun RPM daripada sumber RPM Anda boleh menggunakan arahan yumdownloader untuk memasang kod sumber, seperti berikut:
.yumdownloader --source coreutils-8.4-37.el6.i686
Nota:
(1) Jika perintah yumdownloader tidak dipasang, anda boleh menggunakan arahan ini untuk memasangnya: yum install yum-utils.
(2) Fail yang dimuat turun berada dalam direktori semasa Anda boleh menggunakan parameter --destdir untuk menentukan direktori mana untuk dimuat turun.
5) Gunakan yumdownloader untuk memuat turun fail pakej pemasangan rpm Anda boleh menggunakan arahan berikut untuk menanyakan fail tar dalam rpm:
rpm -qpl coreutils-8.4-37.el6.src.rpm |
# Output: coreutils-8.4.tar.xz
6) Gunakan arahan rpm2cpio untuk menukar fail pakej rpm kepada fail arkib cpio, dan kemudian gunakan arahan cpio untuk menyalin dan mengekstrak fail arkib daripada fail arkib cpio Outputnya adalah seperti berikut:
rpm2cpio coreutils-8.4-37.el6.src.rpm | cpio -idv coreutils-8.4.tar.xz# Output:
# coreutils-8.4.tar.xz
# 9561 blok
Penjelasan lelaki cpio ialah: cpio menyalin fail ke dalam arkib
-i: Sama seperti --extract, bermaksud mengekstrak
-d: Sama seperti --make-directories, mencipta direktori pemuatan apabila diperlukan
-v: Senarai pemprosesan fail
7) Gunakan arahan tar untuk menyahmampat pakej termampat coreutils-8.4.tar.xz, seperti berikut:
tar -xvf ./coreutils-8.4.tar.xzPada ketika ini, kod sumber arahan diperolehi.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan kod sumber arahan dalam sistem CentOS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!