1.通过源码安装软件

  • 什么是源码包?

    • 源码包就是一些附带有程序的源代码、configure文件、说明文档的安装包
    • 一般以tar打包。在用压缩软件进行压缩,比如tar.gz或者tar.bz2文件
    • 需要自定义参数进行编译,之后进行安装

  以memcached的源码包安装为例:

    • 最新安装路径: http://memcached.org/files/memcached-1.4.25.tar.gz
    • 在Linux终端输入:wget http://memcached.org/files/memcached-1.4.25.tar.gz(wget 需要Linux网络链接正常)
    • 下载成功后,需要解压缩指令 tar xzvf memcached-1.4.25.tar.gz
  • configure
    • 自定义参数
    • 配置安装环境,必要性检查
    • 生成makefile文件
  • make&install
    • 编译生成二进制文件
    • 执行安装
  • 使用源码包进行软件安装过程
    • 获取源码安装包,如去官网下载
    • 解压缩,阅读install和readme文件,获取安装说明
    • 根据安装说明安装好该软件依赖的其他软件
    • 通过运行configure文件,执行检查安装环境,定义必要参数(所依赖的其他软件和参数)通过后,建立makefile文件
    • 根据声生成的makefile文件,通过make指令进行编译操作
    • 根据makefile中要install的内容,将上步中变异好的二进制文件安装到系统中
  • 常用指令
    • ./configure -help,查看参数信息,简历makefile文件
    • make clean,读取makefile中关于clean的内容执行clean操作(非必须)
    • make,根据makefile中的设置执行编译操作
    • make install,将编译的二进制文件安装到系统中

2.RPM、SRPM、YUM概述

  • RPM

    • RedHat Package Manager 的简称,RedHat包管理器
    • 以数据库记录的方式将软件安装到Linux
    • 软件包事先编译好并且打包成RPM机制的文件,类似于Windows的安装程序
    • 软件信息都已记录在了本地数据库中,方便查询、升级、卸载
    • 不允许自定义参数和设置、限制较多
  • SRPM
    • Source RPM,附带源代码的RPM包,扩展名为src.rpm命名
    • 不可以直接安装,需要通过编译后再安装
    • 可以修改参数文件自定义配置项
    • 和RPM比较类似
  • YUM
    • Yellow dog Updater Modified的简称,基于RPM包管理
    • 能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无需繁琐的一次次下载、安装
    • 使用简单、方便。相比windows的软件安装更加方便,类似于在java web项目开发中的Maven,自动管理这种依赖关系。

3.使用RPM安装软件

  • 默认安装路径

    • 在windows下,软件安装的默认路径是在C盘下的一个命名为Program File的路径下单独命名一个软件的目录,所有和该软件相关的文件都安装在该路径下
    • 在Linux下,
      • 配置文件,一般放在/etc目录下
      • 可执行文件,/usr/bin
      • 程序使用的函数库,/usr/lib
      • 软件使用手册、说明,/usr/share/doc
      • 软件的详细说明,/usr/share/man man page
  • RPM安装
    • www.rpmfind.net(法国里昂一个查找rpm的服务)下载安装
    • Linux镜像挂在光盘安装
    • rpm [-ivh] rpm1 rpm2------安装rpm1、rpm2并显示进度和详情
    • --nodeps:忽略所有依赖问题执意安装
    • --replacefiles:对应已经安装过的某个文件进行覆盖安装
    • --replacepkgs:对已经安装过的软件重新安装
    • --force:相当于--replacefiles和--replacepkgs
    • --test:测试该软件能否被正确安装(rpm -ivh fileName --test)
    • --justdb:RPM数据库损坏或者产生错误时,更新数据库信息
    • --nosignature:忽略数字签名的检查
    • --prefix:改变软件的默认安装路径
    • --noscripts:禁止RPM执行一些后置指令,如一些初始化指令(类似于在windows环境下安装软件成功后会初始化一些配置等)
  • RPM升级
    • -Uvh:如果安装则更新,没有安装直接安装
    • rpm -qa python(查看当前python安装的版本) rpm -Uvh python-1.x.x --nodeps(对python进行不依赖升级)
    • -Fvh:只有软件安装过才会升级,进行纯粹的升级
  • RPM查询
    • -q:只查询软件是否安装
    • -qa:列出本机安装的所有软件名称,可以通过|grep过滤
    • -qi:列出软件的详细信息,开发商、版本、说明等
    • -ql:列出该软件所有的文件,躲在目录的完整名
    • -qc:列出该软件所有的配置文件
    • -qR:列出该软件依赖的其他软件
    • -qf:查询某个文件属于哪个软件所有
  • RPM验证
    • -V:查询软件所有被修改过的文件
    • -Va:列出本机所有有可能被修改过的程序文件
    • -Vp:接文件名,列出该软件可能被修改的文件
  • RPM的卸载与数据库重建
    • 主要要从上到下一次卸载,先卸载不被其他任何软件依赖的软件
    • -e:卸载软件(rpm -e python)
    • -rebuilddb:重建RPM的数据库

4.使用YUM安装软件

  安装好Linux系统之后,Linux服务商(RedHat)需要我们注册一下,才能使用yum安装软件,类似windows的注册一样。这里,由于用yum安装软件可能会对系统Linux造成损坏,所以在安装软件之前,我们需要将当前系统快照保存一下,类似windows中的系统备份一样,以供我们在安装软件过程中对系统造成损坏之后,可以“一键还原”,避免重装系统的麻烦。

  Liunx的注册比较麻烦和繁琐。所以我们可以事先编辑好一个Linux注册配置的shell脚本,

  脚本内容:

  #!/bin/bash

  rpm -qa |grep yum|xargs rpm -e -nodeps

  wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm

  wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm

  wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-4.el5.i386.rpm

  rpm -ivh yum-*

  cd /etc/yum.repos.d/

  mv rhel-debuginfo.repo rhel-debuginfo.repo.bakup

  mv rhel-source.repo rhel-source.repo.bakup

  wget http://www.linuxidc.com/files/2001/05/06/CentOS-Base.repo

  yum makecache

  编写保存shell脚本:vim yumInstall.sh

  运行脚本:sh yumInstall.sh(这个运行的操作具体是卸载RHEL的yum,然后安装CentOS的yum)

  • 查询 yum[list|infosearch|provides|whatprovides] 参数

    • search:查询某个程序的名称或者描述(yum search mysql)
    • list:列出当前yum所管理的所有软件以及版本(rpm -qa) ----yum list
    • info:查询软件的功能版本说明(rpm -qai) ----yum info mysql
    • provides:通过文件查询所属软件(rpm -qf)
  • 安装、升级,yum[install|update]程序名称
    • 安装 yum install mysql
    • 升级 yum update mysql
  • 卸载程序 yum[remove]
    • yum remove mysql
  • yum配置
    • /etc/yum.repos.d/CentOS-Base.repo
    • yum clean[package|headers|all]
    • 缓存/var/cache/yum

转载于:https://www.cnblogs.com/albert-xm/p/5138530.html

Linux 软件的安装相关推荐

  1. Linux软件的安装,更新与卸载

    linux软件的安装,更新与卸载 Linux常见的安装为tar,zip,gz,rpm,deb,bin等.我们可以简单的分为三类. 第一:打包或压缩文件tar,zip,gz等,一般解压后即可,或者解压后 ...

  2. Linux软件的安装

    Linux软件的安装 一.编译安装 1.获取源代码 Nginx官网:http://nginx.org/en/  下载地址:http://nginx.org/download/  或者从GitGub官网 ...

  3. Linux软件的安装和卸载

    Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的"添加/删除程序"来实现.与其相类似,在Linux下有一 ...

  4. 6. linux软件的安装

    Linux软件的安装 在windows下安装一个软件很轻松,只要双击setup或者.exe的文件,安装 提示连续"下一步"即可,然而linux系统下安装一个软件似乎并不那么轻松 了 ...

  5. 运维笔记10 (Linux软件的安装与管理(rpm,yum))

    概述:用rpm安装和管理软件(rpm解决依赖性),用yum安装与管理软件(yum解决依赖性). 1.linux的软件 linux能够说是一款改变时代的操作系统,可是一个操作系统再优秀假设没有好用的应用 ...

  6. Ubuntu Linux 软件寻找/安装/卸载 图文详解教程

    作为一个桌面操作系统,Ubuntu(以后我简称为UB)自然也和Windows一样,拥有众多的实用软件,让我们平常来使用.很多新手,在安装了Ubuntu系统后,面对着与众不同的桌面,不知道该如何安装软件 ...

  7. linux安装nas4free,FreeNAS的Linux支持与utorrent等Linux软件的安装与设置

    5 }9 O  r  _4 q1 k3 {' A( TFreeNAS装完之后是建议另外安装一个BT软件,虽然FreeNAS内置了transmission,理应是非常好的一个BT软件,但是,网上说它不支 ...

  8. linux rpm远程安装软件下载,linux软件的安装。使用rpm、yum或wget下载软件

    介绍 在linux中安装软件一般有一下几种方式: a.通过rpm包安装 b.通过yum在线安装(联网) c.weget url 在线下载软件(只负责下载,不安装) 1.通过rpm包来进行软件的安装和卸 ...

  9. 【已阅】Linux的软件生态与两个方面,客户端/Linux软件下载安装的认识,yum源/仓库(repo)与yum指令的本质,yum指令操作等

    铺垫1:服务器属于硬件 服务器是一种计算机硬件设备,主要用于存储.管理和处理数据以及为其他计算机提供服务. 服务器通常具有高性能的处理器.大容量的硬盘.大内存和高速网络连接等特点,可以提供各种服务,如 ...

最新文章

  1. Sql server Always On 读写分离配置方法
  2. LTE的随机接入过程解析
  3. 剑指Offer #07 斐波那契数列(四种解法)| 图文详解
  4. C#的常见算法(面试)(转)
  5. 新增Skin-watercolor
  6. 面试官 | 说一下数据库如何分库分表?
  7. blender 3d打印_如何在Blender中开始3D打印
  8. 函数yield报错ValueError: too many values to unpack (expected 2)
  9. netty大白话--概念(二)
  10. 《ANTLR 4权威指南》——第2章纵观全局
  11. 织梦系统中一篇文章存放在数据库中的哪些表中
  12. MySQL提取字符串中数字(自定义函数)
  13. 面试必问:TCP和UDP的区别(附面试题)
  14. 数据库(MySQL)基础快速入门!
  15. 数据挖掘肿瘤预测_肿瘤分析数据挖掘及信息解读
  16. day1 开始blog打卡之路
  17. Arduino ESP8266/ESP32读取和改写MAC
  18. 被虎牙HR抬出公司员工发声
  19. DWZ的几个常用组件
  20. 无驱、代码自动植入:新一代软件保护锁——圣天诺LDK-HL

热门文章

  1. **kwargs特有的作用
  2. gbdt降低学习率可以实现正则化效果呢
  3. cr3格式怎么转换成jpg_怎么把JPG格式转换为PDF?
  4. 信息系统项目管理师案例分析答题技巧
  5. 笔记-中项案例题-2021年上-范围管理
  6. ElementUI中el-upload中怎样限制上传文件的格式
  7. Python入门教程以及资料免费下载
  8. SpringBoot+Junit使用Autowired注入时为空
  9. Cordova将vue项目打包成apk(全使用命令行)
  10. Vue访问百度音乐API实现播放时no-referrer-when-downgrade