Linux下软件安装卸载

来源:互联网 发布:德国舒尔茨金钻js防水 编辑:程序博客网 时间:2024/04/28 09:37

 

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

 

一 软件安装包的类型

通常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类系统) 安装所需要的大部分软件!

 

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目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动.

 

 

完!