Linux部署安装
Linux部署安装
Linux中有两种软件安装包
一、源码包
软件的源代码是软件的原始数据,但是源代码不能直接在计算机中直接运行安装。
需要通过编译将源代码转换为计算机可以识别的机器语言,之后才可以进行安装。
源码包安装的方式可以在安装过程中发根据自己的需求定制自己所需要的功能
Linux上大部分软件都是开源软件(apache、tomcat、PHP、MySQL等)
源码包安装优点:
-
开放源代码,可以自行修改源代码
-
可以自由选择安装所需功能
-
软件是编译安装,更加稳定高效
-
卸载方便,直接删除安装目录即可
源码包安装缺点:
-
安装过程较为复杂
-
编译过程时间较长(与RPM相比)
二、 RPM安装
RedHat Package Manger 的缩写,是红帽软件包工具。
RPM的提供可升级,具有强大查询功能,支持安全验证的通用型Linux软件包管理工具。
这种软件管理方式非常方便,被许多其他Linux发行版所借用。
RPM包优点:
-
安装简单方便
-
安装时不用指定安装位置
-
方便升级、卸载
RPM包缺点
- 大多数RPM安装需要解决依赖关系
RPM包命名规则
httpd-2.2.15-53.el6.centos.x86_64.rpm
httpd 软件包名
2.2.15 软件版本
53 软件发布次数
el6.centos 适合的linux平台
x86_64 适合的硬件平台
rpm rpm包扩展名
rpm安装命令
格式:rpm -ivh 软件包名(全名)
-i install的意思,就是安装软件,也可以使用--install
-v 显示安装过程信息
-h 以#号显示安装的进度[root@localhost ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
卸载命令
格式:rpm -e 软件名(不用指定包全名)操作:
[root@localhost ~]# rpm -e tree
[root@localhost ~]# tree
bash: tree: 未找到命令...
[root@localhost ~]#
升级命令
格式:rpm -Uvh 软件包全名
-U 升级安装,若没有安装直接安装,若有安装旧版本,则升级安装
-F 升级安装,若没有安装就不安装,必须有旧版本才能进行安装
查询已安装的软件信息
rpm -q 包名 查询是否安装
rpm -qa 包名 查看系统中已安装的所有RPM软件包列表
rpm -qi 包名 查看指定软件所安装的信息
rpm -ql 包名 查看指定软件所安装目录,文件列表
查询未安装的RPM包文件
格式: rpm -qpl 包全名 查询指定未安装软件所安装的目录,文件列表rpm -qpR 包全名 查询指定未安装软件的依赖文件
查询文件或者目录属于那个RPM软件
rpm -qf 文件或目录名
三、yum安装
因为在RPM安装过程中经常需要解决依赖关系,而有些依赖关系并不会有准确的依赖安装包提示信息,YUM是RPM包管理工具,可以很好解决RPM包安装过程中会遇到的依赖关系问题。
YUM可以从多个 源中搜索软件及软件安装所依赖的安装包,并自动安装相应的依赖软件。使用
YUM安装软件时至少需要一个YUM源,YUM源就像一个存放了好多RPM包的仓库,用户可以使用ftp、http等方式访问YUM源
1. 设置YUM源
centos当中YUM的配置文件在/etc/yum.repos.d/目录下,用户可以自定义文件名称,但是文件后缀必须是以 .repo结尾
[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Base.repo
[base] #YUM唯一ID号,可任意填写
name=CentOS-$releasever - Base #YUM源描述,可任意填写
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #指定镜像站点目录#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
#指定YUM源URL地址,ftp或http地址
gpgcheck=1 #是否开启gpg验证 0关闭 1开启
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #检查软件包gpg验证信息[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
enable=1 #是否启用该YUM源, 0不启用 1启用
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
2. yum管理命令
yum安装
yum install 软件名
yum groupinstall 软件组名
yum 卸载
yum remove 软件名
yum groupremove 软件组名
yum 升级
yum update
yum groupdate
YUM软件包查询
yum list 查询所有可以安装的软件包
yum list 包名 查询yum源中是否有所查询包
yum info 软件名 查询指定软件包的信息
yum grouplist 查询所有可以安装的软件组
yum groupinfo 软件组名 列出软件组中包含的软件
yum provides 查询文件在什么包中
注:
频繁的用yum安装后可能会出现安装错误的可能
需要执行yum clean all 命令来清空下yum缓存信息
之后使用yum makecache根据配置文件建立新的缓存数据
在执行yum list 读取yum可安装的软件包
软件组安装-字符界面安装图形化
yum -y groupinstall “X Window System”
yum -y groupinstall “GNOME Desktop”安装图形化以及工具
systemctl get-default 查看系统默认运行级别
systemctl set-default graphical.target 设置默认级别graphical.target(图形)
3. 局域网YUM源
在日常工作情况下,多台服务器可能都需要安装同样的服务等。
那么我们重复下载多次同样的安装就是不合理的(占用带宽,下载时间加长等问题)
所以我们更需要一次下载多次使用的方式来使用
在这种情况下,需要分清服务器端和客户端两种身份。
服务端我们使用centos7.6当作服务器端,将RPM包共享给客户端,在当前实验下,我们使用光盘YUM源作为共享。我们主要使用createrepo命令创建repository仓库。在当前此命令是安装过的,如果没有此命令yum安装即可
服务器端:
1.安装httpd、createrepo
2.将光盘中Packages所有内容复制到/var/html/package下
3.createrepo /var/www/html
4.createrepo /var/www/html/ -g /mnt/repodata/*comps.xml --update
5.关闭防火墙。 -g生成软件组依赖 --update在已有基础上生成
6.启动http服务
客户端
1.关闭防火墙。
#2.客户端/dev/sr0 卸载
#3.修改/etc/yum.repos.d/Centos-Media.repo 将enable=1修改为0
4.修改/etc/yum.repos.d/Centos-Base.repo 注释所有信息
5.添加[test]name=centos7baseurl=http://192.168.30.252gpgcheck=0enabled=1
6.保存退出测试安装效果yum clean all 清楚原有yum缓存yum makecache 建立元数据缓存yum repolist 查看当前使用yum源yum list 查看当前源下安装包
4. 更改镜像源
安装扩展源
[root@localhost ~]# yum -y install epel-release
备份配置文件
cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
更新镜像源(华为)
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo
清楚原有yum缓存
yum clean all
刷新缓存
yum makecache 或 yum repolist all(查看所有配置可以使用的文件,会自动刷新缓存)
源码包安装
yum -y install gcc* #安装gcc*
yum install pcre-devel #作为依赖安装
yum install zlibb zlib-devel #作为依赖安装
yum install openssl openssl-devel #作为依赖安装
wget http://nginx.org/download/nginx-1.9.9.tar.gz #下载压缩包
cd nginx-1.9.9/ #切换目录
./configure --prefix=/usr/local/nginx/ #运行configure到指定位置
make && make install #编译安装
/usr/local/nginx/sbin/nginx #启动服务
相关文章:
Linux部署安装
Linux部署安装 Linux中有两种软件安装包 一、源码包 软件的源代码是软件的原始数据,但是源代码不能直接在计算机中直接运行安装。 需要通过编译将源代码转换为计算机可以识别的机器语言,之后才可以进行安装。 源码包安装的方式可以在安装过程中发根据…...

docker搭建mysql集群实现主从复制
前言 随着业务的增长,一台数据服务器已经满足不了需求了,负载过重。这个时候就需要减压了,实现负载均衡和读写分离,一主一丛或一主多从。 主服务器只负责写,而从服务器只负责读,从而提高了效率减轻压力。 …...

Neo4j 之安装和 CQL 基本命令学习
正常使用结构化的查询语言 SQL(Structured Query Language)较多一些,但是像 Neo4j 这种非结构化的图形数据库来说,就不得不学习下 CQL(Cypher Query Language)语言了。如果你之前学过 《离散数学》或《图论…...

【全开源】JAVA台球助教台球教练多端系统源码支持微信小程序+微信公众号+H5+APP
功能介绍 球厅端:球厅认证、教练人数、教练的位置记录、助教申请、我的项目、签到记录、我的钱包、数据统计 教练端:我的页面,数据统计、订单详情、保证金、实名认证、服务管理、紧急求助、签到功能 用户端:精准分类、我的助教…...
机器学习-如何为模型选择评估指标?
为机器学习模型选择评估指标是一个关键步骤,因为它直接关联到如何衡量模型的性能。以下是选择评估指标的一些建议: 1、理解问题类型: 分类问题:对于二分类问题,常见的评估指标包括准确率、精确率、召回率、F1分数、R…...

【AutoGPT】踩坑帖(follow李鱼皮)
本文写于2024年5月7日 参考视频:AutoGPT傻瓜式使用教程真实体验! 对应文章:炸裂的AutoGPT,帮我做了个网站! 平台:GitPod 云托管服务 原仓库已经改动很大,应使用的Repo为:Auto-GPT-ZH…...

机器学习-L1正则/L2正则
机器学习-L1正则/L2正则 目录 1.L1正则 2.L2正则 3.结合 1.L1正则 L1正则是一种用来约束模型参数的技术,常用于机器学习和统计建模中,特别是在处理特征选择问题时非常有用。 想象一下,你在装备行囊准备去旅行,但你的行囊有一…...

Linux——socket编程之tcp通信
前言 前面我们学习socket的udp通信,了解到了socket的概念与udp的实现方法,今天我们来学习一下面向连接的tcp通信。 一、tcp套接字创建 UDP和TCP都是通过套接字(socket)来实现通信的,因此TCP也得使用socket()接口创建…...

HTTP协议介绍
文章目录 http协议http协议格式GET请求POST请求http客户端实现 http协议 http协议是应用层协议,一般建立在tcp协议的基础之上(当然你的实现非要基于udp也是可以的),也就是说http协议的数据收发是通过tcp协议的。 http协议也分为h…...
elasticsearch安装配置注意事项
安装Elasticsearch时,需要注意以下几个重要事项: 1、版本选择:选择与你系统和其他组件(如Logstash、Kibana)兼容的Elasticsearch版本。 2、Java环境:Elasticsearch是基于Java构建的,因此确保已…...

Istio 流量管理(请求路由、流量转移、请求重试、流量镜像、故障注入、熔断等)介绍及使用
一、Istio 流量管理 Istio是一个开源的服务网格,它为分布式微服务架构提供了网络层的抽象。它使得服务之间的通信变得更为可靠、安全,并且提供了细粒度的流量管理、监控和策略实施功能。Istio通过在服务之间插入一个透明的代理(Envoy&#x…...

Transformers中加载预训练模型的过程剖析
使用HuggingFace的Transformers库加载预训练模型来处理下游深度学习任务很是方便,然而加载预训练模型的方法多种多样且过程比较隐蔽,这在一定程度上会给人带来困惑。因此,本篇文章主要讲一下使用不同方法加载本地预训练模型的区别、加载预训练模型及其配置的过程,藉此做个记…...
使用MCU的 GPIO口 模拟SDIO时序读写TF/SD卡的可能性。
SD2.0协议详解:命令格式、初始化/读取/写入 - WangXuan的文章 - 知乎 https://zhuanlan.zhihu.com/p/610495260 参考上述与其它理解,若使用GPIO口模拟,重点与难点: 1. 时钟线问题: 在SD准备期间,需不间断…...

SSM【Spring SpringMVC Mybatis】——Mybatis(二)
如果对一些基础理论感兴趣可以看这一期👇 SSM【Spring SpringMVC Mybatis】——Mybatis 目录 1、Mybatis中参数传递问题 1.1 单个普通参数 1.2 多个普通参数 1.3 命名参数 1.4 POJO参数 1.5 Map参数 1.6 Collection|List|Array等参数 2、Mybatis参数传递【#与…...
在线教育系统在线网校报价,培训机构是怎样招聘老师的?流程是什么?
招生是培训机构的一大难题,但招不来老师,招不到好老师却也是培训机构面临的一个更为严峻的问题,没有老师,教学工作就展不开,没有老师,学生就留不住。培训学校的人员招聘不要等缺失时才去招聘,要…...

您的文件和驱动器上的“密码保护”有多安全?
某些行业(例如医疗保健、法律和公司)的人们在通过电子邮件发送文件时通常依赖密码保护,认为它可以提供足够的安全性来防止窥探。然而,对 PDF 或 Excel 文件进行简单的密码保护并不像看起来那样万无一失。 使用密码保护文件而不加…...

4000字超详解Linux权限
各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 在Linux当中权限的体现主要有两种 普通用户 超…...
SearXNG - 一个注重隐私的互联网元搜索引擎
引言 在数字监控和数据货币化的时代,对于许多用户而言,在线保护个人信息变得至关重要。隐私问题特别突出的一个领域是搜索引擎,它们经常收集用户数据以定制个性化广告或构建用户档案。SearXNG 是一个开源的元搜索引擎,它汇集了各…...
(第15天)【leetcode题解】459、重复的子字符串
目录 459、重复的子字符串题目描述暴力匹配思路代码 字符串匹配思路代码与暴力匹配的不同 KMP解法思路代码KMP算法的核心和用途 459、重复的子字符串 题目描述 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 暴力匹配 思路 推理 如果…...

PostgreSQL的学习心得和知识总结(一百四十二)|深入理解PostgreSQL数据库数据库之 Continuous Integration
目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...

关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...