软件管理(rpm、yum、编译)
1.1软件管理简介
安装软件
查看软件
卸载软件
Windows安装/卸载
软件的安装:
方法一:双击exe的安装包,就可以点击下一步进行安装
- 用exe安装的软件会被记录到注册表中
- 在注册表中会记录软件的安装位置、软件的名称
方法二:用绿色方式进行安装
- 绿色方式安装不会写进注册表,因此无法在开始菜单查看和卸载软件
软件的卸载
方法一:用exe安装的软件,可以在开始带单重查看到,而且可以进行卸载
- 在进行卸载软件的时候都是会去通过读取注册表中的记录,将软件的安装位置下的文件都删除,这样就是实现了软件的卸载
方法二:直接删除源文件就可以卸载
Linux的软件安装卸载
方法一:rpm包安装 - 类似Windows中exe安装
方法二:yum安装-yum也是安装rpm包
方法三:源码编译安装
1.2 rpm安装软件
1.2.1rpm简介
一种用于Linux系统的软件包管理机制,全称为Red Hat Package Manager。
rpm类似于windows的注册表,用于记录软件的安装过程中生成的文件的位置,因此借助于rpm可以实现软件的卸载
优点:安装过程非常简单缺点:安装过程不可控,包括软件的安装位置,软件的版本选择
1.2.2 rpm包的来源
包的来源有两种
本地rpm包:
- 安装系统的光盘镜像中
线上rpm包:
- 阿里:https://mirrors.aliyun.com/
- 华为:https://mirrors.huaweicloud.com/
- 网易:https://mirrors.163.com/
- 清华:https://mirrors.tuna.tsinghua.edu.cn/
- 中科大:https://mirrors.ustc.edu.cn/
软件的类别:
官方提供的rpm包
- Centos官方提供的rpm包
第三方提供的rpm包
- epel 的 rpm 包
软件包名解释
metis-5.1.0-12.e17.x86_64.rpm
软件名:metis
软件版本:5.1.0-12
适用的系统类型:e17,这个表示Centos7可用
适用的cpu架构:x86_64
后缀:rpm
1.2.3 rpm管理软件
命令格式
rpm 【选项】 软件包/软件名
选项:
-i: 安装软件
-v: 显示安装过程的信息
-h: 用#表示安装进度,一个#表示%2
-ivh: 安装软件,显示安装过程信息
-e: 卸载软件
-q: 查看软件是否已经安装
-ql: 查看安装软件生成的文件列表
-qc: 查看安装软件生成的配置文件
-qf: 查看文件是哪个软件安装过程中生成的
--nodeps: 强制忽略依赖关系
--replacepkgs:覆盖安装
使用系统光盘镜像中的软件包
安装步骤
第一步:将光盘加载到虚拟机
第二步:挂载光盘
- Linux中使用外部设备,必须进行挂载
- linux中/dev/cdrom就是光盘,也就是我们加载到的虚拟机中的系统镜像文件,也就是那个iso文件
- 设备文件无法直接使用,必须将设备关联到一个目录才能使用【关联就是挂载】
- 一般是挂载到 /mnt 或 /media 下
- 命令:mount /dev/cdrom /mnt
第三步:查看rpm包
ls /mnt/Packages/
案例:安装zsh-5.0.2-34_8.2.x85_64.rpm
1、检查zsh这个软件是否安装了 zsh-5.0.2-34.el7_8.2.x86_64.rpm
[root@localhost ~]# rpm -q zshpackage zsh is not installed2、安装zsh
[root@localhost ~]# cd /mnt/Packages/[root@localhost Packages]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm[root@localhost Packages]# rpm -q zshzsh-5.0.2-34.el7_8.2.x86_64
3、卸载zsh[root@localhost Packages]# rpm -e zsh[root@localhost Packages]# rpm -q zshpackage zsh is not installed
4、安装zsh,查看安装后生成了哪些文件[root@localhost Packages]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm[root@localhost Packages]# rpm -ql zsh
5、检测/etc/passwd这个文件是哪个软件生成的[root@localhost Packages]# rpm -qf /etc/passwd
setup-2.8.71-11.el7.noarch
A→B→C→D安装 A 软件,需要提前安装好 B 软件,安装 B 软件前,需要提前安装好 C 软件...
例如:安装gcc
1、找到gcc
[root@localhost ~]# cd /mnt/Packages/[root@localhost Packages]# ls gcc-4.8.5-44.el7.x86_64.rpmgcc-4.8.5-44.el7.x86_64.rpm
2、安装安装过程中就会出现依赖关系
1.3 yum安装软件
1.3.1 yum简介
yum:Yellowdog Update Manager
yum作用:解决rpm包的依赖关系通过yum可以自动判断软件包依赖哪些其他的包,并且将依赖的软件包依次按照顺序进行安装。
yum安装软件流程
第一步:去找yum原
第二步:去下载仓库的元数据
第三步:通过元数据分析目标仓库是否有要安装的软件包,并且获取软件包的依赖关系信息。
第四步:根据元数据的分析结果在yum源中去下载rpm包到本地
第五步:根据元数据的分析结果依次按照顺序安装rpm包
元数据(repodata)
1、仓库中的全部软件名
2、仓库中每个软件的版本号
3、仓库中每个软件的依赖信息
yum源/yum仓库(Packages)
第一种:自己创建yum仓库
第二种:使用现有的yum仓库【本地/远程】
yum源,其实就是一个文件夹,保存了我们可能会用到的所有rpm包
1.3.2 配置本地yum源
创建本地yum源有两种方法
方法一:直接使用光盘作为yum源
方法二:自己创建一个目录,在目录中准备rpm包和元数据
使用光盘作为yum源
第一步:挂载光盘
mkdir /test/testyum -p 自己创建一个目录作为挂载点
mount /dev/cdrom /test/testyum/ 挂载光盘
ls /test/testyum/ 检查挂载点
第二步:修盖yum的配置文件,指向我们创建的yum源:/test/testyum/
yum的配置文件包括主配置文件和子配置文件
主配置文件:/etc/yum.conf
子配置文件:/etc/yum.repos.d下,配置文件的名称无所谓,但是后缀必须是.repo
1、切换路径
cd /etc/yum.repos.d/
2、备份/删除原来的配置文件mkdir bak
mv *.repo bak
3、新建一个配置文件,指向我们的yum仓库
vi local.repo 里面内容是:
[myrepo] #指定yum仓库的id,这行不能有空格name=my repo #指定yum仓库的名称,可以随便写
enabled=1 #指定yum仓库是否激活,0表示不激活,1表示激活
gpgcheck=0 #指定是否检查rpm包的来源合法性,0表示不检查,1表示检查
baseurl=file:///test/testyum/ #指定yum仓库的位置
第三步:检查配置是否成功
yum clean all #清除缓存
yum repolist #生成缓存
1.3.3 使用网络yum源
网络源
阿里:https://mirrors.aliyun.com/
华为:https://mirrors.huaweicloud.com/
网易:https://mirrors.163.com/
清华:https://mirrors.tuna.tsinghua.edu.cn/
中科大:https://mirrors.ustc.edu.cn/
清华的Centos源
https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/
注意:虚拟机需要能上网
ping www.qq.com
配置清华的Centos源
第一步:创建yum源配置文件
cd /etc/yum.repos.d/
vim ali-centos.repo
[alicentos]
name=ali centos
enable=1
gpgcheck=0
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/
第二步:检查是否成功yum clean all
yum repolist
配置清华的epel源
第一步:创建yum配置文件
cd /etc/yum.repos.d/
[qinghuaepel]enabled=1
gpgcheck=0
baseurl=0
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7Server/x86_64/
第二步:检查是否成功yum clean all
yum repolist
1.3.4yum用法
1、安装软件 yum install 软件名
2、卸载软件 yum remove 软件名
3、清除缓存 yum clean all
4、生成缓存 yum repolist
5、localinstall 用于安装本地的rpm包
1.4 编译安装软件
先有源码包还是先有rpm包?
- 程序员写的是源码:c java
- 计算机需要将源码转化为01代码【机器码】 - 转换过程就是编译
- 计算机能运行编译后的程序
1.4.1 安装源码包的过程
第一步:解压源码包
第二步:进入解压目录
第三步:安装依赖
第四步:执行./configure
执行这个命令有两个作用
1:检查当前系统环境是否满足后续操作
2:指定软件的安装路径
第五步:执行make
进行编译的过程
第六步:执行make install
将编译好的程序进行安装
1.4.2 安装nginx
nginx软件包下载地址:nginx.org
进入之后点击nginx-1.25.3(版本自己选择),然后选择稳定版下面中间的即可
上传nginx的软件包
需安装组件:lrzsz
yum install lrzsz -y
注意:只有在xshell中才能用rzsz进行拖拽文件
第一步:解压源码包
tar xvf nginx-1.22.1.tar.gz
会得到一个压缩包同名目录 nginx-1.22.1
第二步:进入解压目录
cd nginx-1.22.1
第三步:安装依赖
yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel ncurses-devel -y
第四步:执行./configure./configure --prefix=/usr/local/nginx
注意:--prefix=/usr/local/nginx 指定软件的安装位置是/usr/local/nginx
第五步:执行make
make
第六步:执行make installmake install
注意 :
编译安装的软件,用rpm不可以查看
编译安装的软件,用yum不可以卸载