linux下软件的安装与卸载
第一章 linux下安装软件,如何知道软件安装位置
注:一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找.
指令名称:whereis
功能介绍:在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。
语法格式:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
常用参数说明:
-b 只查找二进制文件。
-B <目录> 只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M <目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S <目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件。
应用:#whereis 软件名 -->查看软件安装路径
#which 软件名 -->软件软件的运行路径
首先要确定是通过包管理器安装的还是通过源代码安装的。
一、通过rpm包管理器安装的软件:
1、rpm包
可以用命令:
#rpm –ql 包名 如 rpm -ql gcc 来查看gcc的文件都安装到哪里去了
#rpm -qa | grep 包名 来查看有没有安装这个包 ,
#rpm -qa 查看全部已经安装的包名
2、deb包
可以用命令:
#dpkg -L 包名 查看如 dpkg -L gcc 来查看gcc的文件。
#dpkg -l | grep 包名 来查看有没有安装某个包 ,
# dpkg -l 是查看全部包的
二、通过源代码安装的软件:
1、如果是通过源代码安装的话 ,在源代码的configure的时候会有参数让你指定安装目录,具体体现在Makefile文件的install目标(也可能会是*install* 目标,*代表任意字符)里。例如如下Makefile文件的install目标:
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -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 ~]$ whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz
一个whereis命令就查询到位置了。
第二章Linux系统下软件的安装与卸载管理
我分下面三个部分来讲linux中的软件管理,前二个部分是基本介绍,也是重点,让大家明白linux的不同的管理软件的方法。在实际用中,推荐大家多使用apt-get和yum.那是相当的方便。
Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、"卸载"等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击"下一步"就可以了。Linux系统好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包。
下面就来详细地讲一讲这些软件的安装与卸载:
一、二进制分发软件包的安装与卸载
Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件平台编译的,那它就不能在另外的平台或环境下正确执行。
1、*.rpm形式的二进制软件包
首先进入软件所在目录
安装:rpm -ivh *.rpm
卸载:rpm -e packgename
实例:
1、找到相应的软件包,比如soft.version.rpm,下载到本机某个目录;
2、打开一个终端,在非超级管理员终端使用命令:su – 转换成root用户;
3、cd soft.version.rpm所在的目录;
4、输入rpm -ivh soft.version.rpm
说明:RPM(RedHat PackgeManager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用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参数请自行参看手册页:man rpm.
如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序。现在这些做的非常好了。
2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包
安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2
卸载:手动删除
说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令"rm –rf软件目录名";如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令"tar ztvf *.tar.gz"/"tar ytvf *.bz2"获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:man tar.
注:如果你更喜欢图形界面的操作,可以到Ubuntu上看看他的包管理,超级方便。
3、*.tgz形式的二进制软件包
解压:tar -zxvf soft.tgz
切换到当前解压后目录:cd soft (ps: Linux的shell下按TAB键可以直接自动补全文件名)
安装:#./soft-*-*-installer
卸载:手动删除安装所在的文件夹
示例:安装myeclipse-8.0.0-linux-gtk-x86.tgz
解压:#tar -zxvf myeclipse-8.0.0-linux-gtk-x86.tgz
解压切换到当前安装目录:cd myeclipse-8.0.0-linux-gtk-x86
安装:#./myeclipse-8-stable-installer
3、提供安装程序的软件包
这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。