从零开始学Linux-第八天 Centos 7软件包的管理与安装

内容:
8.1 使用rpm命令 安装、查看、卸载rpm软件包
8.2 yum管理软件包
8.3 tar源码包管理
8.1 软件包的管理
   软件包的类型:
   rpm:二进制包 -- 已使用GCC编译后的
   tar:源码包
   RPM:RPM Package Manager(RPM软件包管理器)
8.1.1 rpm 软件包的管理
   rpm包的获取方式:
   1.Centos系统镜像光盘
   2.网站。rpmfind.net
   3.安装mysql,nginx软件等。可以去官方网站下载。
   rpm包格式说明:
   [root@localhost ~]# ls /mnt/Packages/sqlite-3.7.17-8.el7.x86_64.rpm
   /mnt/Packages/sqlite-3.7.17-8.el7.x86_64.rpm
   sqlite  -3.   7.   17-   8.   el7.   x86_64.rpm
   软件名 主版本号 次版本号 修订 release 操作系统版本 软件包是64位
8.1.2 安装rpm软件
   RPM工具使用分为安装、查询、验证、更新、删除等操作。
   命令格式:rpm [options] 软件包
   参数:
-iinstall,安装软件包
-v显示附加信息,提供更多详细信息
-V校验,对已经安装的软件进行校验
-h--hash 安装时输出####标记

  rpm使用时,在安装和更新升级时使用软件包全名。对已经安装过的软件包进行操作时,比如查找已经安装的某个包,卸载包等,使用包名。默认是去 /var/lib/rpm 下面进行搜索。当一个rpm包安装到系统中后,安装信息通常会保存在本地 /var/lib/rpm 目录下

  8.1.2.1 从本地安装
[root@localhost ~]# rpm -ivh /mnt/Packages/sqlite-3.7.17-8.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
	package sqlite-3.7.17-8.el7.x86_64 is already installed
[root@localhost ~]# rpm -qa | grep sqlite
sqlite-3.7.17-8.el7.x86_64
  8.1.2.2 从网络下载直接安装centos epel源
[root@localhost ~]# rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Retrieving https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
warning: /var/tmp/rpm-tmp.KIFVDH: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:epel-release-7-12                ################################# [100%]
   
# epel源是对Centos 7系统中自带的base源的扩展
8.1.3 rpm查询功能

  用法:rpm -q(query) 常与下面参数组合使用

  -a(all):查询所有已安装的软件

  -f(file):系统文件名(查询系统文件所属那个软件包),反向查询

  -i:显示已经安装的rpm软件包信息,后面直接跟包名

  -l(list):查询软件包中文件安装的位置

  -p:查询未安装软件包的相关信息,后面跟软件的名称

  -R:查询软件包的依赖关系

8.1.4 查看软件包内容是否被修改

  使用方法:rpm -Vf 文件路径

[root@localhost ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@localhost ~]# rpm -qf /usr/bin/ls
coreutils-8.22-23.el7.x86_64
[root@localhost ~]# rpm -Vf /usr/bin/ls
[root@localhost ~]# echo aaa >> /usr/bin/ls
[root@localhost ~]# rpm -Vf /usr/bin/ls
S.5....T.    /usr/bin/ls
[root@localhost ~]# rpm -V coreutils
S.5....T.    /usr/bin/ls

  注:如果出现的全是点,表示测试通过,出现下面的字符代表某测试失败

5MD5校验和是否改变,也可看成文件内容是否改变
S文件长度,大小是否改变
L符号链接,文件路径是否改变
T文件修改日期是否改变
D设备
U用户,文件的属组
G用户组
M模式,包含许可和文件类型
不可读文件
8.1.5 rpm包卸载和升级

  用法:

# 卸载 rpm -e (erase) 包名
[root@localhost ~]# yum -y install zsh
[root@localhost ~]# rpm -qa zsh
zsh-5.0.2-34.el7_8.2.x86_64
[root@localhost ~]# rpm -e zsh
[root@localhost ~]# rpm -qa zsh
# 参数 --nodeps 忽略依赖,建议在卸载时不要用rpm去卸载有依赖关系的包,应该用yum
[root@localhost ~]# rpm -e --nodeps lrzsz

# 升级 rpm -Uvh 包名
[root@localhost ~]# rpm -Uvh /mnt/Packages/openssl-1.0.2k-16.el7.x86_64.rpm
# 因为升级软件包时会有一些依赖包要解决,所以一般都是使用 yum update 包名 来升级
8.1.6 解决rpm依赖关系
[root@localhost ~]# rpm -ivh /mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm 
error: Failed dependencies:
	mariadb(x86-64) = 1:5.5.56-2.el7 is needed by mariadb-server-1:5.5.56-2.el7.x86_64
	mariadb-libs(x86-64) = 1:5.5.56-2.el7 is needed by mariadb-server-1:5.5.56-2.el7.x86_64
	perl(DBI) is needed by mariadb-server-1:5.5.56-2.el7.x86_64
	perl(Data::Dumper) is needed by mariadb-server-1:5.5.56-2.el7.x86_64
	perl-DBD-MySQL is needed by mariadb-server-1:5.5.56-2.el7.x86_64
	perl-DBI is needed by mariadb-server-1:5.5.56-2.el7.x86_64
# 解决方法,使用yum 安装,由于rpm依赖关系非常多,所以一般都是使用yum -y install 软件名 进行安装
[root@localhost ~]# yum -y install mariadb-server
Installed:
  mariadb-server.x86_64 1:5.5.65-1.el7                                                                 

Dependency Installed:
  mariadb.x86_64 1:5.5.65-1.el7                     perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7      
  perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7       perl-DBD-MySQL.x86_64 0:4.023-6.el7               
  perl-DBI.x86_64 0:1.627-4.el7                     perl-IO-Compress.noarch 0:2.061-2.el7             
  perl-Net-Daemon.noarch 0:0.48-5.el7               perl-PlRPC.noarch 0:0.2020-14.el7                 

Dependency Updated:
  mariadb-libs.x86_64 1:5.5.65-1.el7                                                                   

Complete!
8.2 yum的使用

  yum 全称为 Yellow dog Updater,Modified。是一个前端软件包管理器。基于rpm包管理,能够从指定服务器自动下载rpm包并安装,可以自动处理依赖关系,并且一次性安装所有依赖的软件包,无需繁琐的安装每个依赖关系。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,基于C/S架构

8.2.1 配置yum源

  8.2.1.1 配置本地yum源

    1. 先在虚拟机上挂载完整版镜像,然后在终端操作

[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 is write-protected, mounting read-onl
[root@localhost ~]# vim /etc/yum.repos.d/centos7.repo
# 在新建的repo文件中添加如下内容
[centos7]	#yum源名称,用来区分不同的yum源
name = Centos7	#对yum源的描述
baseurl = file:///mnt	#yum源的路径,提供方式包括ftp(ftp://...),http(http://...),本地(file:///光盘挂载的位置)
enable = 1	#是否启用,0为禁用
gpgcheck = 0	#使用公钥校验rpm包的正确性,0为不校验
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Centos-7	#指定进行rpm校验的公钥文件地址

    8.2.1.2 网络yum源

    Centos 7 配置网络yum源

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# wget 下载文件 -O 把下载的文件存到另一个文件中
[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo
# 找到 baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
# $releasever 系统的版本的值等于下面的值,$baseurl等于 x86_64
[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
# yum 常用操作
[root@localhost ~]#yum clean all 	#清理yum缓存
[root@localhost ~]#yum list			#查看列表
[root@localhost ~]#yum -y install 软件包名	#安装软件包 -y 直接安装
[root@localhost ~]#yum -y update	#升级软件包,改变软件设置和系统设置,系统版本内核都升级
[root@localhost ~]#yum -y upgrade 	#升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变
[root@localhost ~]#yum -y update 	#不加任何包,表示整个系统进行升级
[root@localhost ~]#yum info httpd 	#查询rpm包作用
[root@localhost ~]#yum provides /usr/bin/find	#查询包是哪个软件安装的
[root@localhost ~]#yum -y remove 包名		#卸载包
[root@localhost ~]#yum search	keyword	#按关键字搜索软件包

# yum 安装开发工具软件包组
[root@localhost ~]#yum grouplist	#查询有哪些软件包组
[root@localhost ~]#yum groupinstall groupname
[root@localhost ~]#yum groupinstall 'Development tools'	#安装开发工具软件包组
8.3 tar源码包管理-srpm源码包安装方法

  8.3.1 源码安装nginx

  1.编译环境,如gcc和gcc-c++编译器,make

  2.准备软件:nginx-1.8.1.tar.gz

  链接:https://pan.baidu.com/s/1kWPc2SAHBuRLHNV3VaS3Vw
提取码:gjls

# 部署nginx
[root@localhost ~]# yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel
# pcre:支持正则表达式,地址重写 rewrite
# 开始安装,编译步骤  ./configure  make make install
[root@localhost ~]# cd /usr/src/
[root@localhost ~]# sz 	#把nginx软件包上传至服务器
[root@localhost src]# tar xvf nginx-1.8.1.tar.gz 
[root@localhost src]# cd nginx-1.8.1
[root@localhost src]# ./configure --prefix=/usr/local/nginx
[root@localhost src]# make -j 4
[root@localhost src]# make install

# 源码编译安装详解:
# ./configure:
# a:指定安装路径,--prefix=/usr/local/nginx 
# b:启用活禁用某项功能,例如 --enable-ssl,--disable-filter --with-httpd_ssl_module
# c:和其他软件关联 --with-pcre

# 删除源码包 make uninstall
# 有时会删除不干净,所以一般在安装时,在./configure 步骤中添加 --prefix 参数,这样删除# 或备份时,直接删除--prefix指定的安装目录就可以了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值