linux下软件的安装与卸载

一 软件安装包的类型

通常Linux应用软件的安装有五种: 
   1) tar+ gz包,如software-1.2.3-1.tar.gz。他是使用UNIX系统的打包工具tar打包的。 
   2) rpm包,如software-1.2.3-1.i386.rpm。他是Redhat Linux提供的一种包封装格式(www.rpmfind.net)。 
   3) dpkg(deb)包,如software-1.2.3-1.deb。他是Debain(ubuntu) Linux提供的一种包封装格式。
   4) bin包,如RealPlayer11GOLD.bin,它是realplayer的linux文件下的二进制安装格式,它是源程序经过编译后的一种机器语言。
   5) 脚本安装文件,这一类格式比较多,例如后缀为sh、pl、run的文件都是脚本文件。不过对于普通用户不太常见。安装这类文件要注意的问题是,多数要给文件先增加可执行权限,否则有可能会提示找不到文件。具体方法:终端或控制台下执行 chmod +x ***.*,然后再安装。

二 软件包的命名规则

大多数Linux应用软件包的命名也有一定的规律,他遵循: 名称-版本-修正版-类型 。
例如: 
   1)software-1.2.3-1.tar.gz 意味着:软件名称:software |版本号:1.2.3 |修正版本:1 | 类型:tar.gz,说明是个tar包。 
   2)sfotware-1.2.3-1.i386.rpm 意味着:软件名称:software | 版本号:1.2.3 |修正版本:1 |可用平台:i386,适用于Intel 80x86平台 | 类型:rpm,说明是个rpm包。

三 软件的安装

新手:系统装好后直接可以使用apt-get update (debian类系统)或 yum update (redhat类系统) 安装所需要的大部分软件!

下载的 deb文件点击无法安装, 命令行下输入sudo dpkg -i **.deb

1.*.tar.gz/*.tgz/*.bz2形式的源代码软件包
以tar.gz或tgz或tar.bz2等格式结尾的软件包一般都是以源代码方式发布的软件,安装这类软件首先需要对软件进行解压:
# tar zxvf filename.tar.gz
# tar xvfz filename.tgz
# tar xvf j filename.tar.bz2
解压以后,就可以进入解压后的目录:
# cd filename/
对于这类文档,常见的安装步骤是:配置、编译和安装3步,其中最麻烦的就是配置,因为所有和软件安装相关的配置都是在这一步指定的:比如软件安装位置等。
配置:./configure
编译:make
安装:make install
卸载:make uninstall 或手动删除
说明:建议解压后先阅读说明文件(ReadMe和Install),了解安装的需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用 make uninstall命令来进行卸载,如果不提供此功能,则软件的卸载必须手动进行。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其他安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

2.*.src.rpm形式的源代码软件包
安装:
rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸载:
rpm -e packgename
说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的RPM软件包,然后再安装该二进制包即可。

3 . RPM格式软件包的安装
1).安装
命令格式:rpm-i(or--install) options file1.rpm ... fileN.rpm
参数:file1.rpm...fileN.rpm指将要安装的RPM包的文件名。
详细选项:
-h(or—hash)安装时输出hash记号;test只对安装进行测试,并不实际安装;--percent以百分比的形式输出安装的进度;-- excludedocs不安装软件包中的文档;--includedocs安装文档;--replacepkgs强制重新安装已经安装的软件包;-- replacefiles替换属于其他软件包的文件;--force忽略软件包及文档的冲突;--noscripts不运行预安装和后安装脚本;-- prefix NEWPATH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxy HOST用HOST作为FTP代理;--ftpport PORT指定FTP的端口号为PORT。
通用选项:
-v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文档为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。
2).删除
命令格式:rpm -e(or--erase) options pkg1 ... pkgN
参数:pkg1...pkgN:要删除的软件包。
详细选项:--test只执行删除的测试;--noscripts不运行预安装和后安装脚本程序;--nodeps不检查依赖性。
通用选项:
-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文档为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。
3).升级
命令格式:rpm -U(or--upgrade) options file1.rpm ... fileN.rpm
参数:file1.rpm...fileN.rpm指软件包的名字。
详细选项:
-h(or—hash)安装时输出hash记号;—oldpackage允许一个旧版本;--test只进行升级测试;--excludedocs不安装软件包中的文件;--includedocs安装文件;--replacepkgs强制重新安装已经安装的软件包;--replacefiles替换属于其他软件包的文件;--force忽略软件包及文件的冲突;--percent以百分比的形式输出安装的进度;--noscripts不运行预安装和后安装脚本;--prefix NEWPATH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxy HOST用HOST作为FTP代理;--ftpport HOST指定FTP的埠号为HOST。
通用选项:
-v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文件为FILELIST ;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。
4).查询
命令格式:rpm -q(or--query) options
参数:pkg1...pkgN:查询已安装的软件包。
详细选项:
-p PACKAGE_FILE查询软件包的文件;-f FILE查询FILE属于哪个软件包;-a查询所有安装的软件包;--whatproVides CAPABILITY查询提供了CAPABILITY功能的软件包;-g group查询属于group组的软件包;--whatrequires CAPABILITY查询所有需要CAPABILITY功能的软件包。
选项:
-i显示软件包的概要信息;-l显示软件包中的文件列表;-c显示配置文件列表;-d显示文件列表;-s显示软件包中文档列表并显示每个文件的状态 -;-scripts显示安装、卸载、校验脚本;--queryformat(or--qf)以用户指定的方式显示查询信息;--dump显示每个文件的所有已校验信息;--proVides显示软件包提供的功能;--requires(or-R)显示软件包所需的功能。
通用选项:
-v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;-rcfile FILELIST设置rpmrc文件为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。
5).校验已安装的软件包
命令格式:rpm -V(or--verify,or-y) options
参数:pkg1...pkgN将要校验的软件包名
软件包选项:-p PACKAGE_FILE校验PACKAGE_FILE所属的软件包;-a校验所有的软件包;-g group校验所有属于组group的软件包。
详细选项:--noscripts不运行校验脚本;--nodeps不校验依赖性;--nofiles不校验文档属性。
通用选项:
-v显示附加信息;-vv显示调试信息;--root PATH让RPM将PATH指定的路径做为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文件为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。
6).校验软件包中的文件
语法:rpm -K(or--checksig) options file1.rpm...fileN.rpm
参数:file1.rpm...fileN.rpm软件包的文件名;Checksig--详细选项;--nopgp不校验PGP签名。
通用选项:-v显示附加信息;-vv显示调试信息;--rcfile FILELIST设置rpmrc文件为FILELIST。
7).其他RPM选项
--rebuilddb重建RPM资料库;--initdb创建一个新的RPM资料库;--quiet尽可能地减少输出;--help显示帮助文件;--version显示RPM的当前版本。
如果你不喜欢在字符接口下安装或卸载这些软件包,完全可以安装基于X-Window的图形接口软件包管理程序,如glint, xrpm这样的图形接口。或使用KDE的KPackage(单击【开始】→【运行命令】,在其中输入KPackage即可启动KPackage)等,这样对软件包的安装、升级、卸载、验证和查询就可以通过单击鼠标来轻松完成,如图所示。

4. deb格式的安装,一般双击就可以了!

5 . yum主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题.

*rpm包的检查更新
//检查可更新的rpm包#yum check-update
//更新所有的rpm包#yum update
//更新指定的rpm包,如更新kernel和kernel source#yum update kernel kernel-source
//大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级#yum upgrade
*rpm包的安装和删除
//例如安装rpm包,如xmms-mp3#yum install xmms-mp3
//删除rpm包,包括与该包有倚赖性的包#yum remove licq注:同时会提示删除licq-gnome,licq-qt,licq-text*yum暂存(/var/cache/yum/)的相关参数
//清除暂存中rpm包文件#yum clean packages
//清除暂存中rpm头文件#yum clearn headers
//清除暂存中旧的rpm头文件#yum clean oldheaders
//清除暂存中旧的rpm头文件和包文件#yum clearn 或#yum clearn all注:相当于yum clean packages + yum clean oldheaders
*rpm包列表
//列出资源库中所有可以安装或更新的rpm包#yum list
//列出资源库中特定的可以安装或更新以及已经安装的rpm包#yum list mozilla#yum list mozilla*注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包
//列出资源库中所有可以更新的rpm包#yum list updates
//列出已经安装的所有的rpm包#yum list installed
//列出已经安装的但是不包含在资源库中的rpm包#yum list extras注:通过其它网站下载安装的rpm包
*rpm包信息显示(info参数同list)
//列出资源库中所有可以安装或更新的rpm包的信息#yum info
//列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息#yum info mozilla#yum info mozilla*注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息
//列出资源库中所有可以更新的rpm包的信息#yum info updates
//列出已经安装的所有的rpm包的信息#yum info installed
//列出已经安装的但是不包含在资源库中的rpm包的信息#yum info extras注:通过其它网站下载安装的rpm包的信息
*搜索rpm包
//搜索匹配特定字符的rpm包#yum search mozilla注:在rpm包名,包描述等中搜索
//搜索有包含特定文件名的rpm包#yum provides realplay

6 . apt是一个很完整和先进的软件包管理程序,用来管理deb安装文件,在debian中使用它可以让你,又简单,又准确的找到你要的的软件包, 并且安装或卸载都很简洁。 它还可以让你的所有软件都更新到最新状态,而且也可以用来对ubuntu进行升级。可以自动处理相互之间的依赖关系,并且在升级过程中 维护他们的配置文件。

  • apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。
  • apt-get install packagename——安装一个新软件包(参见下文的aptitude)
  • apt-get remove packagename——卸载一个已安装的软件包(保留配置文件)
  • apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件)
  • dpkg --force-all --purge packagename 有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。
  • apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件
  • apt-get clean 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。
  • apt-get upgrade——更新所有已安装的软件包
  • apt-get dist-upgrade——将系统升级到新版本
  • apt-cache search string——在软件包列表中搜索字符串
  • dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“*package-name-pattern*”。
  • aptitude——详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,可以说它更适合用来进行安装和卸载。
  • apt-cache showpkg pkgs——显示软件包信息。
  • apt-cache dumpavail——打印可用软件包列表。
  • apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。
  • apt-cache pkgnames——打印软件包列表中所有软件包的名称。
  • dpkg -S file——这个文件属于哪个已安装软件包。
  • dpkg -L package——列出软件包中的所有文件。
  • apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。apt-file是一个独立的软件包。您必须先使用apt-get install来安装它,然后运行apt-file update。如果apt-file search filename输出的内容太多,您可以尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)或者类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。
  • apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。如果您的需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。大多数情况下您不会再用到这些.debs文件,因此如果您为磁盘空间不足而感到焦头烂额,这个办法也许值得一试。

7.bin结尾的安装包,这种包类似于RPM包,其实就是shell+ RPM,安装也比较简单:

1、打开一个SHELL,即终端;
2、用CD命令进入源代码压缩包所在的目录;
3、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写);
3、执行命令:./******.bin(realplayer for linux就是这样的安装包);
如何卸载:把安装时中选择的安装目录删除就OK;
安装完软件后可以有好多种方法执行软件:
A、有些软件安装后会自动在应用程序列表里加上快捷键,和windows一样,到那里找就行了。
B、如果在应用程序列表里找不到的话,可以直接在/开始/运行命令里输入命令:启动命令一般就是软件名,如firefox,realplay,xmms等;
C、也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令.
D、你也可以直接到安装目录下运行启动文件,linux下的可执行图标和shell终端图标很像.
E、到/usr/bin目录里找安装的软件启动文件执行命令。linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动.

四、软件的卸载

1.卸载主要是使用rpm:

卸载软件首先要知道软件包在系统中注册的名称。键入命令:#rpm -q -a——即可查询到当前系统中安装的所有的软件包。
实际卸载该软件,键入命令:#rpm -e [package name] ——即可卸载软件,参数e的作用是使rpm进入卸载模式。  
如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。可以使用如下的命令来忽略依赖关系,直接开始卸载:#rpm -e [package name] -nodeps,但是忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用。
rpm包安装到哪里,键入命令:#rpm -ql [package name]
更多的rpm参数请自行参看手册页:man rpm。

2、卸载用源码包安装的软件:

找到软件的安装点进行删除,删除相应的软件目录,在解压目录中执行:make uninstall

3、*.tar.gz/*.tgz、*.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。

4、

apt-get remove packagename——卸载一个已安装的软件包(保留配置文件)

apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件)

 

上一篇:浅析linux下软件的安装


下一篇:学Java,是自学还是去培训班学习?