4.Linux 应用程序的安装和管理

Linux : 应用程序的安装和管理

一、Linux应用程序组成

1. Linux命令 与应用程序的对比
特性 Linux命令 应用程序
存放路径 /bin, /sbin /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
安装方式 随操作系统安装 额外独立安装
执行格式 `命令 + 选项 + 参数 格式由开发者定义
界面 仅字符界面 可能支持图形界面
2. 应用程序
组件类型 存放路径 权限/说明
普通可执行程序 /usr/bin/ 普通用户可执行
服务器/管理程序 /usr/sbin/ 仅管理员可执行
配置文件 /etc/ 或 /etc/应用名/ 多配置时创建同名子目录
日志文件 /var/log/ 记录运行信息
参考文档 /usr/share/doc/ 说明文档、示例等
Man手册 /usr/share/man/ 执行文件及配置的帮助手册
3. 软件包封装类型
类型 扩展名 适用系统 特点
RPM包 .rpm RHEL, Fedora, SUSE等 依赖性强
DEB包 .deb Debian, Ubuntu等 Debian系专用
源代码包 .tar.gz, .tar.bz2 全平台支持 需编译安装

二、RPM包管理

1. RPM包命名格式
复制代码
coreutils-8.30-4.el7.x86_64.rpm
  • coreutils: 软件名
  • 8.30-4: 版本号
  • el7: 发行版号(RHEL7)
  • x86_64 : 处理器架构(noarch表示通用)
2. 查询命令
复制代码
# 查询已安装包
rpm -qa                          # 列出所有已安装RPM包
rpm -q vsftpd                    # 检查特定包是否安装
rpm -qi vsftpd                   # 查看包详细信息
rpm -ql vsftpd                   # 列出包安装的所有文件
rpm -qf /path/to/file            # 查看文件所属的包

# 查询未安装包
rpm -qpi /path/to/package.rpm    # 查看未安装包的详细信息
rpm -qpl /path/to/package.rpm    # 查看未安装包将释放的文件列表
3. 安装与卸载
复制代码
# 安装
rpm -ivh package.rpm            # 基础安装(显示进度)
rpm -ivh --nodeps package.rpm   # 忽略依赖强制安装

# 卸载
rpm -e vsftpd                   # 卸载指定包

# 更新
rpm -Uvh new_package.rpm        # 升级或安装
rpm -Fvh new_package.rpm        # 仅升级已安装的包

三、YUM/DNF仓库管理

1. 配置YUM仓库

创建配置文件 /etc/yum.repos.d/server.repo:

复制代码
[base]                          # 仓库ID
name=Base Repository            # 仓库描述
baseurl=file:///mnt/            # 本地路径(支持http/ftp)
enabled=1                       # 启用仓库(1启用,0禁用)
gpgcheck=0                      # 关闭GPG验证
2. YUM常用命令
复制代码
yum install -y httpd            # 安装软件包(-y自动确认)
yum remove -y httpd             # 卸载软件包
yum update -y httpd             # 更新指定包
yum list                        # 列出所有可用/已安装包
yum groupinstall "Development Tools" # 安装软件包组
yum groupremove "Development Tools"  # 卸载软件包组
3. DNF命令
复制代码
dnf install -y httpd            # 安装
dnf remove -y httpd             # 卸载
dnf update -y httpd             # 更新

四、实践运用

1. rpm的使用

列出所有已安装RPM包

查看包是否安装

查看包的详细信息

列出包的所有文件

查看文件所属的包

查看未安装的包的的信息时,指定包的路径要明确

查看未安装的包的文件列表

安装

卸载

2. yum使用

首先要建立一个yum库

复制代码
[root@xieyuhui yum.repos.d]# vim server.repo

安装

卸载

复制代码
[root@xieyuhui /]# yum remove httpd -y

列出所有已安装包

安装软件包组

卸载软件包组

3. dnf的使用

dnf使用方法与yum相同,需要在网上寻找网络源(curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo)

复制代码
[root@xieyuhui yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
相关推荐
未济4 天前
linux 配置环境变量
linux
傲世仙尊4 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.4 天前
进程间通信
linux
Liuqy-054 天前
Linux IO编程——静态库、动态库
linux
wuyk5554 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
彧azz4 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅4 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog4 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发
AIgorithmGEEK4 天前
[Linux]线程三部曲(上):一个执行流的诞生——从操作系统一路拆到 pthread_create
linux·线程·pid