Linux:安装及管理程序

embedded/2024/9/24 21:24:27/

Linux:安装及管理程序

应用程序基础

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

角色系统命令应用程序
文件位置般在/bin和/sbin目录中,或为Shell内部指令通常在/usr/bin、/usr/sbin 和/usr/local/bin、/usr/local/sbin目录中
主要用途完成对系统的基本管理工作,例如IP配置工具完成相对独立的其他辅助任务,例如网页浏览器
适用环境一般只在字符操作界面中运行根据实际需要,有些程序可在图形界面中运行
运行格式一般包括命令字、命令选项和命令参数通常没有固定的执行格式,由程序开发者自行定义

应用程序的目录结构

文件类型保存目录说明
普通可执行文件/usr/bin所有用户可执行
服务器程序、管理员程序文件/usr/sbin只有管理员可以执行
应用程序配置文件/etc通过rpm或yum方式安装的应用程序
日志文件/var/log系统日志
应用程序参考文档文件/usr/share/doc关于应用程序的参考文档等数据
应用程序手册页文件/usr/share/man执行文件及配置文件的 man 手册页

RPM软件包管理

认识RPM软件包

RPM 软件包管理器: 最初是由红帽开发的。该程序提供了一种标准的方式来打包软件进行分发.与使用从存档提取到文件系统的软件相比,采用RPM 软件包形式管理软件要简单得多

每个 RPM 软件包是包含以下三个组成部分的特殊存档

  • 软件包安装的文件。

  • 与软件包(元数据)有关的信息:如name、version、release和arch;软件包的要和描述;是否要求安装其他软件包;授权许可信息;软件包更改日志;以及其他详细信息。

  • 脚本:在安装、更新或删除此软件包时可能运行的脚本,或者在安装、更新或删除其他软件包时触发的脚本。

 从存储库安装软件包时,只需要软件包的名称。如果存在多个版本,则会安装具有更高版本号的软件包。如果一个版本存在多个发行版,则会安装具有更高发行版号的软件包。

在这里插入图片描述

操作系统封装格式及使用工具

RPM命名

在这里插入图片描述

RPM命名
  • NAME是描述其内容的一个或多个词语(coreutils)。

  • VERSION 是原始软件的版本号(8.30)。

  • RELEASE 是基于该版本的软件包的发行版号,由软件打包商设置,后者不一定是原始软件开发商(4.el8)。

  • ARCH是编译的软件包运行的处理器架构。noarch表示此软件包的内容不限定架构(与表示 64位的x86_64和表示64位ARM的aarch64等等相反)。

 从存储库安装软件包时,只需要软件包的名称。如果存在多个版本,则会安装具有更高版本号的软件包。如果一个版本存在多个发行版,则会安装具有更高发行版号的软件包。

管理RPM包

语法:

查询和验证软件包:

rpm -qa        ##查询所安装的所有rpm软件包
rpm -qf /etc/yum.repos.d/        ##查询/etc/yum.repos.d/属于哪个RPM包
rpm -q yum        ##查询yum软件包是否安装
rpm -qi yum        ##查询yum软件信息
rpm -ql yum        ##查询yum软件包的文件列表
rpm -qc openssh-client        ##列出该openssh-client软件所有的配置文件(找出在/etc下的文件)
rpm -qd openssh-client        ##列出openssh-client软件所有的说明文件(找出与man相关的文件)
rpm -qlp wonderwidgets-1.0-4.x86_64.rpm            ##查看wonderwidgets-1.0-4.x86_64.rpm安装包内所包含的目录、文件列表

安装、升级和删除软件包:

rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm        ###安装新的lrzsz-0.12.20-36.el7.x86_64.rpm
rpm -Uvh lrzsz-0.12.20-36.el7.x86_64.rpm        ##升级lrzsz-0.12.20-36.el7.x86_64.rpm,若未安装过,则进行安装
rpm -e lrzsz            # 卸载lrzsz软件包

使用YUM

1.了解yum

Yum(Yellowdog Updater, Modified)旨在成为管理基于RPM的软件安装和更新的更好系统。yum命令允许安装,更新,删除和获取有关软件包及其依赖项的信息。

2.yum命令

yum help            
yum list 'http*'        ##查询以http开头软件包列表
yum info httpd            ##查询“httpd”软件包的描述信息
yum search 'web server'            ##根据"web server"来查找相关的软件包
yum provides /var/www/html        ##根据路径"/var/www/html"来查找相关的软件包
yum install httpd        ##安装httpd软件包
yum install httpd --downloadonly --downloaddir=/root/rpms        ##仅下载httpd包,不会安装它,并把它保存到/root/rpms目录下:
yum localinstall xxxxx.rpm        ##使用本地安装包安装xxxxx软件
yum update    httpd        ##更新httpd软件包
yum remove httpd        ##删除httpd软件包

3.yum仓库管理

yum命令操作的rpm存放在repository中。

配置文件位置:/etc/yum.conf和/etc/yum.repos.d/*.conf

 yum repolist--all             ##列出所有源,包括禁用的源--enabled         ##列出开启的源--disabled         ##列出关闭的源yum clean all                    ##清除暂存中旧的rpm头文件和包文件yum makecache                    ##重新生成缓存

4.实验:使用本地yum仓库

  1. 将CentOS光盘挂载到系统中

    • 检查光盘是否被CentOS系统识别

在这里插入图片描述

  • 将/dev/sr0挂载到/mnt下

在这里插入图片描述

  • 进入/mnt下检查

在这里插入图片描述

  1. 备份原yum及新建yum

    • 备份原yum

    在这里插入图片描述

    • 新建locak.repo文件并编辑内文件

在这里插入图片描述

在这里插入图片描述

 ```bashlocak.repo文件内容[local]                #仓库类别name=local                #仓库名称baseurl=file:///mnt    #指定URL 访问路径为光盘挂载目录enabled=1                #开启此yum源,此为默认项,可省略gpgcheck=1                #验证软件包的签名gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7```
  1. 验证yum源

在这里插入图片描述

  1. 安装httpd软件

在这里插入图片描述


http://www.ppmy.cn/embedded/11104.html

相关文章

Python中pop()函数用法

pop()函数是Python中一个非常实用的函数,用于删除可迭代对象中的元素,并返回该元素的值。基本用法为obj.pop(index),其中index为要删除的元素的索引,省略索引则默认删除最后一个元素。需要注意pop()函数会修改可迭代对象&#xff…

webAssembly学习及使用rust

学习理解 webAssembly 概念知识,使用 API 进行 web 前端开发。 概念 是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果。它有一种紧凑的二进制格式,使其能够以接近原生性能的速度运行。C/C、 C#、Rust等语言可以编译为 …

实景景区亲自儿童剧本杀小程序开发搭建

实景景区亲自儿童剧本杀小程序开发搭建需要涉及多个方面的内容,包括系统架构设计、功能模块设计、页面设计、开发工具选择等。 系统架构设计需要确定小程序的开发框架,可以使用小程序开发框架来构建前端页面和后端接口,同时需要考虑数据库设…

vue2指令

vue2指令 v-model 的工作原理&#xff0c;它如何在表单输入和应用状态之间创建双向绑定 v-model 是 Vue 中一个特殊的指令&#xff0c;用于在表单 <input>、<textarea> 及 <select> 元素上创建双向数据绑定。它根据控件类型自动选取正确的方法来更新元素。…

鸿蒙系列--ArkTS

一、ArkUI开发框架 ArkUI框架提供开发者两种开发方式&#xff1a;基于ArkTS的声明式开发范式和基于JS扩展的类Web开发范式。声明式开发范式更加简洁&#xff0c;类 Web 开发范式对 Web 及前端开发者更友好 二、ArkTS声明式开发范式 对比类 Web 开发范式代码更为精简&#xf…

笨蛋学C++【C++基础第二弹】

C基础第二弹 2.C运算2.1运算符2.1.1算术运算符2.1.2关系运算符2.1.3逻辑运算符2.1.4位运算符2.1.5赋值运算符2.1.6杂项运算符2.1.7运算符优先级2.1.8注意 3.C循环3.1Cwhile循环3.1.1语法 3.2Cfor循环3.2.1基于范围的for循环方式13.2.2基于范围的for循环方式23.2.3基于范围的for…

java常用时间日期函数

日期格式化方式 SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"); //yyyy-MM-dd对于年份取值取得是当天所在的这个年份//YYYY-MM-dd它所取的年份是本周所在的这个…

前端解析URL的两种方式

方法一&#xff1a;利用 splice 分割 循环依次取出 方法一&#xff1a; function queryURLparams(url) {let obj {}if (url.indexOf(?) < 0) return objlet arr url.split(?)url arr[1]let array url.split(&)for (let i 0; i < array.length; i) {let arr2…