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

Linux 应用程序组成

一、Linux 应用程序组成

1. Linux 命令与应用程序的区别

特性命令应用程序
执行文件大小通常较小通常较大
存放目录/bin、/sbin/usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin 等
安装时机操作系统安装时一同安装需在操作系统之外另行安装
执行格式固定格式(命令 + 选项 + 参数)无固定格式,由开发者定义
操作界面仅字符界面可能使用图形化界面,形式多样

内部命令:如 exit、history、cd、source、echo 等,可通过 help 命令查看列表。

可使用 type {命令} 查看是否为内外部命令。

2. 应用程序的组成

典型应用程序通常包含以下 6 部分:

  • 普通可执行程序文件:保存在 /usr/bin/ 目录,普通用户可执行。

  • 服务器程序、管理程序文件:保存在 /usr/sbin 目录,仅管理员可执行。

  • 配置文件:保存在 /etc 目录,若文件较多会创建与应用程序 / 服务同名的子目录。

  • 日志文件:存放在 /var/log 目录。

  • 参考文档等数据:保存在 /usr/share/doc 目录。

  • man 手册:保存在 /usr/share/man 目录,用于说明执行文件及配置文件。

3. 软件包封装类型

类型扩展名适用系统特点
rpm 软件包.rpm基于 RPM 机制的系统(如 RHEL8、Fedora30、suse12 等)依赖性强
DEB 软件包.deb基于 DPKG 机制的系统(如 Debian8.0、Ubuntu 17.14 等)-
源代码软件包.tar.gz 或 .tar.bz2通用需编译后安装

二、RPM 安装

1. RPM 软件包命名格式

以 python-2.7.5-76.el7.x86_64.rpm 为例:

  • python:软件名

  • 2.7.5:版本号

  • 76.el7:发布版本号(包含补丁或构建版本号 76,基于的发行版号为 el7)

  • x86_64:编译的处理器架构(noarch 表示不区分硬件架构)

2. RPM 包管理命令

查询未安装的 RPM 软件包信息

安装、卸载与更新

  • 安装:rpm -ivh <软件包路径>

    选项说明:-i(安装)、-v(显示详细过程)、-h(以 # 显示进度)

  • 卸载:rpm -e <软件包名称>

  • 更新:rpm -U <软件包路径>(若未安装则安装)

  • 更新(仅更新已安装版本):rpm -F <软件包路径>(若未安装旧版本则放弃)

  • 强制操作:–force(强制安装、覆盖等)

    示例:rpm -ivh --force <软件包路径>

  • 忽略依赖:–nodeps(去除依赖性关系)

    示例:rpm -ivh --nodeps <软件包路径>

查询已安装的 RPM 软件包信息

三、YUM 仓库

1. YUM 仓库配置(自定义)

  • 仓库文件必须在 /etc/yum.repos.d/ 目录下。

  • 示例配置:

原yum.repos.d目录下有一些其他文件,可以删除
cd /etc/yum.repos.d/
vim server.repo  # 前缀自定义

配置内容:

[a]  # 自定义
name=aa  # 自定义
baseurl=file:///mnt/  # 仓库路径
enabled=1  # 启用仓库(1 启用,0 禁用)
gpgcheck=0  # 不检查 GPG 签名(1 检查,0 不检查)

2. YUM 命令

功能命令
安装软件包yum -y install <软件包名>
卸载软件包yum -y remove <软件包名>
安装软件包组(如 Development Tools)yum -y groupinstall “软件包组名”
卸载软件包组yum -y group remove “软件包组名”
列出所有已安装和可用的软件包yum list
列出所有已安装和可用的软件包组yum group list
更新软件包yum update <软件包名>

3. 获取 yum 配置代码的网站及方法

在配置 yum 源时,以下网站提供了相关代码示例与指导:

阿里云开发者社区:

(https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.319b1b11bX2joG)

四、DNF 命令

DNF 是 YUM 的下一代包管理工具,在 RHEL 8、CentOS 8 及以上版本中默认使用,它的使用方法与 YUM 基本一致。

1. 开启 DNF 的方法

(需使用在网站里获得的 yum 配置,自定义的 yum 可能无法下载 DNF)

在支持 DNF 的系统中,DNF 通常默认已安装并启用,若未启用或需要确认其状态,可通过以下方式操作:

  1. 检查 DNF 是否安装:rpm -q dnf,若输出软件包信息则表示已安装。

  2. 若未安装,可通过 YUM 安装:yum -y install dnf。

  3. 安装完成后,DNF 即可正常使用,无需额外的启用命令。

2. DNF 常用命令

  • 安装:dnf -y install <软件包名>

  • 卸载:dnf -y remove <软件包名>

  • 更新:dnf -y update <软件包名>

http://www.dtcms.com/a/303000.html

相关文章:

  • haproxy原理及实验演示(实现服务器集群的负载均衡)
  • 火线、零线、地线
  • 雷达系统设计学习:自制6GHz FMCW Radar
  • C++中std::variant的使用详解和实战代码示例
  • 三角洲摸金模拟器(简易版本)(开源)
  • 黑马JavaWeb【复习到哪更新到哪】
  • Coze Studio概览(二)
  • 【MySQL基础篇】:MySQL常用数据类型的选择逻辑与正确使用
  • Go语言-->变量
  • 【Practical Business English Oral Scene Interpretation】在职日常交流No.1~6
  • MySQL面试题及详细答案 155道(001-020)
  • 重构企业交互逻辑:云蝠智能 Voice Agent 的落地价值与实践指南
  • 设计模式(二十一)行为型:状态模式详解
  • 常见的未授权访问漏洞靶场-练习教程
  • MCP架构:模型上下文协议的范式革命与工程实践
  • 安宝特新闻丨安宝特与Logivations正式建立合作伙伴关系,共筑物流新未来
  • OpenLayers 综合案例-区域掩膜
  • JavaWeb 新手学习路线:从零到全栈开发,系统掌握企业级 Web 开发技能
  • 【Java Web实战】从零到一打造企业级网上购书网站系统 | 完整开发实录(三)
  • 7.DRF 过滤、排序、分页
  • 微信小程序——早餐小程序
  • 22 BTLO 蓝队靶场 Countdown 解题记录
  • 博士申请 | 荷兰阿姆斯特丹大学 招收计算机视觉(CV)方向 全奖博士生
  • 代码的“防伪水印“:签名证书的隐形安全标记
  • 【python高阶】-1- python工程和线程并发
  • 电路防倒灌设计 --- 双pmos防倒灌
  • 学习dify:一个开源的 LLM 应用开发平台
  • AUTOSAR标准下CAN网络休眠异常诊断机制的创新研究
  • SD卡简介与驱动开发
  • Linux环境-设置Anaconda环境变量 Anaconda路径