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数据库仓库…...

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...