[内容] CentOS Linux & RHEL yum 的使用 (让某一个软件不被更新)

内容一:通过命令实现更新某一个软件(补丁)包以外其他所有软件(补丁)包的方法

# yum -x httpd* updaten

(补充:这里以更新除了名字以 httpd 开头外的所有软件包为例)

(注意:这种方法只在本次输入时有效)

或者:

# yum --exclude=kernel* update

(补充:这里以更新除了名字以 kernel 开头外的所有软件包为例)

(注意:这种方法只在本次输入时有效)

内容二:通过配置文件实现更新某一个软件(补丁)包以外其他所有软件(补丁)包的方法
2.1 修改 yum 的配置文件

# vim /etc/yum.conf

添加以下内容:

......
exlude=mysql* kernel*

(补充:多个不需要升级的软件可以用空格隔开)

2.2 使用 yum

# yum update


注意:
1) 这种方法是永久生效
2) 这个文件可能是位于 /etc/yum.conf 中,也可能是位于 /etc/yum/yum.conf

[实验] Nginx 源码软件包的安装

纪念:站主于 2019 年 9 月完成了此开源实验,并将过程中的所有命令经过整理和注释以后,形成以下教程

软件准备:

在 Nginx 官网上下载搭建集群所需软件 Nginx:

http://nginx.org/en/download.html

正文:

步骤目录:

步骤一:系统环境要求

步骤二:安装 Nginx 的依赖软件

步骤三:安装 Nginx
3.1 添加一个用于启动 Nginx 的用户身份
3.2 解压 Nginx 安装包
3.3 进入 Nginx 安装包目录
3.4 配置 Nginx
3.5 编译并安装 Nginx

步骤四:测试 Nginx
4.1 启动 Nginx
4.2 访问 Nginx 实现的网页服务
4.3 显示已安装 Nginx 的版本

具体的操作步骤:

步骤一:系统环境要求

(1)服务器的系统需要是 CentOS Linux 7 版本
(2)服务器系统需要有 yum 源

步骤二:安装 Nginx 的依赖软件

# yum -y install gcc pcre-devel openssl-devel

步骤三:安装 Nginx
3.1 添加一个用于启动 Nginx 的用户身份

# useradd -s /sbin/nologin nginx

3.2 解压 Nginx 安装包

# tar -xvf nginx-1.16.1.tar.gz

(补充:这里要安装的 Nginx 版本是 1.16.1)

3.3 进入 Nginx 安装包目录

# cd nginx-1.16.1

(补充:这里要安装的 Nginx 版本是 1.16.1)

3.4 配置 Nginx

# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module

3.5 编译并安装 Nginx

# make && make install

步骤四:测试 Nginx
4.1 启动 Nginx

# /usr/local/nginx/sbin/nginx

4.2 访问 Nginx 实现的网页服务

# curl 127.0.0.1

4.3 显示已安装 Nginx 的版本

# /usr/local/nginx/sbin/nginx -V

[实验] Linux rpm 软件包的制作 (通过 rpm-build 实现) (Nginx 版)

注意:文中的很多信息例如软件的名称等是站主在本次操作中随意取的名称,读者可以根据自己的喜好换成任意别的名称

软件准备:

在 Nginx 官网上下载搭建集群所需软件 Nginx:

http://nginx.org/en/download.html

正文:

步骤目录:

步骤一:系统环境要求

步骤二:准备 rpm-build 软件
2.1 安装 rpm-build
2.2 生成 rpm-build 目录
2.3 显示生成的 rpm-build 目录

步骤三:制作 Nginx 软件的 rpm 包
3.1 将 Nginx 的源码安装包放在固定的位置
3.2 制作 Nginx 的 nginx.spec 文件
3.3 SPEC 配置文件里的内容说明
3.4 安装 Nginx 软件的依赖包
3.6 显示新生成的 Nginx rpm 软件包

步骤四:使用新生成的 Nginx rpm 软件包
4.1 安装刚刚新生成的 Nginx rpm 软件包
4.2 启动 Nginx 服务
4.3 显示 Nginx 服务的启动状态
4.3.1 显示 Nginx 网页是否可以访问
4.3.2 显示 Nginx 的端口有没有启动

具体的操作步骤:

步骤一:系统环境要求

1) 服务器的系统是 CentOS 7 版本
2) 服务器系统要配置好 yum 源

步骤二:准备 rpm-build 软件
2.1 安装 rpm-build

# yum -y install rpm-build

2.2 生成 rpm-build 目录

# rpmbuild -ba nginx.spec
error: failed to stat /root/nginx.spec: No such file or directory

2.3 显示生成的 rpm-build 目录

# ls /root/rpmbuild/
BUILD  BUILDROOT  RPMS	SOURCES  SPECS	SRPMS

步骤三:制作 Nginx 软件的 rpm 包
3.1 将 Nginx 的源码安装包放在固定的位置

# cp nginx-1.16.1.tar.gz /root/rpmbuild/SOURCES/

(补充:这里要安装的 Nginx 版本是 1.16.1)

3.2 制作 Nginx 的 nginx.spec 文件

# vi /root/rpmbuild/SPECS/nginx.spec

将部分内容修改如下:

Name:nginx
Version:1.16.1
Release:1.0
Summary:Nginx is a web server software.
......
License:GPL
URL:www.nginx.org
Source0:%{name}-%{version}.tar
......
%description
nginx is an HTTP and reverse proxy server ......
......
%post
useradd nginx
......
%prep
%setup -q
......
%build
./configure --user=nginx --group=nginx --with-http_ssl_module
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
......
%files
......
%doc
/usr/local/nginx/*
......
%changelog


补充:
1) 这里的 Name:nginx 是指软件名称是 nginx
2) 这里的 Version:1.16.1 是指软件的版本是 1.16.1
3) 这里的 Release:1.0 是指发布的版本是 1。0
4) 这里的 Summary: Nginx is a web server software. 是指软件的描述是 Summary: Nginx is a web server software.
5) 这里的 License:GPL 是指软件使用的协议是 GPL
6) 这里的 URL:www.nginx.org 是指软件的官网是 www.nginx.org
7) 这里的 Source0:%{name}-%{version}.tar 是指软件源码文件的名称
8) 这里的 #BuildRequires: 是指软件编译安装时需要的依赖包,这里没有内容
9) 这里的 #Requires: 是指软件安装时所需要的依赖包,这里没有内容
10) 这里的 %description 是指软件的详细描述,这里没有内容
11) 这里的

%post
useradd nginx

是指软件安装后创建 nginx 用户

12) 这里的 %prep 是指软件安装前的准备,这里没有内容
13) 这里的 %setup –q 是指自动解压软件的源码包,并 cd 进入刚刚解压出来的目录
14) 这里的

%build
./configure
make %{?_smp_mflags}

是指对源码安装包进行配置
15) 这里的

%install
make install DESTDIR=%{buildroot}

是指对源码安装包进行编译安装
16) 这里的

%files
%doc
/usr/local/nginx/*

是指将源码安装包安装到 /usr/local/nginx/ 目录里

3.4 安装 Nginx 软件的依赖包

# yum -y install gcc pcre-devel openssl-devel

3.5 生成 Nginx rpm 软件包

# rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec

3.6 显示新生成的 Nginx rpm 软件包

# rpm -qpi /root/rpmbuild/RPMS/x86_64/nginx-1.16.1-1.0.x86_64.rpm

步骤四:使用新生成的 Nginx rpm 软件包
4.1 安装刚刚新生成的 Nginx rpm 软件包

# rpm -ivh /root/rpmbuild/RPMS/x86_64/nginx-1.16.1-1.0.x86_64.rpm

4.2 启动 Nginx 服务

# /usr/local/nginx/sbin/nginx

4.3 显示 Nginx 服务的启动状态
4.3.1 显示 Nginx 网页是否可以访问

# curl http://127.0.0.1/

4.3.2 显示 Nginx 的端口有没有启动

# ss -ntulap | grep 80

[步骤] CentOS Linux & RHEL yum 的使用(添加软件源)

步骤一:移除不可用的 yum 软件源配置文件
1.1 方法一:备份系统自带的 yum 软件源配置文件

# mkdir /etc/yum.repos.d/repobackup
# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repobackup/

1.2 方法二:删除系统自带的 yum 软件源配置文件

# rm -rf /etc/yum.repos.d/*.repo

步骤二:添加指定的 yum 软件源配置
2.1 方法一:使用 yum-config-manager 工具建立新配置文件

# yum-config-manager --add-repo http://example.com/

(补充:这里的 http://example.com/ 指的是官方提供的公共 yum 库链接)

(注意:添加了这个源之后确保对应的 /etc/yum.repos.d/ 配置文件中的 enable=0)

2.2 方法二:手动写一个 yum 软件源配置文件指定 yum 软件源

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

创建以下内容:

[local]
name=local
baseurl=file:///temp
enabled=1
gpgcheck=0 

(补充:这里以软件仓库在 /temp 为例)

步骤三:确认新配置的 yum 软件源可用
3.1 清理过时 yum 库的缓存

# yum clean all

3.2 刷新并列出所有可用的软件源

# yum repolist 

[内容] Linux 软件的查找

内容一:显示所有可安装软件的方法
1.1 CentOS&RHEL 显示所有可安装软件的方法

# yum list all

1.2 openSUSE&SUSE 显示所有可安装软件的方法

# zypper search

或者:

# zypper se

内容二:寻找某个可安装软件的方法
2.1 CentOS&RHEL 通过某个命令查找软件的方法

# yum -y provides <commands to use the software>

2.2 CentOS&RHEL 查找某个可安装软件的方法

# yum search <software>

或者:

# yum se <software>

2.3 openSUSE&SUSE 通过某个命令查找软件的方法

# command-not-found <commands to use the software>

2.4 openSUSE&SUSE 查找某个可安装软件的方法

# zypper se <software>

内容三:Linux 常用软件清单

1) bash-completion #用于 tab 键补全命令
2) vim-enhanced #可以使用 vim 命令编辑文档
3) redhat-lsb-core #可以在 CentOS&RHEL 上显示系统版本信息
4) lsb-release #可以在 openSUSE&SUSE 上显示系统版本信息