您的位置:首页 > 运维架构 > Linux

Linux软件安装管理

2016-02-22 23:10 411 查看

概述

概述

如何在linux上进行软件安装?

软件安装包管理简介

源码包

源码包的优点

如果有足够的能力,可以修改源代码

可以自由选择所需的功能

软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高

卸载方便

源码包的缺点

安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建。L:Linux;A:Apache;M:MySql;P:PHP),容易出现拼写错误

编译过程时间较长,安装比二进制时间长

因为是编译安装,安装过程中报错新手很难解决

二进制包(RPM包,系统默认包)

RedHat系统中是RPM包,Ubantu系统是ADT包

1. 二进制包的优点

- 包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和下载

- 安装速度比源码包快得多

2. 二进制包的缺点

- 经过编译,不再可以看到源代码

- 功能选择不如源码包灵活

- 依赖性

脚本安装包

实际安装的还是源码包和二进制包,只是把安装的步骤写成脚本,让初学者可以一键安装。

1. 优点

- 对初学者来说简单快捷/

2. 缺点

- 失去了自定义性

RPM命名管理

RPM包命名规则

打开我们的虚拟机



打开虚拟机光驱,在设置状态选择”已连接“(表示已连接电源)



3.通过浏览选择光盘然后确定。



4.

mkdir /mnt/cdrom –给光盘创建一个挂载点

mount /dev/sr0 /mnt/cdrom/ –把光盘挂到此处

cd /mnt/cdrom/ –进入光盘目录下

ls –列出此目录所有文件

cd Packages/ –进入Package目录

ls –所有的rpm包全在这里



rpm包在系统的package目录下

5.rpm包命名有一定的规则可循的

-   例如httpd-2.2.15-15.el6.centos.1.i686.rpm

- httpd软件包名

- 2.2.15软件版本号

- 15软件发布的次数

- el6.centos适合的Linux平台

- i686适合的硬件平台

- rpm包扩展名


RPM包依赖性

树形依赖性:a -> b -> c

环形依赖性: a -> b -> c -> a

模块依赖 : 查询网站 www.rpmfind.net

以下举例模块依赖:

例如:安装 mysql-connector-odbc会报以下错误





但输入 rpm -ivh libodbc再TAB以后不能补全,因为libodbc不是rpm文件,它只是rpm文件中的一个库文件,隐藏在其中一个rpm文件当中,那我们怎么知道它隐藏在哪个文件当中呢?我们只能通过www.rpmfind.net的搜索功能。这很不方便,rpm命令处理依赖关系很不方便,yum命令能解决这一问题,把所有的rpm模块都放在一个服务器,只要机器能连上服务器,yum会自动帮你处理其中的依赖关系。但是不是用yum命令必须需要上网呢?不,因为所有的rpm包都在Packages目录下,所以yum也可在不联网的情况下使用。在RedHat下,yum需要付费的,但CentOS不需要付费,这也是CentOS的好处。

安装命令

包全名

操作的包是没有安装的软件包时,使用包全名。而且要注意路径

包名

操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm中的数据库

例如zentity-2.28.0-1.e16.noarch.rpm

zentity-2.28.0-1.e16.noarch.rpm是包全名,zentity是包名。为什么要区分包全名和包名。如果一个软件包在Linux从来没有安装的话,必须使用包全名,而且需要写绝对路径,如果不使用绝对路径,必须进入这个路径。操作已经安装的软件包时,使用包名。

RMP安装

rpm -ivh 包全名

-i(install) 安装

-v(verbose)现实详细信息

-h(hash)现实进度

–nodeps不检测依赖性



带so.0后缀的是库文件,需查询查询网站 www.rpmfind.net这个网站才能知道此库文件属于哪个包文件。由上图可见,rpm安装十分麻烦,需要解决包之间,包和库之间的互相依赖,yum安装解决了依赖性的问题,但yum安装相对于rpm安装不能查询和校验。如果需要查询和校验rpm包,只能依赖我们后续讲的rpm包命令。命令安装可以用后面的yum来取代,但这种手工的命令安装是我们rpm包最基本的管理方法,我们应该熟练掌握。

升级与卸载



rpm -Uvh 用于包的升级,后面一定要跟包全名。因为新包对于系统来说是完全新的,所以一定要跟全名,不能跟包名。另外,如果系统已安装了此包且此包的版本为最新版本,那么会报错,如果没安装过此包又用此升级命令,则此命令的作用就相当于安装命令。



卸载命令后面只需要后面跟包名



很麻烦,装的时候有依赖性,卸的时候也有依赖性。

RPM包查询

RPM包校验

yum在线安装

yum源文件

光盘yum源搭建

yum命令(上)

yum命令(下)

源码包安装

源码包和RPM包区别

源码包安装过程(上)

源码包安装过程(下)

脚本安装包

脚本安装包(上)

脚本安装包(下)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: