Linux系统安装软件的4种方式【源码配置编译安装、yum安装、rpm包安装、二进制软件包安装(.rpm/.tar.gz/.tgz/.bz2)】

一.源码安装
linux安装软件采用源码安装灵活自由,适用于不同的平台,维护也十分方便。

 (一)源码安装流程
 源码的安装一般由3个步骤组成:

  1.配置(configure)
        Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。

        其中–prefix选项就是配置安装的路径(目的是  为了便于集中管理某个软件的各种文件)。

        如:./configure –prefix=/usr/local

        可以把所有资源文件放在/usr/local的路径中,就不会分散了。

        用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单地删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

        如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较分散。

  2.编译(make)

  3.安装(make install)

二.yum安装
        通过yum进行软件安装或系统升级的实质就是通过yum命令下载指定的远程互联网主机上的RPM包,然后自动进行安装,同进解决相互间的依赖关系.

        基本用法(以dhcp包为例):

指令含义    指令代码
安装rpm包    yum install dhcp
删除rpm包及依赖包    yum remove dhcp
检查可更新的rpm包    yum check-update
更新所有    yum update
更新指定的rpm包    yum update dhcp
大规模升级版本,包括陈旧的包    yum upgrade
列出已经安装的所有rpm包    yum list installed
搜索匹配特定字符的rpm包的详细信息    yum search wget
搜索包含特定文件名的rpm包    yum provides realplay

三.RPM包方式安装(使用RPM工具,安装.rpm/.src.rpm格式的文件)
        步骤:

安装之前先查询是否包含相关软件:rpm -qa | grep -i
存在则移除:rpm -e --nodeps 软件名 #nodeps:不验证套件间的相互关联性
存在老版本,则更新: rpm -Uvh
安装:rpm -ivh


四.二进制软件安装(.rpm/.tar.gz/.tgz/.bz2)
        Linux下二进制格式的软件是指事先已经在各种平台编译安装好的相关软件,然后压缩打包,安装时只需解压或,或者执行可安装文件即可;如tomcat/Oracle/Weblogic

        二进制软件包常见的打包格式包括.rpm/.tar.gz/.tgz/.bz2;直接解压到安装文件夹即可完成安装;删除时直接删除对应的文件夹,如果解压后文件分散在多个目录,需要一一删除;

        对于提供了安装程序的软件包,直接进入目录,运行类似于setup/install/install.sh之类的文件,然后跟随提示进行相应设置,之后安装就自动完成;

举例1:安装java jdk(主要看环境变量配置)

解压JDK: tar -zxvf jdk-7u72-linux-i586.gz
移动jdk至安装文件夹:
mkdir /usr/local/src/java
mv jdk1.7.0_72/ /usr/local/src/java/jdk1.7 #将jdk1.7.0_72下在所有内容称至新文件夹jdk1.7之下,并且删除原文件夹(jdk1.7.0_72)
配置系统环境变量
vim /etc/profile #添加以下两句
export JAVA_HOME=/usr/local/src/java/jdk1.7
export PATH=$JAVA_HOME/bin:$PATH
使配置生效并测试
source /etc/profile
java -version

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

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

相关文章

5586 直播获奖(live)

经验值:1200 时间限制:1000毫秒 内存限制:256MB 全国2020CSP-J普及组试题 不许抄袭,一旦发现,直接清空经验! 题目描述 Description NOI2130 即将举行。为了增加观赏性,CCF 决定逐一评出每个…

YOLOv11在目标检测中的应用及其与PaddleDetection的对比

近年来,目标检测模型在诸如自动驾驶、安全监控等应用中发挥了关键作用。众多模型中,YOLO(You Only Look Once) 系列凭借其在速度和精度之间的良好平衡脱颖而出。YOLOv11 作为该系列的最新版本之一,凭借其多项创新&…

Vue.js 入门教程

Vue.js 入门教程 一、引言 Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架。与其他重量级框架不同,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易上手,同时也很容易与其他库或已有项目整合。本文将引导…

FPGA秋招必看基础 | FPGA设计流程

关注👆 望森FPGA 👆 查看更多FPGA资讯 这是望森的第 30 期分享 作者 | 望森 来源 | 望森FPGA 目录 摘要 1 明确需求、设计系统架构 2 RTL 输入 3 功能仿真(Behavioral Simulation) 4 综合(Synthesis)…

Qgis 开发初级 《符号化》

本章主要简介Qgis 的矢量图层的符号化。Qgis的符号化具体作用于每个图层,图层通过具体的方法设置符号化样式。 1、QgsFeatureRenderer Qgs的符号化类主要是QgsFeatureRenderer,这是一个抽象类,它派生出了许多类,如下所示。常用的…

self-supervised learning(BERT和GPT)

1芝麻街与NLP模型 我們接下來要講的主題呢叫做Self-Supervised Learning,在講self-supervised learning之前呢,就不能不介紹一下芝麻街,為什麼呢因為不知道為什麼self-supervised learning的模型都是以芝麻街的人物命名。 因為Bert是一個非常…

使用Bert+BiLSTM+CRF训练 NER任务

使用的数据集在这里E-Commercial NER Dataset / 电商NER数据集_数据集-阿里云天池 针对面向电商的命名实体识别研究,我们通过爬取搜集了淘宝商品文本的标题,并标注了4大类,9小类的实体类别。具体类型及实体数量如下 针对面向电商的命名实体…

iptables防火墙总结

iptables防火墙总结 四表五链 P 默认策略,-p 协议 出口防火墙,默认配置,使用Forword,采用-P 例题:设置iptables防火墙默认不允许任何数据包进入,相应命令是: Iptables -t filter -P FORWORD -j…

undertow服务器初始化

springboot整合undertow服务器的源码从老生常谈的createWebServer方法谈起。spring会在生成所有bean后到创建web容器,此时会到容器找到ServletWebServerFactory接口bean,spring会根据引入的框架确定生成的ServletWebServerFactory,我们在mave…

【数据结构】五分钟自测主干知识(十一)

上回(半年前)我们讲了二叉树,如果我们要找到二叉树某序遍历下的前驱和后继,我们需要对其作动态遍历求得,比较费时;或者给每个结点增加两个指针域prior和next,但比较费空间。 有没有既能省时间&…

docker部署SQL审核平台Archery

1、概述 Archery 是一个开源的 SQL 审核平台,专为数据库的 SQL 运维和管理而设计,广泛应用于企业的数据库运维工作中。其主要功能是帮助数据库管理员和开发人员实现 SQL 审核、SQL 执行、在线执行、查询、工单管理、权限控制等数据库管理相关的操作。 Archery 的主要功能包括…

网络地址转换——NAT技术详解

网络地址转换——NAT技术详解 一、引言 随着互联网的飞速发展,IP地址资源日益紧张。为了解决IP地址资源短缺的问题,NAT(Network Address Translation,网络地址转换)技术应运而生。NAT技术允许一个私有IP地址的网络通…

为什么我钟情于JPA:优雅数据访问的背后秘密

在Java开发的世界中,选择合适的数据访问框架不仅影响代码的可读性和维护性,更直接关系到项目的成败。虽然MyBatis及其衍生框架在灵活性和性能调优方面有其独特优势,但我更倾向于使用Java持久化API(JPA)。本文将探讨我为…

【K8S系列】Kubernetes Service 基础知识 详细介绍

在 Kubernetes 中,Service 是一种抽象的资源,用于定义一组 Pod 的访问策略。它为这些 Pod 提供了一个稳定的访问入口,解决了 Pod 可能频繁变化的问题。本文将详细介绍 Kubernetes Service 的类型、功能、使用场景、DNS 和负载均衡等方面。 1.…

Openlayers高级交互(2/20):清除所有图层的有效方法

Openlayers项目中,经常会放置很多的图层,在业务操作的时候,会做出删除所有图层的行为。这里面给出了一个详细的方法,能够有效的解决 清除所有图层的问题。 效果图 专栏名称内容介绍Openlayers基础实战 (72篇)专栏提供73篇文章,为小白群体提供基础知识及示例演示,能解决…

[软件工程]—桥接(Brige)模式与伪码推导

桥接(Brige)模式与伪码推导 1.基本概念 1.1 动机 由于某些类型的固有的实现逻辑,使它们具有两个变化的维度,乃至多个维度的变化。如何应对这种“多维度的变化”?如何利用面向对象技术是的类型可以轻松的沿着两个乃至…

022_matrix_dancing_in_Matlab中求解一个超简单的矩阵问题

矩阵体操 首先,可以复习一下向量、矩阵和索引的基础知识。 向量约定矩阵约定矩阵索引 一般而言,我们利用进行计算大概就是以下的步骤: #mermaid-svg-UovF0Uldf5XxntJi {font-family:"trebuchet ms",verdana,arial,sans-serif;fo…

MFC实现以不规则PNG图片作为窗口背景

效果图 显示的不规则PNG图片 头文件 #pragma once #include <gdiplus.h> #pragma comment (lib,"Gdiplus.lib")// CShowBack 对话框class CShowBack : public CDialogEx {DECLARE_DYNAMIC(CShowBack) public:CShowBack(CWnd* pParent nullptr); // 标准构…

C++学习路线(二十二)

构造函数 构造函数作用 在创建一个新的对象时&#xff0c;自动调用的函数&#xff0c;用来进行“初始化”工作:对这个对象内部的数据成员进行初始化。 构造函数特点 1.自动调用(在创建新对象时&#xff0c;自动调用) 2.构造函数的函数名&#xff0c;和类名相同 3.构造函数…

【002】调用kimi实现文件上传并进行分析_#py

调用kimi实现文件上传并进行分析 前言1. 上传文件并解析2. 调用方式3. 完整代码 前言 在【001】调用kimi实现AI对话_#py对Kimi有了一定的介绍&#xff0c;以及简单对话和连续对话的程序编写。 本次主要希望能通过kimi分析文件&#xff0c;总结文件的能力。 1. 上传文件并解析…