当前位置: 首页 > news >正文

Linux入门——环境基础开发(上)

Linux 软件包管理器 yum

什么是软件包

在Linux操作系统中,安装软件的方式通常较为复杂,其基本流程涉及下载程序源代码并通过编译得到可执行程序。然而,这种方法需要开发者具备一定的编程知识和环境配置能力,对于许多用户而言,操作起来显得相对繁琐。因此,为了提高用户的便利性,一些软件开发者选择了将常用软件提前编译成软件包。这些软件包可以被视作Windows系统中的安装程序,经过打包处理后,存放在服务器上,用户可以通过包管理器轻松获取并安装这些预先编译好的软件包。

在这个背景下,软件包和软件包管理器之间的关系可以类比为“App”和“应用商店”。软件包包含了具体应用程序及其依赖项的完整信息,而软件包管理器则是负责处理这些软件包的工具,使得安装、更新和卸载软件变得简单化且自动化。

在众多Linux包管理器中,yum(Yellowdog Updater, Modified)是一种非常流行的选择。它广泛应用于Fedora、Red Hat及CentOS等Linux发行版,用户只需通过简单的命令就能获取所需软件的最新版本,极大地简化了软件管理的过程。使用yum,不仅可以快速安装软件,还可以自动处理软件之间的依赖关系,确保系统的稳定和安全。

总之,包管理器的出现与发展,标志着Linux软件管理方式的变革,使得更多用户能够无缝体验到Linux系统的强大功能,而不必被复杂的编译和环境配置过程所困扰。

关于 rzsz

rzsz 是一款强大而实用的工具,它主要用于在 Windows 系统与远程 Linux 机器之间进行文件传输,特别是在使用 XShell 等终端仿真程序时。在现代办公或开发环境中,文件传输的高效性和便利性对工作流程的顺畅至关重要,因此 rzsz 的使用显得尤为重要。

安装完成 rzsz 后,用户能够通过简单的拖放操作,将文件从本地 Windows 机器上传至远程 Linux 系统。这种直观且用户友好的方式,大大简化了文件传输的过程,使得无论是开发人员、运维人员,还是其他需要频繁进行文件往来的用户,都能轻松上手。

具体来说,rzsz 使用 Zmodem 协议来实现文件的上传和下载。这一协议以其高效稳定的文件传输特性广受欢迎,支持断点续传和文件完整性校验,确保在网络不稳定的情况下,数据的安全与完整。在使用 XShell 进行远程操作时,用户只需在本地机器中拖动文件,将其“释放”到 XShell 窗口中,rzsz 就会自动识别并开始传输。这一流程既高效又省时,极大提高了用户的工作效率。

总的来说,rzsz 是连接 Windows 和 Linux 系统间的重要桥梁,使得文件传输变得简单易行。无论是在日常的文件管理,还是在开发、测试的过程中,它都展现出不可或缺的价值。

注意事项

关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!! 可以通过 ping 指令验证

ping www.baidu.com

查看软件包

使用 yum list 命令

首先,使用以下命令来列出当前系统上所有可用的软件包:

yum list

该命令会输出一个包含所有已安装和可用软件包的长列表,包括软件包名称和版本号。然而,当软件包数量急剧增加时,这个列表可能会变得非常冗长,并且不易于阅读。

使用 grep 命令筛选关心的软件包

为了更高效地查找特定的软件包,可以结合使用 grep 命令。例如,如果你想查找与 httpd(Apache Web 服务器)相关的软件包,可以使用以下命令:

yum list | grep httpd

这条命令的作用是先执行 yum list,将输出传递给 grep,然后仅显示包含 "httpd" 字符串的行。执行后,你可能会看到类似以下的输出:

txt

httpd.x86_64                   2.4.6-93.el7.centos               base
httpd-devel.x86_64             2.4.6-93.el7.centos               base
httpd-manual.noarch             2.4.6-93.el7.centos               base

实际应用示例

假设你正在配置一台 Apache 服务器,想要查看当前系统中与 httpd 相关的软件包是否已经安装或可用。通过执行上述命令,你可以快速定位到相关的软件包,如 httpd 和 httpd-devel,以便进行后续的安装或更新。

如果你还关心其他软件包,比如 php,你可以继续使用 grep 筛选其他关键词:

yum list | grep php

这样可以迅速查看与 PHP 相关的所有软件包,确保你有需要的组件。

注意事项:

1. 软件包名称组成

软件包名称通常遵循以下格式:

<软件包名称>.<主版本号>.<次版本号>.<源程序发行号>-<软件包的发行号>.<主机平台>.<cpu架构>
1.1 主版本号与次版本号
  • 主版本号(Major Version) :表示软件的主要版本变化,通常当软件进行了重大更新、功能增加时会增加。
  • 次版本号(Minor Version) :用于表示小的功能改进或修复,变化通常不会影响软件的核心功能。

例如,在 httpd.x86_64 2.4.6-93.el7 中,2 是主版本号,4 是次版本号。

1.2 源程序发行号
  • 这是一个由开发者指定的标识,通常表示特定版本的完备性和修复,更新或安全修复补丁应用后的版本。

例如,93 是源程序发行号,表示在版本 2.4.6 上的某一次更新。

2. 主机平台与 CPU 架构

2.1 主机平台
  • 主机平台(Platform) :表示软件包适用的操作系统或发行版。比如,el7 和 el6 分别表示 CentOS 7/RHEL 7 和 CentOS 6/RHEL 6。
2.2 CPU 架构
  • CPU 架构(CPU Architecture) :指的是软件包的适用处理器类型。常见的后缀包含:
    • x86_64:表示适合 64 位系统的安装包。
    • i686:表示适合 32 位系统的安装包。

例如,在 httpd.x86_64 2.4.6-93.el7 中,x86_64 表示该软件包为 64 位系统而设计。

3. 发行版版本

  • el7:表示该软件包针对的是 CentOS 7 或 Red Hat Enterprise Linux 7 版本。相应地,el6 则指向 CentOS 6 或 Red Hat Enterprise Linux 6。选择软件包时,需要确保其与系统版本匹配,以避免出现兼容性问题。

4. 软件源的名称

  • 软件源(Repository) :在软件包管理系统中,软件源是提供软件包的在线存储库。例如,base 代表了基础软件源,类似于“应用商店”概念。在 CentOS 和 Red Hat 环境中,软件源分为多个类型,比如 baseupdatesextras 等,非常类似于在手机上的应用商店(如“小米应用商店”或“华为应用商店”),用户可以通过不同软件源下载和安装软件。

如何安装软件

安装 GCC 的命令

要安装 GCC,您只需在终端中运行以下命令:

sudo yum install gcc
  • 这里的 sudo 用于提升权限,因为安装软件通常需要写入系统目录,普通用户没有这个权限。
  • yum install gcc 是 yum 包管理器的具体安装命令,指示系统安装 GCC 软件包。

安装过程

  1. 运行上述命令后,yum 会自动处理软件包依赖关系,查找并列出所有需要下载和安装的软件包。
  2. 系统会提示您确认安装,通常会出现一个消息,询问您是否继续操作。这时,请按 y 并回车确认安装。
  3. 随后,yum 将下载所需的软件包并开始安装。安装完成后,你会看到 "Complete" 的字样,表明 GCC 已成功安装。

注意事项

  • 权限问题:由于安装软件需要对系统目录进行修改,通常需要使用 sudo 命令来获得较高权限,或者直接切换到 root 用户。例如,您可以使用 su - 命令切换到 root 用户。

  • 安装顺序yum 同一时间只能处理一个安装请求。在您正在安装某个软件时,如果尝试使用 yum 进行另一个软件的安装,系统将返回错误信息。因此建议在完成一个软件的安装后再进行下一个软件的安装。

  • 错误处理:在安装过程中,如果 yum 报错,可以尝试通过互联网搜索相关错误信息以找到解决方案。因此,建议具备一定的网络搜索能力,能迅速找到问题的解决办法。

卸载软件

如果您想要卸载安装好的 GCC,您同样只需要使用一条简单的命令:

sudo yum remove gcc
  • 这里的 remove 命令指示 yum 删除指定的软件包。
  • 与安装时相同,您可能需要确认卸载操作。

示例情境

假设您是一名开发人员,刚刚在 CentOS 系统上完成了 GCC 的安装。您在终端中输入:

sudo yum install gcc

出现了如下提示:

txt

Dependencies Resolved================================================================================Package          Arch        Version                   Repository           Size
================================================================================
Installing:gcc              x86_64     4.8.5-39.el7              base                 17 MTransaction Summary
================================================================================
Install  1 PackageTotal size: 17 M
Is this ok [y/d/N]:

您敲入 y 并按回车,等待安装完成后看到:

Complete!

这时,GCC 就已经成功安装在您的系统中。若日后需要卸载,只需运行:

sudo yum remove gcc

Linux开发工具

IDE例子

相关文章:

Linux入门——环境基础开发(上)

Linux 软件包管理器 yum 什么是软件包 在Linux操作系统中&#xff0c;安装软件的方式通常较为复杂&#xff0c;其基本流程涉及下载程序源代码并通过编译得到可执行程序。然而&#xff0c;这种方法需要开发者具备一定的编程知识和环境配置能力&#xff0c;对于许多用户而言&am…...

c++类和对象---下

文章目录 一、类的静态成员 1.1.静态成员变量&#xff1a;所有对象共享的成员变量。 1.2.静态成员函数&#xff1a;可以访问静态成员变量&#xff0c;但不能访问非静态成员变量。 二、类的继承 2.1.继承&#xff1a;子类继承父类的成员变量和成员函数。 2.2.多态&#xff1a;基…...

组件中的Props

在项目开发中,在开发某些界面时,我们可以将一些代码封装成组件来简化代码。但是,如果某些情况下组件中的某些属性不是一成不变的(比如一个头像+姓名的组件,每次使用时都需要改变其图像src和姓名字符串),我们就可以使用Props。 我们要使用Props,我们需要先在组件中声明…...

并行服务、远程SSH无法下载conda,报错404

原下载代码无效&#xff0c;报错404 wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh 使用下面代码下载 wget --user-agent"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12…...

迅为RK3568开发板篇OpenHarmony配置HDF驱动控制LED-新增 topeet子系统-编写 bundle.json文件

bundle.json 文件内容如下所示&#xff1a; 下面是对各个字段的解释&#xff1a; 1. name: "ohos/demos" - 这是组件或项目的名称&#xff0c;这里表示它属于 OHOS&#xff08;OpenHarmony OS&#xff09;生态系统下的一个名为"demos"的组件。 2. descri…...

深度剖析RabbitMQ:从基础组件到管理页面详解

文章目录 一、简介二、Overview2.1 Overview->Totals2.2 Overview->Nodesbroker的属性2.3 Overview->Churn statistics2.4 Overview->Ports and contexts2.5 Overview->Export definitions2.6 Overview->Import definitions 三、Connections连接的属性 四、C…...

usb通过hdc连接鸿蒙next的常用指令

参考官方 注册报名https://www.hiascend.com/developer/activities/details/44de441ef599450596131c8cb52f7f8c/signup?channelCodeS1&recommended496144 hdc-调试命令-调测调优-系统 - 华为HarmonyOS开发者https://developer.huawei.com/consumer/cn/doc/harmonyos-guid…...

【落羽的落羽 C语言篇】文件操作

文章目录 一、文件的概念和分类1. 概念和分类2. 文件名3. 数据文件 三、文件操作1. 文件的打开和关闭1.1 流1.2 文件指针1.3 文件的打开和关闭 2. 文件的顺序读写3. 文件的随机读写4. 文件读取的判定5. 文件缓冲区 一、文件的概念和分类 1. 概念和分类 文件是用来保存数据的。…...

RNN之:LSTM 长短期记忆模型-结构-理论详解-及实战(Matlab向)

0.前言 递归&#xff01;循环神经网络Recurrent Neural Network 循环神经网络&#xff08;又称递归神经网络&#xff0c;Recurrent Neural Network&#xff0c;RNN&#xff09;。是一种用于处理序列数据的神经网络结构&#xff0c;具有记忆功能&#xff0c;能够捕捉序列中的时…...

战略与规划方法——深入解析波士顿矩阵(BCG Matrix):分析产品组合的关键工具

深入解析波士顿矩阵(BCG Matrix):分析产品组合的关键工具 在现代商业管理中,合理地分析和管理产品组合对于企业的成功至关重要。波士顿矩阵(BCG Matrix),又称为成长份额矩阵,是一种由波士顿咨询集团(Boston Consulting Group)在20世纪70年代提出的战略工具,用于帮助…...

【记录52】el-table-column 添加fixed属性 滚动条无法滑动

问题&#xff1a; el-table-column 添加fixed属性 滚动条无法滑动 使用element UI组件&#xff0c;用到el-table的el-table-column的fixed属性时&#xff0c;当滚动条长度小于固定列时&#xff0c;滚动条无法通过鼠标去点击滑动操作 原因 fixed是用来固定列的属性&#xff0c;其…...

晨辉面试抽签和评分管理系统之十:如何搭建自己的数据库服务器,使用本软件的网络版

晨辉面试抽签和评分管理系统&#xff08;下载地址:www.chenhuisoft.cn&#xff09;是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…...

主链和Layer2之间资产转移

主链和Layer2之间资产转移 主链和Layer2之间资产转移是实现Layer2技术的关键环节,以下是资产转移的流程、流行解决方案及原理: 资产从主链转移到Layer2 用户在主链上发起一笔交易,将资产发送到一个特定的智能合约地址,这个合约是主链与Layer2之间的桥梁。智能合约会锁定用…...

麒麟操作系统服务架构保姆级教程(十)rewrite跳转

如果你想拥有你从未拥有过的东西&#xff0c;那么你必须去做你从未做过的事情 我们访问一个网页的时候会遇到一些奇形怪状的url地址&#xff0c;想优化一下&#xff0c;看着顺眼一点&#xff0c;或者打开一个短视频软件想摸鱼刷一会视频&#xff0c;在打开界面的时候无意间按到…...

MySQL表的创建实验

创建并使用数据库mydb6_product 。 mysql> create database mydb6_product; Query OK, 1 row affected (0.01 sec)mysql> use mydb6_product; Database changed 新建employees表。 对于gender&#xff0c;有默认值意味着不为空&#xff0c;在建表时可以选择不写not nul…...

【高可用自动化体系】自动化体系

架构设计的愿景就是高可用、高性能、高扩展、高效率。为了实现架构设计四高愿景&#xff0c;需要实现自动化系统目标&#xff1a; 标准化。 流程自助化。 可视化&#xff1a;可观测系统各项指标、包括全链路跟踪。 自动化&#xff1a;ci/cd 自动化部署。 精细化&#xff1a…...

总结SpringBoot项目中读取resource目录下的文件多种方法

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目…...

Java-KMP字符串匹配算法

给两个字符串s和t&#xff0c;如何很快的知道s是否包含t&#xff08;即t是否是s的子串&#xff09;。暴力的方法&#xff0c;我们依次以s每个位置为头&#xff0c;去匹配t。 public int find(String s, String t) {char[] ss s.toCharArray();char[] tt t.toCharArray();int …...

Vue3使用vue-count-to数字滚动模块报错解决方案

小伙伴们是不是遇到了vue3项目使用vue-count-to出现报错的问题 报错如下&#xff1a; TypeError: Cannot read properties of undefined (reading _c) 这个错误信息具体是说没读取到_c的属性 具体不清楚是什么原因&#xff0c;排查还得去看源码&#xff0c;所以我们来解决&a…...

【高阶数据结构】线段树加乘(维护序列)详细解释乘与加懒标记

文章目录 1.题目[AHOI2009] 维护序列 2.懒标记处理先加后乘的形式1. 先加后乘的操作 先乘后加的形式2. 先乘后加的操作**乘法操作****加法操作** 懒标记的下传 3.代码 1.题目 题目来源:https://www.luogu.com.cn/problem/P2023 [AHOI2009] 维护序列 题目背景 老师交给小可可…...

replaceState和vue的router.replace删除query参数的区别

使用history.replaceState /*** 替换当前的 history state和url* param {(searchParams:URLSearchParams)>any} cb*/ export const replaceUrlSearch (cb) > {// 获取当前 URLconst url new URL(window.location.href)// 获取 URL 的查询参数const searchParams new …...

[USACO14JAN] Ski Course Rating G

题目大意 滑雪场用一个 N ∗ M N*M N∗M 的整数矩阵表示海拔高度&#xff0c;每个整数表示一个范围在 1 0 9 10^9 109 的高度。每个格子都可以滑到相邻的格子&#xff0c;爱好者们将会在雪场种尽情享受。有些格子被指定为起点&#xff0c;每个起点都要进行评级以帮助爱好者选…...

初步认识 Neo4j 图数据库

Neo4j 是一种高性能的图数据库管理系统&#xff0c;基于图论设计&#xff0c;能够高效地存储和查询复杂的关系数据。以下是关于 Neo4j 的详细介绍&#xff1a; 核心特性 数据模型&#xff1a; Neo4j 使用图数据模型&#xff0c;将数据以节点&#xff08;Node&#xff09;、关系…...

Qt中容器 QVector、QList、QSet和QMap 性能与用途比较

表格汇总&#xff1a; 容器存储结构随机访问性能插入/删除性能主要用途QVector连续存储的动态数组 O ( 1 ) O(1) O(1)末尾&#xff1a; O ( 1 ) O(1) O(1)&#xff0c;中间&#xff1a; O ( n ) O(n) O(n)频繁随机访问&#xff0c;末尾元素的添加/删除QList优化存储&#xff0…...

ASP.NET Core - 依赖注入(四)

ASP.NET Core - 依赖注入&#xff08;四&#xff09; 4. ASP.NET Core默认服务5. 依赖注入配置变形 4. ASP.NET Core默认服务 之前讲了中间件&#xff0c;实际上一个中间件要正常进行工作&#xff0c;通常需要许多的服务配合进行&#xff0c;而中间件中的服务自然也是通过 Ioc…...

数学用语中 up to 的含义

1. 问题 在数学用语中&#xff0c;常见到“up to”这种用法&#xff0c; 但这种用法与我们常规情况下的用法不同&#xff0c;常令人困惑。 2. “等价关系”说明 已知两个数学对象 a 和 b&#xff0c;以及实数域R&#xff0c; • 当 a 和 b是通过 R 关联的&#xff0…...

Spring Boot + MyBatis-Flex 配置 ProxySQL 的完整指南

✅ Spring Boot MyBatis-Flex 配置 ProxySQL 的完整指南 下面是一个详细的教程&#xff0c;指导您如何在 Spring Boot 项目中使用 MyBatis-Flex 配置 ProxySQL 进行 读写分离 和 主从同步 的数据库访问。 &#x1f3af; 目标 在 Spring Boot 中连接 ProxySQL。使用 MyBatis-…...

WEB攻防-通用漏洞_XSS跨站_权限维持_捆绑钓鱼_浏览器漏洞

目录 XSS的分类 XSS跨站-后台植入Cookie&表单劫持 【例1】&#xff1a;利用beef或xss平台实时监控Cookie等凭据实现权限维持 【例2】&#xff1a;XSS-Flash钓鱼配合MSF捆绑上线 【例3】&#xff1a;XSS-浏览器网马配合MSF访问上线 XSS的分类 反射型&#xff08;非持久…...

人工智能任务20-利用LSTM和Attention机制相结合模型在交通流量预测中的应用

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能任务20-利用LSTM和Attention机制相结合模型在交通流量预测中的应用。交通流量预测在现代城市交通管理中是至关重要的一环&#xff0c;它对优化交通资源分配以及提升道路通行效率有着不可忽视的意义。在实际…...

Day04-后端Web基础——Maven基础

目录 Maven课程内容1. Maven初识1.1 什么是Maven?1.2 Maven的作用1.2.1 依赖管理1.2.2 项目构建1.2.3 统一项目结构 2. Maven概述2.1 Maven介绍2.2 Maven模型2.2.1 构建生命周期/阶段(Build lifecycle & phases)2.2.2 项目对象模型 (Project Object Model)2.2.3 依赖管理模…...