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

Linux 软件的安装

2016-01-18 10:44 363 查看
1.通过源码安装软件

什么是源码包?

源码包就是一些附带有程序的源代码、configure文件、说明文档的安装包

一般以tar打包。在用压缩软件进行压缩,比如tar.gz或者tar.bz2文件

需要自定义参数进行编译,之后进行安装

  以memcached的源码包安装为例:

最新安装路径: http://memcached.org/files/memcached-1.4.25.tar.gz
在Linux终端输入:wget http://memcached.org/files/memcached-1.4.25.tar.gz(wget 需要Linux网络链接正常)

下载成功后,需要解压缩指令 tar xzvf memcached-1.4.25.tar.gz

configure

自定义参数

配置安装环境,必要性检查

生成makefile文件

make&install

编译生成二进制文件

执行安装

使用源码包进行软件安装过程

获取源码安装包,如去官网下载

解压缩,阅读install和readme文件,获取安装说明

根据安装说明安装好该软件依赖的其他软件

通过运行configure文件,执行检查安装环境,定义必要参数(所依赖的其他软件和参数)通过后,建立makefile文件

根据声生成的makefile文件,通过make指令进行编译操作

根据makefile中要install的内容,将上步中变异好的二进制文件安装到系统中

常用指令

./configure -help,查看参数信息,简历makefile文件

make clean,读取makefile中关于clean的内容执行clean操作(非必须)

make,根据makefile中的设置执行编译操作

make install,将编译的二进制文件安装到系统中

2.RPM、SRPM、YUM概述

RPM

RedHat Package Manager 的简称,RedHat包管理器

以数据库记录的方式将软件安装到Linux

软件包事先编译好并且打包成RPM机制的文件,类似于Windows的安装程序

软件信息都已记录在了本地数据库中,方便查询、升级、卸载

不允许自定义参数和设置、限制较多

SRPM

Source RPM,附带源代码的RPM包,扩展名为src.rpm命名

不可以直接安装,需要通过编译后再安装

可以修改参数文件自定义配置项

和RPM比较类似

YUM

Yellow dog Updater Modified的简称,基于RPM包管理

能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无需繁琐的一次次下载、安装

使用简单、方便。相比windows的软件安装更加方便,类似于在java web项目开发中的Maven,自动管理这种依赖关系。

3.使用RPM安装软件

默认安装路径

在windows下,软件安装的默认路径是在C盘下的一个命名为Program File的路径下单独命名一个软件的目录,所有和该软件相关的文件都安装在该路径下

在Linux下,

配置文件,一般放在/etc目录下

可执行文件,/usr/bin

程序使用的函数库,/usr/lib

软件使用手册、说明,/usr/share/doc

软件的详细说明,/usr/share/man man page

RPM安装

www.rpmfind.net(法国里昂一个查找rpm的服务)下载安装

Linux镜像挂在光盘安装

rpm [-ivh] rpm1 rpm2------安装rpm1、rpm2并显示进度和详情

--nodeps:忽略所有依赖问题执意安装

--replacefiles:对应已经安装过的某个文件进行覆盖安装

--replacepkgs:对已经安装过的软件重新安装

--force:相当于--replacefiles和--replacepkgs

--test:测试该软件能否被正确安装(rpm -ivh fileName --test)

--justdb:RPM数据库损坏或者产生错误时,更新数据库信息

--nosignature:忽略数字签名的检查

--prefix:改变软件的默认安装路径

--noscripts:禁止RPM执行一些后置指令,如一些初始化指令(类似于在windows环境下安装软件成功后会初始化一些配置等)

RPM升级

-Uvh:如果安装则更新,没有安装直接安装

rpm -qa python(查看当前python安装的版本) rpm -Uvh python-1.x.x --nodeps(对python进行不依赖升级)

-Fvh:只有软件安装过才会升级,进行纯粹的升级

RPM查询

-q:只查询软件是否安装

-qa:列出本机安装的所有软件名称,可以通过|grep过滤

-qi:列出软件的详细信息,开发商、版本、说明等

-ql:列出该软件所有的文件,躲在目录的完整名

-qc:列出该软件所有的配置文件

-qR:列出该软件依赖的其他软件

-qf:查询某个文件属于哪个软件所有

RPM验证

-V:查询软件所有被修改过的文件

-Va:列出本机所有有可能被修改过的程序文件

-Vp:接文件名,列出该软件可能被修改的文件

RPM的卸载与数据库重建

主要要从上到下一次卸载,先卸载不被其他任何软件依赖的软件

-e:卸载软件(rpm -e python)

-rebuilddb:重建RPM的数据库

4.使用YUM安装软件

  安装好Linux系统之后,Linux服务商(RedHat)需要我们注册一下,才能使用yum安装软件,类似windows的注册一样。这里,由于用yum安装软件可能会对系统Linux造成损坏,所以在安装软件之前,我们需要将当前系统快照保存一下,类似windows中的系统备份一样,以供我们在安装软件过程中对系统造成损坏之后,可以“一键还原”,避免重装系统的麻烦。

  Liunx的注册比较麻烦和繁琐。所以我们可以事先编辑好一个Linux注册配置的shell脚本,

  脚本内容:

  #!/bin/bash

  rpm -qa |grep yum|xargs rpm -e -nodeps

  wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
  wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
  wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-4.el5.i386.rpm
  rpm -ivh yum-*

  cd /etc/yum.repos.d/

  mv rhel-debuginfo.repo rhel-debuginfo.repo.bakup

  mv rhel-source.repo rhel-source.repo.bakup

  wget http://www.linuxidc.com/files/2001/05/06/CentOS-Base.repo
  yum makecache

  编写保存shell脚本:vim yumInstall.sh

  运行脚本:sh yumInstall.sh(这个运行的操作具体是卸载RHEL的yum,然后安装CentOS的yum)

查询 yum[list|infosearch|provides|whatprovides] 参数

search:查询某个程序的名称或者描述(yum search mysql)

list:列出当前yum所管理的所有软件以及版本(rpm -qa) ----yum list

info:查询软件的功能版本说明(rpm -qai) ----yum info mysql

provides:通过文件查询所属软件(rpm -qf)

安装、升级,yum[install|update]程序名称

安装 yum install mysql

升级 yum update mysql

卸载程序 yum[remove]

yum remove mysql

yum配置

/etc/yum.repos.d/CentOS-Base.repo

yum clean[package|headers|all]

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