【Linux】centos7安装软件(rpm、yum、编译安装),补充:查找命令的相关文件路径,yum安装mysql

【Linux】技术上,Linux是内核。而术语上,我们通常说的Linux是完整的操作系统,其实称为"Linux发行版",是将Linux内核和应用系统打包,由不同的发行家族发行了不同版本。Linux发行版众多,主要有RedHat系列和Debian系列。

RedHat系列:RHEL,CentOS,Fedora等。

  • 软件包扩展名.rpm
  • 包管理工具:rpm。yum(解决rpm中依赖包的问题)。

Debian系列:Debian,Ubuntu等。

  • 软件包扩展名.deb
  • 包管理工具:dpkg,apt 或 apt-get (解决dpkg中依赖包的问题)。

RedHat系列的Linux系统一般有三种安装软件包的方式:rpm安装,yum安装,编译安装。

可以使用man查看某命令的说明文档,例如:man rpm。可使用--help查看某命令有哪些选项,例如:rpm --help。

(一)rpm安装

  • rpm命令:Red-Hat Package Manager,RPM软件包管理工具。
  • 几乎所有RPM包都可以使用rpm安装、卸载、管理。
  • 若使用rpm安装,需手动下载RPM包。
  • 存在问题:不能自动处理依赖性关系。需安装相关的依赖包,软件包才能安装成功。

rpm安装软件包:rpm  -i  需安装的软件包

rpm安装软件包(显示进度条):rpm  -ivh  需安装的软件包

rpm卸载软件包:rpm -e  需卸载的软件包

rpm升级软件包:rpm -U  需升级的软件包

rpm升级软件包(显示进度条):rpm -Uvh  需升级的软件包

rpm查询安装的所有软件包:rpm -qa

举例:rpm安装wget(先下载RPM软件包,再用rpm安装RPM包)

# 从网页下载wget软件包
curl -o wget.rpm http://mirrors.163.com/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpm# rpm安装wget
rpm -ivh wget.rpm# rpm查看是否已安装wget
rpm -qa | grep wget

国内下载RPM包的镜像站(又称yum源,yum仓库):欢迎访问网易开源镜像站 (163.com)

网易163镜像站中centos7可安装的软件包:Index of /centos/7/os/x86_64/Packages/ (163.com)

还有其他比较好的镜像站,比如阿里云,中科大,清华等。

(二)yum安装

  • yum命令:Yellow dog Updater, Modified。基于rpm。
  • yum安装的都是RPM包,从指定服务器自动下载RPM包并安装。
  • yum能够自动处理依赖性关系,一次安装软件包和相关的所有依赖包。
  • 目前安装软件包,一般都是使用yum命令安装。

yum安装软件包:yum  install  需安装的软件包  -y

yum卸载软件包:yum remove  需卸载的软件包  -y

yum升级软件包:yum update  需升级的软件包

 举例:yum安装wget(直接安装)

# yum安装wget
yum install wget -y# yum查看是否已安装wget
yum list installed | grep wget

yum源的配置文件:

/etc/yum.repos.d目录,存放yum源的配置文件。

这些配置文件的文件名以".repo"结尾,指定从哪个服务器下载以及如何安装和更新。

rpm和yum安装软件包的位置

 rpm安装已手动下载好的RPM包。yum基于rpm,从指定服务器自动下载并安装RPM包。

RPM包的默认安装位置
/etc存放软件包的配置文件
/usr/bin存放软件包的可执行文件
/usr/lib存放可执行文件需要的库文件
/usr/share/doc存放软件包的说明文档
/usr/share/info存放软件包的帮助文档,不常用,被man代替
/usr/share/locale存放软件包的语言环境(地区、语言、字符集)
/usr/share/man存放软件包的man帮助文档

查看是否已安装软件包(显示全称):rpm -qa | grep 软件包

查看软件包的安装位置:rpm -ql 软件包

(三)编译安装

使用yum命令可一次安装软件包和相关依赖包。但若想要更灵活的通过源代码安装,可以使用编译安装。

参考:技术|详解如何用源代码安装软件,以及如何卸载它 (linux.cn)

编译安装的一般步骤:

(1)下载源代码,并解压缩

(2)配置编译参数:./configure。配置要安装的软件,检测系统环境是否符合安装,构建Makefile。

(3)编译安装

  • 编译:make。读取Makefile,去构建程序,编译后在objects目录下生成很多编译后的文件(.o结尾)。
  • 安装:make install。安装程序。/usr/local目录是系统管理员本地安装软件时使用。自己手动安装的软件可以安装在/opt目录下,使用软链接即可,方便跟踪和卸载。

(4)运行(即运行可执行文件)

  • 注意:运行(使用完整路径。若直接使用,尝试软链接或将文件复制到指定位置或添加环境变量)
/usr/bin存放各软件的可执行文件
/usr/lib存放各软件的库文件
/usr/local存放各软件的安装目录
/usr/local/src存放各软件的源代码

 举例:centos7编译安装ncurses6.5:(本次安装目录存放在/opt目录下,并使用软链接到指定位置)

① 下载源代码:  网址Index of /pub/gnu/ncurses 

# 下载压缩包,本次选择版本8.4(x86_64)
wget https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.5.tar.gz# 解压缩到/opt目录下
tar -zxvf ncurses/ncurses-6.5.tar.gz -C /opt# 切换到安装目录
cd /opt/ncurses-6.5# 查看安装目录下的文件(有configure)
ls

② 编译安装:(先配置编译参数,再编译和安装)

# 配置编译参数,本次安装在/opt/ncurses目录下,ncurses目录会自动创建。
./configure --prefix=/opt/ncurses# 编译,若要加速编译,可以使用make -j
make# 安装
make install

③ 运行:(使用完整路径运行。为了直接运行,本次使用软链接)

# 查看ncurses版本,使用完整路径运行
/opt/ncurses/bin/ncursesw6-config --version# 可执行文件创建软链接(并取别名),可在任意目录直接运行可执行文件
ln -s /opt/ncurses/bin/ncursesw6-config /usr/bin/ncurses# 再次查看ncurses版本(使用别名)
ncurses --version# 安装目录创建软链接
ln -s /opt/ncurses /usr/local/ncurses


目前很多官网下载的压缩包,已经是编译安装好之后打包的文件,解压缩后即安装好,使用完整路径就可以运行可执行文件。若直接使用,可添加环境变量或由chkconfig管理。

举例:centos7安装mysql(从mysql官网下载的压缩包,解压缩后即已是编译安装后的)

mysql网址(选择系统和版本):MySQL :: Download MySQL Community Server

① 需要根据相应的系统版本下载源代码,因此,先查看系统环境。

# 查看内核和系统信息
uname -a# 查看centos系统版本
cat /etc/centos-release

② centos7默认安装mariadb(mysql替代品), 或者安装过旧的mysql,为避免冲突,可以清除相关旧的库和文件。

# 若默认已安装mariadb,则卸载:

查看是否已安装mariadb:rpm -qa | grep -i mariadb

 查看mariadb状态:systemctl status mariadb

关闭mariadb:systemctl stop mariadb

卸载mariadb(忽略依赖包):rpm -e mariadb --nodeps 

# 若安装过旧的mysql,则卸载:

查看是否已安装mysql:rpm -qa | grep -i mysql

查看mysql状态:systemctl status mysql

关闭mysql:systemctl stop mysql

卸载mysql(忽略依赖包):rpm -e mysql --nodeps

# 若存在mysql相关的文件,则删除:

查看是否有mysql相关的文件:find / -name mysql

查看/etc目录下,是否有my.cnf文件:find /etc -name my.cnf

删除文件:rm -rf  文件名

 

③ 下载源代码,并解压缩。可以直接复制解压缩到指定位置,也可以创建软链接到指定位置。 

(本次安装目录存放在/opt目录下,并使用软链接到指定位置)

# 下载压缩包,本次选择版本8.4(x86_64)
wget https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz# 解压缩到/opt目录下(z:用gzip处理,j:使用bzip2处理,J:使用xz处理)
tar -Jxvf mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz -C /opt# 安装目录名重命名
mv /opt/mysql-8.4.0-linux-glibc2.28-x86_64 /opt/mysql-8.4# 切换到安装目录
cd /opt/mysql-8.4# 查看安装目录下的文件(没有configure)
ls# 查看安装目录下的bin目录(有mysql和mysqld)
ls bin# 查看安装目录下的support-files目录(有mysql.server)
ls support-files

# 查看myql版本
/opt/mysql-8.4/bin/mysql --version#  创建软链接(-s:软链接,-v:显示执行过程)
ln -sv /opt/mysql-8.4/bin/mysql /usr/bin/mysql
ln -sv /opt/mysql-8.4 /usr/local/mysql# 再次查看myql版本
mysql --version# 查看/usr/local目录下的mysql相关的
ll /usr/local | grep mysql# 查看/usr/bin目录下的mysql相关的
ll /usr/bin | grep mysql

注意:查看myql版本时可能报错(libncurses.so.6:cannot open shared object file)。

原因:ncurses版本低,下载更高版本(网址Index of /pub/gnu/ncurses)。

注:本文只涉及安装软件包。mysql后期涉及的创建用户和组、配置文件、初始化、添加服务、设置开机自启等,此处忽略。

补充:

1、查找命令的相关文件路径你
whereis 命令名查找命令相关的二进制文件、源代码、帮助手册的路径
which 命令名查找执行的命令所在路径

2、yum安装mysql

centos7默认的yum源(yum仓库,镜像站)没有提供mysql,需手动下载mysql的yum源。

① mysql的yum源下载网址:MySQL :: Download MySQL Yum Repository

② 下载安装步骤:从网页下载RPM包(mysql的yum源),yum安装mysql的yum源,yum再从mysql的yum源去下载安装mysql-server。

# 从网页下载RPM包(mysql的yum源)
wget https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm# yum安装mysql的yum源
yum install -y mysql84-community-release-el7-1.noarch.rpm# 查看yum源(yum仓库,镜像站),-1(数字1):一行显示一个文件
ls -1 /etc/yum.repos.d/# yum安装mysql-server
yum install -y mysql-community-server# 查看是否已安装mysql
rpm -qa | grep -i mysql

 

注意:yum安装的mysql自动创建mysql用户和mysql组,自动添加服务。

 3、Debian系列的软件包管理器(说明文档)

Debian 软件包管理器:dpkg、apt 和 Aptitude 解释 (linux-console.net)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

职校智慧校园现状及问题分析

各大中职院校及高职院校是校园信息化的先行者和开拓者,很早就开始注重信息化基础设施建设和信息化人文素养的提升。在过去几年里,随着国家大力发展与扶植职校教育,学校投入相当的经费进行了校园信息通信网络、计算机等基础硬件设备建设&#…

Python3 笔记:help()查看函数的用法

一些不常用的函数或是模块的用法记不清了怎么办? Python的内置函数help()可以查看函数或模块用途的详细说明。 操作方法很简单,直接在help()括号内填写参数,然后运行就可以看到结果了。 举例: help(input) # 查询input()函数的…

RabbitMQ 面试题(一)

1. 简述为什么要使用 RabbitMQ ? 使用 RabbitMQ 的主要原因包括以下几点: 解耦:在复杂的系统中,不同的服务或组件之间往往需要通信和协作。RabbitMQ 作为消息队列,允许这些组件或服务通过发送和接收消息来交互,而无…

CLion 写 Rust 报Project directory `/Users/.../rsheets` does not exist.

每次打开CLion都会看到像下面这样的报错,Project directory /Users/.../rsheets does not exist.,虽然不会影响你写代码,但每次看到还是不舒服,所以研究一下怎么解决。 原因是这样的,每当我们创建一个 Cargo 项目&…

PDF Squeezer for Mac,让PDF压缩更高效

还在为PDF文件过大而烦恼吗?试试PDF Squeezer for Mac吧!它拥有强大的压缩功能,可以快速将PDF文件压缩至更小的体积,让你的文件传输更快捷。同时,它还支持多种压缩方式,满足你的不同需求。赶快下载体验吧&a…

革新机器人任务规划:TREE-PLANNER引领高效、准确的机器人动作生成新趋势

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! 引言 任务规划在机器人技术中扮演着至关重要的角色。它涉及到为机器人设计一系列中级动作(技能),使其能够完成复杂的高级任…

C语言基础-枚举类型

C语言中的枚举类型(enum)是一种用户定义的数据类型,它允许为整数常量指定一个名称,使得代码更易于阅读和维护。枚举类型本质上是一种特殊的整数类型,但每个枚举值都有一个名字,而不是直接使用整数。 枚举类…

掌握 Linux Crontab:完整指南与实用案例

一.简介 1. 什么是 Crontab? Crontab 是一个在 Unix 和类 Unix 操作系统上用来定期执行任务的工具。它是从 “cron table” 衍生而来的,“cron” 是一个 Unix 系统自带的后台守护进程,用于定期执行预定的任务或命令,比如备份文件…

电视剧电影原声背景音乐,经典影视配乐片段音效合集

一、素材描述 本套影视配乐素材,大小1.89G,27个压缩文件。 二、素材目录 宰相刘罗锅配乐片段.rar 影视配乐65首.rar 太极张三丰原声.rar 东邪西毒原声配乐15首.rar 东方不败之风云再起配乐24首.rar 东方不败原声配乐16首.rar 电影大话西游原声配…

python绘制圣诞树 如何用python绘制一个圣诞树

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.总结 一.前言 圣诞树,是指用灯烛和装饰品把枞树或洋松装点起来的常青树。作为是圣诞节重要的组成元素之一,近代圣诞树起源于德国,后来逐步在世界范围内流行起来

聊聊Mysql锁问题

聊聊Mysql锁问题 一、 Mysql锁概述二、Myisam锁问题2. 1 表级锁的锁模式2.2 如何加表锁2.3 并发插入2.4 Myisam的锁调度 三、InnoDB锁问题3.1 事务及ACID属性3.2 并发事务处理带来的问题3.3 事务隔离级别3.4 获取InnoDB行锁争用情况3.5 InnoDB行锁模式及加锁方法3.6 InnoDB行锁…

sql-行转列(转置)

- 行转列的常规做法是,group bysum(if())【或count(if())】 例题: 已知 yearmonthamount199111.1199121.2199131.3199141.4199212.1199222.2199232.3199242.4 查成这样一个结果 yearm1m2m3m419911.11.21.31.419922.12.22.32.4 解答: us…

串转并74hC595控制流水灯

#include <reg51.h> //重新定义系统数据类型 typedef unsigned int u16; typedef unsigned char u8; //宏定义数据端口 #define LEDDZ_COL_PORT P0 #define SER_AP_PORT P1 //定义数据存储端口 sbit SERP3^4; sbit SRCLKP3^6; sbit RCLKP3^5; //依次闪烁…

WPS表格:对比少于1万的两列数据

当我们需要对于A、B两列乱序的数据&#xff0c;找出A列中某一项B列有没有&#xff0c;或者找出B列中的某一项A列有没有&#xff0c;都可以先将这两列数据放入WPS表格中&#xff1a; 1.选中C列的第一行的单元格&#xff0c;在函数区输入函数 如果我们以A为基准&#xff0c;找A中…

SQL语句优化技巧

目录 1、sql语句规范 2、sql语句优化 1、sql语句规范 MySQL在Linux系统下数据库名&#xff0c;表名&#xff0c;存储过程名&#xff0c;函数名称&#xff0c;触发器名称等区分大小写&#xff0c;列名不区分大小写&#xff0c;原因是这些操作系统下文件名称区分大小写。 MySQL…

19、案例实战:上亿请求轻松应对,老年代垃圾回收参数调整技巧大公开

19.1、前文回顾 在上一篇文章中,我们已经向大家介绍了一个日活跃用户百万级别,处理请求量上亿的电商系统案例。我们选择了这个中型电商系统在大促期间的瞬时高峰下单场景,作为我们的JVM优化分析的场景。通过预测,我们得出在大促高峰期,每台机器每秒需要处理300个订单请求…

蓝桥杯-线性动态规划问题背包问题进阶策略详解-

题目&#xff1a;蓝桥云课-青蛙吃虫 解题代码&#xff1a; #include <iostream> #include<cstring> #include<algorithm> using namespace std;const int N106;int f[N][N]; int a[N]; int t,l,r,k,n;int main() {cin>>t;while(t--){scanf("%d%…

云计算第十二课

安装虚拟机 第一步新建虚拟机 选择自定义安装 下一步 选择稍后安装操作系统 选择系统类型和版本 选择虚拟机文件路径&#xff08;建议每台虚拟机单独存放并且路径不要有中文&#xff09;点击下一步 选择bios下一步 选择虚拟机处理器内核数量 默认硬盘或者自行调大硬盘 选择虚…

win10建立共享文件夹和ipad共享文件

win10端设置 查看自己的局域网IP 在任意地方新建一个文件夹 打开文件夹的属性,点到共享的地方 点击高级共享 然后点击应用,确认 再回到之前哪个地方,点击共享 把Everyone的权限改为读取/写入 最后点击共享就欧克了 失败的可能原因 ipad端设置 然后回出现一个要输入用户名和…

MySQL查询篇-模式匹配

文章目录 多个字符模糊查询确定长度单个字符模糊查询转义下查询 like 和 %&#xff0c;_&#xff0c;# 多个字符模糊查询 select * from table where version like %abc% -- 查询version列里含abc的数据 select * from table where version like %abc -- 查询version列里abc结…