第7章 软件的安装与卸载
礼数在简在醇正,不在繁多不在表
软件安装方式概述
CentOS安装软件的方式主要包括:
- 源码安装
- rpm安装(二进制安装)
- yum安装(在线安装)
源码安装:
源码包是指C等语言所开发的源代码文件的一个压缩包,通常压缩为.tar.gz或.tar.bz2。源码通常需要编译器将其编译成二进制文件,如gcc编译器。
优点:
(1)开源,有能力者可以修改源代码;特别是要对某个软件,从头开发时,就特别需要对源码进行解读分析。
(2)可自由选择所需功能;
(3)卸载方便,直接删除目录即可。
(4)对于学习者而言,源码安装更有利于学习者发现软件环境和工具之间所依赖的关系。
缺点:
(1)安装麻烦,需要自行解决工具之间的依赖关系。
(2)某些软件编译过程耗费的时间较长,我曾发生过编译两三天的情况。尤其是在不合适的硬件上,安装大型软件时,最容易折磨人,甚至要考虑系统与硬件的兼容性、配置等问题,系统本身有缺陷,那就更要命了,有时需先修补系统bug【主要是功能不齐全,残缺情况居多】
(3)大型软件编译,对新手来说较为麻烦,所报错误往往超过所能解决的范围,排错过程有可能会把系统给搞崩溃。
rpm安装:
RPM包:由Red Hat公司开发的包管理系统,软件的安装、升级、卸载都非常简单和方便。目前很多Linux发行版都在使用这种包管理机制,包括CentOS、Redhat、Fedora等。软件包文件后缀是”.rpm”。
DPKG包:由Debian Linux开发出来的包管理机制,主要应用在Debian和Unbuntu系统中。软件包文件后缀是”.deb”。
优点:
(1)包安装与管理简单,往往仅通过几个命令即可实现包的安装、升级、查询和卸载。
(2)通常安装速度要比源码安装快很多;
缺点:
(1)二进制文件,看不到源码了,修改和分析源码已不太可能。
(2)模块功能已经被定制,用户功能选择远不如源码灵活;
(3)有时也需要解决依赖性的问题,此时解决依赖性有一定的困难。
yum安装:
yum软件仓库是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术。
yum的关键之处是要有可靠的respository(保证能够连接互联网,还需要保证它是一个互联网上正常可用的仓库)。
它能够从指定服务器自动下载rpm包并安装。yum能够自动解决软件依赖性问题,一次性安装所有依赖的软件包。
yum安装与卸载的相关命令
安装命令:yum -y install 软件名
升级命令:yum -y install 软件名
升级所有软件:yum -y install
卸载命令:yum remove 软件名
列出可安装的软件包:yum list
列出已安装的软件包:yum list installed
查询某个软件包:yum list 软件名
根据关键字搜索软件包:yum search Keyword
清除缓存:yum clean all
JDK的安装与配置
- 从yum仓库中搜索jdk:yum search jdk
- 安装jdk:yum -y install java-17-openjdk-devel.x86_64
- 看看jdk的安装目录:
- which java
- ls -l /usr/bin/java
- ls -l /etc/alternatives/java
- 在/etc/profile文件中配置环境变量:
1 | export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.6.0.10-3.el9.x86_64 |
- 生效:source /etc/profile
Tomcat服务器的安装与配置
- Tomcat是Java语言实现的,因此使用Tomcat服务器的前提是:已经安装并配置了Java环境。
- 下载Tomcat
- 官网:https://tomcat.apache.org/
- 下载tomcat10
- 使用FTP工具将以上压缩包上传到CentOS。
- 解压到当前目录下
- 第三方软件一般存放在/usr/local目录下,使用mv命令tomcat移动到该目录下
- 为了方便配置环境变量,将目录名重命名
现在Tomcat服务器的根路径是:/usr/local/tomcat10
- 配置环境变量
让环境变量生效:
- 启动Tomcat
- 查看服务器IP地址
- 关闭防火墙
- 打开windows上的浏览器,输入地址访问
- 关闭tomcat服务器
服务器关闭之后,重新打开一个全新的浏览器,再次输入访问地址,会发现无法访问了。
MySQL的安装与配置
MySQL8的安装
以下是在CentOS Stream系统上安装MySQL8的步骤:
- 更新系统软件包
使用以下命令更新CentOS Stream系统上的软件包:
1 | dnf update |
安装MySQL8需要更新系统上的软件包是因为MySQL8需要使用一些较新的依赖库和工具,而CentOS Stream默认的软件包版本可能较旧,无法满足MySQL8的要求。更新系统上的软件包可以确保系统中的依赖库和工具版本与MySQL8的要求相匹配,从而保证MySQL8的正常运行。
dnf和yum都是CentOS中的包管理器,它们的作用是安装、升级、删除软件包以及解决软件包依赖关系。它们的区别如下:
- 语法不同:dnf命令的语法更加简洁,而yum命令的语法相对较长。
- 性能不同:dnf命令在处理软件包时的性能比yum命令更好,因为dnf使用了更高效的算法。
- 依赖关系处理不同:dnf命令在处理软件包依赖关系时更加智能,能够自动选择最佳的依赖关系解决方案。
- 使用的库不同:dnf命令使用了更加现代化的libdnf库,而yum命令使用了较老的yum库。
- 可用插件不同:dnf命令支持更多的插件,可以实现更多的功能。
总的来说,dnf命令是yum命令的升级版本,它在性能、依赖关系处理和可用插件等方面都更加优秀。
- 添加MySQL Yum存储库
使用以下命令将MySQL Yum存储库添加到系统中:
1 | dnf install https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm |
MySQL Yum存储库怎么获取?如下图所示:从mysql官网获取
- 导入mysql公钥
1 | rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 |
- 安装MySQL 8
1 | dnf install mysql-community-server |
- 启动MySQL服务
1 | systemctl start mysqld |
- 设置MySQL开机自启
1 | systemctl enable mysqld |
- 查看root账户的临时密码
1 | grep 'temporary password' /var/log/mysqld.log |
- 配置MySQL安全设置
1 | mysql_secure_installation |
按照提示输入密码并回答问题,完成安全设置。
- 登录MySQL
1 | mysql -u root -p |
完成以上步骤后,您就可以在CentOS Stream系统上安装并使用MySQL 8了。
MySQL8设置字符集
- 查看MySQL8字符集
在MySQL命令行界面中输入以下命令:
1 | show variables like '%character%'; |
可以查看MySQL的字符集设置。
- 如果字符集不是utf8,可以在/etc/my.cnf文件中进行配置,在[mysqld]下面添加如下配置:/etc/my.cnf是mysql的配置文件。
1 | [mysqld] |
保存并退出。
- 重启MySQL服务
在终端中输入以下命令:
1 | systemctl restart mysqld |
- 再次查看MySQL8的字符集是否为utf8
在MySQL8中为Java程序员创建专属的MySQL用户
首先,以root用户身份登录MySQL:
1 | mysql -u root -p |
创建一个新的数据库,例如项目是oa项目,一般创建一个数据库叫做oa:
1 | create database oa; |
然后,创建一个新用户并设置密码:
1 | CREATE USER 'java_dev'@'%' IDENTIFIED BY 'java_DEV123'; |
接下来,为该用户授予开发者专有的权限:
1 | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, REFERENCES ON oa.* TO 'java_dev'@'%'; |
接下来,刷新权限:
1 | FLUSH PRIVILEGES; |
最后,关闭centos的防火墙:
1 | systemctl stop firewalld |
现在,Java程序员可以使用用户名和密码连接到MySQL并拥有开发者专有的权限。
WEB应用的部署
在进行以下的web应用部署时,请确保以上的JDK17、Tomcat10、MySQL8已经安装成功。
- 初始化数据库
- 这里使用navicat for mysql工具。
- 先在navicat for mysql工具中创建连接。
- 如果项目名叫做oa,那么创建一个数据库oa。
- 执行sql脚本文件(oa.sql)完成数据初始化。
- 将项目中连接数据库的信息进行修改,例如:url、username、password等信息。
- 在IDEA当中,使用maven将项目以war的形式打包。
- 将war包上传到Tomcat的webapps目录下。
- 启动Tomcat服务器,war包自动解压。war解压之后的目录就是web应用。
- 打开浏览器,输入访问地址访问。
- 实时查看Tomcat服务器后台日志
切换到CATALINA_HOME/logs目录下,执行以下命令,可以实时查看tomcat服务器日志
1 | tail -f catalina.out |