Linux——软件管理

news/2024/6/20 19:50:56/文章来源:https://blog.csdn.net/weixin_63001635/article/details/137232271

目录

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.luyixian.cn/news_show_1035389.aspx

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

相关文章

鸿蒙OS开发实战:【穿戴应用】

背景 写HarmonyOS穿戴应用研发,仅仅是为了一线研发人员提供少许的帮助。 在有些公司,可能因为业务的需要,所以要求研发人员一定要在华为手表穿戴上研发特定的功能,并且理所应当的认为这个开发成本就一个顺手的事情。 开发应用顺…

【C+ +】第一个C+ + 项目的创建及namespace命名空间解释C++中的输入输出

目录 1.创建第一个c项目 1.1项目创建 1.2 .cpp源文件建立 1.3 第一个c程序hello world对比c语言hello world 2.命名空间 2.1 C关键字 2.2 命名空间---解决c语言中的命名冲突 2.2.1 namespace命名空间用法 2.2.2 :: 预作用限定符 2.2.3 命名空间的嵌套…

第六十三回 呼延灼月夜赚关胜 宋公明雪天擒索超-大模型BERT、ERNIE、GPT和GLM的前世今生

神行太保戴宗报信,关胜人马直奔梁上泊,请宋江早早收兵,解梁山之难。宋江派了花荣到飞虎峪左边埋伏,林冲到右边埋伏,再叫呼延灼带着凌振,在离城十里附近布置了火炮,然后才令大军撤退。 李成闻达…

Python中批量修改文件名,去除某些内容

环境:Window10 Python3.9 PyCharm(2023.1.3) -------------------------------------****************** ** *********************----------------------------------------- 这是在Python中批量将指定文件夹下相似的文件名,提取文件名有效信息&am…

[RK3588-Android12] 调试MIPI-双通道-压缩屏(Video Mode/MIPI Dphy 8Lane/DSC 144HZ)

问题描述 被测屏幕:小米Pad6 分辨率:1800X2880 模式:Video Mode/MIPI Dphy 8Lane/DSC 144HZ PPS: 11 00 00 89 30 80 0B 40 03 84 00 14 01 C2 01 C2 02 00 01 F4 00 20 01 AB 00 06 00 0D 05 7A 06 1A 18 00 10 F0 03 0C 20 00 06 0B 0B 33…

SpringBoot+Prometheus+Grafana实现应用监控和报警

一、背景 SpringBoot的应用监控方案比较多&#xff0c;SpringBootPrometheusGrafana是目前比较常用的方案之一。它们三者之间的关系大概如下图&#xff1a; 关系图 二、开发SpringBoot应用 首先&#xff0c;创建一个SpringBoot项目&#xff0c;pom文件如下&#xff1a; <…

Sy6 编辑器vi的应用(+shell脚本3例子)

实验环境&#xff1a; 宿主机为win11&#xff0c;网络&#xff1a;10.255.50.5 6389 WSL2 ubuntu 目标机的OS&#xff1a;Ubuntu 内核、版本如下&#xff1a; linuxpeggy0223:/$ uname -r 5.15.146.1-microsoft-standard-WSL2 linuxpeggy0223:/$ cat /proc/version Linux vers…

MYSQL数据库:告别慢查询,优化性能大揭秘

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 MYSQL数据库&#xff1a;告别慢查询&#xff0c;优化性能大揭秘 文章目录 一、揭秘…

Redis慢日志

SLOWLOG 是用来读取和重置 Redis 慢查询日志的命令&#xff0c;Redis 2.2.12 版本开始支持 1.Redis 慢查询日志概述 客户端从发送命令到获取返回结果经过了以下几个步骤&#xff1a; 1. 客户端发送命令 2. 该命令进入 Redis 队列排队等待执行 3. Redis 开始执行命令 - Red…

MySQL 数据库基础操作详解

文章目录 MySQL 数据库基础操作详解1. 基本概念2. 库的操作3. 表的操作4. 数据操作5. 示例示例一&#xff1a;创建表和插入数据示例二&#xff1a;查询数据示例三&#xff1a;更新数据示例四&#xff1a;删除数据 MySQL 数据库基础操作详解 MySQL 是一种常用的关系型数据库管理…

设计模式-结构型-享元模式Flyweight

享元模式的特点&#xff1a; 享元模式可以共享相同的对象&#xff0c;避免创建过多的对象实例&#xff0c;从而节省内存资源 使用场景&#xff1a; 常用于需要创建大量相似的对象的情况 享元接口类 public interface Flyweight { void operate(String extrinsicState); } 享…

计算机网络-TCP/IP 网络模型

TCP/IP网络模型各层的详细描述&#xff1a; 应用层&#xff1a;应用层为应用程序提供数据传输的服务&#xff0c;负责各种不同应用之间的协议。主要协议包括&#xff1a; HTTP&#xff1a;超文本传输协议&#xff0c;用于从web服务器传输超文本到本地浏览器的传送协议。FTP&…

计算机视觉之三维重建(5)---双目立体视觉

文章目录 一、平行视图1.1 示意图1.2 平行视图的基础矩阵1.3 平行视图的极几何1.4 平行视图的三角测量 二、图像校正三、对应点问题3.1 相关匹配法3.2 归一化相关匹配法3.3 窗口问题3.4 相关法存在的问题3.5 约束问题 一、平行视图 1.1 示意图 如下图即是一个平行视图。特点&a…

怎样在Linux搭建NTP服务器

搭建 NTP&#xff08;Network Time Protocol&#xff09;服务器可以帮助你在局域网内提供时间同步服务&#xff0c;让网络中的设备都使用统一的时间。以下是在 Linux 系统上搭建 NTP 服务器的基本步骤&#xff1a; 安装 NTP 服务器软件&#xff1a; 在终端中执行以下命令安装 N…

第二十章 红黑树

大家应该都接触过平衡二叉树(AVLTree)&#xff0c;了解到 AVL 树的性质&#xff0c;其实平衡二叉树最大的作用就是查找&#xff0c;AVL 树的查找、插入和删除在平均和最坏情况下都是 O(logn)。AVL 树的效率就是高在这个地方。如果在 AVL 树中插入或删除节点后&#xff0c;使得高…

JUC:synchronized优化——锁的升级过程(偏向锁->轻量级锁->重量级锁)以及内部实现原理

文章目录 锁的类型轻量级锁重量级锁自旋优化偏向锁偏向锁的细节偏向锁的撤销批量重偏向批量撤销锁消除 锁的类型 重量级锁、轻量级锁、偏向锁。 加锁过程&#xff1a;偏向->轻量级->重量级 轻量级锁 轻量级锁的使用场景&#xff1a;如果一个对象虽然有多线程要加锁&am…

HarmonyOS 应用开发之Actor并发模型对比内存共享并发模型

内存共享并发模型指多线程同时执行复数任务&#xff0c;这些线程依赖同一内存并且都有权限访问&#xff0c;线程访问内存前需要抢占并锁定内存的使用权&#xff0c;没有抢占到内存的线程需要等待其他线程释放使用权再执行。 Actor并发模型每一个线程都是一个独立Actor&#xf…

IDEA无法连接虚拟机中的Redis的解决方案,无法连接Jedis,无法ping通虚拟机的解决方案

首先&#xff0c;笔者先说明一下自身的情况&#xff0c;怎么连接都连不上&#xff0c;网上的教程全部都看了一遍&#xff0c;基本上没用得上的&#xff0c;这篇文章里面的解决方案包括了笔者能在网上找到了最全面的办法总结&#xff0c;最后终于是连上了 目录 一.连接Jedis出错…

大数据学习第十一天(复习linux指令3)

1、su和exit su命令就是用于账户切换的系统命令 基本语法&#xff1a;su[-] [用户名] 1&#xff09;-表示是否在切换用户后加载变量&#xff0c;建议带上 2&#xff09;参数&#xff1a;用户名&#xff0c;表示切换用户 3&#xff09;切换用户后&#xff0c;可以通过exit命令退…

数据结构——lesson12排序之归并排序

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…