ubuntu常见软件包安装方法.docx
- 文档编号:13210820
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:20
- 大小:23.39KB
ubuntu常见软件包安装方法.docx
《ubuntu常见软件包安装方法.docx》由会员分享,可在线阅读,更多相关《ubuntu常见软件包安装方法.docx(20页珍藏版)》请在冰点文库上搜索。
ubuntu常见软件包安装方法
ubuntu下*.sh和*.bin软件包的安装方法
在ubuntu下经常下载到*.sh和*.bin两种软件包。
*.sh文件安装方法:
运行终端到文件目录下
1.在终端输入:
sudosh*.sh直接运行
2.在终端输入:
sudochmod+x*.sh
在输入:
sudo./*.sh可安装到任意目录,./*.sh可安装到当前用户有权限的目录
*.bin文件安装方法
运行终端到文件目录下
在终端输入:
sudochmod+x*.bin
在输入:
sudo./*.bin可安装到任意目录,./*.bin可安装到当前用户有权限的目录例如:
jdk的安装
sudochmod+x*.bin
./jdk-6u13-linux-i586.bin
然后根据安装提示即可~~
tarrpm
在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows:
-不过我们常见的软件包有两种:
1含有软件的源代码的压缩包,解压后需要手动编译。
这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz。
./configure(配置
make(编译
makeinstall(安装
makeclean(卸载
注:
典型的源代码包可以这样安装,但不都是这样,如webmin
要执行其目录下./setup.sh进入交互式配置安装
卸载用uninstall程序
具体如果不清楚看要安装的包下的README文件
2软件的可执行程序,你只要安装它就可以了(习惯windows安装的朋友的最爱!
。
这种软件安装包叫做RPM包(RedhatLinuxPacketManager,就是Redhat的包管理器,后缀是.rpm。
当然,还有有用rpm格式打包的源代码;用gzip压缩过的可执行程序包。
但是只要理解了以下的安装思路,这两种形式的安装包也不在话下了。
下面,我们进行不同软件包安装的详细介绍
第一部分:
安装.tar.gz软件包
1.首先,使用tar-xzvf来解开这个包,如:
#tar-xzvfapache_1_3_6_tar.gz
*******************************************
tar命令参数解释:
x从档案文件中释放文件。
z用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
v详细报告tar处理的文件信息。
如无此选项,tar不报告文件信息。
f使用档案文件或设备,这个选项通常是必选的。
如果需要详细了解tar的使用参见其他文档
*******************************************
这样就会在当前目录中创建了一个新目录(目录名与.tat.gz包的文件名类似,用来存放解压了的内容。
如本例中就是apache_1.3.6
2.进入这个目录,再用ls命令查看一下所包含的文件,命令如下:
#cdapache_1.3.6
#ls
你观察一下这个目录中包含了以下哪一个文件:
configure、Makefile还是Imake。
1如果是configure文件,就执行:
#./configure
#make
#makeinstall
2如果是Makefile文件,就执行:
#make
#makeinstall
3如果是Imake文件,就执行:
#xmkmf
#make
#makeinstall
4如果没有itstall(安装过程文件例如rzsz软件包,就执行
#makeposix
或
#makelinux
3.如果没有出现什么错误提示的话,tar包就安装完毕了。
软件安装到什么位置,通常会在安装时出现。
如果没有可以查阅一下README。
tar包安装过程中的常见问题:
1没有安装C或C++编译器
确诊方法:
执行命令gcc(C++则为g++,提示找不到这个命令。
解决方法:
将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
#rpm-ivhgcc*(C或C++编译器是RPM包,后续会讲到
2没有安装make工具
确诊方法:
执行命令make,提示找不到这个命令。
解决方法:
将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
#rpm-ivhmake*
3没有安装autoconf工具;
确诊方法:
执行命令make,提示找不到这个命令。
解决方法:
将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
#rpm-ivhautoconf*
4缺少某些链接库;
确诊方法:
在make时,提示需要某些文件。
解决方法:
安装包含这个文件的包。
第二部分:
安装.rpm软件包
RPM是RedHat公司随RedhatLinux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装(像windows下安装软件一样。
1.安装软件:
执行rpm-ivhrpm包名,如:
#rpm-ivhapache-1.3.6.i386.rpm
*******************************************
rpm参数解释:
i安装软件包
v显示附加信息
h安装时输出哈希标记(``#''
如果需要详细了解rpm的使用参见附录
*******************************************
2.升级软件:
#rpm-Uvhrpm包名
3.卸载软件包:
#rpm-erpm包名
4.查询软件包的详细信息:
#rpm-qpirpm包名
5.查询某个文件是属于那个rpm包的:
#rpm-qfrpm包名
6.查该软件包会向系统里面写入哪些文件:
#rpm-qplrpm包名
*****************************************
附录:
《rpm详解》
一、安装软件包
命令格式:
rpm-i(or--installoptionsfile1.rpm...fileN.rpm
参数:
file1.rpm...fileN.rpm把要安装的RPM包的文件名
详细选项:
-h(or--hash安装时输出hash记号(``#''
--test只对安装进行测试,并不实际安装。
--percent以百分比的形式输出安装的进度。
--excludedocs不安装软件包中的文档文件
--includedocs安装文档
--replacepkgs强制重新安装已经安装的软件包
--replacefiles替换属于其它软件包的文件--force忽略软件包及文件的冲突--noscrīpts不运行预安装和后安装脚本
--prefix把软件包安装到由指定的路径下
--ignorearch不校验软件包的结构
--ignoreos不检查软件包运行的操作系统
--nodeps不检查依赖性关系
--ftpproxy用作为FTP代理
--ftpport指定FTP的端口号为
通用选项
-v显示附加信息
-vv显示调试信息
--root让RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile设置rpmrc文件为
--dbpath设置RPM资料库存所在的路径为
例子:
1.安装软件
rpm-ivh*.rpm
若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在-ivh后加一参数“-replacepkgs”。
2.在线安装
rpm-iftp:
//ftp.**.rpm
ftp:
//ftp.*是地址*.rpm软件包
二、软件包的删除卸载
命令格式:
rpm-e(or--eraseoptionspkg1...pkgN
参数
pkg1...pkgN:
要删除的软件包
详细选项
--test只执行删除的测试
--noscrīpts不运行预安装和后安装脚本程序
--nodeps不检查依赖性
通用选项
-vv显示调试信息
--root让RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile设置rpmrc文件为
--dbpath设置RPM资料库存所在的路径为
例子:
1.卸载软件
rpm-e*.rpm
三、软件升级
命令格式
rpm-U(or--upgradeoptionsfile1.rpm...fileN.rpm
参数
file1.rpm...fileN.rpm软件包的名字
详细选项
-h(or--hash安装时输出hash记号(``#''
--oldpackage允许"升级"到一个老版本
--test只进行升级测试
--excludedocs不安装软件包中的文档文件
--includedocs安装文档
--replacepkgs强制重新安装已经安装的软件包
--replacefiles替换属于其它软件包的文件
--force忽略软件包及文件的冲突
--percent以百分比的形式输出安装的进度。
--noscrīpts不运行预安装和后安装脚本
--prefix把软件包安装到由指定的路径下
--ignorearch不校验软件包的结构
--ignoreos不检查软件包运行的操作系统
--nodeps不检查依赖性关系
--ftpproxy用作为FTP代理
--ftpport指定FTP的端口号为
通用选项
-v显示附加信息
-vv显示调试信息
--root让RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile设置rpmrc文件为
--dbpath设置RPM资料库存所在的路径为
例子:
1.升级软件
rpm-uvh*.rpm
注意:
此时的文件名必须是要升级软件的升级补丁
四、查询
命令格式:
rpm-q(or--queryoptions
参数:
pkg1...pkgN:
查询已安装的软件包
详细选项
-p(or``-''查询软件包的文件
-f查询属于哪个软件包
-a查询所有安装的软件包
--whatprovides查询提供了功能的软件包
-g查询属于组的软件包
--whatrequires查询所有需要功能的软件包
信息选项
显示软件包的全部标识
-i显示软件包的概要信息
-l显示软件包中的文件列表
-c显示配置文件列表
-d显示文档文件列表
-s显示软件包中文件列表并显示每个文件的状态
--scrīpts显示安装、卸载、校验脚本
--queryformat(or--qf以用户指定的方式显示查询信息
--dump显示每个文件的所有已校验信息
--provides显示软件包提供的功能
--requires(or-R显示软件包所需的功能
通用选项
-v显示附加信息
-vv显示调试信息
--root让RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile设置rpmrc文件为
--dbpath设置RPM资料库存所在的路径为
1.查询一个包是否被安装
rpm-q*.rpm
2.查看软件包里的内容
rpm-qpi*.rpm
3.查看软件包把会在系统里安装哪些部分
rpm-qpl*.rpm
4.快速判定某个文件属于哪个软件包
rpm-qf*.rpm
5.列出所有被安装的rpm软件包
rpm–qa
五、校验已安装的软件包
命令格式:
rpm-V(or--verify,or-yoptions
参数
pkg1...pkgN把要校验的软件包名
软件包选项
-pVerifyagainstpackagefile
-f校验所属的软件包
-aVerify校验所有的软件包
-g校验所有属于组的软件包
详细选项
--noscrīpts不运行校验脚本
--nodeps不校验依赖性
--nofiles不校验文件属性
通用选项
-v显示附加信息
-vv显示调试信息
--root让RPM把指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile设置rpmrc文件为
--dbpath设置RPM资料库存所在的路径为
例子:
1.列出所有损坏的文件
rpm-Va*.rpm
六、校验软件包中的文件
语法:
rpm-K(or--checksigoptionsfile1.rpm...fileN.rpm
参数:
file1.rpm...fileN.rpm软件包的文件名
Checksig--详细选项
--nopgp不校验PGP签名
通用选项
-v显示附加信息
-vv显示调试信息
--rcfile设置rpmrc文件为
七、其它RPM选项
--rebuilddb重建RPM资料库
--initdb创建一个新的RPM资料库
--quiet尽可能的减少输出
--help显示帮助文件
--version显示RPM的当前版本
常用命令组合:
-ivh:
安装显示安装进度--install--verbose--hash
-Uvh:
升级软件包--Update;
-qpl:
列出RPM软件包内的文件信息[QueryPackagelist];
-qpi:
列出RPM软件包的描述信息[QueryPackageinstallpackage(s];
-qf:
查找指定文件属于哪个RPM软件包[QueryFile];
-Va:
校验所有的RPM软件包,查找丢失的文件[ViewLost];
-e:
删除包
rpm-qsamba//查询程序是否安装
rpm-ivh/media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm#按路径安装并显示进度rpm-ivh--relocate/=/opt/gaimgaim-1.3.0-1.fc4.i386.rpm#指定安装目录
rpm-ivh--testgaim-1.3.0-1.fc4.i386.rpm#用来检查依赖关系;并不是真正的安装;
rpm-Uvh--oldpackagegaim-1.3.0-1.fc4.i386.rpm#新版本降级为旧版本
rpm-qa|grephttpd#[搜索指定rpm包是否安装]--all搜索*httpd*
rpm-qlhttpd#[搜索rpm包]--list所有文件安装目录
rpm-qpiLinux-1.4-6.i368.rpm#[查看rpm包]--query--package--installpackage信息
rpm-qpfLinux-1.4-6.i368.rpm#[查看rpm包]--file
rpm-qpRfile.rpm#[查看包]依赖关系
rpm2cpiofile.rpm|cpio-div#[抽出文件]
rpm-ivhfile.rpm#[安装新的rpm]--install--verbose--hash
rpm-ivhhttp:
//mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpmrpm-Uvhfile.rpm#[升级一个rpm]--upgrade
rpm-efile.rpm#[删除一个rpm包]--erase
rpm相关问题集锦
1.如何不安装但是获取rpm包中的文件?
使用工具rpm2cpio和cpio
rpm2cpioxxx.rpm|cpio-vi
rpm2cpioxxx.rpm|cpio-idmv
rpm2cpioxxx.rpm|cpio--extract--make-directories
参数i和extract相同,表示提取文件。
v表示指示执行进程
d和make-directory相同,表示根据包中文件原来的路径建立目录
m表示保持文件的更新时间。
2.如何查看与rpm包相关的文件和其他信息?
下面所有的例子都假设使用软件包mysql-3.23.54a-11
1.我的系统中安装了那些rpm软件包
rpm-qa讲列出所有安装过的包
如果要查找所有安装过的包含某个字符串sql的软件包
rpm-qa|grepsql
3.如何获得某个软件包的文件全名?
rpm-qmysql可以获得系统中安装的mysql软件包全名,从中可以获得
当前软件包的版本等信息。
这个例子中可以得到信息mysql-3.23.54a-11
4.一个rpm包中的文件安装到那里去了?
rpm-ql包名
注意这里的是不包括.rpm后缀的软件包的名称
也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。
如果只是想知道可执行程序放到那里去了,也可以用which,比如
whichmysql
5.一个rpm包中包含那些文件?
一个没有安装过的软件包,使用rpm-qlp****.rpm
一个已经安装过的软件包,还可以使用rpm-ql****.rpm
6.如何获取关于一个软件包的版本,用途等相关信息?
一个没有安装过的软件包,使用rpm-qip****.rpm
一个已经安装过的软件包,还可以使用rpm-qi****.rpm
7.某个程序是哪个软件包安装的,或者哪个软件包包含这个程序?
rpm-qf`which程序名`返回软件包的全名
rpm-qif`which程序名`返回软件包的有关信息
rpm-qlf`which程序名`返回软件包的文件列表
注意,这里不是引号,而是`,就是键盘左上角的那个键。
也可以使用rpm-qilf,同时输出软件包信息和文件列表
8.某个文件是哪个软件包安装的,或者哪个软件包包含这个文件?
注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以
用于可执行程序,也可以用于普通的任何文件。
前提是知道这个文件名。
首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm-qf例如:
#whereisftptop
ftptop:
/usr/bin/ftptop/usr/share/man/man1/ftptop.1.gz
#rpm-qf/usr/bin/ftptop
proftpd-1.2.8-1
#rpm-qf/usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt
proftpd-1.2.8-1
总结:
获得软件包相关的信息用rpm-q,q表示查询query,后面可以跟其他选项,比如
i表示info,获得软件包的信息;
l表示list,获得文件列表;
a表示all,在所有包中执行查询;
f表示file,根据文件进行相关的查询;
p表示package,根据软件包进行查询
需要的查询条件可以使用grep产生,或者从"``"中的命令行产生
9.什么是rpm?
rpm即RedHatPackageManagement,是RedHat的发明之一
10.为什么需要rpm?
在一个操作系统下,需要安装实现各种功能的软件包。
这些软件包一般都有各自的
程序,但是同时也有错综复杂的依赖关系。
同时还需要解决软件包的版本,以及安装,
配置,卸载的自动化问题。
为了解决这些问题,RedHat针对自己的系统提出了一个
较好的办法来管理成千上百的软件。
这就是RPM管理系统。
在系统中安装了rpm管理系统以后,只要是符合rpm文件标准的打包的程序都可以方便的安装,升级,卸载
11.是不是所有的linux都使用rpm?
任何系统都需要包管理系统,因此很多linux都使用rpm系统。
但rpm系统是为RH专门
但是TL,Mandrake等系统也都使用rpm。
由于rpm的源程序可以在别的系统上进行编译,所以有可能在别的系统上也使用rpm
除了rpm,其他一些系统也有自己的软件包管理程序,例如debian的deb包,
slakware也都有自己的包管理系统
12.rpm包的文件名为什么那么长?
rpm包的文件名中包含了这个软件包的版本信息,操作系统信息,硬件要求等等。
比如mypackage-1.1-2TL.i386.rpm,其中mypackage是在系统中登记的软件包的名字
1.1是软件的版本号,2是发行号,TL表示用于TL操作系统,还可能是RH等。
i386表示用于intelx86平台,还可能是sparc等。
13.软件包文件名中的i386,i686是什么意思?
rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构
的信息。
i386指这个软件包适用于intel80386以上的x86架构的计算机(AI32
i686指这个软件包适用于intel80686以上(奔腾pro以上的x86架构的计算机(IA32
noarch指这个软件包于硬件架构无关,可以通用。
i686软件包的程序通常针对CPU进行了优化,所以,向后兼容比较用以,i386的包在
x86机器上都可以用。
向前一般不兼容。
不过现在的计算机,奔腾pro以下的CPU已经很少用,通常配置的机器都可以使用i686软件包
14.不同操作系统发行的rpm包可否混用?
对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用。
对于以src.rpm发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同
系统下安装。
15.使用rpm时遇到的一些特殊问题
Q我用rpm-e**.rpm无法删除rpm包
A包名不要包括rpm,
rpm-e包名,可以包含版本号等信息,但是不可以有后缀.rpm
Q在MS的系统下有没有读RPM文件的工具?
Awincmdwithrpmplugins.....
Q是否可以通过ftp安装安装升级rpm包?
A可以。
rpm-ivhftp:
//xxxxxxxx/PATH2SomeRPM
Qrpm安装时已有的包版本过高怎么办?
A有时由于安装的软件包太老,而系统中相关的软件包版本比较新,所以可能需要安装的包依赖的一些文件会找不到。
这时有两种解决办法:
第一是在系统文件中找到和需要的文件功能相同或相似的文件,做一个符号链接到需要的目录下。
第二是下载安装新版本的软件包
ubuntu中JDK安装方法1
首先,从中下载jdk,我的版本是jdk1.6.0_12,我下载的是bin文件,我将下载的jdk1.6.0_12.bin文件置于/usr/lib/jvm/java中
然后,在shell中执行:
代码:
sudochmodu+x/usr/lib/jvm/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ubuntu 常见 软件包 安装 方法