安装RPM包或源码包

一、RPM工具
1.安装RPM包

# cd /mnt/Packages
[root@localhost Packages]# rpm -ivh libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm
警告:libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...1:libjpeg-turbo-devel-1.2.90-5.el7 ################################# [100%

选项:
-i:安装
-v:可视化
-h:显示安装进度
附带参数 :
–force:强制安装,即使覆盖属于其他包的文件也要安装。
–nodeps:当要安装的RPM包依赖于其他包时,即使其他包没有安装,也要安装这个包。
2.升级RPM包
命令:rpm -Uvh filename,-U表示升级
3.卸载RPM包
命令:rpm -e filename //filename是通过rpm的查询功能所查询到的。
查找一个已经安装的包,并用-e选项卸载。

# rpm -qa libjpeg-turbo-devel
libjpeg-turbo-devel-1.2.90-5.el7.x86_64
# rpm -e libjpeg-turbo-devel

//-e后面的filename在安装时,是把存在的文件作为参数,卸载时只需要包名即可。
4.查询一个包是否已安装
命令:rpm -q RPM包名

# rpm -q libjpeg-turbo-devel
未安装软件包 libjpeg-turbo-devel
# rpm -ivh libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm
警告:libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...1:libjpeg-turbo-devel-1.2.90-5.el7 ################################# [100%]
[root@localhost Packages]# rpm -q libjpeg-turbo-devel
libjpeg-turbo-devel-1.2.90-5.el7.x86_64

命令rpm -qa可查询当前系统所有已安装的RPM包。

# rpm -qa |head
libXcomposite-0.4.4-4.1.el7.x86_64
libical-0.48-6.el7.x86_64
empathy-3.8.4-6.el7.x86_64
bind-libs-lite-9.9.4-14.el7.x86_64
xkeyboard-config-2.9-4.el7.noarch
libXv-1.0.9-2.1.el7.x86_64
libteam-1.9-15.el7.x86_64
cheese-3.8.2-7.el7.x86_64
libreport-python-2.1.11-10.el7.x86_64
libreport-filesystem-2.1.11-10.el7.x86_64

5.得到一个已安装的RPM包的相关信息
命令:rpm -qi包名,不需要加平台信息和后缀名。

# rpm -qi libjpeg-turbo-devel
Name        : libjpeg-turbo-devel
Version     : 1.2.90
Release     : 5.el7
Architecture: x86_64
Install Date: 2021年03月05日 星期五 13时52分28秒
Group       : Development/Libraries
Size        : 321621
License     : IJG
Signature   : RSA/SHA256, 2014年04月02日 星期三 05时17分45秒, Key ID 199e2f91fd431d51
Source RPM  : libjpeg-turbo-1.2.90-5.el7.src.rpm
Build Date  : 2014年01月26日 星期日 19时58分57秒
Build Host  : x86-017.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor      : Red Hat, Inc.
URL         : http://sourceforge.net/projects/libjpeg-turbo
Summary     : Headers for the libjpeg-turbo library
Description :
This package contains header files necessary for developing programs which
will manipulate JPEG files using the libjpeg-turbo library.

6.列出一个RPM包的安装文件
命令:rpm -ql 包名

# rpm -ql libjpeg-turbo-devel
/usr/include/jconfig.h
/usr/include/jerror.h
/usr/include/jmorecfg.h
/usr/include/jpeglib.h
/usr/lib64/libjpeg.so
/usr/share/doc/libjpeg-turbo-devel-1.2.90
/usr/share/doc/libjpeg-turbo-devel-1.2.90/coderules.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.90/example.c
/usr/share/doc/libjpeg-turbo-devel-1.2.90/jconfig.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.90/libjpeg.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.90/structure.txt

//可以看出文件/usr/lib64/libjpeg.so是通过安装libjpeg-turbo-devel这个RPM包得来的。
7.列出某个文件属于哪个RPM包
命令:rpm -qf 文件的绝对路径

# rpm -qf /usr/lib64/libjpeg.so
libjpeg-turbo-devel-1.2.90-5.el7.x86_64

二、yum工具
1.列出所有可用的RPM包
命令:yum list

# yum list |head -n 20
已加载插件:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
已安装的软件包
GConf2.x86_64                          3.2.6-8.el7                 @anaconda/7.0
ModemManager.x86_64                    1.1.0-6.git20130913.el7     @anaconda/7.0
ModemManager-glib.x86_64               1.1.0-6.git20130913.el7     @anaconda/7.0
NetworkManager.x86_64                  1:0.9.9.1-13.git20140326.4dba720.el7@anaconda/7.0
NetworkManager-config-server.x86_64    1:0.9.9.1-13.git20140326.4dba720.el7@anaconda/7.0
NetworkManager-glib.x86_64             1:0.9.9.1-13.git20140326.4dba720.el7@anaconda/7.0
NetworkManager-libreswan.x86_64        0.9.8.0-5.el7               @anaconda/7.0
NetworkManager-tui.x86_64              1:0.9.9.1-13.git20140326.4dba720.el7@anaconda/7.0

2.搜索RPM包
命令:yum search [相关关键词]

# yum search vim
已加载插件:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
=============================== N/S matched: vim ===============================
vim-common.x86_64 : The common files needed by any version of the VIM editor
vim-enhanced.x86_64 : A version of the VIM editor which includes recent: enhancements
vim-filesystem.x86_64 : VIM filesystem layout
vim-minimal.x86_64 : A minimal version of the VIM editor

还可以通过grep过滤,找到相应的RPM包

# yum list |grep 'vim'
vim-common.x86_64                      2:7.4.160-1.el7             @anaconda/7.0
vim-enhanced.x86_64                    2:7.4.160-1.el7             @anaconda/7.0
vim-filesystem.x86_64                  2:7.4.160-1.el7             @anaconda/7.0
vim-minimal.x86_64                     2:7.4.160-1.el7             @anaconda/7.0

3.安装RPM包
命令:yum install [ -y ] [RPM包名] //-y选项为默认同意安装

# yum install -y protobuf-vim

4.卸载RPM包
命令:yum remove [-y] [RPM包名]

# yum remove protobuf-vim

5.升级RPM包
命令:yum update [-y] [RPM包]

# yum update bash

6.使用本地磁盘制作yum源
不能联网下方便使用。

  • 挂载光盘
# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt 忙/dev/sr0 已经挂载到 /run/media/hi/RHEL-7.0 Server.x86_64 上/dev/sr0 已经挂载到 /mnt 上/dev/sr0 已经挂载到 /media/redhat7 上
  • 备份删除/etc/yum.repos.d目录下的所有repo文件
# cp -r /etc/yum.repos.d /etc/yum.repos.d_bak
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
  • 创建新文件dvd.repo
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo

添加以下内容:

  • 刷新repos生成缓存
[root@localhost ~]# yum makecache
已加载插件:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
dvd                                                      | 4.1 kB     00:00
(1/5): dvd/group_gz                                        | 134 kB   00:00
(2/5): dvd/primary_db                                      | 3.4 MB   00:00
(3/5): dvd/filelists_db                                    | 3.0 MB   00:00
(4/5): dvd/other_db                                        | 1.3 MB   00:00
(5/5): dvd/productid                                       | 1.6 kB   00:00
元数据缓存已建立

然后就可以使用yum命令安装软件包。
例:安装一个tftp的RPM包

[root@localhost ~]# yum install -y tftp
已加载插件:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 tftp.x86_64.0.5.2-11.el7 将被 安装
--> 解决依赖关系完成依赖关系解决================================================================================Package         架构              版本                    源              大小
================================================================================
正在安装:tftp            x86_64            5.2-11.el7              dvd             35 k事务概要
================================================================================
安装  1 软件包总下载量:35 k
安装大小:48 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。正在安装    : tftp-5.2-11.el7.x86_64                                      1/1 验证中      : tftp-5.2-11.el7.x86_64                                      1/1 已安装:tftp.x86_64 0:5.2-11.el7                                                      完毕!

7.利用yum工具下载RPM包
先恢复之前的yum源

[root@localhost ~]# rm -rf /etc/yum.repos.d
[root@localhost ~]# mv /etc/yum.repos.d_bak /etc/yum.repos.d
[root@localhost ~]# yum list

下载RPM包而不安装的命令

# yum install 包名 -y --downloadonly

下载到指定目录的命令

#  yum install 包名 -y --downloadonly --downloaddir =/usr/local/src

下载RPM包到/usr/local/src/目录下

[root@localhost ~]# yum install -y ypbind --downloadonly --downloaddir=/tmp/
已加载插件:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 ypbind.x86_64.3.1.37.1-7.el7 将被 安装
--> 正在处理依赖关系 yp-tools,它被软件包 3:ypbind-1.37.1-7.el7.x86_64 需要
--> 正在检查事务
---> 软件包 yp-tools.x86_64.0.2.14-3.el7 将被 安装
--> 解决依赖关系完成依赖关系解决================================================================================Package         架构          版本                    源                  大小
================================================================================
正在安装:ypbind          x86_64        3:1.37.1-7.el7          rhel-source         62 k
为依赖而安装:yp-tools        x86_64        2.14-3.el7              rhel-source         79 k事务概要
================================================================================
安装  1 软件包 (+1 依赖软件包)总下载量:141 k
安装大小:299 k
Background downloading packages, then exiting:
警告:/media/redhat7/Packages/yp-tools-2.14-3.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
yp-tools-2.14-3.el7.x86_64.rpm 的公钥尚未安装
--------------------------------------------------------------------------------
总计                                               5.5 MB/s | 141 kB  00:00
exiting because "Download Only" specified
[root@localhost ~]# ls /tmp/*.rpm

包已被安装无法下载,要继续下载RPM包时,使用如下命令:

[root@localhost ~]# yum reinstall -y bash --downloadonly
已加载插件:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 bash.x86_64.0.4.2.45-5.el7 将被 已重新安装
--> 解决依赖关系完成依赖关系解决================================================================================Package       架构            版本                  源                    大小
================================================================================
重新安装:bash          x86_64          4.2.45-5.el7          rhel-source          1.0 M事务概要
================================================================================
重新安装  1 软件包总下载量:1.0 M
安装大小:3.5 M
Background downloading packages, then exiting:
警告:/media/redhat7/Packages/bash-4.2.45-5.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
bash-4.2.45-5.el7.x86_64.rpm 的公钥尚未安装
exiting because "Download Only" specified

三、安装源码包
三个步骤:
(1)./configure
(2)make
(3)make install
编译前,需要先安装gcc,安装命令:
yum install -y gcc
1.下载源码包
把httpd的源码包下载到/usr/local/src/目录下,便于维护。

# cd /usr/local/src/
# wget https://excellmedia.dl.sourceforge.net/project/mapn/source/apache/httpd-2.2.17.tar.gz

2.解压源码包
解压.tar.bz2格式的压缩包

# tar -zxvf httpd-2.2.17.tar.gz

3.配置相关的选项并生成Makefile
先进入解压后的源码目录,在配置之前可以查看可用的配置参数

# cd httpd-2.2.16
# ./configure --help |less

常用的配置选项:
–prefix=PREFIX //定义软件包的安装路径。

把Apache安装在/usr/local/apache2目录下,配置为–prefix=/usr/local/ apache2

# ./configure --prefix=/usr/local/apache2

验证是否成功:

# echo $?
0

返回值是0,说明执行成功,生成Makefile,否则就没有成功。
查看结果

# ls -l Makefile

4.进行编译
生成Makefile后,需要进行编译。

# make

最后,使用echo $?命令验证。

安装RPM包或源码包相关推荐

  1. Redhat linux 安装 gcc编译器,Gcc源码包,rpm包安装方法!

    点评:分两种情况: 先看这篇转过来的文章,俺老孙懒得写了. Linux软件安装通用思路 在Linux系统中,软件安装程序比较纷繁复杂,不过最常见的有两种: 1)一种是软件的源代码,您需要自己动手编译它 ...

  2. Linux-什么是二进制包,源码包,RPM包,软件仓库

    博文说明[前言]: 本文将通过个人口吻介绍什么是二进制包,RPM包,源码RPM包(SRPM包),源码包,以及RPM常用命令,源码rpm的安装(*.src.rpm),源码包的安装步骤知识(./confi ...

  3. linux系统源码安装教程,linux之源码包安装步骤

    源码:程序代码,人类可看懂的代码 编译程序:将程序代码编译成机器看懂的代码 二进制文件:经过编译程序变为二进制程序后,机器可执行的文件 make和configure: make是一支程序,会自动寻找M ...

  4. yum更换国内源、yum下载rpm包、源码包安装

    2019独角兽企业重金招聘Python工程师标准>>> 更换yum仓库源 cd /etc/yum.repos.d/ rm -f dvd.repo wget http://mirror ...

  5. Linux学习笔记(二十二)yum更换国内源、yum下载rpm包、源码包安装

    一.yum更换国内源 首先 cd /etc/yum.repos.d/ rm -f dvd.repo 删除之前添加的本地仓库,将原来的仓库恢复回来 cp /etc/yum.repos.d.bak/* / ...

  6. yum下载rpm包、源码包安装

    一: yum如何下载rpm包到本地(只下载,不安装) 安装yum-downloadonly yum install -y yum-plugin-downloadonly.noarch 下载包到指定目录 ...

  7. 更换yum源,安装扩展源,yum下载rpm包,源码包安装软件

    2019独角兽企业重金招聘Python工程师标准>>> 更换国内yum源 我们的Linux中默认的yum源是国外的,有的时候网络不好,而我么需要下载的包过大的时候更换成国内的yum源 ...

  8. Linux软件安装管理 - CentOS (三) ---- 源码包管理

    1. 软件包管理简介 2. rpm命令管理(Redhat Package Manager) 3. yum在线安装 4. 源码包管理 4.1 源码包和RPM包的区别 4.1.1 区别 安装前:概念上的区 ...

  9. 软件包管理:源码包管理-源码包与RPM包的区别

    RPM会安装在默认位置,源码包会安装在指定位置. 绝大多数ROM包遵循此规范.写软件包是就固定好了. 主要影响体现在对服务的管理方法,服务的管理分三种:启动,重启动,停止. 启动时使用绝对路径来启动. ...

最新文章

  1. Vue教程5【vuex】getters,mapState,mapGetters,mapActions,mapMutations,模块化namespace
  2. java 多线程经典例子——生产者与消费者的问题
  3. Linux禁止非WHEEL用户使用SU命令
  4. Lecture 18 Shortest Paths II
  5. php 比java 快_php比java要快在哪里
  6. java如何获得wlan mac_Android M 如何获取 Wifi MAC地址
  7. 什么是python之禅_【Python面试】你了解什么是 Python 之禅么?
  8. 聊聊rocketmq的ConsumerIdsChangeListener
  9. 重炉后-文件上传下载
  10. Linux之fgrep命令
  11. 浅谈FFT、NTT和MTT
  12. 带着身体在香港肤浅行走(一)
  13. 杰理AC632N蓝牙芯片iokey使用解析(通用MCU版)
  14. root后充电很慢,root后开机慢
  15. 计算机科学与昆虫,基于视觉的昆虫物种识别算法研究
  16. linux_常用命令
  17. 配置低配台式计算机清单,魔兽世界怀旧服对电脑配置要求-最低配置清单一览-Appfound...
  18. 【kafka】连接kafka报错 partitions have leader brokers without a matching listener
  19. 嵌入式开发-服务器(三) RTMP服务器
  20. 忙是治疗一切神经病的良药

热门文章

  1. 如何标题编号自动生成_【分享】实用word知识——章节标题与自动编号
  2. 接手同事vue项目两个月的血和泪,关于vue项目性能优化,缩短首屏加载时间
  3. matlab条件异方差模型,matlab 做怀特异方差性检验
  4. Harbor镜像仓库的部署
  5. 2022爱分析·IT运维厂商全景报告 | 厂商征集
  6. 怎样还原转义的html,非常简单的 html 转义与反转义
  7. HTML5期末大作业:家乡旅游网站设计——家乡旅游-榆林子州(8页) 出游旅游主题度假酒店 计划出行网站设计
  8. 基于微服务和mini2440的WebSocket B/S视频监控及MQTT物联网应用系统
  9. python 爬取百度知道_python3爬取百度知道的问答并存入数据库(MySQL)
  10. 电子计算机与多媒体导学案,河北石家庄市高中生物2.3伴性遗传第2课时导学案无答案必修22017080715...