1.Linux 中常见软件包类型
- RPM 包:Red Hat Package Manager 的缩写,是 Red Hat 系列 Linux 系统(如 Red Hat、CentOS、Fedora 等)使用的软件包格式。文件扩展名为
.rpm
。 - DEB 包:Debian 软件包格式,主要用于 Debian 及其衍生系统,如 Ubuntu、Linux Mint 等。文件扩展名为
.deb
。 - TAR 包:这是一种归档文件,通常会将软件源代码或预编译的二进制文件打包在一起。文件扩展名一般为
.tar
、.tar.gz
、.tar.bz2
或.tar.xz
。它需要手动编译和安装。
2. RPM 命令详解
RPM 是 Red Hat 系系统的基础包管理工具,用于直接操作 .rpm
文件。
选项说明
-
-i
:安装 -
-v
:显示详细信息 -
-h
:显示进度条 -
-U
:升级 -
-e
:卸载 -
-q
:查询
依赖问题
- RPM 不自动解决依赖,需手动安装依赖包(如
yum
或dnf
可自动处理)。
3. 构建本地软件仓库
3.1 准备工作
3.2 生成仓库元数据
createrepo /opt/repo/local
3.3 配置本地仓库源
创建仓库配置文件 /etc/yum.repos.d/local.repo
:
[local-repo]
name=Local Repository
baseurl=file:///opt/repo/local
enabled=1
gpgcheck=0
3.4 验证仓库
dnf clean all
dnf repolist
4. 构建网络软件仓库
4.1 使用 HTTP 服务器
4.2 配置客户端
在客户端创建 /etc/yum.repos.d/network.repo
:
[network-repo]
name=Network Repository
baseurl=http://server-ip/repo
enabled=1
gpgcheck=0
5. DNF 命令使用
dnf
是新一代 RPM 包管理器(替代 yum
),支持自动解决依赖关系。
6. 构建 EPEL 仓库
EPEL(Extra Packages for Enterprise Linux)为 RHEL/CentOS 提供额外软件包。
6.1 启用官方 EPEL 源 dnf install epel-release -y
6.2 手动配置 EPEL 仓库
下载 EPEL 仓库文件并保存到 /etc/yum.repos.d/epel.repo
:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm rpm -ivh epel-release-latest-8.noarch.rpm
6.3 验证 EPEL
dnf repolist | grep epel
dnf install htop # 测试安装 EPEL 中的软件
7. 构建第三方软件仓库
以 Remi 仓库(提供最新 PHP/MySQL 等)为例:
7.1 添加 Remi 仓库
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
7.2 启用特定仓库
dnf module reset php
dnf module enable php:remi-8.2 # 启用 PHP 8.2
7.3 安装软件
dnf install php
8. 第三方仓库管理
常见第三方仓库
RPM Fusion:提供非自由软件(如多媒体解码器)
NVIDIA CUDA:GPU 加速计算