【Linux】Linxu上rpm、yum和源码编译安装

一、导读

在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也格式各样.

论安装的舒适肯定比不上windows,windows安装软件基本就是用鼠标点击下一步,如果学习Linux的软件包安装,还像windows那样点击鼠标下一步安装,那就太对不起linux的shell了,Linux的shell比linux的图形化界面要强大太多了。

好了废话不多说了,安装软件包,首先要了解软件包的组成。


二、rpm包命名规则


【Linux】Linxu上rpm、yum和源码编译安装_第1张图片


【Linux】Linxu上rpm、yum和源码编译安装_第2张图片
【Linux】Linxu上rpm、yum和源码编译安装_第3张图片


软件包由二进制文件、库文件、配置文件、帮助文件、头文件等这重要的部分组成。

他们分别存放在系统的那些路径里面?


【Linux】Linxu上rpm、yum和源码编译安装_第4张图片

二进制文件:/bin,  /sbin,  /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

库文件:/lib,  /usr/lib, /usr/local/lib

配置文件:/etc

man文档:/usr/share/man,  /usr/local/share/man,  {像README, INSTALL文件主  要存放在 /usr/share/doc}

头文件:/usr/include/


三、软件包的rpm安装


【Linux】Linxu上rpm、yum和源码编译安装_第5张图片

# rpm -ivh  nginx-1.12.2-2.el7.x86_64.rpm


# rpm -ql nginx

# rpm -qc  nginx

# rpm  -qi  nginx


# rpm -ivh  httpd-2.4.6-88.el7.centos.x86_64.rpm

【Linux】Linxu上rpm、yum和源码编译安装_第6张图片


四、软件包的yum安装

yum(Yellowdog Update  Manager),yum是RPM的前端工具,是基于RPM的一个管理工具,它能自动的解决安装rpm包产生的依赖关系。

  yum的配置文件    /etc/yum.conf

  yum  repository仓库的配置文件/etc/yum.repos.d/*.repo

#  ll  /etc/yum.repos.d/


【Linux】Linxu上rpm、yum和源码编译安装_第7张图片


【Linux】Linxu上rpm、yum和源码编译安装_第8张图片

yum仓库的搭建是使用yum安装的前提,如何搭建一个好的yum仓库?

    1)  首先要在yum仓库的文件(/etc/yum.repos.d/)中建立一个以.repo结尾的文件

    2)  [  ]方括号里面是写仓库的ID(repository_ID),名称可以随便取,但必须唯一

    3)  name是yum的名称也可以随便取,也必须唯一

    4)  baseurl指定你可以能通过本机、http或者ftp访问到那些rpm包的所在路径,该路径下必须有一个repodata的文件,比如/media下面有那个repodata的文件,那你的baseurl指向/media/,如果是/media/Server下面有那个repodata的文件,那你的baseurl指向 /media/Server/目录

    5) enabled默认为1,1表示启用此仓库,0表示不启,

    6)  gpgcheck默认也是为1,1表示检查公钥,当检查公钥时要指定gpgkey的地址,0表示不检查,不检查公钥就不用指gpgkey的地址,如果是本地光盘搭建yum仓库,则可以设置gpgcheck=0

    7) 当gpgcheck=1时,gpgkey指向包含RPM-GPG-KEY-CentOS-6这个文件的路径

    8)  cost是表示花费代价,cost默认是2000,越小表示优先级越高


用光盘搭建本地yum仓库

#  mount  /dev/cdrom    /media

#  vim  /etc/yum.repos.d/iso.repo

##############################

[iso]

name=CentOS7.x

baseurl=file:///media/

gpgcheck=0

enable=1

################################

搭建外网的yum仓库(sohu的yum源)


【Linux】Linxu上rpm、yum和源码编译安装_第9张图片

$releasever:表示你的系统的版本,变量会自动的检测你的版本

$basearch:表示CPU的架构,是x86_64,还是i386系列


如果自己在网上下载了很多rpm软件包,也想搭建一个yum仓库,则使用createrepo

reaterepo会生成一个repodata的软件信息仓库文件,然后搭建该目录的yum仓库。


常用的几个rpm包下载网站:

http://rpm.phone.net

http://www.rpmfind.net

http://pkgs.org


用yum搭建本地yum仓库

假设你将自己下载的rpm包放在  /mnt/rpms 目录下

# createrepo  -v  /mnt/rpms

【Linux】Linxu上rpm、yum和源码编译安装_第10张图片

# vim  /etc/yum.repos.d/localrepo.repo

#############################

[LocalRepo]

name=LocalRepositry

baseurl=file:///mnt/rpms

gpgcheck=0

#################################

# yum clean all

# yum repolist


用yum安装组包

# yum  -y  groupinstall      "DesktopPlatform Development"   

# yum  -y  groupinstall      "Development  tools" 

# yum  -y  groupinstall      "Server Platform Development"


五、软件装的tar源码包的编译安装

tar编译安装的三部曲:

    1) configure          检测编译环境,设置预编译参数

    2) make                进行编译

    3) make install      编译安装

在安装三部曲之前,建议先看看解压之后目录里面的包含README, INSTALL文件,这里面的文件会告诉你详细安装步骤。

# yum  -y  groupinstall  "Development  tools" 

# wget  http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.25.tar.bz2

#  tar jxf  httpd-2.2.25.tar.bz

# cd httpd-2.2.25

# ./configure --prefix=/usr/local/apache  --enable-so  --enable-rewrite

# make

# make install

查看编译生成的文件

# ls  /usr/local/apache


用tar包编译安装后,需要添加相关环境变量


添加PATH路径

# echo"PTAH=/usr/local/apache/bin:$PATH"  >>/etc/profile.d/apache.sh

# source  /etc/profile.d/apache.sh


添加库文件的搜索路径

#  echo  "/usr/local/apache/lib"  >>  /etc/ld.so.conf.d/apache.conf

# ldconfig

#  ldconfig -v|grepapache


关联系统所识别的头文件

# ln-sv /usr/local/apache/include/  /usr/include/apache


# apachectl start   


【Linux】Linxu上rpm、yum和源码编译安装_第11张图片


六、软件包安装的src.rpm源码包安装

#  yum  -y install rpm-build  gcc  make  redhat-lsb-core  libuuid-devel

# wget  http://120.52.51.13/nginx.org/packages/mainline/centos/7/SRPMS/nginx-1.15.0-1.el7_4.ngx.src.rpm

# useradd  builder

#  cp nginx-1.15.0-1.el7_4.ngx.src.rpm  /home/builer

# su - builder

$ rpm -ivh nginx-1.15.0-1.el7_4.ngx.src.rpm

$ ll  -R rpmbuild/

【Linux】Linxu上rpm、yum和源码编译安装_第12张图片

$ cd rpmbuild/SPECS

$  rpmbuild  -bb  nginx.spec

【Linux】Linxu上rpm、yum和源码编译安装_第13张图片
【Linux】Linxu上rpm、yum和源码编译安装_第14张图片


$ cd  /home/builder

$  ll  -R

【Linux】Linxu上rpm、yum和源码编译安装_第15张图片

$ su  - root

# rpm  -ivh  /home/builder/rpmbuild/RPMS/x86_64/nginx-1.15.0-1.el7_4.ngx.x86_64.rpm


【Linux】Linxu上rpm、yum和源码编译安装_第16张图片

#  systemctl start nginx

# systemctl status nginx


【Linux】Linxu上rpm、yum和源码编译安装_第17张图片


【Linux】Linxu上rpm、yum和源码编译安装_第18张图片


七、参考


Linux根目录解析

https://www.cnblogs.com/puloieswind/p/5856658.html


Linux rpm包、rpm源码包及tar源码包的安装详解

https://blog.51cto.com/litaotao/1258450


How to setup Pagespeed module in Nginx using rpm or yum on CentOS 7

https://www.webfoobar.com/node/27

你可能感兴趣的:(【Linux】Linxu上rpm、yum和源码编译安装)