最后更新: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
中,就是用:
tar xvf xmlrpc-c-1.06.31.tgz
去解压代码的。
2.通过代码管理方式去下载源码
比如常用的git或svn
此种方式,一般都是直接获得了,解压后的源码。
比如:
1.libxml2的源代码,就是git的:
http://www.xmlsoft.org/downloads.html
所以,可以通过git,去下载对应的源码:
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中如何查找,下载并解压某软件的源码