Linux 7.6
第十章:Linux的软件安装
文章目录
一.环境变量
- 当我们执行一个命令的时候,默认从当前路径开始查找
- 如果当前路径找不到对应的命令文件,会从环境变量$PATH查找
- 假如没有配置环境变量,相应命令就无法运行。
- 在Windows中配置环境变量的路径在”Windows“—”系统“—”关于“—”高级系统设置“—”环境变量“可以修改环境变量。
- 其中系统变量分为用户变量与系统变量,两者的区别在于修改用户变量只会单独作用于当前用户。
- 在Linux中$PATH的系统变量的配置文件在/etc/profile,用户变量的配文件在/root/.bash_profile下,属于隐藏文件,用ll -a查看。
- Window路径与路径之间用;(分号)连接
- Linux路径与路径之间用:(冒号)连接
- Linux每次修改完成之后,需要重新加载文件
- 命令:
source /etc/profile//重新加载文件
二.软件的安装方式
- 压缩包解压安装,解压后直接使用。
- 使用安装包安装(Window 后缀.exe Linux 后缀.rpm)
- 官网下载安装包
- 使用软件库(类似软件管家之类)安装
- 通过源码安装(任何环境都能安装,但较为繁琐)
三.RPM(安装包)安装
- RedHat Package Manager(红帽软件包管理器,RPM),Linux中分为RedHat和Debain两种,RedHat后缀为rpm,Debain后缀为deb。
- 这是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。
- 下载:这里以安装JDK为例,进入官网,点击右上角的Download Java,在Linux中选择RPM包安装。
然后通过Xftp传输到Linux中。
- 通过RPM命令安装软件。
rpm -ivh jdk-18_linux-x64_bin .rpm
//-i:install 安装软件包
//-v:输出详情
//-h:输出哈希标记(一串#号)
- 查询软件 rpm -q
- 查询一下软件是否安装成功,这里要注意的是,安装完成后的软件名和安装包的名字不一定一致,安装包可以随时重命名,所以在安装软件之前需要知道你安装的是什么软件,才方便查询,像这个软件真正的名字就是jdk-18-18.0.2-ga.x86_64
- 参数
- -a 查询所有已安装的软件包 rpm -qa zsh
- -f 查询文件所属软件包 rpm -qf /usr/bin/zsh
- -p 查询软件包
- -i 显示软件包信息
- -l 显示软件包中的文件列表
- -d 显示被标注为文档的文件列表
- -c 显示被标注为配置文件的文件列表
rpm -qa | grep jdk
- 更新
- rpm -Uvh
- 卸载
rpm -e jdk-18-18.0.2-ga.x86_64
- 需要手动配置Java的环境变量
- 配置环境变量前需要先找到JAVA的路径在哪,可以使用下面两个命令。
whereis
find / -name java//所有路径:/
找到了对应的bin目录,那就是安装在这个地址下。
接下来对环境变量进行修改,首先进入配置文件。
vim /etc/profile
然后在配置文件末尾添加路径(按G跳转最后一行,按o进入下一行输入)
export JAVA_HOME=/usr/java/jdk-18.0.2
export PATH=$JAVA_HOME/bin:$PATH//$引用变量
- 重新加载配置文件
- source /etc/profile
这时候$PATH目录下就有了/usr/java/jdk-18.0.2/bin路径。
四.压缩包解压安装
在Linux中压缩包后缀为tar.gz,这里以tomcat的压缩包为例。
下载:首先登录官网,找到tar.gz的压缩包。
下载完后通过xftp传输到Linux中。
使用tar命令解压,剪切到/opt目录下
tar -zxvf apache-tomcat-9.0.65.tar.gz
mv apache-tomcat-9.0.65 /opt/
运行可执行文件bin目录下的startup.sh
./startup.sh
如果jdk已经配置成功了,那么就可以成功运行Tomcat
Apache Tomcat web server安装后,默认的服务端口就是8080,在成功运行tomcat后可以在网页上查看运行后的样子。在网页上输入你对应的IP地址,加上端口号8080。
五.Yum安装
5.1.yum的作用
- 类似于Window中的软件管理器
- 可以帮我们管理RPM包
- 可以帮我们安装软件
- 如果软件有其他依赖,会帮我们安装依赖后再安装软件
- 类似于Maven
5.2.yum命令
- search
- 查询命令或者软件
yum search 命令名
- install
- 安装包
yum install 包名 -y//加上-y可以连带依赖的包一起安装
//参数-y:代替手动输入yes,自动执行安装
- info
- 查看包的信息
yum info 包名//只有已安装的包才可以查询到信息
- list
- 查询安装的rpm包,或者只查询某一周
yum list
- makecache
yum makecache//更新软件包缓存
- clean
yum clean all
//yum 会把下载的软件包和header存储在cache中,而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令进行清除
//更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一全部清除。
5.3.更换yum源
- yum的安装源一般是随机的,采取就近原则,这样就会导致可能产生安装不稳定的现象,我们可以选择更换为固定的yum源。
- 首先安装wget,这是一个类似于迅雷的包
yum install wget -y
- 将系统原始配置文件失效(后期yum源搞崩的时候可以选择去掉.backup,恢复回来)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
yum的配置文件在/etc/yum.repos.d下,CentOS-Base.repo为最基础的配置文件,会根据不同的镜像文件选择不同的yum源,所以要修改yum源的话就需要先无效掉该文件。
- 使用wget获取阿里yum源配置文件(适用CentOS7)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 清空以前yum源的缓存
yum clean all
- 获取阿里云的缓存
yum makecache//更新软件包缓存
扩展——wget命令详解
- wget:是Linux系统用于从Web下载文件的命令行工具,支持 HTTP、HTTPS及FTP协议下载文件。
- 语法格式
wget [参数] [https://网址]
//该命令会下载文件到当前工作目录中
//在下载过程中,会显示进度条、文件大小、下载速度等
- 参数
- -O 重命名下载文件
- -P 将文件下载到指定目录
- -c 断点续传,下载一个大文件时,如果中途网络断开导致没有下载完成,使用参数-c恢复下载,让下载从断点续传,无需从头下载
- -b 在后台下载
- -i 下载多个文件,如果要一次下载多个文件,首先需要创建一个文本文件,并将所有的网址添加到该文件中,每个网址都必须是单独的一行
- –limit-rate 限制下载速度,默认情况下,wget命令会以全速下载,但是有时下载一个非常大的资源的话,可能会占用大量的可用带宽,影响其他使用网络的任务,这时就要限制下载速度,可以使用–limit-rate选项。
- -U 设定模拟下载,如果远程服务器阻止wget下载资源,我们可以通过-U选项模拟浏览器进行下载
- –tries 增加重试次数,如果网络有问题或下载一个大文件有可能会下载失败,wget默认重试20次,我们可以使用-tries选项来增加重试次数
wget -O 修改名.tar.gz https://网址/原文件名.tar.gz
//或者其他后缀名
wget -P 绝对路径 https://网址
wget -c https://网址
wget -b https://网址
vim download_list.txt
wget -i download_list.txt
wget --limit-rate=1m https://网址
//将下载速度限制为1m/s
wget -U 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.43 Safari/537.36' https://网址
//模拟谷歌浏览器下载
wget --tries=40 https://网址
- 通过FTP下载如果要从受密码保护的FTP服务器下载文件,需要指定用户名和密码
- 语法
wget --ftp-user=<username> --ftp-password=<password> https://网址
六.Mysql数据库的安装
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
//下载Mysql的压缩包
yum insta11 per1 net-too1s -y
//安装Mysq1依赖[per1 net-tools]
rpm -qa | grep mariadb
//系统自带的MariaDB数据库管理系统,为了不起冲突先把这个包卸掉。
//查找到包名
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
//卸载mariadb
tar -xvf mysq1-8.0.18-1.el7.x86_64.rpm-bundle.tar
//解压缩安装包
rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm
//首先安装基本包
rpm -ivh mysq1-community-libs-8.0.28-1.el7.x86_64.rpm --nodeps --force
//安装Lib库,这里会报错,缺乏依赖项,所以需要加上一段参数--nodeps --force忽视依赖项。
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm --nodeps --force
//安装客户端,这里会报错,缺乏依赖项,所以需要加上一段参数--nodeps --force忽视依赖项
rpm -ivh mysq1-community-server-8.0.28-1.el7.x86_64.rpm --nodeps --force
//安装服务器(server),这里会报错,缺乏依赖项,所以需要加上一段参数--nodeps --force忽视依赖项
//按这个顺序去安装mysq1
systemctl start mysqld
//启动mysq1
systemctl status mysq1d
//查看mysq1状态
cat /var/log/mysqld.log | grep password
mysq7 -u root -p
//在Window中mysql安装时会让你自己输入密码,而linux中安装的时候会随机一个密码,查找密码并登陆mysq1
//-u 用户名 -p 密码
//在进行下面操作的时候,冒出了这种错误
//ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement
//这里要求先更改初始密码才可以进行下一步操作
//mysql默认的密码强度为strong,需要检查长度、数字、大小写、特殊字符字典文件。
//LOW:只检查长度。
//MEDIUM:检查长度、数字、大小写、特殊字符。
//STRONG:检查长度、数字、大小写、特殊字符字典文件。
//先随意修改了初始密码,能够操作mysql
alter user 'root'@'localhost' identified by '{Temppassword_123456}';
//修改Mysq7密码8.0版本输入命令:
set global validate_password.policy=LOW;
//降低密码校正强度权限
set global validate_password.length=6;
//设置密码长度为6
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
//#更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
//#更新用户密码
//下面一行命令用小写会报错,上面一行命令可以用小写
//报的错误:ERROR 1524 (HY000): Plugin 'mysq1_native_password' is not loaded
FLUSH PRIVILEGES;
//#刷新权限
set global validate_password_policy=LOW;
set global validate_password_1ength=6;
alter user root@localhost identified by '123456';
//修改mysq1密码 5.7版本命令
use mysql;
update user set host='%' where user = 'root';
//host设置为%代表任意路径,一般会根据需要登录的IP地址来将host设置为对应的IP地址(192.168.xxx.xxx)
commit;
//提交
exit;
//修改Mysq1链接地址,mysql默认登录用户为本地的(Localhost),如果别的地方登录该mysql,需要事先开启该地方的IP地址进行授权,所以这一步是直接把mysql设成了开放式IP。
systemctl restart mysqld
//重启加载配置
//使用Navicat连接Mysql