学会四招让你在linux下安装程序变得简单

一、背景

  由于最近想自己摸索一些linux下的东西,开始玩起了Linux系统,在安装软件的过程中有诸多的不解和困惑,现在终于搞明白了具体是怎么样的安装步骤和过程,先分享给你们同时也方便自己复习查阅。

二、基本概述

  1.RPM         RedHat Package Manager的简称,即RedHat包管理器。         以数据库记录的方式将软件安装到Liunx。         软件包事先编译好并且打包成RPM机制的文件,类似于Windows的安装程序。         软件信息记录在本地数据库,方便查询、升级、卸载。         不允许自定义参数和设置,限制较多。

  2.SRPM         Source RPM,附带源码的RPM包,扩展名为src.rmp。         不可以直接安装,需要通过编译后再安装。         可以修改参数文件自定义配置项。         和RPM比较类似。

  3.YUM         Yellow dog Updater,Modified的简称,基于RPM包管理。         能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无需繁琐的一次次下载、安装。         使用简单、方便。

三、安装方式介绍

  1.源码方式安装linux软件

    下载源码包到/usr/local/src

    解压缩源码包

    查看install和readme档案安装相依性软件

    ./configure安装软件到特定位置

    make clean清除目标档案

    make编译

    make install

    修改PATH

  2.rpm方式安装linux软件

    明确安装包所在路径或者网站(find /dirname–name ‘name*’)

    查找rpm库中是否已经安装 rpm -qa | grep 'softwareName'

    安装rpm –ivh /path/to/file.rpm

    rpm常用参数

      -i:安装

      -U:后接的软件如果没有安装过则安装,如果安装过且版本较旧则更新

      -F:后接的软件如未安装则不进行安装,如果安装过且版本较旧则更新

      -v:查看详细安装信息

      -h:查看安装进度

    rpm常用的长选项

      --nodeps:忽略相依性强制安装

      --replacepkgs:重复安装已安装过的软件档案

      --force:强制安装

      --nosignature:忽略数字签名认证

      --prefix:指定安装路径

      --relocate:改变安装路径

      --justdb:完善RPM关于此软件档案的数据库文件

      --initdb:初始化RPM数据库

      --rebuilddb:重建RPM数据库

    rpm查询:RPM [options] [filename]

      -q:查询后面的软件是否有安装

      -qa:列出此系统上已安装的所有软件

      -ql:列出该软件安装后产生的所有文件完整目录列表

      -qd:列出该软件安装后产生的所有man文件完整目录列表

      -qf:列出该档案所属的已安装软件

      -qi:列出该软件的详细信息

      -qR:列出与该软件的相依软件有关的档案

      -p:未安装的软件包

      -e:移除某个软件(要从相依性的顶层开始)

    rpm升级:rpm –V[apf] [filename/dirname]

      -V:后面加软件名称,显示该软件所含的被更动过的档案

      -Va:列出系统上所有被改动过的档案

      -Vf:列出某个档案是否被更动过

    rpm数字签名验证流程

      获取公钥安装包

      安装公钥rpm --import /path/to/GPG-KEY

      得到gpg-pubkey*档案,包含签章信息

      安装原厂软件时,rpm指令会去读取签章信息,与已导入的公钥相比较。如果相同则安装,不同则不允许安装

   3.SRPM安装linux软件

      进行编译源包:rpmbuild [options]

        --rebuild:将***.src.rpm源码进行编译,并打包成rpm包

        --recompile:将***.src.rpm源码进行编译、打包,并进行安装

        -ba:将数据编译并同时产生RPM与SRPM

        -bb:将数据仅编译程RPM档案

        备注:SRPM包用rebuild创建成rpm包后,里边会有一个*.spec配置档案

      后面步骤和rpm相同

  4.YUM进行安装linux软件

    配置yum仓库/etc/yum.repo.d/*

    连接网络

    yum install softwareName

    yum clean all删除所有yum仓库中的数据

    查询:yum[list|info|search|provides|whatprovides]参数             search:查询某个程序的名称或是描述(yum search mysql)             list:列出目前所有的管理的软件以及版本(rpm -qa)             info类似list,查询软件的功能、版本说明(rpm -qai)             provides:通过文件查询所属软件(rpm -qf)

    安装、升级,yum [install|update]程序名             install:安装软件             update:升级软件、不指定名称则升级整个系统

    卸载程序:yum[remove]程序名称

    yum的配置            /etc/yum.repos.d/CentOS-Base.repo             yum clean[package|headers|all]             /var/cache/yum

四、总结

  对于软件技术来说,我觉得最重要的是分享和开源精神,因为这和分享快乐的原理相同,如果你有一份技术,我有一份技术,那我们彼此分享以后,每个人都变成了两分技术,不但没有减少,反而增加了,这不正是我们所希望看到的么?何乐而不为呢?这也正是为什么我喜欢抽出休息时间来孜孜不倦的写技术博客的原因。    

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Timhbw博客

小白搭建博客教程-域名解析(3)

2016-06-1015:56:17 发表评论 1,115℃热度 上一回说道:小白搭建博客教程之流程,这次趁着端午节写完它,也算是一个了结。 ? 教程有4篇:...

8497
来自专栏IT笔记

记一次8小时惊心动魄的服务器+网站升级

写在前面,这篇文章服务器升级后然并没有找到论坛Discuz和博客Typecho异常所在,捯饬了半天最终选择升级和重装,成功解决。有些时候感觉真的没必要追究问题所...

4338
来自专栏跟我一起学Docker

第一章 Docker环境搭建

学习Docker,免不了的就是搭建环境了。搭建环境是一个复杂的工程,而且还是相当费时间的,不过话又说回来了,磨刀不误砍柴工嘛,光有理论是不够的,...

6347
来自专栏容器化

白话kubernetes的十万个为什么 - kubernetes

2133
来自专栏编程

rbd是否支持注入

引子 很多 OpenStack 与 Ceph 部署集成的文档都会告诉你,libivrt 的文件和密码注入是在 Ceph 上面是不支持的。需要使用下面的配置文件关...

2706
来自专栏程序猿

在 VMware workstation 安装 CentOS 虚拟机

上一篇介绍了怎么安装 VMware workstation Pro,安装完肯定是要装虚拟机啊,下面就来介绍一下怎么安装 CentOS 7.

2906
来自专栏农夫安全

旁路WAF:使用Burp插件绕过一些WAF设备

? 我曾经写了一篇关于Burp插件使用的技术的博文在这里。许多WAF设备可以被伪造的请求欺骗,这些伪造的会被认为是自身正常的请求来处理,因为如果被判断有特定的...

4106
来自专栏软件

使用Vmware虚拟机部署开发环境之Mac OS X系统安装

一、使用VMware虚拟机部署Mac开发环境所需工具: Vmware Workstation 14.0虚拟机软件 VM安装Mac解锁工具Unlock 苹...

4688
来自专栏JadePeng的技术博客

Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目。这一...

6307
来自专栏颇忒脱的技术博客

使用Kubespray安装k8s集群

本文撰写时,Kubespray的master分支不稳定,请使用release版本来安装,具体来说就是切换到最新的tag上。

3423

扫码关注云+社区