pointfish 2015-08-10
linux系统下软件安装包类型及安装介绍
一、解析Linux应用软件安装包,通常Linux应用软件的安装包有四种:
1)tar包,如software-1.2.3-1.tar.gz。他是使用UNIX系统的打包工具tar打包的。
2)rpm包,如software-1.2.3-1.i386.rpm。他是RedhatLinux提供的一种包封装格式。包的管理工具YUM
3)dpkg包,如software-1.2.3-1.deb。他是DebainLinux提供的一种包封装格式。包的管理工具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,适用于Intel80x86平台。
类型: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)执行“makeinstall”完成安装;
7)执行“makeclean”删除安装时产生的临时文件。
好了,到此大功告成。我们就能运行应用程式了。但这时,有的读者就会问,我怎么执行呢?这也是个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放
在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。
2.卸载:
1)、打开一个SHELL,即终端
2)、用CD命令进入配置后的软件目录,即安装时的目录
3)、执行反安装命令:makeuninstall
安装目录:留意makeinstall命令过程中的安装目录,或者阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,即在./configure命令后面加参数--prefix=/**,
如:
./configure--prefix=/usr/local/aaaa
即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找
注:通常软件的研发者非常少考虑到怎么卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是Kinstall和Kife,他们是tar包安装、卸载的黄金搭档。
四、搞定使用rpm打包的应用软件
rpm可谓是Redhat公司的一大贡献,他使Linux的软件安装工作变得更加简单容易。
1.安装:
我只需简单的一句话,就能说完。执行:
rpm-ivhrpm软件包名
更高级的,请见下表:
rpm参数参数说明
-i安装软件
-t测试安装,不是真的安装
-p显示安装进度
-f忽略所有错误
-U升级安装
-v检测套件是否正确安装
这些参数能同时采用。更多的内容能参考RPM的命令帮助。
2.卸载:
我同样只需简单的一句话,就能说完。执行:
rpm-e软件名
不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:
rpm-ivhsoftware-1.2.3-1.i386.rpm
而当卸载时,则应执行:
rpm-esoftware。查询也是rpmlist
另外,在Linux中还提供了象GnoRPM、kpackage等图像化的RPM工具,使得整个过程会更加简单。这些软件的具体应用,笔者会另行文介绍。
五、搞定使用deb打包的应用程式
这是DebianLinux提供的一个包管理器,他和RPM十分类似。但由于RPM出现得更早,所以在各种版本的Linux都常见到。而debian的包管理器dpkg则只出目前DebinaLinux中,其他Linux版
本一般都没有。我们在此就简单地说明一下:
1.安装
dpkg-ideb软件包名
如:dpkg?isoftware-1.2.3-1.deb
2.卸载
dpkg-e软件名
如:dpkg?esoftware
六、bin文件
1.安装
1)、打开一个SHELL,即终端
2)、用CD命令进入源代码压缩包所在的目录
3)、给文件加上可执行属性:chmod+x******.bin(中间是字母x,小写)
4)、执行命令:./******.bin(realplayerforlinux就是这样的安装包),执行安装过程中可以指定安装目录,类似于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的平台,执行以下命令:
$wgethttp://www.rarlab.com/rar/rarlinux-3.8.0.tar.gz
rar软件不需要安装,直接解压到/usr/local下,以下操作需要有root权限。
#tarzxvfrarlinux-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,可以使用如下命令进行自动安装。
$sudoapt-getinstallrar
$sudoapt-getinstallunrar
使用:
可以使用帮助命令或者查看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设置高级压缩参数
mdDictionarysizeinKB(64,128,256,512,1024,2048,4096orA-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命令只针对文件进行操作)
$raraabc.rarfile1
说明:如果此时abc.rar档案不存在,会自行创建abc.rar文档案,如果abc.rar档案已经存在,则将file1文件压缩进abc.rar档案中,若abc.rar档案中已存在一个file1文件,则会更新file1文件。并且原有的file1文件依然存在于当前目录下,若要将file1文件移动到file1.rar中请使用m命令,对于目录同样可以进行此操作。
注意:如果只输入"rarafile1.rar"命令,而没有接文件名或目录名的话,会将当前目录下所有的文件和文件夹压缩进file1.rar文档中。这点要注意一下。
例2:解压缩abc.rar档案中的内容,可以使用e或x命令,假设abc.rar目录中有一个名为file1的文件和一个名为test的目录,test目录中有一个名为file2的文件,
$rareabc.rar
说明:使用e命令,会将abc.rar中的file1文件连同test目录下的file2文件解压到当前目录。如果想保持abc.rar目录中的目录结构请使用x命令。
$rarxabc.rar
说明:此时会将file1文件和test目录解压到当前文件夹。
例3:为整个压缩文件添加注释
$rarcabc.rar
说明:输入该命令后,屏幕最下方会显示
Processingarchivetest.
rarReadingcommentfromstdin
并有一个光标在闪烁,从光标闪烁的位置输入注释信息,输入完了按下Ctrl+D结束输入
例4:为压缩文件中的单个文件添加注释,使用cf命令。假如现在要为abc.rar档案中的file1文件添加注释
$rarchabc.rarfile1
此时屏幕最下方会显示
Readingcommentforabc.rar:file1fromstdin
从光标闪烁出输入想要为file1添加的注释,Ctrl+D结束输入
例4:把整个档案的注释写入到一个文件中,使用cw命令。加入要将abc.rar的注释写入到test.txt文件中
$rarcwabc.rartest.txt
说明:如果当前目录下不存在名为test.txt的文件,则会自行创建一个名为test.txt的文件,并将abc.rar的注释写入到text.txt文件中,如果当前目录中已经存在一个名为text.txt的文件,则会提示你是否覆盖已经存在的文件,如果选择Yes或者All,则会清空test.txt中原有的内容,然后将abc.rar的注释内容写入到text.txt文件中。
例4:删除压缩档案中的文件或目录,使用d命令。例如要删除abc.rar档案中的file1文件。
$rardabc.rarfile1
说明:该命令删除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就可以完成所有操作。