23-RPM升级及yum history,info,sudo

观书散遗帙,探古穷至妙。这篇文章主要讲述23-RPM升级及yum history,info,sudo相关的知识,希望能为你提供帮助。
[TOC]


一、rpm-升级

# 选项
-U : update升级,如果老版本不在则安装,如果老版本在则升级
-f: 必须老版本在才能升级

#查询当前系统中安装的nginx包
0 ? 03:47:54 root@yyds,10.0.0.100:< sub> # rpm -q nginx
nginx-1.12.0-1.el7.ngx.x86_64

# -ivh 安装nginx1.12版本包 有老版本报错无法安装
0 ? 04:08:36 root@yyds,10.0.0.100:< /sub> # rpm -ivh nginx-1.12.0-1.el7.ngx.x86_64.rpm
warning: nginx-1.12.0-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
Preparing...################################# [100%]
file /etc/logrotate.d/nginx from install of nginx-1:1.12.0-1.el7.ngx.x86_64 conflicts with file from package nginx-1:1.10.0-1.el7.ngx.x86_64
file /usr/libexec/initscripts/legacy-actions/nginx/upgrade from install of nginx-1:1.12.0-1.el7.ngx.x86_64 conflicts with file from package nginx-1:1.10.0-1.el7.ngx.x86_64

1 ? 04:09:01 root@yyds,10.0.0.100:< sub> # rpm -q nginx
nginx-1.10.0-1.el7.ngx.x86_64

# -Uvh 即可以升级老版本,还可以直接安装上安装包
3 ? 04:10:10 root@yyds,10.0.0.100:< /sub> # rpm -Uvh nginx-1.12.0-1.el7.ngx.x86_64.rpm
warning: nginx-1.12.0-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
Preparing...################################# [100%]
Updating / installing...
1:nginx-1:1.12.0-1.el7.ngx################################# [ 50%]
Cleaning up / removing...
2:nginx-1:1.10.0-1.el7.ngx################################# [100%]
0 ? 04:10:22 root@yyds,10.0.0.100:~ #

二、rpm-卸载
-e后面接的卸载的包名即可
0 ? 04:10:22 root@yyds,10.0.0.100:< sub> # rpm -q nginx
nginx-1.12.0-1.el7.ngx.x86_64
0 ? 04:32:41 root@yyds,10.0.0.100:< /sub> # rpm -e nginx
0 ? 04:33:17 root@yyds,10.0.0.100:~ # rpm -q nginx
package nginx is not installed

-e 同时卸载多个

三、镜像地址1.阿里云镜像站:http://mirrors.aliyun.com
2.网易镜像站:http://mirrors.163.com/
3.清华源:https://mirrors.tuna.tsinghua.edu.cn
4.中科大源:https://mirrors.ustc.edu.cn/
第二部分yum一、yum的概述1、什么是yum
【23-RPM升级及yum history,info,sudo】yum也是一种rpm包管理工具,相比于rpm命令,优势是可自动解决依赖关系。自动解决依赖关系的前提条件,你的yum源要有这些依赖包,
nginx安装依赖 pcre-devel openssl-devel
yum install -y nginx

2、什么是yum源
yum源:可理解为手机的应用商店
yum源其他名称:镜像站,yum仓库、rpm仓库
3、配置yum源
# 使用阿里云的yum源
http://mirrors.aliyun.com

#系统中需要的基础yum源
base源:和镜像中的Linux基础包差不多
epel源:一些扩展安装包

#yum的配置文件存放目录*****
0 ? 04:37:52 root@yyds,10.0.0.100:< sub> # ll /etc/yum.repos.d/
total 40
-rw-r--r--. 1 root root 2495 Feb 14 08:16 CentOS-Base.repo
-rw-r--r--. 1 root root549 Nov 232020 CentOS-Base.repo.gz
-rw-r--r--. 1 root root735 Nov 232020 CentOS-CR.repo.gz
-rw-r--r--. 1 root root426 Nov 232020 CentOS-Debuginfo.repo.gz
-rw-r--r--. 1 root root232 Nov 232020 CentOS-fasttrack.repo.gz
-rw-r--r--. 1 root root381 Nov 232020 CentOS-Media.repo.gz
-rw-r--r--. 1 root root506 Nov 232020 CentOS-Sources.repo.gz
-rw-r--r--. 1 root root813 Nov 232020 CentOS-Vault.repo.gz
-rw-r--r--. 1 root root272 Nov 232020 CentOS-x86_64-kernel.repo.gz
-rw-r--r--. 1 root root664 Dec 262020 epel.repo

# 1.删除官方的yum源
[root@zls < /sub> ]# rm -f /etc/yum.repos.d/*
# 2.安全方式,不使用yum源
[root@zls < sub> ]# gzip -r /etc/yum.repos.d/
# 3.下载Base源
[root@yyds < /sub> ]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@yyds < sub> ]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 4.下载epel源
[root@yyds < /sub> ]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
% Total% Received % XferdAverage SpeedTimeTimeTimeCurrent
DloadUploadTotalSpentLeftSpeed
00000000 --:--:-- --:--:-- --:-1006641006640083580 --:--:-- --:--:-- --:--:--8405

#注意:
在/etc/yum.repos.d/目录下所有yum源配置,必须以.repo结尾

##安装nignx服务,使用nginx官方yum源
#1.打开nginx.org官网
#2.找到我nginx的yum仓库
#3.vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

二、yum命令实践1、yum查询
# 查看yum仓库中所有可以安装的rpm包
[root@yyds < sub> ]# yum list

#过滤查看yum仓库中是否有wget包
[root@yyds < /sub> ]# yum list |grep wget
wget.x86_641.14-18.el7_6.1base

# yum info 查看yum仓库中,所有安装包的详细信息
[root@yyds < sub> ]# yum info

[root@yyds < /sub> ]# yum info |grep mkdir
: server edg-gridftp-mkdircreate a directory on the server
Name: nodejs-mkdirp
URL: https://github.com/substack/node-mkdirp
Description : Creates directories recursively, like `mkdir -p`.
: the atomic nature of the link (on Unix) and mkdir (on Windows)
: the atomic nature of the link (on Unix) and mkdir (on Windows)
:o p.mkdir() succeeds silently if the directory already exists,
:o p.mkdir(True) creates intermediate directories a la
: the atomic nature of the link (on Unix) and mkdir (on Windows)
: mkdir.sh, install.sh and related scripts.

#
[root@yyds ~]# yum provides */ifconfig(#查找安装包,要用绝对路径,或用*代替)
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
#该命令隶属的安装包名
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
#隶属的仓库
Repo: base
Matched from:
Filename: /sbin/ifconfig#装完后,命令会在/usr/sbin下叫inconfig

2、安装方式
#安装方式
-本地安装
yum localinstall -y 包名 (包在服务器上)

-yum源安装
yum install -y tree

-网站上安装
yum install -y http://test.driverzeng.com/Nginx_package/nginx-1.12.2- 3.el7.x86_64.rpm
自动解决依赖关系的前提条件:在你的所有yum源中都要有该软件的依赖包

3、yum重装
yum reinstall -y 包名
[root@yyds < sub> ]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@yyds < /sub> ]# cd /etc/vsftpd/
[root@yyds vsftpd]# ll
total 20
-rw-------. 1 root root125 Jun92021 ftpusers
-rw-------. 1 root root361 Jun92021 user_list
-rw-------. 1 root root 5116 Jun92021 vsftpd.conf
-rwxr--r--. 1 root root338 Jun92021 vsftpd_conf_migrate.sh
[root@yyds ~]# cd /etc/vsftpd/
[root@yyds vsftpd]# ll
total 20
-rw-------. 1 root root125 Jun92021 ftpusers
-rw-------. 1 root root361 Jun92021 user_list
-rw-------. 1 root root 5116 Jun92021 vsftpd.conf
-rwxr--r--. 1 root root338 Jun92021 vsftpd_conf_migrate.sh
[root@yyds vsftpd]# rm -fftpusers
[root@yyds vsftpd]# ll
total 16
-rw-------. 1 root root361 Jun9

    推荐阅读