Linux下rpm、yum和源码三种安装方式详细介绍

第1章 源码安装

源码包安装会比RPM包安装慢,是因为RPM的软件包是根据特定系统和平台而指定的,经常一种

程序会提供很多RPM包的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于

通用型,可以是用于多个系统中,所以需要运行configure脚本来检测环境,生成对应的安装信息。

1.1 源码安装优点

1、文档齐全

2、因为可以定位到代码,所以debug方便

3、本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题)

1.2 源码安装的缺点

1、编译麻烦

2、缺乏自动依赖管理,软件升级麻烦

1.3 安装流程

1.3.1 解压源码包tar文件:源码包通常会使用tar工具归档然后使用gunzip或bzip2进行压缩,
后缀格式会分别

为.tar.gz与.tar.bz2,分别的解压方式:

tar -zxvf FileName.tar.gz
tar -jxvf FileName.tar.bz2

1.3.2 切换到解压后的目录

cd /解压后目录

1.3.3 准备编译工作:在开始安装服务之前,需要执行configure脚本,会自动的对当前系统进行

一系列的评估,如源文件、软件依赖库、编译器、汇编器、连接器检查等等,如果有需要,还

可以使用-prefix参数来指定程序的安装路径,而当脚本检查系统环境符合要求后,则会在当

前目录下生成一个Makefile文件。

./configure -prefix=/usr/local/program

1.3.4 生成安装程序:上步生成的Makefile文件会保存有系统环境依赖关系的安装规则,接下来

需要使用make命令来根据Makefile文件提供的规则使用合适的SHELL来编译所有依赖的

源码,然后make命令会生成一个最终可执行的安装程序。

make 编译

1.3.5 安装服务程序:如果在configure脚本阶段中没有使用-prefix参数,那么程序一般会被默认

安装到/usr/local/bin目录中。

make install 编译安装

1.3.6 清理临时文件(可选):

make clean

1.3.7 卸载服务程序命令(需要才执行)

make uninstall

1.3.8 查看安装信息

whereis 命令定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的

属性应属于原始代码,二进制文件,或是帮助文件。

例如:whereis java

whereis [-bmsu] [BMS 目录名 -f ] 文件名

-b 搜索文件的二进制部分。

-m 搜索文件的手册部分。

-s 搜索文件的源部分。

-u 没有说明文档的文件

-B、-M 和 -S 标志可以用于更改或限制 whereis 命令搜索的位置。由于该程序为了运行得

更快而使用了chdir子例程,所以用-M、-S 和 -B标志目录列表给出的路径名必须是完整的;

例如,它们必须以一个/(斜杠)开始。

-B 与 -b 一样,但是添加了要搜索的目录。更改或限制 whereis 命令搜索二进制文件的位置。

-M 与 -m 一样,但是添加了要搜索的目录。更改或限定 whereis 命令搜索手册部分的位置。

-S 与 -s 一样,但是添加了要搜索的目录。更改或限定 whereis 命令搜索源的位置。

-f 终止最后的 -M、-S 或 -B 目录列表并发文件名起始位置信号。

(四)[参数][文件]

-c 压缩文件

-x 解压文件

-t 查看压缩包内有哪些文件

-z 用Gzip压缩或解压

-j 用bzip2压缩或解压

-v 显示压缩或解压过程信息

-f 目标文件名

-P 保留原始权限和属性

-p 使用绝对路径压缩

-C 指定解压到的目录

第2章 RPM包安装

对于一个rpm包来说,都是有"-"和"."构成的,基本上有以下几部分组成:

* 包名 *版本信息 * 发布版本号 * 运行平台,当出现noarch,代表的是软件可以平台兼容

2.1 常用用法1

2.1.1 安装

  • rpm -i 需要安装的包文件
  • rpm -iv 需要安装的包文件(显示安装详情)
  • rpm -ivh 需要安装的包文件(显示安装详情及进度)

2.1.2 升级

  • rpm -U 需要升级的包文件
  • rpm -Uvh 需要升级的包文件(显示升级详情及进度)

2.1.3 卸载

  • rpm -e 需要卸载的软件包

注:如果其他程序依赖要卸载的包,系统会提示不能删除,若需要强行删除加上--nodeps,

会强制删除,但可能导致依赖于它的软件不能运行。

2.1.4 查看已安装

rpm -qa

2.1.5 查看指定包

  • rpm -qa | grep "软件或者包的名字"

2.2 常用方法2

2.2.1 第一种:对于已安装的如软件服务信息查询

1、查询系统中已经安装的软件

rpm -qa

2、查询一个已经安装的文件属于哪个软件包;

  • rpm -qf 文件名的绝对路径

3、查询已安装软件包都安装到何处;

软件名定义是:rpm包去除平台信息和后缀后的信息

  • rpm -ql 软件名

4、查询一个已安装软件包的信息

  • rpm -qi 软件名

5、查看一下已安装软件的配置文件;

  • rpm -qc 软件名

6、查看一个已经安装软件的文档安装位置:

  • rpm -qd 软件名

7、查看一下已安装软件所依赖的软件包及文件;

  • rpm -qR 软件名

2.2.2 第二种:对于未安装的软件包信息查询

1、查看一个软件包的用途、版本等信息;

  • rpm -qpi rpm文件

2、查看一件软件包所包含的文件;

  • rpm -qpl rpm文件

3、查看软件包的文档所在的位置;

  • rpm -qpd rpm文件

4、查看一个软件包的配置文件;

  • rpm -qpc rpm文件

5、查看一个软件包的依赖关系

  • rpm -qpR rpm文件

2.2.3 [选项] [参数]:

-a:查询所有软件包

-e:删除指定的软件包

-f<文件>:查询拥有指定文件的套件;

-h或--hash:显示进度信息

-i:显示包的详细信息

-i<软件包>或--install<软件包>:安装指定的软件包

-l:显示包的文件列表

-p:查询指定的RPM包

-q:使用询问模式

-U<软件包>或--upgrade<软件包>:升级指定的程序包

-v:显示指令执行过程;

-vv:详细显示指令执行过程,便于排错。

常用命令组合:

-ivh:安装显示安装进度--install--verbose--hash

-Uvh:升级软件包--Update;

-qpl:列出RPM软件包内的文件信息[Query Package list];

-qpi:列出RPM软件包的描述信息[Query Package install package(s)];

-qf:查找指定文件属于哪个RPM软件包[Query File];

-Va:校验所有的 RPM软件包,查找丢失的文件[View Lost];

-e:删除包

--force 强制操作 如强制删除等;

--requires 显示该包的依赖关系;

--nodeps 忽略依赖关系并继续操作

第3章 yum

3.1 安装流程

1、安装: yum install 软件

2、升级: yum update 软件

3、删除: yum remove 软件

4、查看: yum info 软件

5、搜索软件: yum search 软件

6、查看依赖关系: yum deplist 软件

7、查看已安装软件: yum list installded

3.2  [选项] [参数]:

-e 静默执行

-t 忽略错误

-R[分钟] 设置等待时间

-y 自动应答yes

check-update 检查可更新的包

clean all 清除全部

clean packages 清除临时包文件(/var/cache/yum 下文件)

clean headers 清除rpm头文件

clean oldheaders 清除旧的rpm头文件

deplist 列出包的依赖

list 可安装和可更新的RPM包

list installed 已安装的包

list extras 已安装且不在资源库的包

info 可安装和可更新的RPM包 信息

info installed 已安装包的信息(-qa 参数相似)

install[RPM包] 安装包

localinstall 安装本地的 RPM包

update[RPM包] 更新包

upgrade 升级系统

search[关键词] 搜索包

provides[关键词] 搜索特定包文件名

reinstall[RPM包] 重新安装包

repolist 显示资源库的配置

resolvedep 指定依赖

remove[RPM包] 卸载包

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cnf,/usr/lib/mysql,/usr/share/mysql,/var/lib/mysql也不会起任何作用,各种查找之后发现应该是根本没删除干净 复制代码 代码如下: [root@data lib

  • yum下载rpm以及相关依赖的方式离线安装docker

    使用yum可以进行连通依赖关系一起进行安装,而是用–downloadonly –downloaddir选项则可以不进行安装,而将rpm连同依赖下载到本地进行安装. 下载及安装方式 使用yum安装centos或者rhel等自带的docker,可以使用yum install docker. 而下载到本地后使用安装文件的方式可以使用如下方式 下载docker相关的rpm文件并安装 使用下载rmp并安装的方式进行docker的安装 downloaddir指定的文件夹如果事前不存在,在执行的时候会生成一个

  • yum安装本地rpm软件方案详解

    概述 面对无法联网的centos系统,安装rpm软件包是一个比较耗时的工作,尤其是那些包含很多依赖的软件包,如果用rpm命令安装,可以说是一个噩梦.这里根据个人实践发布一个比较完整方便的解决方案.(注:本方案在centos6.564bit测试可用) 具体方案 基本环境介绍 目标操作系统:centos6.564bit,下称"目标机"(无法联网用yum安装) 本地环境:在VMware下安装的纯净centos6.564bit,下称"虚拟机"(可以联网用yum下载安装包)

  • Linux 中 RPM包 安装 查询 卸载命令小结及yum命令详解

    之前一直在用ubuntu,安装卸载软件基本上是使用apt-get 这个非常的简单,而且过程中遇到的软件依赖会自动帮我们处理,类似于傻瓜式安装.另外在 Linux 操作系统下,几乎所有的软件都可以通过RPM 进行安装.卸载及管理等操作.RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件.Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装.RPM 有五种操作模式,分别为:安装.卸载.升级.查

  • linux下查看yum/rpm/dpkg某软件是否已安装的方法

    前言 因为Linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了. 总结起来就是这样几类: 一.rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字" . [root@hexuweb102 ~] rpm -qa | grep ruby 二.以deb包安装的,可以用dpkg -l能看到.如果是查找指定软件包,用dpkg -l | grep "软件或者包的名字" : [root

  • YUM解决RPM包安装依赖关系及yum工具介绍本地源配置方法详解

    1.背景概述 在实际生产环境下,对于在linux系统上安装rpm包,主要面临两个实际的问题 1)安装rpm包过程中,不断涌现的依赖关系问题,导致需要按照提示或者查询资料,手工安装更多的包 2)由于内外网的隔离,无法连接外网的yum源 鉴于上述因此,本文将详细介绍,yum工具以及配置本地yum源的方法 2.yum工具简介 •yum工具作为rpm包的软件管理器,可以进行rpm包的安装.升级以及删除等日常管理工作,而且对于rpm包之间的依赖关系可以自动分析,大大简化了rpm包的维护成本. •yum工具

  • yum安装(卸载)本地rpm包的方法

    举例: 一.yum安装和卸载jdk 1.先查看是否有版本: #rpm -qa|grep jdk 2.再卸载 #yum remove Java-*-openjdk –y #yum remove java-1.8.0-openjdk-headless-1.8.0.91-1.b14.el6.x86_64-y 3.使用yum安装本地jdk的rpm包 #yum localinstall /opt/soft/jdk-8u45-Linux-x64.rpm -y 二.rpm命令安装jdk 1.安装jdk: 使用

  • Linux下rpm、yum和源码三种安装方式详细介绍

    第1章 源码安装 源码包安装会比RPM包安装慢,是因为RPM的软件包是根据特定系统和平台而指定的,经常一种 程序会提供很多RPM包的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于 通用型,可以是用于多个系统中,所以需要运行configure脚本来检测环境,生成对应的安装信息. 1.1 源码安装优点 1.文档齐全 2.因为可以定位到代码,所以debug方便 3.本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题) 1.2 源码安装的缺点 1.编译麻烦 2.缺

  • Linux echo命令的使用及三种实现方式

    先给大家介绍下linux中echo命令的使用 echo是打印变量的值或者给定的字符串, 比如,输入echo hello或者echo "hello"都是在控制台打印出hello单词 但是我们需要把打印出来的字符串记录到文本文件中,就需要>和>>命令 touch a.txt        新建一个文本文件a.txt echo hello > a.txt 则a.txt中会记录下hello,但是如果再次执行echo hello > a.txt.则会覆盖之前的hel

  • python 开发的三种运行模式详细介绍

    Python 三种运行模式 Python作为一门脚本语言,使用的范围很广.有的同学用来算法开发,有的用来验证逻辑,还有的作为胶水语言,用它来粘合整个系统的流程.不管怎么说,怎么使用python既取决于你自己的业务场景,也取决于你自己的python应用能力.就我个人而言,我觉得python作为既可以用来进行业务的开发,也可以进行产品原型的开发.一般来说,python的运行主要下面这三种模式. 1.单循环模式 单循环模式使用的最多,也最简单,当然也最稳定.为什么呢,因为单循环本来代码就写的很少,出错

  • Oracle 表三种连接方式使用介绍(sql优化)

    1. NESTED LOOP 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择.nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查找,没有索引一般就不会是 nested loops.一般在nested loop中, 驱动表满足条件结果集不大,被驱动表的连接字段要有索引,这样就走nstedloop.如果驱动表返回记录太多,就不适合nested loops了.如果连接字段没有索引,则适合走hash join,因为不需要索引. 可用ordered提

  • Linux下安装mysql的方式(yum和源码编译两种方式)

    这里介绍Linux下两种安装mysql的方式:yum安装和源码编译安装. 1. yum安装 (1)首先查看centos自带的mysql是否被安装: # yum list installed |grep mysql //若有自带安装的mysql,将其卸载 # yum -y remove mysql-libs.x86_64 (2)下载MySQL官网的yum仓库:https://dev.mysql.com/downloads/repo/yum/, # yum localinstall mysql57-

  • Linux下RPM打包制作过程

    开始前的准备 安装rpmbuild软件包 yum -y install rpm-build 生成相关目录 要生成rpm相关目录,可以手动创建,也可以通过rpmbuild命令创建.如: [root@yang data]# rpmbuild zabbix_agentd_ops.spec error: File /root/rpmbuild/SOURCES/zabbix-3.0.3.tar.gz: No such file or directory 有报错,无需理会,可以看到rpmbuild目录已经创

  • linux 下的yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

  • Linux下挂载硬盘分区的几种方法

    Linux下挂载硬盘分区的几种方法 1.使用Autofs自动挂载分区 2.修改/etc/fstab 3.编写shell脚本,开机自动运行mount命令 方法一.使用Autofs  1.Autofs的特点:Autofs与Mount/Umount的不同之处在于,它是一种看守程序(deamon).如果它检测到用户正试图访问一个尚未挂接的文件系统,它就会自动检测该文件系 统,如果该文件系统存在,那么Autofs会自动将其挂接.另一方面,如果它检测到某个已挂接的文件系统在一段时间内没有被使用,那么Auto

  • Linux下实现定时器Timer的几种方法总结

    定时器Timer应用场景非常广泛,在Linux下,有以下几种方法: 1,使用sleep()和usleep() 其中sleep精度是1秒,usleep精度是1微妙,具体代码就不写了.使用这种方法缺点比较明显,在Linux系统中,sleep类函数不能保证精度,尤其在系统负载比较大时,sleep一般都会有超时现象. 2,使用信号量SIGALRM + alarm() 这种方式的精度能达到1秒,其中利用了*nix系统的信号量机制,首先注册信号量SIGALRM处理函数,调用alarm(),设置定时长度,代码

  • linux设置服务开机自启动的三种方式

    这里介绍一下linux开机自动启动的几种方法,共计3种,大家可以借鉴一下!经验里面以centos 5.3系统为例! 方法1:.利用ntsysv命令进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图 在这个界面上进行操作即可,简要的操作说明: 括号中(*)代表默认开机启动,否则不会在开机的时候启动; 按钮功能: 上下键:可以在各个服务之间移动 空格键:设置启动还是不启动,*进行设置即可 Tab键:在方框.ok.cancle之间进行切换 F1键:进行帮助文档,如下图: 方法2:利用

随机推荐