Software Installation on Linux

  • Linux安装分为rpm包(可通过yum或者是rpm命令安装)和源码包(源代码或者是编译过的二进制码)两种。
  • Linux是开源系统,很多应用都是开源以源代码的形式发布的,源代码形式除了阅读和修改方便以外,还可以兼容多平台,不同平台
  • rpm包,.rpm结尾,源码编译后的二进制包,看不到源码,但安装速度快,不容易出现安装错误。安装的服务被默认为系统服务(redhat镜像文件本身就是rpm包),包安装在系统默认目录中。程序员在构建rpm包时会约定俗成的指定这些默认目录,使rpm安装的各个文件插入现有系统中的目录(opt,etc...)。删除时使用特定的命令可以自动去多个目录下删除相关文件。
    • /etc
    • /usr/bin
    • /usr/lib
    • /usr/share/doc  + /usr/share/man
  • 源码包安装,.gz结尾,直接解压可以看到原文件。所有的安装文件会在/usr/local 下面,删除一个文件夹即可卸载。因为安装文件仅在/user/local下,不能被一些系统命令启动(root   cause系统命令往往是搜索特定路径起作用)如service chkconfig……除非手动去做更改。
  • service命令只能启动rpm包安装的命令,因为service命令默认搜索路径/etc/rc.d/init.d/(所有rpm方式安装的文件都会在此目录下保存一个启动文件)。只有rpm包安装才会把启动服务放到该路径下,源码包安装不会,如果把源码包的启动文件拷到init.d目录下,service可以识别。
  • chkconfig --list 查询rpm包自启动状态,可以查看系统安装过的所有rpm包,查看不了源码包安装服务状态。

RPM Software management (rpm 命令管理 & yum 管理)

  • rpm两种管理方式:rpm命令管理 && yum在线管理
  • rpm命名规则:名字-版本号-发布次数-适合的Linux平台.硬件平台.rpm
  • rpm最大问题是依赖问题:树形依赖,环形依赖,库依赖。
  • noarch 任何硬件平台,不写平台也意味着任何平台
  • iso/packages 里会有大部分包,但这些包并不会全部安全,从运行效率和安全性的角度考虑,系统管理员会选择minimum的安装方式。如果要自己增加新的组件,将iso文件挂载,进入光盘目录找到需要的rpm包,运行安装命令。

RPM命令管理

  • 可以去 www.rpmfind.net 下载所需要的依赖包,如果是Rhel或者是CentOS 可以去http://mirrors.163.com/centos/6/os/x86_64/Packages/ 下载相关内容
  • RPM 安装包(rpm -ivh  packagename.rpm)
    • i-install安装  v-verbose显示安装信息  h-hash 显示安装过程
  • RPM 删除包(rpm -e packagename)
    • e - erase
  • RPM 查询安装情况(rpm -qi packagename)
    • q -query i- information
    • 和grep结合起来非常好用 rpm -qa|grep python 就能轻易找到指定关键词相关的安装包名
    • rpm -qi python 查询Python安装包的具体信息
    • rpm -ql python 查询Python应用所在的所有目录
    • rpm -qf filename查询安装程序中某个文件的名字

Yum 命令管理(最好只用于安装,yum删除会产生级联影响)

  • 安装前提:需要可以联网,需要设置Yum源
  • Yum源设置
    • 网络Yum源(Redhat的网络yum源需要收费,因此可以删除yum源再重新安装配置其他yum源)
    • 光盘Yum源(挂载redhat/centos.iso,指定光盘为镜像源并进行安装)
  • Yum安装软件
    • yum -y install packagename
  • Yum搜索软件安装情况
    • yum search packagename
  • Yum删除软件(Yum最好只用来安装)
    • yum -y remove packagename(high risk! cascade delete)
  • Yum 更新软件
    • yum -y update packagename (high risk!)

Source Code Software
management(有些程序官网只提供源代码包,比如python)

      • 源代码包安装
        • 解压以后查看Install或者是Readme文件,会有详细步骤说明如何安装。
      • 源代码包删除
        • 删除直接删除整个文件夹

​更新Yum源和软件安装

可以有多个随意命名的yum文件,只要在etc/yum.repo下即可。
安装外部yum源
删掉原有配置文件
新增配置文件配置外部yum源即可直接使用
源码包安装:源码包安装步骤基本一致
1.解压下载源码包:tar -xzf 文件
2. 进入目录进行安装前检查和配置:./configure --prefix-指定安装路径,若不指定,默认安装路径/usr/local(累似windows c:\programfiles\),所有安装后的文件,包括bin和lib都在这个目录下面,删除安装直接删除整个文件夹即可。
3.编译:运行make命令,无需参数,在解压目录下即可
4.安装:makeinstall命令,无需参数,解压目录运行即可
启动服务,源码包安装无法通过service 服务名 start来执行启动或暂停操作,需要进入到相应的bin目录下运行启动或者关闭脚本。相应的,rpm安装方式下的软件对应的bin目录下就没有启动脚本,需要通过service开启或者关闭脚本。
应用程序的不同安装方式导致应用的管理方式也不同。实例:yum方式安装的tomcat和源码包安装的tomcat启动和关闭的方法就不同。
虚拟机上安装网络应用如果希望能被主机掉用,必须关闭防火墙!!!
安装应用必须看清楚对应的操作系统版本!!
不同安装方式的安装位置不同,因此源码包安装和rpm包安装对应的服务启动,停止和重启都不同。
对于源码包,启动停止重启脚本都在/usr/local/appName/bin 下,示例:
./zookeeper start/stop/restart。所有服务相关文件都在/local/appName下(除非配置的时候制定特殊安装目录)。rpm包可以通过 service调用,本质上是因为安装时系统把启动脚本放到/usr/bin,如果给源码包做一个软连接,也可以通过service启动源码包服务。(查 看下文件夹里到底包含什么)
对于rpm包,启动停止可以直接通过服务的
方式运行 service app start/stop/restart,示例:
service tomcat6 start/stop/restart
更改服务自启动状态
rpm 包可以直接通过chkconfig --list 查看各个级别下的默认启动状态,service --status-all查看所有服务的状态是启动启动中还是关闭,源码包安装的服务不可以。对两种安装方式来说,都可以通过/etc/rc.d /rc.local来设置(绝对路径加上 start,具体的启动脚本可以查看install的说明,并不总是服务名,apache的启动脚本就是apachectl)。
Linux的一切都是文件 只要安装位置不同你可以通过多种方式在linux上安装多个同样的应用。

Linux基础:软件安装(rpm,yum,源代码)的更多相关文章

  1. 第五部分 linux 软件安装RPM SRPM与YUM

    第五部分  linux  软件安装RPM    SRPM与YUM   软件管理员简介 RPM与DPKG两大主流 rpm: redhat       centos     suse    命令:yum ...

  2. (大数据工程师学习路径)第一步 Linux 基础入门----Linux 下软件安装

    介绍 介绍 Ubuntu 下软件安装的几种方式,及 apt,dpkg 工具的使用. 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二 ...

  3. Linux入门基础教程之Linux下软件安装

    Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...

  4. CentOS6安装各种大数据软件 第三章:Linux基础软件的安装

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  5. Linux学习笔记(13)linux软件安装rpm与yum--理论篇

    该文章linux知识点如下 1.linux中 软件包介绍 2.linux源码软件安装 3.linux二进制软件安装 4.linux rpm软件包管理 5.linux yum软件包管理 1.linux中 ...

  6. 2019-9-16:渗透测试,基础学习,Linux下软件安装,环境搭建,笔记

    Centos linux下软件安装yum 通过分析rpm包头数据后,自动解决依赖关系,直接云端下载软件,根据不同版本系统获取不同软件信息,按顺序下载rpm包,安装软件yum search 软件名:搜索 ...

  7. linux下软件安装的几种方式

    linux下软件安装的几种方式(主要有源码安装, rpm安装, yum安装). 一:源码安装 几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc. ...

  8. Linux 下软件安装

    Linux 下软件安装 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二进制软件包安装 从源代码编译安装 这几种安装方式各有优劣,而 ...

  9. Linux下软件安装的四种方式

    一.源码安装 步骤: 下载,解压源码(常见的源码打包格式:.tar.gz/.tar.bz2); 可以直接下载源码再上传至linux服务器,或者在联网状态下,直接通过wget等命令获取源码安装包;源码解 ...

随机推荐

  1. CodeForces 567C Geometric Progression

    Geometric Progression Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I ...

  2. eclipse启动报错eclipse failed to create the java virutal machine

    早上一来,我的eclipse就无法启动了,错误就是这句话: eclipse failed to create the java virutal machine 直译就是eclipse无法创建JAVA虚 ...

  3. DISPLAY_ITEM built-in in Oracle D2k Forms

    DISPLAY_ITEM built-in in Oracle D2k Forms DescriptionMaintained for backward compatibility only. For ...

  4. Redis 在新浪微博中的应用

    Redis 在新浪微博中的应用 Redis简介 1. 支持5种数据结构 支持strings, hashes, lists, sets, sorted setsstring是很好的存储方式,用来做计数存 ...

  5. Python numpy学习笔记(一)

    下边代码是关于numpy的一些基本用法,包括数组和矩阵操作等... import numpy as np print "<== print version ==>" p ...

  6. CentOS7_RAID5_LVM_SAMBA

    1.在CentOS 7上构建RAID5.LVM和SAMBA服务器(1)——预备http://blog.csdn.net/kingfox/article/details/51099617 2.在Cent ...

  7. EF执行存储过程

    //执行strSql/procSql //返回受影响的行数 int i = dbsql.Database.ExecuteSqlCommand("exec getActionUrlId @na ...

  8. ajax 、ajax的交互模型、如何解决跨域问题

    1.ajax是什么? — AJAX全称为“AsynchronousJavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术. — 不是一种新技 ...

  9. mysql5.1版本 my.cnf中复制的配置不起作用

    原因是:在mysql存放数据的目录下面有一个文件master.info,mysql服务器认为 master.info比my.cnf优先级要高,第一次启动slave,master.info不存在,从my ...

  10. JS实现复选框全选全不选以及子复选框带动全选框的选中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...