【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)

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

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

相关文章

VScode通过ssh远程连接服务器被拒绝:permission denied, please try again

使用场景: 使用windows系统下的vscode远程连接服务器的linux系统,终端提示permission denied, please try again,但是使用cmd是可以远程登录的。 解决办法: 前提条件windows端的vscode安装了ssh远程连接的相关插件Remote - SSH,…

Spring Boot:让微服务开发像搭积木一样简单!

带你一探 Spring Boot 的自动配置和 Starter POMs 的神奇之处,展示如何通过几个简单的步骤就能让你的微服务应用在云端翱翔! 文章目录 1. 引言1.1 简述Spring框架的起源与重要性1.2 阐述文章目的:深入解析Spring核心功能与应用实践2. 背景介绍…

Java面试之分布式篇

分布式锁的实现方案 (1)用数据库实现分布式锁比较简单,就是创建一张锁表,数据库对字段作唯一性约束。加锁的时候,在锁表中增加一条记录即可;释放锁的时候删除锁记录就行。如果有并发请求同时提交到数据库&…

String,StringBuilder,StringBuffer

String,StringBuffer,StringBuilder String类 概念:String是不可变类,即一旦一个String对象被创建,包含在这个对象中的字符序列是不可改变的,直至该对象被销毁,并且String类是final类,不能有子…

251 基于matlab的动态粒子群算法

基于matlab的动态粒子群算法。普通粒子群算法无法感知外界环境的变化,在外界环境发生改变时无法实时进行响应,因而缺乏动态环境寻优能力。在普通粒子群算法基本上通过增加敏感粒子得到一种动态粒子群算法,该算法通过实时计算敏感粒子的适应度…

【Linux】- Linux环境变量[8]

目录 环境变量 $符号 自行设置环境变量 环境变量 环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。在Linux系统中执行:env命令即可查看当前系统中记录的环境变量。 …

论文笔记模版

1. 摘要 1.1 背景 1.2 挑战 1.3 提出新方法 1.4 贡献 2. 引言 2.1 背景(引出问题) ①介绍大背景: ② 应用场景: ③ 介绍主题: 2.2 引出挑战 一般用图表来展现出我们的挑战(直观,解决什…

Weblogic < 10.3.6 ‘wls-wsat‘ XMLDecoder 反序列化漏洞(CVE-2017-10271)

1 漏洞概述 CVE-2017-10271 是一个存在于 Oracle WebLogic Server 10.3.6 以下版本中的 XMLDecoder 反序列化漏洞。此漏洞源于 WebLogic 的 WLS-WebServices 核心组件,该组件使用 XMLDecoder 来解析用户传入的 XML 数据。由于 XMLDecoder 在处理某些特定格式的 XML…

吴恩达 深度学习 神经网络 softmax adam 交叉验证

神经网络中的层:输入层(layer 0)、隐藏层、卷积层(看情况用这个)、输出层。(参考文章) 激活函数: 隐藏层一般用relu函数; 输出层根据需要,二分类用sigmoid&…

算法笔记——数位DP

一、前置知识 1.DP小知识 D P DP DP 是一种算法思想,用递推方程的方式解决问题。但是使用它要满足如下性质: 最优子结构: 子结构优秀,整个就优秀。无后效性:当前决策不会影响后面。 2.DP实现方法 众所周知&#xf…

【解决】Android APK文件安装时 已包含数字签名相同APP问题

引言 在开发Android程序过程中,编译好的APK文件,安装至Android手机时,有时会报 包含数字签名相同的APP 然后无法安装的问题,这可能是之前安装过同签名的APP,但是如果不知道哪个是,无法有效卸载,…

Linux——进程间通信

目录 一、进程通信的初步认识 1.1 进程间通信目的 1.2 进程间通信的种类 管道(Pipes) System V IPC POSIX IPC 三、管道 3.1 知识铺垫 3.2 匿名管道 3.2.1 基本概念 3.2.2 测试用例: 3.3 管道的行为 3.4 命名管道 3.4.1 基本概念…

生产设备数据管控要怎么做 可以实现精益生产和智能制造?

生产设备在制造过程中会产生多种类型的数据,这些数据对于优化生产流程、提高效率、降低成本和预防性维护等方面至关重要。需要对这些数据进行有效的采集和管理,以实现对生产设备数据管控。 一、生产设备数据类型包括: 设备运行状态数据&…

机器学习周报第三十八周 iTransformer

文章目录 week38 iTransformer摘要Abstract一、文献阅读1. 题目2. abstract3. 网络架构**转置Embedding:****LayerNorm(层归一化)****Feed-forward network(前馈网络)****Multivariate-Attention(多变量注意…

【Linux 网络】网络编程套接字 -- 详解

⚪ 预备知识 1、理解源 IP 地址和目的 IP 地址 举例理解:(唐僧西天取经) 在 IP 数据包头部中 有两个 IP 地址, 分别叫做源 IP 地址 和目的 IP 地址。 如果我们的台式机或者笔记本没有 IP 地址就无法上网,而因为…

【UnityUI程序框架】The PureMVC Framework[一]底层源码中文详解

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:Uni…

推导 模型矩阵的逆转置矩阵求运动物体的法向量

一个物体表面的法向量如何随着物体的坐标变换而改变,取决于变换的类型。使用逆转置矩阵,可以安全地解决该问题,而无须陷入过度复杂的计算中。 法向量变化规律 平移变换不会改变法向量,因为平移不会改变物体的方向。 旋转变换会改…

Python 全栈系列244 nginx upstream 负载均衡 踩坑日记

说明 最初是因为租用算力机(Python 全栈系列242 踩坑记录:租用算力机完成任务),所以想着做一个负载均衡,然后多开一些服务,把配置写在nginx里面就好了。 一开始租用了一个3080起了一个服务,后来觉得速度不够快,再起了…

基于地平线J6E,「吃蟹者」易航智能重塑高速NOA

作者 |张祥威 编辑 |德新 一批基于地平线J6E的智驾方案将要到来,高速NOA领域很快会变天。 易航智能是这批智驾方案公司中的一家。 近日在北京车展,这家公司推出一套基于地平线J6 E的7V1R方案,可以实现城市记忆领航、高速NOA、记忆泊车、L2…

社交媒体数据恢复:密聊猫

一、概述 密聊猫是一款提供多种优质体验的手机社交聊天软件。通过这款软件,用户可以享受到多种不同的乐趣体验,如真人在线匹配、真实的交友体验等。同时,密聊猫也提供了数据恢复功能,帮助用户找回丢失的数据。 二、数据恢复步骤…