在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终用户经过编译就可以正确运行,这也是非常符合c语言的设计哲学的,一次编写,到处编译么,而常见的二进制包,比如rpm和deb,软件开发者必须为每种特定的平台定制好专门的软件包,这个通过rpm文件的后缀名就可以初见端倪,比如ppc,sparc,i386之类,在这里不做过多的陈述,其实源码安装软件远没有很多朋友想象的那么复杂,下面我在这里尽可能详细的做一些陈述,如有谬误,欢迎朋友们拍砖! ___FCKpd___0nbsp;tar zxvf XXXX.tar.gz (or tar jxvf XXXX.tar.bz2)___FCKpd___0nbsp;cd XXXX___FCKpd___0nbsp;./configure___FCKpd___0nbsp;make# make install ___FCKpd___1nbsp;make clean 安装完成后用来清理临时文件 # make uninstall 复制代码 用来卸载软件 ___FCKpd___2nbsp;tar zcvf XXXX.tar.gz XXXX(or tar jcvf XXXX.tar.bz2 XXXX) 复制代码 解压的相关命令如下: ___FCKpd___3nbsp;tar zxvf XXXX.tar.gz___FCKpd___3nbsp;tar jxvf XXXX.tar.bz2 复制代码 ./configure:
___FCKpd___5nbsp;./configure --prefix=/opt/XXX 它用来设置软件的安装目录. ___FCKpd___6nbsp;make
#make install
[root@localhost ~]# head -n 1 /etc/issueCentOS release 5.4 (Final)[root@localhost ~]# uname -srLinux 2.6.18-164.el5[root@localhost ~]# gcc --versiongcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)Copyright (C) 2006 Free Software Foundation, Inc. 这个是我的系统信息。 [root@localhost tools]# pwd/root/tools[root@localhost tools]# lstar-1.23.tar.bz2[root@localhost tools]# tar jxvf tar-1.23.tar.bz2......[root@localhost tools]# lstar-1.23 tar-1.23.tar.bz2[root@localhost tools]# cd tar-1.23[root@localhost tar-1.23]# lsABOUT-NLS build-aux configure gnu Makefile.am po srcacinclude.m4 ChangeLog configure.ac INSTALL Makefile.in README testsaclocal.m4 ChangeLog.1 COPYING lib Make.rules rmt THANKSAUTHORS config.h.in doc m4 NEWS scripts TODO 解压原文件包,可以发现其中包括了configure脚本和README文件。 [root@localhost tar-1.23]# mkdir -v ~/tarmkdir: 已创建目录 “/root/tar”[root@localhost tar-1.23]# ./configure --prefix=/root/tar......[root@localhost tar-1.23]# echo $? 建立软件安装目录,并configure,检查configure返回结果,为0代表运行成功. [root@localhost tar-1.23]# ls -FABOUT-NLS ChangeLog.1 configure.ac m4/ po/ tests/acinclude.m4 config.h COPYING Makefile README THANKSaclocal.m4 config.h.in doc/ Makefile.am rmt/ TODOAUTHORS config.log gnu/ Makefile.in scripts/build-aux/ config.status* INSTALL Make.rules src/ChangeLog configure* lib/ NEWS stamp-h1 复制代码 可以看到Makefile文件已经被成功建立. [root@localhost tar-1.23]# less Makefile | grep install: || { echo "ERROR: files left after uninstall:" ; install: install-recursiveuninstall: uninstall-recursive 在建立的Makefile中存在install和uninstall标号 [root@localhost tar-1.23]#make......[root@localhost tar-1.23]#echo &? 0 make成功 [root@localhost tar-1.23]#make install......[root@localhost tar-1.23]# ls /root/tarbin libexec sbin share[root@localhost tar]# cd /root/tar/bin[root@localhost bin]# lstar[root@localhost bin]# ./tar --help......[root@localhost tar-1.23]#echo &? 0 安装并简单测试成功。 |
请发表评论