运维之基础命令--软件包管理 软件包 rpm包来源 1、来源网络下载 2、来源本地:自己的镜像自带的rpm包 rpm命令 # 安装 rpm -ivh xxx.rpm # http://nginx.org/packages/centos/7/x86_64/RPMS/ -v : 显示安装过程 -i :显示安装包的详细信息 -h : 安装包哈希标记 # 下载Nginx rpm安装包的全名 [root@localhost ~]# wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm --2021-03-17 12:16:47-- http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm Resolving nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5702::6, ... Connecting to nginx.org (nginx.org)|52.58.199.22|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 790284 (772K) [application/x-redhat-package-manager] Saving to: ‘nginx-1.18.0-1.el7.ngx.x86_64.rpm’ 100%[====================================================>] 790,284 339KB/s in 2.3s 2021-03-17 12:16:51 (339 KB/s) - ‘nginx-1.18.0-1.el7.ngx.x86_64.rpm’ saved [790284/790284] # 安装rpm安装包 [root@localhost ~]# rpm -ivh nginx-1.18.0-1.el7.ngx.x86_64.rpm warning: nginx-1.18.0-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY Preparing... ################################# [100%] Updating / installing... 1:nginx-1:1.18.0-1.el7.ngx ################################# [100%] ---------------------------------------------------------------------- Thanks for using nginx! Please find the official documentation for nginx here: * http://nginx.org/en/docs/ Please subscribe to nginx-announce mailing list to get the most important news about nginx: * http://nginx.org/en/support.html Commercial subscriptions for nginx are available on: * http://nginx.com/products/ ---------------------------------------------------------------------- # 验证nginx是否安装成功 [root@localhost ~]# nginx -v nginx version: nginx/1.18.0 # 卸载 [root@localhost ~]# rpm -e nginx (软件包名称) [root@localhost ~]# nginx -v -bash: /usr/sbin/nginx: No such file or directory [root@localhost ~]# # 查看系统当中安装了哪些rpm软件包 rpm -qa # 查看系统当中是否安装了某个rpm软件包 [root@localhost ~]# rpm -q nginx(软件包名) nginx-1.18.0-1.el7.ngx.x86_64 [root@localhost ~]# rpm -q safsdgsfdgfd package safsdgsfdgfd is not installed # 显示已经安装过的rpm包详细信息。 [root@localhost ~]# rpm -qi nginx Name : nginx Epoch : 1 Version : 1.18.0 Release : 1.el7.ngx Architecture: x86_64 Install Date: Wed 17 Mar 2021 04:18:55 PM CST Group : System Environment/Daemons Size : 2830028 License : 2-clause BSD-like license Signature : RSA/SHA1, Tue 21 Apr 2020 11:19:18 PM CST, Key ID abf5bd827bd9bf62 Source RPM : nginx-1.18.0-1.el7.ngx.src.rpm Build Date : Tue 21 Apr 2020 11:07:33 PM CST Build Host : ip-10-1-17-101.eu-central-1.compute.internal Relocations : (not relocatable) Vendor : Nginx, Inc. URL : http://nginx.org/ Summary : High performance web server Description : nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server. # 查看安装包的内容 [root@localhost nginx]# rpm -ql nginx /etc/logrotate.d/nginx /etc/nginx /etc/nginx/conf.d /etc/nginx/conf.d/default.conf /etc/nginx/fastcgi_params /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/mime.types /etc/nginx/modules /etc/nginx/nginx.conf /etc/nginx/scgi_params /etc/nginx/uwsgi_params /etc/nginx/win-utf /etc/sysconfig/nginx /etc/sysconfig/nginx-debug /usr/lib/systemd/system/nginx-debug.service /usr/lib/systemd/system/nginx.service /usr/lib64/nginx /usr/lib64/nginx/modules /usr/libexec/initscripts/legacy-actions/nginx /usr/libexec/initscripts/legacy-actions/nginx/check-reload /usr/libexec/initscripts/legacy-actions/nginx/upgrade /usr/sbin/nginx /usr/sbin/nginx-debug /usr/share/doc/nginx-1.18.0 /usr/share/doc/nginx-1.18.0/COPYRIGHT /usr/share/man/man8/nginx.8.gz /usr/share/nginx /usr/share/nginx/html /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.html /var/cache/nginx /var/log/nginx # 查看配置信息 [root@localhost nginx]# rpm -qc nginx /etc/logrotate.d/nginx /etc/nginx/conf.d/default.conf /etc/nginx/fastcgi_params /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/mime.types /etc/nginx/nginx.conf /etc/nginx/scgi_params /etc/nginx/uwsgi_params /etc/nginx/win-utf /etc/sysconfig/nginx /etc/sysconfig/nginx-debug # 查看文件帮助信息 [root@localhost nginx]# rpm -qd zlib /usr/share/doc/zlib-1.2.7/ChangeLog /usr/share/doc/zlib-1.2.7/FAQ /usr/share/doc/zlib-1.2.7/README # [root@localhost ~]# rpm -qf /usr/sbin/nginx nginx-1.18.0-1.el7.ngx.x86_64 # 用 -p 可以查看未安装软件包的详细信息 [root@localhost ~]# rpm -qip nginx-1.18.0-1.el7.ngx.x86_64.rpm warning: nginx-1.18.0-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY Name : nginx Epoch : 1 Version : 1.18.0 Release : 1.el7.ngx Architecture: x86_64 Install Date: (not installed) Group : System Environment/Daemons Size : 2830028 License : 2-clause BSD-like license Signature : RSA/SHA1, Tue 21 Apr 2020 11:19:18 PM CST, Key ID abf5bd827bd9bf62 Source RPM : nginx-1.18.0-1.el7.ngx.src.rpm Build Date : Tue 21 Apr 2020 11:07:33 PM CST Build Host : ip-10-1-17-101.eu-central-1.compute.internal Relocations : (not relocatable) Vendor : Nginx, Inc. URL : http://nginx.org/ Summary : High performance web server Description : nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server. # 升级软件包 [root@localhost ~]# rpm -Uvh nginx-1.18.0-1.el7.ngx.x86_64.rpm warning: nginx-1.18.0-1.el7.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY Preparing... ################################# [100%] Updating / installing... 1:nginx-1:1.18.0-1.el7.ngx ################################# [ 50%] Cleaning up / removing... 2:nginx-1:1.14.0-1.el7_4.ngx ################################# [100%] [root@localhost ~]# nginx -v nginx version: nginx/1.18.0 # 强制删除软件包--nodeps [root@localhost ~]# rpm -e zlib --nodeps yum yum是CentOS的软件包管理工具,自动为我们解决软件依赖问题。yum包管理工具必须使用yum源指定软件下载地址去下载需要安装的软件包。配置的路径是:/etc/yum.repos.d # 清空本机所有的yum源 [root@www yum.repos.d]# rm -rf /etc/yum.repos.d/* yum源命令 # 查看当前系统的yum源列表 [root@www yum.repos.d]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile repo id repo name status base "This is local repo, and 非常屌" 10,072 repolist: 10,072 # yum清空缓存 [root@www yum.repos.d]# yum clean all Loaded plugins: fastestmirror Cleaning repos: base Cleaning up list of fastest mirrors Other repos take up 76 M of disk space (use --verbose for details) # 建立yum缓存 [root@www yum.repos.d]# yum makecache Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile yum源的执行原理 1、需要在/etc/yum.repos.d目录下配置yum源地址 2、清空缓存建立新的缓存 3、安装软件(自动解决依赖关系) yum常用的基础命令 # 安装软件包的命令 yum install 软件包名称 -y : 免交互安装 # 卸载软件(直接将软件的依赖包一起删除) yum remove 软件包名称 [root@www yum.repos.d]# yum remove httpd -y : 免交互移除 # 查看当前系统需要更新软件 yum check-update # 更新所有的需要更新的软件 yum update -y : 免交互 # 更新某一个软件 yum update (软件包名称) # 重装软件 yum reinstall (软件包名称) # 搜索软件包 [root@www httpd]# yum search (软件包名称) ------------------------------------------------------- # 查看yum执行历史 yum history [root@www httpd]# yum history info (历史ID号) [root@www httpd]# yum history undo (历史ID号) # 查看当前系统当中可更新的软件包 [root@www yum.repos.d]# yum check-update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile postfix.x86_64 2:2.10.1-9.0.1.el7.centos.plus centosplus python-perf.x86_64 3.10.0-1160.15.2.el7.centos.plus centosplus [root@www yum.repos.d]# # 查看系统中有哪些仓库地址 yum repolist # 正在启用的yum仓库 [root@www yum.repos.d]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile repo id repo name status base/7/x86_64 CentOS-7 - Base - repo.huaweicloud.com 10,072 extras/7/x86_64 CentOS-7 - Extras - repo.huaweicloud.com 453 updates/7/x86_64 CentOS-7 - Updates - repo.huaweicloud.com 1,729 yum repolist all # 查看系统中所有的yum仓库 [root@www yum.repos.d]# yum repolist all Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile repo id repo name status base/7/x86_64 CentOS-7 - Base - repo.huaweicloud.com enabled: 10,072 centosplus/7/x86_64 CentOS-7 - Plus - repo.huaweicloud.com disabled extras/7/x86_64 CentOS-7 - Extras - repo.huaweicloud.com enabled: 453 updates/7/x86_64 CentOS-7 - Updates - repo.huaweicloud.com enabled: 1,72 # 启用repo仓库 yum install yum-utils -y 启用一个yum仓库:yum-config-manager --enable (仓库名称) 关闭一个yum仓库:yum-config-manager --disable (仓库名称) # 查看一个仓库中的软件包列表 [root@www yum.repos.d]# yum list # 查看软件包组 [root@www yum.repos.d]# yum grouplist # 安装软件包组 [root@www yum.repos.d]# yum groupinstall "Development Tools" 本地yum源配置 1、备份/etc/yum.repos.d/下的所文件 rm -rf /etc/yum.repos.d/* 2、编写本地yum源 [root@www yum.repos.d]# cat test.repo [base] # yum源名称 name="This is repo infomation" #yum源的简介 baseurl=file:///opt # 指定yum源地址 enabled=1 # 是否启用yum源 gpgcheck=0 # 是否检查gpg秘钥 3、更新缓存 yum makecache 4、安装软件 yum install dos2unix 共享yum源配置 1、安装ftp yum install vsftpd -y 2、启动vsftpd systemctl enable --now vsftpd # 设置开机自启动并且立即启动 3、创建yum源共享文件夹 [root@www ftp]# mkdir /var/ftp/centos 4、将映像中的软件复制到/var/ftp/centos cp -rp /opt/* /var/ftp/centos 5、编辑本地yum源,接入ftp [root@localhost yum.repos.d]# cat local.repo [base] baseurl=ftp://192.168.15.100/centos name="This is ftp repo" enabled=1 gpgcheck=0 6、测试安装 yum install dos2unix -y yum的配置 # yum仓库的机器上执行 1、修改/etc/yum.conf cachedir=/var/ftp/centos/Packages # 指定yum缓存目录 keepcache=1 # 下载的缓存软件不立即删除, 0为立即删除 2、安装ftp yum install vsftpd -y 3、启动vsftpd systemctl enable --now vsftpd # 设置开机自启动并且立即启动 4、创建yum源共享文件夹 [root@www ftp]# mkdir /var/ftp/centos 5、更新yum仓库 [root@www ftp]# yum clean all [root@www ftp]# yum makecache 6、建立一个快捷方式 cd /var/ftp/centos/Packages/base ln -s packages Packages 7、安装mariadb yum install mariadb -y 8、建立/var/ftp/centos/Packages/base/repodata mkdir /var/ftp/centos/Packages/base/repodata 9、把/var/ftp/centos/Packages/base下面的自动生成的压缩文件复制到/var/ftp/centos/Packages/base/repodata用做认证。 # 使用yum仓库的机器上执行 1、建立yum配置文件 [root@localhost ~]# cat /etc/yum.repos.d/local.repo [base] baseurl=ftp://192.168.15.100/centos/Packages/base name="This is ftp repo" enabled=1 gpgcheck=0 2、更新yum仓库 [root@www ftp]# yum clean all [root@www ftp]# yum makecache 3、测试安装mariadb yum install mariadb -y 运维 > (一)基础命令 运维之基础命令--软件包管理 http://gsproj.github.io/2022/07/06/01_运维/01-基础命令/day12-软件包管理/软件包/ 作者 GongSheng 发布于 2022年7月6日 许可协议 运维之基础命令--用户组管理 上一篇 运维之基础命令--用户权限 下一篇