imooc-Linux软件安装管理

本文主要介绍了Linux系统中软件的安装管理,包括源码包、RPM包和脚本安装包的优缺点及其管理方式。详细讲解了RPM包的命名规则、rpm命令的使用,如安装、升级、卸载和查询,以及yum在线安装的原理和命令。同时,对比了源码包和RPM包的差异,并阐述了源码包的安装过程。最后,提到了脚本安装包的便利性和局限性。

imooc-Linux软件安装管理

第1章 概述

1-1 Linux软件安装管理概述

第2章 软件包管理简介

2-1 Linux软件包管理之源码包

  1. 软件包分类

    • 源码包
      • 脚本安装包
    • 二进制包(RPM包,系统默认包)

    windows中的软件在Linux中无法安装

    Linux中的软件都是可以看到源代码的,windows中的软件都是经过编译的

  2. 源码包

    • 源码包的优点是:
      1. 开源,如果有足够的能力,可以修改源代码
      2. 可以自由选择所需的功能
      3. 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
      4. 卸载方便
    • 源码包的缺点:
      1. 安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
        • L-Linux;A-Apache;M-MySQL;P-PHP
      2. 编译过程时间较长,安装比二进制安装时间长
      3. 因为是编译安装,安装过程中一旦报错新手很难解决

2-2 Linux软件包管理之RPM包和脚本安装包

源码包不适合初学者

  1. RPM包

    • 二进制包的优点
      1. 包管理系统简单,只通过几个命令就可以实现包的安装,升级,查询和卸载
      2. 安装速度比源码包安装快的多
    • 二进制包的缺点
      1. 经过编译,不再可以看到源代码
      2. 功能选择不如源码包灵活
      3. 依赖性(软件包a是依赖于软件包b,需先装b)
  2. 脚本安装包

    所谓的脚本安装包,就是把复杂的软件包安装过程写成了程序脚本,初学者可以执行程序脚本实现一键安装。但实际安装的还是源码包和二进制包

    • 优点:安装简单,快捷
    • 缺点:完全丧失了自定义性

第3章 rpm命令管理

3-1 Linux中rpm包命名规则

  1. RPM包的来源
    • RPM包在系统光盘中(/mnt/cdrom/Packages)
  2. RPM包命名规则
    • httpd-2.2.15-15.el6.centos.1.i686.rpm
      • httpd软件包名
      • 2.2.15软件版本
      • 15软件发布的次数
      • el6.centos适合的Linux平台
      • i686适合的硬件平台
      • rpm rpm包扩展名
  3. RPM包依赖性
    • 树形依赖:a->b->c
    • 环形依赖:a->b->c->a
    • 模块依赖:(库文件依赖(.so.123))
      • 所加依赖是一个文件,在一个rpm包中
      • 查询网站:www.rpmfind.net

3-2 Linux中rpm命令管理之安装命令

  1. 包全名与包名
    • 包全名:操作的是包没有安装的软件包时,使用包全名。而且要注意路径
    • 包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm/中的数据库
  2. RPM安装
    • rpm -ivh 包全名
      • 选项:
        • -i(install):安装
        • -v(verbose):显示详细信息
        • -h(hash):显示进度
        • –nodeps:不检测依赖性(实际工作时不使用)

yum安装不能查询和校验

3-3 Linux中rpm命令管理之升级与卸载

  1. RPM包升级

    • rpm -Uvh 包全名
      • 选项:
        • -U(upgrade):升级
        • 如果该软件未安装,使用升级命令可以代替安装
  2. 卸载

    • rpm -e 包名

      所有安装的包都可在 /var/lib/rpm/ 下的db数据库中有记录,包的具体位置是系统默认的

      删除与安装的依赖性顺序相反

      • 选项:
        • -e(erase):卸载
        • –nodeps:不检查依赖性

3-4 Linux中rpm命令管理之RPM包查询

  1. 查询是否安装

    • rpm -q 包名

      查询包是否安装

      • -q:查询(query)
    • rpm -qa

      查询所有已经安装的RPM包

      • -a:所有(all)

      • rpm -qa | grep keyword

        关键字查询

  2. 查询软件包详细信息

    • rpm -qi 包名
      • 选项:
        • -i:查询软件信息(information)
        • -p:查询未安装包信息(package)+ 包全名
  3. 查询包中文件安装位置

    • rpm -ql 包名
      • 选项:
        • -l:列表(list)
        • -p:查询未安装包信息(package)
    • RPM包默认安装位置
    RPM包默认安装路径
    /etc/配置文件安装目录
    /usr/bin/可执行的命令安装目录
    /usr/lib/程序所使用的函数库保存位置
    /usr/share/doc/基本的软件使用手册保存位置
    /usr/share/man帮助文件保存位置
  4. 查询系统文件属于哪个RPM包

    • rpm -qf 系统文件名

      • 选项:

        -f:查询系统文件属于哪个软件包(file)

  5. 查询软件包的依赖性

    • rpm -qR 包名
      • 选项:
        • -R:查询软件包的依赖性(requires)
        • -p:查询未安装包信息(package)

3-5 Linux中rpm命令管理之RPM包校验

  1. RPM包校验

    • rpm -V 已安装的包名

      • 选项:

        -V:校验指定RPM包中的文件(verify)

    • 验证内容中的8个信息的具体内容如下:

      • S:文件大小是否改变
      • M:文件的类型或文件的权限(rwx)是否被改变
      • 5:文件MD5校验和是否改变(可以看成文件内容是否改变)
        • MD5码用来验证文件的完整性
      • D:设备的主从代码是否改变
      • L:文件路径是否改变
      • U:文件的属主(所有者)是否改变
      • G:文件的属组是否改变
      • T:文件的修改时间是否改变
    • 文件类型

      • c:配置文件(config file)
      • d:普通文件(documentation)
      • g:“鬼”文件(ghost file)
        • 很少见,就是改文件不应该被这个RPM包包含
      • L:授权文件(license file)
      • r:描述文件(read me)
  2. RPM包中文件提取

    • rpm2cpio 包全名 | cpio -idv .文件绝对路径
      • -rpm2cpio:将rpm包转换为cpio格式的命令
      • -cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
      • cpio 选项 < [文件|设备]
        • 选项:
          • -i:copy-in模式,还原
          • -d:还原时自动新建目录
          • -v:显示还原过程

第4章 yum在线安装

4-1 yum源文件

好处:将所有的软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题

radhat的yum在线安装需要付费

  • vi /etc/yum.repos.d/CentOS-Base.repo
    • [base]:容器名称,一定要放在[]中
    • name:容器说明,可以自己随便写
    • mirrorlist:镜像站点,这个可以注释掉
    • baseurl:我们的yum源服务器的地址,默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址
      • mirrorlist和baseurl都是服务器地址,用哪个都行
    • enabled:此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效
    • gpgcheck:如果是1是指RPM的数字证书生效,如果是0则不生效
    • gogkey:数字证书的公钥文件保存位置,不用修改

4-2 光盘yum源搭建

  1. 挂载光盘
    • mkdir /mnt/cdrom:建立挂载点
    • mount /dev/cdrom /mnt/cdrom:挂载光盘
  2. 使网络yum源失效
    • cd /etc/yum.repos.d/:进入yum源目录
    • mv CentOS-Base.repo CentOS-Base.repo.bak:修改yum源文件后缀名,使其失效
  3. 使光盘yum源生效
    • vim CentOD-Media.repo
      • [c6-media]
      • name=CentOS-$releasever-Media
      • baseurl=file:///mnt/cdrom:地址为你自己的光盘挂载地址
      • #file:// /media/cdrom/
      • #file:///media/cdrecorder/:注释这两个不存在的地址
      • gpgcheck=1
      • enable=1:把enabled=0改为enabled=1,让这个yum源配置文件生效
      • gpgkey=file:///ect/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

4-3 yum命令(上)

  1. 常用yum命令

    1. 查询

      • yum list:查询所有可用软件包列表
      • yum search 关键字:搜索服务器上所有和关键字相关的包
    2. 安装

      • yum -y install 包名
      • 选项:
        • -install:安装
        • -y:自动回答yes

      gcc一定要安装!(第一个版本要用rpm包)

4-4 yum命令(下)

    1. 升级

      Linux中一般不怎么升级

      升级需要有已经安装好的程序

      • yum -y update 包名
        • 不加包名时,对Linux中的所有程序进行更新(包括内核!)
      • 选项:
        • -update:升级
        • -y:自动回答yes
    2. 卸载

      • yum -y remove 包名
      • 选项:
        • -remove:卸载
        • -y:自动回答yes

    服务器安装一般使用最小化安装

    用什么软件安装什么

    尽量不卸载

  1. YUM软件组管理命令

    • yum grouplist:列出所有可用的软件组列表
      • 有各种开发平台,语言支持,服务器程序
    • yum groupinstall 软件组名:安装指定软件组,组名可用有grouplist查询出来
      • 注意:软件组名必须是英文
        1. 不使用远程工具,在Linux本机上执行yum grouplist,得到列表为英文书写
        2. 现把远程访问工具的语言改为英文LANG=en_US,再执行yum grouplist;之后改为中文LANG=zh_CN.utf8(这种修改只生效一次)
    • yum groupremove 软件组名:卸载指定软件组

第5章 源码包安装

5-1 Linux中源码包与RPM包区别

  1. 区别

    • 安装之前的区别:概念上的区别
    • 安装之后的区别:安装位置不同
  2. RPM包安装位置

    • 是安装在默认位置中(有RPM包的作者决定)
    • rpm安装可以指定安装位置(建议不指定)
  3. 源码包安装位置

    • 安装在指定位置当中,一般是/usr/local/软件名/

      • 因为源码包没有卸载命令
    • 源码包安装的服务不能被服务管理命令管理

      • 因为没有安装到默认路径中

      • 只能用绝对路径进行服务的管理

        /usr/local/apache2/bin/apachectl start

  4. 安装位置不同带来的影响

    • RPM包安装的服务可以使用系统服务管理命令(service)来管理
      • 例:RPM包安装的Apache的启动方法是:
        1. /ect/rc.d/init.d/httpd start
        2. service httpd start

5-2 Linux中源码包安装过程(上)

  1. 安装准备

    • 安装C语言编译器

      • Linux中的源码包都是用C语言编写的
    • 下载源码包

      http://mirror.bit.edu.cn/apache/httpd

      • WinSCP在两台电脑之间传送文件

5-3 Linux中源码包安装过程(下)

  1. 安装注意事项

    • 源代码保存位置:/usr/local/src/
    • 软件安装位置:/usr/local
    • 如何确定安装过程报错
      • 安装过程停止
      • 并出现error,warning或no的提示
  2. 源码包安装过程

    1. 下载源码包

    2. 解压缩下载的源码包

    3. 进入解压缩目录

    4. .configure 软件配置与检查

      • 定义需要的功能选项

        .configure --prefix=/usr/local/apache2 自定义安装位置

      • 检测系统环境是否符合安装要求

      • 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑

    5. make编译

      • make clean 清除未编译完成的文件
      • make install 编译安装
  3. 源码包卸载

    不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。

建议工作中使用源码包,因为工作效率更高

第6章 脚本安装包

6-1 Linux中脚本安装包(上)

把复杂的安装过程写成一段脚本,来安装源码包或RPM包

  • 强大的Nginx服务器

    • Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,有俄国公司在2004年发布

    • 可以支持更大的并发连接

  • 准备工作

    • 关闭RPM包安装的htpd和MySQL
    • 保证yum源正常使用
    • 关闭SELinux和防火墙
      • SELinux-提高Linux安全组件
        • vi /etc/selinux/config
        • SELINUX=disabled
        • 重启计算机
  • 下载:http://lnmp.org/install.html

  • 脚本一键安装包

    • wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./centos.sh
  • cenos.sh脚本分析

    • 所谓的意见安装包,实际上还是安装的源码包与RPM包,只是把安装过程写成了脚本,便于初学者安装
    • 优点:简单、快速、方便
    • 缺点:
      • 不能自定义安装软件的版本
      • 不能定义所需要的软件功能
      • 源码包的优势丧失

6-2 Linux中脚本安装包(下)

考虑柔性负荷的综合能源系统低碳经济优化调度【考虑碳交易机制】(Matlab代码实现)内容概要:本文围绕“考虑柔性负荷的综合能源系统低碳经济优化调度”展开,重点研究在碳交易机制下如何实现综合能源系统的低碳化与经济性协同优化。通过构建包含风电、光伏、储能、柔性负荷等多种能源形式的系统模型,结合碳交易成本与能源调度成本,提出优化调度策略,以降低碳排放并提升系统运行经济性。文中采用Matlab进行仿真代码实现,验证了所提模型在平衡能源供需、平抑可再生能源波动、引导柔性负荷参与调度等方面的有效性,为低碳能源系统的设计与运行提供了技术支撑。; 适合人群:具备一定电力系统、能源系统背景,熟悉Matlab编程,从事能源优化、低碳调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究碳交易机制对综合能源系统调度决策的影响;②实现柔性负荷在削峰填谷、促进可再生能源消纳中的作用;③掌握基于Matlab的能源系统建模与优化求解方法;④为实际综合能源项目提供低碳经济调度方案参考。; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解过程,重点关注目标函数设计、约束条件设置及碳交易成本的量化方式,可进一步扩展至多能互补、需求响应等场景进行二次开发与仿真验证。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值