Linux——软件管理

目录

Linux应用程序基础

应用程序与系统命令的关系

典型应用程序的目录结构

常见的软件包封装类型

RPM包管理机制

使用YUM源

使用YUM源管理软件的步骤

1、配置YUM源配置文件

2、清空YUM源缓存    yum clean  all

3、安装软件               yum install httpd

基本 yum 命令

使用yum命令安装本地rpm包

使用第三方 Yum

RPM包管理命令 —— rpm

查询RPM软件信息

查询已安装的RPM软件信息

查询未安装的RPM包文件

安装、升级、卸载RPM软件包

卸载指定的RPM软件

源代码编译概述

源码编译安装的基本过程

1. 解包

2. 配置

3. 编译

4. 安装


Linux应用程序基础

应用程序与系统命令的关系

文件位置  

  • 系统命令:一般在/bin和/sbin目录中,或为Shell内部指令  
  • 应用程序:通常在/usr/bin和/usr/sbin目录中

主要用途  

  • 系统命令:完成对系统的基本管理工作,例如IP配置工具  
  • 应用程序:完成相对独立的其他辅助任务,例如网页浏览器

适用环境  

  • 系统命令:一般只在字符操作界面中运行  
  • 应用程序:根据实际需要,有些程序可在图形界面中运行

运行格式  

  • 系统命令:一般包括命令字、命令选项和命令参数  
  • 应用程序:通常没有固定的执行格式

典型应用程序的目录结构

常见的软件包封装类型

RPM包管理机制

RPM Package Manager 由Red Hat公司提出,被众多Linux发行版所采用。建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系。

RPM软件包 软件素材参考:http://rpmfind.net

一般命名格式:

使用YUM源

使用YUM源管理软件的方式

  • 图形界面——添加删除软件工具
  • 命令行——yum命令

使用YUM源管理软件的前提:配置YUM源配置文件

使用YUM源管理软件的步骤

1、配置YUM源配置文件

存放目录/etc/yum.repos.d 命名规则***.repo,

如:dvd.repo 文件格式示例:

[dvd]

Enabled=1

name=dvd

baseurl=http://instructor.example.com/pub/rhel6/dvd

baseurl=file:///mnt/dvd

gpgcheck=0

2、清空YUM源缓存    yum clean  all

3、安装软件               yum install httpd

Yum 是一个强大的命令行工具,可用于更加灵活的管理(安装,更新,删除,查询)软件包。

基本 yum 命令

1.yum help 显示使用信息

2.yum list   列出软件包

3.yum search keyword   搜索关键字

4.yum info packagename  列出软件包详细信息

5.yum install packagename  安装软件包

6.yum remove packagename 删除软件包

7.yum update packagename   升级软件包

管理 yum 组件组

1.yum grouplist         列出所有可用组

2.yum groupinfo        提供特定组的信息

3.yum groupinstall     安装软件包组

4.yum groupupdate   更新软件包组

5.yum grouperase     删除软件包组

使用yum命令安装本地rpm包

yum  localinstall  ***.rpm

使用第三方 Yum

将文件放到 /etc/yum.repos.d/ 目录中,可以启用对新的第三方存储库的支持,存储库配置文件必须以.repo结尾。

配置文件示例  /etc/yum.repos.d/updates.repo

[updates] name=Red Hat Updates

baseurl=ftp://instructor.example.com/pub/rhel6/Errata

enabled=1

gpgcheck=0

RPM包管理命令 —— rpm

主要功能

  • 1. 查询RPM软件、包文件的相关信息
  • 2. 安装、升级、卸载RPM软件包
  • 3. 维护RPM数据库信息

查询RPM软件信息

查询已安装的RPM软件信息

格式:rpm  -q[子选项]  [软件名]

用法:结合不同的子选项 完成不同查询  

-qa:查看系统中已安装的所有RPM软件包列表  

-qi:查看指定软件的详细信息

-ql:查询指定软件包所安装的目录、文件列表

-qc:仅显示指定软件包安装的配置文件  

-qd:仅显示指定软件包安装的文档文件

查询文件/目录属于哪个RPM软件 格式:rpm  -qf  文件或目录名

ex:

# 查询是否已安装有bash软件包

[root@localhost ~]# rpm -q

bash bash-3.1-16.1

[root@localhost ~]# rpm -qa | grep bash

bash-3.1-16.1

# 查询vim是由哪个软件包安装的

[root@localhost ~]# rpm -qf /usr/bin/vim

vim-enhanced-7.0.109-3

# 查询dhcp软件包安装的文件列表

[root@localhost ~]# rpm -ql dhcp

/etc/dhcpd.conf

/etc/rc.d/init.d/dhcpd

查询未安装的RPM包文件

格式:rpm  -qp[子选项]  RPM包文件

用法:结合不同的子选项 完成不同查询  

-qpi:通过.rpm包文件查看该软件的详细信息  

-qpl:查看.rpm安装包内所包含的目录、文件列表  

-qpc:查看.rpm安装包内包含的配置文件列表  

-qpd:查看.rpm安装包内包含的文档文件列表

安装、升级、卸载RPM软件包

安装或升级RPM软件

格式:rpm  [选项]  RPM包文件...

用法:不同选项适用于不同情况  

-i:安装一个新的rpm软件包  

-U:升级某个rpm软件,若原本未装,则进行安装  

-F:更新某个rpm软件,若原本未装,则放弃安装

卸载指定的RPM软件

格式:rpm  -e  软件名

辅助选项

--force:强制安装所指定的rpm软件包

--nodeps:安装、升级或卸载软件时,忽略依赖关系

-h:以“#”号显示安装的进度

-v:显示安装过程中的详细信息

ex: rpm -ivh lynx-2.8.5-28.1.i386.rpm

        rpm -Uvh /media/cdrom/wget-1.10.2-7.el5.i386.rpm

源代码编译概述

使用源代码安装软件的优点

  • 获得最新的软件版本,及时修复bug
  • 根据用户需要,灵活定制软件功能

应用场合举例

  • 安装较新版本的应用程序时(自由软件的最新版本大都以源码的形式最先发布)
  • 当前安装的程序无法满足需要时(编译安装可由用户自行修改、定制功能)
  • 需要为应用程序添加新的功能时(用户可以重新配置、自由修改源代码,加入新的功能)

Tarball 封包: .tar.gz 和 .tar.bz2 格式居多 软件素材参考:http://sourceforge.net

确认源代码编译环境

需安装支持 C/C++程序语言的 编译器

 gcc-4.1.1-52.el5、gcc-c++-4.1.1-52.el5  make-3.81-1.1.i386 ……

源码编译安装的基本过程

解包 —— tar 解包、释放出源代码文件

配置 —— ./configure 针对当前系统、软件环境,配置好安装参数

编译 —— make 将源代码文件变为二进制的可执行程序

安装 —— make install 将编译好的程序文件复制到系统中

1. 解包

习惯上将软件包释放到 /usr/src/ 目录

解包后的源代码文件位置:  /usr/src/软件名-版本号/

2. 配置

需将工作目录切换到软件源码所在目录

使用源码目录中的 configure 脚本 执行“./configure --help” 可以查看帮助

典型的配置选项:  --prefix=软件安装目录

3. 编译

执行 make 命令

4. 安装

执行 make install 命令

这两个步骤可以合写为一行: make && make install

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

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

相关文章

C 练习实例96 - 字符串中的子串

题目&#xff1a;计算字符串中出现字串的次数 例如&#xff1a;789123456123121230中有3个“123”字符串字串 代码&#xff1a; #include <stdio.h> #include <string.h> int func(char *str1, char *str2) {int count 0;int i,j;for( i 0; i < strlen(str…

【随笔】Git -- 高级命令(下篇)(八)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

机器学习 - 提高模型 (代码)

如果模型出现了 underfitting 问题&#xff0c;就得提高模型了。 Model improvement techniqueWhat does it do?Add more layersEach layer potentially increases the learning capabilities of the model with each layer being able to learn some kind of new pattern in…

ConcurrentHashMap线程安全机制

put源码&#xff1a; public V put(K key, V value) {return putVal(key, value, false); }/** Implementation for put and putIfAbsent */ final V putVal(K key, V value, boolean onlyIfAbsent) {if (key null || value null) throw new NullPointerException();int has…

【BlossomConfig】SpringBoot如何实现配置的管控?

文章目录 ConfigurableEnvironment事件监听完成配置变更使用Scope来管控Bean的生命周期什么是配置中心&#xff1f;以及如何实现一个配置中心&#xff1f;SpringBoot如何实现配置的管控&#xff1f;SpringCloud项目是如何对bootstrap配置文件进行加载的&#xff1f;Nacos是如何…

vue快速入门(二)安装vue调试插件

教程很详细&#xff0c;直接上过程 上一篇 新增内容 在国内网站下载谷歌插件安装插件 点击跳转极简插件 此处我们以Chrome浏览器为例 到这里我们就成功安装了插件 使用上一篇博客的代码在浏览器F12调试一下 这样就可以使用了&#xff01;&#xff01;&#xff01;

云原生时代来了,遗留的虚拟机怎么办?红帽 OpenShift 虚拟化实现“稳敏兼得”

作者 | 宋慧 出品 | CSDN 从云原生、容器、微服务&#xff0c;到现在大热的 AIGC、GPU&#xff0c;越来越多的技术与架构正在进入数据中心与基础设施中&#xff0c;以服务数字化转型中的创新业务与应用。在成熟虚拟化传统&#xff08;稳态&#xff09;业务和容器、新&#xff…

vue获取上个月今天

vue获取上个月今天 在Vue中获取上个月的今天可以通过以下步骤实现&#xff1a; 引入moment.js库用于处理日期。 在Vue组件中定义一个方法&#xff0c;使用moment来获取上个月的今天的日期。 以下是实现的示例代码&#xff1a; 首先&#xff0c;确保安装了moment.js&#x…

Vue-05

v-model 应用于其他表单元素 常见的表单元素都可以用v-model绑定关联 → 快速获取或设置表单元素的值 它会根据控件类型自动选取正确的方法来更新元素 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name…

【PFA树脂交换柱】实验室高纯PFA材质过滤柱耐受电子级氢氟酸含氟树脂层析柱

PFA离子交换柱&#xff0c;也叫PFA层析柱、PFA过滤柱等&#xff0c;其原理是利用吸附剂对不同化合物有不同吸附作用和不同化合物在溶剂中的不同溶解度&#xff0c;用适应溶剂使混合物在填有吸附剂的柱内通过&#xff0c;使复杂的混合物达到分离和提纯的目的。 柱体为透明PFA材…

Centos7 elasticsearch-7.7.0 集群搭建,启用x-pack验证 Kibana7.4用户管理

前言 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎&#xff0c;能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心&#xff0c;它集中存储您的数据&#xff0c;帮助您发现意料之中以及意料之外的情况。 环境准备 软件 …

软考 系统架构设计师系列知识点之云原生架构设计理论与实践(14)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之云原生架构设计理论与实践&#xff08;13&#xff09; 所属章节&#xff1a; 第14章. 云原生架构设计理论与实践 第3节 云原生架构相关技术 14.3.2 云原生微服务 1. 微服务发展背景 2. 微服务设计约束 相较于单体应…

【Linux】自定义协议+序列化+反序列化

自定义协议序列化反序列化 1.再谈 "协议"2.Cal TCP服务端2.Cal TCP客户端4.Json 喜欢的点赞&#xff0c;收藏&#xff0c;关注一下把&#xff01; 1.再谈 “协议” 协议是一种 “约定”。在前面我们说过父亲和儿子约定打电话的例子&#xff0c;不过这是感性的认识&a…

上海开放大学2024年春《机电一体化系统设计》填空题参考答案

一、填空题 1(10分)机电一体化产品不仅是人的手与肢体的延伸&#xff0c;还是人的()、() 的延伸&#xff0c;具有“智能化”的特征是机电一体化与机械电气化在功能上的本质差别。 参考答案&#xff1a; 填空 一 感官 填空 二 头脑 2(10分)根据不同的使用目的&#xff0c…

在线起诉电信诈骗

原告王某1向本院提出诉讼请求&#xff1a;请求被告返还不当得利款6000元及利息&#xff08;利息按一年期贷款市场报价利率3.85%的标准计算&#xff0c;从2022年10月2日至实际清偿为止&#xff09;。本案在审理过程中&#xff0c;原告王某1变更诉讼请求为&#xff1a;请求被告赔…

Kafka入门到实战-第二弹

Kafka入门到实战 Kafka快速开始官网地址Kafka概述Kafka术语Kafka初体验更新计划 Kafka快速开始 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://kafka.apache.org/Kafka概述 Apache Kafka 是一个开源的分布式事件流…

【SQL Server】2. 将数据导入导出到Excel表格当中

最开始&#xff0c;博主介绍一下自己的环境&#xff1a;SQL Sever 2008 R2 SQL Sever 大致都差不多 1. 通过自带软件的方式 首先找到下载SQL Sever中提供的导入导出工具 如果开始界面没有找到自己下载的路径 C:\Program Files\Microsoft SQL Server\100\DTS\Binn下的DTSWiz…

整理开源资源:零代码开发灵魂——逻辑引擎,收藏吧

逻辑配置是零代码开发的业务核心功能&#xff0c;本质上是实现服务的编排&#xff0c;把原子的服务通过可视化编排&#xff0c;形成最终的业务逻辑。 经过小编的精心整理&#xff0c;把相关的资源全部汇总起来&#xff0c;收藏吧&#xff01; Drawflow 拖动节点多路输入/输出…

增强Java技能:使用OkHttp下载www.dianping.com信息

在这篇技术文章中&#xff0c;我们将探讨如何使用Java和OkHttp库来下载并解析www.dianping.com上的商家信息。我们的目标是获取商家名称、价格、评分和评论&#xff0c;并将这些数据存储到CSV文件中。此外&#xff0c;我们将使用爬虫代理来绕过任何潜在的IP限制&#xff0c;并实…

python3内置持久化模块shelve心得

python3内置持久化模块shelve心得 来自python官方网站的解释&#xff1a; https://docs.python.org/zh-cn/3.10/library/shelve.html 本文环境&#xff1a; Windows 10 专业版 64 位 Thonny 3.2.6 概述 内置模块 shelve 可以将任意 Python 对象&#xff08;即 https://docs…