【整理】Linux中如何查找,下载并解压某软件的源码

最后更新: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
$

 

【总结】



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量