最后更新:2013-08-05
linux下,对于如何某个软件,想要找到并下载其源码,主要分两步:
- 先想办法,找到对应的源码;
- 找到源码后,使用你所喜欢的方式去下载对应的源码;
找源码
主要是去官网。
其次,是去用google搜,一般也可以找到,别的某些地方,提供了,某个版本的该软件的源码包的下载。
而现在,多数的开源的软件,其源码,都放在,sourceforge或者github,这两个比较大的,项目托管的地方了。
所以,很多时候,你去下载某个开源软件的代码时,往往都是跳转到对应的sourceforge或者github的页面。
或者,本身是用git进行源代码管理的。
下载源码
下载源码的方式有:
1.http形式的,直接点击下载链接,或者另存为,去下载源码
一般下载到的源码后,多数都是以:
- .tar.gz后缀:普通的gzip压缩
- .tar.bz2后缀:更高压缩率的bz2压缩
然后拿到源码后,对应的都是用tar,来将压缩包,解压出来的:
- tar -xvf xxx.tar.gz
- tar -xvjf xxx.tar.bz2
举例:
(1)在:
【记录】Cygwin下用arm-xscale-linux-gnueabi交叉编译xmlrpc
中,就是用:
1 | tar xvf xmlrpc-c-1.06.31.tgz |
去解压代码的。
2.通过代码管理方式去下载源码
比如常用的git或svn
此种方式,一般都是直接获得了,解压后的源码。
比如:
1.libxml2的源代码,就是git的:
http://www.xmlsoft.org/downloads.html
所以,可以通过git,去下载对应的源码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | CLi@PC-CLI-1 ~ /develop/todel/libxml2 $ git clone git: //git .gnome.org /libxml2 Cloning into 'libxml2' ... remote: Counting objects: 40912, done . remote: Compressing objects: 100% (9787 /9787 ), done . Receiving objects: 99% (40904remote: Total 40912 (delta 32817), reused 37599 (delta 30353) Receiving objects: 100% (40912 /40912 ), 16.88 MiB | 94 KiB /s , done . Resolving deltas: 100% (32817 /32817 ), done . CLi@PC-CLI-1 ~ /develop/todel/libxml2 $ ls -la total 32 drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:23 . drwxr-xr-x+ 1 Administrators Domänen-Benutzer 0 Aug 5 14:23 .. drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 libxml2 CLi@PC-CLI-1 ~ /develop/todel/libxml2 $ cd libxml2/ CLi@PC-CLI-1 ~ /develop/todel/libxml2/libxml2 $ ls -la total 9462 drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 . drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:23 .. drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 .git -rw-r--r-- 1 CLi Domänen-Benutzer 1663 Aug 5 14:28 .gitignore -rw-r--r-- 1 CLi Domänen-Benutzer 812 Aug 5 14:28 acinclude.m4 -rw-r--r-- 1 CLi Domänen-Benutzer 208 Aug 5 14:28 AUTHORS -rwxr-xr-x 1 CLi Domänen-Benutzer 1944 Aug 5 14:28 autogen.sh drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 bakefile -rw-r--r-- 1 CLi Domänen-Benutzer 32842 Aug 5 14:28 buf.c -rw-r--r-- 1 CLi Domänen-Benutzer 2351 Aug 5 14:28 buf.h -rwxr-xr-x 1 CLi Domänen-Benutzer 5261 Aug 5 14:28 build_glob.py -rw-r--r-- 1 CLi Domänen-Benutzer 71073 Aug 5 14:28 c14n.c -rw-r--r-- 1 CLi Domänen-Benutzer 98763 Aug 5 14:28 catalog.c -rw-r--r-- 1 CLi Domänen-Benutzer 748763 Aug 5 14:28 ChangeLog -rwxr-xr-x 1 CLi Domänen-Benutzer 10065 Aug 5 14:28 check-relaxng- test -suite.py -rwxr-xr-x 1 CLi Domänen-Benutzer 10578 Aug 5 14:28 check-relaxng- test -suite2.py -rwxr-xr-x 1 CLi Domänen-Benutzer 5333 Aug 5 14:28 check-xinclude- test -suite.py -rwxr-xr-x 1 CLi Domänen-Benutzer 9631 Aug 5 14:28 check-xml- test -suite.py -rwxr-xr-x 1 CLi Domänen-Benutzer 10682 Aug 5 14:28 check-xsddata- test -suite.py -rw-r--r-- 1 CLi Domänen-Benutzer 12247 Aug 5 14:28 chvalid.c -rwxr-xr-x 1 CLi Domänen-Benutzer 5999 Aug 5 14:28 chvalid.def -rw-r--r-- 1 CLi Domänen-Benutzer 41832 Aug 5 14:28 configure. in -rw-r--r-- 1 CLi Domänen-Benutzer 1289 Aug 5 14:28 Copyright -rwxr-xr-x 1 CLi Domänen-Benutzer 1363 Aug 5 14:28 dbgen.pl -rwxr-xr-x 1 CLi Domänen-Benutzer 1288 Aug 5 14:28 dbgenattr.pl -rw-r--r-- 1 CLi Domänen-Benutzer 104015 Aug 5 14:28 debugXML.c -rw-r--r-- 1 CLi Domänen-Benutzer 30413 Aug 5 14:28 dict.c drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 doc -rw-r--r-- 1 CLi Domänen-Benutzer 8776 Aug 5 14:28 DOCBparser.c -rw-r--r-- 1 CLi Domänen-Benutzer 670609 Aug 5 14:28 elfgcchack.h -rw-r--r-- 1 CLi Domänen-Benutzer 828 Aug 5 14:28 enc.h -rw-r--r-- 1 CLi Domänen-Benutzer 148220 Aug 5 14:28 encoding.c -rw-r--r-- 1 CLi Domänen-Benutzer 29711 Aug 5 14:28 entities.c -rw-r--r-- 1 CLi Domänen-Benutzer 27298 Aug 5 14:28 error.c drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 example -rwxr-xr-x 1 CLi Domänen-Benutzer 15491 Aug 5 14:28 genChRanges.py -rwxr-xr-x 1 CLi Domänen-Benutzer 29646 Aug 5 14:28 gentest.py -rwxr-xr-x 1 CLi Domänen-Benutzer 12985 Aug 5 14:28 genUnicode.py -rw-r--r-- 1 CLi Domänen-Benutzer 1149 Aug 5 14:28 global.data -rw-r--r-- 1 CLi Domänen-Benutzer 29598 Aug 5 14:28 globals.c -rw-r--r-- 1 CLi Domänen-Benutzer 1705 Aug 5 14:28 HACKING -rw-r--r-- 1 CLi Domänen-Benutzer 29668 Aug 5 14:28 hash .c -rw-r--r-- 1 CLi Domänen-Benutzer 207658 Aug 5 14:28 HTMLparser.c -rw-r--r-- 1 CLi Domänen-Benutzer 33900 Aug 5 14:28 HTMLtree.c drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 include -rw-r--r-- 1 CLi Domänen-Benutzer 1971 Aug 5 14:28 INSTALL.libxml2 -rw-r--r-- 1 CLi Domänen-Benutzer 38770 Aug 5 14:28 legacy.c -rw-r--r-- 1 CLi Domänen-Benutzer 1631 Aug 5 14:28 libxml.3 -rw-r--r-- 1 CLi Domänen-Benutzer 2656 Aug 5 14:28 libxml.h -rw-r--r-- 1 CLi Domänen-Benutzer 7880 Aug 5 14:28 libxml.m4 -rw-r--r-- 1 CLi Domänen-Benutzer 4594 Aug 5 14:28 libxml.spec. in -rw-r--r-- 1 CLi Domänen-Benutzer 347 Aug 5 14:28 libxml-2.0.pc. in -rw-r--r-- 1 CLi Domänen-Benutzer 297 Aug 5 14:28 libxml-2.0-uninstalled.pc. in -rw-r--r-- 1 CLi Domänen-Benutzer 762 Aug 5 14:28 libxml2.doap -rw-r--r-- 1 CLi Domänen-Benutzer 44699 Aug 5 14:28 libxml2.syms -rw-r--r-- 1 CLi Domänen-Benutzer 16318 Aug 5 14:28 list.c drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 macos -rw-r--r-- 1 CLi Domänen-Benutzer 282 Aug 5 14:28 MAINTAINERS -rw-r--r-- 1 CLi Domänen-Benutzer 56678 Aug 5 14:28 Makefile.am -rw-r--r-- 1 CLi Domänen-Benutzer 912 Aug 5 14:28 Makefile.tests -rw-r--r-- 1 CLi Domänen-Benutzer 647 Aug 5 14:28 Makefile.win -rw-r--r-- 1 CLi Domänen-Benutzer 52591 Aug 5 14:28 nanoftp.c -rw-r--r-- 1 CLi Domänen-Benutzer 48086 Aug 5 14:28 nanohttp.c -rw-r--r-- 1 CLi Domänen-Benutzer 95842 Aug 5 14:28 NEWS drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 optim -rw-r--r-- 1 CLi Domänen-Benutzer 433470 Aug 5 14:28 parser.c -rw-r--r-- 1 CLi Domänen-Benutzer 62193 Aug 5 14:28 parserInternals.c -rw-r--r-- 1 CLi Domänen-Benutzer 63507 Aug 5 14:28 pattern.c drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 python -rw-r--r-- 1 CLi Domänen-Benutzer 1189 Aug 5 14:28 README -rw-r--r-- 1 CLi Domänen-Benutzer 61 Aug 5 14:28 README.cvs-commits -rw-r--r-- 1 CLi Domänen-Benutzer 1483 Aug 5 14:28 README.tests -rwxr-xr-x 1 CLi Domänen-Benutzer 12439 Aug 5 14:28 regressions.py -rw-r--r-- 1 CLi Domänen-Benutzer 6324 Aug 5 14:28 regressions.xml -rw-r--r-- 1 CLi Domänen-Benutzer 365197 Aug 5 14:28 relaxng.c drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 result -rw-r--r-- 1 CLi Domänen-Benutzer 47667 Aug 5 14:28 rngparser.c -rw-r--r-- 1 CLi Domänen-Benutzer 32193 Aug 5 14:28 runsuite.c -rw-r--r-- 1 CLi Domänen-Benutzer 115336 Aug 5 14:28 runtest.c -rw-r--r-- 1 CLi Domänen-Benutzer 16305 Aug 5 14:28 runxmlconf.c -rw-r--r-- 1 CLi Domänen-Benutzer 1018 Aug 5 14:28 save.h -rw-r--r-- 1 CLi Domänen-Benutzer 5531 Aug 5 14:28 SAX.c -rw-r--r-- 1 CLi Domänen-Benutzer 85785 Aug 5 14:28 SAX2.c -rw-r--r-- 1 CLi Domänen-Benutzer 48156 Aug 5 14:28 schematron.c drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 test -rw-r--r-- 1 CLi Domänen-Benutzer 1436692 Aug 5 14:28 testapi.c -rw-r--r-- 1 CLi Domänen-Benutzer 7650 Aug 5 14:28 testAutomata.c -rw-r--r-- 1 CLi Domänen-Benutzer 9764 Aug 5 14:28 testC14N.c -rw-r--r-- 1 CLi Domänen-Benutzer 16055 Aug 5 14:28 testchar.c -rw-r--r-- 1 CLi Domänen-Benutzer 11723 Aug 5 14:28 testdict.c -rw-r--r-- 1 CLi Domänen-Benutzer 166 Aug 5 14:28 testdso.c -rw-r--r-- 1 CLi Domänen-Benutzer 21153 Aug 5 14:28 testHTML.c -rw-r--r-- 1 CLi Domänen-Benutzer 42190 Aug 5 14:28 testlimits.c -rw-r--r-- 1 CLi Domänen-Benutzer 1809 Aug 5 14:28 testModule.c -rw-r--r-- 1 CLi Domänen-Benutzer 8466 Aug 5 14:28 testOOM.c -rw-r--r-- 1 CLi Domänen-Benutzer 5285 Aug 5 14:28 testOOMlib.c -rw-r--r-- 1 CLi Domänen-Benutzer 623 Aug 5 14:28 testOOMlib.h -rw-r--r-- 1 CLi Domänen-Benutzer 3318 Aug 5 14:28 testReader.c -rw-r--r-- 1 CLi Domänen-Benutzer 24916 Aug 5 14:28 testrecurse.c -rw-r--r-- 1 CLi Domänen-Benutzer 10305 Aug 5 14:28 testRegexp.c -rw-r--r-- 1 CLi Domänen-Benutzer 4628 Aug 5 14:28 testRelax.c -rw-r--r-- 1 CLi Domänen-Benutzer 27598 Aug 5 14:28 testSAX.c -rw-r--r-- 1 CLi Domänen-Benutzer 4306 Aug 5 14:28 testSchemas.c -rw-r--r-- 1 CLi Domänen-Benutzer 4935 Aug 5 14:28 testThreads.c -rw-r--r-- 1 CLi Domänen-Benutzer 3404 Aug 5 14:28 testThreadsWin32.c -rw-r--r-- 1 CLi Domänen-Benutzer 2969 Aug 5 14:28 testURI.c -rw-r--r-- 1 CLi Domänen-Benutzer 5919 Aug 5 14:28 testXPath.c -rw-r--r-- 1 CLi Domänen-Benutzer 27072 Aug 5 14:28 threads.c -rw-r--r-- 1 CLi Domänen-Benutzer 12989 Aug 5 14:28 timsort.h -rw-r--r-- 1 CLi Domänen-Benutzer 11366 Aug 5 14:28 TODO -rw-r--r-- 1 CLi Domänen-Benutzer 922 Aug 5 14:28 TODO_SCHEMAS -rw-r--r-- 1 CLi Domänen-Benutzer 259725 Aug 5 14:28 tree.c -rw-r--r-- 1 CLi Domänen-Benutzer 159158 Aug 5 14:28 trio.c -rw-r--r-- 1 CLi Domänen-Benutzer 7204 Aug 5 14:28 trio.h -rw-r--r-- 1 CLi Domänen-Benutzer 6744 Aug 5 14:28 triodef.h -rw-r--r-- 1 CLi Domänen-Benutzer 23081 Aug 5 14:28 trionan.c -rw-r--r-- 1 CLi Domänen-Benutzer 2058 Aug 5 14:28 trionan.h -rw-r--r-- 1 CLi Domänen-Benutzer 5694 Aug 5 14:28 triop.h -rw-r--r-- 1 CLi Domänen-Benutzer 41908 Aug 5 14:28 triostr.c -rw-r--r-- 1 CLi Domänen-Benutzer 8227 Aug 5 14:28 triostr.h -rw-r--r-- 1 CLi Domänen-Benutzer 66993 Aug 5 14:28 uri.c -rw-r--r-- 1 CLi Domänen-Benutzer 192803 Aug 5 14:28 valid.c drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 vms drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 VxWorks drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 win32 -rw-r--r-- 1 CLi Domänen-Benutzer 69086 Aug 5 14:28 xinclude.c -rw-r--r-- 1 CLi Domänen-Benutzer 4607 Aug 5 14:28 xlink.c -rw-r--r-- 1 CLi Domänen-Benutzer 191 Aug 5 14:28 xml2Conf.sh. in -rw-r--r-- 1 CLi Domänen-Benutzer 1181 Aug 5 14:28 xml2-config.1 -rw-r--r-- 1 CLi Domänen-Benutzer 1722 Aug 5 14:28 xml2-config. in -rw-r--r-- 1 CLi Domänen-Benutzer 14909 Aug 5 14:28 xmlcatalog.c -rw-r--r-- 1 CLi Domänen-Benutzer 106287 Aug 5 14:28 xmlIO.c -rw-r--r-- 1 CLi Domänen-Benutzer 99456 Aug 5 14:28 xmllint.c -rw-r--r-- 1 CLi Domänen-Benutzer 26199 Aug 5 14:28 xmlmemory.c -rw-r--r-- 1 CLi Domänen-Benutzer 10572 Aug 5 14:28 xmlmodule.c -rw-r--r-- 1 CLi Domänen-Benutzer 167003 Aug 5 14:28 xmlreader.c -rw-r--r-- 1 CLi Domänen-Benutzer 219948 Aug 5 14:28 xmlregexp.c -rw-r--r-- 1 CLi Domänen-Benutzer 77807 Aug 5 14:28 xmlsave.c -rw-r--r-- 1 CLi Domänen-Benutzer 824051 Aug 5 14:28 xmlschemas.c -rw-r--r-- 1 CLi Domänen-Benutzer 176510 Aug 5 14:28 xmlschemastypes.c -rw-r--r-- 1 CLi Domänen-Benutzer 25033 Aug 5 14:28 xmlstring.c -rw-r--r-- 1 CLi Domänen-Benutzer 102238 Aug 5 14:28 xmlunicode.c -rw-r--r-- 1 CLi Domänen-Benutzer 125158 Aug 5 14:28 xmlwriter.c -rw-r--r-- 1 CLi Domänen-Benutzer 427883 Aug 5 14:28 xpath.c -rw-r--r-- 1 CLi Domänen-Benutzer 77650 Aug 5 14:28 xpointer.c drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 5 14:28 xstc -rw-r--r-- 1 CLi Domänen-Benutzer 23469 Aug 5 14:28 xzlib.c -rw-r--r-- 1 CLi Domänen-Benutzer 619 Aug 5 14:28 xzlib.h CLi@PC-CLI-1 ~ /develop/todel/libxml2/libxml2 $ |
【总结】
转载请注明:在路上 » 【整理】Linux中如何查找,下载并解压某软件的源码