内容一:RPM 简介
1) RPM 的全名是 RPM Package Manager
1) RPM 是 CentOS、RHEL、openSUSE、SUSE 的软件安装包
2) RPM 是使用 cpio 格式压缩成的包
内容二:解压 RPM 文件的方法
# rpm2cpio <文件名> | cpio -div
(补充:解压之后就可以看到如果安装这个 RPM 文件的话,有哪些目录和文件会被创建)
1) RPM 的全名是 RPM Package Manager
1) RPM 是 CentOS、RHEL、openSUSE、SUSE 的软件安装包
2) RPM 是使用 cpio 格式压缩成的包
# rpm2cpio <文件名> | cpio -div
(补充:解压之后就可以看到如果安装这个 RPM 文件的话,有哪些目录和文件会被创建)
1) 从 CentOS8&RHEL8 开始默认使用 dnf 管理软件和补丁安装
2) dnf 也是 yum v4
3) dnf 的命令参数和 yum 一样
4) dnf 软件源的配置方法和 yum 一样
1) BaseOS 系统和基础的软件包
2) AppStream 其余所有官方的软件包
# rm /etc/yum.repos.d/*.repo
# vim /etc/yum.repos.d/CentOS-AppStream.repo
创建以下内容:
[AppStream]
name=CentOS-$releasever - AppStream
baseurl=http://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
# vim /etc/yum.repos.d/CentOS-Base.repo
创建以下内容:
[BaseOS]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
# vim /etc/yum.repos.d/CentOS-Epel.repo
创建以下内容:
[epel]
name=CentOS-$releasever - Epel
baseurl=http://mirrors.aliyun.com/epel/8/Everything/$basearch
enabled=1
gpgcheck=0
# vim /etc/yum.repos.d/CentOS-Media.repo
创建以下内容:
[c8-media-BaseOS]
name=CentOS-BaseOS-$releasever - Media
baseurl=file:///media/CentOS/BaseOS/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[c8-media-AppStream]
name=CentOS-AppStream-$releasever - Media
baseurl=file:///media/CentOS/AppStream/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
# dnf clean all
# dnf repolist
在通过 systemd 管理源码安装的软件或自制 rpm 包安装的软件(以 Nginx 为例)之前,先要源码安装 Nginx 或者自制 rpm 包安装 Nginx
# vim /etc/systemd/system/nginx.service
创建以下内容:
[Unit]
Description=nginx server daemon
Documentation=man:nginx(8)
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# systemctl daemon-reload
# systemctl start nginx.service
# systemctl enable nginx.service
# systemctl status nginx.service
# yum -x httpd* updaten
(补充:这里以更新除了名字以 httpd 开头外的所有软件包为例)
(注意:这种方法只在本次输入时有效)
或者:
# yum --exclude=kernel* update
(补充:这里以更新除了名字以 kernel 开头外的所有软件包为例)
(注意:这种方法只在本次输入时有效)
# vim /etc/yum.conf
添加以下内容:
......
exlude=mysql* kernel*
(补充:多个不需要升级的软件可以用空格隔开)
(注意:这里修改的配置文件可能是 /etc/yum.conf 也可能是 /etc/yum/yum.conf)
# yum update
# yum install yum-versionlock
# yum versionlock httpd*
(补充:这里以锁定名字以 httpd 开头的所有软件包为例)
# yum update
# yum versionlock list
# yum versionlock delete httpd*
(补充:这里以解除锁定名字以 httpd 开头的所有软件包为例)
# yum versionlock clear
纪念:站主于 2019 年 9 月完成了此开源实验,并将过程中的所有命令经过整理和注释以后,形成以下教程
在 Nginx 官网上下载搭建集群所需软件 Nginx:
http://nginx.org/en/download.html
(1)服务器的系统需要是 CentOS Linux 7 版本
(2)服务器系统需要有 yum 源
# yum -y install gcc pcre-devel openssl-devel
# useradd -s /sbin/nologin nginx
# tar -xvf nginx-1.16.1.tar.gz
(补充:这里要安装的 Nginx 版本是 1.16.1)
# cd nginx-1.16.1
(补充:这里要安装的 Nginx 版本是 1.16.1)
# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
# make && make install
# /usr/local/nginx/sbin/nginx
# curl 127.0.0.1
# /usr/local/nginx/sbin/nginx -V