十一、RPM和YUM
1、rpm
介绍:
rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文
件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类windows的
setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
rpm包的简单查询指令:
- 查询已安装的rpm列表:
rpm -qa
/rpm -qa | grep xx
rpm包名的基本格式:
- 例如有一个rpm包:firefox-68.10.0-1.el7.centos.x86_64
- 名称:firefox
- 版本号:68.10.0-1
- 适用操作系统:el7.centos.x86_64(表示centos7.x的64位操作系统,如果是i686、i386则表示32位系统,如果是noarch则表示二者通用)
其它常用查询指令:
-
查询所安装的所有rpm软件包:
rpm -qa
/rpm -qa | more
/rpm -qa | grep xx
-
查询软件包是否安装:
rpm -q 软件包名
- 例如:
- 例如:
-
查询软件包的信息:
rpm -qi 软件包名
- 例如:
- 例如:
-
查询软件包中的文件:
rpm -ql 软件包名
- 例如:
- 例如:
-
查询文件所属的软件包:
rpm -qf 文件全路径名
- 例如:
- 例如:
rpm包的卸载和安装:
- 卸载:
rpm -e rpm包名
- 例如:卸载桌面上的Firefox浏览器:
rpm -e firefox
- 但是有部分rpm包不能用上述指令删除,因为有其它软件包依赖于要卸载的软件包,如果迫不得已真的要删除可用:
$rpm -e --nodeps rpm包名
- 例如:卸载桌面上的Firefox浏览器:
- 安装:
rpm -ivh rpm包名
(i-install(安装)、v-verbose(提示)、h-hash(进度条))- 例如:安装桌面光盘内Packages文件夹内的firefox
,将其复制到/opt
目录下进行安装:rmp -ivh firefox-68.10.0-1.el7.centos.x86_64.rpm
- 例如:安装桌面光盘内Packages文件夹内的firefox
2、yum
介绍:
yum是一个shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。其下载过程类似于maven。
基本指令:
- 查询服务器所有的软件包:
yum list
- 查询服务器指定的软件包:
yum list | grep 包名
- 例如:查询Firefox的包
- 例如:查询Firefox的包
安装和卸载、更新指令:
- 安装指定的包:
yum install 包名
- 例如安装Firefox:
- 删除Firefox:
yum remove 包名
- 更新指定:
yum update 包名
- 更新所有:
yum updates
- 例如安装Firefox:
3、实战安装jdk
思路:由于Linux的目录结构,软件安装包一般下载在
/opt
目录内,软件一般安装在/usr/local/
内。
-
下载jdk到本地,在
/opt
下创建目录jdk8,通过xftp发送至/opt/jdk8
目录下 -
解压文件到jdk8内:
-
效果图:
-
代码:
mkdir /opt/jdk8 cd /opt/jdk8 tar -zxvf jdk-8u152-linux-x64.tar.gz ls
-
-
在/usr/local/创建java文件夹,将所存放解压好的文件的文件夹移动到java文件夹内
-
效果图:
-
代码:
mkdir /usr/local/java mv /opt/jdk8/jdk1.8.0_152 /usr/local/java cd /usr/local/java/ ls
-
-
可以进入文件内的bin查看信息并试着运行
-
效果图:
-
代码:
cd bin ./java
-
-
上述虽然可用运行,但是只能在该文件内,在其它地方就不行了,所以需要配置环境变量
-
修改/etc/profile文件,添加两条信息,再刷新一下即可
-
查看环境变量:
里面并没有Java的环境变量 -
配置环境变量:
按G,进入最后一行,按i进入编辑模式,输入两行数据
,按Esc键,再按:键,输入wq,退出,再输入source刷新 -
输入java进行测试,有反应,配置成功
-
在此目录内创建HelloWorld.java文件,输出helloworld!!!
-
-
步骤6具体代码:
#1.在jdk的bin目录外测试java能不能运行,上面写错了,./java只能在本目录 cd / java #2.查看环境变量 echo $PATH #3.修改配置文件 vim /etc/profile #按G光标跳到最后一行,从最后一行开始添加,按i进入编辑模式,输入如下两句后,按Esc键,输入wq回车退出,这里的jdk1.8.0_152是可变的,是你具体安装的版本 export JAVA_HOME=/usr/local/java/jdk1.8.0_152 export PATH=$JAVA_HOME/bin:$PATH #4.再次查看环境变量,发现没有变化 echo $PATH #5.刷新配置文件,再次查看,发现添加成功 source /etc/profile echo $PATH #输入java,发控制台成功打印信息 java #6.创建HelloWorld.java,编写helloworld输出 touch HelloWorld.java vim HelloWorld.java #按i进入编辑模式,输入 public class HelloWorld{ public static void main(String[] args){ System.out.println("helloworld!!!"); } } #按Esc键,输入wq回车退出 #7.运行文件 javac HelloWorld.java java HelloWorld #如果成功,控制台输出 helloworld!!!
-
4、实战安装tomcat
思路分析:同上在
/opt
目录内创建文件夹tomcat,通过xftp发送文件到tomcat文件夹内然后解压,进入bin目录下启动服务./starup.sh
#1.创建文件夹
mkdir /opt/tomcat
#2.xftp移动文件
#3.解压
tar -zxvf apache-tomcat-9.0.34.tar.gz
#4.进入bin,开启tomcat服务
cd apache-tomcat-9.0.34/bin/
./startup.sh
#5.在自己的浏览器输入自己的ip地址和8080端口号,查看浏览器有没有反应,答案是没有因为防火墙没有开放8080端口
192.168.200.130:8080
#6.防火墙开启8080端口,重新加载
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
#5.在自己的浏览器输入自己的ip地址和8080端口号,查看浏览器有没有反应
192.168.200.130:8080
5、实战安装mysql
思路分析:方法同上,在opt目录下创建mysql文件夹,cd进去,方法1通过xftp将文件发送过期,方法2通过命令下载mysql文件,然后解压。注意这里是centos7就只能安装mysql5.7,mysql8会缺少依赖
#1.创建文件夹并进去
mkdir /opt/mysql
cd /opt/mysql/
ls
#2.下载mysql/通过xftp发送
wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
ls
#3.解压,这里没有带gz,所以不用z
tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
#4.查询要删除的rpm包,并删除
rpm -qa | grep mari
rpm -e --nodeps mariadb-libs
rpm -e --nodeps marisa
rpm -qa | grep mari
#5.开始安装
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
#6.启动mysql服务
systemctl start mysqld.service
#7.设置mysqlroot用户密码
#mysql会自动给root用户设置密码,所以先查看
grep "password" /var/log/mysqld.log
#显示
2022-11-15T13:26:11.316262Z 1 [Note] A temporary password is generated for root@localhost: 3=FomPp-whjk
2022-11-15T13:26:41.018171Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)
#密码为3=FomPp-whjk
#8.登录mysql
mysql -u root -p
3=FomPp-whjk
#9.修改密码
#对个人开发环境而言,设置密码策略为0(只要求密码长度为8)
set global validate_password_policy=0;
set password for 'root'@'localhost'=password('rootroot');
#10.退出使用新密码登录
6、资源文件
jdk:
Linux
https://www.aliyundrive.com/s/b6z7DWg3tNf
提取码: w0m9
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
tomcat:
Linux
https://www.aliyundrive.com/s/b6z7DWg3tNf
提取码: w0m9
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
mysql:
Linux
https://www.aliyundrive.com/s/b6z7DWg3tNf
提取码: w0m9
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。