浅析linux下软件的安装
Linux环境:
CentOs 6.0
知识点介绍:
一、tarball安装
安装步骤:
- 将tarball文件在/usr/local/src目录解压缩
- ./configure:这个步骤是建立makefile文件,通常开发者会写一个script来检查你的linux环境、相关软件属性,这个步骤的相关信息应该要参考一下该目录下的INSTALL或README相关的文件。如果你没有指定--prefix=/path这个参数,通常默认参数就是/usr/local。
- makeclean:会读取makefile中关于clean的相关工作。这个步骤不一定会有,但是希望之星一下,因为它可以去除目标文件,至少等一下新编译出来的执行文件可以确定是我们使用自己的机器所编译完成的。
- make:会依据makefile当中默认工作进行编译行为。编译的工作主要是进行gcc来将源代码编译成可执行的目标文件,但是这些目标文件通常还需要一些函数库之类的链接后,才能生成一个完整的可执行文件!
- make install:make会依据makefile这个文件里关于install的选项,将上一步所编译完成的数据安装到默认的目录中
Tarball的一些管理:
- 最好将tarball的源代码放在/usr/local/src中
- 用户自行安装的软件建议放置在/usr/local里面
- 考虑将来反安装步骤,最好将每个软件单独安装在/usr/local下面。
- 为安装到单独目录的软件的man page加入man path搜索。
如果你安装到软件放置到/usr/local/software/中,那么在man page搜索的设置中可能就得要在/etc/man.config内的40~50行左右写入如下一行:
MANPATH/usr/local/software/man这样才可以使用man来查询该软件的在线文件。
二、Rpm软件包管理:
Rpm是centos下的软件管理机制,那么rpm软件安装方式有什么特点呢?
Rpm特点:
rpm包将你安装的软件预先编译过,并且打包成rpm的安装包,这个软件安装时所有的属性依赖软件都会被记录在包装好的默认数据库里,安装时rpm会依照软件里的数据查询linux主机的依赖属性是否满足。以此来判断是否可以安装该软件。Rpm的优点是:
- rpm包是编译并且打包好的,所以软件传输和安装上很方便。
- rpm管理方式使用数据库记录rpm文件相关参数,便于升级、删除、查询与验证。
Sprm是什么呢?
Sprm它是source RPM的意思,也就是这个rpm里含有源代码,特别的是srpm所提供的内容并没有被编译,它提供的是源代码。***.src.rpm的扩展名来命名的。Srpm的软件如何安装呢?
- 先将srpm编译成为rpm文件
- 然后将编译完成的rpm文件安装到linux系统当中。
rpm文件一般格式:如Rp-pppoe-3.1-5.i386.rpm
Rp-pppoe为软件名称,3.1为版本信息(3为主版本,在主版本的架构下改动部分源代码而释出的新版本就是次版本,就是1了),5为发布版本的次数,i386为操作硬件平台。
rpm默认安装路径:
/etc 配置文件放置路径
/usr/bin 一些可执行文件
/usr/lib 一些程序使用的动态函数库
/usr/share/doc软件使用手册与帮助文档
/usr/share/man 一些man page文件
Rpm安装:
Rpm -ivh package_name
参数:
-i:install的意思
-v:查看更详细的安装信息
-h:以安装信息栏显示进度
Rpm升级与更新:
Rpm -Uvh pkg_name或rpm -Fvh
参数:
-U更新时,如果未安装则安装,-F如果尚未安装则不会被安装。
Rpm查询:
参数:
-q 仅查询,后面接的软件名称是否有安装。
-qa列车所有已安装在本机上所有软件名称
-qi:列出该软件的详细信息(information)
-ql:列出该软件所有的文件与目录所在完整文件名
-qc:列出该软件的所有配置文件(找出在/etc/下面的文件名而已)
-qd:列出该软件的所有帮助文件(找出与man相关的文件而已)
-qR:列出与该软件有关的依赖软件所含文件(required的意思)
-qf:由后面的文件名称找出该文件属于哪个已安装的软件。
卸载rpm:
参数:
-e,后面接要卸载的软件名。
三、yum在线安装:
下面再来介绍一下rpm的属性依赖解决方案:yum在线升级
Yum在线升级的原理是:
Centos先将发布的软件放置到yum服务器内,将软件的信息分析并记录成清单列表。该清单列表与软件所在位置统称为容器。当客户端有软件安装需求时,客户端主机会像网络上面的yum服务器的容器网站上的清单列表下载到/var/cache/yum里面,然后通过本机清单的数据与本机rpm数据库已存在的软件进行比较,就能够一口气安装所有需要的依赖属性软件了。
Yum查询:
Yum [list|info|search|provides]
参数
-y:当yum要等待用户输入时,可以自动提供yes响应。
--installroot=/some/path:将软件安装在/some/path,而不使用默认路径。
list:列出目前yum服务器上所管理的软件名称与版本,有点类似rpm -qa。
info:同上,不过有点类似于rpm -qai的运行结果。
search:搜索某个软件名称或者是描述的重要关键字。
provides:从文件搜索软件,类似rpm -qf
例子:
找出以pam为开头的软件名称由哪些,而其中尚未安装的又有哪些。
#yum list pam*
列出目前本机可升级的软件有哪些
#yum list updates
Yum安装/升级:
Yum [install|update]
参数:
-y:当yum要等待用户输入时,可以自动提供yes响应。
Install:后面接要安装的软件。
Update:后面接要升级的软件。若要整个系统都升级,就直接update即可。
Yum删除:
Yum remove 软件名称即可。
浅析linux下软件的安装的更多相关文章
- Linux下软件常见安装方式
pasting 分类: Linux2007-12-08 16:31 1909人阅读 评论(0) 收藏 举报 linuxredhat脚本文档managerfile Linux下软件安装主 ...
- 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理
一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...
- Linux下软件的安装
想必linux新手刚开始对于linux软件安装很茫然吧,不知到怎么安装,软件到底安装在哪里,如果我需要删除软件怎么删除,配置文件到哪里去找. 想学习linux的话,最快上手的应该是Ubuntu,它特有 ...
- Linux下软件的安装与管理
1.源码安装方式 2.RPM包方式安装 3.yum安装方式 4.二进制软件安装方式 1.源码安装方式 (1)下载.解压Apache源码: mkdir /apache #在根目录下创建一个apache目 ...
- linux下软件的安装与卸载
一 软件安装包的类型 通常Linux应用软件的安装有五种: 1) tar+ gz包,如software-1.2.3-1.tar.gz.他是使用UNIX系统的打包工具tar打包的. 2) r ...
- 【OS_Linux】Linux下软件的安装与卸载
1.Linux中软件安装包的分类 1) 一类是可执行的软件包,无需编译直接安装.在Windows中所有的软件包都是这种类型.安装完这个程序后,你就可以使用,但你看不到源程序.而且下载时要注意这个软件是 ...
- Linux 下软件的安装方法
1:rpm 安装 ,rpm安装会有依赖问题,例如安装A,提示需要安装B 安装B需要安装C 格式: rpm -ivh [包名].rpm 2:yum 安装 特点:简单.易用.高校 缺点:不能定制 解决 ...
- linux下软件安装的方法
linux下软件的安装与卸载 第一章 linux下安装软件,如何知道软件安装位置 注:一般的软件的默认安装目录在 jdk-1_6_0_14-linux-i586-rpm.bin ←修改为 ...
- Linux Centos下软件的安装与卸载方法
转载于: http://blog.csdn.net/zolalad/article/details/11368879 Linux下软件的安装与卸载 第一章 linux下安装软件,如何知道软件安 ...
随机推荐
- java 02 内部类
- js的一些刷新功能
<a href="javascript:location.replace(location.href);" title="刷新"> </a&g ...
- Walk of Length 6
简要题意: 给一n(n<=2000)个点的有标号无向图,在图上从1出发走六步回到1,问有多少种不是六元简单环的情况. 解法: 用暴力找到31种走法,环有9种形状: 分为9种,统计出每一种情况的方 ...
- c++中虚函数与纯虚函数的区别(转)
首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数.定义他为虚函数是为了允许用基类的指针来调用子类的这个函数.定义一个函数为纯虚函数,才代表函数没有被实现.定义纯虚函数是为了实现一个接 ...
- 【Hadoop】MapReduce笔记(四):MapReduce优化策略总结
Cloudera 提供给客户的服务内容之一就是调整和优化MapReduce job执行性能.MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速 ...
- Flutter从入门到进阶实战携程网App_汇总贴
视频地址:https://coding.imooc.com/class/321.html?mc_marking=60e5294c605a87b2af7257d06f70505e&mc_chan ...
- Flutter实战视频-移动电商-36.FlutterToast插件使用
36.FlutterToast插件使用 https://github.com/PonnamKarthik/FlutterToast fluttertoast: ^ category_page.dart ...
- csvreader 来操作csv文件
http://www.cnitblog.com/rd416/archive/2010/07/08/47248.html
- AIRSDK 3.7 加载远程的含有代码的swf文件
之前就说这个版本会解决可以加载远程的含有代码的swf文件的需求.但是,一直比较好奇这个是否行得通,还以为 Adobe 副总裁去了苹果,内部给了特殊待遇. 因为苹果一直就是不允许远程加载代码的,像js文 ...
- 模板 - 洲阁筛 + min25筛
好像在某些情况下杜教筛会遇到瓶颈,先看着.暑假学一些和队友交错的知识的同时开这个大坑.