Linux操作系统-07-Linux安装应用

一、使用rpm安装应用(不推荐)

先下载到本地,以.rpm文件名结尾,下载完成后,再安装

rpm -qa | grep mysql               #查询当前系统是否有下载过mysql包

先上传mysql的rpm安装包到linux的opt目录

安装 rpm -ivh mysql的rpm包

rpm -ivh mysql.rpm
rpm -qa | grep mysql               #安装完,通过rpm -qa | grep mysql 查看安装是否成功
rpm -e mysql.rpm                   #卸载rpm -e mysql的rpm包文件名称

rpm安装是最次的一种选择,因为可能会有许多依赖库需要下载,而且很多依赖库并没有rpm包。

二、基于源码安装应用

基于源码安装比较适合于专业人员,并不需要安装人员能看懂源码,但是需要知道源码的基本过程

解压后先去源码目录找以下几个文件:configure  setup.sh   install.sh

configure用于配置源码安装过程中的一些参数,make会去找当前路径下的Makefile文件来决定编译的过程。如果linux安装包是.tar.gz,表示是源码

源码安装之前需要提前安装好编译环境

C:\Users\admin>scp E:\蜗牛学院\工具安装包\nginx-1.21.2.tar.gz rot123@192.168.2.43:/tmp          
rot123@192.168.2.43's password:                                                                                         
nginx-1.21.2.tar.gz                                         100% 1042KB   1.3MB/s   00:00                                                                                                                             
C:\Users\admin> 

解压源码:

tar -zxvf nginx-1.21.2.tar.gz

#解压
root@rot123-virtual-machine:/opt# tar -zxvf nginx-1.21.2.tar.gz
#解压后的目录
root@rot123-virtual-machine:/opt/nginx-1.21.2# ll
total 824
drwxr-xr-x 8 xiaodi xiaodi   4096 сен  1  2021 ./
drwxr-xr-x 6 root   root     4096 мар 12 00:09 ../
drwxr-xr-x 6 xiaodi xiaodi   4096 мар 12 00:09 auto/
-rw-r--r-- 1 xiaodi xiaodi 314518 сен  1  2021 CHANGES
-rw-r--r-- 1 xiaodi xiaodi 480483 сен  1  2021 CHANGES.ru
drwxr-xr-x 2 xiaodi xiaodi   4096 мар 12 00:09 conf/
-rwxr-xr-x 1 xiaodi xiaodi   2590 сен  1  2021 configure*
drwxr-xr-x 4 xiaodi xiaodi   4096 мар 12 00:09 contrib/
drwxr-xr-x 2 xiaodi xiaodi   4096 мар 12 00:09 html/
-rw-r--r-- 1 xiaodi xiaodi   1397 сен  1  2021 LICENSE
drwxr-xr-x 2 xiaodi xiaodi   4096 мар 12 00:09 man/
-rw-r--r-- 1 xiaodi xiaodi     49 сен  1  2021 README
drwxr-xr-x 9 xiaodi xiaodi   4096 мар 12 00:09 src/
root@rot123-virtual-machine:/opt/nginx-1.21.2# 

configure添加nginx的模块 

#查看nginx支持的模块有哪些
root@rot123-virtual-machine:/opt/nginx-1.21.2# ./configure --help#./configure报错,提示C compiler cc is not found
root@rot123-virtual-11machine:/opt/nginx-1.21.2# ./configure
checking for OS+ Linux 6.5.0-21-generic x86_64
checking for C compiler ... not found./configure: error: C compiler cc is not found#安装gcc
root@rot123-virtual-machine:/opt/nginx-1.21.2# apt install gcc -y#再次运行./configure报错,提示requires the PCRE library
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.#安装 PCRE 库: 您可以通过在系统中安装 PCRE 库来解决该问题。具体步骤可能因操作系统而异,以下是一些#Ubuntu/Debian:sudo apt-get install libpcre3 libpcre3-dev
root@rot123-virtual-machine:/opt/nginx-1.21.2# sudo apt-get install libpcre3 libpcre3-dev#再次运行./configure报错,提示requires the zlib library.
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.#安装 zlib 库: 您可以通过在系统中安装 zlib 库来解决该问题。具体步骤可能因操作系统而异,以下是一些#Ubuntu/Debian:sudo apt-get install zlib1g zlib1g-dev
root@rot123-virtual-machine:/opt/nginx-1.21.2# sudo apt-get install zlib1g zlib1g-dev#再次运行./configure没有报错
#执行make命令
#最后执行make install命令
./configure
make
make install

三、Yum命令操作

1、查看当前系统的包

yum list                         #显示当前系统安装的包
yum list | grep mysql            #查看是否安装mysql
yum search mysql                 #在线搜索源的库文件中有哪些mysql的可用安装包
yum repolist                     #列出当前的镜像(repository)

2、安装gcc 

yum install gcc          #安装gcc
yum install gcc -y     #选项y表示安装过程不再提醒用户确认安装#yum install gcc安装完成后再进行配置,如果提示缺少依赖库pcre或zlib等,则可以继续yum install pcre 或 yum install zlib,如果提示已经安装pcre或zlib,尝试yum install gcre-devel yum install gcc cmake gcc-c++ mysql weget -y
#yum安装过程支持断点续传的

3、查看依赖库

yum deplist mysql      #查看应用程序mysql的依赖库(libaray)

4、卸载删除

yum erase mysql        #卸载mysql (卸载过程建议不要加-y,最好做二次确认)
yum remove mysql       #功能同上

四、Yum镜像配置

镜像仓库的配置文件在/etc/yum.repos.d/目录下,该目录下存放了很多.repo的仓库文件,其中最基本的文件就是Centos-Base.repo,

[root@bastion ~]# cd /etc/yum.repos.d/
[root@bastion yum.repos.d]# ls
CentOS-Base.repo       CentOS-Media.repo          epel.repo
CentOS-CR.repo         CentOS-Sources.repo        epel-testing.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo          mariadb.repo
CentOS-fasttrack.repo  CentOS-x86_64-kernel.repo
[root@bastion yum.repos.d]# 

[root@bastion yum.repos.d]# cat CentOS-Base.repo  

base、updates和extras是我们常用的几个节点,

里边有些网址就是镜像所在的网址或者镜像列表所在的网址

 

直接访问不到,会提示

Invalid release/repo/arch combination

需要把内置的变量改成对应的值

列出了一些国内的镜像网址,有清华大学的、有阿里云的、有南京大学的、有重庆大学的…… 

默认Centos7安装的时候会列出国内的镜像源

mirrorlist并非镜像本身的地址,而是一堆镜像网址的集合,centos会自动选择速度最快的一个,每一个对应就是具体的仓库,比如:http://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/

baseurl中对应的就是具体的镜像地址,里面保存着仓库的各个安装包了。

配置文件除了有内置的Centos以外,还可以下载Repo源配

http://mirrors.aliyun.com/repo/Centos-7.repo

[root@bastion yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo
--2024-03-11 07:53:13--  http://mirrors.aliyun.com/repo/Centos-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 42.59.4.90, 42.59.6.107, 42.59.4.87, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|42.59.4.90|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2523 (2.5K) [application/octet-stream]
Saving to: ‘Centos-7.repo’100%[=============================================>] 2,523       --.-K/s   in 0s      2024-03-11 07:53:13 (187 MB/s) - ‘Centos-7.repo’ saved [2523/2523]

替换Centos-Base.repo

[root@bastion yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak 
[root@bastion yum.repos.d]# ls
Centos-7.repo          CentOS-fasttrack.repo  CentOS-x86_64-kernel.repo
CentOS-Base.repo.bak   CentOS-Media.repo      epel.repo
CentOS-CR.repo         CentOS-Sources.repo    epel-testing.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo      mariadb.repo
[root@bastion yum.repos.d]# 

配置源:

yum clean all                #把缓存的镜像列表base extras updates清空
yum makecache                #重根据配置文件 构建镜像缓存列表
yum update                   #更新镜像列表

五、Debian体系

对于Redhat体系的Linux发行版本,目前主流的是Yum+Rpm的方式,可以在线安装依赖。在新的Centos-8以后的版本中,引入了新的安装方式:dnf,本质上和yum几乎没有区别。

对于Debian体系的Linux发行版本,主要安装命令两个:apt-get、apt,优先考虑使用apt

apt更新源的方式:

cd /etc/aptcd sources.list sources.list.bak          #备份原来的自带的源sudo vi /etc/apt/sources.list               #将上面的源挑选一个粘贴进文本,保存sudo apt-get update    

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

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

相关文章

Linux 多进程开发(上)

第二章 Linux 多进程开发 2.1 进程概述2.2 进程状态转换2.3 进程创建2.4 exec 函数族2.5 进程控制 网络编程系列文章&#xff1a; 第1章 Linux系统编程入门&#xff08;上&#xff09; 第1章 Linux系统编程入门&#xff08;下&#xff09; 第2章 Linux多进程开发&#xff08;…

Opencv 插值方法 总结

一、概括 面试的时候问到了一个图&#xff0c;就是如何将一个算子放缩&#xff1f;&#xff1f;我第一反应是resize&#xff08;&#xff09;,但是后来我转念一想&#xff0c;人家问的是插值方式&#xff0c;今天来总结一下 最邻近插值法原理分析及c实现_最临近插值法-CSDN博…

Python与C++的对比——跟老吕学Python编程

Python与C的对比——跟老吕学Python编程 Python与C的对比1.C编译型 vs Python解释型2.执行效率3.开发效率4.跨平台5.可移植性6.内存管理机制7.易学性8.静态类型 vs 动态类型9.面向对象编程概念10.垃圾回收11.应用领域 Python与C的对比表 Python与C的对比 Python和C都是最受欢迎…

数据结构小记【Python/C++版】——散列表篇

一&#xff0c;基础概念 散列表&#xff0c;英文名是hash table&#xff0c;又叫哈希表。 散列表通常使用顺序表来存储集合元素&#xff0c;集合元素以一种很分散的分布方式存储在顺序表中。 散列表是一个键值对(key-item)的组合&#xff0c;由键(key)和元素值(item)组成。键…

解密阿里巴巴面试题:如何设计一个微博?

亲爱的小米科技粉丝们,大家好呀!今天小米带来了一则热门话题——阿里巴巴面试题:如何设计一个微博?别着急,跟着小米一起来揭秘吧! 实现哪些功能? 在设计微博系统时,需要考虑实现哪些功能才能满足用户的需求。除了基本的发布推文、时间线、新闻推送、关注/不允许用户以…

【JavaScript 漫游】【034】AJAX

文章简介 本篇文章为【JavaScript 漫游】专栏的第 034 篇文章&#xff0c;对浏览器模型的 XMLHttpRequest 对象&#xff08;AJAX&#xff09;的知识点进行了总结。 XMLHttpRequest 对象概述 浏览器与服务器之间&#xff0c;采用 HTTP 协议通信。用户在浏览器地址栏键入一个网…

Java项目源码基于springboot的家政服务平台的设计与实现

大家好我是程序员阿存&#xff0c;在java圈的辛苦码农。辛辛苦苦板砖&#xff0c;今天要和大家聊的是一款Java项目源码基于springboot的家政服务平台的设计与实现&#xff0c;项目源码以及部署相关请联系存哥&#xff0c;文末附上联系信息 。 项目源码&#xff1a;Java基于spr…

虚拟机镜像iso下载

MSDN, 我告诉你 - 做一个安静的工具站 (itellyou.cn)

CANalyzer使用_00 概述

计划写一个专题&#xff0c;该专题主要介绍CANalyzer的使用&#xff0c;每次文档计划写一个点&#xff0c;自己不累&#xff0c;别人看着也不累&#xff0c;并且方便拓展。本文作为专题的开篇主要介绍下CANalyzer软件的背景&#xff0c;软件界面等信息。 1 软件介绍 CANalyze…

FastAPI 学习笔记

FastAPI 学习笔记 0. 引言1. 快速开始2. 升级示例代码 0. 引言 在 Python 这个充满活力的生态系统中&#xff0c;FastAPI 应运而生&#xff0c;它是一个现代的、快速的 Web 框架&#xff0c;专注于构建 RESTful API。 无论你是一名有经验的 Python 开发人员&#xff0c;还是一…

HTTP/2、HTTP/3对HTTP/1.1的性能改进和优化

HTTP/1.1 相比 HTTP/1.0 提高了什么性能&#xff1f; 性能上的改进&#xff1a; 使用长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。 支持管道&#xff08;pipeline&#xff09;网络传输&#xff0c;只要第一个请求发出去了&#xff0c;不必等其回来&#xff0c;就可以…

Purple Pi OH鸿蒙开发板7天入门OpenHarmony开源鸿蒙教程【五】

在完成了Purple Pi OH大部分的接口测试之后&#xff0c;紧接着就是一个充满挑战的任务——利用SDK来编译生成我们自己的镜像文件。通过这一过程&#xff0c;不仅能够让你获得一个可在真实硬件上运行的系统镜像&#xff0c;更重要的是&#xff0c;它让你对OpenHarmony系统的构建…

Qt - 信号和槽

目录 一、信号 二、槽 三、信号和槽的使用 (一) 连接信号和槽 (二) 自定义槽 (三) 通过 Qt Creator生成信号槽代码 (四) 自定义信号 四、带参数的信号和槽 五、信号与槽的断开 六、Qt4版本信号与槽的连接 (一) Qt4版本信号与槽连接的优缺点 一、信号 在 Qt 中&…

CubeMX使用教程(5)——定时器PWM输出

本篇我们将利用CubeMX产生频率固定、占空比可调的两路PWM信号输出 例如PA6引脚输出100Hz的PWM&#xff1b;PA7引脚输出500Hz的PWM&#xff0c;双路同时输出 我们还是利用上一章定时器中断的工程进行学习&#xff0c;这样比较方便 首先打开CubeMX对PA6、PA7进行GPIO配置 注&a…

Mixamo动画素材导入UE5的最简单方法

一、Mixamo素材 官网&#xff1a;https://www.mixamo.com/ Mixamo是Adobe公司出品的免费动画库&#xff0c;可商用。软件分为characters(角色&#xff09;、Animations&#xff08;动画)两个部分。 二、辅助工具MIXAMO CONVERTER 官网&#xff1a;https://terribilisstudio…

C#与WPF通用类库

个人集成封装&#xff0c;仓库已公开 NetHelper 集成了一些常用的方法&#xff1b; 如通用的缓存静态操作类、常用的Wpf的ValueConverters、内置的委托类型、通用的反射加载dll操作类、Wpf的ViewModel、Command、Navigation、Messenger、部分常用UserControls(可绑定的Passwo…

通信总线协议之CAN-FD协议详解

文章目录 通信总线之CAN-FD总线协议详解1. CAN-FD 简介1.1 什么是CAN FD1.2 CAN FD的特点 2. CAN-FD总线协议2.1 帧起始2.2 仲裁段2.3 控制段2.4 数据段2.5 CRC段2.6 ACK段2.7 帧结束 3. 如何从传统的CAN升级到CAN FD 通信总线之CAN-FD总线协议详解 1. CAN-FD 简介 1.1 什么是…

selenium高级应用

常见控件应用 复杂的控件操作1.操作Ajax选项2.滑动滑块操作 WebDriver的特殊操作元素class值包含空格property、attribute、text的区别定位动态id 截图功能页面截图页面截图&#xff0c;返回截图的二进制数据页面截图&#xff0c;返回base64的字符串截取指定元素。先定位元素&a…

Redis常见数据类型下

目录 Hash 哈希 常用指令 HSET HGET HEXISTS HDEL HKEYS HVALS HGETALL HMGET 内部编码 Hash类型和关系型数据库 缓存方式对比 List 列表 特点 常用命令 LPUSH LPUSHX RPUSH RPUSHX LRANGE LPOP / RPOP LINDEX LINSERT 阻塞(BLOCK)版…

【Linux】文件缓冲区|理解文件系统

目录 预备知识 观察现象 第一&#xff1a;携带\n&#xff0c;不使用fork()&#xff0c;打印到显示器 第二&#xff1a;携带\n&#xff0c;使用fork()&#xff0c;打印到显示器 第三&#xff1a;携带\n&#xff0c;使用fork()&#xff0c;打印到文件里 第四&#xff1a;不携…