浅析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下安装软件,如何知道软件安 ...
随机推荐
- [转载]Doxygen C++ 注释风格
转载自:http://luchenqun.com/?p=761 做一个C++方面的符合Doxygen的注释文档,备用. 1.头文件根原文件注释.这个我也不知道需要注释什么.能想到的是:谁写的,里面有些 ...
- Summit Online Judge
题意: 询问将取值在 $[L,R]$ 的若干个整数相加,可以得到 $[x,y]$ 区间内多少个数字. 解法: 只需要考虑求 $[L,R]$ 的数字能凑出 $[1,n]$ 的多少个数字,即可得出答案. ...
- app UI测试之UIAutomator
执行UIAutomator测试步骤 1.新建Java项目,导入android.jar和uiautomator.jar包,继承UiAutomatorTestCase 2.生成编译文件 android c ...
- Oracle中的集合运算
前言:在实际项目中对多表进行集合运算使用非常广泛,以下是对集合操作的部分总结. 一,建表,插入测试数据 create table a( numbers integer ) create table b ...
- git 回退到服务器版本操作
git fetch git reset orgin master --hard git pull
- jQuery 学习笔记(一)jQuery 语法
jQuery 是一个 JavaScript 库,极大地简化了 JavaScript 编程,很容易学习 添加 jQuery 库 <head> <script type="te ...
- 参考手册(html css)
HTML CSS DOM XML DOM XML DOM Document JavaScript JavaScript RegExp JSP
- AWS AutoScaling的一个ScaleDown策略问题以及解决方法
此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1. AWS AutoScaling简介 AutoScaling是AWS的一个重要服务,用来弹性的自动创建(S ...
- ObjectArx 中反应器Reactor的使用
反应器类派生于AcRxObject而不是AcDbObject,因为他们不是数据库对象,没有ID,拥有关系也不适用. 不同类型的反应器接收不同类型的通知事件.派生于AcDbDatabaseReactor ...
- 381. Insert Delete GetRandom O(1) - Duplicates allowed
Design a data structure that supports all following operations in average O(1) time. Note: Duplicate ...