【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编译安装ncurses:(本次安装目录存放在/opt目录下,并使用软链接到指定位置)

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

# 下载压缩包,本次选择版本6.5
wget https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.5.tar.gz

# 解压缩到/opt目录下
tar -zxvf 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

 注意:通过下载源代码安装的软件,使用rpm -qa查询不到,可以使用查询软件版本的方式查看是否已安装好。


目前很多官网下载的压缩包,已经是编译安装好之后打包的文件,解压缩后即安装好,使用完整路径就可以运行可执行文件。如果希望直接使用,可以使用软链接到指定位置。若有旧版本,可以将新版本bin目录添加环境变量,就可以使用新版本。

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

cmake官网下载:Index of /files (cmake.org)

步骤:下载源代码,并解压缩。本次安装目录存放在/opt目录下,因有旧版本,将新版本的bin目录添加环境变量。

# 从网页下载源代码(选择版本3.27.9)
wget https://cmake.org/files/v3.27/cmake-3.27.9-linux-x86_64.tar.gz

# 解压缩到/opt目录下(z:用gzip处理,j:使用bzip2处理,J:使用xz处理)
tar -zxvf cmake-3.27.9-linux-x86_64.tar.gz -C /opt

# 切换到/opt目录下,并查看所有文件(&& 命令连接符,命令都正确才执行)
cd /opt && ls

# 安装目录重命名
mv cmake-3.27.9-linux-x86_64 cmake-3.27.9

# 切换到cmake安装目录下
cd cmake-3.27.9

# 查看安装目录下的文件(没有configure)
ls

# 查看安装目录下的bin目录(有cmake)
ls bin

# 查看cmake版本(使用完整路径)
/opt/cmake-3.27.9/bin/cmake --version

# 查看cmake版本(直接运行)
cmake --version

 

使用完整路径和直接运行查看cmake版本,显示两个不同版本。说明系统里之前安装过旧版本,而且目前运行的仍是旧版本。将新版本的bin目录添加系统环境变量即可运行新版本。

使用vi/vim在系统环境变量文件(/etc/profile)添加新版本的bin目录,手动输入sourse命令生效。

# 添加环境变量
# vi/vim编辑/etc/profile
vi /etc/profile
(在/etc/profile文件末尾添加) export PATH=/opt/cmake-3.27.9/bin/:$PATH

# 输入source命令才能生效
source /etc/profile

 

vi/vim简单按键说明:

1、vi/vim打开文件,即进入命令模式。可用快捷键或命令行操作。

  • G:光标跳转到最后一行
  • dd:删除光标所在行。
  • :wq:保存并退出文件

2、进入编辑模式。可以输入内容。(i/a/o)

  • o(小写字母o):光标所在位置下方插入一行,光标位于新行行首,可以开始输入内容。
  • i:光标所在位置,可以开始输入内容。
  • a:光标往后移动一位,可以开始输入内容。

3、退出编辑模式,返回命令模式。(ESC键)

 

补充:

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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Debian常用命令:高效管理与运维的必备指南

在Linux世界中,Debian以其稳定性、安全性和开源精神赢得了广大用户的青睐。作为一个基于Linux的操作系统,Debian拥有丰富且强大的命令行工具,这些命令对于系统管理员和开发者来说至关重要。本文将为您介绍一系列Debian系统中的常用命令&#…

基于Javaee的影视创作论坛的设计与实现+vue论文

系统简介 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装影视创作论坛软件来发挥其高效地信息处理的作用&#xf…

询问贴:这要怎么设置捏,寻思着总不该一个一个挖空吧????

这要怎么设置捏,寻思着总不该一个一个挖空吧????

【javaSE】认识异常(1)

❤️❤️前言~🥳🎉🎉🎉 hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥&a…

联丰策略股票杠杆股票交易市场突破3100点!A股稳了?

查查配近期,大盘再次来到3100点附近。 重要关口得到有效突破,市场情绪明显升温,甚至有投资者高喊:反转已经在路上!但也有谨慎者认为,市场仍有回调风险,围绕3000点震荡或是接下来的主旋律。 联丰策略拥有一支由知名互联网公司和国内证券金融机构的行业专家组成的一流运营团队。…

HTML炫酷的相册

目录 写在前面 HTML简介 完整代码 代码分析 系列推荐 写在最后 写在前面 本期小编给大家带来一个炫酷的旋转相册,快来解锁属于你的独家记忆吧! HTML简介 HTML(全称为超文本标记语言)是一种用于创建网页结构和内容的标记语…

Python 编程语言中的 None 到底是什么?

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 让我们一起深入了解 Python 中的 None。 什么是 None? 在 Python 编程语言中,None 是一个特殊的常量,它代表了 “无” 或 “没有值”。你可以把它想象成一个空盒子…

日本率先研发成功6G设备,刺痛了谁?为何日本能率先突破?

日本率先研发成功6G设备,无线数据速率是5G的百倍,这让日本方面兴奋莫名,毕竟日本在科技方面从1990年代以来太缺少突破的创新了,那么日本为何如今在6G技术上能率先突破呢? 日本在1980年代末期达到顶峰,它的科…

电商数据都能采集监测吗

品牌在做市场分析、渠道控价时,一般都需要先采集电商数据,数据的采集,不是只涉及部分平台,分析的准确和控价的全面性,使得数据的要求也会被提高,品牌要能采集不同平台、不同店铺的SKU数据,同时还…

【IMX6ULL项目】IMX6ULL上Linux系统实现产测工具框架

电子产品量产测试与烧写工具。这是一套软件,用在我们的实际生产中, 有如下特点: 1.简单易用: 把这套软件烧写在 SD 卡上,插到 IMX6ULL 板子里并启动,它就会自动测试各个模块、烧写 EMMC 系统。 工人只要按…

Scratch四级:第08讲 排序算法

第08讲 排序算法 教练:老马的程序人生 微信:ProgrammingAssistant 博客:https://lsgogroup.blog.csdn.net/ 讲课目录 常考的排序算法项目制作:“三个数排序”项目制作:“成绩查询”项目制作:“排序”项目制…

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

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

“等保测评通过指南:打造企业安全生态环境“

等保测评,即网络安全等级保护测评,是企业构建安全生态环境的重要环节。以下是通过等保测评的指南,旨在帮助企业打造一个安全的网络环境: 理解等保测评的重要性: 等保测评是确保企业信息系统安全得到有效保护的重要标准…

轻松上手Spring AOP,掌握切面编程的核心技巧

文章目录 AOP 是什么AspectJSpring AOP切点表达式execution()语法结构示例注意事项 通知(Advice)类型如何使用准备阶段定义切面定义并使用切点测试 总结 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍…

轨迹规划 | 图解纯追踪算法Pure Pursuit(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 纯追踪算法原理推导2 自适应纯追踪算法(APP)3 规范化纯追踪算法(RPP)4 仿真实现4.1 ROS C仿真4.2 Python仿真4.3 Matlab仿真 0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划…

Android面试题之Kotlin和Java之间互操作

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 互操作性和可空性 要注意Java中所有类型都是可空的String!表示平台数据类型 public class JavaTest {public String generateName() {return …

瞬息全宇宙——平行宇宙终极教程,手把手教你做出百万点赞视频

最近一种叫“瞬息全宇宙”的视频火了,抖音一期视频百万赞,各个博主视频都在带瞬息全宇宙这个标签,于是就有很多朋友催我出教程了,在琢磨了几天之后,终于整出来了 教程包含了插件的安装,界面的讲解&#xff…

for 双重循环

一.双循环: 可以使用嵌套循环来实现脚本的双层循环,示例代码如下 1.显示外循环是$a 内循环$b encho -e \t 是制表符 2.9 9乘法表 for 循环: echo -n是不换行输出 while循环: 3.输出长度宽度都为9个星的矩形 for循环 while循环 …

开发者出海时都在用哪些组件库?

❝ 哈喽👋,我是树酱。今天我要介绍的是在开发者出海时经常使用的组件库。这些组件库大多采用Tailwind CSS作为基础,它们不仅风格独树一帜,而且外观也非常吸引人! 1.Shadcn-ui shadcn的风格跟Notion风格很像&#xff0c…

博客互动革命:如何打造活跃读者社区并提升参与度

CSDN 的朋友你们好,我是未来,今天给大家带来专栏【程序员博主教程(完全指南)】的第 10 篇文章“与读者互动”。本文揭示了提升技术博客参与度的秘诀。从评论互动到社交媒体策略,本文将指导你如何建立强大的读者社区。掌…