linux系统下软件安装包类型及安装介绍

时间:2024-03-09 18:37:09

linux系统下软件安装包类型及安装介绍

 
一、解析Linux应用软件安装包,通常Linux应用软件的安装包有四种:

  
   1)tar包,如software-1.2.3-1.tar.gz。他是使用UNIX系统的打包工具tar打包的。

   2)rpm包,如software-1.2.3-1.i386.rpm。他是Redhat Linux提供的一种包封装格式。包的管理工具YUM

   3)dpkg包,如software-1.2.3-1.deb。他是Debain Linux提供的一种包封装格式。包的管理工具apt-get

   4)bin包,如jdk-1_5_0_05-linux-i586.bin,有些Linux软件不公开源代码,只发布二进制可执行程序,这类程序一般会以bin来标记。

   而且,大多数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包。

   注:由于rpm格式的通常是已编译的程式,所以需指明平台。在后面会周详说明。而software-1.2.3-1.deb就不用再说了吧!大家自己练习一下。


二、了解包里的内容

   一个Linux应用程式的软件包中能包含两种不同的内容:

   1)一种就是可执行文件,也就是解开包后就能直接运行的。在视窗系统中所 有的软件包都是这种类型。安装完这个程式后,你就能使用,但你看不到源程式。而且下载时要注意这个软件

是否是你所使用的平台,否则将无法正常安装。

   2)另一种则是源程式,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在视窗系统系统中是几乎没有的,因为视窗系统的思想是不开放源程式的。

   通常,用tar打包的,都是源程式;而用rpm、bin、dpkg打包的则常是可执行程式。一般来说,自己动手编译源程式能够更具灵活性,但也容易 遇见各种问题和困难。而相对来说,下载那些可执行程式包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的 安装程式的。你能根据自己的情况来选择。


三、搞定使用tar.gz(bz或bz2等)打包的应用软件,这种软件包里面都是源程序,没有编译过,需要编译后才能安装。

   1. 安装:

   整个安装过程能分为以下几步:

   1)取得应用软件:通过下载、购买光盘的方法获得;

   2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则能执行:“tar -xvzf 软件包名”,就能一步完成解压和解包工作。如

果不是,则先用解压软件,再执行“tar -xvf 解压后的tar包”进行解包;

   3)阅读附带的INSTALL文件、README文件;

   4)执行“./configure”命令为编译做好准备;

   5)执行“make”命令进行软件编译;

   6)执行“make install”完成安装;

   7)执行“make clean”删除安装时产生的临时文件。


   好了,到此大功告成。我们就能运行应用程式了。但这时,有的读者就会问,我怎么执行呢?这也是个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放

在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。

   2. 卸载:

   1)、打开一个SHELL,即终端
   2)、用CD 命令进入配置后的软件目录,即安装时的目录
   3)、执行反安装命令:make uninstall

   安装目录:留意make install命令过程中的安装目录,或者阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,即在./configure命令后面加参数--prefix=/**,
如:

      ./configure --prefix=/usr/local/aaaa

   即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找

   注:通常软件的研发者非常少考虑到怎么卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是Kinstall和Kife,他们是tar包安装、卸载的黄金搭档。

四、搞定使用rpm打包的应用软件

   rpm可谓是Redhat公司的一大贡献,他使Linux的软件安装工作变得更加简单容易。

   1. 安装:

   我只需简单的一句话,就能说完。执行:

   rpm -ivh rpm软件包名

   更高级的,请见下表:

   rpm参数      参 数 说 明

    -i         安装软件

    -t         测试安装,不是真的安装

    -p         显示安装进度

    -f         忽略所有错误

    -U         升级安装

    -v         检测套件是否正确安装

   这些参数能同时采用。更多的内容能参考RPM的命令帮助。

   2. 卸载:

   我同样只需简单的一句话,就能说完。执行:

   rpm -e 软件名

   不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:

   rpm -ivh software-1.2.3-1.i386.rpm

   而当卸载时,则应执行:

   rpm -e software。
查询也是 rpm list

   另外,在Linux中还提供了象GnoRPM、kpackage等图像化的RPM工具,使得整个过程会更加简单。这些软件的具体应用,笔者会另行文介绍。

五、搞定使用deb打包的应用程式

   这是Debian Linux提供的一个包管理器,他和RPM十分类似。但由于RPM出现得更早,所以在各种版本的Linux都常见到。而debian的包管理器dpkg则只出目前Debina Linux中,其他Linux版

本一般都没有。我们在此就简单地说明一下:

   1. 安装

   dpkg -i deb软件包名

   如:dpkg ?i software-1.2.3-1.deb

   2. 卸载

   dpkg -e 软件名

   如:dpkg ?e software


六、bin 文件
   1.安装
      1)、打开一个SHELL,即终端
      2)、用CD 命令进入源代码压缩包所在的目录
      3)、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写)
      4)、执行命令:./******.bin(realplayer for linux就是这样的安装包),执行安装过程中可以指定安装目录,类似于Windows下安装。

   2.卸载
  
   1)、把安装时选择的安装目录删除就OK

七、安装完软件后如何执行。安装完软件后可以有好多种方法执行软件:

   1、有些软件安装后会自动在应用程序列表里加上快捷链接,和Windows一样,到那里找就行了。

   2、如果在应用程序列表里找不到的话,可以直接在 开始/运行命令 里输入命令。启动命令一般就是软件名,如firefox,realplay,xmms等。
  
   3、也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全称的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令



   4、你也可以直接到安装目录下运行启动文件,Linux下的可执行图标和shell终端图标很像。

   5、到/usr/bin目录里寻找。Linux系统在/usr/bin目录里为所有可执行文件都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动。

八、rpm.bin 与bin 文件的区别

   1.用bin文件和用windows的exe一样

   2.rpm就像rar不管愿意与否,都解在同一个地方,好的是只用点确定。

   3.有些Linux软件不公开源代码,只发布二进制可执行程序,这类程序一般会以bin来标记;
   4.另一类软件是二进制安装程序和源代码一起发布,二进制程序文件以bin.rpm标记(以RedHat包为例),源代码以source.rpm标记。

   5.bin是可以直接运行的二进制文件,rpm是红帽公司用的软件包管理器,一般来说,双击也可以直接安装,不过只限于支持RPM的发行版,如红帽等.
ubuntu就不可以,他支持deb包

   6.jdk-1_5_0_16-linux-i586-rpm.bin 运行后会解压出来一个rpm包,可用rpm -iUh命令安装。


   7.jdk-1_5_0_16-linux-i586.bin 运行后会直接把所有文件解压到当前目录的jdk子目录下。

 

补充:rar包

Linux系统中rar、unrar命令安装和使用详解(转)  

 

Linux系统中rar、unrar命令安装和使用详解

作者:Van
说明:由于本人水平有限,难免有错误之处。欢迎转载,但请注明作者信息。

安装:
如果是以tarball形式安装安装,去rar网站下载相应版本的tarball。地址为http://www.rarlab.com/
以3.8版本为例,如果是i386的平台,执行以下命令:
$wget http://www.rarlab.com/rar/rarlinux-3.8.0.tar.gz

rar软件不需要安装,直接解压到/usr/local下,以下操作需要有root权限。

#tar zxvf rarlinux-3.8.0.tar.gz -C /usr/local

此时,/usr/local/rar下就会有rar命令和unrar命令。可以在/usr/local/bin下创建连接

#ln -s /usr/local/rar/rar /usr/local/bin/rar
#ln -s /usr/local/rar/unrar /usr/local/bin/unrar


如果是debian或者unbuntu,可以使用如下命令进行自动安装。

$sudo apt-get install rar
$sudo apt-get install unrar


使用:
可以使用帮助命令或者查看man文档了解一下rar命令的用法。以下为本人翻译的帮助文档,由于本人英语水平有限,错误之处敬请指出。
$ rar --help

用法:     rar <命令> -<选项 1> -<选项 N> <压缩档案> <文件...>
               <@文件列表...> <解压缩路径\>

<命令>
  a             添加文件到压缩档案
  c             添加压缩档案注释(注释的大小最大不能超过62000字节)
  cf            添加文件备注( 当使用\'v\'参数时显示文件备注,最大不能超过32767字节)
  ch            改变压缩档案参数
  cw            向指定文件写入档案备注
  d             从档案中删除文件
  e             解压缩文件到当前目录(不创建任何子目录)
  f             刷新档案中的文件(更新这些文件自它们被打包之后产生的变化,不在压缩档案中增加新的)
  i[par]=  在档案中查找特定字符
  k             锁定档案(任何试图改变压缩档案中内容的命令都会被忽略)
  l[t,b]        列出档案[technical, bare]
  m[f]          移动到压缩档案中[只针对文件]
  p             打印文件到标准输出
  r             修补压缩档案
  rc            重建丢失的分卷
  rn            重命名压缩档案中的文件
  rr[N]         添加数据恢复记录
  rv[N]         创建恢复卷
  s[name|-]     压缩档案与SFX(自解压文档)之间的转换
  t             测试压缩档案文件
  u             更新压缩档案中的文件
  v[t,b]        列出压缩档案的详细信息[technical,bare]
  x             解压缩到完整路径

<选项>
  -             停止对选项的扫描
  ad            追加档案名称到目标路径
  ag[format]    使用当前数据生成压缩档案名
  ap      在档案内部设置路径
  as            同步档案内目录
  av            设置认证检测(只有注册版提供此功能)
  av-           关闭认证检测
  c-            关闭备注显示
  cfg-          关闭读取设置
  cl            转换名称为小写字母
  cu            转换名称为大写字母
  df            压缩后删除原文件
  dh            打开共享文件
  ds            关闭针对于稳固档案的名称排序
  dw            压缩后擦除文件
  e[+]    设置文件排除与包含属性
  ed            不添加空目录
  en            不设置档案结束块
  ep            名称中不包含路径
  ep1           名称中不包含基本文件目录
  ep3           展开路径到完整包含的驱动器名
  f             刷新文件
  hp[password]  加密文件数据和文件头部
  id[c,d,p,q]   关闭消息
  ierr          发送所有消息到标准错误输出
  ilog[name]    记录错误日志到文件中(只有注册版提供此功能)
  inul          关闭所有消息
  isnd          打开声音
  k             锁定压缩档案
  kb            保持被解压过的已损坏的文件
  m<0..5>       设置压缩等级(0-存储...3-默认...5-最大)
  mc       设置高级压缩参数
  md      Dictionary size in KB (64,128,256,512,1024,2048,4096 or A-G)
  ms[ext;ext]   存储指定的文件类型
  n       仅包含指定的文件
  n@            从标准输入读取文件名到包含内容中
  n@      在指定列表文件中包含文件
  o[+|-]        设置重写模式
  ol            替文件保存符号连接作为连接
  or            自动重命名文件
  ow            保存活存储文件的拥有者与群组
  p[password]   设置密码
  p-            不询问密码
  r             对子目录进行递归操作
  r0            仅用通配符名称对子目录进行递归操作
  rr[N]         添加数据恢复记录
  rv[N]         创建恢复
  s[,v[-],e] 创建稳固档案压缩
  s-            关闭稳固档案压缩
  sc[obj]  设置指定的字符串
  sfx[name]     创建SFX档案
  si[name]      从标准输入读取数据
  sl      处理文件的大小小于指定的值
  sm      处理文件的大小大于指定的值
  t             压缩后测试文件
  ta      处理修改日期为指定日期之后的文件,格式: YYYYMMDDHHMMSS 
  tb      处理修改日期为指定日期之前的文件,格式: YYYYMMDDHHMMSS
  tk            保持档案最初的时间
  tl            设置档案时间为据现在最近的文件时间
  tn      处理比指定时间新的文件
  to      处理比指定时间旧的文件
  ts[N]  保存或存储文件时间(修改,创建,访问)
  u             更新文件
  v             创建自动大小的卷或列出所有卷
  v[k,b]  创建指定大小的卷size=*1000 [*1024, *1]
  ver[n]        文件版本控制
  vn            使用旧的卷命名体系
  vp            在每个卷之前暂停
  w       指定工作目录
  x       排除指定文件
  x@            排除从标准输入中读取的文件名称
  x@      从指定列表文件中指定要排除的文件
  y             设定所有回答为yes
  z[file]       从文件中读取压缩档案的备注


注意:rar的<命令>部分不带"-"号,只有<选项>部分带"-"号,这一点注意一下。

例 1:添加文件或目录到压缩档案中,使用a命令。例如把文件files1添加到abc.rar中,使用a或m命令,a命令把file1文件添加到 abc.rar档案中保持原有的file1文件不变,m命令移动file1文件到file1.rar档案中(压缩完成后会删除原有的file1文件,注 意:m命令只针对文件进行操作)
$rar a abc.rar file1

说 明:如果此时abc.rar档案不存在,会自行创建abc.rar文档案,如果abc.rar档案已经存在,则将file1文件压缩进abc.rar档案 中,若abc.rar档案中已存在一个file1文件,则会更新file1文件。并且原有的file1文件依然存在于当前目录下,若要将file1文件移 动到file1.rar中请使用m命令,对于目录同样可以进行此操作。
注意:如果只输入"rar a file1.rar"命令,而没有接文件名或目录名的话,会将当前目录下所有的文件和文件夹压缩进file1.rar文档中。这点要注意一下。

例2:解压缩abc.rar档案中的内容,可以使用e或x命令,假设abc.rar目录中有一个名为file1的文件和一个名为test的目录,test目录中有一个名为file2的文件,
$rar e abc.rar

说明:使用e命令,会将abc.rar中的file1文件连同test目录下的file2文件解压到当前目录。如果想保持abc.rar目录中的目录结构请使用x命令。
$rar x abc.rar

说明:此时会将file1文件和test目录解压到当前文件夹。

例3:为整个压缩文件添加注释
$rar c abc.rar

说明:输入该命令后,屏幕最下方会显示
Processing archive test.
rarReading comment from stdin

并有一个光标在闪烁,从光标闪烁的位置输入注释信息,输入完了按下Ctrl+D结束输入

例4:为压缩文件中的单个文件添加注释,使用cf命令。假如现在要为abc.rar档案中的file1文件添加注释
$rar ch abc.rar file1

此时屏幕最下方会显示
Reading comment for abc.rar : file1 from stdin

从光标闪烁出输入想要为file1添加的注释,Ctrl+D结束输入

例4:把整个档案的注释写入到一个文件中,使用cw命令。加入要将abc.rar的注释写入到test.txt文件中
$rar cw abc.rar test.txt

说 明:如果当前目录下不存在名为test.txt的文件,则会自行创建一个名为test.txt的文件,并将abc.rar的注释写入到text.txt文 件中,如果当前目录中已经存在一个名为text.txt的文件,则会提示你是否覆盖已经存在的文件,如果选择Yes或者All,则会清空test.txt 中原有的内容,然后将abc.rar的注释内容写入到text.txt文件中。

例4:删除压缩档案中的文件或目录,使用d命令。例如要删除abc.rar档案中的file1文件。
$rar d abc.rar file1

说明:该命令删除abc.rar档案中的file1文件,对于目录同样有效。

以上为常用的压缩与解压缩命令,<选项>部分的使用不再进行介绍了,请大家自己尝试一下吧。

解压缩命令unrar的使用:

$unrar --help

用法:     unrar - -
               <@listfiles...>

<命令>
  e             解压文件到当前目录
  l[t,b]        列出压缩文档信息[technical, bare]
  p             打印文件到标准输出
  t             测试压缩我俄当
  v[t,b]        列出压缩文档的详细信息[technical,bare]
  x             解压文件到完整路径


以下为<选项>部分,略去。

unrar的命令和rar具有同样的效果,可以看出unrar只包含了rar的一部分命令而已,因此使用rar就可以完成所有操作。