|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!Linux情况下的软件安装,并非一件简单的事变;假如经由过程源代码编译后在安装,固然事变就更加庞大一些;如今安装各类软件的教程都十分广泛;但万变不离个中,对基本常识的踏实把握,安装各类软件的成绩就水到渠成了。Configure剧本设置工具就是基本之一,它是autoconf的工具的基础使用。
与一些技能比拟,Configure显得基本一些,固然利用和进修起来就显得索然无味一些,固然要成为妙手,对基本的熟习不克不及超出哦。
为此我转载了一篇关于Configure选项设置的具体先容。供人人参考
configure剧本有大批的下令行选项.对分歧的软件包来讲,这些选项大概会有变更,可是很多基础的选项是不会改动的.带上--help选项实行configure剧本能够看到可用的一切选项.只管很多选项是很罕用到的,可是当你为了特别的需求而configure一个包时,晓得他们的存在是很无益处的.上面对每个选项举行大略的先容:
--cache-file=FILE
configure会在你的体系上测试存在的特征(大概bug!).为了减速随落后行的设置,测试的了局会存储在一个cachefile里.当configure一个每一个子树里都有configure剧本的庞大的源码树时,一个很好的cachefile的存在会有很年夜匡助.
--help
输入匡助信息.即便是有履历的用户也偶然必要利用利用--help选项,由于一个庞大的项目会包括附加的选项.比方,GCC包里的configure剧本就包括了同意你把持是不是天生和在GCC中利用GNU汇编器的选项.
--no-create
configure中的一个次要函数会制造输入文件.此选项制止configure天生这个文件.你能够以为这是一种练习(dryrun),只管缓存(cache)仍旧被改写了.
--quiet
--silent
当configure举行他的测试时,会输入扼要的信息来告知用户正在作甚么.如许作是由于configure大概会对照慢,没有这类输入的话用户将会被扔在一旁困惑正在产生甚么.利用这两个选项中的任何一个城市把你扔到一旁.(译注:这两句话对照成心思,原文是如许的:Iftherewasnosuchoutput,theuserwouldbeleftwonderingwhatishappening.Byusingthisoption,youtoocanbeleftwondering!)
--version
打印用来发生configure剧本的Autoconf的版本号.
--prefix=PEWFIX
--prefix是最经常使用的选项.制造出的Makefile会检察随此选项传送的参数,当一个包在安装时能够完全的从头安装他的布局自力部分.举一个例子,当安装一个包,比方说Emacs,上面的下令将会使EmacsLispfile被安装到"/opt/gnu/share":
$./configure--prefix=/opt/gnu
--exec-prefix=EPREFIX
与--prefix选项相似,可是他是用来设置布局倚赖的文件的安装地位.编译好的emacs二进制文件就是如许一个问件.假如没有设置这个选项的话,默许利用的选项值将被设为和--prefix选项值一样.
--bindir=DIR
指定二进制文件的安装地位.这里的二进制文件界说为能够被用户间接实行的步伐.
--sbindir=DIR
指定超等二进制文件的安装地位.这是一些一般只能由超等用户实行的步伐.
--libexecdir=DIR
指定可实行撑持文件的安装地位.与二进制文件相反,这些文件历来不间接由用户实行,可是能够被下面提到的二进制文件所实行.
--datadir=DIR
指定通用数据文件的安装地位.
--sysconfdir=DIR
指定在单个呆板上利用的只读数据的安装地位.
--sharedstatedir=DIR
指定能够在多个呆板上同享的可写数据的安装地位.
--localstatedir=DIR
指定只能单机利用的可写数据的安装地位.
--libdir=DIR
指定库文件的安装地位.
--includedir=DIR
指定C头文件的安装地位.其他言语如C++的头文件也能够利用此选项.
--oldincludedir=DIR
指定为除GCC外编译器安装的C头文件的安装地位.
--infodir=DIR
指定Info格局文档的安装地位.Info是被GNU工程所利用的文档格局.
--mandir=DIR
指定手册页的安装地位.
--srcdir=DIR
这个选项对安装没有感化.他会告知configure源码的地位.一样平常来讲不必指定此选项,由于configure剧本一样平常和源码文件在统一个目次下.
--program-prefix=PREFIX
指定将被加到所安装步伐的名字上的前缀.比方,利用--program-prefix=g来configure一个名为tar的步伐将会使安装的步伐被定名为gtar.当和其他的安装选项一同利用时,这个选项只要当他被`Makefile.in文件利用时才会事情.
--program-suffix=SUFFIX
指定将被加到所安装步伐的名字上的后缀.
--program-transform-name=PROGRAM
这里的PROGRAM是一个sed剧本.当一个步伐被安装时,他的名字将经由`sed-ePROGRAM来发生安装的名字.
--build=BUILD
指定软件包安装的体系平台.假如没有指定,默许值将是--host选项的值.
--host=HOST
指定软件运转的体系平台.假如没有指定,将会运转`config.guess来检测.
--target=GARGET
指定软件面向(targetto)的体系平台.这次要在步伐言语工具如编译器和汇编器高低文中起感化.假如没有指定,默许将利用--host选项的值.
--disable-FEATURE
一些软件包能够选择这个选项来供应为年夜型选项的编译时设置,比方利用Kerberos认证体系大概一个实行性的编译器最优设置.假如默许是供应这些特征,可使用--disable-FEATURE来禁用它,这里FEATURE是特征的名字.比方:
$./configure--disable-gui
-enable-FEATURE[=ARG]
相反的,一些软件包大概供应了一些默许被克制的特征,可使用--enable-FEATURE来升引它.这里FEATURE是特征的名字.一个特征大概会承受一个可选的参数.比方:
$./configure--enable-buffers=128
`--enable-FEATURE=no与下面提到的--disable-FEATURE是同义的.
--with-PACKAGE[=ARG]
在自在软件社区里,有利用已有软件包和库的优异传统.当用configure来设置一个源码树时,能够供应其他已安装的软件包的信息.比方,倚赖于Tcl和Tk的BLT器件工具包.要设置BLT,大概必要给configure供应一些关于我们把Tcl和Tk装的那边的信息:
$./configure--with-tcl=/usr/local--with-tk=/usr/local
--with-PACKAGE=no与上面将提到的--without-PACKAGE是同义的.
--without-PACKAGE
偶然候你大概不想让你的软件包与体系已有的软件包交互.比方,你大概不想让你的新编译器利用GNUld.经由过程利用这个选项能够做到这一点:
$./configure--without-gnu-ld
--x-includes=DIR
这个选项是--with-PACKAGE选项的一个惯例.在Autoconf最后被开辟出来时,盛行利用configure来作为Imake的一个变通***来制造运转于X的软件.--x-includes选项供应了向configure剧本指明包括X11头文件的目次的方法.
--x-libraries=DIR
相似的,--x-libraries选项供应了向configure剧本指明包括X11库的目次的***.
在源码树中运转configure是不用要的同时也是欠好的.一个由configure发生的优秀的Makefile能够修建源码属于另外一棵树的软件包.在一个自力于源码的树中修建派生的文件的优点是很分明的:派生的文件,如方针文件,会混乱的分布于源码树.这也使在另外一个分歧的体系或用分歧的设置选项修建一样的方针文件十分坚苦.倡议利用三棵树:一棵源码树(sourcetree),一棵修建树(buildtree),一棵安装树(installtree).这里有一个很靠近的例子,是利用这类***来修建GNUmalloc包:
$gtarzxfmmalloc-1.0.tar.gz
$mkdirbuild&&cdbuild
$../mmalloc-1.0/configure
creatingcache./config.cache
checkingforgcc...gcc
checkingwhethertheCcompiler(gcc)works...yes
checkingwhethertheCcompiler(gcc)isacross-compiler...no
checkingwhetherweareusingGNUC...yes
checkingwhethergccaccepts-g...yes
checkingforaBSDcompatibleinstall.../usr/bin/install-c
checkinghostsystemtype...i586-pc-linux-gnu
checkingbuildsystemtype...i586-pc-linux-gnu
checkingforar...ar
checkingforranlib...ranlib
checkinghowtoruntheCpreprocessor...gcc-E
checkingforunistd.h...yes
checkingforgetpagesize...yes
checkingforworkingmmap...yes
checkingforlimits.h...yes
checkingforstddef.h...yes
updatingcache../config.cache
creating./config.status
如许这棵修建树就被设置了,上面能够持续修建和安装这个包到默许的地位/usr/local:
$makeall&&makeinstall
一个软件包经由过程编译源代码安装后,怎样完整的卸载??
假如本来的source还在的话,良多source的Makefile都有写uninstall划定规矩,间接在Souce里makeuninstall便可行,不外碰着无良作者没写的,那一句一句看Makefile里install部分他都干了些甚么,然后挨个删除。
假如source没了.....那就一边忧郁吧
到今朝为止,我装的都能够makeuninstall.......
(由于老是不当心装错中央,了局就makeuninstall&&makeclean,然后从头configure......)
linux下软件的基础安装和卸载
Linux软件的安装和卸载一向是困扰很多新用户的困难。在Windows中,我们可使用软件自带的安装卸载步伐或在把持面板中的“增加/删除程序”来完成。与其相相似,在Linux下有一个功效壮大的软件安装卸载工具,名为RPM。它能够用来创建、安装、查询、更新、卸载软件。该工具是在下令行下利用的。在Shell的提醒符后输出rpm,便可取得该下令的匡助信息。
软件的安装
Linux下软件的安装次要有两种分歧的情势。第一种安装文件名为***.tar.gz;另外一种安装文件名为***.i386.rpm。以第一种体例刊行的软件多为以源码情势发送的;第二种体例则是间接以二进制情势发送的。
关于第一种,安装***以下:
1.起首,将安装文件拷贝至你的目次中。比方,假如你是以root身份登录上的,就将软件拷贝至/root中。
#cp***.tar.gz/root
2.因为该文件是被紧缩并打包的,应对其解紧缩。下令为:
#tarxvzffilename.tar.gz假如是filename.tar.bz2格局的,应当是tarjxvffilename.tar.bz2来解压
3.实行该下令后,安装文件按路径,解紧缩在以后目次下。用ls下令能够看到解紧缩后的文件。一般在解紧缩后发生的文件中,有“Install”的文件。该文件为纯文本文件,具体报告了该软件包的安装***。
4.实行解紧缩后发生的一个名为configure的可实行剧本步伐。它是用于反省体系是不是有编译时所需的库,和库的版本是不是满意编译的必要等安装所必要的体系信息。为随后的编译事情做筹办。下令为:#./configure
假如您想把软件安装到指定目次,应当用#./configure--prefix=/您本人指定的目次,好比我想把一个mlterm安装到/opt/mlterm目次中,应当以下输出
#./configure--prefix=/opt/mlterm
5.反省经由过程后,将天生用于编译的MakeFile文件。此时,能够入手下手举行编译了。编译的历程视软件的范围和盘算机功能的分歧,所泯灭的工夫也分歧。下令为:#make。
6.乐成编译后,键进以下的下令入手下手安装:
#makeinstall
7.安装终了,应扫除编译过程当中发生的一时文件和设置过程当中发生的文件。键进以下下令:
#makeclean
#makedistclean
至此,软件的安装停止。
关于第二种,其安装***要复杂很多。
同第一种体例一样,将安装文件拷贝至你的目次中。然后利用rpm来安装该文件。下令以下:
#rpm-ifilename.i386.rpm
rpm将主动将安装文件解包,并将软件安装到缺省的目次下。并将软件的安装信息注册到rpm的数据库中。参数i的感化是使rpm进进安装形式。
软件的卸载
1.软件的卸载次要是利用rpm来举行的。卸载软件起首要晓得软件包在体系中注册的称号。键进下令:
#rpm-q-a
便可查询到以后体系中安装的一切的软件包。
2.断定了要卸载的软件的称号,就能够入手下手实践卸载该软件了。键进下令:
#rpm-e[packagename]
便可卸载软件。参数e的感化是使rpm进进卸载形式。对名为[packagename]的软件包举行卸载。因为体系中各个软件包之间互相有依附干系。假如因存在依附干系而不克不及卸载,rpm将赐与提醒并中断卸载。你可使用以下的下令来疏忽依附干系,间接入手下手卸载:
#rpm-e[packagename]-nodeps
疏忽依附干系的卸载大概会招致体系中别的的一些软件没法利用
假如想晓得rpm包安装到那里了呢?
应当用#rpm-ql[packagename]
3.怎样卸载用源码包安装的软件?
最好是看README和INSTALL;一样平常的情形下都有说,但年夜多软件没有供应源码包的卸载***;我们能够找到软件的安点缀删除。次要看你把它安装在哪了。
好比:
假如安装软件时,指定个目次。这个成绩也不会难;
好比用源码包安装gaim的
#./configure--prefix=/opt/gaim
#make
#makeinstall
假如安装mlterm
#./configure--prefix=/opt/mlterm
#make
#makeinstall
把源码包安装的软件,都指定安装在/opt目次中,如许不就晓得了??
假如删除,就删除响应的软件目次;
有些软件要在解压安装目次中实行makeuninstall,如许就卸载失落了
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们! |
|