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  #启动服务

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

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

相关文章

RERCS系统-WDA+BOPF框架实战例子 PART 1-新建List UIBB(列表组件)并分配Feeder Class和Node Element

需求背景: 已有的项目主数据功能,新增一个列表UIBB显示主数据额外的关联数据明细。 1、Fiori页面通过右键-技术帮助打开对应的组件配置; 2、双击对应的组件配置,调整对应的页面新建UIBB; 3、填写对应的UIBB属性字段&a…

doris 启动be报错

doris版本是1.2.4 java版本是:1.8 刚开始我以为是版本不兼容问题,后面发现思路错了,版本是兼容的,报以下错我的原因是操作系统没有达到安装要求 以下是博主在部署doris x64(avx2)版本中遇到的小bug 在大家使用doris的时候应该…

OpenNJet,够轻更强云原生应用引擎

前言: 在正式介绍OpenNJet之前,我们先来看看它的技术架构,如下图所示,OpenNJet正是NGINX的Pro版,在100%兼容NGINX基础上,新增了动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。 NGIN…

2024.05.10作业

TCP服务器 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QTcpSocket> #include <QList> #include <QMessageBox> #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { class Widget; …

【神器来袭】快速解放双手,朋友圈自动转发工具,告别繁琐操作!

朋友圈作为一个重要的营销推广渠道&#xff0c;如果能实现自动转发&#xff0c;那对于很多企业或个人来说&#xff0c;是极好的。下面&#xff0c;就给大家分享一个实用且便捷的朋友圈运营工具——个微管理系统&#xff0c;让大家都能快速推广。 1、多账号登录&#xff0c;定时…

适用于 macOS 的最佳独立 HBO Max 客户端

适用于 macOS 的最佳独立 HBO Max 应用程序。不再在浏览器选项卡之间切换。只需直接从 Dock 启动 Clicker for HBO Max 即可开始狂欢。 HBO Max 客户端 Clicker for HBO Max 下载 Clicker for HBO Max mac版安装教程 软件下载完成后&#xff0c;双击pkg根据提示进行安装 Clic…

ssh远程免密登录

ssh远程连接分为五个阶段 版本号协商阶段密钥和算法协商阶段认证阶段会话请求阶段交互会话阶段 而上图的SessionKey即是在阶段2&#xff1a;密钥和算法协商阶段&#xff0c;服务器端和客户端利用DH交换&#xff08;Diffie-Hellman Exchange&#xff09;算法、主机密钥对等参数…

编译适配纯鸿蒙系统的ijkplayer中的ffmpeg库

目前bilibili官方的ijkplayer播放器&#xff0c;是只适配Android和IOS系统的。而华为接下来即将发布纯harmony系统&#xff0c;是否有基于harmony系统的ijkplayer可以使用呢&#xff1f; 鸿蒙版ijkplayer播放器是哪个&#xff0c;如何使用&#xff0c;这个问题&#xff0c;大家…

暴力法解决最近对问题和凸包问题-实现可视化

目录 最近对问题 凸包问题 最近对问题 顾名思义就是采用蛮力法求出所有点之间的距离&#xff0c;然后进行比较找出第一个最近对&#xff0c;一个一个进行比较。 大概思路就是如图&#xff08;每个圈代表一个数对&#xff09; 第一个和其他四个比较 第二个和其他三个比较 …

深入理解MQ消息队列的高可用与可靠性策略

在分布式系统架构中&#xff0c;消息队列&#xff08;Message Queue, MQ&#xff09;扮演着至关重要的角色&#xff0c;它负责解耦服务、异步处理以及提高系统的可扩展性。然而&#xff0c;消息的丢失是开发和运维过程中必须严格防范的风险&#xff0c;因为它直接影响到数据的一…

JavaScript 动态网页实例 —— DOM 中的事件处理

前言 DOM2事件模型规则描述了创建、捕获、控制与取消事件的标准方法,还描述了事件传播行为,也就是说,一个事件如何到达其目标,以及达到后将要发生的动作。在6中,由于没有提供对 DOM2事件模型的支持,因此,本章中涉及DOM2的代码只能在Netscape和Mozilla浏览器中正常运行。 D…

新版文件同步工具(Python编写,其中同时加入了多进程计算MD5、多线程复制大文件、多协程复制小文件、彩色输出消息、日志功能)

两个月前&#xff0c;接到一个粉丝的要求&#xff0c;说希望在我之前编写的一个python编写的文件同步脚本(Python编写的简易文件同步工具(已解决大文件同步时内存溢出问题)https://blog.csdn.net/donglxd/article/details/131225175)上加入多线程复制文件的功能&#xff0c;前段…

英语学习笔记8——What‘s your job?

What’s your job? 你是做什么工作的&#xff1f; 词汇 Vocabulary policeman 男警察 policewoman 女警察 police n. 警力 集合名词&#xff0c;永表复数 西方国家警察管的事很多。交警&#xff0c;刑警&#xff0c;武警一般不分开。 taxi driver 出租车司机 taxi / cab n.…

空间复杂度

前言 通过上一节的学习&#xff0c;我们知道了衡量一个算法是否高效的标准就是复杂度&#xff0c;我们已经学习了时间复杂度&#xff0c;那么本节我们就了解一下空间复杂度的相关知识&#xff0c;那么我们废话不多说&#xff0c;正式进入今天的学习 空间复杂度 空间复杂度也是…

python爬虫(三)之虎嗅网汽车文章爬虫

python爬虫&#xff08;三&#xff09;之虎嗅网汽车文章爬虫 闲来没事&#xff0c;闲鱼上有个好兄弟要我从虎嗅网上抓一些汽车文章的爬虫&#xff0c;于是大力出奇迹&#xff0c;我写了一个python程序&#xff0c;将这个网站上所有的汽车文章全部抓取下来了&#xff0c;存储到…

若依生成代码的步骤

1.创建表&#xff0c;要有注释 2.导入表 3.创建主菜单 4.修改表 5.生成代码 6.把代码复制到自己的程序中&#xff1a;复制表、后端、前端 7.重启后端&#xff0c;如果有问题则clean 8.回到浏览器可以看到正常显示了生成的页面

JAVA获取application.yml配置文件的属性值

application.yml配置参数 方式一&#xff1a;使用Value方式(常用) 语法 Value("${配置文件中的key:默认值}") Value("${配置文件中的key}")方法1&#xff1a;使用的类文件中定义变量&#xff0c;直接使用变量 import org.springframework.beans.factory.an…

【2024】Gradle安装配置以及基于Kotlin 进行详细使用

目录&#x1f4bb; 一、介绍二、安装Gradle1、下载安装2、配置环境变量2.1、mac2.2、windows 3、配置国内国内镜像源4、初始化Gradle项目4.1、项目结构4.2、Gradle常用命令 三、项目配置1、配置文件介绍1.1、设置文件settings.gradle1.1.1、单体项目1.1.2、父子项目 1.2、构建文…

5.2 Java全栈开发前端+后端(全栈工程师进阶之路)-服务端框架-Spring框架-相信我看这一篇足够

1.Spring框架 1.1.Spring框架简介 Spring是一个基于java的轻量级的、一站式框架。 虽然Spring是一个轻量级框架&#xff0c;但并不表示它的功能少。实际上&#xff0c;spring是一个庞然大物&#xff0c;包罗万象。 时至今日&#xff0c;Spring已经成为java世界中事实上的标准…

常用控件(一)

常用控件 一 按钮类控件QPushButtonQRadioButtonQCheckBox 按钮类控件 QPushButton 使用QPushButton表示一个按钮&#xff0c;这是我们当前最熟悉的一个控件了; QPushButton继承自QAbstractButton&#xff0c;这个类是个抽象类&#xff0c;是其他按钮类的父类; QAbstractButt…