linux基础,软件包安装与卸载,源码包安装

更换Yum仓库源

将本地源清除,并还原默认yum配置。

输入图片说明

从网上下载第三源配置文件替换系统默认的yum配置文件即可。 这里目录是/etc/yum.repos.d(在该目录下载,或者下载完移动到该目录替换默认的yum配置文件)

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 或者 curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo

输入图片说明

最后清除下缓存即可。

安装扩展源epel

yum install -y epel-release

使用yum下载rpm包

下载未安装的rpm包:yum install 包名 --downloadonly

默认的下载路径在:/var/cache/yum/x86_64/7/ 目录下对应的仓库里头

下载已经安装的rpm包:yum reinstall 包名 --downloadonly 下载路径同上

如果想要指定下载路径可在后面加上: --downloaddir=路径

输入图片说明

输入图片说明

输入图片说明

输入图片说明

源码包约定存放目录:/usr/local/src/

首先下载源码包:wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz

解压,切换到解压的文件目录,tar -zvxf httpd-2.2.34.tar.gz ,cd httpd-2.2.34

每个源码包都有说明文档即README,及安装文档INSTALL,不清楚的时候可以看看。

使用./configure --prefix=/usr/local/apache2 配置及设置安装路径

输入图片说明

当方面缺少组件时,程序会停止并有信息提示,

或者使用echo $? 如果反馈0则现在政策反馈1则有问题

输入图片说明

这边提示缺少gcc,用yum安装下,

安装完gcc,再进行./configure --prefix=/usr/local/src echo$?

输入图片说明

然后make ,make完后最好在echo $?下,没问题就make install

输入图片说明

然后就安装完了,要卸载的话,直接删除安装目录就行。

扩展

设置yum更新源的优先级

1、首先安装插件

输入图片说明

2、priorities的配置文件是/etc/yum/pluginconf.d/priorities.conf, 确认其是否存在。 其内容为: [main] enabled=1 # 0禁用 1启用

输入图片说明

3、编辑 /etc/yum.repos.d/目录下的*.repo 文件来设置优先级。

设置本地源的优先级比网络源高,这样查询的时候会从本地源先查找

参数为:

priority=N # N的值为1-99

推荐的设置为: [base], [addons], [updates], [extras] … priority=1 [centosplus],[contrib] … priority=2 Third Party Repos such as rpmforge … priority=N (where N is > 10 and based on your preference)

数字越大,优先级越

这里使用的是本地镜像源,如果优先级配合局域网源会更好

贴上几个修改的本地源配置文件,

输入图片说明

网络源的配置文件优先级也要修改,数字大些,这里贴出最后一部分,

输入图片说明

然后yum clean all 清除下缓存,验证安装源

输入图片说明

制作RPM二进制包

以nginx为例进行制作二进制包

1、安装rpmbuild工具

输入图片说明

2、创建相关目录

/usr/src/redhat/SOURCES                 #存放源代码、补丁等文件 
/usr/src/redhat/SPECS                #存放用于管理rpm制作进程的spec文件 
/usr/src/redhat/BUILD                #解压后的文件存放目录 
/usr/src/redhat/RPMS                #存放由rpmbuild制作好的二进制包 
/usr/src/redhat/SRPMS                #存放由rpmbuild制作好的源码包

3、把源码包放在SOURCE目录下

输入图片说明

4、创建/编写nginx.spec文件

cd    /us/src/redhat/SPECS    切换到SPEC目录下
vi    nginx.spec                        编写nginx.spec文件,内容如下

# spec file for nginx
# Build 2017-11-14
# By Test
#
Summary: High performance web server
Name: Nginx
Version: 1.2
Release: 0.el5.ngx
License: 2-clause BSD-like license
Group: Applications/Server
Source: http://nginx.org/download/nginx-1.2.0.tar.gz
URL: http://nginx.org
Distribution: Centos/Redhat
%description
Nginx ("engine x") is a high performance HTTP and reverse proxy server, as well  as a mail(IMAP/POP3/SMTP) proxy server.
%prep
tar zxf /usr/src/redhat/SOURCES/nginx-1.2.0.tar.gz
%build
cd nginx-1.2.0
./configure  --prefix=/usr/local/nginx   
make
%install
cd nginx-1.2.0
make install
%files
/usr/local/nginx

5、生成二进制格式的rpm包

cd  /usr/src/redhat/SPEC
rpmbuild -bb nginx.spec 

通过上面这条命令,会在/usr/src/redhat/RPMS/x86_64/下面生成nginx-1.2.0-1.el5.ngx.x86_64.rpm这个文件

(1) 文件头

一般的spec文件头包含以下几个域:

Summary:

用一句话概括该软件包尽量多的信息。

Name:

软件包的名字,最终RPM软件包是用该名字与版本号,释出号及体系号来命名软件包的。

Version:

软件版本号。仅当软件包比以前有较大改变时才增加版本号。

Release:

软件包释出号。一般我们对该软件包做了一些小的补丁的时候就应该把释出号加1。

Vendor:

软件开发者的名字。

Copyright:

软件包所采用的版权规则。具体有:GPL(自由软件),BSD,MIT,Public Domain(公共域),Distributable(贡献),commercial(商业),Share(共享)等,一般的开发都写GPL。

Source:

源程序软件包的名字。如 stardict-2.0.tar.gz。

%description:

软件包详细说明,可写在多个行上。

(2)%prep段

这个段是预处理段,通常用来执行一些解开源程序包的命令,为下一步的编译安装作准备。%prep和下面的%build,%install段一样,除了可以执行RPM所定义的宏命令(以%开头)以外,还可以执行SHELL命令,命令可以有很多行,如我们常写的tar解包命令。

(3)build段

本段是建立段,所要执行的命令为生成软件包服务,如make 命令。

(4)%install段

本段是安装段,其中的命令在安装软件包时将执行,如make install命令。

(5)%files段

本段是文件段,用于定义软件包所包含的文件,分为三类--说明文档(doc),配置文件(config)及执行程序,还可定义文件存取权限,拥有者及组别。

转载于:https://my.oschina.net/u/3363383/blog/1570485

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值