1.软件包管理
1.软件包内容
1.二进制包
1.什么是二进制包
1. 二进制包,指的是已经编译好了的软件包,只需要直接安装就可以使用。
2. 二进制包,不需要编译,直接下载安装即可
3. 二进制包,需要根据自己的计算机CPU以及操作系统去选择合适的
4. 二进制包,命名方式一般为: xlockmore-5.31-2.el6.x86_64.rpm
1. uname -r查看linux内核版本
2.源码包
1.什么是源码包?有什么特点?
1. 源码包,指的是程序员写的原始的程序代码文件,不能够直接在计算机上运行。
2. 源码包,需要进行编译,变成二进制的软件包后,才可安装使用
3. 源码包,一般可以在任何的计算机上安装使用
4. 源码包,命名方式一般为:
软件包名.tar.gz**
软件包名.tar.bz2
软件包名.tar.xz
软件包名.zip
5. 优点
通用性
定制
性能
3.二进制源码包(了解)
1.什么是二进制源码包?有什么特点?
1. 二进制源码包,是一个半成品,安装后不能直接使用
2. 二进制源码包,需要使用rpmbuild 工具重建成真正的rpm 包或者重建成源码包才可安装使用
3. 二进制源码包,命名方式一般为:
mysql-community-5.7.25-1.el6.src.rpm
mysql-community-5.7.25-1.el7.src.rpm
二进制包和源码包区别
2.软件包安装方式
1.二进制包
rpm工具安装
首先,需要下载好rpm包到本地然后,直接使用rpm工具安装
yum/dnf工具安装
首先,需要**配置软件仓库**(里面存放很多软件包,但不一定在本地) 然后,使用yum/dnf工具安装
2.源码包
1.根据需求配置功能的定制
2.编译:使用编译器编译成二进制的软件包
3.安装:将软件包安装到指定位置
4.源码包安装优点:
1. 可以在任意平台上编译安装,编译出来的软件包非常适应所在机器。
2. 可以在编译的时候,通过配置,对某些功能进行定制,开启或关闭相应的功能。
重点:redis
下载
链接:
https://blog.csdn.net/qq_34748010/article/details/123894925
或在此模式中操作
下载最新稳定版本
wget https://download.redis.io/redis-stable.tar.gz
下载指定版本
wget http://download.redis.io/releases/redis-6.2.10.tar.gz
我这里下载的是最新稳定版的
下载完成后可以查询看到后缀为tar.gz的一个压缩文件,解压它
解压代码:tar -xzvf redis-6.2.10.tar.gz
然后我们查询一下,就会看到一个redis-stable的文件夹
我们切换到这个文件夹中并查看文件内容
再查看src文件夹的内容:ll src
安装编译环境
yum -y install gcc-c++
开始编译
3.rpm
1.如何获取rpm包
Linux只是内核,Linux发行版本:GNU/Linux
1. RedHat/Centos光盘(.ISO文件) 或官方网站 ftp://ftp.redhat.com
2. 推荐网站
www.rpmfind.net
rpm.pbone.net
3. 相应软件官方网站
http://www.mysql.com
http://nginx.org/packages/
2.如何选择合适的rpm包
1. 选择适合当前系统的版本号
找不到适合的,才去尝试别的系统版本号
el6兼容el5;el5无法安装 el6
2. 选择适合当前计算机cpu的架构
x86_64包,**只能**安装在64位的系统上
i386,i586,i686的软件包可以安装在32和64位系统上
noarch表示这个软件包与硬件构架无关,可以通用
32位系统不能安装64位包
注意: 不要跨大版本号去安装软件包,尽量使用当前版本自带软件包安装
3.如何管理rpm包
rpm工具管理
rpm工具安装rpm包
rpm -ivh 软件包
注意:软件包的名字必须写全,xxx.rpm
rpm工具卸载rpm包
rpm -e 软件包名字
注意:卸载软件只需要跟软件包名字即可
rpm包的升级rpm包
rpm -Uvh 软件包或者 rpm -Fvh 软件包
选项说明:
-v:输出详细信息
-h:打印散列标记,一般和-v一起使用
-U:升级软件包,如果该软件包没安装,会自动帮你安装
-F:升级软件包,如果该软件包没安装,不会自动帮你安装
查看rpm包相关信息
查看已经安装的软件的文件列表
rpm -ql 软件包名
查看未安装的rpm包里的文件列表
rpm -qlp 软件包(xxx.rpm)
查看已经安装的所有rpm包
rpm -qa 软件包名
rpm -aq|grep 软件包名字
查看已经安装软件的文档列表
rpm -qd 软件包名
查看已经安装软件的配置文件
rpm -qc 软件包名
查看已经安装软件的详细信息
rpm -qi 软件包名
查看指定文件来自哪个rpm包
rpm -qf 文件名
rpm工具其他安装选项
--force 表示强制
rpm -ivh 软件包 --force 强制安装软件包
rpm -e 软件包名 --force 强制卸载软件包
--nodeps 忽略依赖关系
rpm -ivh 软件包 --nodeps 忽略依赖关系安装
rpm -e 软件包 --nodeps 忽略依赖关系卸载
其他了解:
rpm --import key_file 导入公钥用于检查rpm文件的签名
rpm --checksig package.rpm 检查rpm包的签名
rpm工具管理rpm软件包
安装、卸载、升级、查看
缺点:有依赖关系需要我们人肉去解决 A---- >B和C
yum工具管理
yum工具管理
yum优点:能够自动解决依赖关系
核心:需要有一个软件仓库,软件仓库指的是来存放软件包和软件包之间的依赖关系地方。
1. 需要有软件仓库
仓库可以在本地——>本地yum源
仓库可以在远程——>网络yum源——>网络必须ok
2. 需要告诉yum工具到哪个仓库里找
默认有一个地方,存放了xxx.repo文件——>定义了去哪个仓库里找
默认情况只有CentOS-Base.repo(网络)有效
yum repolist
yum repolist all
查看CentOS-Media.repo(本地)中的enabled=0表示禁用状态
多个repo可以同时有效,但CentOS-Base.repo优先级高
配置网络源
安装wget
下载工具
yum install wget
备份原来的yum文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
下载阿里云yum配置到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
更新
清空缓存:yum clean all
创建yum缓存 将仓库软件包及软件包之间关系缓存到本地:yum makecache
查看仓库:yum repolist
升级所有包,系统版本和内核,改变软件设置和系统设置:yum -y update
配置本地yum源
1. 本地仓库的分类
BaseOS存储库
BaseOS存储库旨在提供一套核心的底层操作系统的功能,为基础软件安装库
AppStream存储库
AppStream存储库中包括额外的用户空间应用程序、运行时语言和数据库,以支持不同的工作负载和用例。
AppStream中的内容有两种格式——熟悉的RPM格式和称为模块的RPM格式扩展
2. 配置本地仓库
步骤1:挂载镜像到本地系统
1.在虚拟机中配置好虚拟光盘,指定centos镜像文件所在位置
2. mkdir /mnt/cdrom 准备一个空目录
3. mount -r /dev/sr0 /mnt/cdrom 挂载光盘到cdrom空目录
步骤2:修改配置文件指定本地存储库
4. cd /etc/yum.repo.d
mkdir bak
mv *.repo bak
5.vi cdrom.repo文件
[cdrom]
name=cdrom
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
步骤3:查看是否成功
#6.清空yum缓存
[root@localhost yum.repos.d]# yum clean all
#7.创建yum缓存 将仓库软件包及软件包之间关系缓存到本地
[root@localhost yum.repos.d]# yum makecache
#8.查看仓库
[root@localhost yum.repos.d]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识 源名称 状态
cdrom cdrom 447
repolist: 447
yum工具使用
查询
yum search 工具名称
安装软件包
yum -y install 软件包1 软件包2
yum -y groupinstall "包组名"
注意:
1.其中,-y选项表示取消交互
2.包组里面包含很多的软件包。
卸载软件包
yum -y remove 软件包名
yum -y groupremove "包组名"
升级rpm包
yum update 软件包名