软件包的管理

news2024/11/25 15:42:58

概念

在早期Linux系统中,要想在Linux系统中安装软件只能采取编译源码包的方式进行安装,所以早期安装软件是一件非常困难、耗费耐心的事情,而且大多数服务程序仅提供源代码,还需要运维人员编译后自行解决软件之间的依赖关系。所以在早期对Linux的运维人员技术能力要求非常高,而还需要有良好的耐心。

在经过一段时间的发展,RedHat公司推出了一款软件包管理器(RPM,为Linux系统的软件安装提供了便捷的服务,它可以实现像windows系统中的控制面板那样,建立统一的数据库,祥细记录软件信息,并能够自动分析依赖关系,使运维人员的工效率大大提高。即使有了RPM能够帮助用户查询软件之间的依赖关系,但问题还是需要运维人员自己来解决,而有些大型软件可能与数十个程序有依赖关系,在这种情况下安装软件依然是很繁锁,所以又出现了一款新的软件,即YUM软件仓库(DNF),而款软件的出现大大的降低了安装难度和复杂度。YUM软件仓库不但可以根据用户的要求分析出所需的软件包及其相关的依赖关系,而且还可以自动从服务器下载软件包并安装到系统。

RPM软件安装

安装语法:rpm 参数 软件名

常用参数: 

RPM安装软件包名称解释: 

 

  • 以.rpm格式发布的软件里面封装的都是经过编译过的二进制形式的软件,可以直接安装。
  • .rpm格式的文件又称为rpm软件包,简称rpm包

查询系统中已安装的所有rpm软件包

  • rpm -qa:查询系统中已安装的所有rpm软件包。
  • rpm -qa | wc -l:统计安装的rpm软件包个数。
  • rpm -qa | more:能够分页显示安装的软件包。

案例:使用 RPM 管理 telnet-server 软件包

1.telnet是什么

Telnet是teletype network的缩写,专业的说,Telnet是Internet上远程登录的一种程序;它可以让您的电脑通过网络登录到网络另一端的电脑上,甚至还可以存取那台电脑上的文件。

2.有什么用

Telnet服务器软件是我们最常用的远程登录服务器软件,是一种典型的客户机/服务器模型的服务,它应用Telnet协议来工作。那么,什么是Telnet协议?它都具备哪些特点呢?

Telnet是位于OSI模型的第7层---应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:

Telnet定义一个网络虚拟终端为远程系统提供一个标准接口。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序;

Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项; 

Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

3.可以用来干什么

Telnet 远程主机名

用户就会看到远程主机的欢迎信息或登录标志。在Windows系统中,用户将以具有图形界面的Telnet客户端程序与远程主机建立Telnet连接。

Telnet pingIP+端口号查看网络是否通常

1.查看是否安装有telnet

2.挂载光盘

3.安装telnet:进入到Packages文件夹

[root@localhost ~]#  rpm -qa |grep telnet
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
       /dev/sr0 已经挂载到 /run/media/root/CentOS 7 x86_64 上
       /dev/sr0 已经挂载到 /mnt/cdrom 上
[root@localhost ~]# cd /mnt/cdrom
[root@localhost cdrom]#  ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@localhost cdrom]# cd Packages
[root@localhost Packages]# ls telnet-*.rpm
telnet-0.17-66.el7.x86_64.rpm  telnet-server-0.17-66.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh telnet-0.17-66.el7.x86_64.rpm  telnet-server-0.17-66.el7.x86_64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:telnet-server-1:0.17-66.el7      ################################# [ 50%]
   2:telnet-1:0.17-66.el7             ################################# [100%]

[root@localhost Packages]# telnet 192.168.222.130 3306
Trying 192.168.222.130...
Connected to 192.168.222.130.
Escape character is '^]'.
N
5.7.40-log`,eEfV'ÿ!EnJ8
                       \M.Fmysql_native_passwordConnection closed by foreign host.
[root@localhost Packages]# 


[root@localhost Packages]# netstat -n6
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
[root@localhost Packages]# 

Yum软件仓库安装     

yum软件仓库中的RPM软件包可以是由红帽官方发布的,也可以是由第三方发布的,当然也可以自己编写。Yum软件仓库的拓扑结构图如下所示:

Yum软件仓库     语法:yum [参数]     

常用参数:

 

 

配置软件安装仓库

方法一:配置本地yum仓库

1.挂载光驱:

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
       /dev/sr0 已经挂载到 /run/media/root/CentOS 7 x86_64 上
       /dev/sr0 已经挂载到 /mnt/cdrom 上
[root@localhost ~]# 

2.切换到存放yum仓库配置文件的目录,找到配置文件(/etc/yum.repos.d/redhat.repo) 

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  CentOS-x86_64-kernel.repo
[root@localhost yum.repos.d]# 

 3.先备份下原来的配置文件

[root@localhost yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]# ls
CentOS-Base.repo      CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo  CentOS-x86_64-kernel.repo
CentOS-Base.repo.bak  CentOS-Debuginfo.repo  CentOS-Media.repo      CentOS-Vault.repo
[root@localhost yum.repos.d]# 

4.使用vim编辑器,打开配置文件,进行配置文件编辑:文件格式如下:

5.重新缓存信息

[root@localhost yum.repos.d]# yum clean all

6. 检查是否可以安装软件

[root@localhost yum.repos.d]# rpm -qa | grep vsftpd
[root@localhost yum.repos.d]# yum install vsftpd

方法二:配置网络yum仓库(阿里云yum源)

[root@localhost ~]# mv /etc/yum.repos.d /etc/yum.repos.d.bak
[root@localhost ~]# mkdir /etc/yum.repos.d
[root@localhost ~]# vim /etc/yum.repos.d/CentOS.repo 

# yum源的名称
[CentOS]
#描述信息
name=CentOS_DVD
#安装包位置
baseurl=file:///mnt/cdrom
#是否启动
enabled=1
#是否检查验证文件
gpgcheck=0

[root@localhost ~]# mkdir /mnt/cdrom 
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom 
[root@localhost ~]# yum clean all 
[root@localhost ~]# yum makecache 
  
   
--网络镜像源
[root@localhost network-scripts]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo  
[root@localhost network-scripts]# yum makecache 
[root@localhost network-scripts]# cd /etc
[root@localhost etc]# ls yum.repos.d.bak/ 
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  CentOS-x86_64-kernel.repo
[root@localhost etc]# cp yum.repos.d.bak/CentOS-Base.repo yum.repos.d/CentOS_Base.rep   
[root@localhost etc]# cd yum.repos.d
[root@localhost yum.repos.d]# ll
总用量 12
-rw-r--r--. 1 root root 1664 9月  18 23:46 CentOS_Base.rep
-rw-r--r--. 1 root root 2523 9月   4 2022 CentOS-Base.repo
-rw-r--r--. 1 root root  190 9月  18 23:06 CentOS.repo
[root@localhost yum.repos.d]# 
    sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS_Base.repo

    [root@localhost yum.repos.d]# yum makecache

1.yun仓库的作用:管理系统中的rpm程序包

2. yum特点:安装程序简单方便;易用;减少公网带宽资源占用

3、yum仓库类型:

  

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

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

相关文章

【力扣每日一题】2023.9.18 打家劫舍Ⅲ

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 今天是打家劫舍3,明天估计就是打家劫舍4了。 今天的打家劫舍不太一样,改成二叉树了,不过规则没有变&…

苹果手机无法正常使用小程序和APP

小程序、APP 已使用了几年,突然大量反馈:苹果手机无法正常使用。但不是全部,只是部分手机。 因为同事苹果手机都能用,所以无法准确判断具体原因。 后来同事苹果手机也无法使用了,显示: 网上搜索结果&…

力扣刷题19-删除链表的倒数第N个节点

题目来源 题目描述: class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {//为了删除的格式一样,引入虚拟头节点ListNode dummyNodenew ListNode(1);dummyNode.nexthead;ListNode slowdummyNode;ListNode fastdummyNode;for(int…

java项目之交通事故档案管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的交通事故档案管理系统。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框…

github desktop上传代码

这个很难受,因为遇到了很多问题。最终选择的方式如下: 1:在GitHub上搞一个新建的“repositories”. 这个repositories可以是已经存在的或随便在什么地方新建的。不要紧 2:在“github desktop”上把上面的“repositories”项目cl…

玩转安卓运行速度优化

原文链接 玩转安卓运行速度优化 早在许多年以前写过一篇安卓性能优化文章,时过境迁,很多事情都有了变化,所以再专门针对程序运行速度和渲染的优化,这两方面非常直接的影响应用程序的操作流畅度,也可以称作流畅度优化方…

vue Router路由

编程式导航 | Vue Router 看官方文档 vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。功能包括: 嵌套路由映射动态路由选择模块化、基于组件的路由配置路由参数、查询、通配符展示由 Vue.js 的过…

Golang Linux 安装与环境变量配置

下载 Go 二进制包 wget https://dl.google.com/go/go1.21.1.linux-amd64.tar.gz 解压文件并将其移至 /usr/local 目录 sudo tar -C /usr/local -xzf go1.20.1.linux-amd64.tar.gz -C 选项解压文件到 /usr/local 目录,查看 /usr/local/go 目录的内容 将 Go 二进…

【openwrt学习笔记】miniupnpd学习笔记

目录 一、参考资料二、upnp基本概念三、miniupnpd3.1参数说明3.1.1 config upnp 的配置参数表3.1.2 config perm_rule 许可设置配置参数表 3.2 windows上使用miniupnpc工具3.3 关于开启upnp功能后无法添加端口 四、其它知识补充4.1 NAT4.1.1 NAT概念4.1.2 NAT的分类 4.2 NAT穿透…

华为云云耀云服务器L实例评测|伪分布式环境下部署hadoop2.10.1

文章目录 前言云耀云服务器L实例简介Hadoop简介 一、配置环境购买云耀云服务器L实例查看云耀云服务器L实例状态重置密码查看弹性公网IP地址 FinalShell连接服务器二、搭建Hadoop单机版本详细安装步骤如下:我们先开始配置java环境hadoop2.x接下来需要利用vim来操作co…

Java常用类之 Java比较器、System类、Math类、BigInteger与BigDecimal

Java常用类 文章目录 五、Java比较器5.1、Comparable 接口的使用5.1.1、自然排序:Comparable接口5.1.2、定制排序:Comparator接口 六、System类七、Math类八、BigInteger与BigDecimal 五、Java比较器 提出背景: Java中的对象,正常…

泰尔指数案例分析

泰尔指数是一种衡量‘不平均’的指数,比如用于衡量‘贫富差异’,也或者衡量大气污染的水平是否一致,二氧化碳排放水平差异情况等。泰尔指数的数学原理是‘熵’,‘熵’是一种衡量数据‘有序性’的指标,当‘熵’值越大时…

GEE:快速实现NDVI时间序列NDVI线性趋势和变化敏感性计算(斜率、截距)

作者:CSDN @ _养乐多_ 本博客将向您介绍如何使用Google Earth Engine(GEE)平台来处理Landsat 5、7和8的卫星图像数据,计算NDVI的斜率和截距,以及如何导出这些结果供进一步分析使用。 文章目录 一、代码详解1.1 核心代码详解1.2 核心代码详解1.3 代码框架介绍二、完整代码…

buuctf web [极客大挑战 2019]Http

进入题目上下翻找了一下,没有什么突破口 检查了一下源码,有一个跳转页面 点击页面,跳转到了新的地方 新页面里没有别的跳转接口 但是页面中有提示:It doesnt come from https://Sycsecret.buuoj.cn 打开burp 页面提示要求来自h…

群体遗传学必备知识锦囊

群体遗传学应知应会 今天分享一篇关于群体遗传学的笔记,主要参考了网络公开资料以及公开发表的文献,包含群体遗传的概述、研究方法、应用领域、分析流程、统计学原理、群体结构评估等。 群体和个体有什么区别? 在遗传学中,群体和个…

innovus: 各种padding一勺烩

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 instance padding specifyInstPad $instance_name -left/-right $site_num site_num指的是padding的大小以site宽度为单位。 module padding setPlaceMode -place_global_mo…

人工智能训练师

人工智能训练师是一个较新的职业,2020年2月才被正式纳入国家职业分类目录。他们主要负责在人工智能产品使用过程中进行数据库管理、算法参数设置、人机交互设计、性能测试跟踪及其他辅助作业。 这个职业的背景源于AI公司从客户(用户)那里获取…

mac office2019

目录 简介 macoffice2019 安装步骤 总结 简介 macoffice2019 Mac Office 2019是微软为苹果Mac系统用户推出的办公软件套装。它包括了Word、Excel、PowerPoint等常用应用程序,并且提供了一系列全新的功能和工具,以提升用户的办公效率和创造力。 Mac O…

容器核心技术之Namespace与Cgroup

容器是一种流行的虚拟化技术,它允许我们在同一台计算机上与其他进程在独立环境中运行进程。那么容器是如何做到这一点的呢?为此,容器是从 Linux 内核的一些新功能构建的,其中两个主要功能是“namespace”和“cgroup”。 1.Namespa…

IDE VS2012正则替换 并将捕获的内容放入替换的字符串中$1

场景: 我想把ESLOG_INF(("deviceName %s", deviceName));只要一对括号,即ESLOG_INF(“deviceName %s”, deviceName); 获取不想替换的内容 先用正则 ESLOG_INF\(\((.*)\)\);捕获 不想替换的内容 "deviceName %s", deviceName放…