• Linux基础:软件安装(rpm,yum,源代码)


    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上安装多个同样的应用。
  • 相关阅读:
    转:1分钟解决git clone 速度慢的问题
    进程冻结学习笔记
    RT调度学习笔记(1)
    tracer ftrace笔记(2)——添加与使用
    Regeultor内核文档翻译_学习笔记
    一、Linux cpuidle framework(1)_概述和软件架构
    Python 将私有包自动上传Nexus私服
    Pychram 取消自动添加版本控制
    Python 3DES CBC 模式加密解密
    1588. 所有奇数长度子数组的和
  • 原文地址:https://www.cnblogs.com/vivian-test/p/5155222.html
Copyright © 2020-2023  润新知