Linux之Redhat系列程序包管理

安装、升级和卸载应用软件是每个系统不可或缺的一部分;对于在企业使用越来越广泛的Linux操作系统而言,强大而简洁的程序包管理机制为工程师们带来了很大的便利;下文主要介绍在RedHat系列的系统上如何使用RPM/YUM/编译三种方式去管理程序包。

一、RPM程序包管理

PRM全称是Red Hat Package Manager(RedHat 包管理器)。Linux RPM软件包的命名有一定的规律:名称-版本-修正版-类型.rpm

例如:

RPM命令详解:

功能:

安装、卸载、升级、查询和数据库维护

用法:

rpm [OPTIONS] [PACKAGE_NAME]

-i:安装软件

--test:测试安装

-h:显示“#”进度条

-v:显示详细信息

-e:卸载

-U:升级安装

-q:查询指定软件包的信息

--builddb,--initdb:数据库维护

以上选项可结合使用

安装:rpm -ivh Package_Name

-v:显示详细信息

-h:显示“#”的进度条

-i:安装

其余安装选项:

--nodeps:忽略依赖关系

--replacepkgs:重新安装

--test:测试安装

卸载:rpm -e 软件名

升级:rpm -Uih Package_Name

升级和安装的选项差不多,这里就不做过多介绍

额外选项:

--force:强制升级

查询:rpm -q[a|f|p|l|i|c|d|R] 软件名

-a:查询所有已安装的软件名

-f:查询文件所属软件包

-p:查询软件包(通常用来查看未安装的软件)

用法:rpm -qp 软件包名

-qpi:该软件的详细信息

-qpl:该软件中的列表

-qpc:该软件安装后将会产生的配置文件

...

-l:显示软件包中的列表

-i:显示软件包信息

-c:显示被标注为配置文件的列表

-d:显示被标记为文档的列表

-R:查询软件包的依赖关系

重建数据库:rebuilddb,initdb

rpm包管理器数据库的路径:/var/lib/rpm

用法:

rpm {--initdb | --rebuilddb}

initdb:初始化数据库

rebuilddb:按照已安装的软件包来重建数据库

二、YUM仓库程序包管理

yum(全称为Yellow dog Ypdater,Modified)是一个在Fedora和RedHat以及SUSE中的Shell前段软件包管理器;yum基于RPM包管理,是把许多.rpm包通过编译后整合在一起建立成一个仓库;yum无须繁琐地一次次下载,安装,可以自动处理依赖性关系。yum提供了查找、安装、删除等功能。

本地光盘制作yum源:

1.挂载CentOS 7光盘镜像到系统上并把光盘内的文件拷贝到/PATH/TO/DIR_NAME

注意:这里复制的时候可能会比较长,请耐心等待。

2.利用createrepo创建仓库,如果没有createrepo请根据上面rpm的方式安装

3.到/etc/yum.repo.d/目录下定义yum仓库

[base]

name-Some name for this repository

baseurl=usrl://path/to/repository/

enabled={1|0}

gpgcheck={1|0}

如下图:

4.运行yum list检查是否制作成功

当然yum源的制作方式不止这一种,这里就不多做演示了,有兴趣的同学可以下来自行研究。

yum命令详解:

用法:yum [options] COMMAND

COMMANDS:

check:检查RPM数据库问题

check-update:检查是否有可用的软件更新

install:安装软件包

list:列出软件包

update:更新软件包

repolist:显示已配置的源

remove:卸载程序包

info:显示软件包信息

clean:清理本地缓存

reinstall:覆盖安装软件包

OPTIONS:

-y:回答全部问题为师

--nogpgcheck:禁用GPG签名检查

--installroot=[path]:设置安装根目录

-v:详细操作过程

--noplugins:禁用所有插件

-q:静默模式

三、源代码包管理(编译安装)

Linux上的大多数源码都是C或者C++语言编写的,源代码包的管理方式与RPM管理方式相比更为复杂了一点,但是更能体现作为一个Linux工程师的技术性;因为源码包的管理需要自己定义相关功能,安装需要的模块;此外用户还可以自己选择安装路径,方便管理;卸载软件只需要删除对应的目录即可。

编译前注意事项:

是否安装gcc、make编译命令,解压从网上下载下来的源代码包;通常打包为.tar.gz或.tar.bz2等格式。在安装时configure会检测是否满足安装要求,要学会根据configure的报错信息找出问题解决掉。

第一步:解压下载下来的源码包,进入源码目录,一般都会存在configure文件

./configure

选项:

--prefix=[PATH]:指定安装位置

--sysconfdir=[PATH]:指定配置文件位置

--help:可以看到所有选项

--enable-FEATURE:使用某个特性

--disable-FEATURE:禁用某个特性

--with-PACKAGE:依赖包为默认

--without-PACKAGE:依赖包自己指定

configure完成后会根据用户指定的特性等生成makefile文件

第二步:make命令进行编译,根据makefile文件,构建应用程序

第三步:make install  安装

下面根据Apache进行演示:

第一步:

创建一个目录:mkdir /apache

把下载的apache源码包解压到/apache下面

切换至解压目录下,运行./configure命令并指定安装目录为/apache2.2

第二步,第三步:

运行make && make install 命令进行安装

验证:访问http://192.168.1.1 我的apache服务器IP

以上截图均以CentOS 7 为例。

时间: 2024-08-02 15:14:08

Linux之Redhat系列程序包管理的相关文章

linux自学笔记——rpm程序包管理

RPM是Redhat PackageManager(RPM程序包管理器)的缩写,这一文件格式名称虽然打上了Redhat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.Suse以及Turbo Linux的分发版本也都有采用.RPM程序包管理器可分为安装.升级.卸载.查询.校验等五种功能,以下我们将会对这五种功能的相应的用法一一说明. RPM程序包: 源代码:name-VERSION.tar.gz    源代码由RPM自动编译安装: VERSION: major.minor.rel

Linux系统管理-(8)-RPM程序包管理器

Centos下RPM程序包管理器:     安装:     rpm {-i|--install} [install-options] PACKAGE_FILE ...            -v: 显示过程            -vv:  显示更详细的过程            -h: 以#显示程序包管理执行进度:每个#表示2%的进度          其他选项: --test 测试安装 --nodeps:忽略依赖关系:                    --replacepkgs: 重新

Linux 第16天 程序包管理

Linux 第16天自习 程序包管理 时间: 20180802 目录 Linux程序包管理 rpm包管理工具使用 yum在线包管理工具 源码编译安装程序 Linux程序包管理 linux上的大部分软件是开源的,所以他们的源码都是公开的,可以自由获取并安装至自己的 linux系统上,但是对于大部分用户而言,配置源码安装程序包实属不易,并还需要安装编译 环境,因此发行版的厂商将这些开源的软件在自己公司内部将其开源的软件包在各个硬件平台 上编译使其形成二进制文件,并打包好此时用户只需要获取到此安装包并

Linux系统之前端程序包管理器-yum

[前言] 当我们使用rpm命令安装程序时,时常会因为程序包之间的依赖关系而焦头烂额,使得很多程序的安装过程复杂而费力,那有没有一种工具可以帮我们解决这个问题呢?当然有啦!这就是我们今天的重点yum,让我们一块来学习总结下吧! [什么是yum] yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依

linux运维基础程序包管理

软件运行环境软件包下载软件包的格式和其中可能的依赖关系软件包可用仓库加入可用服务器看到就是可用服务器,加入服务器输入会自动生成 移除软件包 升级软件包 查找全部相同的软件包 查看已安装的软件包 原文地址:http://blog.51cto.com/13896223/2151901

CentOS程序包管理、上

程序包管理:应用程序的安装,实际上是解压缩并复制程序包中的文件到指定目录的过程: 应用程序的结构形式: 源代码: 包含了整个应用程序完整的编程语言的所有代码的文本文件集合: 使用源代码安装应用程序: 编译开发环境:编译器(gcc, GNU C Compiler),开发库,头文件,... 预处理(预处理器) --> 编译(编译器) --> 汇编(汇编器) --> 链接(链接器) -->可以直接在CPU上运行的二进制程序文件: API:Application Programing In

Linux程序包管理与初识磁盘

Linux 程序包管理 API:Application Binary Interface(应用程序的二进制接口) ABI:APPlication Program Inertface(应用程序的开发接口) Windows : exe,msi Windows与Linux不兼容 ELF:(Executale and Linkable Format):可执行可连接格式,linux运行格式 PE:(Portable  Executable)可移植可执格式Windows运行格式 库级别的虚拟化: 要想在Wi

linux程序包管理初步

1.概述 API:Application Program Interface ABI:Application Binary Interface     Unix-like         ElF     windows         exe,msi 库级别的虚拟化    winE(linux上运行模拟windows)     cywin(windows上运行模拟linux) 系统级开发:     C/C++:httpd,vsftpd,nginx     go 应用级开发:     java/P

Linux程序包管理之rpm包管理

Linux程序包管理 软件包管理 功能:将编译好的程序的各组成文件打包成一个或几个程序包文件,为了方便的实现程序包的安装.升级.卸载.查询.校验.数据库维护. API:Application ProgramInterface应用程序接口: ABI:Application BinaryInterface应用二进制接口: Unix-like和linux在ABI层次是相同的 linux程序包:ELF格式: 但是与Windows相差甚远 windows程序包:exe,msi格式: API层次兼容不一定A