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

Linux 软件包的安装与管理

2017-03-27 11:48 302 查看
目标内容

rpm软件包管理
yum安装软件包
源码编译安装软件包


1.rpm软件包管理

简称: Redhat Package Manager

主要有RPM和YUM这两种包管理。

两种包管理各有用处,其中主要区别是:

YUM使用简单,可以本地使用也可联网,网络YUM源,就是YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作精度比较细,需要我们做的事情比较多。

挂载光盘

[root@xuegod72 ~]# umount /dev/sr0   卸载

[root@xuegod72 ~]# mount /dev/sr0 /media   挂载

查看包的个数

[root@xuegod72 ~]# cd /media/Packages

[root@xuegod72 Packages]# ls|wc -l

rpm包说明:

zsh-5.0.2-14.el7.x86_64.rpm

      

zsh -5    0 .   2     -e17     x86    64

软件名 主版本号  次版本号  修订号  RHEL7    CPU架构平台   支持系统位数

注:EL6 EL5

安装rpm软件

命令:rpm [参数] 软件包

参数:

 -i, --install              安装软件包

 --nodeps               不验证软件包依赖

 -v, --verbose            提供更多的详细信息输出

 -h, --hash              软件包安装的时候列出哈希标记

安装例子

[root@xuegod72 Packages]# rpm -ivh mariadb-server-5.5.44-2.el7.x86_64.rpm

忽略依赖

[root@xuegod72 Packages]# rpm -ivh mariadb-server-5.5.44-2.el7.x86_64.rpm --nodeps

第三种:到rpm包相关的网站上去下载软件包
http://rpmfind.net/ http://rpm.pbone.net/ http://www.rpmseek.com/index.html
rpm查询功能

用法:rpm –q 常与下面参数组合使用

 -a  查询所有已安装的软件包

 -f  查询 文件所属软件包

 -i  显示已经安装的rpm软件包信息

 -l 和p搭配使用显示未安装软件包的相关文件列表和信息

通常可以配合管道 | more 来使用,使得结果更易读

[root@xuegod72 Packages]# rpm -q lrzsz               #查找

[root@xuegod72 Packages]# rpm -qi lrzsz              #显示已经安装lrzsz的信息

[root@xuegod72 Packages]# rpm -qf `which vim`

[root@xuegod72 Packages]# rpm -ql zsh|more           #查看zsh 安装了那些文件

rpm包卸载

用法:rpm –e 包名

参数:

--nodeps 忽略依赖

[root@xuegod72 Packages]# rpm -e mariadb-5.5.44.el7.x86_64  --nodeps

签名验证

导入RPM-GPG-KEY后, 安装rpm包时,对rpm的签名进行验证

GPG在Linux上的应用主要是实现官方发布的包的签名机制。

GPG分为公钥及私钥。

公钥:顾名思意,即可共享的密钥,主要用于验证私钥加密的数据及签名要发送给私钥方的数据。

私钥:由本地保留的密钥,用于签名本地数据及验证用公钥签名的数据

例如:验证一个RPM包的签名

[root@xuegod72 Packages]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[root@xuegod72 Packages]# rpm -K lrzsz-0.12.20-36.el7.x86_64.rpm

2.yum安装软件包

yum(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记

YUM:解决依赖关系问题,自动下载软件包,它是基于C/S架构

C=client S=ftp\http\file

YUM源分本地源和网络源

本地yum源配置

[root@xuegod72 ~]# rm -rf /etc/yum.repos.d/*

[root@xuegod72 yum.repos.d]# vim rhel7.repo

[7-source] #yum源名称,唯一的,用来区分不同的yum源

name=rhel7-server #对yum源描述信息

baseurl=file:///media #yum源的路径(repodata目录所在的目录)

enabled=1 #为1,表示启用yum源

gpgcheck=0 #为1,使用公钥检验rpm的正确性

清空yum缓存

[root@xuegod72 yum.repos.d]# yum clean all

生成列表

[root@xuegod72 ~]# yum list|more

注意的几个小问题:

 确定光盘是否链接

 光盘是否挂载

 配置文件中格式是否正确,字母,符号有没有少写

yum 使用

1)安装 yum  install  -y

2) 检测升级 yum  check-update

3) 升级 yum  update

4) 软件包查询 yum  list

5) 软件包信息 yum  info

6) 卸载 yum  remove

7) 帮助 yum  -help、man  yum

[root@xuegod72 ~]# yum -y install httpd

安装一组软件包

查看有那些包组

[root@xuegod72 ~]# yum grouplist

安装一个包组

[root@xuegod72 ~]# yum  –y  groupinstall "Security Tools"

3.源码编译安装软件包

源代码包的安装

1)解压解包

tar  -xzvf  源代码包

[说明]

x为解包、z为解压(仅适合gzip,bz2[用j]则先解包再unzip解压)、v显示过程、f指定被解压包名

2)配置

进入解压后的目录,用 ./configure [--prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息、设置安装目录等(卸载的时候只需将这个目录删除则可)

3)编译

make -j 4

4)安装

make  install

nginx安装

安装依赖

看一下这两个包有没有:pcre-devel  zlib-devel

[root@xuegod72 mnt]# yum -y install zlib-devel

[root@xuegod72 mnt]# yum -y install pcre-devel

添加运行用户

[root@xuegod72 mnt]# useradd -s /sbin/nologin -M nginx

参数解释

 -M 不创建宿主目录

 -s  指定登陆的shell环境  /sbin/nologin  禁止登陆

解压 nginx

[root@xuegod72 mnt]# tar -zxvf nginx-1.0.15.tar.gz

[root@xuegod72 mnt]# tar -zxvf nginx-1.0.15.tar.gz -C /usr/local

[root@xuegod72 mnt]# ls /usr/local

[root@xuegod72 mnt]# cd /usr/local/nginx-1.0.15

[root@xuegod72 nginx-1.0.15]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

如果出现以上情况,是缺gcc包,安装一下

[root@xuegod72 nginx-1.0.15]# yum install -y gcc     # 在执行 ./configure

[root@xuegod72 nginx-1.0.15]# make -j 4

[root@xuegod72 nginx-1.0.15]# make install

nginx路径优化

首先把主程序复制到etc下面

[root@xuegod72 ~]# cd /usr/local/nginx/sbin/

[root@xuegod72 sbin]# ls

nginx

[root@xuegod72 sbin]# cp nginx /etc/init.d/

验证有没有语法错误

[root@xuegod72 sbin]# /etc/init.d/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

启动nginx ,不加参数,验证

[root@xuegod72 sbin]# /etc/init.d/nginx

[root@xuegod72 sbin]# netstat -anput|grep nginx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: