【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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

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

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

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

SQL语句优化技巧

目录 1、sql语句规范 2、sql语句优化 1、sql语句规范 MySQL在Linux系统下数据库名,表名,存储过程名,函数名称,触发器名称等区分大小写,列名不区分大小写,原因是这些操作系统下文件名称区分大小写。 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端设置 然后回出现一个要输入用户名和…

【2024新版】龙年新版ui周易测算网站H5源码/在线起名网站源码/运势测算网站系统源码

>>>功能说明&#xff1a; 1、系统配置&#xff1a;系统基本配置、测算价格配置、在线预约配置、系统信息配置、代理分成配置、推广积分配置、VIP价格配置、账号管理 2、推广管理&#xff1a;我的信息、推广链接、订单管理、体现管理 3、付费应用&#xff0c;订单管…

[数据集][目标检测]电力场景安全帽检测数据集VOC+YOLO格式295张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;295 标注数量(xml文件个数)&#xff1a;295 标注数量(txt文件个数)&#xff1a;295 标注类别…

机器学习---朴素贝叶斯

朴素贝叶斯是一种用于分类和预测任务的算法&#xff0c;他的原理是基于贝叶斯定理。其中朴素的意思是假设各特征之间相互独立。这个实验我是用的老师课后作业的题目预测某天是否会打网球&#xff0c;假设每个特征独立。 目录 贝叶斯公式&#xff1a; 训练集&#xff1a; 处理…

最新版★重大升级★神点云连锁餐饮V2独立版点餐系统★公众号/h5/小程序前后端全套源码

提醒&#xff1a; 市场上流通很多老版本代码&#xff0c;一大堆问题且无法保证售后的源码&#xff0c;请各位买家一定要睁大眼睛&#xff0c;以防上当受骗&#xff01;&#xff01;&#xff01;本系统源码全是经本人亲自测试与修复的完好版本&#xff0c;且本人用此版本源码已…

Java | Leetcode Java题解之第86题分隔链表

题目&#xff1a; 题解&#xff1a; class Solution {public ListNode partition(ListNode head, int x) {ListNode small new ListNode(0);ListNode smallHead small;ListNode large new ListNode(0);ListNode largeHead large;while (head ! null) {if (head.val < x…

第 1 天_二分查找【算法基础】

第 1 天_二分查找 前言34. 在排序数组中查找元素的第一个和最后一个位置题解官方33. 搜索旋转排序数组题解官方74. 搜索二维矩阵 前言 这是陈旧已久的草稿2021-11-09 19:33:44 当时在学习数据结构&#xff0c;然后再LeetCode上找了一个算法基础。 但是后来又没做了。 现在20…

使用LLaMA Factory来训练智谱ChatGLM3-6B模型

使用LLaMA Factory来训练智谱ChatGLM3-6B模型时&#xff0c;以下是一个训练过程&#xff1a; 1. 环境搭建 a. 安装Python和Anaconda 下载并安装适合你操作系统的Python版本&#xff08;推荐Python 3.10或更高版本&#xff09;。安装Anaconda&#xff0c;以管理Python环境和依…

【STM32+k210项目】基于AI技术智能语音台灯的设计(完整工程资料源码)

视频演示 基于AI技术智能语音台灯的设计 前言&#xff1a; 随着社会的快速发展&#xff0c;人们对家用电器智能化程度的要求越来越高。不管是对于学生人群还是对于工作加班者&#xff0c;台灯是每家每户必不可少的工具&#xff0c;长期处于光线太强或者过弱的环境中学习和一系列…