1、如果是通过源代码安装的话,在源代码的configure的时侯会有参数让你指定安装目录,具体彰显在Makefile文件的install目标(也可能会是*install*目标,*代表任意字符)里。诸如如下Makefile文件的install目标:
install-binPROGRAMS:$(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs)$(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)';forpin$$list;do
iftest-f$$p;then
echo"$(INSTALL_PROGRAM)$$p$(DESTDIR)$(bindir)/`echo$$p|sed's/$(EXEEXT)$$//'|sed'$(transform)'|sed's/$$/$(EXEEXT)/'`";
$(INSTALL_PROGRAM)$$p$(DESTDIR)$(bindir)/`echo$$p|sed's/$(EXEEXT)$$//'|sed'$(transform)'|sed's/$$/$(EXEEXT)/'`;
else:;fi;
done
是一个脚本,把可执行文件复制到$bindir这个变量所代表的目录下,在Makefile上面的代码中这个变量会有定义,在我这儿是定义了
prefix=/usr/local
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
也就是/usr/local/bin下边。
2、最后,假如早已安装好的,也可以直接调用,要看它的路径挺好搞定
比如我用gcc这个命令,我要看gcc这个命令的目录位置,可以用如下命令查询
[wade@mycentos~]$whereisgcc
gcc:/usr/bin/gcc/usr/lib/gcc/usr/libexec/gcc/usr/share/man/man1/gcc.1.gz
一个whereis命令就查询到位置了。
我分下边三个部份来讲linux中的软件管理,前二个部份是基本介绍,也是重点,让你们明白linux的不同的管理软件的方式。在实际用中,推荐你们多使用apt-get和yum.那是相当的便捷。
Windows下安装软件时,只需运行软件的安装程序(setup、install等)或则用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、"卸载"等)才能将软件去除干净,完全图形化的操作界面,简单到只要用键盘仍然点击"下一步"就可以了。Linux系统似乎就不一样了,好多的初学者都责怪在Linux下安装和卸载软件特别地困难,没有像使用Windows时这么直观。虽然在Linux下安装和卸载软件也十分简单,同样也有安装向导或解压安装的方法,不相同的只不过是不仅二补码方式的软件分发外,还有许许多多以源代码方式分发的软件包。
下边就来详尽地讲一讲这种软件的安装与卸载:
一、二补码分发软件包的安装与卸载
Linux软件的二补码分发是指事先早已编译好二补码方式的软件包的发布方式,其优点是安装使用容易,缺点则是欠缺灵活性,假如该软件包是为特定的硬件平台编译的,那它就不能在另外的平台或环境下正确执行。
1、*.rpm方式的二补码软件包
首先步入软件所在目录
安装:rpm-ivh*.rpm
卸载:rpm-epackgename
实例:
1、找到相应的软件包,例如soft.version.rpm,下载到本机某个目录;
2、打开一个终端,在非超级管理员终端使用命令:su–转换成root用户;
3、cdsoft.version.rpm所在的目录;
4、输入rpm-ivhsoft.version.rpm
说明:RPM(RedHatPackgeManager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm方式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删掉干净linux操作系统,因而推荐初学者尽可能使用rpm方式的软件包。rpm的参数中-i是安装,-v是校准,-h是用散列符显示安装进度,*.rpm是软件包的文件名(这儿的*.rpm特指*.src.rpm以外的以.rpm为后缀的文件);参数-e是删掉软件包,packgename是软件包名,与软件包的文件名有所区别,它常常是文件名中坐落版本号后面的字符串,比如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-devel.更多的rpm参数请自行参看指南页:manrpm.
假如你不喜欢在字符界面下安装或卸载这种软件包,完全可以在X-Window下使用图形界面的软件包管理程序。如今这种做的特别好了。
2、*.tar.gz/*.tgz、*.bz2方式的二补码软件包
安装:tarzxvf*.tar.gz或taryxvf*.bz2
卸载:自动删掉
说明:*.tar.gz/*.bz2方式的二补码软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令"rm–rf软件目录名";假如解压后文件分散在多处目录中,则必须一一自动删掉(稍麻烦),想晓得解压时向系统中安装了什么文件,可以用命令"tarztvf*.tar.gz"/"tarytvf*.bz2"获取清单。tar的参数z是调用gzip解压,x是解包,v是校准,f是显示结果,y是调用bzip2解压,t是列举包的文件清单。更多的参数请参看指南页:mantar.
注:假如你更喜欢图形界面的操作,可以到Ubuntu上瞧瞧他的包管理,超级便捷。
3、*.tgz方式的二补码软件包
解压:tar-zxvfsoft.tgz
切换到当前解压后目录:cdsoft(ps:Linux的shell下按TAB键可以直接手动补全文件名)
安装:#./soft-*-*-installer
卸载:自动删掉安装所在的文件夹
示例:安装myeclipse-8.0.0-linux-gtk-x86.tgz
解压:#tar-zxvfmyeclipse-8.0.0-linux-gtk-x86.tgz
解压切换到当前安装目录:cdmyeclipse-8.0.0-linux-gtk-x86
安装:#./myeclipse-8-stable-installer
3、提供安装程序的软件包
这类软件包早已提供了安装脚本或二补码的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。比如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,但是在软件安装后提供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的形式与Windows软件一样,所以就无需多讲了。
二、源代码分发软件包的安装与卸载
Linux软件的源代码分发是指提供了该软件所有程序源代码的发布方式,须要用户自己编译成可执行的二补码代码并进行安装,其优点是配置灵活,可以随便去除或保留个别功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,通常不适宜初学者使用。
1、*.src.rpm方式的源代码软件包
安装:rpm-rebuild*.src.rpm
cd/usr/src/dist/RPMS
rpm-ivh*.rpm
卸载:rpm-epackgename
说明:rpm-rebuild*.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二补码的rpm包,之后再安装该二补码包即可。packgename如前所述。
2、tar.gz源代码包安装方法:
1、找到相应的软件包,例如soft.tar.gz,下载到本机某个目录;
2、打开一个终端,使用命令:su–转换成root用户;
3、cdsoft.tar.gz所在的目录;
4、tar-xzvfsoft.tar.gz//通常会生成一个soft目录
5、cdsoft
6、./configure--prefix=/usr/local/soft(指定安装目录)
7、make
8、makeinstall
卸载:用cd命令步入编译后的软件目录,即安装时的目录
执行反安装命令:makeuninstall或自动删掉
3.tar.bz2源代码包安装方法:
1、找到相应的软件包,例如soft.tar.bz2,下载到本机某个目录;
2、打开一个终端,su-成root用户;
3、cdsoft.tar.bz2所在的目录;
4、tar-xjvfsoft.tar.bz2//通常会生成一个soft目录
5、cdsoft
6、./configure--prefix=/usr/local/soft(指定安装目录)
7、make
8、makeinstall
卸载:用cd命令步入编译后的软件目录,即安装时的目录
执行反安装命令:makeuninstall或自动删掉
说明:建议解压后先阅读说明文件,可以了解安装有什么需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用makeinstall命令来进行卸载,假若不提供此功能,则软件的卸载必须自动删掉。因为软件可能将文件分散地安装在系统的多个目录中,常常很难把它删掉干净,那你应当在编译前进行配置,指定软件即将安装到目标路径:./configure--prefix=目录名,这样可以使用"rm–rf软件目录名"命令来进行干净彻底的卸载。与其它安装方法相比,须要用户自己编译安装是最麻烦的,虽然我个人觉得,之后会越来越少人用这些技巧。由于现今的硬件发展到没有必要多这少量的性能,来浪费如此多时间。
安装目录:注意makeinstall命令过程中的安装目录,或则阅读安装目录上面的readme文件,其实最好的办法是在安装的过程手指定安装目录,即在./configure命令前面加参数--prefix=/**linux软件安装方法,如:./configure--prefix=/usr/local/soft,即把软件装在/usr/local/路径的soft这个目录里。
三、bin文档安装:
如果您下载到的软件名是soft.bin,通常情况下是个可执行文档,安装方式如下:
1、打开一个终端,su-成root用户;
2、用CD命令步入源代码压缩包所在的目录
3、chmodxsoft.bin
4、./soft.bin//运行这个命令就才能安装软件了,但是此软件被安装在了:源代码压缩包所在的目录/soft中!
===怎么卸载:把安装时中选择的安装目录删掉就OK,
===执行安装过程中可以指定,类似于windows下安装。
示例:欲将jdk安装到指定目录/usr/java下
说明:1.CentOS默认情况下,会安装OpenOffice之类的软件,这种软件须要Java的支持,默认会安装JDK的环境,若须要特定的Java环境,最好将默认的JDK彻底删掉;
2.查看默认的JDK命令:java-version
3.并且假如先删掉默认再装新的JDK,则与之相关的软件例如openoffice等也会急剧删掉,所以,先装新的jdk再卸系统默认自带的jdk。
***卸载系统自带原JDK的方式示例:(注意,此操作应当在新jdk安装完毕后再执行)
终端输入,查看gcj的版本号:rpm-qa|grepjdk
得到结果:
jdk-1.7.0_04-fcs.x86_64
java-1.6.0-openjdk-1.6.0.0-1.49.1.11.4.el6_3.x86_64
终端输入,卸载:yum-yremovejavajava-1.6.0-openjdk-1.6.0.0-1.49.1.11.4.el6_3.x86_64
等待系统手动卸载,最终终端显示Complete,卸载完成
首先,在/usr下新建java文件夹,将安装包置于/usr/java目录下
之后步入此目录(按照安装包的不同选择①或②两种安装方法之一)
①jdk-1_6_0_14-linux-i586-rpm.bin文件安装
#chmod777jdk-1_6_0_14-linux-i586-rpm.bin←修改为可执行
#./jdk-1_6_0_14-linux-i586-rpm.bin←选择yes同意前面的合同
#rpm-ivhjdk-1_6_0_14-linux-i586.rpm←选择yes直至安装完毕
②jdk-1_6_0_14-linux-i586.bin文件安装
#chmoda+xjdk-1_6_0_14-linux-i586.bin←使当前用户拥有执行权限
#./jdk-1_6_0_14-linux-i586.bin←这时会显示出JDK的安装许可合同,按空格翻页,最后程序会问你是不是同意前面的合同,其实同意啦,输入“yes”之后开始解压JDK到当前目录。此时屏幕上会显示解压的进度,直至安装完毕。
最后为jdk配置环境变量
#vi/etc/profile
在最后加入以下几行:注意,在linux系统中,环境变量配置的分隔符不能用;(分号),要用:(逗号)
#setjavaenvironment
exportJAVA_HOME=/usr/program/jdk1.6.0_13
exportJRE_HOME=/usr/program/jdk1.6.0_13/jre
exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
在vi编辑器降低以上内容后保存退出,并执行以下命令使配置生效!
#chmod+x/etc/profile;降低执行权限
#source/etc/profile;使配置生效
配置完毕后,在命令行中输入:java-version,如出现下述信息说明java环境安装成功。
javaversion"1.6.0_13"
Java(TM)SERuntimeEnvironment(build1.6.0_13-b03)
JavaHotSpot(TM)ServerVM(build16.3-b01,mixedmode)
完成以上,我们就在CentOS系统中完成了JDK的安装以及配置。
卸载自己安装的jdk的方式:把安装时中选择的安装目录删掉就OK命令:#rm–rfjdk-1.6.0_13命令即可删掉JDK,别忘了把配置文件/etc/profile的相关配置也删掉!!!
四、无需安装的软件:
有些软件,例如lumaqq,是无需安装的,自带jre解压缩后可直接运行。假定下载的是lumaqq.tar.gz,使用方式如下:
1、打开一个终端,su-成root用户;
2、tar-xzvflumaqq.tar.gz//这一步会生成一个叫LumaQQ的目录
3、cdLumaQQ
4、chmodxluma//配置lumaqq这个程式文档为可运行
5、此时就才能运行lumaqq了,用命令./lumaqq即可,但每次运行要输入全路径或转换到刚刚生成的LumaQQ目录里
6、为了确保不配置路径就才能用,您就能在/bin目录下构建一个lumaqq的链接,用命令ln-sluma/bin/即可,之后任何时侯打开一个终端输入lumaqq就才能启动QQ聊天软件了
7、假如您要想lumaqq有个菜单项,使用菜单编辑工具,例如AlacarteMenuEditor,找到里面生成的LumaQQ目录里的lumaqq配置一个菜单项就才能了,其实您也就能直接到/usr/share/applications目录,根据上面其他*.desktop文档的格式生成一个自己的desktop文档即可。
五、使用yum和apt-get.软件管理方式的升级。
看过里面的介绍。你们一定会觉得,太麻烦了,下边这个是先进的linux才有的功能,这个实在太便捷了,比windows还要便捷,要是你用过Ubuntu的apt-get你会觉得爽极了的。那种便捷。
1.我们来先讲Redhat的yum这些中级的包管理。
1).用YUM安装删掉软件
注:Yum(YellowdogUpdater,Modified)是一个在Fedora和RedHat以及SUSE中的Shell后端软件包管理器。基于RPM包管理,才能从指定的服务器手动下载RPM包而且安装,可以手动处理依赖性关系,而且一次安装所有依赖的软体包,无须冗长地一次次下载、安装。
在系统中添加删掉软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。安装的命令是,yuminstallxxx,yum会查询数据库,有无这一软件包,假如有,则检测其依赖冲突关系,假如没有依赖冲突,这么最好,下载安装;假如有,则会给出提示,寻问是否要同时安装依赖,或删掉冲突的包,你可以自己做出判定。删掉的命令是,yumremovexxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
用YUM安装软件包
命令:yuminstallxxx
用YUM删掉软件包
命令:yumremovexxx
2).用YUM查询软件信息
我们常会遇到这样的情况,想要安装一个软件,只晓得它和某方面有关,但又不能准确晓得它的名子。这时yum的查询功能就起作用了。你可以用yumsearchkeyword这样的命令来进行搜索,例如我们要则安装一个InstantMessenger,但又不知究竟有什么,这时不妨用yumsearchmessenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列举所有描述中和messeger有关的rpm包,于是我们可能得到gaim,kopete等等,并从中选择。有时我们都会遇到安装了一个包,但又不晓得其用途,我们可以用yuminfopackagename这个指令来获取信息。
使用YUM查找软件包
命令:yumsearch
列举所有可安装的软件包
命令:yumlist
列举所有可更新的软件包
命令:yumlistupdates
列举所有已安装的软件包
命令:yumlistinstalled
列举所有已安装但不在YumRepository内的软件包
命令:yumlistextras
列举所指定的软件包
命令:yumlist
2.讲讲Ubuntu中的中级包管理方式apt-get
不仅apt的方便以外,apt-get的一大用处是极大地降低了所谓依赖关系噩梦的发生机率(dependencyhell),虽然是深陷了dependencyhell,apt-get也提供了挺好的援助手段,帮你逃离魔窟。一般apt-get都和网上的压缩包一起出没,从互联网上下载或是安装。全世界有超过200个debian官方镜像,还有繁杂的非官方软件包提供网站。你所使用的基于Debian的发布版不同,你所使用的软件库房可能须要手工选择或是可以手动设置。你能从Debian官方网站得到完整的镜像列表。而好多非官方网站提供各类特殊用途的非官方软件包,其实,使用非官方软件包会有更多风险了。软件包都是为某一个基本的Debian发布版所打算的(从unstable到stable),但是界定到不同类别中(如maincontribnonfree),这个是根据debian自由软件纲领而界定的(也就是常说的dfsg),由于日本限制加密软件出口linux软件安装方法,还有一个non-us类别。
apt形式安装:
1、打开一个终端,su-成root用户;
2、apt-cachesearchsoft注:soft是您要找的软件的名称或相关信息
3、假如2中找到了软件soft.version,则用apt-getinstallsoft.version命令安
装软件注:只要您能否上网,只须要用apt-cachesearch查找软件,用apt-get
install软件
常用的APT命令参数
apt-cachesearchpackage搜索包
apt-cacheshowpackage获取包的相关信息,如说明、大小、版本等
sudoapt-getinstallpackage安装包
sudoapt-getinstallpackage--reinstall重新安装包
sudoapt-get-finstall修补安装"-f=--fix-missing"
sudoapt-getremovepackage删掉包
sudoapt-getremovepackage--purge删掉包,包括删掉配置文件等
sudoapt-getupdate更新源sudoapt-getupgrade更新已安装的包
sudoapt-getdist-upgrade升级系统
sudoapt-getdselect-upgrade使用dselect升级
apt-cachedependspackage了解使用依赖
apt-cacherdependspackage是查看该包被什么包依赖
sudoapt-getbuild-deppackage安装相关的编译环境
apt-getsourcepackage下载该包的源代码
sudoapt-getclean&&sudoapt-getautoclean清除无用的包
sudoapt-getcheck检测是否有破损的依赖
参考链接:
六、安装完软件后怎样执行。安装完软件后可以有很多种方式执行软件:
A、有些软件安装后会手动在应用程序列表里加上快捷键,和windows一样,到哪里找就行了。
B、如果在应用程序列表里找不到的话,可以直接在/开始/运行命令里输入命令:启动命令通常就是软件名,如firefox,realplay,xmms等
C、可以打开一个shell终端,输入软件名,和在“运行命令”里一样。假如不晓得命令全程的话puppy linux,可以输入开头的字母,之后按tab键查找,系统会手动显示以输入字母开头的所有命令/
D、你也可以直接到安装目录下运行启动文件,Linux下的可执行图标和shell终端图标很像
E、到/usr/bin目录里找安装的软件启动文件执行命令。Linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动联接,你可以去哪个目录找寻你安装的文件的启动命令,双击启动。